Did some search engine drop you right here? Visit the 6.3.1 Source Code Restoration Project Index page first![Copyright 1999,2002,2004,2006 Frank Durda IV, All Rights Reserved. Mirroring of any material on this page in any form is expressly prohibited. The official web site for this material is: http://nemesis.lonestar.org Contact this address for use clearances: clearance at nemesis.lonestar.org Comments and queries to this address: web_software_2011 at nemesis.lonestar.org]
LOWCORE is the collective name for the resident routines that are stored in
the boot track of TRSDOS 6 and LS-DOS 6. LOWCORE is stored
in the file BOOT/SYS on bootable media. LOWCORE contains the bootstrap
loader, certain low memory storage locations, the I/O drivers, the DCBs and
DCTs, memory bank handling, byte I/O routines, time, interrupt and common
mathematical functions. The file normally occupies track 0 on a system
disk, and the boot sector (1) is read into memory by the computer's boot
ROM. Once loaded, control is transfered to the boot sector which loads
the remainder of the boot track (LOWCORE) using code contained in
the boot sector. After the entire boot track is present, enough functions
are available to locate the system disk directory, locate and load the
contents of SYS0/SYS, where the boot process continues.
The bulk of both LOWCORE and SYS0 remain in memory at all times.
The LOWCORE source code is divided into several subsections. The
major ones are listed below.
DCB area - Default DCBs for the standard I/O devices.
BOOT - Boot loader for SYSres and CRT controller initialization
SYSINFO & DCT - The stack area, input buffer, and default DCTs.
IODVR - Byte I/O handling for standard and non-standard devices.
MULDIV - Math routines used by the system (needed during boot to compute
disk track/cylinder positions.
CLOCKS - Heartbeat processing, vidram and bank switching.
KIDVR - The keyboard driver and type-ahead processing.
DODVR - The video driver and @VDCTL SVC handler.
PRDVR - The printer driver.
FDCDVR - The floppy disk driver.
LOWCORE source code, resident routines, Z80 Assembler (ASCII, NAME=LOWCORE/ASM)
BUILDVER source code, conditional assembly directives, Z80 Assembler (ASCII, NAME=BUILDVER/ASM)
BOOT4 source code, lowcore bootstrap routines, Z80 Assembler (ASCII, NAME=BOOT4/ASM)
CLOCKS source code, lowcore clock routines, Z80 Assembler (ASCII, NAME=CLOCKS/ASM)
DODVR source code, display driver, Z80 Assembler (ASCII, NAME=DODVR/ASM)
FDCDVR source code, floppy disk driver, Z80 Assembler (ASCII, NAME=FDCDVR/ASM)
IODVR source code, lowcore routines, Z80 Assembler (ASCII, NAME=IODVR/ASM)
KIDVR source code, US keyboard driver, Z80 Assembler (ASCII, NAME=KIDVR/ASM)
KIDVRFG source code, French/German keyboard driver, Z80 Assembler (ASCII, NAME=KIDVRFG/ASM)
MULDIV source code, lowcore math routines, Z80 Assembler (ASCII, NAME=MULDIV/ASM)
PRDVR source code, printer driver, Z80 Assembler (ASCII, NAME=PRDVR/ASM)
LOWCORE source code, full assembly listing, Z80 Assembler (ASCII, NAME=LOWCORE/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
LOWCORE source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
LOWCORE/CIM, executable, absolute image, Z80 Machine Code (BINARY, NAME=LOWCORE/CIM)
During the assembly of the LOWCORE/CIM module, the file LDOS60/REF is generated. This is converted into LDOS60/EQU, which is used by all subsequent operating system assembly steps.
LDOS60 reference file, EDAS /REF file (BINARY, NAME=LDOS60/REF)
LDOS60 equate file, EDAS Assembler equate file (ASCII, NAME=LDOS60/EQU)
SYS0 is the second half of the resident routines that make up the TRSDOS 6
and LS-DOS 6 operating system. SYS0 is stored in the file SYS0/SYS and is
loaded into memory by routines in the boot track (BOOT/SYS). While LOWCORE
mainly consists of I/O drivers, SYS0/SYS provides basic file read/write
operations, task scheduling, memory management supervisor call dispatch and
other functions that must always be available. SYS0 is also capable of
bringing in other operating system overlays for non-resident operations such
as file open, file close, and file removal operations.
SYSRES source code, resident routines, Z80 Assembler (ASCII, NAME=SYSRES/ASM)
BUILDVER source code, conditional assembly directives, Z80 Assembler (ASCII, NAME=BUILDVER/ASM)
COPYCOM source code, copyright strings, Z80 Assembler (ASCII, NAME=COPYCOM/ASM)
FILPOSN source code, file I/O, Z80 Assembler (ASCII, NAME=FILPOSN/ASM)
LDOS60 equate file, EDAS Assembler equate file (ASCII, NAME=LDOS60/EQU)
LOADER source code, executable loader, Z80 Assembler (ASCII, NAME=LOADER/ASM)
LSILOGO source code, start-up logo, Z80 Assembler (ASCII, NAME=LSILOGO/ASM)
(Several different logos that have been used for TRSDOS 6 and LS-DOS can be
found in the Boot-up Logos collection, below.)
SOUND source code, tone generation, Z80 Assembler (ASCII, NAME=SOUND/ASM)
SYSINIT4 source code, hardware initialization, Z80 Assembler (ASCII, NAME=SYSINIT4/ASM)
TASKER source code, task management, Z80 Assembler (ASCII, NAME=TASKER/ASM)
SYS0 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS0/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS0 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS0, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS0/CMD)
During the assembly of the SYS0/SYS module, the file SYS0/REF is generated. This is converted into SYS0/EQU in a subsequent step. SYS0/EQU is used by most of the operating system overlays and some system libraries during their assembly.
SYS0 reference file, EDAS /REF file (BINARY, NAME=SYS0/REF)
SYS0 equate file, EDAS Assembler equate file (ASCII, NAME=SYS0/EQU)
SYS1 is, among other things, the primary command interpreter. As such, it
handles all requests for commands in the three system libraries. It also
contains the code for the SVCs @CMNSI, @CMNDR, @FSPEC, @FEXT, @PARAM,
@EXIT and @ABORT.
SYS1 is normally executed by doing an @EXIT or @ABORT
SVC from within a program, or by executing a RET instruction as long as the
stack pointer is at the same position it was in when the program was
executed by the DOS.
SYS1 source code, command interpreter, Z80 Assembler (ASCII, NAME=SYS1/ASM)
BUILDVER source code, conditional assembly directives, Z80 Assembler (ASCII, NAME=BUILDVER/ASM)
COPYCOM source code, copyright strings, Z80 Assembler (ASCII, NAME=COPYCOM/ASM)
SYS0 equate file, EDAS Assembler equate file (ASCII, NAME=SYS0/EQU)
PARAM source code, assembly parameters, Z80 Assembler (ASCII, NAME=PARAM/ASM)
SYS1 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS1/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS1 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS1, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS1/CMD)
SYS2 is a multi-function overlay. It handles creating, opening and
renaming files, hashing filenames and passwords, checking a drive for a
mounted diskette, and locating a specified file or free DCB. It contains
the code for the SVCs @INIT, @OPEN, @RENAME, @GTDCB, and @CKDRV.
SYS2 source code, file open and creation routines, Z80 Assembler (ASCII, NAME=SYS2/ASM)
BUILDVER source code, conditional assembly directives, Z80 Assembler (ASCII, NAME=BUILDVER/ASM)
COPYCOM source code, copyright strings, Z80 Assembler (ASCII, NAME=COPYCOM/ASM)
SYS0 equate file, EDAS Assembler equate file (ASCII, NAME=SYS0/EQU)
SYS2 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS2/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS2 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS2, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS2/CMD)
SYS3 handles the closing of a file or device, and restoring the original
filespec or devspec to the Control Block. During a file close, it also
de-allocated space if the ending record number of the file is smaller than
it was when the file was opened. It contains the code for the SVCs
@CLOSE and @FNAME.
SYS3 source code, file removal routines, Z80 Assembler (ASCII, NAME=SYS3/ASM)
COPYCOM source code, copyright strings, Z80 Assembler (ASCII, NAME=COPYCOM/ASM)
SYS0 equate file, EDAS Assembler equate file (ASCII, NAME=SYS0/EQU)
SYS3 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS3/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS3 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS3, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS3/CMD)
SYS4 handles the system error routines, either displaying an error message
or placing the message in a program-specified buffer. Besides the standard
error codes, an "extended error" (error number 63) will display an error
value placed in the HL register pair. The only SVC handled by SYS4 is
@ERROR.
SYS4 source code, extended error handlers and messages, Z80 Assembler (ASCII, NAME=SYS4/ASM)
COPYCOM source code, copyright strings, Z80 Assembler (ASCII, NAME=COPYCOM/ASM)
SYS0 equate file, EDAS Assembler equate file (ASCII, NAME=SYS0/EQU)
SYS4 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS4/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS4 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS4, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS4/CMD)
SYS5 is the primary system debugger. It is activated by the system, by
the [BREAK] key, or by the SVC @DEBUG. During assembly, SYS5 is
cross-referenced to produce an EQUate file used in assembling SYS9,
the extended debugger.
SYS5GET source code, system debugger, Z80 Assembler (ASCII, NAME=SYS5GET/ASM)
SYS5 source code, system debugger, Z80 Assembler (ASCII, NAME=SYS5/ASM)
SYS5A source code, system debugger, Z80 Assembler (ASCII, NAME=SYS5A/ASM)
SYS0 equate file, EDAS Assembler equate file (ASCII, NAME=SYS0/EQU)
SYS5 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS5/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS5 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS5, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS5/CMD)
During the assembly of the SYS5/SYS module, the file SYS5/REF is generated. This is converted into SYS5/EQU, which is used to assemble the extended debugger, SYS9.
SYS5 reference file, EDAS /REF file (BINARY, NAME=SYS5/REF)
SYS5 equate file, EDAS Assembler equate file (ASCII, NAME=SYS5/EQU)
SYS9 is the extended system debugger. It resides in high memory, and handles
additional functions that require more memory than what was available for
SYS5, which resides in the overlay region. There are no SVCs directly
handled by SYS9.
SYS9 source code, extended system debugger, Z80 Assembler (ASCII, NAME=SYS9/ASM)
SYS5 equate file, EDAS Assembler equate file (ASCII, NAME=SYS5/EQU)
COPYCOM source code, copyright strings, Z80 Assembler (ASCII, NAME=COPYCOM/ASM)
SYS9 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS9/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS9 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS9, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS9/CMD)
SYS10 will kill (remove) a file or a device. It contains code for the
SVC @REMOV.
SYS10 source code, extended system debugger, Z80 Assembler (ASCII, NAME=SYS10/ASM)
COPYCOM source code, copyright strings, Z80 Assembler (ASCII, NAME=COPYCOM/ASM)
SYS0 equate file, EDAS Assembler equate file (ASCII, NAME=SYS0/EQU)
SYS10 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS10/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS10 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS10, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS10/CMD)
SYS11 handles the execution of a JCL file. It automatically links and
unlinks itself into the system. It is used to supply input from the
JCL file in response to keyboard line requests.
SYS11 source code, JCL processing, Z80 Assembler (ASCII, NAME=SYS11/ASM)
COPYCOM source code, copyright strings, Z80 Assembler (ASCII, NAME=COPYCOM/ASM)
SYS0 equate file, EDAS Assembler equate file (ASCII, NAME=SYS0/EQU)
SYS11 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS11/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS11 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS11, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS11/CMD)
SYS12 handles the two mini-directory and free-space SVCs, as well as locates
or checks for a memory module header. SYS12 contains the code for the SVCs
@DODIR, @RAMDIR and GTMOD.
SYS12 source code, Disk Stats and Memory header manager, Z80 Assembler (ASCII, NAME=SYS12/ASM)
COPYCOM source code, copyright strings, Z80 Assembler (ASCII, NAME=COPYCOM/ASM)
SYS0 equate file, EDAS Assembler equate file (ASCII, NAME=SYS0/EQU)
SYS12 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS12/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS12 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS12, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS12/CMD)
SYS13 acts as a placeholder for an extended command interpreter. The
provided file performs no function, but is on the disk to set the proper
attributes to any file copied over it to act as an extended interpreter.
It also prevents a system crash if the extended interpreter flag (EFLAG$)
is set without no executable in the SYS13 directory slot.
SYS13 source code, Placeholder for Extended Command Interpreter, Z80 Assembler (ASCII, NAME=SYS13/ASM)
COPYCOM source code, copyright strings, Z80 Assembler (ASCII, NAME=COPYCOM/ASM)
SYS0 equate file, EDAS Assembler equate file (ASCII, NAME=SYS0/EQU)
SYS13 source code, full assembly listing, Z80 Assembler (ASCII, NAME=SYS13/LST)
(The assembly listing is formatted for standard 132 column x 66 line paper.)
SYS13 source code, full assembly listing, Z80 Assembler (HTML)
(The assembly listing is formatted for display on a HTML viewer.)
SYS13, executable, LS-DOS loadable, Z80 Machine Code (BINARY, NAME=SYS13/CMD)
LS-DOS, as was its predecessor LDOS, were both designed so that the boot-up logo could be replaced with one meeting the requirements of an OEM customer, such as Tandy/Radio Shack.
Below are several logos that were developed at various points during the life of TRSDOS 6/LS-DOS 6. The one to be used is assembled as part of SYS0/SYS, and is currently set to LSILOGO.ASM (listed above in the SYS0 section).
Note that the "3D" Tandy Hour-glass logo was the original one produced by Logical Systems and appeared on several pre-release alpha and beta versions of TRSDOS 6.0.0. The product buyer for Tandy at that time of the initial Model 4 release decided the logo was "too different" and might confuse customers, and so a 2D version was subequently prepared by LSI and a version of that was eventually released and used on TRSDOS 6.0.0 and a few subsequent TRSDOS 6 releases.
The logo that the public saw was changed again for the TRSDOS 6.2 release, and again for the LS-DOS 6.3 releases.
Because of differences between the Model 4 and Model II/12 systems in what codes and what available block text graphics were available, the logos for the Model II releases are also different.
The IBM Logo graphic was done as a stunt. It was built by Logical Systems into one of the beta releases of TRSDOS 6.2 at a point prior to Tandy being forced into actually buying that product, a period when the buyer and LSI would have nothing to do with each other. (The buyer at that time didn't want to have any more OS releases for the Model 4 after 6.1.2.) This "IBM" version was sent only to the buyer and Frank Durda IV, but it so outraged the buyer that he attempted to get Franks copy destroyed. Eventually things calmed down and the 6.2.0 release was turned into an official product, with a non-IBM logo.
Note: It may be possible that some of these older logos will not function
or fit into a 6.3.0 or 6.3.1 SYS0, simply because of their size or other
system changes that occurred since they were originally designed.
[Copyright 1999,2002,2004,2006 Frank Durda IV, All Rights Reserved. Mirroring of any material on this page in any form is expressly prohibited. The official web site for this material is: http://nemesis.lonestar.org Contact this address for use clearances: clearance at nemesis.lonestar.org Comments and queries to this address: web_software_2011 at nemesis.lonestar.org]