8086 PC Emulator with CGA Graphics

What do Two Guys from Andromeda and Bill Gates have in common? They are both responsible for code that will run on a Teensy!

Now, it’s entirely possible that none of them have heard of Teensy (as unfortunate as that may be!) let alone knew that their code ran on it, but that’s where Mike Chambers’ Teensy 3.6 based 8086 PC emulator with CGA graphics, PS2 keyboard comes in!

The project started out as a software-based emulator, but Mike was curious to see how it might perform on a microcontroller; with even the most humble Arduino out-clocking and even out MIPS-ing early PCs, it seemed like an interesting proposition. Unfortunately, even that most stalwart member of AVR’s 8-bit stable, the ATmega2560, proved no match for the job. Fortunately, Mike discovered the muscle he needed in the form of the Arm Cortex-M4 in our very own Teensy 3.6!

As thrilling as it is just to see a DOS prompt on our 320×240 display, being able to recreate Prince of Persia’s legendarily smooth motion gives you a real feel for the potential of this project – and that was before any optimization or overclocking! In the videos below, Mike also shows the Sierra Online classic Space Quest, and even Microsoft Windows 3.0 running on his Teensy tiny PC:

Mike shares his source code and which pins to connect the SPI RAM, LCD, and keyboard to in a forum post, as well as specs for the required hard drive image, which runs from microSD. Observant readers may notice that most venerable DOS-based palmtop, the HP 200LX, in the background of his project pic – perhaps foreshadowing a full-blown Teensy handheld?!