VOGONS


First post, by lazibayer

User metadata
Rank Oldbie
Rank
Oldbie

I have no problem running XP on a 6x86MX but it refuses to run nor install on the M1 6x86. It asks for CPUID and CMPXCHG8B as if it is running on a 486. I am pretty sure M1 supports the two instructions and there are people who run XP on it. I found this:

you have to manually set its CPU ID flag to "Pentium" and then do an Int 18 soft boot.

on a youtube video but I don't know how to do that. Can some one please give me some details or a link to tutorials? Thanks!

Last edited by lazibayer on 2014-12-06, 21:48. Edited 2 times in total.

Reply 1 of 2, by lazibayer

User metadata
Rank Oldbie
Rank
Oldbie

Problem solved, but not for all motherboards.
I was trying two 6x86L-166's, one Cyrix, one IBM, on GA-5SMM motherboard. The Cyrix one failed to boot, so I thought it was dead and almost torched it. Fortunately I tried it on P5A and it runs like a happy pup. I later learned that 5SMM does not officially support 6x86/6x86L at all.
I wrote a tiny piece of assembly code to test if 6x86's CPUID function is enabled, and it turned out negative on both 5SMM and P5A. 5SMM does have a "6x86/MII CPUID enable" option in its BIOS but it makes no difference on 6x86L. It's easy to write a code to enable 6x86's CPUID functionality but I don't know how to make it execute before XP's boot.
My solution is not perfect: hard mod motherboard BIOS to turn on 6x86's CPUID by default. To enable CPUID, the bit 7 of 6x86's CCR4 register (0xE8 by index) must be set to 1. Using modbin 4.50.82a I found that register in 5SMM BIOS and changed that bit to 1 and finally got XP running. This solution only works for BIOS with existing entry to CCR4 register since I don't know how to create a new register entry with modbin, so it doesn't work on some boards such as P5A and P5S-VM.
In XP the CPU is recognized as 6x86MX 1.39GHz 😲 It runs much slower than it should be, and there are artifacts on the screen under VGA mode. I doubt the glitches are due to incompatibility between 5SMM and IBM 6x86L.

Reply 2 of 2, by lazibayer

User metadata
Rank Oldbie
Rank
Oldbie

I learned how to inject a piece of code into BIOS by Pinczakko's tutorial, so now I can turn on CPUID on P5A and potentially other boards with Award BIOS.
The graphical glitches still exist in XP, duh.