PATH 
ADC Home > Documentation > Hardware > Device Managers and Drivers > PCI Card Services > Designing PCI Cards and Drivers for Power Macintosh Computers


  

The Macintosh ROM and The NewWorld Architecture

Historically, the Macintosh ROM has been structured as one monolithic chunk of firmware in ROM, containing both low-level and high-level code. That is, it contained the routines needed by the computer at power-up time (hardware knowledge, initialization, diagnostics, drivers, and such), as well as quite a bit of higher level Mac OS code.

While a computer needs to have a ROM with hardware-specific code in order to boot, the higher level code was also included in the Macintosh ROM because the Macintosh ROM had its genesis in the original 128K Macintosh computer back in 1983. In those days, ROM was cheaper than RAM, and the available disk space (which was floppy based) was at a premium. These factors are certainly no longer valid reasons for keeping (permanently locking) everything in ROM. RAM is relatively inexpensive now and it is faster than ROM.

The NewWorld architecture separates the hardware-specific and higher level system software into two logically distinct pieces. In the NewWorld model, one piece, the bootROM, holds most of the hardware-specific components needed to boot the specific logic board implementation, while the other, the Mac OS ROM image file, contains boot-time Mac OS routines and hardware-specific software components that are common to many Macintosh computers.

Low-level hardware-specific code still exists in firmware (ROM) in order to handle the computer's start-up activities. This code fits into one ROM called the bootROM. The bootROM has the hardware-specific code and description of the hardware needed to start up the computer and provide common hardware access services the operating system might require. Open Firmware is in the bootROM and provides access to the basic hardware subsystems and a Forth interpreter. Macintosh computers that support the NewWorld architecture have Open Firmware version 3.0 or later. Open Firmware is defined in Startup and System Configuration and PCI Open Firmware Drivers.

The Macintosh Toolbox is no longer in the on-board ROM. Only Open Firmware boot services still exist in the on-board hardware ROM. The Toolbox and other services necessary to boot the operating system after hardware initialization has taken place are in a disk file called "Mac OS ROM." The Mac OS ROM image file (also known as the bootinfo file) is loaded from a mass storage device. The contents of the Mac OS ROM file is decompressed and stitched into the memory map as if it were a firmware ROM (that is, it is write- protected in the memory map). This is where the term ROM-in-RAM comes from.

Differences Introduced by the NewWorld Architecture

NewWorld Components

NewWorld Boot Process

New Name Registry Functionality


© 1999 Apple Computer, Inc. – (Last Updated 26 March 99)