Anyone like an open source CP/M?


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.

1 Like

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.

Discussion 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.