frank-xt8086: RP2350B firmware emulates full PC chipset for real Intel 8086 CPU
Open-source GPL-3.0 firmware lets a Raspberry Pi RP2350B microcontroller replace the entire support chipset of an original IBM PC, enabling a real Intel 8086 or NEC V20 to boot DOS from microSD.
Summary
Developer Mikhail Matveev (rh1tech) has released frank-xt8086, open-source firmware that turns a Raspberry Pi RP2350B into a complete PC chipset for genuine Intel 8086 or NEC V20 processors. The RP2350B handles all support functions that original 1980s PCs required from dedicated chips—memory control, interrupt handling, DMA, timers, and I/O—while the vintage CPU executes instructions. Users flash the firmware via USB mass storage or a Debug Probe, then place floppy and hard disk images in a /XT/ folder on FAT32 microSD. The system provides a BIOS setup accessible at boot with DEL, plus runtime drive and configuration menus triggered by Win+F11 and Win+F12.
The first release ships without serial console support because the board routes GP44 to the right audio channel; enabling UART_CONSOLE=ON in the build reinstates the console at the cost of mono audio output. The project is licensed under GPL-3.0-or-later with source and build instructions available on GitHub, making it a fully open hardware/software platform for retrocomputing enthusiasts and preservationists.
RP2350B chipset emulation and board architecture
- RP2350B as chipset replacement: The dual-core ARM Cortex-M33 microcontroller with Hazard3 RISC-V cores assumes all chipset duties—memory controller, interrupt controller, DMA, timers, and peripheral I/O—that originally required multiple discrete chips in IBM PC/XT architecture.
- CPU support: The firmware is designed for real Intel 8086 or NEC V20 processors, not emulation; the vintage CPU remains the execution engine while the RP2350B provides the surrounding system logic.
- Storage and image handling: Floppy and hard disk images reside in a /XT/ directory on a FAT32-formatted microSD card, with runtime drive selection available via Win+F11 hotkey without rebooting.
- Firmware flashing: Two methods are supported—UF2 drag-and-drop to a USB mass storage device after holding S3 (BOOTSEL) and pressing S4 reset, or flashing with a Raspberry Pi Debug Probe.
- Audio/console trade-off: The default build omits serial console because GP44 carries right-channel audio; compiling with UART_CONSOLE=ON restores serial output but forces mono audio by sacrificing that pin.
Why it matters
This project demonstrates how modern open-source firmware on inexpensive microcontrollers can preserve and extend the lifespan of vintage computing hardware without proprietary replacement chips, which are increasingly scarce. For the open hardware community, it provides a complete reference design with GPL-3.0-or-later licensing that others can adapt for different retro platforms or educational purposes, reinforcing the RP2350B's emerging role as a versatile bridge between legacy architectures and contemporary maker ecosystems.
Original reference: blog.adafruit.com →