David Given posts on GitHub an open source sort-of CP/M 2.2 distribution. What is CP/M you ask?
CP/M (Wikipedia) is Digital Research’s seminal desktop operating system from 1977 that for a decade dominated the personal computer market. It’s of enormous historical value and there’s a vast wealth of programs written for it. It’s even useful today: both to study (as a superb example of sheer minimalism) but also to use; the Z80 is a common target for homebrew computers, and CP/M is the obvious operating system to run on one.
So what is CP/Mish?
CP/Mish is an open source sort-of-CP/M distribution for the 8080 and Z80 architectures (although for technical reasons currently it only works on the Z80).
It contains no actual Digital Research code. Instead, it’s a collection of third party modules which replicate it, all with proper open source licenses, integrated with a build system that should make it easy to work with.
What you get is a working CP/M 2.2 clone consisting of:
- ZSDOS as the BDOS replacement
- ZCPR1 as the CCP replacement
- open source BIOSes for the supported platforms
- various tools copying the functionality of the standard CP/M tools (some of them written by me)
- R.T. Russell’s superb BBC Basic, Z80 edition (with integrated assembler)
- a build system which provides a turnkey cross-compilation system for producing bootable disk images for any of the supported platforms
- a classic CP/M syntax assembler and linker for cross-compiling ancient source
- a simple but useful vi-adjacent editor called qe (written by myself)
- an emulator for testing CP/M binaries
- source for everything; no binaries are in this distribution
- bugs
Currently it supports these platforms:
See GitHub for additional information.