Is This The Smallest CP/M Machine Ever?

If you had an office word processor in the late 1970s, the chances are it ran Digital Research’s CP/M operating system. IBM went for Microsoft in the 1980s and the once-dominant player fell on hard times, but it survives today as a popular choice on retrocomputer platforms. Even the more compact Z80 systems are a little large for 2022, so when [Kian Ryan] needed the ultimate in CP/M portability it fell on a more modern piece of silicon. Hence he’s put it on a tiny RP2040-based board from Pimoroni alongside an Adafruit micro SD card breakout.

The tiny hardware is neat of course, but the real star of the show is the software. Non-CP/M aficionados will be interested to learn about RunCPM, and for this project, RunCPM 2040. This provides an emulated environment on a host microcontroller to run CP/M, allowing the operating system to be hosted on easier hardware than some of the original machines.

All this makes for a tiny development machine, but perhaps of more interest would be a machine that’s all-in-one with a display and perhaps a keyboard. The RP2040 is interesting in this case because of those programmable state machines. Could it be made to run a video display alongside RunCPM? We hope someone has a go at writing it.

22 thoughts on “Is This The Smallest CP/M Machine Ever?

      1. Itwas in his column in Byte. I guess it used a Z180, and CPM with an improved Command utility. Itwas a muppet lunchbox.

        My guess in either the Big Hardware Issue about 1985, or the tenth anniversary issue, but maybe not.

  1. I’m making a little VT-52 from a similar RP2040 board, an ILI9488 screen, a Gherkin keyboard, and an ESP-01 for wifi. There’s an ESP8266 CP/M port out there somewhere – installing that would make it a self-contained CP/M machine, if using two microcontrollers isn’t cheating.

    PIO can push a 480x320x1 framebuffer to an ILI9488 over SPI no problem, but tearing is an issue.

  2. i’d have to say the hp-95 was about the smallest fully contained and actually usable one and it ran ‘real’ cpm–you could even play games. i still have an hp-200 lx although i’m sure it’s deteriorating badly with disuse. /guy

  3. I have an RP2040 driving the display and keyboard of a classic Mac over PIO (motherboard was dead). It’s currently running a terminal client but I’d love to see if CP/M will fit on there too.

    1. The RamBlade fits in a matchbox and was designed in 2009. PCB size 1.9″x1.2″ (48×30.5mm).
      A Parallax Propeller P1 chip with a 512KB SRAM and microSD emulates the Z80, 64KB, 8 HDDs and peripherals.
      It runs CPM2.2 including Wordstar and Microsoft Basic. I believe Cobol does not run :(
      Runs about the speed of a 4MHz Z80.
      microSD is formatted as FAT32 and supports 1x512K and 7x 8MB HDDs in CPM.
      512KB of SRAM is present on the pcb but only 64KB is mapped for CPM.
      Two configurations are possible…
      * Serial TXD & RXD TTL 3V3 – can connect to PC using a USB-TTL converter pcb or PropPlug
      * Monochrome video and PS2 Keyboard.

      https://forums.parallax.com/discussion/116893/ramblade-prop-sram-microsd-addon-to-run-zicog-cpm-propdos-catalina-etc/p1?new=1

      And for a newer, slightly larger PCB (1.6″x2.2″) with lots of I/O plus microSD, VGA and USB Keyboard, serial, and runs faster…
      https://forums.parallax.com/discussion/172262/clusos-p2-retroblade2-single-chip-computer-small-stock-and-build-to-order/p1
      All using a single IC – the new Parallax P2 with internal 512KB SRAM. Boots from microSD (Flash chip is optional).

  4. Wow, that takes me back. This was my family’s first pc http://dunfield.classiccmp.org/miscpm/v1050b84.jpg My Dad promised me that he’d buy it along with a printer if I took the one or two week course given at the local public library. So I jumped on that offer and that became our gateway (no pun intended) into the wonderful world of PCs. Note that the owners manual says 1984 but I think that I took that course and we had purchased the system from the instructor as early as 1979. Then sometime between 1983-86 we got the 386 and 486 pcs with Windows 3.1. Then most of my family started teaching themselves on them. Exciting times.

  5. Smaller?
    I was thinking about putting CPM8266 on ESP-02 with the original flash upgraded to 16MBytes. But I currently just don’t even get the esp-open-sdk built… so: “Meh!” :-/
    At least bitrot has no odour…

  6. I would love to build a slabtop around this!

    I’m guessing this might be the smallest emulated CP/M system and the Z80 Membership Card is probably the smallest non-emulated system?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.