86-DOS
![]() | |
![]() A sample 86-DOS session (simulated) | |
Developer | Seattle Computer Products / Tim Paterson |
---|---|
Written in | 8086 assembly language |
OS family | DOS |
Working state | Historic, unsupported |
Initial release | 1980 |
Latest release | 86-DOS 1.10 / July 1981 |
Marketing target | S-100-based micro-computers with 8086 processor |
Available in | English |
Package manager | N/A |
Platforms | x86 |
Kernel type | Monolithic kernel |
Influenced by | CP/M |
Default user interface | Command-line interface (COMMAND.COM) |
License | Proprietary |
Succeeded by | MS-DOS, IBM PC DOS |
86-DOS (known internally as QDOS,[1] for Quick and Dirty Operating System) is a discontinued operating system developed and marketed by Seattle Computer Products (SCP) for its Intel 8086-based computer kit.
86-DOS shared a few of its commands with other operating systems such as
History
Origins
86-DOS was created because sales of the
Using a CP/M-80 manual as reference,
By mid-1980 SCP advertised 86-DOS, priced at US$95 for owners of its US$1,290 8086-board and US$195 for others. It touted the software's ability to read Zilog Z80 source code from a CP/M disk and translate it to 8086 source code, and promised that only "minor hand correction and optimization" was needed to produce 8086 binaries.[7]
IBM interest
In October 1980,
Creation of PC DOS
Microsoft purchased a non-exclusive license for 86-DOS from Seattle Computer Products[9] in December 1980 for US$25,000.[citation needed] In May 1981, it hired Tim Paterson to port the system to the IBM PC,[3] which used the slower and less expensive Intel 8088 processor and had its own specific family of peripherals. IBM watched the developments daily,[3] submitting 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 US$50,000.
Intellectual property dispute
When Digital Research 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 came from Jerry Pournelle, who said that Kildall personally demonstrated to him that DOS contained CP/M code by entering a command in DOS that displayed Kildall's name,[12][nb 1] but Pournelle never 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;[13] 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.[14][15] After the 2004 book appeared, he sued the authors and publishers for defamation.[16] The court ruled in summary judgment that no defamation had occurred, as the book's claims were opinions based on research or were not provably false.[17]
Versions
QDOS 0.10 | 1980-07[3] | Roughly half completed version of the OS. FAT12 in MS-DOS/PC DOS. Possibly shipped already.[20]
|
---|---|---|
QDOS/86-DOS 0.11 | 1980-08 | Bug fix[3] shipment.[3] |
QDOS/86-DOS 0.2 | 1980-08 | EDLIN added. Renamed to 86-DOS by August 1980.[7]
|
86-DOS 0.3 | 15 November 1980 | First version licensed by SCP to Microsoft.[9] |
86-DOS 0.33 | 1980-12 | First version distributed by SCP to OEMs and Microsoft as 86-DOS.[3][9] |
86-DOS 0.34[21] | 29 December 1980[21] | Cleaned up release for SCP OEMs including Microsoft. |
86-DOS 0.42[21] | 25 February 1981[21] | At the indirect request of IBM (through Microsoft PC DOS 1.1 and higher no longer supported it.
|
86-DOS 0.56[21] | 23 March 1981[21] | Support for disk blocking/deblocking as requested since 1981-01-15.[10] |
86-DOS 0.60[21] | 27 March 1981[21] | The file DOSIO.ASM found in 86-DOS 1.00 mentions that it is the "I/O System for 86-DOS version 0.60 and later".[23]
|
86-DOS 0.74[21] | 15 April 1981[21] | Added device files. |
86-DOS 0.75[21] | 17 April 1981[21] | Bug fix. |
86-DOS 0.76[21] | 23 April 1981[21] | Bug fix. |
86-DOS 0.80[21] | 27 April 1981[21] | Added system calls. |
86-DOS 1.00[20][21] | 28 April 1981[21] | Modified system calls.[3][20][23][24] |
86-DOS 1.01[21] | 12 May 1981[21] | Bug fix. |
86-DOS 1.10[21] | 21 July 1981[21] | Purchased by Microsoft and renamed to MS-DOS on 27 July 1981,[10][20] therefore the last version with genuinely matching 86-DOS and MS-DOS version numbers. First version known to implement the 'hidden' attribute. |
86-DOS 1.14[20] | 1981-10/11 | According to Tim Paterson PC DOS 1.0 basically reflects 86-DOS 1.14,[20] other sources find a match of PC DOS 1.0 with MS-DOS/86-DOS 1.10 as of 21 July 1981 more likely.
|
Features
Commands
The following list of commands is supported by 86-DOS.[25]
Internal commands
- CLEAR
- COPY
- DIR
- ERASE
- RENAME
- TYPE
External commands
EDLIN
By 1982, when IBM asked Microsoft to release a version of DOS that was compatible with a
. EDLIN can still be used on contemporary machines, since there is an emulated DOS environment up to Windows 10 (32 bit).Supported disk formats
Seattle Computer Products' 86-DOS supported the FAT12 filesystem on a range of 8-inch and 5.25-inch floppy disk drives on S-100 floppy disk controller hardware manufactured by Cromemco, Tarbell Electronics and North Star Computers. The Western Digital FD1771-based Cromemco and Tarbell boards supported one-sided, single-density soft-sectored drives. A Tarbell double-density board utilizing the FD1791 was supported as well. Later, SCP offered advanced floppy disk controllers, like the Disk Master series.
86-DOS did not take advantage of a FAT ID byte[nb 2] or BIOS parameter block (BPB), as later DOS versions do, to distinguish between different media formats; instead different drive letters were hard-coded at time of compilation to be associated with different physical floppy drives, sides and densities. That meant, depending on its type, a disk had to be addressed under a certain drive letter to be recognized correctly. This concept was later emulated with more flexibility by DRIVER.SYS under DOS 3.x and later versions.
Two logical format variants of the 86-DOS 12-bit FAT format existed—the original format with 16-byte directory entries and the later format (since 86-DOS 0.42) with 32-byte directory entries. Only the second one is logically compatible with the FAT12 format known since the release of MS-DOS and PC DOS. MS-DOS still cannot mount such volumes, as in absence of a BPB it falls back to retrieve the FAT ID in the FAT entry for cluster 0 to choose among hard-coded disk geometry profiles. In all formats of a volume formatted under MS-DOS that would otherwise be supported by both systems and typically also in all other formats, this ID is located in the first byte of logical sector 1—that is, the volume's second sector with physical cylinder-head-sector (CHS) address 0/0/2 or logical block addressing (LBA) address 1—since MS-DOS assumes a single reserved sector, the boot sector. Under 86-DOS, the reserved sectors area is significantly larger (whole tracks), and therefore the prototypical FAT ID 0xFE
(and 0xFF
) is located elsewhere on disk, making it impossible for MS-DOS to retrieve it, and even if it would, the hard-coded disk profile associated with it would not take this larger reserved sectors region under 86-DOS into account.[nb 2]
CP/M 2 floppy media were readable through RDCPM.
86-DOS did not offer any specific support for fixed disks, but third-party solutions in form of hard disk controllers and corresponding I/O system extensions for 86-DOS were available from companies like Tallgrass Technologies, making hard disks accessible similar to superfloppies within the size limits of the FAT12 file system.
Size | 8 inch | 8 inch | 8 inch | 5.25 inch | 5.25 inch |
---|---|---|---|---|---|
Density | SD | DD | DD | SD | SD |
Modulation | FM | MFM |
MFM | FM | FM |
Formatted capacity (KB) | 250.25[23] | 616[23] | 1232[23] | 90[23] | 87.5[23] |
Cylinders (CHS) | 77 | 77 | 77 | 40 | 35 |
Physical sectors / track | 26 | 8 | 8 | 18 | 10 |
Number of heads | 1 | 1 | 2 | 1 | 1 |
Byte payload / physical sector | 128 | 1024 | 1024 | 128 | 256 |
Bytes / logical sector | 128 | 1024 | 1024 | 128 | 256 |
Logical sectors / cluster | 4 | 1 | 1 | 2 | 1 |
Reserved logical sectors | 52 (2 tracks) | 1 | 1 | 54 (3 tracks) | 30 (3 tracks) |
Number of FATs | 2 | 2 | 2 | 2 | 2 |
Root directory entries (á 32 bytes, 86-DOS 0.42 and higher only) |
64 (16 sectors) | 96 (3 sectors) | 128 (4 sectors) | 64 (16 sectors) | 64 (8 sectors) |
Root directory entries (á 16 bytes) |
64 | ? | ? | 64 | — |
Total logical sectors | 2002 | 616 | 1232 | 720 | 350 |
Logical sectors / FAT | 6? | ? | ? | ? | ? |
Hidden sectors | 0 | 0 | 0 | 0 | 0 |
Logical sector order | ? | ? | ? | ? | ? |
Sector mapping | sector+/ track+ | sector+/ track+ | sector+/ head+/ track+ | sector+/ track+ | sector+/ track+ |
First physical sector | 1 | 1 | 1 | 1 | 0 |
Sector index | Soft | Soft | Soft | Soft | Hard (10+1) |
Controller type | Cromemco/Tarbell FD1771 | Tarbell FD1791 | Tarbell FD1791 | Cromemco FD1771 | NorthStar |
FAT ID | No (FEh)[nb 2] | No (FEh)[nb 3] | No (FEh)[nb 3] | No (FEh)[nb 3] | No (FEh)[nb 3] |
BPB presence | No | No | No | No | No |
Various OEM versions of MS-DOS 1.2x and 2.x supported a number of similar 8-inch FAT12 floppy disk formats as well, although not identical to those supported by 86-DOS.[nb 2]
Disk formats supported by one of the last versions developed by Tim Paterson at Microsoft,
(March 1982) for the SCP Gazelle computer with SCP controller or Cromemco 16FDC controller (by default, this version only supported the MS-DOS-compatible variants of the 8.0 in formats with a single reserved sector but it could be built to provide two extra drive letters to read and write floppies in the previous SCP 86-DOS 8.0 in disk formats since 0.42 as well):Size | 8 inch | 8 inch | 8 inch | 8 inch | 8 inch | 5.25 inch | 5.25 inch | 5.25 inch |
---|---|---|---|---|---|---|---|---|
Density | SD | SD | DD | DD | DD | SD | DD | DD |
Modulation | FM | FM | MFM |
MFM | MFM | FM | MFM | MFM |
Formatted capacity (KB) | 250.25 (SCP) | 250.25 (MS) | 616 | 1232 (SCP) | 1232 (MS) | 90 | 160 | 320 |
Cylinders (CHS) | 77 | 77 | 77 | 77 | 77 | 40 | 40 | 40 |
Physical sectors / track[nb 4] | 26 | 26 | 8 | 8 | 8 | 18 | 8 | 8 |
Number of heads[nb 5] | 1 | 1 | 1 | 2 | 2 | 1 | 1 | 2 |
Byte payload / physical sector | 128 | 128 | 1024 | 1024 | 1024 | 128 | 512 | 512 |
Bytes / logical sector[nb 6] | 128 | 128 | 1024 | 1024 | 1024 | 128 | 512 | 512 |
Logical sectors / cluster[nb 7] | 4 | 4 | 1 | 1 | 1 | 2 | 1 | 2 |
Reserved logical sectors[nb 8] | 52 (2 tracks) | 1 | 1 | 1 | 1 | 54 (3 tracks) | 1 | 1 |
Number of FATs[nb 9] | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
Root directory entries (á 32 bytes)[nb 10] |
64 (16 sectors) | 68 (17 sectors) | 96 (3 sectors) | 128 (4 sectors) | 192 (6 sectors) | 64 (16 sectors) | 64 (4 sectors) | 112 (7 sectors) |
Total logical sectors[nb 11] | 2002 | 2002 | 616 | 1232 | 1232 | 720 | 320 | 640 |
Logical sectors / FAT[nb 12] | 6? | 6 | 1 | ? | 2 | 4 | 1 | 1 |
Hidden sectors[nb 13] | 0 | 0[nb 14] | 0 | 0 | 0 | 0 | 0 | 0 |
Total number of clusters | ? | 497 | ? | ? | 1227 | ? | 313 | 315 |
Logical sector order | ? | ? | ? | ? | ? | ? | ? | ? |
Sector mapping | sector+/ track+ | sector+/ track+ | sector+/ track+ | sector+/ head+/ track+ | sector+/ head+/ track+ | sector+/ track+ | sector+/ track+ | sector+/ head+/ track+ |
First physical sector | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Sector index | Soft | Soft | Soft | Soft | Soft | Soft | Soft | Soft |
Controller type | Cromemco / Tarbell FD1771 | Cromemco / Tarbell FD1771 | Tarbell FD1791 / FD1793 | Tarbell FD1791 / FD1793 | Tarbell FD1791 / FD1793 | Cromemco 4FDC FD1771 | SCP / Cromemco 16FDC | SCP / Cromemco 16FDC |
FAT ID[nb 2][nb 15] | FEh | FEh | FEh | FEh | FEh | FEh | FEh | FFh |
BPB Presence | No | No | No | No | No | No | No | No |
In 1984 Seattle Computer Products released an OEM version of
See also
- MIDAS
- MSX-DOS
Notes
- MS-DOS 1.25 in 1983: Paterson, Tim (2014-02-17). "The History of MSX-DOS". Jorito, Maggoo, John Hassink, MSX Resource Center. Retrieved 2014-05-31.
- ^ a b c d e 8.0" 250.25 KB images formatted under 86-DOS 1.00 sport a FAT ID of FEh, however, in contrast to MS-DOS/PC DOS, 86-DOS does not seem to use this to detect the disk format, as this information is hard-coded into disk profiles associated to certain drive letters at compile-time. MS-DOS would not be able to mount such volumes as (in absence of a BPB) it expects the FAT ID in logical sector 1, assuming only one reserved sector of 512 bytes (the boot sector in logical sector 0) instead of the 52 reserved sectors á 128 bytes used by 86-DOS here. This works for MS-DOS, because the system files are not part of the reserved area under MS-DOS, while under 86-DOS there are no system files and the ca. 6 KB large DOS kernel is located in the reserved area.
- ^ command under 86-DOS 1.00 COMMAND.COM seems to initialize a volume's FAT ID byte to FEh regardless of disk drive and format used.
CLEAR
- BPB, but this entry for the number of physical sectors per track corresponds with BPB offsetunder DOS 3.0 and higher.
0x0D
- BPB, but this entry for the number of heads corresponds with BPB offsetunder DOS 3.0 and higher.
0x0F
- BPB, but this entry for the bytes per logical sector corresponds with BPB offsetunder DOS 2.0 and higher.
0x00
- BPB, but this entry for the logical sectors per cluster (allocation units) corresponds with BPB offsetunder DOS 2.0 and higher.
0x02
- BPB, but this entry for the number of reserved logical sectors corresponds with BPB offsetunder DOS 2.0 and higher.
0x03
- BPB, but this entry for the number of FATs corresponds with BPB offsetunder DOS 2.0 and higher.
0x05
- BPB, but this entry for the number of root directory entries (á 32 bytes) corresponds with BPB offsetunder DOS 2.0 and higher.
0x06
- BPB, but this entry for the total number of logical sectors corresponds with BPB offsetunder DOS 2.0 and higher.
0x08
- BPB, but this entry for the number of logical sectors per FAT corresponds with BPB offsetunder DOS 2.0 and higher.
0x0B
- BPB, but this entry for the number of hidden sectors corresponds with BPB offsetunder DOS 3.0 and higher.
0x11
- ^ For unknown reasons, some Microsoft documents give a value of 3 for this entry, where 0 seems correct technically. SCP MS-DOS 1.25 implicitly assumes 0 as well.
- FAT ID corresponds with the media descriptor byte at BPB offsetunder DOS 2.0 and higher.
0x0A
References
- ^ Paterson, Tim (2018-08-05). "The Original DOS and the Old Days". YouTube. Mountain View, CA, United States: Vintage Computer Federation. Retrieved 2022-03-01.
- ^ OCLC 635600205. (xvii+1053 pages; 29 cm) (NB. This original edition contains flowcharts of the internal workings of the system. It was withdrawn by Microsoft before mass-distribution in 1986 because it contained many factual errors as well as some classified information which should not have been published. Few printed copies survived. It was replaced by a completely reworked edition in 1988. [1])
- ^ a b c d e f g h i j k l Hunter, David (March 1983). "The Roots of DOS: Tim Paterson". Softalk. Archived from the original on 2019-09-06. Retrieved 2013-08-18.
- ^ Byte Publications Inc.: 230. Retrieved 2013-10-19. (NB. The article often uses "MS-DOS" to refer to both 86-DOS and MS-DOS, but mentions QDOS and 86-DOS in a sidebar article, "A Short History of MS-DOS".)
- ^ Cringely, Robert X. (June 1996). "Part II". Triumph of the Nerds: The Rise of Accidental Empires. Season 1. PBS.
- PC Magazine: 43. Retrieved 2013-10-21.
- ^ (NB. The SCP advertisement already calls the product 86-DOS, but does not mention a specific version number. Version 0.3 is known to be called 86-DOS already, so the name change must have taken place either for version 0.2 or immediately afterwards in August 1980.)
- ISBN 0-07-135892-7.
- ^ Comes v. Microsoftcase as exhibit #1.)
- ^ Comes v. Microsoftcase as exhibit #2. The document also carries a typed date stamp as of 1981-07-22.)
- )
- ^ "this WEEK in TECH". The TWiT Netcast Network (Podcast). 2006-10-16. Archived from the original on 2013-04-18. Retrieved 2006-11-28.
- ISBN 0-316-27766-5.
- ISSN 0899-9341. Archived from the original(PDF) on 2012-05-31.
- Ziff-Davis Publishing Company. p. 24. Archivedfrom the original on 2021-12-03. Retrieved 2021-12-03.
- ^ "Programmer sues author over role in Microsoft history". USA Today. Associated Press. 2005-02-03. Retrieved 2006-11-28.
- Seattle Times. Seattle, Washington, USA. Case 2:05-cv-01719-TSZ Document 29. Archived from the original(PDF) on 2018-10-03. Retrieved 2014-12-21.
- ^ Paterson, Tim (2007-09-30). "Design of DOS". DosMan Drivel. Archived from the original on 2013-01-20. Retrieved 2011-07-04.
- ^ ISSN 0360-5280. Archived from the originalon 2015-10-31. Retrieved 2013-08-18. (NB. This source mentions the 1981-07-27 as the date of purchase.)
- ^ TeleVideo PC DOS 2.11.)
- ^ Seattle Computer Products (1981). "SCP 86-DOS 1.0 Addendum" (PDF). Archived (PDF) from the original on 2020-02-19. Retrieved 2013-04-02. (1+14+1 pages)
- ^ a b c d e f g A ZIP file containing most of the files from 86-DOS 0.75 (1981-04-17/1981-04-18) to 1.00/1.10 (1981-07-21)
- ^ 86-DOS 1.00 disk images for SIMH simulator
- Seattle Computer Products, Inc. 1980. Archived from the original(PDF) on 2019-07-14. Retrieved 2019-07-14. (59 pages)
- ^ MS-DOS 1.25 disk images for SIMH simulator
- TeleVideo PC DOS 2.11.)
- TeleVideo PC DOS 2.11.)
- ^ "Seattle Computer Products 8086 S-100 Bus Microcomputer - Picture of 8.0" DD/1S distribution floppy disks for SCP MS-DOS 2.0". 2009-11-22. Archived from the original on 2013-09-04. Retrieved 2014-05-06.
Further reading
- 86-DOS - Disk Operating System for the 8086 - Programmer's Manual (PDF). Version 0.3 (Preliminary ed.). Seattle, Washington, USA: Seattle Computer Products, Inc.1980. Retrieved 2024-10-13. (41 pages)
External links
- 86-DOS documentation from Paterson Technology
- Run SCP 86-DOS 1.0 in the Altair 8800 SIMH simulator by Howard M. Harte