PATHADC Home > Documentation > Hardware > Power Macintosh G3 Developer Note

Up Previous Next


The New Approach

Historically, the Macintosh ROM has been structured as one monolithic ROM, known as the Mac OS ROM, that contains both low level and high level software. That is, the ROM contains the hardware-specific code needed by the computer at power-up time as well as higher level Mac OS software. Examples of hardware-specific code are drivers, feature tables, diagnostics, and hardware initialization code. Examples of higher level software are high-level managers, QuickDraw, SCSI Manager, and so on.

As features have been added to the Mac OS software, some of the higher level code expanded beyond the practical limits provided by ROMs, so the ROM has been augmented and modified by system software such as the System file and the hardware enabler. In this way the functionality of the ROM has been spread out among the ROM, the enabler, and disk-based system software. This intertwining of low-level and high-level code spread out from ROM to disk has made it difficult and time consuming to release new computers.

One way to address this problem is to separate the system software into two logically distinct pieces. One piece holds most of the hardware-specific components needed to boot the computer, while the other contains boot-time Mac OS routines and components that are common to many Macintosh models. With this approach, much of the hardware-specific code is isolated in the boot ROM, and the Mac OS and system software code can be made abstract and generic. This approach has several benefits.

What Has Changed

Features of the New Approach


\xA9 1998 Apple Computer, Inc. — (Last Updated 5 Jan 99)

Up Previous Next