First post, by TheMobRules
I have this SiS471-based VLB motherboard from MSI, according to the date codes on the components it should be from early/mid 1994:
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:
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)