▚ computopedia.com

Digital Research CP/M

CP/M, standing for "Control Program/Monitor", was a disk operating system developed by Digital Research for microcomputers using 8080, Z80, 8086, or 8088 processors, forming the foundation of early professional microcomputing through its modular architecture and broad software compatibility.

Digital Research cp-m, archival photo
Photo: Wolfgang Stief from Tittmoning, Germany, CC0, via Wikimedia Commons. source

CP/M’s architecture was built on a tripartite division: the Console Command Processor (CCP), the Basic Disk Operating System (BDOS), and the Basic Input/Output System (BIOS), a structure that allowed it to run across disparate hardware platforms by isolating machine-specific code in the BIOS4. This design enabled Digital Research to offer a "vanilla-flavored" version of CP/M that ran only on the Intel Microcomputer Development System (MDS), while third parties adapted the system to their own hardware by writing custom BIOS layers4. The utility SYSGEN, provided by Digital Research, assembled the bootstrap, CCP, BDOS, and BIOS into a bootable disk image, and was specifically designed for floppy disk systems4. Another utility, MOVCPM, adjusted memory addresses in the CCP and BDOS to accommodate different RAM configurations, a necessity on machines with non-standard memory layouts4.

Two primary branches emerged: CP/M-80 for 8-bit processors and CP/M-86 for 16-bit Intel 8086 and 8088 CPUs. CP/M-80 was originally designed for single-density 8-inch diskettes using the IBM 3740 format, and supported both 8-inch and 5¼-inch drives1. Versions 1.4 and 2.2 were documented, with differences primarily in the number of disk drives and storage capacities each could manage; only the first two digits in the version number indicated official Digital Research revisions1. CP/M-86 was positioned as an upward extension of the original system, targeting single-user, interactive applications such as program development, debugging, small business computing, and word processing5. It ran on specific systems like the Models 10 and 10/SP, allowing execution of all CP/M-86 software5.

The operating system shipped with seven manuals and a single-sided, single-density 8-inch diskette in IBM 3740 format, underscoring its orientation toward professional and developer users4. It included six built-in commands, with additional utilities loaded from disk12. CP/M-Plus, a later high-performance variant, added features such as a Help command, optional password protection, time and date stamping of files, and console redirection to or from disk files11. Its list price was $35011. Digital Research also provided development tools including MAC and RMAC (assemblers), LINK (linker), and SID (Symbolic Interactive Debugger), with ZSID as an enhanced version for the Z80411. DDT (Dynamic Debugging Tool) was available for lower-level debugging4.

Software compatibility was a cornerstone of CP/M’s success. It supported programming languages including FORTRAN, COBOL, BASIC, APL, PL/1, and Pascal9, and was described in period documentation as the "industry standard general purpose operating system for microcomputers"14. It ran on systems like the TRS-80 with as little as 186 to memory and one disk drive12, and was available for a range of hardware using 8080 or Z80 CPUs1. Eco-C required a Z80 CPU, CP/M, and 56K of free memory2. CP/M-Plus and other Digital Research tools were marketed to professional programmers developing commercial software5.

Despite its widespread adoption, CP/M was fundamentally a single-user, single-tasking system. CP/M-Plus retained this model, and multitasking capabilities were left to other Digital Research products like MP/M, a separate trademarked system1.

Legacy & Identity

CP/M is a registered trademark of Digital Research, also referred to as a trade name and registered trademark licensed from Digital Research Inc. U.S.A.11011121315. The names CP/M-Plus, MAC, RMAC, SID, and the DR logo are among its associated trademarks11. While versions such as CP/M 2 and CP/M 2.x are referenced in period sources, the documentation provides no detailed versioning schema beyond the significance of the first two digits89.

Digital Research cp-m, archival photo
Photo: Dan Century from Sea Bright, USA, CC BY-SA 2.0, via Wikimedia Commons. source

References

  1. OsborneCPMUserGuideSecondEdition 1982 ThomHogan (1982)
  2. 1984 08 BYTE 09-08 Modula-2 (1984)
  3. ATR8000 CP-M Supplement
  4. ProgrammersCpmHandbook AndyJohnson-Laird
  5. 014-000751-00 The Desktop Generation
  6. 1984 12 BYTE 09-13 Communications (1984)
  7. CPM R2.2 for the Epson QX-10 ERS 256K Version B2.26 Dec84
  8. 1981 04 BYTE 06-04 Future Computers (1981)
  9. 1982 01 BYTE 07-01 The IBM Personal Computer (1982)
  10. 1979 03 BYTE 04-03 Plain Text (1979)
  11. remark-issue43-1983 (1983)
  12. 1980 08 BYTE 05-08 The Forth Language (1980)
  13. BYTE Vol 04-08 1979-08 Lisp (1979)
  14. Kaypro Software Directory 1984 (1984)
  15. Archive item #198206
  16. profiles v2n1