CP/M-86 was a version of the CP/M operating system that Digital Research (DR) made for the Intel 8086 and Intel 8088. The commands are those of CP/M-80. Executable files used the relocatable .CMD file format (the same filename extension .CMD is used by Microsoft Windows for unrelated batch files). 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 to Concurrent DOS, which later became Multiuser DOS. The DOS Plus, FlexOS and DR DOS families of operating systems started as derivations of Concurrent DOS.
Contents |
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.[1] After discussions with the small company Microsoft, IBM decided to use 86-DOS (QDOS), a CP/M-like operating system that a Seattle area computer company had made for its own hardware. Microsoft bought 86-DOS, adapted it for computers using the Intel 8086 and 8088 processors, and called it MS-DOS; IBM sold it for the IBM PC as 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. CP/M-86 was released a few months after the PC and was one of three operating systems available for purchase from IBM, PC DOS, CP/M-86 and UCSD Pascal. At US$240 per copy it sold poorly compared to the $40 PC DOS. Kildall later accused IBM of setting the prices to marginalize DR, but according to Microsoft, IBM, and other DRI executives Kildall had demanded a substantial royalty for CP/M-86 while Microsoft had accepted a fixed sum. Customers rapidly adopted the PC platform with PC DOS as the new industry standard, and opportunities for DRI to license CP/M-86 to other customers dwindled.
CP/M-86 and MS-DOS had very similar functionality, but were not compatible as the system calls for the same function 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 PIP TARGET=SOURCE
, MS-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 made direct calls to the IBM PC hardware 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.
A given version of CP/M-86 will have 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 |
---|---|---|---|
CP/M-86 for the IBM Personal Computer Version 1.0 | 2.2 | January 1982 | Initial release for the IBM PC. |
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 MS-DOS formatted disks. |
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. |
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.