Difference between revisions of "CP/M"

From Computer History Wiki
Jump to: navigation, search
m (Added a tiny bit about the 8080/Z80/8085 versions - they're the same.)
(Add CP/M-8000 and adjust wording a bit)
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 [[i8080]] and the [[Z80]].
+
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]].
  
It should be noted thought that the core of CP/M (everything but the machine-specific BIOS) of CP/M on 8085 and Z80 was the 8080 version, Digital Research did not see much point in building a version with instructions outside of the 8080 set (so no Z80-specific version).  The versions for 8086 and 68000 were of course true ports, known as CP/M-86 and CP/M-68k respectively.
+
Digital Research did not see much point in building a version with instructions outside of the 8080 set (so no 8085- or Z80-specific version).  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
 
| creator = Gary Kildall at Digital Research, Inc.
 
| creator = Gary Kildall at Digital Research, Inc.
| architecture = 8080, z80, 8085, 8086, 68000
+
| architecture = 8080, Z80, 8085, 8086, MC68000, Z8000
 
| current version = 3.1  
 
| current version = 3.1  
 
}}
 
}}
  
  
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 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.  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.

Revision as of 10:55, 18 March 2015

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 a version with instructions outside of the 8080 set (so no 8085- or Z80-specific version). 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
Creator: Gary Kildall at Digital Research, Inc.
Architecture: 8080, Z80, 8085, 8086, MC68000, Z8000
This Version: 3.1


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 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