QDOS 0.10

QDOS 0.10
Version of 86-DOS
Replaced by
QDOS 0.11

QDOS 0.10 is the first beta[1] build of QDOS/86-DOS. It was in a roughly half-complete state when compiled.[2] An estimate of only 10 people have ever seen it,[1] and it was never shipped.[3]

Features[edit | edit source]

QDOS 0.10 was a preliminary release, including a very limited number of commands crammed into 6 KB of object code.[4]

Disk[edit | edit source]

QDOS 0.10 used a modified version of BASIC-86's FAT file system, chosen because of the small cluster sizes, speed, and error handling capabilities. The modifications included supporting 12-bit table elements (allowing for 64MB disks), reducing the number of FATs from 3 to 2,[5] and using 16-byte directory entries.[6] The filesystem was additionally adapted to allow for CP/M (8.3) filenames,[7] though a date field was not included as QDOS didn't support date stamps.[8]

QDOS also added file control blocks from CP/M as well.[9]

Commands[edit | edit source]

QDOS's commands were split into internal and external commands. External commands were .COM files in the root directory, while internal commands were not visible.[10]

Command Type Source Notes
DIR Internal [7]
RENAME Internal [7]


COPY Internal [11]
TYPE Internal [12] "It had all the basic utilities for assembly-language development except an editor"
ASM External [5] Originally written in Z80 as ASM-86[13]
TRANS External [5] Originally written in Z80 as TRANS-86[13]
HEX2BIN External [12] "It had all the basic utilities for assembly-language development except an editor"

While not counted as a command in the later version 0.3 manual, it should also be noted that QDOS had the ability to run executable files by inputting their filenames.[9][14]

Program Segment Prefix[edit | edit source]

QDOS 0.10 created the Program Segment Prefix (PSP), a 256-byte data structure used to store program states.[9] It takes clear inspiration from CP/M-80's Zero Page, using a similar far call entry and exit.[15][16][17]

References[edit | edit source]

  1. 1.0 1.1 bill_h (5 May 1999). Dos 1.1. comp.os.cpm.
  2. Hunter, David (March 1983). The Roots of DOS: Tim Paterson. Softalk for the IBM Personal Computer. p. 12-15.
  3. Paterson, Tim (4 August 2018). VCF West XIII -- Tim Paterson -- Original DOS and the old days. Vintage Computer Federation.
  4. Allen, Paul (2011). Idea Man. Penguin. p. 135. ISBN 1-59184-537-8.
  5. 5.0 5.1 5.2 Paterson, Tim (30 September 2007). Design of DOS. DosMan Drivel.
  6. Paterson, Tim (1981). 86-DOS 1.0 Addendum. bitsavers.
  7. 7.0 7.1 7.2 7.3 Paterson, Tim; Wharton, John (3 October 1994). From the Mailbox: The Origins of DOS. Microprocessor Report. p. 1-2.
  8. Brock, Rod; Allen, Paul (6 January 1981). 86-DOS License Agreement with Microsoft. Slated Antitrust Documents.
  9. 9.0 9.1 9.2 Bornstein, Howard (1986). MS-DOS (Versions 1.0-3.2) Technical Reference Encyclopedia. Microsoft Press. p. 8. ISBN 0-914845-69-1.
  10. Paterson, Tim (December 1980). 86-DOS Version 0.3 User Manual. Seattle Computer Products.
  11. Manes, Stephen; Andrews, Paul (1993). Gates: How Microsoft's Mogul Reinvented an Industry—and Made Himself the Richest Man in America. Doubleday. p. 280-281. ISBN 0-385-42075-7.
  12. 12.0 12.1 Paterson, Tim (June 1983). A Short History of MS-DOS. BYTE Magazine. p. 246.
  13. 13.0 13.1 Microsoft Macro Assembler (MASM) Unofficial Changelist. BytePointer.
  14. Duncan, Ray (1988). The MS-DOS Encyclopedia. Microsoft Press. ISBN 1-55615-049-0.
  15. Necasek, Michal (13 September 2011). Who needs the address wraparound, anyway?. OS/2 Museum.
  16. Brown, Ralf (July 2000). Format of Program Segment Prefix (PSP). Delorie Software.
  17. Jurgens, David (1991). DOS Program Segment Prefix Layout. HelpPC Reference Library.