A Gentle Introduction to Cp/m
Posted4 months agoActive4 months ago
eerielinux.wordpress.comTechstory
calmpositive
Debate
20/100
Cp/mRetro ComputingHistory of Technology
Key topics
Cp/m
Retro Computing
History of Technology
The article provides a gentle introduction to CP/M, sparking nostalgia and discussion among commenters about its history, impact, and relevance to modern computing.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
29m
Peak period
23
0-3h
Avg / period
5.3
Comment distribution42 data points
Loading chart...
Based on 42 loaded comments
Key moments
- 01Story posted
Sep 2, 2025 at 2:39 PM EDT
4 months ago
Step 01 - 02First comment
Sep 2, 2025 at 3:08 PM EDT
29m after posting
Step 02 - 03Peak activity
23 comments in 0-3h
Hottest window of the conversation
Step 03 - 04Latest activity
Sep 4, 2025 at 5:44 AM EDT
4 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45107249Type: storyLast synced: 11/20/2025, 12:47:39 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
https://spectrum.ieee.org/did-bill-gates-steal-the-heart-of-...
1. MBASIC. A nice time capsule of BASIC programming in that era, more serious and less quirky than Microsoft BASIC on other old emulated computers such as C64.
2. Wordstar. That has a bit of a learning curve, but it's frankly more bang for the (compute) buck than absolutely anything since. I came late to the CP/M party with an inexpensive (for the day) surplus Intertec Superbrain in 1984 or so, but I ended up using Wordstar for quite a while for document preparation. Of course getting it to output to a modern printer would need going deep under the hood. Most CP/M systems came with source code for the BIOS for a reason. I hacked mine to turn an obsolete LAN type interface on it (a Compustar M30) into a Centronics-compatible parallel printer port and wrote my own BIOS glue to drive it.
And the weird thing is... to this day... when I edit something in /etc, I always use vi instead of emacs. It just seems sick and wrong to edit config files with anything else.
https://benhoyt.com/writings/wordstar-diamond/
As I mentioned above I ran WordStar on multiple operating systems and I still have it running under an emulator under Windows.
If I recall correctly Microsoft had a converter/import filter which would allow MS Word '97 to open a WordStar text file but they dropped it in Office 2000 although it was still available in O2K as a supplemental add-on.
In the '80s and early '90s I had WordStar running on three operating systems: Tandy TRS-DOS, CP/M (on a Godbout CompuPro 8/16) and an IBM compatible (AST). I always preferred WordStar to WordPerfect probably because I learned it first. Also, WS just seemed more 'streamlined'— quicker to use after the 'WS diamond' became second nature.
A couple of anecdotes, I still own a WordStar T-shirt with 'WordStar' emblazoned in 2" high lettering across the front. It still exists only because it was the last one the WS rep had and it was too small so it ended up a souvenir rather than being worn.
I must stress my comments only apply to the original versions of WS (3 to 7) and not WordStar 2000 which was a first-class flop. WS 2000 was the quintessential example of where a company attempted to update a very successful product and it failed miserably.
MicroPro, WS's developers, tried to respond to complaints that WS was difficult to learn (it wasn't of course), so with WS 2000 they attempted to simplify everything and in the process broke the very thing that made WordStar famous and loved by users—its wonderfully ergonomic CTRL key commands! We users were mightily pissed off, moreover potential new users couldn't see any advantage over WordPerfect—especially so after WS-2000 got such bad reviews from the tech press. It's worth reading the Wiki on this (https://en.m.wikipedia.org/wiki/WordStar).
What's more, yours truly made that abundantly clear to MicroPro at the time, in fact I couldn't have taken my complaint to a higher authority! The local WS rep—the one who gave me the T-shirt—knew me well as I was instrumental in having WordStar installed in the establishment where I worked and we purchased lots of copies. That pulled strings and he got me an intro to the top.
Just after WordStar 2000 was released there was a large computer show in Sydney and it was important enough for Seymour Rubinstein, the founder of MicroPro International, to cross the Pacific to promote his new product. Being a valued customer the local rep introduced me to Rubinstein and he (SR) invited me up to his hotel room for a discussion. Accompanying me was an IT colleague (a WS user) from another organisation.
Only three of us joined Rubinstein in his hotel room, the local WS rep my colleague and I. I'll spare you the lengthy, detailed and quite civilized discussion but after leaving hotel room I recall feeling sorry for Rubinstein because our arguments essentially left him defenseless.
I doubt very much that Rubinstein ever received a more intense ear-bashing about WS-2000 at any time let alone during his promotional tour (my colleague was just as didactic as I was, we made a formidable team).
I must stress again the discussion was cordial and friendly and our approach was positive and constructive but from Rubinstein's reaction there was no doubt in our minds that he knew that we users had very good reason not to adopt WS-2000.
Edit: I thought I ought to mention NewStar a similar program to WS developed by ex MicroPro employees. In many ways it was a clone of the original WS but included more advanced features. At the time there was no local importer so I imported several dozen copies (at one point I even contemplated becoming the local agent but it was complicated, also it was more expensive than WS so there was little margin in it.)
The first computer I owned was a Commodore 128, about a year later. It came with a Z-80 and CP/M on disk. Unfortunately, I never really found anything useful to do with it that was better than what was available for the native 64 and 128 modes.
Along with advice for running under emulation and how to print from it, under the subheading Printing.
AFAIK, MBASIC should be fully forward-compatible with BASICA and GWBasic if you want to run that software on MS-DOS.
For some reason my 16 year old brain thought the Dec Rainbow was a cool machine so we bought one despite the awful shopping experience that DEC provided for non large enterprises.
It was a cool machine in that it could run both CP/M (what Paradox would run on) and MS-DOS because it had a z80 as well as some early x86 variant. The drives could also read both formats too.
In 1972 Gary Kildall was working as a professor at the Naval Postgraduate School in Monterey, California, when he received funds to create a new computer lab. He soon used a contact at Intel to get a series of Intellec development model microcomputers for the lab by successfully pitching them on creating a new high level programming language for their CPUs.
Working as a consultant, Kildall created the "Programming Language for Microcomputers" - PL/M - based on an ancestor of IBM's PL/I language for their mainframes. (The I in PL/I is actually the Roman numeral "one"). Initially Intel's chips weren't powerful enough to self host a real language, so he ended up writing PL/M on a PDP/10 using an emulator, then compiling programs which he'd transfer to the microcomputers via paper tape.
Within a year or so, Intel had upgraded his computer to an Intellec 8/80 based on the 8080 CPU, which was finally capable of compiling and running PL/M programs on the machine itself. The problem was the 8/80's RAM was extremely limited and he didn't have any useful storage system in which to keep the code as he was writing it.
So Kildall talked a local floppy drive startup into giving him one of their older test drives for his lab. But Gary was a software guy! After several failed attempts at creating a controller board for the drive, it sat on a shelf for a year and he kept using the PDP/10 to write and compile programs for the new CPU. He finally asked for help getting the controller to work from a friend of his in Seattle, who came down to lend his hardware expertise. After a few months, they finally got the drive and the computer working together.
In 1974, after adding basic drive commands to PL/M, Gary used the language to create a simple disk "operating system" so he could load and run programs straight from disk. And thus, "Control Program Monitor" - CP/M - was born.
He originally offered it to Intel since they already licensed PL/M, but they turned it down. One thing lead to another and in 1975 he put an ad in a magazine offering the OS for use with the new wave of Altair style microcomputers being sold to the public and it took off.
The rest is well known history. Within five years, CP/M was the main operating system used for microcomputers, and in 10 it was an also-ran to DOS.
It goes to show how having early access to new technology has always been an important part of the industry, and how "fast followers" can often come along and upset the innovator so they become a footnote to history.
I think the iPhone more directly killed Palm and Blackberry. Also PDAs to an extent too.
Sony Ericsson dominated the high end consumer phones. They supported Java games, Google Maps, could play MP3s, and so on and so forth. These feature phones weren’t nearly as advanced as the iPhone but this is pre-iPhone.
And BlackBerry dominated the business domain. With Palm and Windows CE taking some specific domains, eg where security was a greater concern.
The Motorola Razor (however it was spelt) was massive around your time of working at Nokia. Though granted that’s not high end.
There wasn’t really a bit smartphone market then. Largely because phone manufacturers were still figuring out how to make smart phones successful. Most businesses either went down the Blackberry route, or the PDA route. Nokia definitely dominated with Symbian handsets but that was such a small fraction of the overall high end and business devices in people’s hands that it’s hardly noteworthy.
At least that was the trends I saw in the UK. Maybe in parts of Europe Nokia had more popularity?
Edit, looking into this, it seems I’ve either been misremembering or lived in some kind of bubble.
Eg https://en.m.wikipedia.org/wiki/List_of_best-selling_mobile_...
My apologies for disagreeing with you.
CP/M was a super stripped-down clone of the basics of DEC's TOPS-10 mainframe OS, and many of the commands are directly comparable.
If MS-DOS hadn't happened, and if Gary Kildall had been a smarter businessman the world would have run on CP/M, and especially the PC compatible CP/M 86. DRI's products soon sprouted concurrency and multitasking while MS was still trying to work out how to manage memory, so Kildall's failure may well have set the entire industry back by between five and ten years.
DRI also had the GEM windowing OS - as seen on the Atari ST - which could have given PCs a graphical OS, possibly with multitasking features, long before Windows became a serious thing.
CP/M has a certain nostalgia, but it's so slow and limited that it's just not practical for any application today. I've never regretted giving/throwing away the majority of my CP/M hardware & software. To me, it just wasn't worth the space that it consumed.
https://retrocomputing.stackexchange.com/questions/32046/mp-...
On-topic answer: The CompuPro Interfacer III had 8 serial ports, so I would approach the problem by writing an emulator for it, and enumerating two of them, and modifying the MP/M XBIOS to support all the ports. Maybe start with the MITS 2SIO emulator as a baseline for the CompuPro emulator.
Back then I was an operator (now called admin) and at the time I thought these micros were "toys" since I was on a "real" computer.
Little did I know these little systems would kill the systems I worked with and end up pretty much running the world. I think the only place mainframes rule now are in very high Financial Transaction Systems.
FWIW, very glad to see the article published in Gemini, I have moved my site to Gemini a year ago.
In the early 90's we were in the midst of the Unix wars, where every Tom, Dick, and Harry was pumping out a random mini-computer running mostly kinda sorta portable Unix hoping something would stick, or at least provide service revenue.
CP/M filled that role, however briefly, in the late 70's, early 80's. While obviously not as portable across machine architectures as Unix was, the baseline 8080/Z80 machine was simple enough for folks to sketch out motherboards on a dining room table, and assemble machines from more and more available OEM parts. Anything to get a dart on the board and hopefully build a successful business model.
The robustness of this nascent machine market, empowered by the portability affordances of CP/M, enabled a generic software market that was hardware (though not necessarily architecture) agnostic. The world was moving so fast, it was important to have this kind of capability to help power through the chicken/egg problem of computers needing software needing computers.
However, at the same time, CP/M was too early. That's not quite fair, everything was early in that microcomputer space. But, like others, CP/M was a victim of its time, making early design decisions based on early computing where CPUs were glacially slow, and memory was staggeringly expensive.
This resulted in CP/M having to "hard code" a lot of fundamentals in its system. There simply wasn't the bandwidth or memory to do much abstraction. Flexibility breeds complexity and costs performance and memory, none of which the platforms of the time could really afford.
This made CP/M not just hard to use, but hard to evolve. As the machine world accelerated forward, it was not practical for CP/M to keep up.
Casually, at 10,000 feet, MS-DOS looks very similar to CP/M, both cosmetically at the command line, and internally. But both its file system and driver architecture was able to learn on the shortfalls of CP/M, and be more flexible and powerful, but at the same time, MS-DOS wasn't under the memory or disk space pressures of CP/M.
Then, the deathknell came with the PC showed up, and reset the baseline of what "every computer" would look and be spec'd like. That clobbered a lot of the early hardware vendors.
Oh, to be sure, for a short time, the x86 world was shaping up like the CP/M Z80 world. Different makers, with different hardware offerings, using MS-DOS much like CP/M was used.
But the PC platform as a de jour standard washed that away, and "PC Compatible" became the mantra, and those builders either had to jump on the "it runs Flight Simulator" bandwagon, or move aside.
CP/M, truly, today, has little charm. It's kind of awful. Launching CP/M on a 50Mhz Z80 connected to MBs of flash drives is not a good experience. Mainstream CP/M does not cope well with large volumes. It's really designed to work on a system with floppy disks and capacities in the 100s kilobytes, that are readily swapped out, not enormous spinning hard drives. And it doesn't even work well there. Don't forget to log in those new disks when you swap them out (^C as the command shell), or you will have disappointing results.
It's a artifact of its time. Decision made weren't bad decisions, they were just of the "how long should we make this buggy whip, and what kind of leather" decisions. Without CP/M, who knows where we'd be, what MS-DOS would have looked like, or anything. The PC and MS-DOS consolidating the PC architecture help revolutionize and propel the entire market. Rather than having a disparate array of incompatible hardware, operating systems, and software, the happenstance settling on the PC and MS-DOS as a lowest common denominator let the software and service folks innovate in that space without having to worry about, taking the time, or spending the money on what OS and platform to support.
Rising tide lifted all the boats, to the point of letting others in on the fringes.