DOS Days

FIC 486-VIP-IO2 Motherboard - Part 2

28th April 2021

In part 1 I took you on a guided tour of the 486-VIP-IO2 mainboard from First International Computer - a board that supports a useful combination of ISA, VESA Local Bus and PCI. It has a broad range of CPU support as well as top notch memory and cache capacities.

Here's that pic again:

In this part, I will do a few enhancements, try out the voltage regulator accessory and see how fast I can push it with the CPUs I have.

External Battery Mod

The 486-VIP-IO2 has a 5V coin cell battery to help retain the CMOS RAM contents while the machine is powered off. This is depleted on all three of my boards, so will have to go. Rather annoyingly it is not in a battery holder - it is soldered onto the board via 2 pins underneath.

Near to the battery in between PCI3 and PCI4 is a 4-pin header marked J11 which is used for connection to an external battery. I will use this after removing the coin cell. Here is the location of the header and its pinouts:

Pin Description
1 +ve
2 NC
3 NC
4 -ve

Nice and simple - I just need these components to create a new backup battery which can be removed easily to avoid leakage while the board is in storage.


A 3-battery battery box , a 4-pin socket, 4 hollow pins and some batteries

A quick word on the batteries themselves... these Duracell 1.5V non-rechargeable alkaline ones are ideal for hobbyists like me who dig out a board to play with but then put it back into storage. If you want a more permanent solution for day-to-day use, I would recommend using rechargeable NiMh batteries, though these only output 1.2V maximum, so I would recommend a 4-battery box so your four rechargeable batteries make up a total of 4.8V rather than my 4.5V.

 
Testing the output voltage using three 1.2V rechargeable batteries (left),
and the completed external battery (right)

This may not be enough to retain the CMOS settings, but let's see...

Good news! I left the machine off for several hours and it still seems to have all its settings - I think I can consider that mod a success.

Using Faster CPUs

As you can see in the picture above, I already tested up to a 486DX2-66, and this runs well. The motherboard has a lot of jumpers to change when you are performing a CPU swap, but utlimately they are grouped as follows:

CPU Type JC1 - JC2 and resistor packs RN11 - RN13 and RN40
CPU Speed JK1 - JK4
CPU Cache Type (P24T/P24D only) JC4
AMD CPU DX2 or DX4 JC5
Cyrix CPU or not J37
VESA/PCI Bus Speed JV2

Others have had success in getting AMD 5x86 running on this board, but since these were not introduced until November 1995 and my BIOS is from February 1995, there is no way it would be directly supported, but let's see - I have an AMD 5x86 (X5)-133, which is the fastest 486-class CPU you can get giving performance in excess of a Pentium 75. I also have some other lower-voltage CPUs to try out.

Let's start by looking at the voltage regulator daughterboard:

  

It's tiny, measuring just 42mm long x 26mm wide.
Note the various selections written on the silkscreen on the underside.

This connects into J2 on the motherboard, which is in the far corner near the CPU. Without the voltage regulator connected, the motherboard assumes you are using a 5 volt CPU. In this configuration J2 has both its end jumpers shorted. These both need to be removed before fitting the daughterboard.

 
No daughterboard fitted (left), and with daughterboard fitted (right)

Ignore the jumper setting on the daughterboard in the picture to the right. The top row of 3 pins is J2 and the bottom row of 3 pins is J3.

Socket 3 was the first socket to support both 5V and 3.3V CPUs. The AMD is an interesting one as it requires 3.45V. Since it's been a few years since I used this voltage regulator, I wanted to test that it is regulating the voltage correctly. To do so, I followed J. Steinbrink's excellent guide, which basically mimics what more modern 486-class CPUs do such as the 486DX4 and Am5x86 which have a VOLDET (voltage detect) pin. This causes compatible motherboards to auto-switch the voltage to 3.3V. Because my 486-VIP-IO2 has this daughterboard it definitely does *not* have any voltage auto-switching capability, but I can still check to confirm the board is feeding the CPU socket with the correct voltage when the daughterboard is connected:

 
    
Top row - CPU socket wired ready for testing, and Vcc w/ no regulator so 5V.
Bottom row - Regulator set to 3.0V, Regulator set to 3.3V, and Regulator set to 3.45V

OK, it appears the voltage regulator is doing precisely what it should be. Incidentally in the top-left pic, the orange wire shorts pin R4 (Vss aka GND) to S4 (the VOLDET pin), the red wire is in pin R10 (Vcc) and the white wire is in pin S10 (Vss aka GND). The DMM then checks the voltage across the red and white wires.

So let's check some of my faster CPUs...

Intel 80486DX4-100

The motherboard's manual says it supports up to 100 MHz 80486DX4 CPU, so this came as no surprise. The BIOS detected it as a 'DX4-S' running at '100 MHz'. My CPU here is the Write-Through S-Spec version, so no WB option which would make it faster. I gathered a bunch of benchmarks with the Cirrus Logic CL-GD-5434 1 MB PCI, 256 KB of L2 cache (15ns) and 32 MB of main memory (60ns). SpeedSys v4.78 came in at a respectable 43.77. Norton SI 8.0 scored 198.4. The Doom timedemo got 42.8 fps.

AMD Am486DX4-100

Next in was the Am486DX4-100 of which mine is the NV8T so like the Intel above, it's 8 KB L1 cache is Write-Through only. Again, the board's manual tells me this is fully supported, and like the Intel above, it was detected just fine by the BIOS. SpeedSys scored 38.57, though it claimed CPU ID is not supported so it incorrectly detected the CPU as an 80486DX4-100. Norton SI scored 198.2. Doom scored 40.1 fps.

AMD Am486DX4-120

The 120 MHz AMD is the first chip I tried that pushes this motherboard beyond what the manual claims is its maximum (100 MHz). My specific version is the SV8B (8 KB Write-Back cache). To get this to work I configured the board's jumpers JK1 through JK4 to 40 MHz (since this would mean a 3x multiplier). It worked! The BIOS detected the CPU as a 'DX4-S CPU' running at '120 MHz'. SpeedSys came in at 46.24. Doom scored 44.9 fps.

IBM 5x86C-100HB

I then tried my blue heatsinked IBM 5x86. Jumpers JC1 and JC2 make no distinction between Intel, AMD or Cyrix chips - the only time you need to change these is if you switch from an 'SX' chip to a 'DX' chip. The resister packs RN11 - RN13 and RN40 are identical for Intel 80486DX4 and AMD Am486DX4 and Cyrix 5x86 chips are not specified, so I kept it set to those initially. The critical jumper to change for Cyrix processors is J37 which needs to be jumpered 2-3.

Moving to the CPU speed configuration (JK1 - JK4), I set it up for the 33/66/100 MHz setting (assuming a 3x multiplier). The BIOS POST screen detects it as an 80487SX running at 66 MHz, but running ChkCPU and SpeedSys show it correctly as an IBM 5x86-100:

 
 
 

That SpeedSys score of 45.93 is rather low - I have seen this chip reach 55 on other boards.

OK, after enabling the onboard cache to be Write-Back instead of Write-Through, and playing around with some of the Cyrix utilities to enable the CPUs more advanced features that are by default disabled, I got some much better results:


A score of 58.80, which is between a Pentium 75 and Pentium 90

My IBM chip here is a Stepping 1, Revision 3 CPU. Why does that matter? Well, apparently this stepping does not support BWRT (burst write-back cycles), which the Stepping 0, Revision 5 CPU does. There are no other CPU variants than these two. I also found that Cyrix flags LOOP_EN and RSTK_EN should also be off for better stability.

I also tried running this CPU on the 40 MHz jumper settings, but while it did start to boot it was unstable. Increasing the core voltage to 3.45V alleviated the instability. Here are the results when overclocked to 120 MHz (40 MHz board settings with 3x multiplier):

 
 

SpeedSys came in at 70.93 which is a smidge below the 133 MHz version of this CPU which apparently scores 73-75, and is about on par with a Pentium 100 or POD83 100. To get this figure, I ran Jan Steunebrink's 5x86.exe utility with these arguments:

5x86.exe /LSSER=off /FP_FAST=on /MEM_BYP=on /DTE_EN=on /BWRT=off /LINBRST=off /LOOP_EN=off /RSTK_EN=off /BTB_EN=on

For some reason my system will hang when setting LINBRST to on. Also, 3DBench2 would hang if I have LOOP_EN=on or RSTK_EN=on, so these two were set to off for the graphics benchmarks.

On the 25/50/75 MHz setting, it ran at a 3x multiplier of 25 MHz FSB, so 75 MHz.

So in summary, here is the set of SpeedSys, Norton SI, and Doom timedemo results for each CPU I tested in this part:

CPU Speed SpeedSys Norton SI 8.0 Doom
Intel 80486DX4-100 (8 KB WT) 100 MHz 43.77 198.4 42.8 fps
AMD Am486DX4-100 (8 KB WT) 100 MHz 38.57 198.2 40.1 fps
AMD Am486DX4-120 (8 KB WB) 120 MHz 46.24 Not tested 44.9 fps
IBM 5x86C-100HB
(8 KB WB) WT mode
100 MHz 45.93 Not tested Not tested
IBM 5x86C-100HB
(8 KB WB) WB mode
100 MHz 58.8 Not tested Not tested
IBM 5x86C-100HB
(8 KB WB) WB, oc'd to 120 MHz
120 MHz 70.93 Not tested Not tested

In part 3 I will finish up my benchmark tests with the AMD 5x86-P75!