First post, by Deunan
This is the mobo in question: https://stason.org/TULARC/pc/motherboards/U/U … OPTI-386WB.html
I bought it cheap as not working, surely enough there was some battery corrosion but nothing serious. I cleaned it and replaced the external battery pin header and keyboard socket but all in all it'd work as-is if not for a broken trace (A4 line to the BIOS ROM) that somebody had probably gouged with a screwdriver. It works fine now, well except if any NPU (co-processor) is installed. BTW this mobo uses semi-permanent CPU clock of 33MHz that would require replacing the clock generator to get something different.
With NPU in socket funny things happpen, depending on what CPU is installed:
* Intel 386DX [CHIP ID: 0308, should be D2 stepping] - works fine
* Cyrix 486DLC - works fine
* TI 486SXL - works fine
* TI 486DLC - will POST but hangs on any x87 instruction that requires the CPU to monitor BUSY signal
* AMD 386DX [CHIP ID: 0305, should be D0 stepping] - hangs on POST unless I disable numeric processor detection in BIOS, will still hang on any app trying to use or even detect one
Very rarely the AMD/TI chips that hang will boot (I lost count of tries, many) and/or let me run x87 code. Might hang eventually though and will never finish Quake timedemo.
I looked at the signals between NPU and CPU, most are directly connected but some pass through the chipset. When the hangs occurs the NPU BUSY# output is 0V, so active, so that's what hangs the CPU but it shouldn't be a permanent state. I suspect the CPU (or more likely the chipset) is not properly driving bus signals on previous x87 instruction - perhaps the NPU has not received all data so it waits for that to complete? It looks like some sort of timing issue between CPU, NPU and then chipset.
Ah, and it's not the BIOS either. Mobo came with 05/05/91 version, tried 07/07/91 one that I had to hack because someone dumped it via software like NSSI and didn't disable shadowing, so it's modified and the checksum doesn't match. Tried MR BIOS as well, looks nice but same story, and neither one has HDD auto-detection or 486DLC support so I'm sticking with the original ROM chip for looks.
My question is has anyone had a problem like this? I've tried several different co-processors (Intel, Cyrix, IIT), doesn't change anything, only the CPU makes a difference. All these CPUs work fine, even at higher speeds (40MHz) with all these NPUs in another, newer mobo. And I have two of the AMD chips (sadly both are the same stepping) so it's not just an issue with a single chip - although one of those seems to boot more frequently then the other. I guess I can look for a different stepping AMD CPU but that costs money so I figured I'd ask here first.