Difference between revisions of "CP/M"

From Computer History Wiki
Jump to: navigation, search
m (Minior rewording, and a bit extra about CP/M vs. DOS)
m (External links: +Gary Kildall and the 40th Anniversary of the Birth of the PC Operating System)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
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 [[i8080|8080]], the [[i8085|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]].
 
 
 
{{Infobox OS  
 
{{Infobox OS  
 
| name = CP/M
 
| name = CP/M
Line 10: Line 6:
 
}}
 
}}
  
 +
CP/M was an early [[operating system]] for [[microcomputer]]s.  It was ported to several CPUs, the first and most common version for CP/M-80 which worked on the [[i8080|8080]], the [[i8085|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]].
  
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).
+
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.
 
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.
Line 69: Line 68:
  
 
XREF - cross reference lister
 
XREF - cross reference lister
 +
 +
==External links==
 +
 +
* [https://computerhistory.org/blog/gary-kildall-40th-anniversary-of-the-birth-of-the-pc-operating-system/ Gary Kildall and the 40th Anniversary of the Birth of the PC Operating System]
 +
 +
[[Category: Operating Systems]]

Latest revision as of 17:26, 6 April 2023


CP/M
Creator: Gary Kildall at Digital Research, Inc.
Architecture: 8080, Z80, 8085, 8086, MC68000, Z8000
This Version: 3.1


CP/M was an early operating system 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.

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.

commands

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

External links