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. |
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. |
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. |