• Please review our updated Terms and Rules here
  • Exhibitor application for VCF West 2022 is now open! If you are interested in exhibiting, please fill out the form here.
  • Here are the results of the VCF East 2022 Post Event Survey: Survey Results



Site Administrator
Staff member
Apr 27, 2003
San Jose, CA
[wiki="File:CPM_1a.jpg"]200px|thumb|right|A screenshot of CP/M[/wiki]
CP/M or Control Program for Microcomputers was an Operating System created by [wiki]Gary Kildall[/wiki]. CP/M was an early industry-standard [wiki]operating system[/wiki] which was common on many computers such as the [wiki]Sony SMC-70[/wiki] and the [wiki]Osborne 1[/wiki].
Most other operating systems in the early microcomputer market were tied to a particular manufacturer's systems. In many cases, the OS was developed and maintained by the system manufacturer. CP/M, though originally developed on the Intel [wiki]Intellec-8[/wiki] [wiki]development system[/wiki], was designed to be easily ported to other systems based on the [wiki]8080[/wiki] microprocessor through the use of a minimal software layer interfacing CP/M to the specific system. This layer is called the Basic Input/Output System, or [wiki]BIOS[/wiki], which implements a short list of functions to service the other components of CP/M.
As a result, CP/M was ported to multiple systems which then shared a common base for application software. This provided enough of a market advantage to CP/M systems that many manufacturers with competing OSes later ported CP/M to their own systems.
Though CP/M started on the 8080, and later [wiki]8085[/wiki] microprocessors, it was ported to a number of 8 and 16 bit processors, including the [wiki]6800[/wiki], [wiki]8086[/wiki], [wiki]Z-8000[/wiki], and [wiki]68000[/wiki]. As an 8080-compatible processor, the Z-80 was a popular choice of processor for CP/M systems as well, though the OS did not use any of the Z-80's enhancements over the 8080.
To run CP/M, a system required:
  • a compatible processor for the CP/M version.
  • RAM sufficient for the CP/M version, typically a minimum of 16-24K.
  • at least one floppy disk drive.
  • a boot mechanism, either hardware or software or both, capable of reading the CP/M system track of the disk, placing it in memory, then transferring control to CP/M.
  • a user terminal capable of receiving and transmitting 7 bit ASCII interfaced to the host system.
CP/M was inspired by the [wiki]DEC[/wiki] TOPS-10 operating system as well as IBM's CP/CMS OS, both of which were known to Gary Kildall.
CP/M consists of:
  • the BIOS, usually provided by the system manufacturer (though community-developed BIOSes were often available for systems that lacked official support for CP/M),
  • the Basic Disk Operating System, or [wiki]BDOS[/wiki], which provided standardized access to the disk-based file system,
  • the Console Command Processor, or [wiki]CCP[/wiki], which acted as the main user interface, or shell, included several utility functions, and acted as a loader for application programs,
  • standard system applications, including an assembler (ASM.COM), debugger (DDT.COM), and data transfer/copy program (PIP.COM). Many manufacturers included additional applications specific to their systems with their distribution of CP/M, notably a disk formatting program suited to their system hardware, among others.
CP/M remains one of the most-used operating systems among both hobbyists and professionals even decades after its demise as a current commercial operating system. Its continued professional use stems from installations in process control and other vertically integrated applications in the past which, for economic reasons, are still in use today (though these are diminishing over time.)
Its continued use by hobbyists stems from its relative simplicity, large base of application software, strong knowledge in the hobby community, and ease of implementation on both old and new systems.
Later operating systems were influenced by CP/M as well. Most notably [wiki="MS-DOS"]MS-DOS/PC-DOS[/wiki], which were based on [wiki]QDOS[/wiki] by [wiki]Seattle Computer Products[/wiki], developed by a former employee of [wiki]Digital Research, Incorporated[/wiki]. The original [wiki]IBM-PC[/wiki] was launched with a choice of operating system, either [wiki]CP/M-86[/wiki] or PC-DOS. PC-DOS was practically identical in features and software base to CP/M-86, but was substantially cheaper as well as being labelled as IBM software. These factors led to an early sales advantage for PC-DOS which continued to dominate the market for OSes in subsequent years in spite of changes to CP/M's pricing and features to attempt to regain market position.
[h="2"]Later Versions[/h]
Late versions of CP/M for the Intel x86 family included full MS-DOS compatibility in addition to features not offered in contemporary versions of MS-DOS. These versions bore the names [wiki]DOS Plus[/wiki] and [wiki]DR-DOS[/wiki].