CP/M-86

From Wikipedia, the free encyclopedia
(Redirected from CPM-86)
Jump to navigation Jump to search

Template:Short description Template:Use dmy dates Template:Use list-defined references Script error: No such module "Unsubst".Script error: No such module "Check for unknown parameters". 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.[nb 1] 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.

Script error: No such module "anchor".History

Digital Research's CP/M-86 was originally announced to be released in November 1979, but was delayed repeatedly.[1] 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.[2] 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.

File:Digital Research CP-M-86 for the IBM Personal Computer Version 1.0 720x400.png
Digital Research CP/M-86 for the IBM Personal Computer Version 1.0

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.[3] 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.[4] In November 1981, Digital Research also released a version for the proprietary IBM Displaywriter.[5][6]

Script error: No such module "anchor".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.[7] A version for the DEC Rainbow was named CP/M-86/80, whereas the version for the Template:Ill was named CP/M 8-16 (see also: MP/M 8-16).[8][9] 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.[10]

On the IBM PC, however, at Template:Currency per copy for IBM's version, CP/M-86 sold poorly compared to the Template:Currency 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.[11] 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.[12] BYTE warned that IBM, Microsoft, and Lifeboat's support for DOS "poses a serious threat to" CP/M-86,Template:R and Jerry Pournelle stated in the magazine that "it is clear that Digital Research made some terrible mistakes in the marketing".[13]

By early 1983 DRI began selling CP/M-86 1.1 to end users for Template:Currency.Template:R 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 Template:Currency.[14] The company began using distributors to sell CP/M-86 applications in retail stores.[15] In May 1983 DRI 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".[16] 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.[17] 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.[18][19][20] In December 1984 Fujitsu announced a number of FM-16-based machines using Kanji CP/M-86.[21][22]

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 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.

Reception

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.Template:R

Script error: No such module "anchor".Versions

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
CP/M-86 1.0 for AST[23] 2.2? 1981?
CP/M-86 1.0 for the Altos ACS 16000/8600[23] 2.2? November 1981[24]
CP/M-86 Version 1.1 for IBM Displaywriter 2.2 November 1981[5]
CP/M-86 1.0 for the Sirius 1/Victor 9000 2.2a 1981/1982
CompuView CP/M-86 2.x? 1982 196 KB disk capacity, compatible with IBM PC hardware[4]
IBM CP/M-86 for the IBM Personal Computer Version 1.0 2.2 1982-04-05[4] Initial release for the IBM PC. 141 KB disk capacity (Initial date defaults to 1982-02-10.)[4]
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.

Script error: No such module "anchor".A number of 16-bit CP/M-86 derivatives existed in the former East-bloc under the names SCP1700 (Template:Ill), CP/K, and K8918-OS.[25] They were produced by the East-German VEB Robotron Dresden and Template:Ill Berlin.[26][25]

Legacy

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.[27][28][29] After Olmstead's death on 12 September 2001,[30] 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.[31][32][33][34]

See also

Notes

Template:Reflist

References

Template:Reflist

Further reading

  • Script error: No such module "citation/CS1".

External links

Template:Digital Research Template:Disk operating systems


Cite error: <ref> tags exist for a group named "nb", but no corresponding <references group="nb"/> tag was found

  1. Cite error: Invalid <ref> tag; no text was provided for refs named Paterson_2007_Design-DOS
  2. Cite error: Invalid <ref> tag; no text was provided for refs named Freiberger_1984_Fire
  3. Cite error: Invalid <ref> tag; no text was provided for refs named williams198201
  4. a b c d Cite error: Invalid <ref> tag; no text was provided for refs named edlin19820607
  5. a b Cite error: Invalid <ref> tag; no text was provided for refs named Digital_Research_1981_News
  6. Cite error: Invalid <ref> tag; no text was provided for refs named libes198112
  7. Cite error: Invalid <ref> tag; no text was provided for refs named pournelle198403
  8. Cite error: Invalid <ref> tag; no text was provided for refs named Kildall_1982_8-bit
  9. Cite error: Invalid <ref> tag; no text was provided for refs named Compupro816
  10. Cite error: Invalid <ref> tag; no text was provided for refs named byte198207
  11. Cite error: Invalid <ref> tag; no text was provided for refs named pcommuniques198302
  12. Cite error: Invalid <ref> tag; no text was provided for refs named pc19820607
  13. Cite error: Invalid <ref> tag; no text was provided for refs named pournelle198309
  14. Cite error: Invalid <ref> tag; no text was provided for refs named byte198306
  15. Script error: No such module "citation/CS1".
  16. Cite error: Invalid <ref> tag; no text was provided for refs named hughes198307
  17. Cite error: Invalid <ref> tag; no text was provided for refs named 1984-02
  18. Cite error: Invalid <ref> tag; no text was provided for refs named CW_1984_News
  19. Cite error: Invalid <ref> tag; no text was provided for refs named CW_1984_Kanji
  20. Cite error: Invalid <ref> tag; no text was provided for refs named Philippi_1984_DRI
  21. Cite error: Invalid <ref> tag; no text was provided for refs named CW_1984_22
  22. Cite error: Invalid <ref> tag; no text was provided for refs named Hiroshi_2006
  23. a b Cite error: Invalid <ref> tag; no text was provided for refs named Strutynski_2006_Early
  24. Cite error: Invalid <ref> tag; no text was provided for refs named Garezt_1980
  25. a b Cite error: Invalid <ref> tag; no text was provided for refs named SCP_2019
  26. Cite error: Invalid <ref> tag; no text was provided for refs named Robotron_2019
  27. Cite error: Invalid <ref> tag; no text was provided for refs named Olmstead_1997_1
  28. Cite error: Invalid <ref> tag; no text was provided for refs named Olmstead_1997_2
  29. Cite error: Invalid <ref> tag; no text was provided for refs named Caldera_1997_CP/M
  30. Cite error: Invalid <ref> tag; no text was provided for refs named Olmstead_2001_Death
  31. Cite error: Invalid <ref> tag; no text was provided for refs named Sparks_2001_CP/M
  32. Cite error: Invalid <ref> tag; no text was provided for refs named Chaudry_2001_CP/M
  33. Cite error: Invalid <ref> tag; no text was provided for refs named Gasperson_2001_Collection
  34. Cite error: Invalid <ref> tag; no text was provided for refs named Swaine_2004_CP/M