86-DOS

Last updated

86-DOS
86-DOS logo.svg
86-DOS running assembler and HEX2BIN (screenshot).png
A sample 86-DOS session (simulated)
Developer Seattle Computer Products  / Tim Paterson
Written in 8086 assembly language
OS family DOS
Working stateHistoric, unsupported
Initial release1980;44 years ago (1980)
Latest release 86-DOS 1.10 / July 1981;42 years ago (1981-07)
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.

Contents

86-DOS shared a few of its commands with other operating systems like OS/8 and CP/M, which made it easy to port programs from the latter. Its application programming interface was very similar to that of CP/M. The system was licensed and then purchased by Microsoft and developed further as MS-DOS and PC DOS. [2]

History

Origins

86-DOS was created because sales of the Seattle Computer Products 8086 computer kit, demonstrated in June 1979 and shipped in November, [3] were languishing due to the absence of an operating system. The only software that SCP could sell with the board was Microsoft's Standalone Disk BASIC-86, which Microsoft had developed on a prototype of SCP's hardware. [3] SCP wanted to offer the 8086-version of CP/M that Digital Research had initially announced for November 1979, but it was delayed and its release date was uncertain. [4] This was not the first time Digital Research had lagged behind hardware developments; two years earlier it had been slow to adapt CP/M for new floppy disk formats and hard disk drives. In April 1980, SCP assigned 24-year-old Tim Paterson to develop a substitute for CP/M-86. [3]

Using a CP/M-80 manual as reference, [5] Paterson modeled 86-DOS after its architecture and interfaces, but adapted to meet the requirements of Intel's 8086 16-bit processor, for easy (and partially automated) source-level translatability of the many existing 8-bit CP/M programs; [4] porting them to either DOS or CP/M-86 was about equally difficult [6] and eased by the fact that Intel had already published a method that could be used to automatically translate software from the Intel 8080 processor, for which CP/M had been designed, to the new 8086 instruction set. [4] 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 become 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 drew on Microsoft Standalone Disk BASIC-86's File Allocation Table (FAT) file system. [2]

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, 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 that it needed CP/M in order to compete. IBM's representatives visited Digital Research and discussed licensing with Digital Research's licensing representative, Dorothy Kildall (née McEwen), who hesitated to sign IBM's non-disclosure agreement. Although the NDA was later accepted, Digital Research would not accept IBM's proposal of US$250,000 in exchange for as many copies as IBM could sell, insisting on the usual royalty-based plan. [8] 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.[ citation needed ]

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. [3] [10] [11] It met IBM's main criteria: it looked like CP/M, [2] 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 US$1 million settlement payment.

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.101980-07 [3] Roughly half completed version of the OS. [3] It implemented the original form of Paterson's derivation of Microsoft's FAT filesystem. In contrast to the earlier 8-bit FAT filesystem found in Standalone Disk BASIC-86, this variant already supported 12-bit table elements, [18] reduced the number of FATs from 3 [19] to 2, redefined the semantics of some of the reserved cluster values, and modified the disk layout, so that the root directory was now located between the FAT and the data area. Paterson also increased the previous 9-character length limit to 11 characters in order to support CP/M-style 8.3 filenames and File Control Blocks. This variant, however, still used 16-byte directory entries and therefore is not compatible with what became later known as FAT12 in MS-DOS/PC DOS. Possibly shipped already. [20]
QDOS/86-DOS 0.111980-08Bug fix [3] shipment. [3]
QDOS/86-DOS 0.21980-08 EDLIN added. Renamed to 86-DOS by August 1980. [7]
86-DOS 0.315 November 1980First version licensed by SCP to Microsoft. [9]
86-DOS 0.331980-12First 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 [10] ) size of directory entries changed from 16 to 32 bytes (similar to MDOS/MIDAS) in order to add support for a last-modified date stamp (2 bytes) and theoretical file sizes larger than 16 MB (4 bytes), [22] thereby implementing the earliest form of the 12-bit FAT file system logically fully compatible with what became known as FAT12 in MS-DOS/PC DOS later on. 86-DOS retained the capability to read volumes written under older versions of 86-DOS up to MS-DOS 1.14 at the least, whereas generic MS-DOS 1.20 / 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/11According 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

External commands

EDLIN

By 1982, when IBM asked Microsoft to release a version of DOS that was compatible with a hard disk drive, PC DOS 2.0 was an almost complete rewrite of DOS, so by March 1983, very little of 86-DOS 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 text-based user interface editor called MS-DOS Editor, based on QBasic. 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 inch8 inch 5.25 inch 5.25 inch
Density SD DD DDSDSD
Modulation FM MFM MFMFMFM
Formatted capacity (KB)250.25 [23] 616 [23] 1232 [23] 90 [23] 87.5 [23]
Cylinders (CHS)7777774035
Physical sectors / track26881810
Number of heads11211
Byte payload / physical sector12810241024128256
Bytes / logical sector12810241024128256
Logical sectors / cluster41121
Reserved logical sectors52 (2 tracks)1154 (3 tracks)30 (3 tracks)
Number of FATs22222
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| -->style="background: #EEE; font-size: smaller; vertical-align: middle; text-align: center; " class="unknown table-unknown"|??64
Total logical sectors20026161232720350
Logical sectors / FAT6?| -->style="background: #EEE; font-size: smaller; vertical-align: middle; text-align: center; " class="unknown table-unknown"|????
Hidden sectors00000
Logical sector order?| -->style="background: #EEE; font-size: smaller; vertical-align: middle; text-align: center; " class="unknown table-unknown"|????
Sector mappingsector+/ track+sector+/ track+sector+/ head+/ track+sector+/ track+sector+/ track+
First physical sector11110
Sector index Soft SoftSoftSoft Hard (10+1)
Controller typeCromemco/Tarbell FD1771 Tarbell FD1791 Tarbell FD1791 Cromemco FD1771 NorthStar
FAT ID No (FEh) [nb 2] | -->style="background:#FFC7C7;vertical-align:middle;text-align:center;" class="table-no"|No (FEh) [nb 3] No (FEh) [nb 3] No (FEh) [nb 3] No (FEh) [nb 3]
BPB presenceNo| -->style="background:#FFC7C7;vertical-align:middle;text-align:center;" class="table-no"|NoNoNoNo

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, MS-DOS 1.25 [21] [26] [27] [28] (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 inch8 inch8 inch8 inch 5.25  inch5.25 inch5.25 inch
Density SD SD DD DDDDSDDDDD
Modulation FM FM MFM MFMMFMFMMFMMFM
Formatted capacity (KB)250.25 (SCP)250.25 (MS)6161232 (SCP)1232 (MS)90160320
Cylinders (CHS)7777777777404040
Physical sectors / track [nb 4] 26268881888
Number of heads [nb 5] 11122112
Byte payload / physical sector128128102410241024128512512
Bytes / logical sector [nb 6] 128128102410241024128512512
Logical sectors / cluster [nb 7] 44111212
Reserved logical sectors [nb 8] 52 (2 tracks)111154 (3 tracks)11
Number of FATs [nb 9] 22222222
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] 2002200261612321232720320640
Logical sectors / FAT [nb 12] 6?61?2411
Hidden sectors [nb 13] 00 [nb 14] 000000
Total number of clusters?497| -->style="background: #EEE; font-size: smaller; vertical-align: middle; text-align: center; " class="unknown table-unknown"|??1227?313315
Logical sector order??| -->style="background: #EEE; font-size: smaller; vertical-align: middle; text-align: center; " class="unknown table-unknown"|??????
Sector mappingsector+/ track+sector+/ track+sector+/ track+sector+/ head+/ track+sector+/ head+/ track+sector+/ track+sector+/ track+sector+/ head+/ track+
First physical sector11111111
Sector index Soft SoftSoftSoftSoftSoftSoftSoft
Controller typeCromemco / Tarbell FD1771 Cromemco / Tarbell FD1771 Tarbell FD1791  / FD1793 Tarbell FD1791 / FD1793Tarbell FD1791 / FD1793 Cromemco 4FDC FD1771SCP / Cromemco 16FDCSCP / Cromemco 16FDC
FAT ID [nb 2] [nb 15] FEhFEhFEhFEhFEhFEhFEhFFh
BPB PresenceNoNo| -->style="background:#FFC7C7;vertical-align:middle;text-align:center;" class="table-no"|NoNoNoNoNoNo

In 1984 Seattle Computer Products released an OEM version of MS-DOS 2.0 for the SCP S-100 computer with SCP-500 Disk Master Floppy controller. It added support for 5.25 in DD/1S (180 KB) and DD/2S (360 KB) FAT12 formats and supported the older formats as well, although possibly with some of the parameters modified compared to MS-DOS 1.25. [29]

See also

Notes

  1. Somewhat ironically in the context of Jerry Pournelle's claim that Gary Kildall demonstrated to him a way to display Kildall's name in DOS, Tim Paterson claims to have hidden an easter egg, displaying his own name, in the FAT code of MSX-DOS 1, when he developed this Z80-based CP/M clone resembling 86-DOS/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.
  2. 1 2 3 4 5 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.
  3. 1 2 3 4 Executing the CLEAR 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.
  4. DOS 1.x does not support a BPB, but this entry for the number of physical sectors per track corresponds with BPB offset 0x0D under DOS 3.0 and higher.
  5. DOS 1.x does not support a BPB, but this entry for the number of heads corresponds with BPB offset 0x0F under DOS 3.0 and higher.
  6. DOS 1.x does not support a BPB, but this entry for the bytes per logical sector corresponds with BPB offset 0x00 under DOS 2.0 and higher.
  7. DOS 1.x does not support a BPB, but this entry for the logical sectors per cluster (allocation units) corresponds with BPB offset 0x02 under DOS 2.0 and higher.
  8. DOS 1.x does not support a BPB, but this entry for the number of reserved logical sectors corresponds with BPB offset 0x03 under DOS 2.0 and higher.
  9. DOS 1.x does not support a BPB, but this entry for the number of FATs corresponds with BPB offset 0x05 under DOS 2.0 and higher.
  10. DOS 1.x does not support a BPB, but this entry for the number of root directory entries (á 32 bytes) corresponds with BPB offset 0x06 under DOS 2.0 and higher.
  11. DOS 1.x does not support a BPB, but this entry for the total number of logical sectors corresponds with BPB offset 0x08 under DOS 2.0 and higher.
  12. DOS 1.x does not support a BPB, but this entry for the number of logical sectors per FAT corresponds with BPB offset 0x0B under DOS 2.0 and higher.
  13. DOS 1.x does not support a BPB, but this entry for the number of hidden sectors corresponds with BPB offset 0x11 under DOS 3.0 and higher.
  14. 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.
  15. DOS 1.x does not support a BPB, but this entry for the FAT ID corresponds with the media descriptor byte at BPB offset 0x0A under DOS 2.0 and higher.

Related Research Articles

<span class="mw-page-title-main">CP/M</span> Discontinued family of computer operating systems

CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/85-based microcomputers by Gary Kildall of Digital Research, Inc. CP/M is a disk operating system and its purpose is to organize files on a magnetic storage medium, and to load and run programs stored on a disk. Initially confined to single-tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations and were migrated to 16-bit processors.

File Allocation Table (FAT) is a file system developed for personal computers and was the default filesystem for MS-DOS and Windows 9x operating systems. Originally developed in 1977 for use on floppy disks, it was adapted for use on hard disks and other devices. The increase in disk drives capacity required three major variants: FAT12, FAT16 and FAT32. FAT was replaced with NTFS as the default file system on Microsoft operating systems starting with Windows XP. Nevertheless, FAT continues to be used on flash and other solid-state memory cards and modules, many portable and embedded devices because of its compatibility and ease of implementation.

<span class="mw-page-title-main">IBM PC DOS</span> Computer operating system

IBM PC DOS, an acronym for IBM Personal Computer Disk Operating System, is a discontinued disk operating system for the IBM Personal Computer, its successors, and IBM PC compatibles. It was manufactured and sold by IBM from the early 1980s into the 2000s. Developed by Microsoft, it was also sold by that company as MS-DOS. Both operating systems were identical or almost identical until 1993, when IBM began selling PC DOS 6.1 with new features. The collective shorthand for PC DOS and MS-DOS was DOS, which is also the generic term for disk operating system, and is shared with dozens of disk operating systems called DOS.

<span class="mw-page-title-main">CP/M-86</span> Discontinued computer operating system for x86 processors

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.

Tim Paterson is an American computer programmer, best known for creating 86-DOS, an operating system for the Intel 8086. This system emulated the application programming interface (API) of CP/M, which was created by Gary Kildall. 86-DOS later formed the basis of MS-DOS, the most widely used personal computer operating system in the 1980s.

<span class="mw-page-title-main">A20 line</span> Signal in the system bus of an x86-based computer system

The A20, or address line 20, is one of the electrical lines that make up the system bus of an x86-based computer system. The A20 line in particular is used to transmit the 21st bit on the address bus.

In computing, the BIOS parameter block, often shortened to BPB, is a data structure in the volume boot record (VBR) describing the physical layout of a data storage volume. On partitioned devices, such as hard disks, the BPB describes the volume partition, whereas, on unpartitioned devices, such as floppy disks, it describes the entire medium. A basic BPB can appear and be used on any partition, including floppy disks where its presence is often necessary; however, certain filesystems also make use of it in describing basic filesystem structures. Filesystems making use of a BIOS parameter block include FAT12, FAT16, FAT32, HPFS, and NTFS. Due to different types of fields and the amount of data they contain, the length of the BPB is different for FAT16, FAT32, and NTFS boot sectors. Combined with the 11-byte data structure at the very start of volume boot records immediately preceding the BPB or EBPB, this is also called FDC descriptor or extended FDC descriptor in ECMA-107 or ISO/IEC 9293.

<span class="mw-page-title-main">IBMBIO.COM</span> System file (DOS BIOS) in PC DOS and DR-DOS

IBMBIO.COM is a system file in many DOS operating systems. It contains the system initialization code and all built-in device drivers. It also loads the DOS kernel (IBMDOS.COM) and optional pre-loadable system components, displays boot menus, processes configuration files and launches the shell.

<span class="mw-page-title-main">Seattle Computer Products</span> 1970s–1980s American microcomputer hardware company

Seattle Computer Products (SCP) was a Tukwila, Washington, microcomputer hardware company which was one of the first manufacturers of computer systems based on the 16-bit Intel 8086 processor. Founded in 1978, SCP began shipping its first S-100 bus 8086 CPU boards to customers in November 1979, about 21 months before IBM introduced its Personal Computer which was based on the slower 8088 and introduced the 8-bit ISA bus. SCP shipped an operating system for that hardware about a year before the release of the PC, which was modified by Microsoft for the PC and renamed IBM PC DOS. SCP was staffed partly by high-school students from nearby communities who soldered and assembled the computers. Some of them would later work for Microsoft.

This article details versions of MS-DOS, IBM PC DOS, and at least partially compatible disk operating systems. It does not include the many other operating systems called "DOS" which are unrelated to IBM PC compatibles.

<span class="mw-page-title-main">Rainbow 100</span> DEC microcomputer

The Rainbow 100 is a microcomputer introduced by Digital Equipment Corporation (DEC) in 1982. This desktop unit had a monitor similar to the VT220 and a dual-CPU box with both 4 MHz Zilog Z80 and 4.81 MHz Intel 8088 CPUs. The Rainbow 100 was a triple-use machine: VT100 mode, 8-bit CP/M mode, and CP/M-86 or MS-DOS mode using the 8088. It ultimately failed to in the marketplace which became dominated by the simpler IBM PC and its clones which established the industry standard as compatibility with CP/M became less important than IBM PC compatibility. Writer David Ahl called it a disastrous foray into the personal computer market. The Rainbow was launched along with the similarly packaged DEC Professional and DECmate II which were also not successful. The failure of DEC to gain a significant foothold in the high-volume PC market would be the beginning of the end of the computer hardware industry in New England, as nearly all computer companies located there were focused on minicomputers for large organizations, from DEC to Data General, Wang, Prime, Computervision, Honeywell, and Symbolics Inc.

A source-to-source translator, source-to-source compiler, transcompiler, or transpiler is a type of translator that takes the source code of a program written in a programming language as its input and produces an equivalent source code in the same or a different programming language. A source-to-source translator converts between programming languages that operate at approximately the same level of abstraction, while a traditional compiler translates from a higher level programming language to a lower level programming language. For example, a source-to-source translator may perform a translation of a program from Python to JavaScript, while a traditional compiler translates from a language like C to assembly or Java to bytecode. An automatic parallelizing compiler will frequently take in a high level language program as an input and then transform the code and annotate it with parallel code annotations or language constructs.

MSX-DOS is a discontinued disk operating system developed by Microsoft's Japan subsidiary for the 8-bit home computer standard MSX, and is a cross between MS-DOS v1.25 and CP/M-80 v2.2.

A volume boot record (VBR) is a type of boot sector introduced by the IBM Personal Computer. It may be found on a partitioned data storage device, such as a hard disk, or an unpartitioned device, such as a floppy disk, and contains machine code for bootstrapping programs stored in other parts of the device. On non-partitioned storage devices, it is the first sector of the device. On partitioned devices, it is the first sector of an individual partition on the device, with the first sector of the entire device being a Master Boot Record (MBR) containing the partition table.

The partition type in a partition's entry in the partition table inside a master boot record (MBR) is a byte value intended to specify the file system the partition contains or to flag special access methods used to access these partitions.

format (command)

In computing, format, a command-line utility that carries out disk formatting. It is a component of various operating systems, including 86-DOS, MS-DOS, IBM PC DOS and OS/2, Microsoft Windows and ReactOS.

This article presents a timeline of events in the history of 16-bit x86 DOS-family disk operating systems from 1980 to present. Non-x86 operating systems named "DOS" are not part of the scope of this timeline.

<span class="mw-page-title-main">MS-DOS</span> Microsofts discontinued operating system

MS-DOS is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few operating systems attempting to be compatible with MS-DOS, are sometimes referred to as "DOS". MS-DOS was the main operating system for IBM PC compatibles during the 1980s, from which point it was gradually superseded by operating systems offering a graphical user interface (GUI), in various generations of the graphical Microsoft Windows operating system.

<span class="mw-page-title-main">DOS</span> Group of closely related IBM PC-compatible operating systems

DOS is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible systems from other manufacturers include DR-DOS (1988), ROM-DOS (1989), PTS-DOS (1993), and FreeDOS (1998). MS-DOS dominated the IBM PC compatible market between 1981 and 1995.

The FAT file system is a file system used on MS-DOS and Windows 9x family of operating systems. It continues to be used on mobile devices and embedded systems, and thus is a well suited file system for data exchange between computers and devices of almost any type and age from 1981 through the present.

References

  1. 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.
  2. 1 2 3 Allen, Paul; Gates, Bill; King, Adrian; Larson, Chris; Letwin, Gordon; O'Rear, Bob; Paterson, Tim; Peters, Chris; Phillips, Bruce; Reynolds, Aaron; Stillmaker, Betty; Zbikowski, Mark (1986). "Technical advisors". MS-DOS (Versions 1.0-3.2) Technical Reference Encyclopedia. By Bornstein, Howard; Bredehoeft, Lawrence; Duncan, Ray; Morris, Carol; Rose, David; Socha, John; Tomlin, Jim; Vian, Kathleen; Wolverton, Van. Beley, Jim; Preppernau, Barry; Beason, Pam; Lewis, Andrea; Rygmyr, David (eds.). Microsoft Reference Library. Vol. 1 (Original withdrawn ed.). Redmond, Washington, USA: Microsoft Press. ISBN   0-914845-69-1. LCCN   86-8640. 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. )
  3. 1 2 3 4 5 6 7 8 9 10 11 12 Hunter, David (March 1983). "The Roots of DOS: Tim Paterson". Softalk . Archived from the original on 2019-09-06. Retrieved 2013-08-18.
  4. 1 2 3 Paterson, Tim (June 1983). "An Inside Look at MS-DOS - The design decisions behind the popular operating system". Byte . 6. Byte Publications Inc. 8: 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".)
  5. Cringely, Robert X. (June 1996). "Part II". Triumph of the Nerds: The Rise of Accidental Empires. Season 1. PBS.
  6. Edlin, Jim (1982-06-07). "CP/M Arrives - IBM releases a tailed-for-the-PC version of CP/M-86 that profits from the learning curve". PC Magazine : 43. Retrieved 2013-10-21.
  7. 1 2 Seattle Computer Products (August 1980). "86-DOS - 8086 OPERATING SYSTEM - $95". Byte (Advertisement). Vol. 5, no. 8. BYTE Publications Inc. p. 173. ISSN   0360-5280. CODEN   BYTEDJ . Retrieved 2013-08-18. (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.)
  8. Freiberger, Paul; Swaine, Michael (2000) [1984]. Fire in the Valley: The Making of the Personal Computer (2nd ed.). New York: McGraw-Hill. pp.  332–333. ISBN   0-07-135892-7.
  9. 1 2 3 "86-DOS version 0.3 (1980-11-15) License Agreement between Seattle Computer Products and Microsoft" (PDF). 1981-01-06. Archived (PDF) from the original on 2020-02-18. Retrieved 2013-04-01. (NB. Published as part of the Comes v. Microsoft case as exhibit #1.)
  10. 1 2 3 4 "86-DOS Sales Agreement between Seattle Computer Products and Microsoft" (PDF). 1981-07-27. Archived (PDF) from the original on 2020-02-19. Retrieved 2013-04-01. (NB. Published as part of the Comes v. Microsoft case as exhibit #2. The document also carries a typed date stamp as of 1981-07-22.)
  11. Zbikowski, Mark; Allen, Paul; Ballmer, Steve; Borman, Reuben; Borman, Rob; Butler, John; Carroll, Chuck; Chamberlain, Mark; Chell, David; Colee, Mike; Courtney, Mike; Dryfoos, Mike; Duncan, Rachel; Eckhardt, Kurt; Evans, Eric; Farmer, Rick; Gates, Bill; Geary, Michael; Griffin, Bob; Hogarth, Doug; Johnson, James W.; Kermaani, Kaamel; King, Adrian; Koch, Reed; Landowski, James; Larson, Chris; Lennon, Thomas; Lipkie, Dan; McDonald, Marc; McKinney, Bruce; Martin, Pascal; Mathers, Estelle; Matthews, Bob; Melin, David; Mergentime, Charles; Nevin, Randy; Newell, Dan; Newell, Tani; Norris, David; O'Leary, Mike; O'Rear, Bob; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; Paterson, Tim; Perez, Gary; Peters, Chris; Petzold, Charles; Pollock, John; Reynolds, Aaron; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Short, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988). "Technical advisors". The MS-DOS Encyclopedia: versions 1.0 through 3.2. By Duncan, Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom; Kyle, Jim; Letwin, Gordon; Petzold, Charles; Rabinowitz, Chip; Tomlin, Jim; Wilton, Richard; Wolverton, Van; Wong, William; Woodcock, JoAnne (Completely reworked ed.). Redmond, Washington, USA: Microsoft Press. p. 20. ISBN   1-55615-049-0. LCCN   87-21452. OCLC   16581341. (xix+1570 pages; 26 cm) (NB. This edition was published in 1988 after extensive rework of the withdrawn 1986 first edition by a different team of authors. )
  12. "this WEEK in TECH". The TWiT Netcast Network (Podcast). 2006-10-16. Archived from the original on 2013-04-18. Retrieved 2006-11-28.
  13. Evans, Harold; Buckland, Gail; Lefer, David (2004). They Made America: From the Steam Engine to the Search Engine: Two Centuries of Innovators. Little, Brown and Co. ISBN   0-316-27766-5.
  14. Paterson, Tim (1994-10-03). "The Origins of DOS: DOS Creator Gives His View of Relationship Between CP/M, MS-DOS" (PDF). Microprocessor Report . MicroDesign Resources (MDR). 8 (13). ISSN   0899-9341. Archived from the original (PDF) on 2012-05-31.
  15. Paterson, Tim (1997-05-06). "DOS Testimony". Letters. PC Magazine . Vol. 16, no. 9. Ziff-Davis Publishing Company. p. 24. Archived from the original on 2021-12-03. Retrieved 2021-12-03.
  16. "Programmer sues author over role in Microsoft history". USA Today . Associated Press. 2005-02-03. Retrieved 2006-11-28.
  17. United States District Court for the Western District of Washington (2007-07-25) [2005-02-28]. "Paterson v. Little, Brown, and Co., et al. - Order" (PDF). 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.
  18. Paterson, Tim (2007-09-30). "Design of DOS". DosMan Drivel. Archived from the original on 2013-01-20. Retrieved 2011-07-04.
  19. Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Reading, Massachusetts: Addison Wesley. ISBN   0-201-63287-X. (xviii+856+vi pages, 3.5"-floppy) Errata:
  20. 1 2 3 4 5 6 Paterson, Tim (June 1983). "A Short History of MS-DOS". Byte (6 ed.). 8. ISSN   0360-5280. Archived from the original on 2015-10-31. Retrieved 2013-08-18. (NB. This source mentions the 1981-07-27 as the date of purchase.)
  21. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Paterson, Tim (2013-12-19) [1983]. "Microsoft DOS V1.1 and V2.0: /msdos/v11source/MSDOS.ASM". Computer History Museum, Microsoft . Retrieved 2014-03-25. (NB. While the publishers claim this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)
  22. 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)
  23. 1 2 3 4 5 6 7 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)
  24. 86-DOS 1.00 disk images for SIMH simulator
  25. 86-DOS - Disk Operating System for the 8086 - User's Manual (PDF). Version 0.3 (Preliminary ed.). Seattle, Washington, USA: Seattle Computer Products, Inc. 1980. Archived from the original (PDF) on 2019-07-14. Retrieved 2019-07-14. (59 pages)
  26. MS-DOS 1.25 disk images for SIMH simulator
  27. Shustek, Len (2014-03-24). "Microsoft MS-DOS early source code". Software Gems: The Computer History Museum Historical Source Code Series. Retrieved 2014-03-29. (NB. While the author claims this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)
  28. Levin, Roy (2014-03-25). "Microsoft makes source code for MS-DOS and Word for Windows available to public". Official Microsoft Blog. Archived from the original on 2014-03-28. Retrieved 2014-03-29. (NB. While the author claims this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)
  29. "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