Jepler has posted up a new guide that shows how to create an emulator for the 8-bit CP/M operating system. Relive the glory days of computing before MS-DOS by coding up Z80 assembler programs, or just Zork & Chill. Because video generation & USB keyboard support are built in, this project is fully usable without a supporting desktop/laptop computer.
The CP/M operating system was created in 1974 and ran on the 8080 and Z-80 microprocessors. Before the rise of the IBM PC & MS-DOS, it was considered a powerful operating system, especially for home computers.
There are a number of CP/M emulators & simulators. One of them, RunCPM by MockbaTheBorg, was previously adapted to run on the RP2040 family of microcontrollers by guidol70. This project adds USB for keyboard input & HDMI for display output. The resulting computer is entirely self-contained and doesn’t need a host computer to operate.
This project uses two Adafruit Feathers. Why’s that? Both the digital video output and the USB Host are implemented using the RP2040’s powerful PIO peripheral—but each task requires almost all of the chip’s capacity in order to do so. That made it necessary to split the project in half. One of the Feathers does the CPU and OS emulation plus the video signal generation. The other reads keystrokes and transmits them over a UART connection to the first board. It’s not a Beowulf cluster, but it’s still a cool technique to expand the capabilities in this project.
Build the software using the Arduino IDE, put your CP/M software on a Micro SD card & get computing like it’s 1979.