3 ms·
Enthusiast gets Windows XP running on an i486
- chungy 2y agoArticle is extremely light on details. Clockspeed isn't even remotely the only issue (Windows XP will install on a 60 MHz Pentium; not a pleasant experience but it works). Windows XP requires the CMPXCHG8B ISA instruction and it is not available on the 486. Given the article shows an emulator running it, it's possible (but I hope not) that the emulator was modified to supply a 486 CPUID while also supporting the instruction. Maybe the Windows 2000 ntoskrnl.exe was slotted in, too? Anything beyond that, I'm not sure how you can modify Windows XP itself to support an older CPU lacking the necessary instruction.
- zamadatix 2y agoThe forum post linked early on has the nitty gritty on how the actual binaries were hex edited to no longer need the unsupported opcodes. He manages to do this by rewriting the XP kernel (SP3 version towards the end) but does reference how the 2000 kernel did some functions without the instruction along the way.
- justsomehnguy 2y agoArticle provide the link to the forum. https://msfn.org/board/topic/186080-xp-running-on-a-486-cpu https://msfn.org/board/topic/186080-xp-running-on-a-486-cpu
- kccqzy 2y agoWell, GCC still supports i486 to this date. Just compile some code that normally needs cmpxchg8b while passing it `-m32 -march=i486`. Here's an example code: extern std::atomic<uint64_t> v; bool f(uint64_t& a, uint64_t b) { return v.compare_exchange_strong(a, b); } I'm away from a computer but someone should try this and disassemble the resulting binary.
- o11c 2y agoIt generates an external function call to `__atomic_compare_exchange_8`, defined in `libatomic.a`. Disassembly of `libatomic.a` is not useful since distros don't compile that with 486 support. Go look at the source.
- deleted 2y ago[deleted]
- throwaway2046 2y agoI immediately recognized the name Dietmar, he was a huge member on the Reboot forum doing all sorts of incredible projects. From creating tiny Windows installations to live booting Windows... It's great to see him still going! Archived article: https://archive.ph/ruCRF https://archive.ph/ruCRF
- fuzzfactor 2y agoCould very well be the German natural scientist who made some wonderful progress in computer science regarding Windows, while on holiday one time ! Experimentation & discovery FTW !