CP/M-86 | |
Developer: | Digital Research, Inc. / Gary Kildall / Kathryn Strutynski |
Family: | CP/M |
Working State: | Historic |
Source Model: | Originally closed source, now open source |
Language: | English |
Supported Platforms: | Intel 8086 |
Kernel Type: | Monolithic kernel |
Ui: | Command-line interface |
License: | Originally proprietary, now BSD-like |
Preceded By: | (CP/M-80 2.2) |
Succeeded By: | Concurrent CP/M-86 3.0 |
CP/M-86 is a discontinued version of the CP/M operating system that Digital Research (DR) made for the Intel 8086 and Intel 8088. The system commands are the same as in CP/M-80. Executable files used the relocatable .CMD file format. Digital Research also produced a multi-user multitasking operating system compatible with CP/M-86, MP/M-86, which later evolved into Concurrent CP/M-86. When an emulator was added to provide PC DOS compatibility, the system was renamed Concurrent DOS, which later became Multiuser DOS, of which REAL/32 is the latest incarnation. The FlexOS, DOS Plus, and DR DOS families of operating systems started as derivations of Concurrent DOS as well.
Digital Research's CP/M-86 was originally announced to be released in November 1979, but was delayed repeatedly. When IBM contacted other companies to obtain components for the IBM PC, the as-yet unreleased CP/M-86 was its first choice for an operating system because CP/M had the most applications at the time. Negotiations between Digital Research and IBM quickly deteriorated over IBM's non-disclosure agreement and its insistence on a one-time fee rather than DRI's usual royalty licensing plan.After discussions with Microsoft, IBM decided to use 86-DOS (QDOS), a CP/M-like operating system that Microsoft bought from Seattle Computer Products renaming it MS-DOS. Microsoft adapted it for the PC and licensed it to IBM. It was sold by IBM under the name of PC DOS. After learning about the deal, Digital Research founder Gary Kildall threatened to sue IBM for infringing DRI's intellectual property, and IBM agreed to offer CP/M-86 as an alternative operating system on the PC to settle the claim. Most of the BIOS drivers for CP/M-86 for the IBM PC were written by Andy Johnson-Laird.
The IBM PC was announced on 12 August 1981, and the first machines began shipping in October the same year, ahead of schedule. CP/M-86 was one of three operating systems available from IBM, with PC DOS and UCSD p-System. Digital Research's adaptation of CP/M-86 for the IBM PC was released six months after PC DOS in spring 1982, and porting applications from CP/M-80 to either operating system was about equally difficult. In November 1981, Digital Research also released a version for the proprietary IBM Displaywriter.
On some dual-processor 8-bit/16-bit computers special versions of CP/M-86 could natively run CP/M-86 and CP/M-80 applications. A version for the DEC Rainbow was named CP/M-86/80, whereas the version for the was named CP/M 8-16 (see also: MP/M 8-16). The version of CP/M-86 for the 8085/8088-based Zenith Z-100 supported running programs for both processors as well.
When PC clones came about, Microsoft licensed MS-DOS to other companies as well. Experts found that the two operating systems were technically comparable, with CP/M-86 having better memory management but DOS being faster. BYTE speculated that Microsoft reserving multitasking for Xenix "appears to leave a big opening" for Concurrent CP/M-86.
On the IBM PC, however, at per copy for IBM's version, CP/M-86 sold poorly compared to the PC DOS; one survey found that 96.3% of IBM PCs were ordered with DOS, compared to 3.4% with CP/M-86 or Concurrent CP/M-86. In mid-1982 Lifeboat Associates, perhaps the largest CP/M software vendor, announced its support for DOS over CP/M-86 on the IBM PC. BYTE warned that IBM, Microsoft, and Lifeboat's support for DOS "poses a serious threat to" CP/M-86, and Jerry Pournelle stated in the magazine that "it is clear that Digital Research made some terrible mistakes in the marketing".
By early 1983 DRI began selling CP/M-86 1.1 to end users for . Advertisements called CP/M-86 a "terrific value", with "instant access to the largest collection of applications software in existence … hundreds of proven, professional software programs for every business and education need"; it also included Graphics System Extension (GSX), formerly . In May 1983 the company announced that it would offer DOS versions of all of its languages and utilities. It stated that "obviously, PC DOS has made great market penetration on the IBM PC; we have to admit that", but claimed that "the fact that CP/M-86 has not done as well as DRI had hoped has nothing to do with our decision". By early 1984 DRI gave free copies of Concurrent CP/M-86 to those who purchased two CP/M-86 applications as a limited time offer, and advertisements stated that the applications were self-booting disks, which did not require loading CP/M-86 first. In January 1984, DRI also announced Kanji CP/M-86, a Japanese version of CP/M-86, for nine Japanese companies including Mitsubishi Electric Corporation, Sanyo Electric Co. Ltd., Sord Computer Corp. In December 1984 Fujitsu announced a number of FM-16-based machines using Kanji CP/M-86.
CP/M-86 and DOS had very similar functionality, but were not compatible because the system calls for the same functions and program file formats were different, so two versions of the same software had to be produced and marketed to run under both operating systems. The command interface again had similar functionality but different syntax; where CP/M-86 (and CP/M) copied file SOURCE
to TARGET
with the command [[Peripheral Interchange Program|PIP]] TARGET=SOURCE
, DOS used COPY SOURCE TARGET
.
Initially MS-DOS and CP/M-86 also ran on computers not necessarily hardware-compatible with the IBM PC such as the Apricot and Sirius, the intention being that software would be independent of hardware by making standardised operating system calls to a version of the operating system custom tailored to the particular hardware. However, writers of software which required fast performance accessed the IBM PC hardware directly instead of going through the operating system, resulting in PC-specific software which performed better than other MS-DOS and CP/M-86 versions; for example, games would display fast by writing to video memory directly instead of suffering the delay of making a call to the operating system, which would then write to a hardware-dependent memory location. Non-PC-compatible computers were soon replaced by models with hardware which behaved identically to the PC's. A consequence of the universal adoption of detailed PC architecture was that no more than 640 kilobytes of memory were supported; early machines running MS-DOS and CP/M-86 did not suffer from this restriction, and some could make use of nearly one megabyte of RAM.
PC Magazine wrote that CP/M-86 "in several ways seems better fitted to the PC" than DOS; however, for those who did not plan to program in assembly language, because it cost six times more "CP/M seems a less compelling purchase". It stated that CP/M-86 was strong in areas where DOS was weak, and vice versa, and that the level of application support for each operating system would be most important, although CP/M-86's lack of a run-time version for applications was a weakness.
A given version of CP/M-86 has two version numbers. One applies to the whole system and is usually displayed at startup; the other applies to the BDOS kernel. Versions known to exist include:
OS | BDOS | Date | Notes | |
---|---|---|---|---|
2.2? | 1981? | |||
2.2? | November 1981 | |||
CP/M-86 Version 1.1 for IBM Displaywriter | 2.2 | November 1981 | ||
2.2a | 1981/1982 | |||
CompuView CP/M-86 | 2.x? | 1982 | 196 KB disk capacity, compatible with IBM PC hardware | |
IBM CP/M-86 for the IBM Personal Computer Version 1.0 | 2.2 | 1982-04-05 | Initial release for the IBM PC. 141 KB disk capacity (Initial date defaults to 1982-02-10.) | |
IBM CP/M-86 for the IBM Personal Computer Version 1.1 | 2.2 | March 1983 | Hard drive support was added. | |
CP/M-86 Plus Version 3.1 | 3.1 | October 1983 | Released for the Apricot PC. Based on the multitasking Concurrent CP/M-86 kernel, it could run up to four tasks at once. | |
Personal CP/M-86 Version 1.0 | 3.1 | November 1983 | Released for the Siemens PG685. | |
Personal CP/M-86 Version 3.1 | 3.3 | January 1985 | A version for the Apricot F-Series computers. This version gained the ability to use FAT formatted disks as used by DOS. | |
Personal CP/M-86 Version 2.0 | 4.1 | 1986 or later | Released for the Siemens PC16-20. This is the same BDOS used in DOS Plus 1.2. | |
Personal CP/M-86 Version 2.11 | 4.1 | 1986 or later | Released for the Siemens PG685. |
All known Personal CP/M-86 versions contain references to CP/M-86 Plus, suggesting that they are derived from the CP/M-86 Plus codebase.
A number of 16-bit CP/M-86 derivatives existed in the former East-bloc under the names SCP1700, CP/K, and K8918-OS. They were produced by the East-German VEB Robotron Dresden and Berlin.
Caldera permitted the redistribution and modification of all original Digital Research files, including source code, related to the CP/M family through Tim Olmstead's "The Unofficial CP/M Web site" since 1997. After Olmstead's death on 12 September 2001, the free distribution license was refreshed and expanded by Lineo, who had meanwhile become the owner of those Digital Research assets, on 19 October 2001.