From Computer History Wiki
Jump to: navigation, search

CP/M was an early OS for microcomputers. It was ported to several CPUs, the first and most common version for CP/M-80 which worked on the 8080, the 8085, and the Z80.

Digital Research did not see much point in building variants of CP/M-80 with instructions outside of the 8080 set, i.e. no 8085- or Z80-specific versions. The versions for 8086 and 68000 were of course true ports, known as CP/M-86 and CP/M-68k respectively. There was also CP/M-8000 for the Zilog Z8000.

Creator: Gary Kildall at Digital Research, Inc.
Architecture: 8080, Z80, 8085, 8086, MC68000, Z8000
Current Version: 3.1

CP/M was the inspiration to MS-DOS. It assigns letters for each drive, however it doesn't use directories (and the first version of (PC-)DOS didn't either). CP/M was a portable operating system that was popularized because it was cheap, and was not resource intensive, unlike Unix which had very restrictive licensing. CP/M was also seen as a popular choice of an OS on the S-100 type machines, although not all machines that ran CP/M had S-100 slots (The Commodore 128 would be a good example of such).

The key to CP/M's portability and success was its division into core applications, CCP (command processor), BDOS and BIOS parts - the BIOS provides functions to the BDOS, and BDOS provides functions to applications. To port CP/M to a new computer platform it's only necessary to write a hardware-specific BIOS with a small set of routines, and a boot loader. A reference BIOS listing which is useful as a starting point can be found in the Digital Research documentation. This relatively simple concept meant that CP/M was quickly ported to a wide range of hardware.

Without doubt the 'killer' application that CP/M had was SuperCalc a VisiCalc clone. Not to mention there was a port of Zork to the CP/M z80 platform.


The CCP provides a number of resident commands:

TYPE - list a file at the console

DIR - display the disk directory of files

ERA - erase a file or group of files

REN - rename a file

USER - move to a different user area

SAVE - save the contents of the TPA to disk for debugging

The remaining utilities take the form of transient programs which are loaded from disk when required:

ASM - assembler

LOAD - loader

DDT - Dynamic Debugging Tool

ED - line oriented editor

PIP - file copy program

STAT - disk status and statistics (free space, etc.)

DUMP - simple file hex dump

SUBMIT - batch command

XSUB - SUBMIT extension

Generally, at least two hardware dependent programs are supplied by the computer vendor:

FORMAT - Formats a blank disk

SYSGEN - Transfers the operating system between disks and memory

Digital Research, the authors of CP/M, also offer a number of upgraded utilities for CP/M:

MAC - macro assembler

RMAC - relocating macro assembler

LINK - linking loader (linkage editor)

LIB - relocatable module librarian

XREF - cross reference lister