C H A P T E R 5
Software
5.The Forth script transfers control to the Trampoline code, which functions as the transition between Open Firmware and the beginning of the Mac OS execution;
6.The Trampoline code decompresses the ToolBox ROM Image, gathers information about the system from Open Firmware, creates data structures based on this information, terminates Open Firmware, and rearranges the contents of memory to an interim location in physical memory space;
7.The Trampoline code transfers control to the HardwareInit routine in the ToolBox ROM Image;
8.The HardwareInit routine copies data structures to their correct places in memory, and then calls the NanoKernel;
9.The NanoKernel fills in its data structures and then calls the 68K Emulator;
10.The 68K Emulator initializes itself, then transfers control to the startup initialization code;
11.The startup initialization code begins execution, initializing data structures and Managers, and booting the Mac OS.
All functions found in the old ToolBox ROM are present in the NewWorld boot process, but occur at different times and places. To accomplish this, the code in the ToolBox ROM Image and POST is simplified, while the Trampoline code addresses the new functionality.
What Is Different
Even though
Interrupt Handling
Interrupt handling is very different with the NewWorld approach. The interrupt code has been rewritten to allow for dynamic creation of the interrupt layout. The new code has two features that did not exist in the old code. One is
64What Is Different