Before Microsoft and Intel dominated the PC market with a common platform, the CP/M operating system did something similar for small business machines in the late 1970s and early 1980s—until MS-DOS pulled the rug out from under it. Here’s more about CP/M, and why it lost out to MS-DOS.
What Was CP/M, Anyway?
CP/M was a text-based operating system created by American programmer Gary Kildall of Digital Research in 1974. Its initials stood for “Control Program/Monitor” at first, but Digital Research changed it to the more friendly “Control Program for Microcomputers” later.
As the price of microcomputers dropped rapidly in the mid-late 1970s, CP/M, paired with the Z80 CPU, became a de-facto standard platform that was popular among small business computers in the late 1970s and early 1980s.
CP/M was a console-based operating system, which means that you interacted with it using a keyboard, typing in commands at a prompt. You performed file operations using simple commands such as “PIP” (for copying files) by typing
PIP A:=B:*.BAS and hitting Enter. (This would copy all of the BASIC files from drive “B:” over to drive “A:”.) To run a program, you’d type the program name and hit enter. When you were done, you’d either reboot the machine or exit back to the CP/M prompt.
One of CP/M’s key breakthroughs was in handling basic input and output tasks with the underlying hardware, leaving application software to interface mostly with the OS itself. This meant that CP/M applications were not necessarily tied to the particular hardware they ran on and could be more easily translated between PCs from different vendors.
Popular applications for CP/M included WordStar (a word processor), SuperCalc (a spreadsheet application), and dBase (for databases). Other programs, such as AutoCAD and Turbo Pascal, originated on CP/M, and later became more successful after being ported to MS-DOS later.
What Kind of Computers Ran CP/M?
Most computers running CP/M included an 8-bit Intel 8080 or a Zilog Z80 processor, although Digital Research later released a 16-bit version of CP/M for Intel 8086 machines called CP/M-86.
Almost all computers using the industry-standard S100 bus that used an 8080 or Z80 were capable of running CP/M. But a S100 bus wasn’t required. CP/M shipped as the default OS for hundreds of different computer models of all types and sizes. Popular CP/M computer vendors included Cromemco, Kaypro, Amstrad, Osborne, Vector Graphic, Televideo, Visual, and Zenith Data Systems.
Other computers—including some lower-priced home machines—featured CP/M capability as an add-on option, although it often required extra hardware to make it possible to run. In fact, way back in 1980, Microsoft’s very first hardware product was the Z80 SoftCard for the Apple II. Users could plug the card into their Apple II computer to give it a Z80 CPU that could run popular CP/M productivity applications.
In 1982, Microsoft Chairman Bill Gates claimed that SoftCard customers represented the largest single install base for CP/M machines. Interestingly, around that same time, a new operating system based on CP/M—Microsoft’s MS-DOS—was rapidly gaining market share.
MS-DOS Borrowed a Lot from CP/M
When IBM began developing its Personal Computer (the IBM PC 5150), the firm first tried to secure a license to CP/M, but Digital Research didn’t like the proposed terms of the deal. So IBM turned to Microsoft, which licensed a product called 86-DOS from Seattle Computer Products (SCP). Some months later, Microsoft purchased 86-DOS outright for $50,000.
86-DOS became IBM PC-DOS when it shipped with the IBM PC in August of 1981. Later, Microsoft would sell PC-DOS under its own label as Microsoft MS-DOS.
While developing 86-DOS, its creator, Tim Paterson, looked heavily to CP/M for inspiration, borrowing its general architecture and command-line nature. Here’s a list of some similarities between CP/M and MS-DOS:
- A command prompt
- Alphabetical drive letter names like “A:,” “B:,” and “C:.”
- The 8+3 file name format (for example, FILENAME.DOC)
- The wildcard character “*” and the matching character “?”
- Reserved filenames such as PRN: (for printer) and CON: (for console)
- “.COM” files for executable command files
- Commands such as DIR, REN, and TYPE
Gary Kildall was reportedly upset that PC-DOS mimicked CP/M so closely and complained to IBM. With the concept of software copyrights in its infancy, Digital Research declined to sue IBM, and instead made a deal where IBM would provide CP/M-86 as an option for its IBM PC machines. By then, PC-DOS was already shipping as the default OS for the IBM PC, and it cost far less than CP/M-86—about $40 instead of $240.
The missed opportunity by Kildall and Digital Research to initially license CP/M to IBM is often told as one of the great tragedies in computing history—supposedly, Kildall could have become a billionaire like Bill Gates if he had just signed the deal with IBM. This juicy story has been amplified by the press over the years. But when Kildall died in 1994, he wasn’t exactly a pauper: Novell purchased Kildall’s Digital Research for a reported $120 million in 1991, making Kildall wealthy in the process. Still, it bothered Kildall that Microsoft enriched itself by imitating his signature product.
Why Did MS-DOS Win over CP/M?
When setting up its operating system deal with IBM in 1981, Microsoft negotiated a license that allowed the company to not only license PC-DOS to IBM, but also to sell PC-DOS as a generic operating system (as “MS-DOS”) to vendors other than IBM.
Soon after the IBM PC’s release, companies such as Compaq and Eagle Computer began selling clones that could run IBM PC software. To provide a compatible operating system for these clone machines, they licensed MS-DOS from Microsoft. Within a few years, hundreds of IBM PC clones filled the PC market, and in 1986, MS-DOS-based PCs became the most popular personal computing platform in the U.S.
MS-DOS won out over CP/M because it hitched a ride with the IBM PC platform’s success. Microsoft fought hard to get MS-DOS on every PC shipped and to keep it that way, and the firm extended that practice into the Windows era.
What Happened to CP/M?
In 1988, Digital Research created a clone of MS-DOS called DR-DOS in an attempt to compete with Microsoft. It also sold a mouse-based graphical interface called GEM that initially sought to replicate the Macintosh experience, but later competed with Windows. While both products earned respect in the press, neither really took off. Some argued that this was due to anti-competitive tactics by Microsoft. After Novell purchased Digital Research in 1991, CP/M languished with little development as MS-DOS continued to dominate the market.
In 1996, Caldera bought the rights to Digital Research’s assets from Novell and continued to market DR-DOS. They also sued Microsoft for creating incompatibilities in MS-DOS to edge DR-DOS out of the market (which was later settled out of court).
In 1997, Caldera released parts of CP/M 2.2 as open-source software so that hobbyists could continue to work on it. Those copies are still available for free online. Today, you can run CP/M in a browser thanks to an 8080 emulator written by Stefan Tramm.
In some ways, CP/M is one of the great-grandfathers of Windows, so bits of its lineage are baked into the conventions of Windows, such as drive letters and reserved file names. In that way, CP/M never completely disappeared: Its soul lives on in the DNA of products that billions of people use every day.