Difference between revisions of "CP/M"
(Fixed a typo, added some more info) |
m (Added a tiny bit about the 8080/Z80/8085 versions - they're the same.) |
||
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 most popular ports were for the [[i8080]] 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. | ||
{{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, 8086, 68000 | + | | architecture = 8080, z80, 8085, 8086, 68000 |
| current version = 3.1 | | current version = 3.1 | ||
}} | }} |
Revision as of 15:30, 13 March 2013
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.
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.
CP/M | |
Creator: | Gary Kildall at Digital Research, Inc. |
---|---|
Architecture: | 8080, z80, 8085, 8086, 68000 |
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