Usually, we use PCs to emulate other systems, be it retro computers (opens in new tab) or Android apps (opens in new tab). Using something else to emulate a PC is a little different, especially when it’s the original IBM PC, and it’s running on a tiny microcontroller board like this one from Fabrizio Di Vittorio and spotted by Hackaday (opens in new tab). It does make us wonder, if the $4 Raspberry Pi Pico could be used in a similar manner? It too can be used to emulate retro hardware.
The board in question is an ESP32, in this case an ESP 32 development board. They’re available in RISC-V and Xtensa LX7 versions, and judging from the clock speed visible in one of the videos, it’s the latter we’re dealing with here. Di Vittorio’s oddly silent video (opens in new tab) takes you through the steps of compiling the code from its repository on an emulated board in Arduino software. His next, piano accompanied, video shows (opens in new tab) the emulator running on an actual board, booting FreeDOS, and then opening GW Basic 3.
The original IBM PC, launched in August 1981, boasted a 4.77MHz Intel 8088 CPU and up to 640Kb of RAM. It could run PC-DOS or CP/M-86, and run BASIC and Pascal-derived programming languages. It used 5.25in floppy disks, with optional tape and hard drives.
The ESP32 emulator does extremely well, even managing to run Flight Simulator (no, not that Flight Simulator (opens in new tab)) and a lovely monochrome Windows 3.0 (opens in new tab) (which would run on an 8088 but required a staggering 1Mb of RAM) in which we see Excel, Word and PaintBrush being opened and used.
Di Vittorio has form in this area, having previously written the useful FabGL library (opens in new tab) for writing games on the ESP32.