A Short History of CP/M


History of CP/M
Architecture of CP/M

Using CP/M
Commands and the CCP
Programming with BDOS
The BIOS interface

The Z80 CPU
Architecture of the Z80
The Z80 instruction set

Software Tools
Installing an Emulator
Zip, ark, crunch, and urgh
Editors, Assemblers, Debuggers

Installing CP/M
Assembling a BIOS
Replacing the BDOS
Replacing the CCP

Memory Map
Data Structures

  The original CP/M is an operating system for 8-bit computers. It runs on either 8080 or Z80 processors in anything from 20k of RAM and can use a mixture of floppy and hard drives up to a maximum of 16 drives. It uses a simple command line interface that looks something like this:

Snapshot of a CP/M screen

The Start

In 1972 Gary Kildall was teaching computer science at the United States Naval Post Graduate School in Monterey when he saw an advertisment for Intel's first microprocessor, the 4-bit 4004, on a college bulletin board. Gary decided to buy one and started writing programs for it. Soon after he visited Intel and started working as a consultant for their (very small) microprocessor division. Working one day a week at Intel in his time off from teaching at college Gary wrote the first high-level language for a microprocessor, Intel's 8-bit 8008. He called the language PL/M (Programming Language for Microcomputers) which was a play on the name of IBM's PL/I language, and as part payment for his work Intel gave him an Intellec-8 development system for his own use.

This development system was gradually upgraded by Intel to run an 8080 processor, a paper tape reader, and a display monitor. In 1973 in return for more programming Gary received a floppy disk drive from Shugart and he asked a friend, John Torode, to build a controller for the drive that would attach it to his development system. Once it was working this floppy disk system was a huge improvement over paper tape and transformed the system into a real microcomputer, but it needed software to help make use of the disk. Gary sat down and used his PL/M language to write this software, the first operating system for microprossors, CP/M (Control Program for Microcomputers).

Going Commercial

Gary finished writing CP/M in 1974 and offered it to Intel for $20,000. Intel said they were not interested in a disk based operating system, although they did buy his PL/M language. After his discharge from the Navy in 1976 Gary started working full-time as a consultant and he and his wife, Dorothy McEwen, started a company that they called Intergalactic Digital Research (later shortened to Digital Reserach Inc, DRI) to sell the operating system.

As the market for microcomputers started to grow in the mid 1970's CP/M was in the right place at the right time. Many manufacturers started off producing their machines as kits for hobbyists, though some could be bought as ready assembled. None of the manufacturers wanted to write their software from scratch and either hired other people to do it or bought in ready made packages. CP/M was one of those packages.

In 1976 two of the largest manufacturers of kits, MITS and IMSAI, produced floppy disk systems to go with their machines. IMSAI bought a licence from DRI to install CP/M on all their floppy disk systems and suddenly CP/M hit the big time. Several other manufacturers wanted to install CP/M as well so Gary rewrote the system to make it easily portable to new hardware. He added a separate module that did all the primitive I/O operations, the Basic Input/Output System or BIOS, which could be rewritten for a new machine while the rest of the system remained intact. He also added an editor, assembler, debugger, and utilities to round out the software and make it a complete development system.


During the 1970s Digital Research produced two major versions of CP/M. The first version CP/M 1.4 was not widely used but the second version CP/M 2.2 became an industry standard. If you bought a machine in the 1970's that was built around the 8080 or Z80 CPU then the machine came with CP/M 2.2. Digital Research sold over quater of a million copies of the operating system and they ran on over 3000 different types of machine!

Because it was so widely used many many people wrote tools and utilities (as well as a few games, of course) for CP/M and all these programs could be run on any machine that ran the operating system. You could shop around, mix-n-match hardware and software, and know that it would all hang together with CP/M. A standard operating system running on non-standard machines made for a very large user base and very popular programs.


In 1982 Future Computing Inc said CP/M 2.2 is extremely important, and the Z80 chip will live forever because of it. However, during the 1980s the home computer market exploded, microcomputers evolved into PCs, and operating systems transformed with them. CP/M was displaced by larger, more complex systems, and now in the 1990s it is mainly used by hobbyists.

However there is still a remnant of CP/M left in the PC world: all the various flavours of DOS running on 80x86 machines are direct descendents of CP/M and this is the story of how it happened:

The task force at IBM that designed and developed the original PC was called Project Chess. By the middle of 1980 they were talking to Microsoft about the design of their new machine and its software, particularly the BASIC which Microsoft were going to provide. IBM also contacted Gary Kildall to ask about using CP/M-86, a new version of the operating system that Digital Research were developing to run on the Intel 8086 processor. For a variety of reasons Gary Kildall was not interested so IBM kept talking to Microsoft and by September that year they had formalized their plans to work together. Microsoft were going to provide both the BASIC, which they had done many times before for other companies, and the operating system, which they had never done before!

Now, earlier in the year Seattle Computer Products who produced an 8086 computer kit hired Tim Patterson to create an operating system to run on their machine. Digital Research were slow in producing CP/M-86 and SCP thought it was hurting sales of their computer, so Tim wrote a system with the look-and-feel of CP/M for the new machine and called it the Quick and Dirty OS, QDOS. SCP started shipping QDOS in August and they showed it to Microsoft in September when Microsoft modified the BASIC for the machine. So, there right under Microsoft's nose was an operating system just at the time when they needed one. In October Paul Allen from Microsoft contacted SCP and for just $50,000 bought the rights to sell QDOS, without telling SCP that it was for IBM.

Microsoft hired Tim Patterson and went on to convert QDOS to run on IBM's new machine. They even persuaded IBM to let them sell copies of the operating system separate from the PC. Thus were born PC-DOS, the IBM owned version, and MS-DOS, the Microsoft owned version. Eventually Digital Research produced CP/M-86 for IBM PC in 1982 and finally converted it to DR-DOS in 1988. Thus all the major variants of DOS - PC-DOS, MS-DOS, and DR-DOS - are all directly descended from CP/M.

Digital Research were bought by Novell in 1991, and then Novell sold the rights to the software to Caldera in 1997.

There have been many, many lawsuits surrounding the development of DOS and its associated products. I personally don't want to get involved in one, so if any part of this story is untrue then please just put it down to my lack of skill as a historian.

1-Aug-98 0:15:20

Placed in the public domain 1998. Mail any questions to cp-m@apexmail.com