Windows 1.0 goes back to the future with the help of Raspberry Pi – PicoVision and emulation let you GUI like it's 1985
I guess it's like Mount Everest, finding a way to load Windows 1.0 just because it's there
Programmer and tinker Charlie Birks has come up with what he calls an addition to “silly things to do on a pico.” Using a Pimoroni PicoVision and a custom-coded emulator, Birks has successfully booted Windows 1.0 on modern computing hardware.
My latest addition to "silly things to do on a pico": boot Windows.(1.0, on a PicoVision) pic.twitter.com/BvFlh1ZvVIJune 20, 2024
We’ve covered the Pimoroni PicoVision before. The inexpensive device includes a Raspberry Pi Pico W and a second RP2040 SoC on the back of the board. In this configuration, the RP2040 included with the Raspberry Pi Pico W can act as the CPU and provide Wi-Fi connectivity, while the second RP2040 works as the GPU for the development board.
The PicoVision is great for retro gaming and computing, digital signage, and other modern conveniences. It’s also useful for resurrecting the original version of Windows.
Birks wrote a bespoke PC emulator that runs on the PicoVision to accomplish the task. The emulator, dubbed Probably Average Computer Emulator (I’ll refer to it as PACE henceforth), offers what’s described as a “mostly complete 8088 CPU core.” The original version of Windows 1.0, released in 1985, required at least MS-DOS 2.0 running on an 8088 processor.
PACE also provides basic chipset support for Peripheral Interface Controllers, Programmable Interrupt Timers, and Programmable Peripheral Interfaces. The programmer notes that Direct Memory Access (DMA) is mostly unimplemented, making disk support tricky. There is built-in support for CGA graphics, some floppy controller support, and some compatibility with fixed disk adapters.
The PACE emulator makes good use of PicoVision’s total of 16MB of PSRAM. However, the emulator only supports 640KB of memory, which is understandable given that Windows itself only requires 256KB of RAM.
To load Windows, Birks is running MS-DOS 3.3 (the newest supported version) and Windows 1.01. He’s implemented keyboard support over USB HID, but no other input as of yet. Future improvements, according to a thread on X, could include joystick support and, I assume, mouse pointer support.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
If you want to try it all out for yourself, the Pimoroni PicoVision is easy to come by. Birks’s emulator is available under a permissive MIT license on GitHub.
Jeff Butts has been covering tech news for more than a decade, and his IT experience predates the internet. Yes, he remembers when 9600 baud was “fast.” He especially enjoys covering DIY and Maker topics, along with anything on the bleeding edge of technology.
-
abufrejoval I'm pretty sure I've kept those floppies somwehere, just to prove that I did run it once, only to immediately discard it as complete trash...Reply
I was doing GEM at the time, which was vastly better and implemented the natural desktop metaphor with windows as overlapping as sheets ony my desk.
Windows 1 instead enforced a tiled windows management approach that I thought as intrusive and overreaching as M$ is becoming again these days with regards to AI and your data.
I understand there are Linux people who actually prefer that, but what I prefer most is choice.
Windows 1.01 came for free with an Intel Above board, and that package also included a free 80287, which was far more useful, and even continued to work with my 80386 machines until the 80486 finally included an almost proper FPU (the stack architecture designed for the 8-bit data base of the 8088 still sucked).
Did I mention that the Above board was the price of a used card you'd buy for your kid?
Or that it was either a PC or a new compact car (or used Porsche) at the time?