The History of CP/M (1980)
retrotechnology.com
retrotechnology.com
Unlike CP/M 2.x, CP/M 3 allows for banked memory and disk data/directory buffers, resulting in a lot more usable memory for applications (Transient Program Area) and faster disk access. Although with an SD/CF card, the CPU is more the bottleneck than the disk I/O.
The project was both nostalgic and informative - trying to maintain performance while counting every byte of code has shed some great insights into low-level O/S design.
At least on HN, CP/M (and Gary Kildall) seem to be getting their due.
I think it may be time to try out RunCPM.
Sounds a lot like what MSX-DOS 2.xx does as compared to its predecessor.
FYI: both versions of MSX-DOS are partially CP/M compatible, such that a # of applications running on it are slightly- or unmodified CP/M programs. Not unimportant given how much quality CP/M software already existed in early '80s.
One oddity resulting from this: some OS calls read or write files in multiples of 128 byte 'records' (regular MSX-DOS calls do handle exact file sizes though). Just guessing: sector size of ancient 8" floppies, or something like that?
I'm guessing MSX-DOS uses the 128 byte records/blocks to make it easy to read foreign disks and to be able to create disks readable on other platforms?
Compare the tone and content to Gate's famous "An Open Letter to Hobbyists": https://en.wikipedia.org/wiki/An_Open_Letter_to_Hobbyists
Well played, Mr. Gates.
Of course Microsoft eventually supplied a clone of CP/M-86 to IBM, and the rest is history.
Episode 36 is specifically about CP/M, and there are several episodes that paint the history of the x86 architecture that we're still working on today. A real treat!
https://en.wikipedia.org/wiki/CP/M
LT;DR: It was a disk operating system before DOS.
A multi-user, multi-tasking, multi-threading[1], and multi-terminal real time OS, with a limited form of job control.
Not bad for 1979/1980 on an 8080 or Z80.
[1] when non bank-switched, or with constraints when bank switched.
"The core of ZCPR3 is an enhancement of your normal CP/M 2.2 operating system (ZCPR3 isn't for CP/M Plus)."
https://www.5dkd.kc85.info/index.php/magazines-mainmenu/morr...
(Cert isn't valid so you'll get a warning..)
> Kildall accepted, believing that IBM's new system (like its previous personal computers) would not be a significant commercial success.
[1] https://en.wikipedia.org/wiki/Gary_Kildall
Bill Gates/Microsoft was also DRI's nemesis, from supplying a CP/M-86 clone to IBM to trying to torpedo DR DOS (which nonetheless lasted into the 2000s.)
If we consider DOS to be a version of CP/M(-86), then it is still in use to this day (and it's probably running on your phone or PC you have any old games that use DOSbox) - a remarkably successful run for any OS.
Alas, a situation I am only too familiar with, even though computers and peripherals are so much cheaper these days. Also I love the way he phrased that.