A sample 86-DOS session (simulated). Note that the prompt is a colon rather than a '>' sign.
|Company / developer||Seattle Computer Products / Tim Paterson|
|Programmed in||8086-Assembly language|
|Source model||Closed source|
|Latest stable release||86-DOS v1.14 / July 1981|
|Available programming languages(s)||8086-Assembly language|
|Kernel type||Monolithic kernel|
|Default user interface||Command line interface|
86-DOS was an operating system developed and marketed by Seattle Computer Products for its Intel 8086-based computer kit. Initially known as QDOS (Quick and Dirty Operating System) the name was changed to 86-DOS once SCP started licensing the operating system.
86-DOS had a command structure and application programming interface that imitated that of Digital Research's CP/M operating system, which made it easy to port programs from the latter. The system was purchased by Microsoft and developed further as PC-DOS and MS-DOS.
86-DOS was created because sales of the Seattle Computer Products (SCP) 8086 computer kit, demonstrated in June 1979 and shipped in November, were languishing due to the absence of an operating system. The only software which SCP could sell with the board was the stand-alone Microsoft BASIC-86, which Microsoft had developed on a prototype of SCP's hardware. SCP wanted to offer the 8086 version of CP/M that Digital Research had announced, but its release date was uncertain. This was not the first time DRI had lagged behind hardware developments; two years earlier it had been slow to adapt CP/M for new floppy disk formats and hard disks. In April 1980 SCP assigned 24-year-old Tim Paterson to develop a substitute for CP/M-86.
Paterson designed 86-DOS with an API that was compatible with legacy CP/M programs. At the same time he made a number of changes and enhancements to address what he saw as CP/M's shortcomings. CP/M cached file system information in memory for speed, but this required a user to force an update to a disk before removing it; if the user forgot, the disk would be corrupt. Paterson took the safer but slower approach of updating the disk with each operation. CP/M's PIP command, which copied files, supported several special file names that referred to hardware devices such as printers and communication ports. Paterson built these names into the operating system as device files so that any program could use them. He gave his copying program the more intuitive name COPY. Rather than implementing CP/M's file system, he used BASIC-86's FAT filesystem to maintain compatibility with systems that SCP had already shipped.
In October 1980, IBM was developing what would become the original IBM Personal Computer. CP/M was by far the most popular operating system in use at the time, and IBM felt it needed CP/M in order to compete. IBM's representatives visited Digital Research and discused licensing with DRI's licensing representative, Dorothy McEwen Kildall, who hesitated to sign IBM's non-disclosure agreement. Although the NDA was later accepted, DRI would not accept IBM's proposal of $250,000 in exchange for as many copies as IBM could sell, insisting on the usual royalty-based plan. In later discussions between IBM and Bill Gates, Gates mentioned the existence of 86-DOS and IBM representative Jack Sams told him to get a license for it.
Microsoft purchased a nonexclusive license for 86-DOS from Seattle Computer Products in December 1980 for $25,000. In May 1981, it hired Tim Paterson to port the system to the IBM-PC, which used the slower and less expensive Intel 8088 processor and had its own specific family of peripherals. IBM watched the developments daily, submitted over 300 change requests before it accepted the product and wrote the user manual for it.
In July 1981, a month before the PC's release, Microsoft purchased all rights to 86-DOS from SCP for $50,000. It met IBM's main criteria: it looked like CP/M, and it was easy to adapt existing 8-bit CP/M programs to run under it, notably thanks to the TRANS command which would translate source files from 8080 to 8086 machine instructions. Microsoft licensed 86-DOS to IBM, and it became PC-DOS 1.0. This license also permitted Microsoft to sell DOS to other companies, which it did. The deal was spectacularly successful, and SCP later claimed in court that Microsoft had concealed its relationship with IBM in order to purchase the operating system cheaply. SCP ultimately received a 1 million dollar settlement payment.
When DRI founder Gary Kildall examined PC-DOS and found that it duplicated CP/M's programming interface, he wanted to sue IBM, which at the time claimed that PC-DOS was its own product. However, Digital Research's attorney did not believe that the relevant law was clear enough to sue. Nonetheless, Kildall confronted IBM and persuaded them to offer CP/M-86 with the PC in exchange for a release of liability.
Controversy has continued to surround the similarity between the two systems. Perhaps the most sensational claim comes from Jerry Pournelle, who claims that Kildall personally demonstrated to him that DOS contained CP/M code by entering a command in DOS that displayed Kildall's name; as of 2006 Pournelle has not revealed the command and nobody has come forward to corroborate his story. A 2004 book about Kildall says that he used such an encrypted message to demonstrate that other manufacturers had copied CP/M, but does not say that he found the message in DOS; instead Kildall's memoir (a source for the book) pointed to the well-known interface similarity. Paterson insists that the 86-DOS software was his original work, and has denied referring to or otherwise using CP/M code while writing it. After the 2004 book appeared, he sued the authors and publishers for defamation. The court ruled in summary judgement that no defamation had occurred, as the book's claims were opinions based on research or were not provably false.
By 1982, when IBM asked Microsoft to release a version of DOS that was compatible with a hard disk, PC-DOS 2.0 was an almost complete rewrite of DOS, so by March 1983, very little of QDOS remained. The most enduring element of 86-DOS was its primitive line editor, EDLIN, which remained the only editor supplied with Microsoft versions of DOS until the June 1991 release of MS-DOS 5.0, which included a TUI-based editor, MS-DOS Editor based on QBasic. EDLIN can still be used on contemporary machines, since it is bundled with the emulated DOS environment up to Windows 7.
|QDOS v0.1||July 1980||roughly half completed completed version of the OS.|
|QDOS v0.11||August 1980||Bug fix.|
|86-DOS v0.33||December 1980||First version distributed to OEMs and Microsoft.|
|86-DOS v0.60||The file DOSIO.ASM found in v1.00 mentions that it is the "I/O System for 86-DOS version 0.60 and later."|
|86-DOS v1.00||April 1981||Modified system calls.|
|86-DOS v1.14||July 1981||Renamed MS-DOS as of July 27th 1981.|
"We needed an operating system at Seattle Computer for our own computers and I wanted to do one. So we decided to go for it. I was waiting for Digital [Research] to come out with CP/M-86. I thought they would have it real soon. If they had beat me I wouldn't have taken the trouble. I had always wanted to write my own operating system. I've always hated CP/M and thought I could do it a lot better."
"IBM wanted CP/M prompts. It made me throw up."