50 years ago, CP/M started the microcomputer revolution

In 1974, Gary Kildall got the first version working and changed the world of operating systems

Late in the summer of 1974, CP/M first started running on hardware. It became one of the first cross-platform microcomputer OSes, and revolutionized the hardware and software industries.

You can now legally run the raw unbridled power of CP/M 2.2 anywhere you like

You can now legally run the raw unbridled power of CP/M 2.2 anywhere you like – click to enlarge

The ancient Control Program for Microcomputers, or CP/M for short, has been enjoying a modest renaissance in recent years. By 21st century standards, it's unimaginably tiny and simple. The whole OS fits into under 200 kB, and the resident bit of the kernel is only about 3 kB. Today, in the era of end-user OSes in the tens-of-gigabytes size range, this exerts a fascination to a certain kind of hobbyist. Back when it was new, though, this wasn't minimalist – it was all that early hardware could support.

The late great Dr Gary Kildall developed CP/M in his spare time from teaching at the Naval Postgraduate School in Monterey, California. On the side, he was moonlighting for a small five-year-old tech startup called Intel, which was working on its second microprocessor, the eight-bit 8008. First, Kildall wrote a small programming language for the 8008, which he called PL/M (Programming Language for Microprocessors) in playful reference to IBM's PL/I. Lacking working 8008 hardware yet, he prototyped this on a DEC PDP-10.

Then, in this high-level language, he built a simple OS, modelling some aspects on minicomputer and mainframe OSes that he was familiar with. For instance, many of CP/M's commands, such as PIP, are visibly inspired by DEC OSes such as RT-11.

Most DEC OSes, such as the PDP-10's TOPS-10, used multi-letter drive identifiers such as DLO: – but the NPS used mainframes with the IBM CP/CMS OS, which had single-letter "minidisk" identifiers. (This influence from DEC OSes is still visible in Windows today.)

Showing its vision, Intel bought the PL/M language, but declined the OS. In part payment, the company gave Kildall the Intellec/8 development system he had used, which loaded software from paper tape. In 1973, Kildall also did some coding work for pioneering floppy drive manufacturer Shugart Associates, founded by Seagate's Al Shugart. Kildall recalls:

Dave Scott, then marketing manager at Shugart Associates, donated one of their 10,000-hour test drives to the cause, complete with worn-out bearings and a bearing repair kit.

Kildall wrote a driver for this clapped-out eight-inch Memorex drive, but building a disk controller proved too much for him and he set it aside. The next year, he called a college friend, hardware boffin John Torode, who built a disk interface which Kildall described as a "beautiful rat's nest of wirewraps, boards, and cables." As Kildall reminisced:

We loaded the CP/M machine code through the paper tape reader into the Intellec-8 memory. To our amazement, the disk system went through its initialization and printed the CP/M prompt at the Teletype.

The same year, Kildall founded Intergalactic Digital Research – later, just Digital Research, Inc. (DRI) – to sell his invention. John Torode commercialized his work too. He designed an S-100 bus interface for the MITS Altair 8800, and his company, Digital Systems, was the first to license and resell CP/M.

Over the following few years, multiple floppy interfaces were built and sold for early 8080 and Z80 machines. CP/M was the de facto standard OS, partly thanks to how Kildall adapted the OS for one of his NPS students, IMSAI's Glenn Ewing:

I was somewhat reluctant to adapt CP/M to yet another controller, and thus the notion of a separated Basic I/O System (BIOS) evolved. In principle, the hardware-dependent portions of CP/M were concentrated in the BIOS, thus allowing Glenn, or anyone else, to adapt CP/M to the IMSAI equipment.

According to Kildall: "CP/M was an instant success. By 1980, DRI had sold millions of copies of CP/M to manufacturers and end-users." It ran on over 200 different machines, and cost $70 a copy. By 1982, DRI's revenues were $20 million a year.

However, the seeds of its downfall were already sprouting. In 1978, Intel launched the 8086, a more capable 16-bit microprocessor able to access a whole 1 MB of memory space. (This was largely a theoretical ability. At 1978 prices, that would be about $28,000, about $135,000 today.)

Digital Research was slow to offer a version of its industry-leading OS for the new hardware, although small companies were starting to offer hardware built around the newer chip. Frustrated by the delay, a small hardware company called Seattle Computer Products (SCP) used DRI's published list of CP/M API calls to write a stand-in called QDOS. A copy of version 0.1 was found earlier this year.

Microsoft licensed it from SCP, renamed it MS-DOS, and licensed it on to IBM, while retaining the rights to sell it on to other companies. The rest is history.

Fifty years later, CP/M is attracting fresh interest. In 2019, David Given assembled a modern FOSS re-implementation, called CP/Mish, which stitches together various existing FOSS replacement parts plus some new code. In 2022, CP/M's open source status was clarified. Now it's one of the OSes bundled with the ZX Spectrum Next.

You can run it on a variety of homebrew Z80 computers, which can be built from parts for a low enough price that it doesn't matter too much if your soldering iron slips – around £50 in British money or $50 stateside. (Other kits are available. Lots of them.)

In later years, DRI returned the favor by releasing the MS-DOS compatible DR-DOS, which was lauded by a Microsoft tester, and which Microsoft tried to sabotage. Alongside, CP/M eventually grew into a whole family of multi-user and real-time OSes, but it wasn't enough to save Digital Research. Novell acquired DRI in 1991.

In 1964, IBM's System 360 introduced the idea of different hardware models being compatible with one another's software. A decade later, CP/M introduced an OS that could run on multiple different makes and models of microcomputer, and run the same applications on all of them. It created an open market for commodity, packaged software that could be sold to businesses, or private individuals. Without CP/M, it's hard to see how the computer industry could have evolved as it did. We salute the brilliant Dr Gary Kildall, taken from us in July 1994. ®

Bootnote

There are several accounts of CP/M's history well worth reading. In particular, we recommend:

More about

TIP US OFF

Send us news


Other stories you might like