Posted by David Given over on Diaspora, an open-source rewrite of CP/M, already running on Amstrad’s NC200 and the Kaypro II:
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.
By way of illustration David links to this video showing CP/M in use on an NC200 (quick demo of Fortran, Cobol, C, Forth, Pascal, and both MS and BBC Basics):
I was just watching Gary Kildall demo Concurrent CP/M on The Computer Chronicles on Youtube earlier today.
In the 80s there was ZCPR(1,2,3) which was only a command processor (CCP) replacement at first. Then ZDOS (ZRDOS and ZSDOS) were developed as commercial replacements for the CP/M BDOS (main “kernel” of CP/M.) It is, overall, a very nice and sophisticated CP/M alternative. Although I’m not sure if it is technically open source, it is freely available, source included. There is a LOT of info on the web. One place to download it and get some of the info is here.
I had ZCPR 1 (or 2?) in ROM on my Kaypro.
I have a virtual CP/M running under a virtual Z-80 emulator running on a virtual DOS emulator. That’s a lot of virtuals.
A sort-of update: David has recorded a marathon live-coding session where he implements a vi for CP/M (lots of useful milestones/bookmarks in the video description:
Blog post here.
There are a couple of short (a few seconds only) edits where I just zoned out thinking about something, but the big breaks are clearly labelled. Also, check out the clock at the bottom right corner!
I started this at about 14:00 and finished at about 01:30, so about eleven to twelve hours wall clock time. And yes, if I hadn’t been doing the recording I’d have given up and gone to bed. Also I, er, had to get up at 07:00 the next morning to go hiking.