Gordon Letwin, der später bei der Firma Microsoft der führende Entwickler und Chefarchitekt des Betriebssystems OS/2 war, entwickelte das Betriebssystem ab 1978. Ursprünglich wurde die Software für den Heathkit H8 implementiert, ist aber auch ohne Änderungen auf dem später erschienenen H89 lauffähig. Anfangs waren für HDOS lediglich einige wenige Systemprogramme wie ein Assembler verfügbar. Im Laufe der Zeit wurde von Fremdherstellern weitere Software entwickelt. Auch Spiele wie eine Implementierung von Space Invaders und der Pac-Man-KlonMunchkin wurden erstellt[1]. Außerdem wurden die ProgrammiersprachenBASIC, COBOL und FORTRAN für HDOS implementiert.
1983 kostete eine Lizenz von HDOS etwa 150US-$. Für einen Aufpreis von rund 200US-$ konnte der auf Papier ausgedruckte Quelltext erworben werden.[2]
HDOS war – im Gegensatz zu dem weitverbreiteten Betriebssystem CP/M – ab der Version 2.0 eines der ersten Betriebssysteme, das nachladbare Gerätetreiber verwendete, um einen gewissen Grad an Geräteunabhängigkeit und Erweiterbarkeit zu erreichen. Ein Gerätetreiber besteht aus einer Datei mit dem Namen XX.dvd, wobei XX für das spezifische Zeichenkürzel des jeweiligen Geräts steht. Mittels des SET-Kommandos kann ein Gerätetreiber in den Speicher geladen und über verschiedene Parameter konfiguriert werden.[2]
Mit seinem 8Bit breiten Datenbus kann der Z80-Prozessor des H89 insgesamt 64kB Speicher adressieren. In den unteren 8kB liegt das ROM, das die Routinen zum Booten und Teile der Verwaltungsroutinen für die Diskettenlaufwerke enthält. Der eigentliche RAM-Bereich beginnt bei der Adresse 2000hex. Zwischen dieser Adresse und der Adresse 27FFhex wird von HDOS ein Bereich für verschiedene Systemparameter und Systemtabellen sowie für den Programmstack reserviert. Bei der Adresse 2280hex beginnt der für Anwendungen nutzbare Bereich des Speichers, der bis zur Adresse D732hex reicht. Der Bereich ab der Adresse EB56hex ist vom Betriebssystem reserviert, wobei zwischen dieser Adresse und der Adresse EDAFhex ein Bereich für die zusätzlichen Gerätetreiber vorgehalten wird.
Der höchste Speicherblock zwischen EDB0hex und FFFFhex enthält den speicherresidenten Teil des Systems mit sämtlichen Systemroutinen wie für die Interruptbehandlung und die Gerätetreiber für die angeschlossenen Diskettenlaufwerke.[2]
Der Bereich zwischen D733hex und EB55hex ist ein sogenannter Overlaybereich. Hier legt das Betriebssystem Routinen ab, die nicht ständig benötigt und nur bei Bedarf in den Speicher geladen werden. Ist dieser Speicherbereich durch eine Anwendung belegt, die auf diese Routinen zugreift, wird er auf einer Diskette zwischengespeichert. Daraufhin werden die Systemroutinen in dem Bereich abgelegt und der Systemaufruf ausgeführt. Sobald der Systemaufruf beendet ist, werden die ausgelagerten Programmteile wieder von der Diskette zurück in den Speicher geladen.[2]
Zusammen mit HDOS wurden ein zeilenorientierter Texteditor, ein Assembler und die BASIC-Variante Extended Benton Harbor BASIC ausgeliefert. Der Assembler bot die – für diese Zeit ungewöhnliche – Möglichkeit, Teile des Quelltextes in getrennte Dateien auszulagern und bei Bedarf per Anweisung in den Quelltext zu inkludieren.[2]
Als offizielle Veröffentlichungen existieren die Versionen1.0 (veröffentlicht 1980), 1.5, 1.6, 2.0, 3.0 und 3.02. Die ersten vier Versionen wurden von Gordon Letwin geschrieben. WilliamG.Parrott, DavidT.Carroll, DaleL.Wilson und Richard Musgrave entwickelten die Version3.0 und nach dem Ausscheiden von Parrott, Carroll und Wilson erweiterte Richard Musgrave das System noch auf die letzte Version3.02. Am 19.Juli1989 wurde die Version2.0 von Jim Buszkiewicz, geschäftsführender Redakteur der Heathkit Users Group, als Public Domain herausgegeben.[3]