# HG changeset patch # User roug # Date 1041337752 0 # Node ID 4a92d969106674e53e3e57a1e4f34cc1602f843a # Parent 908da66d0f6ee54ef4349aced9cc463e21dcd2b2 Added a (very) short article on the coco boot process. Hopefully someone will flesh it out. diff -r 908da66d0f6e -r 4a92d9691066 docs/articles/boot_process.article --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/articles/boot_process.article Tue Dec 31 12:29:12 2002 +0000 @@ -0,0 +1,61 @@ + + + +
+ +The OS-9 Boot Process +COCO Computer +AlanDeKok + +
+aland@striker.ottawa.on.ca +
+
+
+ + + 1 + Tue Apr 29 21:53:46 EDT 1997 + Last update + + +
+ +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. + +