After watching this video
from Michael MJD, I wanted to try reversing its experiment. Instead of upgrading the CPU to get close to the requirements for Windows 7 (Intel x86 at 1GHz), I went for the downgrade path. I'm aware that I'm not the first one to do this, some mad lad did it with a Pentium 90, but it still was painfully fun to work with.
Here are the system specs:
- CPUs: Intel Pentium III 450 (SL35D), Intel Celeron 333 (SL2WN), Intel Pentium II 350 (SL2U3)
QDI Advance5/133E (VIA Apollo Pro 133) MSI MS-6163 Slot 1 motherboard (Intel 440BX)
- 128M+256M+256M PC133 SDRAM (640MB total)
- Matrox Millenium G450 video card
- Maxtor DiamondMax 9 40GB hard drive
- Additional NEC USB 2.0 card to avoid using the integrated USB 1.1 15 Mb/s interface.
What I did:
- Using a Pentium III 450MHz, I installed Windows XP on the hard drive. I really wanted to directly run the Windows 7 setup with my USB drive, but the motherboard doesn't support USB boot (obviously) and Plop Boot Manager failed to get it to boot from the drive. So I went for the upgrade path, first I got XP Professional to boot, then I started the Windows 7 installer from the USB.
- Time for Windows 7 Starter. A couple hours have passed, and I finally got to see the desktop. I went for Starter, instead of something fancier, because the hardware is very limited and I didn't know how it would have handled anything beyond that. I then disabled every optional service to avoid having the CPU always fixed at 100% usage and to get some better load times.
- Downgrade time!. I went step by step, to avoid unwanted behaviors for missing instructions or some other incompatibility. First, I tried with the Celeron 333MHz and, to my surprise, it worked flawlessly! The 66MHz bus was noticeable and the system took about 7 minutes to get from the Windows boot loader to the desktop. Then, I plugged in the Pentium II 350MHz.
- Underclock FTW. I chose these very board and CPU because they gave me the perfect platform to play around with the bus speed. The BIOS CPU Plug&Play feature allowed me to manually crank down the frequency of the processor from 100MHz*3.5 to 66MHz*3.5, meaning I got a Pentium II 233 equivalent. The slowest Pentium II used for the Win7 test was a 266 (according to what I found online).
So, here I am, waiting 10 minutes to get the icons on the desktop, 45 seconds to open the Windows Explorer, 120 seconds to open Internet Explorer 8. Q: Can it run Crysis?
A: No, not even Solitaire. I might try Half-Life or Quake 2 later. Q: You can't be serious, are you?
A: Here is the validation Q: How long did it take?
A: Considering I started with a different motherboard
(the QDI listed above), which couldn't get my Pentium II to a low enough speed and had problems properly reading the RAM, then I needed to reinstall the OS because the chipset was completely different, then I couldn't get it to boot from USB, so I installed basically 2 operating systems from scratch... A lot! About 12 hours spread over 2 days.
TL;DR: I managed to run Windows 7 on a 233MHz Pentium II.
Edit: some of you are asking to try Windows 10. It's not that simple: both Windows 8 and Windows 10 require instructions that are not available on a Pentium II. These include SSE2, PAE and NX, which are not implemented in the x86 architecture until Cedar Mill Pentium 4s. So, until I find some way to skip the check initial check or to bypass the instructions, it's a no go. Best I can do is to try some Beta build of Windows 8.
Edit 2: I also tried out the SSD way, suggested in the comments. As I expected, the 66MHz bus to RAM and the 33MB/s maximum transfer speed are the biggest bottlenecks and the flash storage provided no improvement over the spinning rust. The only effect I got was a new BIOS bug, which couldn't end the IDE drive detection in the setup, although it worked fine for automatic configuration at startup.