QDOS 0.10

QDOS 0.10 was the first release of QDOS/86-DOS. It was in a roughly half-complete state when compiled.

Features
QDOS 0.10 was a preliminary release, including a very limited number of commands and being crammed into 6 KB of code.

Disk
QDOS 0.10 chose to use 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, and using 16-byte directory entries. The filesystem was additionally adapted to allow for CP/M (8.3) filenames.

Taking from CP/M, QDOS also added file control blocks.

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

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 the filename.

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

Development
Development of QDOS 0.10 began in April 1980 out of the growing need for an 8086 operating system, as CP/M-86 had been delayed since December 1979. It was ready for shipping in July, with the creator (Tim Paterson) spending about half of his time on the development, and shipped by Seattle Computer Products in August 1980. Though the operating system wasn't completely finished, Paterson figured a quick release was more important than adding all the features.

Though some parts of QDOS were written from scratch or by referencing the CP/M-80 manual, others were created in Z80 assembly and then translated using the TRANS command. This led to controversy as some recognized the source code patterns in QDOS and arguments about being a CP/M clone exist to this day.

Paterson later revealed he had mostly worked on hardware before QDOS, and that the idea came during his work on Seattle Computer products' 8086 board. He decided on aspects of the OS because of his experience with North Star and Cromemco's variants of DOS. He also took the inspiration for the filesystem from an unfinished 8-bit operating system called MIDAS or M-DOS, written by Marc McDonald.