Boot Screen of Model 4 TRSDOS 6
|Source model||Closed source|
|Initial release||Model I in 1977|
|Latest release||Model 4 Version 6.2 / 1984|
|Platforms||Zilog Z80-based TRS-80s|
|Default user interface||Command-line interface|
TRSDOS (which stood for the Tandy Radio Shack Disk Operating System) is the operating system for the Tandy TRS-80 line of 8-bit Zilog Z80 microcomputers that were sold through Radio Shack through the late 1970s and early 1980s. Tandy's manuals recommended that it be pronounced triss-doss. TRSDOS should not be confused with Tandy DOS, a version of MS-DOS licensed from Microsoft for Tandy's x86 line of personal computers (PCs).
With the original TRS-80 Model I of 1977, TRSDOS was primarily a way of extending the MBASIC (BASIC in ROM) with additional I/O (input/output) commands that worked with disk files rather than the cassette tapes that were used by non-disk Model I systems. Later disk-equipped Model III computers used a completely different version of TRSDOS by Radio Shack which culminated in 1981 with TRSDOS Version 1.3. From 1983 disk-equipped TRS-80 Model 4 computers used TRSDOS Version 6, which was a development of Model III LDOS by Logical Systems, Inc. This last was updated in 1987 and released as LS-DOS 6.3.
Completely unrelated was a version of TRSDOS by Radio Shack for its TRS-80 Model II professional computer from 1979, also based on the Z80 and equipped with 8 inch disk drives. The later machines in this line, the Models 12, 16 and 6000, used the Z80 as an alternate CPU to its main Motorola 68000 chip and could run this version of TRSDOS for backwards compatibility with older Z80 applications software.
Model I TRSDOS supports up to four floppy (mini-diskette) drives which use 5¼-inch diskettes with a capacity of 89KB each (later 160KB formatted in double-density sectors). All versions of TRSDOS for the Models 4 and II support double-density, double sided floppy diskettes formatted with up to 80 tracks per side, including 3.5 inch microfloppy drives available from 1985. The drives are numbered 0 through 3 and the system diskettes (which contain the TRSDOS code and utilities) have to be present in drive 0 at all times. This is because TRSDOS uses overlays to satisfy most system requests and the disk directories are not maintained in memory.
Tandy Corporation's TRS-80 microcomputer did not have a disk drive or disk operating system at release. The first version of TRSDOS, by Randy Cook, was so buggy that others wrote alternatives, including NewDOS and LDOS. After disputes with Cook over ownership of the source code, Tandy hired Logical Systems, LDOS's developer, to continue TRSDOS development. TRSDOS 6, shipped with the TRS-80 Model 4 in 1983, is identical to LDOS 6.00.
- May 8, 1979 – Radio Shack releases TRSDOS 2.3
- May 1, 1981 – Radio Shack releases Model III TRSDOS 1.3
- April 26, 1983 – Radio Shack introduces TRSDOS Version 6.0 with the new Model 4s
- 1984 – Radio Shack releases Version 6.2, the definitive version for the Model 4
- 1984 – Logical Systems publishes The Source, the commented assembler source code to TRSDOS 6.2
- Late 1986 – Logical Systems releases LS-DOS 6.3, the functionally equivalent update to TRSDOS 6.2. From this date, Tandy/Radio Shack ships it with the Model 4D.
Some typical TRSDOS utilities:
|Command||DOS, OS/2, Windows||Unix, Unix-like|
|APPEND||type file1 >> file2||cat file >> file2|
|AUTO||AUTOEXEC.BAT||~/.profile or ~/.login or /etc/rc*|
|BACKUP||diskcopy||tar, cpio, pax, (many others)|
|CLOCK||prompt $t *||in some shells: PS1="...\t..." *|
|LOAD program||(no equivalent)||(no equivalent)|
|type file >> prn||lpr|
|RENAME||ren or rename||mv|
- Since TRSDOS does not have the notion of redirection for disk files as UNIX/Linux and MS-DOS do, the APPEND command is somewhat different in concept than the UNIX or MS-DOS notion of appending via output redirection. TRSDOS/LS-DOS 6.x do provide I/O redirection for system devices (keyboard *KI, display screen *DO, printer *PR, serial port *CL), as well as for between devices and disk files. The DEVICE command displays a map of I/O links and routes.
- The MEMORY command shows the names and sizes of memory resident modules. It is also used to modify system flag bytes. For example, flag A is the DOS Allocation byte, which the BACKUP command uses to specify the beginning cylinder of a disk to start copying files. This gives the user control over the physical placement of files on disks, which is important to minimize movement of the drive's read/write head during file access.
- The CLOCK command displays a real-time clock in the upper corner of the display, almost like a DOS TSR (Terminate and Stay Resident); no exactly corresponding feature exists in MS-DOS or UNIX, though many programs provided similar features for DOS and the common UNIX shells could embed the time into their user-defined "prompt string".
- Program invocation under TRSDOS, DOS and UNIX is done by filename; no explicit LOAD command is required for normal binary executables nor for text command files (batch files in DOS and shell scripts in UNIX/Linux). The LOAD command under TRSDOS would load a binary program into memory, but would not execute it; neither DOS nor UNIX has an equivalent.
- Under DOS and UNIX printing a file can be done with redirection; under UNIX it is normally done by spooling the file to the "line printer" (using the lpr command) because UNIX is conventionally a multi-user system. TRSDOS/LS-DOS 6.x print jobs can be redirected (such as to a disk file) by applying the LINK or ROUTE commands to the system *PR device.
- TRSDOS/LS-DOS 6.3 can dump the video screen to the line printer by pressing ⇧ Shift+:.
- ATTRIB, PROT, and the chmod UNIX command are all somewhat different in their semantics. UNIX/Linux is multi-user and each user can control read, write, and execute permissions on his or her own files and directories. MS-DOS is single user and the file attributes for "read-only," "hidden," and "system" are advisory in nature. TRSDOS was single user.
- The AUTO command sets an automatic command to be executed on TRSDOS boot; under MS-DOS the special, reserved file named AUTOEXEC.BAT contained a list of such commands. TRSDOS/LS-DOS 6.x support Job Control Language in which any text file with the suffix /JCL could batch process any number of executable program files. Such a file could be the object of an AUTO command. On UNIX a set of one or more rc files under /etc/ are a set of boot time "run commands" and special "dot files" in a user's home directory are run for each time that a given user logs into the system. UNIX supports many other "dotfiles" for many of its commands which are akin to the Macintosh "preferences" folder contents.
- TRSDOS (version II) was notable for the inclusion of noise words, similar to the 1959 COBOL specification. These made commands more English-like. For example, the following commands functioned identically:
- COPY filea fileb
- COPY filea TO fileb
- TRSDOS/LS-DOS 6.x include the BACKUP/CMD utility which can mass copy files specified by partial filename matches, file suffixes (e.g. such as /CMD or /BAS), or by file date. BACKUP can be made to first query for permission to copy each file with the Q=Y parameter. On single drive computers the X parameter will permit copying between two disks by prompting the user when to switch disks in the drive.
- LS-DOS 6.3 includes the DISKCOPY/CMD utility which makes an exact copy of a source disk by formatting and copying to a blank destination disk.
- TRSDOS/LS-DOS 6.x support the PURGE command which will mass delete files specified by partial filename, file suffixes, or file dates. PURGE will query the user for permission to delete each file unless the Q=N parameter is given.
- TRSDOS/LS-DOS 6.x support wildcard characters in filenames, both the single character ? and multicharacter *.
- Many versions support a simple password security for files and programs, with separate Read/Execute and full access capabilities. ex: filename/ext.password:drive#. TRSDOS 6.x supports both Owner and User passwords (8 characters max) for disk files. LS-DOS 6.3 uses the space for the User password for its extended dating scheme (past December 31, 1987). Both Model 4 OSes can set various file access levels and permit software write protection for disk files and entire disks.
- TRSDOS/LS-DOS 6.x do not support subdirectories or user areas. However, the DIR and CAT (Catalog) commands for displaying file data support the usual partial filenames, suffixes, and file dates.
- Under TRSDOS/LS-DOS 6.x files can be made invisible to the DIR and CAT commands, and can be displayed with the INV parameter (unless any files are password protected and the correct p/w is not given).
- Under TRSDOS/LS-DOS 6.x, the LIST command can display or print the contents of non-ASCII files with the HEX parameter.
- Under TRSDOS/LS-DOS 6.x, the standard system command interpreter (SYS1/SYS) can be functionally replaced with a custom interpreter by copying the new interpreter to the system file SYS13/SYS (which in an unmodified installation is a dummy file). This can be any machine code /CMD program file. This is referred to in the documentation as an "Extended Command Interpreter" or ECI.
Although MS-DOS owes its heritage most closely to CP/M and thence to TOPS-10, many of the file manipulation commands are very similar to those of TRSDOS. By comparison, the CP/M command for copying files was called pip (both a pun on the Pip printers, a chain of copy centers in that era, and an acronym standing for "Peripheral Interchange Program").
- White, Ron (August 1987). "The Tandy Story: It all started 10 years ago in a converted used-car showroom..." 80 Micro. pp. 50–64. Retrieved 2019-05-18.
- Archer, Rowland Jr. (October 1983). "Radio Shack's TRS-80 Model 4". BYTE. pp. 292–302. Retrieved 31 January 2015.
- "1985 Radio Shack Computer Catalog RSC-12 page 28". radioshackcatalogs dot com. Tandy/Radio Shack. Retrieved May 7, 2019.
- "The Source". trs-80 dot org. Matthew Reed. Retrieved May 21, 2019.
- Clays, Michael (19 February 2000). "TRS-80 Model I TRSDOS". Mike's Virtual Computer Museum. Archived from the original on 21 February 2006.
- TRS-80 Error Messages
- TRS-80 Revived Site
- Model III Home Page (with list of TRSDOS alternatives on the TRS-80 Model III)
- Matthew Reed's TRS-80 Emulator Software Runs under MS-DOS; requires the extraction of a ROM image
- xtrs A TRS-80 emulator for UNIX and X11; similar ROM issues apply
- TRSdisk, TRSDOS utilities for UNIX
- TRS-80 Virtual Floppy Disk Manager
- TRSDOS Applications