The Wayback Machine - https://web.archive.org/web/20060221082752/http://personal.nbnet.nb.ca:80/mclays/trsdos.html
Back to my Home Page My Favourite Recipes My Virtual Computer Museum About Saint John, New Brunswick A Little Bit About Me Obligatory Page-O-Links

Mike's Virtual Computer Museum

TRS-80 Model I TRSDOS


TRS-80 Disk O/S Manual

TRSDOS was the Disk Operating System for Radio Shack's TRS-80 line of computers. This page is based on the version that was shipped for the Model I. The base operating system for the Model I was the ROM Based Level II BASIC interpreter. TRSDOS extended the functionality of BASIC by adding the software needed to access the disk sub-system, as well as file management utilities, and additional BASIC functionality.

On power-up a disk based Model I would load TRSDOS into RAM. This took approximatley 4.2K. TRSDOS employed an overlay scheme so that only the required portions of TRSDOS were actually using RAM space at any given time. When disk BASIC was called in an additional 5.8K of RAM was used. TRSDOS was capable of supporting up to 4 floppy drives. They were addressed by number, from 0 thru 3. Drive 0 was the system drive, containing the TRSDOS boot code.

The following tables outline the extensions that TRSDOS added to the Level II ROM BASIC.

TRSDOS: [File Commands] [BASIC Extensions] [Utilities] [Double Density]

FILE COMMAND EXTENSIONS TO BASIC
CLOSE Closes a file which is currently open. The file must be re-opened for use.
DISKDUMP A program to write a disk file to the line printer (or video) sector by sector in HEX code and ASCII, 16 bytes at a time.
EOF Function to check for End Of File.
GET Reads a specified record from a file opened for random access into the file's associated buffer.
FIELD Specifies the format of a random access file record.
INPUT# Reads from a file opened for sequential access.
KILL Deletes a file.
LINEINPUT Reads an entire line of data, ignoring delimiters.
LOAD Loads a BASIC program from diskette into memory.
LOF Returns highest physical record number used in a file.
LSET/RSET Places data into a buffer in preperation for writing to a file opened for random access.
MERGE Combines a BASIC program with another program currently in memory.
NAME Renember the lines in a BASIC program. This command is only available if running the "BASICR" version of BASIC.
OPEN Opens a disk file for use. This command specifies sequential or random input or output, the file name and the file number.
PRINT# Write to a sequential file.
PUT Writes data from a buffer to a specified record number in a file opened for random access.
SAVE Saves a BASIC program onto disk.



BASIC LANGUAGE EXTENSIONS
CMD "D" Calls up DEBUG
CMD "I" Exit to TRSDOS and issue a command.
CMD "R" Restarts the 25 msec heartbeat. Should be on for disk operations.
CMD "T" Disables the 25 msec heartbeat. This must be done before any cassette I/O is performed.
DEF FN Allows user-defined functions.
DEFUSR Defines an entry point for one of 10 user machine language routines.
HEX CONSTANTS Allows you to type in hexidecimal or octal constants by prefixing them with "&H;" or "&O;".
INSTR Function that returns the start position of one string within another string.
MID$ Allows the use of MID$ on the left side of an equation.
TIME$ Returns date and time as a text string.
USRn Calls one of 10 possible user defined machine language routines. One argument could be sent to, and returned by, the routine.



UTILITIES
APPEND Adds one file to the end of another. Primarily used with data files.
ATTRIB Assigns or changes protective file passwords with 5 levels of protection to prevent unauthorized file access.
AUTO Automatically executes a command on power-up.
BACKUP Copies all of a diskette to another diskette.
CLOCK Provides constant time display in the upper right corner of the video display.
COPY Copies a file.
DATE Sets the system date.
DEBUG Machine language debugger, allowing you to set break points, execute single-step instructions, dynamically watch registers during program execution and display memory in hexidecimal or ASCII format.
DIR Displays a directoy of all files on a specified disk drive. If requested will include logical record length, end of file and space used.
DUMP Stores a machine language program from memory to disk.
FORMAT Format and verify a diskette to make it usable by TRSDOS.
FREE Displasy the free space remaining on diskettes in all drives.
GETDISK Copies any disk file or machine language program from diskette to cassette tape.
GETTAPE Reads cassette data and writes it into a disk file.
KILL Deletes a file from the specified diskette.
LIB Displays a list of all TRSDOS system commands.
LIST Lists a file to the video display.
LOAD Loads a machine language program from diskette into memory.
PRINT Lists a file to the line printer.
PROT Changes protection status of all non-system files on a diskette.
RENAME Changes the name of a file.
TAPEDISK Loads system tapes into RAM, then to a specified disk file.
TEST1 Program to test the TRS-80's memory, both ROM and RAM.
TEST2 A BASIC program designed to stress test the disk system.
TIME Sets the time of day for the CLOCK command and the BASIC TIME$ function.
TRACE Displays the program counter on the video display.



TRS-80 Model I Double Density Kit

Towards the end of the TRS-80 Model I lifespan (1982) Radio Shack introduced a double density kit. It was installed in the expansion interface, and allowed 184K of storage capacity on a 40 track diskette. The installation involved removing the existing floppy controller chip from the expansion interface and plugging it into the double density kit. The kit was then installed back into the empty chip holder in the expansion interface.

In addition to increasing the amount of data one could store on a diskette the double density kit came with an enhanced version of TRSDOS. This enhanced version added most of the TRS-80 Model III's Disk Basic enhancments such as full support for variable logical record lengths and additional CMD "x" commands to manipulate string variables.

While most existing applications could be made to run with the double density kit installed, Radio Shack application software was not supported for double density operation.

TRSDOS FEATURES ADDED WITH DOUBLE DENSITY KIT
BLINK Turns blinking cursor on or off.
BUILD/DO Create/Execute automatic command files. This was a simple form of batch file.
CLEAR Clears user memory.
CLS Clears the screen from the TRSDOS command line.
CONFIG Specifies drive types to the system.
CREATE Create a pre-allocated file on the diskette.
DUAL Redirect output to both video and line printer at the same time.
ERASE Used for file confidentiality. Overwrote the contents of the file rather than just removing it from the DIR tables.
ERROR Returned descriptive error messages.
FILFIX Modifies disk files.
FREE Now displays a space map of disk usage.
HELP An online help system for TRSDOS commands.
PATCH A utility to alter existing disk files.
PURGE Delete multiple files.
RELO Alter the program load address for an executible file.
SETCOM Set the RS-232 board paramaters from the TRSDOS command line.
SPOOL An in memory print spooler to provide background printing services.
TAPE A utility to transfer data between cassette tape, memory and diskette.
UNKILL Used to restore a killed file.
WP Write protect a disk at the TRSDOS software level.

TRS-80 Level-II BASIC Language Summary
TRS-80 EDTASM-PLUS Editor Assember Page


Back to the top of this page
Back to my personal museum page
Back to my Home Page


Last Updated: February 19, 2000
Copyright © 1997-2000, Michael Clays
mclays@nbnet.nb.ca