Lexikon's History of Computing
H DOS = "Heath Disk Operating System"
The following article is courtesy of Kirk L. Thompson, reprinted here with permission and minor editing.
Copyright (C) 1995 Kirk Thompson.
Background and Genesis of HDOS
HDOS was originally written for Heath Company's H-8 computer system when a 5-1/4 inch floppy disk subsystem was added as a peripheral to the model. HDOS was written in 1978 by J. Gordon Letwin.
Like many microcomputer systems of that period, the H-8 has read-only memory (ROM) at the bottom of addressable memory. However, instead of an interpreter for the BASIC language as was common on other systems such as Apple II and Radio Shack TRS-80, the H-8 locates input/output (I/O) ports and routines, some hard-coded utility routines, common functions, and scratch RAM in this area.
This ROM occupies 8K, hence HDOS can handle up to 56K of free RAM. It also runs without changes on Heath/Zenith's popular Z-89 and Z-90 microcomputers.
Description of HDOS 2.0
The operating system is organized into four modules. One of these is the command line interpreter, SYSCMD.SYS, that is loaded into memory as if it were an application program when an application is present.
The system itself, HDOS.SYS, resides in high memory and is composed of a core and two overlays. The overlays are swapped in and out of memory as needed, using the floppy disk as virtual memory. This core module manages memory, maintains disk directories, and contains the system's core functions. Servicing of peripherals is performed by PIP.ABS, a stand-alone utility program for copying and renaming files, displaying text files on screen, and listing diskette directories.
The fourth module in the system depends on the peripherals installed. One of the primary features that sets HDOS apart from microcomputer operating systems of similar vintage is its device independence. A peripheral is controlled by a device driver subprogram that is customized to the peripheral it controls. The boot disk device driver is automatically loaded and locked into memory during cold-boot. A list of other device drivers (for terminals) is maintained in a reference table by the system. When a device is named in a command, HDOS automatically loads the appropriate driver, the driver performs its function, and then the system unloads the driver to free the memory for other purposes.
HDOS was originally designed for a single-density/single-sided 5-1/4 inch floppy disk with 90K of available storage. As the system matured, double-density/double-sided eight-inch and double-density/double-sided 5-1/4 inch drives became available. Late systems had up to 595K available per 5-1/4 inch drive and a megabyte on eight-inch.
A legal file reference under HDOS could be: SY1:A1234567.txt
The drive name precedes the file name proper and is three characters long. The first two of those characters are "SY" to reference a file on the boot drive system or "DK" to reference a file on the secondary drive system if installed. The third character is a number from 0 to 3 designating which drive in the subsystem. The drive name is separated from the file name proper by a colon. The file name is one to eight characters long, composed of only alphanumerics, and begins with an alpha. The optional extension (or file type) is separated from the name by a period, is one to three characters long, and can be any alphanumeric. Executable programs always have the extension "ABS," such as FLAGS.ABS, a system utility.
For program development, the system provides a BASIC interpreter (written by Letwin and loaded just like an application program) and an Intel 8080 assembler. Heath/Zenith licensed Microsoft's BASIC interpreter and compiler, COBOL compiler, FORTRAN compiler, and macro assembler and these were customized to run under the HDOS system. Other third-party vendors and computer hobbyists themselves provided languages such as Pascal, C, and LISP, and the usual application software.
The last version of HDOS that Heath/Zenith developed was 2.0, released in 1980 and supplemented with new device drivers for 8-inch and 5-1/4 inch double-density diskettes two years later. Unsupported by this update was a 10 megabyte hard drive. However, Heath/Zenith promised support but contracted development to an external group composed principally of William G. Parrott III and David T. Carroll, assisted by Richard Musgrave.
By this time, all Heath/Zenith hardware that run HDOS (namely the H-8, Z-89, and Z-90) could also boot CP/M and therefore remap memory.
This remapping replaced the ROM at the bottom of memory with RAM to conform to CP/M's requirements. The remapping presented the opportunity to redesign HDOS and increase available memory for application software, yet maintain compatibility with almost all software written for HDOS 2.0. This new system called HDOS 3.0, was released into the public domain in August 1986. (Heath/Zenith had discontinued the H-8 in 1981 and the Z-89 and Z-90 in 1984, so there was no substantial market for the new system.)
This upgrade provided just over 6K more memory for applications because the system core, HDOS.SYS, was relocated to the bottom 8K of memory. Only various system tables and device drivers were placed at the top of memory. Over 750 copies of this new system were sold to those remaining hobbyists still running Heath/Zenith's 8-bit equipment.
In April 1988, at the request of Kirk L. Thompson, publisher of THE STAUNCH 8/89'er, a newsletter for the H-8 and Z-89/90, Heath released HDOS 2.0 into the public domain. This release included assembler source code, executable programs, and documentation. HDOS 3.0 was also enhanced further by Richard Musgrave as version 3.02. Thompson coordinated the melding of this upgrade with some 1,000 pages of documentation written by Daniel N. Jerome in 1990. The new manual was based on the old now-public-domain manual for HDOS 2.0, the minimum documentation that accompanied HDOS 3.0, and additional material provided by Musgrave.
Sources: Kirk L. Thompson, "HDOS Then and Now," THE COMPUTER JOURNAL #43; Heath Co., HEATH DISK OPERATING SYSTEM: SOFTWARE REFERENCE MANUAL (Heath Co., 1980).
Copyright © 1982-2000, Lexikon Services "History of Computing" ISBN 0-944601-78-2