VOGONS


First post, by TheMobRules

User metadata
Rank Oldbie
Rank
Oldbie

I have this SiS471-based VLB motherboard from MSI, according to the date codes on the components it should be from early/mid 1994:

The attachment MS4132G.jpg is no longer available

My initial tests revealed a poor performance when compared to other SiS471 boards even when setting the tightest timings for the cache and DRAM. After a bit of research I concluded that the main problems are:

  • Very slow L2 cache speed, barely faster than the main memory even with the 2T/1T setting (with more relaxed timings the L2 isn't even detected)
  • L2 cache dirty tag set to "always dirty" by the BIOS, and no option to change it (common issue on boards with this chipset), which prevents L2 Write-Back mode to work properly

So, given that the solution to problem #2 was figured out by user GigAHerZ in this thread and it involves setting a couple of bits on a chipset register, I decided to start with that...

Roadblock #1: this board uses an AMI BIOS for which there are no tools like Modbin to easily mod it, so I had to use AMISetup which can update the registers on the CMOS settings, but it must be set again if the CMOS is cleared for some reason. Annoying, but OK.

Roadblock #2: setting the bits on register 72 didn't do anything... after fooling around with AMISetup for a while I noticed that most of the chipset register numbers are completely different from the ones mentioned on the chipset datasheet, and almost by chance I discovered that the bits had to be changed on register '5B' for some reason... no idea why it's like this, with an Award BIOS and Modbin the register numbers match those in the datasheet!

OK, so now I have L2 Write-Back working properly and memory bandwidth on SpeedSys is good, but L2 speeds are still abysmal. I tried updating some other registers but with AMISetup it's just impossible, settings that are part of the same register according to the datasheet are in different registers in the AMI config, and the bits are also in different locations, which makes it an exercise in frustration.

By this point I decided that the BIOS was setting incorrect register values for the cache timings (and who knows how many other things) and I wouldn't be able to fix that due to the limitations of AMISetup. Then I stumbled onto this:

SIS 486 SI3Green Motherboard

A motherboard from an "unknown" manufacturer, with a layout that is identical to the MS-4132G! But with an Award BIOS , and the BIOS string according to that site is 04/26/94-sis-85c471-I486sv2g-00... that's the ID of the well-known ASUS VL/I-486SV2G(X4)! Initially I thought this was probably a mistake, but what if...?

So, I flashed the ASUS BIOS, put the chip in the MSI board and bam! It works perfectly as it is, and not only that, but the performance is now almost equivalent to the ASUS board (which is known to be one of the fastest VLB boards), and on top of that I get LBA support that the AMI BIOS didn't have! I know using another BIOS usually works on most 286 and earlier, and even some 386, but I never imagined it would be the case for a 486! It's almost as if the MSI board was a clone of the ASUS but with different layout!

I'm glad this worked, but I cannot understand how they messed up so much with that AMI BIOS.

TL;DR: if you have this board, replace the BIOS with the ASUS VL/I-486SV2G(X4)

Reply 1 of 16, by Tigre978

User metadata
Rank Newbie
Rank
Newbie

Hello, I have a board similar to this, an MSI MS4132G (VER. 2), does this board also have the same problem as that one? How can I check it? I have tested this board with CheckIt and when the memory test passes the computer hangs, the icon is still there as if it were reading or writing but it does nothing and other times it restarts directly, why could that be ? Any cache memory or a bad ram module?

Reply 2 of 16, by PcBytes

User metadata
Rank l33t
Rank
l33t

BIOS-from-another-board thing works as far as 478, from what I've been experimenting over the years.

"Enter at your own peril, past the bolted door..."
Main PC: i5 3470, GB B75M-D3H, 16GB RAM, 2x1TB
98SE : P3 650, Soyo SY-6BA+IV, 384MB RAM, 80GB

Reply 3 of 16, by akimmet

User metadata
Rank Member
Rank
Member

If you have an EEPROM programmer, I highly recommend upgrading to the ASUS BIOS. The stock BIOS is that broken.

This board also has some memory configuration jumpers that need to be set correctly. You will have problems if they are wrong.

I'll try to post some more info when I get time.

Reply 4 of 16, by Tigre978

User metadata
Rank Newbie
Rank
Newbie

And what programmer should you use? I have been wanting to get one for a while but between the fact that I don't know which one and that it won't be used, I haven't bought any. I want to get the bios of other boards that I have but of course I don't know which one to use.

Reply 5 of 16, by TheMobRules

User metadata
Rank Oldbie
Rank
Oldbie

In the time since I made this post, another vogoner kindly provided a dump of a slightly newer AMI BIOS (A75B as opposed to the original A75A) which fixes the issue of the dirty tag, among other things. However, the obnoxious L2 speed problem remains in that BIOS.

Later I performed an analysis on the AMI BIOS code and found the bug that prevents the L2 Cache Burst Read timings to be set correctly, so I was able to patch the BIOS to get full performance out of the board. Full details, including the patched A75B BIOS are in this post.

My personal speculation about this is that AMI/MSI just half-assed the whole thing by tweaking an older BIOS core (most likely from the SiS460) with very little effort in the way of QA.

Also, keep in mind that using the ASUS Award BIOS is still a valid solution, especially if you want LBA support.

As to how to program the chip, you'll find that the popular TL866 programmer is extremely useful for retro purposes at a relatively low price so that would be my recommendation.

Reply 6 of 16, by Tigre978

User metadata
Rank Newbie
Rank
Newbie

I have seen that on the retro web (https://theretroweb.com/motherboards/s/msi-ms … -ver.-2.0g#bios) there is a phoenix BIOS, but it is not here, that may be the bios that It will probably fix that problem.
If you say that the original patched bios fixes it but not completely, then I will put the Asus BIOS.
To the CheckIt question, could it be because of the bios or some cache or ram module?
I doubt it is something from the jumpers because the tower has not opened in the years it is, I had to fix the exploded bios battery and luckily the board is fine
With the issue of the programmer I will see if I can get one, here in Spain they cost 80 and 90 euros (I don't know what the prices will be in other countries) and for an 18 year old kid it is expensive but I will have no choice and I will have to buy it as soon as possible, I hope they come with manuals or something because I don't know how it works.

Reply 7 of 16, by akimmet

User metadata
Rank Member
Rank
Member

The TL866 programmer has been discontinued, replaced by the T48. The T48 is currently the best choice that I'm aware of. Buying from Xgecu directly is recommended, that way you can avoid counterfeits.

While the fixed version of A75B exists, I still reccomend the ASUS BIOS. Specifically the L2 cache dirty bit fixed version available on this forum.

Reply 8 of 16, by akimmet

User metadata
Rank Member
Rank
Member

So far there has been no evidence of a Phoenix BIOS actually existing for this board. It may be incorrect information collected from stason or th99.

When I get home, I'll provide links to the BIOS dumps in question, and I'll upload A75N. A75N as far as I can tell is the latest official BIOS for this board.

Last edited by akimmet on 2024-10-08, 23:01. Edited 1 time in total.

Reply 9 of 16, by Tigre978

User metadata
Rank Newbie
Rank
Newbie

Can you send me the ASUS BIOS?
There are a few on the retro web but I don't know if all of them will work or it has to be the one you used.
Is the programmer valid for all bios chips or only for those listed on the programmer's page?
I'm sorry if I ask stupid questions, I'm new to the subject and I want to make sure of things.

Reply 10 of 16, by akimmet

User metadata
Rank Member
Rank
Member

Here are some links to various BIOS dumps that I have verified to work on my MS-4132G motherboard.

The fixed A75B retains the 1993 AMI color BIOS core. Hard drive size will be limited to 504Mb.

A75N is the later AMI WinBIOS core. This version supports up to 2 8.4Gb hard drives. Hasn't been patched to enable dirty bit in L2 write back cache mode.

SV2G4fix.bin is a patched version of the latest BIOS for the ASUS VL/I-486SV2G motherboard. Supports up to 4 8.4Gb hard drives. The patch enables the dirty bit in L2 write back cache mode.

I have attached A75N to this post since I can no longer find this version anywhere else.

A75B
Re: AMI Color BIOS (1993 and earlier) modification in hex editor

SV2G4fix.bin
Re: Evolution of a Socket3 System to a POD @100MHz

Reply 11 of 16, by Tigre978

User metadata
Rank Newbie
Rank
Newbie

If you say that the A75N version does not fix the dirty label then I will use the ASUS BIOS, thank you very much for everything!

Reply 12 of 16, by myne

User metadata
Rank Oldbie
Rank
Oldbie

It's odd, but the bios seems to be one of the least documented things there is.

In theory, they're modular, and should consist of a fairly generic core, module(s) for the chipset, module(s) for other chips like the voltage/fsb chips, and relatively custom configuration data.

In theory, it should be possible to update the core to a newer version (perhaps with features like usb/CD boot), and leave the rest alone.
In this case, it should be possible to pull the cache config data, and leave the rest.

Yet, the little documentation available doesn't go into such details. Even tools that do modify the bios are poorly documented. Wtf even is an acpi table anyway? Why are there a list of strings? What relationship does the menu have to the registers? What code changes them, and how is it read?

There's better documentation on literally everything else.

/rant

I built:
Convert old ASUS ASC boardviews to KICAD PCB!
Re: A comprehensive guide to install and play MechWarrior 2 on new versions on Windows.
Dos+Windows 3.11 auto-install iso template (for vmware)
Script to backup Win9x\ME drivers from a working install
Re: The thing no one asked for: KICAD 440bx reference schematic

Reply 13 of 16, by akimmet

User metadata
Rank Member
Rank
Member
Tigre978 wrote on 2024-10-09, 10:14:

If you say that the A75N version does not fix the dirty label then I will use the ASUS BIOS, thank you very much for everything!

The dirty tag bit is a trade off. To oversimplify, enabling the dirty bit sacrifices half of the total cachable memory for an increase in efficiency. It is nice to have, but know that having the dirty bit enabled means having more than 32Mb of RAM installed will reduce performance. Even though 32Mb is already overkill for a 486 CPU.

Reply 14 of 16, by Tigre978

User metadata
Rank Newbie
Rank
Newbie

I don't plan to increase the ram memory, it has 16 Mb and I think it is enough.
So if you say that it is not fixed but it does not have a performance impact, I think I will put it because of the hard drive issue, if not, it will stay like this.

Reply 15 of 16, by akimmet

User metadata
Rank Member
Rank
Member

From my tests, performance differences outside of benchmarks was similar. A75A being the only version that was noticeably slower.

Advanced power management is broken in A75A, always disable it to prevent crashes. ISA bus speed is also locked to 7.159Mhz, despite there being a setting to change it. These are a few things I remember from using the original A75A BIOS.

Reply 16 of 16, by Tigre978

User metadata
Rank Newbie
Rank
Newbie

Now that I'm looking, I've seen that the version of the bios I have is the A75H, I don't know what improvements or benefits this model has, are you aware of this version?