Table of Contents
Forex 386/486 CACHE
A dual 386DX / 486 compatible motherboard supporting up to 256KB write-back cache and a late 386-era single chip motherboard. I'd not heard of Forex previously, but it seems to be a solid design with a wide-range of CPU/FPU options. Not sure it would be up to late-486 performance, but should be strong compared to 386 designs.
Initial Thoughts
I got this board from a Russian-language auction site (https://streetmarket.ru/) in late February 2021 for a very reasonable amount of money. One of the reasons being that it had obvious damage…
Original Auction Images
Detailed Problem Images
I took these images after the board had arrived:
Observations:
- Battery has been removed due to obvious leakage, but it seems contained. Will need cleaning up and some small repairs immediately surrounding the area.
- Damage: Cracked 74-series logic IC between two of the ISA slots; will need desoldering and replacing
- Damage: One of the ISA slots has at least one missing pin; will need desoldering and replacing
- Damage: One retaining 'ear' snapped off a SIMM socket
- Battery: Keyboard port will need desoldering and replacing
- Battery: Keyboard controller will need desoldering, socket cleaned and replaced
- Corrosion: The first two 16bit ISA sockets have very small amounts of corrosion on them, hopefully they will clean rather than need entire replacement
On the positive side:
- Has Am386DX-40 soldered
- Has 387 FPU PGA socket
- Has 128KB of 20ns cache SRAM chips fitted (4x32KB), but supports up to 256KB
- No corrosion to Keyboard controller socket or IC
- No corrosion to BIOS socket or ROM
Motherboard Data & Variants
A summary of the motherboard capabilities follows:
Item | |
---|---|
Form Factor | Baby AT |
Chipset | Forex FRX46C421A |
Dimensions | 330mm x 218mm |
Maximum RAM | 8x 30pin SIMM; maximum of 32MB |
Cache | 64, 128, 256KB |
FPU | Yes, 387DX |
CPU Type | 386DX, 486SX, 486DX-2, Cx486DLC |
CPU Speeds | 20, 25, 33, 40, 50, 66MHz |
Expansion | 6x 16bit, 1x 8bit |
Motherboard data is available at Ultimate Hardware 2019:
The FRX46C421 memory controller as fitted to this board supports the provision of UMB memory via The Last Byte memory manager. As noted in the file chipset.doc:
Chipset / Available UMB Regions / Address / Region Size
FRX46C421 256k C0000-FFFFF 6x32k+1x64k
These UMB regions can then be used to load drivers and TSR's high, using the highdvr and hightsr utility included with The Last Byte memory manager similar to the MS-DOS commands devicehigh and loadhigh.
BIOS
BIOS from my motherboard:
Repairs
Keyboard Socket Removal & Replacement
Before removal:
Keyboard port and battery header removed:
Damaged traces cleaned with fibreglass pencil, neautralised with white vinegar and then thoroughly cleaned with isopropyl alchohol:
Fingers crossed that there isn't any more damage - there doesn't appear to be, so this looks like it has been caught in time. The battery header uses a diode as standard (part D4, just to the right of the header solder pads), so no chance of a battery pack getting charged and going bang. A standard 4-pin (+, N/C, N/C, Gnd) external pack will work fine.
ISA Socket Removal & Replacement
Unfortunately a trace under the 74LS chip was damaged on removal of that chip - on removal of the ISA socket it looks to connect pin 3 of the 74LS245N with pin 2 of the ISA sockets either side of it. This will need to be repaired with a short section of kynar wire to bridge those three pins:
New 74LS245N DIP socket and 16bit ISA socket in position:
74LS245N pin3 and ISA socket pin2 link wire in place:
ISA Socket Cleaning
Scrubbed with white vinegar on a toothbrush, then thoroughly cleaned with isopropyl alchohol:
I'm pleased with these - other than the one with the missing pin, they've all come up really rather nice; hopefully just the one will need replacing now.
Initial Testing
Sadly, initial testing after reassembling the board after replacing the obvious components results in no video and no error code beeps. Processor and other chips were cold and didn't heat up, indicating no clock signal.
First thing was to check all of the jumpers on the board, and many of them had been either removed or set to something other than what they were supposed to be for a 386DX-40. With those set correctly, and the programmable clock generator set to 40MHz the processor and other supporting chips now get warm, but still no output on screen or via the speaker.
Next test is probably check with a POST diagnostic card and perhaps check some other clock signals.
[Update - 12/03/2021] POST diagnostic card arrived.
After initially having to repair two broken LED's on the new diagnostic card, I eventually got it working and up and running in the Forex board. It confirmed that all voltages were present, and that the system reset behaviour was working, but no error codes are present:
Not sure how to proceed from here…..
Configuration
Note: The image above shows a variant of the Forex motherboard with a proprietary 32bit slot in place of the lowest 16bit ISA slot. Other than that difference, the jumpers and configuration seems to be identical.
0 Wait State & Further BIOS Optimisation
Math Co-Processor
Speed Testing & Tuning
Configuration 0
- AMD Am386DX-40
- Cyrix cx87DLC-40 FPU
- 128KB Cache
- Default wait states, memory and cache timings
- 4x 4MB 60ns SIMM
- VGA 1 - Trident 9000B 512K VGA
- VGA 2 - Tseng Labs ET4000AX 1MB VGA
- VGA 3 - Cirrus Logic CL-GD5428 1MB VGA
This is a baseline configuration with all BIOS options configured as defaults.
Configuration 1
- AMD Am386DX-40
- Cyrix cx87DLC-40 FPU
- 128KB Cache
- Optimised wait states, memory and cache timings
- 4x 4MB 60ns SIMM
- VGA 1 - Trident 9000B 512K VGA
- VGA 2 - Tseng Labs ET4000AX 1MB VGA
- VGA 3 - Cirrus Logic CL-GD5428 1MB VGA
Configuration 2
- AMD Am386DX-40
- Cyrix cx87DLC-40 FPU
- 256KB Cache
- Optimised wait states, memory and cache timings
- 4x 4MB 60ns SIMM
- VGA 1 - Trident 9000B 512K VGA
- VGA 2 - Tseng Labs ET4000AX 1MB VGA
- VGA 3 - Cirrus Logic CL-GD5428 1MB VGA
As configuration 1, but with motherboard cache increased to 256KB.
Results
Test | Config 0 | Config 1 | Config 2 |
---|---|---|---|
Processor Speed | 40 MHz | 40 MHz | 40MHz |
Wait states | 1 | 0 | 0 |
Norton Sysinfo CPU | |||
Norton Sysinfo HDD | |||
Norton Sysinfo Overall | |||
CheckIt Dhrystones | |||
CheckIt Whetstones | |||
CheckIt Video chars/sec VGA 1 | |||
CheckIt Video chars/sec VGA 2 | |||
CheckIt Video chars/sec VGA 3 | |||
CheckIt HDD Transfer | |||
Landmark CPU | |||
Landmark FPU | |||
Landmark Video VGA 1 | |||
Landmark Video VGA 2 | |||
Landmark Video VGA 3 | |||
3DBench VGA 1 | |||
3DBench VGA 2 | |||
3DBench VGA 3 | |||
ATPerf RAM Read | |||
ATPerf RAM Write | |||
ATPerf ROM Read | |||
ATPerf Video Write VGA 1 | |||
ATPerf Video Write VGA 2 | |||
ATPerf Video Write VGA 3 | |||
CompTest RAM thruput | |||
CompTest Effective WS | |||
CompTest MFLOPS | |||
CompTest Video BIOS VGA 1 | |||
CompTest Video BIOS VGA 2 | |||
CompTest Video BIOS VGA 3 | |||
CompTest Video Direct VGA 1 | |||
CompTest Video Direct VGA 2 | |||
CompTest Video Direct VGA 3 | |||
CompTest Dhrystones |
Games Results
In addition, the following game benchmark results were recorded:
Test | Config 0 | Config 1 | Config 2 |
---|---|---|---|
Wolfenstein 3D (FPS) | |||
F1GP Bench 1 (CPU %) |
Software Versions
- Norton Sysinfo 8.0
- CheckIt 2.1
- Landmark 6.00
- 3DBench 1.0
- ATPerf 2.00
- Comptest 260
Notes
Conclusion
(Go back to the 386 PC main page)