#: 9338 S10/OS9/6809 (CoCo)
30-Jan-91 11:33:36
Sb: #9327-EPROMs
Fm: Pete Lyall 76703,4230
To: LUTE MULLENIX 70721,2230 (X)
Lute -
A standard (well, COCO) bootstrap is really three separate stages of
bootstrapping:
1 - The DOS command reads track 34 into memory, and executes the
REL code manually. The REL code takes the rest of track 34
(which contains os9p1, boot, and init) and relocates it
to upper memory. Then it jumps into OS9 (or OS9p1).
2 - OS9 calls f$boot, which eventually locates and starts the
BOOT module. The BOOT module goes to the floppy (hard coded)
and looks at LSN0. It gets the location of the OS9Boot file
(or whatever it's called - name is unimportant) in terms
of absolute sector number (LSN), and the size of the boot file
from the LSN0 info. It seeks the disk to that point, and
reads exactly that many bytes (modulo 256). It then passes
control back to os9.
3 - OS9 then finishes initialization, and starts Sysgo/CC3Go. Sysgo/CC3go
gets parameters from Init (working and exec dirs, standard I/O
defaults, etc.) and sets them up. It then forks a shell
to perform the startup script, and upon completion of that,
forks another shell, which is the first user shell, and the
initial OS9: prompt that you see.
Pete
|