System 80 Driving Instructions
This page is for all those people unfamiliar with the System
80 but who want to know how to operate the "beast", so they can at least
follow the documentation in the various emulators available on this site
and http://www.trs-80.com/ , and so
try some of the software.
Much of what is written here also pertains to other 8-bit
computers of the time. Unlike the computers of today, the System 80 had no
windows and no mouse. There was no such thing as multitasking and
colour was something unheard of. Programs came on cassette tape, or
on floppy disk. Hard disks were amazing things whispered about in
awe.
The System-80 came in two states. With or without
disk drives. Software loading commands differed considerably
depending on which configuration was being used.
The basic, unexpanded (diskless) System 80
The unexpanded System 80 uses the computer language BASIC
as it's operating system. 12k of Microsoft BASIC is included in ROM,
which initializes when the machine is switched on.
The first thing a System 80 user will see when turning on
a diskless machine (or emulator) is a message at the top of the screen
that says "READY?" (in the TRS-80 Model 1 this says "MEMORY
SIZE?"). This gives the opportunity for users to reserve some
memory space for special machine language routines. If a number is
typed in next to the READY? (say 32000) then all memory locations at 32000
decimal and above will be safe from the workings of subsequent BASIC
programs, which will reside at a lower location.
Most programs do not need the user to reserve memory
space, but a few do. Normally, on seeing the READY? at
initialization all that is required is to simply press <NEW LINE>
(or <ENTER> on a TRS-80).
After reserving memory space (or more commonly not) a user
is then presented at the bottom of the screen with a "READY" followed by a
">". This means BASIC is now initialized and ready for
commands.
There are two types of programs a waiting System 80 can
now run. In a diskless System 80, both types of programs need to be
loaded from cassette tapes.
The first of these, are programs written in BASIC. A
simple CLOAD typed after the ">" command prompt activates the waiting
tape and loads the program. A pair of blinking asterixes in the
upper-right hand screen indicate progress. Once these stop and a new
">" appears the program is loaded. The command RUN can be then
typed in and <NEW LINE> pressed to start the program.
The second type are those programs written
in machine language (m/l). These are direct Z80 instructions and do
not need to be interpreted by the BASIC interpreter. They are loaded
using a different set of commands. The user types SYSTEM, then
presses <NEW LINE>. An asterix appears. The user now
types in the name of the program on the tape (actually the first letter
will do). <NEW LINE> is then pressed and the program
loads. As with above, a pair of blinking asterixes shows loading is
occurring. However, when loading is finished, another asterix
appears beneath the first one. A user then types "/" and presses
<NEW LINE>. The program then starts.
The disk-based System 80
There were many DOSs available for the System 80, each
with their own commands and idiosyncrasies. There were some things
in common however.
When a disk-based system is booted, (by switching on the
machine or pressing the Reset button at the rear of the System 80) it
loads the DOS into the memory (RAM) on top of the BASIC interpreter in
ROM. All of the DOSs use a command-line interface, and most will
display a file list if the user enters the command DIR. By
convention, BASIC programs on disk usually have the extension /bas and
machine language programs use /cmd. The latter are executed simply
by typing the name in and pressing <NEW LINE>. BASIC programs
require that BASIC be initialized first. Often the initialization,
program loading and instruction to execute can all be done in one
line. ' BASIC run"invade/bas" ' is an example of such a command
using NEWDOS 80 v2.0.
Incompatibles between cassette and disk based
software.
Machine language programs written to be used in a
cassette-based machine are usually incompatible with a DOS-based
system. The reason for this is that the machine code loads into
memory at a specific location. Usually loading starts just after the
space allocated for the BASIC Interpreter (at 42E9 Hex or 17129
Decimal). However, this is also where DOS programs load from in a
Disk-based system. This means that if a cassette-based m/l program
was loaded from disk, the first thing it would do is overwrite the
DOS. It will load into the memory location the DOS is
occupying!. When this happens the system usually
crashes.
Machine language programs designed for cassette loading
CAN be used from disk but they normally have to have extra code added that
essentially relocates them gracefully after loading, terminating DOS but
not crashing the system.
BASIC programs are a lot more flexible and usually a
program designed initially for cassette systems can be loaded without
problem. However, some BASIC programs use machine code subroutines
for extra speed or graphics. These subroutines are memory location
specific and programs using them can crash if run from a disk
system.
Hopefully these notes will give you enough information to
get your emulator, or System 80 up and running. More information can
be found in the Manuals section of this site.
|