TRS-80 DOS - NEWDOS/80 v2.0 for the Model III - Disassembled

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