Table of Contents

OS-9 Level 1 Boot

Disk Extended Color BASIC

1.0

Disk Extended Color BASIC 1.0 does not directly support the OS-9 boot track.

The OS9L1V1B.DSK contains two files: *.BAS and $82$81

*/BAS provides a menu to choose Boot or to test the floppy diskette drive.

If the disk test is chosen, the $82$81/BIN is loaded from diskette into address $5000 and started to test the rotation speed of the floppy disk drive to verify it rotates close to 300 revolutions per minute.

If boot is chosen, then BASIC DATA statements are poked into address $5000 and started.

The boot code is very similar to the DOS command added for Disk Extended Color BASIC 1.1.

The user is then prompted to place the OS9L1V1M.DSK master diskette in the floppy disk drive and press a key to continue.

1.1

Place the OS9L1V1M.DSK master disk into the floppy diskette drive, type DOS, press ENTER, and OS-9 begins to boot.

Boot Track

The */BAS machine code or the DOS command loads track 34, sectors 1-18 from the the OS9L1V1M.DSK diskette into RAM at address $2600.

If the first two bytes of the boot track are 'OS' then the DOS command reads the 16-bit address loaded into $2602 and transfers control to the code there.

Between the OS signature, start address, and the beginning of code are the bytes of the OS9 Boot banner shown on the screen.

The boot track contains:

RELocate

The RELocate code does setup housekeeping:

This sequence will crash on a Color Computer 3 due to its new vector page at $FE00 to $FEFF getting overwritten.

Later versions of OS-9 change RELocate to copy the boot track one 256-byte page lower, starting at $EF00, to avoid the new vectors page.

OS9

The OS9 kernel part 1 module provides core service tables, cold start code, interrupt handlers, module linking and CRC verification, and other essential functions.

Vectors

This block of data is designed to load into RAM to initialize the address of the 6809 MPU vectors.

OS9p2

The OS9p2 kernel part 2 module provides additional memory and process management along with additional core functions.

Init

The init module is a small set of configuration data for the OS-9 system such as the first process to start, usually SysGo, the default storage device name such as /D0 or /DD, the initial terminal device name such as /TERM and the name of the Boot module.

Boot

The boot module provides hardware-specific code to read the OS-9 RBF disk storage layout, find the OS9Boot file, and begin loading it into memory to initialize each module found in it.

OS9Boot

The OS9Boot file is a collection of support modules to provide services to the OS-9 applications run by the user.

SysGo

The SysGo module starts the initial console shell and waits in the background for it to exit, and restart it if this happens.

Shell

The Shell module provides a user command line interface, command execution, file system navigation, and I/O stream redirection.

Startup

By default, the startup shell procedure loads and runs the setime module to prompt for the current date and time from /TERM

Users can modify the startup procedure to customize the OS-9 system boot to their preferences.

Bootstrap complete

The system is ready to use once the OS9: prompt appears.

RTS

Return to Top or OS-9