Programmer created an i386 PC emulator that boots Windows 95 and Linux on ESP32
Developer He Chunhui created the Tiny386 emulator, which turned a humble ESP32-S3 microcontroller into a 90s PC.
Developer He Chunhui created the Tiny386 emulator, which turned a humble ESP32-S3 microcontroller into a 90s PC.
Developer He Chunhui created the Tiny386 emulator, which turned a humble ESP32-S3 microcontroller into a 90s PC.
Tiny386 also offers emulation of the main processor and its additional x87 computing unit. However, a processor alone does not make a PC, so Chunhui ported a number of basic peripherals from TinyEMU, QEMU and Seabios: BIOS and their I/O devices, VGA video cards, an IDE disk controller and even a Sound Blaster 16 sound card. Since the ESP board does not have ports for these peripherals, input from the keyboard and mouse is transmitted to the emulator via Wi-Fi, writes Tom's Hardware.

The ESP32-S3-based JC3248W535 microcontroller board that the techie used can be purchased for $25–30 on AliExpress, and that price already includes a decent 3.5-inch display. The SoC inside has a dual-core processor, DSP, Wi-Fi and Bluetooth, as well as a number of I/O connectors for microcontrollers of various shapes and sizes. But more importantly, the ESP32-S3 is a simpler device that has much less power than, say, a Raspberry Pi.
Chunhui says his emulator is “simple and dumb” and lacks some features, but it “should run most 16/32-bit programs.” Since Linux long ago dropped support for the i386 processor, Chunhui added some instructions from the 486 and Pentium processors to his emulator. This allowed the virtual machine to boot modern Linux (even without a BIOS) and Windows NT.
The emulator core consists of about 6,000 lines of code and is written from scratch in C, more precisely, the C99 standard. This should simplify its porting, as the author emphasizes in the GitHub repository.



