blog:386_shootout_pcchips_m321

This is an old revision of the document!


PC-Chips M321

A pretty well specced 386DX motherboard which needs repairs. Then to upgrade it and run some benchmarks and tests.

PC Chips!

Ah, that electronics company that we all love to hate! They are notorious for putting up absolute rubbish, ripping off other designs and generally not playing very nice. The thing is, they didn't always use to be like this. During the 286 and 386 time period, although they did put out rebranded stuff, most of it was actually decent, or middle-of-the-road. Some of it was actually pretty good, too.

The PC Chips M321 motherboard is one of the few good examples during their earlier period of a pretty solid, good performing design. It has since been found that they used a relabelled Opti 82C391 chipset for this board (more info on that below) and actually, it's quite a nice design; good cache support, socketed CPU and FPU, full suite of 16bit and 8bit expansion ports, plenty of SIMM modules, etc.

This was one of a few motherboards I bought for very, very little money from that Russian auction site (https://streetmarket.ru) in early 2021. Again, like a lot of the others, it was cheap partly because it had some obvious minor damage…

These are the original images that came from the auction site (https://streetmarket.ru/) where I bought the board:

It has suffered what looks like minor to moderate battery leakage - though it appears to be limited to the area immediately surrounding the battery and potentially a few pins on the first ISA socket, the keyboard controller (and keyboard socket) and BIOS socket.

As long as it hasn't travelled much further, these should be possible to either clean or desolder and repair with replacement parts.

Some observations:

  • No CPU (uses a 386DX PGA socket)
  • No FPU (uses a standard 387 PGA socket)
  • 4x 71256 (256x8kb) 32KB SRAM cache chips fitted (should be 128KB), could be expanded to 8x such chips and a TAG chip for 256KB.
  • Battery damage: 5 pin DIN keyboard connector to replace
  • Battery damage: BIOS socket to remove/clean and replace
  • Battery damage: Keyboard controller to remove/clean and replace
  • Battery damage: First ISA socket to remove and replace
  • One SIMM socket of the pair closest to the edge of the board is damaged and will need replacing
  • Various minor jumper headers are bent and need straightening/replacing

[Update 10/03/2021] Motherboard arrived from Russia.

Corrosion around the battery terminals, keyboard socket and keyboard/BIOS chips is quite bad. I suspect I'll need to remove all of those components to clean/repair the board properly.

Slight damage to one of the SIMM socket plastic retaining lugs. This shouldn't pose a problem as the sprung metal tabs will keep a SIMM locked in place:

A summary of the motherboard capabilities follows:

Item M321 v1.x M321 v2.x
Form Factor Baby AT Baby AT
Chipset PC Chips PC Chips (actually confirmed as a relabelled Opti 82C391)
Dimensions 250mm x 220mm 250mm x 196mm
Maximum RAM 32MB (8x30pin) 32MB (8x30pin)
Cache 0,32,64,128,256KB 0,32,64,128,256KB
FPU 387, Weitek 3167 387, Weitek 3167
CPU Type 386 DX 386 DX
CPU Speeds 25,33,40MHz 25,33,40MHz
Expansion 6x16bit, 2x8bit 6x16bit, 2x8bit

The Opti 82C391 as used in the M321 V2.x has support in the UMBDVR software to make available UMB regions that can be used to load device drivers and DOS TSR's into:

Use the chipset flag /C=09 to specify Opti 82C391.

In addition, The Last Byte supports the chipset as well:

The first job is cleaning, a good scrub with white vinegar to remove as much of the corrosion as possible, following by a thorough rinse with isopropyl alcohol:

Most of the corrosion was around the keyboard socket, battery terminals and pins/headers close to the BIOS/Keyboard ROM sockets, but after some heavy scrubbing, it's not looking as bad:

ISA slots have mostly cleaned up okay, may need to go back over a few spots with a smaller brush to get in some of the deeper sections:

There's a little bit of tarnishing on the AT power header:

The keyboard controller definitely didn't have much longer to live - it's heavily tarnished, but I'm hopeful that a good clean will remove it all:

Keyboard controller turned out okay:

Next up is to remove the keyboard socket, plus any of those passive components around the battery terminals that look as if they have evidence of corrosion - mainly a couple of resistors and two diodes.

[Update 14/04/2021] - I tried a quick test of the board with just a POST diagnostic card and it immediately showed that the +12v line was not reaching the ISA slot. The board has some pretty rubbish electrolytic caps between the AT PSU header and the main power traces, so I took the opportunity to replace them - as well as the others on the board (about 10 or so in total).

Removal of keyboard socket, power supply capacitors (all 10uf, 25v) and the BIOS ROM:

The keyboard controller was also removed, as I'll replace the keyboard controller socket and clean the area underneath, so that any hidden battery damage is removed:

Keyboard controller socket removed to make it easier to clean the entire area:

[Update 16/04/2021] - Cleaned the remaining corrosion from the exposed traces and components around the battery area. There's at least one trace that no-longer has continuity - from the keyboard socket.

DIP sockets refitted, new 10uF capacitors fitted and new keyboard socket soldered:

After replacing those components above, I tested again:

+12v and +5v are now happy, but -12v is missing and RESET seems to be being held. CLK also appears to be intermittent.

[Edit] The -12v signal seems to be down to the AT PSU header - a bit of corrosion and a worn connector; a quick 'wiggle' restores it; certainly nothing that would stop the board running. I'll revisit replacing the AT header at a later date.

On closer examination and testing, there are a couple of cut traces on the reverse of the board around the cache sockets:

At least two of those traces have a very high resistance reading, so they probably need repairing.

Repaired the traces, but no further improvement to the status of the system, so I started looking elsewhere.

Checking Clocks

The flickering CLK signal on the POST card pointed to a problem with one or more of the clock generation circuits.

  • Tested the 32KHz can: perfect
  • Testing the 14MHz oscillator: erm… clock signal has gone bye-bye

So, the standard 14MHz oscillator is not giving a proper signal; that could certainly be an issue - many standard timings of the PC/AT are derived from that clock, so I needed to replace it. I quickly desoldered another 14MHz oscillator from another motherboard, and….

RESET no longer held, and a nice solid CLK signal. Excellent!

Also my Hantek USB oscilloscope confirms a 14MHz signal from the oscillator:

V1.x Configuration

V2.x Configuration

Configuration 0

  • AMD Am386DX-40
  • Cyrix cx87DLC-40 FPU
  • 128KB Cache
  • Default wait states, cache and memory timings
  • 4x 4MB 60ns SIMMs
  • VGA 1 - Trident 9000b 512k VGA
  • VGA 2 - Tseng Labs ET4000AX 1MB VGA
  • VGA 3 - Cirrus Logic CL-GD5428 1MB VGA

This is the default baseline configuration for the board with the most conservative BIOS settings.


Configuration 1

  • AMD Am386DX-40
  • Cyrix cx87DLC-40 FPU
  • 128KB Cache
  • Optimised wait states, cache and memory timings
  • 4x 4MB 60ns SIMMs
  • 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, cache and memory timings
  • 4x 4MB 60ns SIMMs
  • VGA 1 - Trident 9000b 512k VGA
  • VGA 2 - Tseng Labs ET4000AX 1MB VGA
  • VGA 3 - Cirrus Logic CL-GD5428 1MB VGA

Configuration 3

  • Texas Instruments TI486DLC-40 - level 1 cache disabled
  • Cyrix cx87DLC-40 FPU
  • 128KB Cache
  • Optimised wait states, cache and memory timings
  • 4x 4MB 60ns SIMMs
  • VGA 1 - Trident 9000b 512k VGA
  • VGA 2 - Tseng Labs ET4000AX 1MB VGA
  • VGA 3 - Cirrus Logic CL-GD5428 1MB VGA

Configuration 4

  • Texas Instruments TI486DLC-40 - level 1 cache enabled
  • Cyrix cx87DLC-40 FPU
  • 128KB Cache
  • Optimised wait states, cache and memory timings
  • 4x 4MB 60ns SIMMs
  • VGA 1 - Trident 9000b 512k VGA
  • VGA 2 - Tseng Labs ET4000AX 1MB VGA
  • VGA 3 - Cirrus Logic CL-GD5428 1MB VGA

Configuration 5

  • Texas Instruments TI486DLC-40 - level 1 cache enabled
  • Cyrix cx87DLC-40 FPU
  • 256KB Cache
  • Optimised wait states, cache and memory timings
  • 4x 4MB 60ns SIMMs
  • VGA 1 - Trident 9000b 512k VGA
  • VGA 2 - Tseng Labs ET4000AX 1MB VGA
  • VGA 3 - Cirrus Logic CL-GD5428 1MB VGA
Test Config 0 Config 1 Config 2 Config 3 Config 4 Config 5
Processor Speed 40MHz
Wait states 1
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 Config 3 Config 4 Config 5
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

(Go back to the 386 PC main page)

  • blog/386_shootout_pcchips_m321.1618694663.txt.gz
  • Last modified: 2021/04/17 22:24
  • by john