What was the inspiration for TRSDOS?

written by Matthew Reed

Just about all computer software has taken inspiration from other software that has preceded it, and operating systems are no exception. For example, it is well known that MS-DOS was based on CP/M, with some ideas borrowed from TOPS-20. Windows has strong structural similarities to VMS (both were designed by Dave Cutler). CP/M was itself inspired by TOPS-10. UNIX was inspired by Multics. And the list goes on.

But what was the inspiration for TRSDOS, the disk operating system for the TRS-80? Randy Cook designed TRSDOS from scratch in 1978, but I think Datapoint DOS was his model. Datapoint DOS was the operating system for computers sold by Datapoint Corporation (originally CTC), such as the Datapoint 2200. Randy Cook had worked at Datapoint and it seems reasonable to assume that he was familiar with its concepts.

For example, here are three representative characteristics present in TRSDOS and all TRS-80 operating systems derived from it:

  1. At the TRSDOS command line, programs could be executed by typing the filename. Programs used an extension of /CMD, but typing the extension wasn’t required when running a program.
  2. A TRSDOS filename consisted of an eight character filename, delimited by a slash, followed by a three character extension, delimited by a colon, followed by a drive number. For example: FILENAME/EXT:0
  3. If a program or file wasn’t found on the first drive, TRSDOS would also search all other drives in the system.

Here are a few quotes from the “Datapoint Disk Operating System User’s Guide” dated February 1975 that mention all three points:

The system has no explicit RUN command since, to execute his program, the user simply mentions its name as the first file specification on the command line. This is the mechanism via which both commands and user programs alike are executed.

If an extension is not supplied in the first file specification, it will be assumed to be CMD.

Files are identified from the console by a NAME, EXTENSION, and LOGICAL DRIVE NUMBER. The NAME must start with a letter and may be followed by up to seven alphanumeric characters.

The EXTENSION must start with a letter and may be followed by up to two alphanumeric characters. It further defines the file, usually indicating the type of information contained therein.

The LOGICAL DRIVE NUMBER specifies which logical drive is to be used.

If the drive is not specified, the system searches all drives starting with zero. Note that each logical drive contains its own directory structure. Specifying the drive number enables one to keep programs of the same NAME and EXTENSION on more than one drive. In addition, specifying a logical drive allows the user to place files on any logical drive of his choice.

Also from the same manual, here are a few of the DATAPOINT DOS commands and TRSDOS equivalents:

DATAPOINT DOS command Description TRSDOS equivalent
AUTO Set auto execution AUTO
CAT Display disk directory DIR
CHAIN Start job procedure CHAIN in VTOS, DO in LDOS
COPY Copy file from one place to another COPY
CHANGE Change a file’s protection ATTRIB
FREE Free space display FREE
KILL Delete a file from the directory KILL
LIST List a text file to the screen LIST
MASSACRE KILL all non-system files on a disk Similar to PURGE (not an original command)
NAME Change the name of a file RENAME
SAPP Append two files making a third APPEND
BACKUP Program for making backups of DOS disks BACKUP
Categories: FAQ