This article is more than 1 year old
CP/M's open-source status clarified after 21 years
The venerable Z80 OS is a now hobbyist favorite
The company that still owns Digital Research's CP/M operating system has granted a new, more permissive license for the eight-bit OS, making it free for anyone to modify or redistribute.
It's not often that we update a news story from 21 years ago. Bryan Sparks, then CEO of Caldera spin-off Lineo, gave Tim Olstead permission to redistribute the OS, both as source and binaries. Sadly, Mr. Olstead passed away from cancer aged just 51. Back then, we wrote that the Unofficial CP/M Web Site was back, as Mr. Sparks changed the permissions from the former owner himself to the site as a whole.
For clarity, that's a very good thing – Lineo was under no obligation to do this – but restricting redistribution to one person or one site was limiting.
Lineo in turn spun off DRDOS, Inc., which ended up owning the Digital Research intellectual property. That company is still around, and Mr Sparks is its president. This month, retired programmer Scott Chapman managed to contact Sparks and request clarification of whether anyone else was allowed to redistribute CP/M, and Sparks has granted free rein.
You can now legally run the raw unbridled power of CP/M 2.2 anywhere you like
As we reported in 2014, the source code is easy enough to find: the Computer History Museum makes several versions available. The new license just permits developers to do more with it.
What prompted this is that the restrictions of the 2001 agreement have already brought about the creation of an ingenious workaround called CP/Mish by retrocomputing boffin David Given, known to Youtubers as Hjalfi.
Given cleverly exploited CP/M's modularity. Back in the day, so many replacement parts for various elements of CP/M were published that it was possible to build a complete OS without using any Digital Research code. CP/Mish's BDOS (loosely, its "kernel") is ZSDOS, its command prompt is ZCPR, and there are some other parts to glue it all together, as he documents on GitHub.
(UNIX graybeardy types might be reminded of 4.4BSD-Lite at this point. And if you remember 4.4BSD, we're sorry, but you're a graybeard even if you don't actually have a beard.)
Now, thanks to the new license, Given can legally integrate actual DR code into CP/Mish. Soon we can look forward to a significantly improved OS for the Amstrad NC200 laptop, the Kaypro II, and several models of Brother word-processor.
- Linux Mint 21 hits beta, and it's looking fresh
- X.org servers update closes 2 security holes, adds neat component tweaks
- Linux laptop vendor Slimbook updates its ranges
- 'Unbreakable' Oracle Linux 9 is a RHEL rebuild with built-in Btrfs support
CP/Mish isn't the only modern CP/M-alike. Due to its tiny size and extreme simplicity, these days it's fairly straightforward to hand-build your own Z80 computer from parts – on a breadboard, or from a kit, of which the RC2014 is a popular example. The RC2014 can run several ROMs and OSes, including RomWBW, which allows you to boot a choice of CP/M relatives: CP/M 2.2, ZSDOS 1.1, NZCOM, CP/M 3, and ZPM3, among others.
If hand-soldering even a small computer together sounds too daunting, there's RunCPM, which can run CP/M and its apps on Windows, Linux or macOS. A standalone computer is more fun, though, and thanks to FabGL, RunCPM can run on the ESP32 from Expressif. That means you can turn several tiny, cheap development boards into self-contained CP/M computers – a good ready-to-use example is Lilygo's TTGO VGA32, which has two PS/2 ports, VGA and headphone sockets, and a microSD slot, and costs about $22. Guido Lehwalder offers instructions to get one going.
The Spectrum Next also runs CP/M, if you're lucky enough to have one. This vulture is still waiting for his to arrive, and is considering an N-GO in the interim.
CP/M first appeared in 1974, only one year after the first version of UNIX written in C. The difference is that even then, UNIX was rather complex, whereas CP/M is tiny. Twenty years later, Dave Baldwin offered an eloquent explanation of why that makes it interesting. There are reams of information about it online, and John Elliott's encyclopedic page is a great place to start. ®
We are aware that CP/M isn't just a Z80 OS and also ran on the Intel 8080. True, it did, but many of the third-party extensions and software use the extra Z80 opcodes. More importantly, multiple Z80 variants are still in production, so all the modern hobbyist kit that we've seen so far uses Zilog-family chips. This includes the Z180, and even the 16-bit Z280 – for example, the ZZ80MB, and the ZZ80RC, which slots into an RC2014 backplane.