Difference between revisions of "CP/M"

From Computer History Wiki
Jump to: navigation, search
m (External links: +Gary Kildall and the 40th Anniversary of the Birth of the PC Operating System)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
CP/M was an early OS for microcomputers.  It was ported to several CPUs, the most popular ports were for the [[8080]] and the [[Z80]].
 
 
 
{{Infobox OS  
 
{{Infobox OS  
 
| name = CP/M
 
| name = CP/M
 
| creator = Gary Kildall at Digital Research, Inc.
 
| creator = Gary Kildall at Digital Research, Inc.
 +
| architecture = 8080, Z80, 8085, 8086, MC68000, Z8000
 
| current version = 3.1  
 
| current version = 3.1  
 
}}
 
}}
  
 +
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).
 +
 +
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==
  
CP/M was the inspiration to [[MS-DOS]].  It assigns letters for each drive, however it doesn't use directories.  CP/M was a portable operating system, that was popularized because it was cheap, and was not resource intesnsive, 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).
+
* [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]
  
Without doubt the 'killer' application that CP/M had was [[visicalc]].  Not to mention there was a port of [[Zork]] to the CP/M z80 platform.
+
[[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