PATH![]() |
In order for a device supported by a PCI expansion card to participate in the startup process, the card must include an expansion ROM containing startup firmware. Startup firmware is written in the Forth language, as defined by IEEE Standard 1275, and is stored in an abbreviated representation called FCode. The startup firmware in the Power Macintosh ROM includes an FCode loader that installs FCode in the system RAM so that drivers can run on the PowerPC main processor.
Device drivers that are required during system startup (called Open Firmware drivers) are also written in FCode. Expansion cards for startup devices must contain all the driver code required during startup in the expansion ROM on the card. Depending on their functions, such cards may also need to provide support resources such as fonts. Examples of devices needed during system startup include display, keyboard, and mouse devices, and storage devices such as hard drives and CD-ROM drives.
If Open Firmware code is not included in the expansion card for a startup device, the card will not be usable until the operating system loads its supporting software from disk after the startup process has concluded.
For a description of the way startup code in an expansion card's ROM exports properties to the Open Firmware device tree , please see Designing PCI Cards and Drivers for Power Macintosh Computers .