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 assembler as ASM86[13]
TRANS External [5] Originally written in September 1979[14] in Z80 assembler as TRANS86[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][15]

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.[16][17][18]

References[edit | edit source]

  1. 1.0 1.1 Hemmings, Bill (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. United States District Court for the Western District of Washington (18 January 2007). Paterson v. Little, Brown, and Co., et al. - Deposition Upon Oral Examination of Tim Paterson. PACER. Case 2:05-cv-01719-TSZ Document 14-2.
  15. Duncan, Ray (1988). The MS-DOS Encyclopedia. Microsoft Press. ISBN 1-55615-049-0.
  16. Necasek, Michal (13 September 2011). Who needs the address wraparound, anyway?. OS/2 Museum.
  17. Brown, Ralf (July 2000). Format of Program Segment Prefix (PSP). Delorie Software.
  18. Jurgens, David (1991). DOS Program Segment Prefix Layout. HelpPC Reference Library.