Booting The System: On startup, the system runs code stored in a small boot ROM.
This code traverses through the FAT16 filesystem of the connected Compact Flash card,
locating a special file named RAMIMAGE in the root directory. This file contains the object
code for the operating system. Once found, the boot loader code copies the operating system
to main memory and tranfers control to the OS starting routine. Note that by changing the
RAMIMAGE file, one can run any p37x program on system startup. This allows the user to
customize the system if desired.
Operating System: The operating system begins by traversing the root directory of
the CF card, creating a list of all relevant media items. Each element in this list contains
the item's name and all information necessary to locate and read the file from disk. Once
this file list is constructed, file names are displayed to the user, and the OS polls for
user input to navigate through the file list and present the appropriate media items.
Executing Other Programs: If the selected media item is another p37X program, the
operating system transers control by sending the new program's disk address to the compact
flash controller, setting a special boot flag, and transferring control to
the boot ROM. The boot ROM code, seeing that the boot flag has been set, copies the new program
to main memory (instead of loading the operating system). When the new program has finished execution,
it transfers control back to the OS by clearing the boot flag and passing control to the
boot ROM. Now with the boot flag clear, the boot code will once again load the operating system.
Note that the boot flag is automatically cleared on system reset, forcing the boot
ROM to load the operating system. This allows for an easy way to terminate misbehaving