The OS-9 Boot Process
AlanDeKok
aland@striker.ottawa.on.ca
1
Tue Apr 29 21:53:46 EDT 1997
2
13-Apr-2003
DragonDOS boot added
COCO Computer
Typing 'DOS' at the DECB 'OK' prompt loads in track 34 off of the disk.
Track 34 gets loaded into address $2600, and execution of code
starts at $2602.
$2602 contains a BRA to the execution point of the REL module.
REL copies the boot track ($2600 to $3800) to address $ED00, and jumps to
another routine inside of REL, at the new address.
REL then jumps to OS9p1, which sets up system variables, the system
memory map, system call tables, IRQ & SWI setup, and calls BOOT.
BOOT reads sector $000000 off of a disk, and finds out where the
OS9Boot file is.
BOOT requests system memory for the size of OS9Boot, seeks to where
OS9Boot is, and loads it directly into RAM.
It then returns to OS9p1, after setting up pointers in low memory to
the OS9Boot file.
OS9p1 links to OS9p2, and executes it.
OS9p2 sets up more system calls, links to the clock module, and
calls it.
Clock sets up some more system calls, starts multitasking, and
returns to OS9p2.
OS9p2 then does F$Chain of 'CC3Go'. This prints a start up banner,
and runs your 'startup' file through a shell.
Dragon 64
DragonDOS BOOT (when you type BOOT)
loads sectors (numbered from 0) 2-17 (4096 bytes) into
RAM at location $2600. The first two bytes of sector 2 must be ASCII 'OS'
for this to work. It then jumps to $2602 and begins execution.
The boot code switches into RAM mode, and copies the entire section to
$F000 and jumps to $F04F.