Assembled TinyCPM - Tin2040 and Micro SD card Reader, banana for scale

I’ve been using the RC2014 as a a CP/M development machine, especially while developing a cross-platform Rogue-like game. I love it. And whilst it’s a hell of a lot more portable than carrying a Osborne 1 or a Amstrad CPC 6128, it’s not something I can keep in the laptop bag and just pull out at the coffee shop (Both the RC2014 Mini with CP/M upgrade and the Extreme Kits RC2040 are ideally suited for this).

Assembled TinyCPM - Tin2040 and Micro SD card Reader, scale for scale

I wanted to see if I could put together a truly tiny CPM based system using RunCPM and the RunCPM-Pi-Pico project and make it even smaller.

Using a Pimoroni Tiny 2040, and an Adafruit 3V Micro SD SPI breakout, I wired them both to a piece of leftover protoboard, using the wire to stand the Tiny off the board (the Tiny has components on both sides).

I pulled the code down from the repo, added a new hardware profile in, and followed the instructions for using the adding 2040 board support to Arduino. I’ve branched the code here, which also contains the pin mappings for this configuration.

Edit: - Most of the credit for this project goes to Guido Lehwalder (Twitter) (Mastadon) who undertook the hard work in porting RunCPM to the Pico. This version of the project doesn’t exist without either the RunCPM project or his work porting it to run on the Pico.

Zork, running on TinyCPM

First test is Zork, which is running fine. I’ll do some more comprehensive testing later hopefully involving Turbo Pascal - but this might be the smallest CPM machine built so far?

Edit: - So Extreme Electronics pointed out that the prototype for the RC2040 started off in pretty much the same way, and he has a tiny version that’s even smaller, using a Tiny2040 and a SD Card Adapter. This is the current winner for smallest CP/M machine.


I was asked to provide a UF2 image for TinyCPM. There’s now an image and a SD card image containing the CP/M A drive and Zork 1-3 on D available on GitHub.