Something I should also probably mention...the system hanging at 05h with the Cyrix 5x86 CPU installed on the unpatched BIOS only happens on real hardware. I can't replicate it with PCem.
With the modified BIOS, the system is still locking up at POST code 05h with the Cyrix 5x86 installed. When I NOP out the instruction the skip over the 05h test, now the system locks up at the " Hit <DEL>, if you want to run setup" line. It's also doing this with a standard i80486DX.
Strangely the BIOS works perfectly fine in PCem.
Do you have any 486 boards with a '91 or '92 AMIBIOS?
Not with 3.3V but...
I placed a 5x86-100 and the modified BIOS I uploaded above on an SiS 471 board.
Obviously the chipset is massively mismatched with the BIOS, it detects the wrong amount of memory, but it does (slowly) POST and works well enough for me to boot from a floppy.
It blasts right through code 05 and continues working. No troubles with hanging at Hit <DEL> for Setup.
So,the CPU detection code works on a real 5x86. I also tried an IntelDX4 and it also works.
I checked the Cyrix CCR2 register, the initialization code successfully sets LOCK_NW there.
Next, I put the original unpatched NICE BIOS on.
It also works, and as expected, reports "486DX or 487", and LOCK_NW is not initialized.
The "Cyrix 5x86 hangs on WBINVD if it hasn't been properly initialized yet" theory is officially ruled out as an AI hallucination.
There has to be something deeper here, like the interposer causing your 5x86 to think your chipset supports things that it actually does not support, and it just happens to be tickled by the internal cache flush and external cache flush in post code 05.
I have a DTK PKM-oo31Y, a MCCI/Nice Super EISA, and a Tyan S1437. They all have very similar 91/92 AMIBIOSes, and they all choke on the Cyrix 5x86 in the same way. I have tried 4 different interposers, and attempted modifications on two separate occasions.
Your test with my BIOS on an SiS471 is pretty interesting, and shows that there's more to it than just a BIOS incompatibility. What's odd is that on My DTK PKM-0031Y, Cyrix 5x86 boots normally if I swap out the AMI for MR-BIOS. Based on that test alone, most would conclude that the BIOS is at fault, yet your test implies otherwise.
In any case, bypassing the o5h test works for me and I'm okay with the fact that I may not ever understand why exactly.
The one thing that is invalid with testing on an SiS 471 of course is that it fully implements write-back L1 cache support. So if it's something that only crops up when the chipset doesn't have it, it's not a valid test.
jakethompson1wrote on 2026-08-17, 07:11:I placed a 5x86-100 and the modified BIOS I uploaded above on an SiS 471 board.
Obviously the chipset is massively mismatched wi […] Show full quote
I placed a 5x86-100 and the modified BIOS I uploaded above on an SiS 471 board.
Obviously the chipset is massively mismatched with the BIOS, it detects the wrong amount of memory, but it does (slowly) POST and works well enough for me to boot from a floppy.
It blasts right through code 05 and continues working. No troubles with hanging at Hit <DEL> for Setup.
So,the CPU detection code works on a real 5x86. I also tried an IntelDX4 and it also works.
The boards I'm dealing with use the SIS EISA chipset. I doubt too many SiS471 boards came with a hiflex BIOS.
Anyway, it's cool MR-BIOS for SiS471 was finally found.
Hi guys, thanks for inviting me to give my view on this Cx5x86 on old boards/BIOSes issue. I followed this thread with great interest!
I see that a lot of ground has already been covered.
In an earlier 2024-06-02 reply here, I promised to analyze the Asus VL/EISA-486SV1 #401A0-0112 BIOS. I did, but life got in the way and I never followed-up on that. I hope to make good on that soon.
As a first step, here is the complete CPU support list of this BIOS. For CPU detection, only the reset value in DX and the Cyrix DIV test is used. The value in the Cyrix DIR register is not used yet in this early Award BIOS.
The attachment Award E-486SV1 05-94 BIOS CPU support list.pdf is no longer available
Then I have a FIC 4386-VIO socket 1 board (VIA VT495 Venus chipset) to experiment on.
Its 1993 Award v4.50 BIOS has exactly the same CPU support as the Asus 486SV1 BIOS, so no Cx486DX(2) support. I have a Cx486DX-40 and a Cx486DX2-66 to test with. The board is running an i486SX-25 just fine, but in the past I couldn’t get the Cx486DX-40 to POST. I didn’t have a POST analyzer card then, but I do now and expect to find out why the Cyrix doesn’t POST.
My recommendation to try next is to patch the offset at 8898, to point to dcbc, so that everything in post code 05 after the wbinvd is skipped.
If it still hangs, we've isolated it to this:
And we can start putting this in .COM files and running it after the system is up and running to see if it still hangs.
If it doesn't hang, it's the external cache flush rather than the internal one that makes it hang.