CPM operating system

Last Updated on February 8, 2022 by Dave Farquhar

The CPM operating system (or CP/M operating system) was the first popular operating system for personal computers. Its rise and fall has been fairly well documented, if not well understood, and its author, Gary Kildall, is a tragic hero in the early history of computers.

Origins of the CPM operating system

CPM operating system
This is the CP/M operating system running on a Commodore 128. It’s no coincidence that it looks a lot like mid-1980s MS-DOS.

Gary Kildall was a computer scientist interested in experimenting with microprocessors and disk drives. He had a simple computer system based on an early Intel 8-bit CPU, and he had a disk drive, and he wrote himself a simple operating system so he could use them together. Kildall saw CP/M as a means to an end. Originally CP/M stood for Control Program and Monitor. Later Kildall changed it to Control Program for Microcomputers.

KIldall probably did more to help Intel realize what it had in the Intel 8008 than anyone else. Intel didn’t really want to be in the CPU business at first.

In the mid 1970s, a cottage industry sprung up around Intel’s 8080 CPU and its cousin, Zilog’s Z-80 CPU. Various companies produced motherboards and even entire computer systems based around one or the other of these chips. Gary Kildall founded a company, Intergalactic Digital Research, later shortened to Digital Research, to sell an operating system for these early computers.

CP/M 1.4 was the first commercially available version of CP/M. It supported 8-inch floppy disks. CP/M 2.2 followed, which supported the more convenient 5.25-inch floppy disk. CP/M 2.2 became the most popular and enduring version of CP/M. An ecosystem quickly sprung up around CP/M. Various long-gone companies you’ve probably heard of like Kaypro and Osborne, and others you probably haven’t like Vector Graphic, produced CP/M computers. Several classic business-oriented CP/M applications like Wordstar, Dbase II, and Supercalc appeared.

What the CPM operating system was like

If you’re familiar with MS-DOS, CP/M feels like a slightly primitive version of DOS. The user interface looks a lot like DOS. You address the disk drives via drive letters, starting with the letter A. Many of the commands are the same. Much like MS-DOS, CP/M was modular, so manufacturers could easily adapt it to slightly changed and upgraded hardware.

CP/M computers weren’t clones of each other the way we think of IBM clones. They used the same operating system, and CP/M was modular enough to take care of basic disk and screen I/O. But they didn’t necessarily use compatible disk formats, and if you got clever and addressed the hardware directly instead of going through the operating system, your program probably would only work on that computer. As long as you followed certain rules though, your program would probably run on all CP/M computers.

The fall of the CPM operating system

In 1978, Intel released a new 16-bit CPU called the 8086. It was similar to the 8080, Z-80, and 8085 CPUs that ran CP/M, but not directly compatible with them. Kildall was a multimillionaire by then and not in any great hurry to build a new version of CP/M that worked on the 8086.

Some revisionists jump on this and say Gary Kildall was lazy or foolish. But it helps to remember the industry at the time. Motorola released a 32-bit CPU just a year later, the Motorola 68000. Kildall was very interested in this chip as well, and Kildall was far from the only person in 1979 who thought the future belonged to that Motorola chip.

Enter IBM and the airplane legend

In 1980, IBM started a project to release the first IBM personal computer. IBM wanted to use a variant of Intel’s 8086 CPU so its computer would be more powerful than the computers on the market at the time. IBM also wanted CP/M, so the IBM PC would immediately have useful software available for it. That wasn’t technically possible. The interaction between IBM and Digital Research has become legendary.

The short version of the story is that IBM first approached Microsoft. Microsoft was a large reseller of CP/M, because Microsoft produced a plug-in card that would let CP/M run on Apple II computers. Yes, Microsoft sold hardware to run someone else’s operating system on Apple computers. But Microsoft wasn’t allowed to license it to IBM, and it wouldn’t work anyway. Microsoft referred IBM to Digital Research.

So IBM approached Digital Research, and the conditions IBM’s lawyers set made Digital Research uncomfortable. Legend has it that Gary Kildall was out flying his airplane when he could have been meeting with IBM. It’s rather clear that’s not what happened, but Kildall did have to meet with Hewlett-Packard the same day, and he was late for the meeting. There certainly was plenty of misunderstanding. Kildall thought he had a deal and IBM thought they didn’t have a deal.

The story that Gary Kildall blew off IBM and went for a joyride in his airplane while Bill Gates was more than happy to make time for IBM is, at best, a drastic oversimplification of what happened.

IBM turns to Microsoft

IBM returned to Microsoft and asked if they could produce an operating system for the IBM PC that would be like CP/M. So Microsoft licensed a product called 86-DOS from Seattle Computer Products, which was a close clone of CP/M designed for 8086 processors, and adapted it to work on the IBM PC. IBM called it PC DOS.

Whether the original version of PC DOS contained stolen code is controversial.

To avoid legal trouble, IBM also entered an agreement with Digital Research to resell CP/M-86, a new version of CP/M designed for the IBM PC. But IBM sold PC DOS for $40 and CP/M-86 for $240. There was no compelling reason to spend the extra $200.

You probably know the rest of the story, as far as Microsoft is concerned. Microsoft licensed DOS to IBM instead of selling it, which left it free to sell it, under the name MS-DOS, to companies like Compaq and Dell as well. The IBM PC grew successful. The clones grew successful. Sales of MS-DOS made Bill Gates and Paul Allen billionaires.

The CPM operating system after the IBM PC

The IBM PC was a raging success, but CP/M and other computers didn’t exactly die overnight. The companies that produced CP/M computers went on to produce 8086-based computers that ran DOS, and those who survived learned the hard way to try to make them IBM compatible. But companies like Kaypro and Osborne didn’t immediately abandon CP/M, rechristened as CP/M-80, either. Apple II owners continued to buy CP/M cards for their computers. Commodore produced a CP/M option for the Commodore 64, and included CP/M in the Commodore 128. The CPM operating system became a popular way to make orphan computers like the Coleco Adam and Apple III more useful, since the CP/M software library of commercial software totaled more than 6,000 titles by the early 1980s.

Once it was clear that CP/M-86 was going to be a dead end, Digital Research tried a few other things. They tried creating multi user and multitasking versions. When that didn’t work, they turned CP/M-86 into an outright clone of MS-DOS. Given that MS-DOS started out as a clone of CP/M-80, that wasn’t much of a stretch. Digital Research’s DR DOS gave MS-DOS a run for the money in the late 1980s.

In 1991, networking software maker Novell purchased Digital Research, hoping to compete with Microsoft directly with a revamped DR DOS. This proved unsuccessful, and Novell eventually sold the intellectual property to Linux vendor Caldera. Caldera released what remained of the original CP/M source code as open source in 1997.

Sadly, Gary Kildall died in 1994 at the age of 52. The story of his death also took a life of its own, much like the airplane story.

If you found this post informative or helpful, please share it!

2 thoughts on “CPM operating system

    • October 9, 2018 at 3:26 pm

      I did. They’d actually released the DOS 1.25 and DOS 2.0 code before, but putting it on Github was a more convenient way to distribute it.

Comments are closed.

%d bloggers like this: