TRS-80 DOS - NEWDOS/80 v2.0 for the Model III - Disassembled
Page Index
Overview
Disassembly Highlights
This page serves as the index for the commented disassembly of the NEWDOS/80 v2.0 system files. Over time, this section will be populated with summary highlights for each system file/overlay.
SYS Files and their Purposes
BOOT/SYS
Must occupy the first granule of every diskette. On data diskettes this file serves only to reject an attempt to boot using this diskette in drive 0. On system diskettes, the first sector contains the machine code for loading the DOS system from the drive 0 diskette when a power on, reset or jump to location 0 occurs. On NEWDOS/80 system diskettes, the 2nd sector is a duplicate of the first (required for booting on the Model III), and the 3rd sector contains system control information set up by the DOS commands SYSTEM and PDRIVE. FORMAT or the format part of COPY creates this file automatically.
A detailed, commented disassembly of BOOT/SYS can be found here.
SYS0/SYS
DOS's resident module loaded by the bootstrap routine and remains permanently in main memory, except for the DOS initialization routines in the overlay area which are overlaid when no longer needed. SYS0/SYS handles DOS initialization, disk I/O, clock interrupts, load of other system modules, keyboard intercept, etc.
A detailed, commented disassembly of SYS0/SYS can be found here.
SYS1/SYS
Interrogates DOS commands.
A detailed, commented disassembly of SYS1/SYS can be found here.
SYS2/SYS
Creates files, opens FCBs, alloctes file space, allocates FDEs, encodes passwords and loads users programs to be run. Executor for library commands RENAME and LOAD.
A detailed, commented disassembly of SYS2/SYS can be found here.
SYS3/SYS
Closes FCBs, kills files, insert/deletes entries from 25ms chain. Executor for library commands BLINK, BREAK, CLOCK, DEBUG, JKL, LCDVR, LC, VERIFY and most of PURGE.
A detailed, commented disassembly of SYS3/SYS can be found here.
SYS4/SYS
Displays DOS error messages.
A detailed, commented disassembly of SYS4/SYS can be found here.
SYS5/SYS
DEBUG facility.
A detailed, commented disassembly of SYS5/SYS can be found here.
SYS6/SYS
Executor for library commands FORMAT, COPY and APPEND.
SYS7/SYS
Executor for library commands TIME, DATE, AUTO, ATTRIB, PROT, DUMP, HIMEM and the 1st part of PURGE, SYSTEM and PDRIVE.
SYS8/SYS
Executor for library commands DIR and FREE.
SYS9/SYS
Executor for library commands BASIC2, BOOT, CHAIN, CHNON, MDCOPY, PAUSE and STMT. Enqueues and dequeues user logical routines and routes each invocation.
SYS10/SYS
Executes BASIC statement's GET and PUT, and must be on the system diskette if either statement is to be executed.
SYS11/SYS
Executor of the BASIC direct command RENUM. Must be present if RENUM will be used.
SYS12/SYS
Executes BASIC direct command REF. Must be on the system diskette if REF will be executed.
SYS13/SYS
Displays BASIC's error messages and executes 1st part of RENUM. Must be on the system diskette whenever BASIC is active.
SYS14/SYS
Executor for CLEAR, CREATE, ERROR, LIST, PRINT and ROUTE.
SYS15/SYS
Executor for FORMS and SETCOM.
SYS16/SYS
Executor for most of PDRIVE.
SYS17/SYS
Executor for WRDIRP and most of SYSTEM.
SYS18/SYS
BASIC direct statement executor. Must be on the system diskette whenever BASIC is active.
SYS19/SYS
Executor for BASIC statements LOAD, RUN, MERGE, SAVE and CMD"F"DELETE. Must be on the system diskette whenever BASIC is active.
SYS20/SYS
Executor for a number of disk BASIC statements and usually is the module resident when BASIC is executing a program. Must be on the system diskette whenever BASIC is active..
SYS21/SYS
Executor for CMD"O" and must be on the system diskette if CMD"O" will be executed..