Kernel Hack Brings Windows XP To The 486

The venerable Intel 486 was released in 1989 as the successor to the extremely popular Intel 386. It was the minimum recommended processor for Windows 98.  (Surprisingly, the Windows 95 minimum was a 386!)  But by the time XP rolled around, you needed at least a 233 MHz Pentium to install. Or at least that was the case until recently when an extremely dedicated user on MSFN named [Dietmar] showed how he hacked the XP kernel so it could run on the classic chip!

The biggest issue preventing XP from working on earlier processors is an instruction introduced on the Pentium: CMPXCHG8B. This instruction compares two 8-byte values and takes different actions depending on an equality test. It either copies the 8 bytes to a destination address or loads it into a 64-bit register. Essentially, it does what it says on the tin: it CoMPares and eXCHanGes some values. If you want to dig into the nitty-gritty details, you can check out this info on the instruction taken from the x86 datasheet.

Without getting too technical, know that this instruction is vital for performance when working with large data structures. This is because one instruction moves 8 bytes at a time, unlike the older CMPXCHG instruction, which only moves a single byte. Essentially, [Dietmar] had to find every usage of CMPXCHG8B and replace it with an equivalent series of CMPXCHG instructions.

On a side note, the once well-known and devastating Pentium F00F bug was caused by a faulty encoding of the CMPXCHG8B instruction. This allowed any user, even unprivileged users, to completely lock up a system, requiring a full reset cycle!

So [Dietmar] was successful, and now you can run the German version of Windows XP on either a real 486 or an emulated one. The installer is available on the Internet Archive and there’s a detailed video below demonstrating installing it on the 86Box virtual machine host.

Continue reading “Kernel Hack Brings Windows XP To The 486”

It’s A 486 Computer, On A Breadboard

Ever since the 1970s, a frequent project has been to take a microprocessor and construct a computer system on a breadboard or stripboard. Usually these machines feature a familiar 8-bit processor such as a 6502 or a Z80 because of their breadboard-friendly DIP packages, but there is surprisingly little reason why some of the more recent silicon can’t be treated in the same way. [FoxTech] is leading the way on this, by making a breadboard computer using an 80486DX.

A 1990-era 32-bit desktop CPU seems unpromising territory for this application, but its architecture is surprisingly accessible. It needs a breakout board to gain access to its various lines, but beyond that it can be interfaced to in a very similar way to those earlier chips.

So far there are two videos in the series, which we’ve placed below the break. The first one introduces the project and shows the basic set-up. A 486 running NOPs may produce a pretty light show, but as he starts to show in the second video, it’s capable of more. The eventual aim is to have a simple but fully functional breadboard computer, so he’s starting with logic to decode the 32-bit bus on the 486 into the 8-bit bus he’s going to use.

It’s fascinating to learn about how the 32-bit 486 handles its interfacing and deals with four bytes at once, and we’re very much looking forward to seeing this project play out. The 486 may be on life support here in 2023, but that doesn’t mean it can’t still receive some love.

Continue reading “It’s A 486 Computer, On A Breadboard”