Important: The information in this document is obsolete and should not be used for new development.
Chapter 2 - Slot Manager
This chapter describes how your application or device driver can use the Slot Manager to identify expansion cards and communicate with the firmware on a card.You need to use the Slot Manager only if you are writing an application or a device driver that must address an expansion card directly. For example, you need to use the Slot Manager if you are writing a driver for a video card, but not if you only want to display information on a monitor for which a device driver already exists.
The Slot Manager provides functions to help you search through the data structures that expansion cards use to organize the information in their firmware. The meaning of the information in the data structures varies from card to card; you need to know the specifics of a card in order to interpret its data structures. To interpret these data structures, you need to know the information in Designing Cards and Drivers for the Macintosh Family, third edition, as well as information specific to the expansion card you're using.
This chapter begins with a brief introduction to Apple's implementation of the NuBus expansion interface. The NuBus interface provides a 32-bit-wide synchronous, multislot expansion bus for adding expansion cards to Macintosh computers. This introduction explains the firmware data structures of NuBus expansion cards, but does not provide much detail about the information these data structures contain. If you are designing an expansion card, you must read Designing Cards and Drivers for the Macintosh Family, third edition. If you are writing a driver for a device on a card, you should also read the chapter "Device Manager" in this book.
After introducing the NuBus architecture and expansion card design, this chapter discusses how you can
- enable and disable NuBus cards
- delete, restore, enable, disable, and find information in an expansion card's firmware
- install and remove slot interrupt handlers
Chapter Contents
- Introduction to Slots and Cards
- Slot Address Allocations
- Firmware
- The sResource
- Type and Name Entries
- The Board sResource and Functional sResources
- The sResource Directory
- The Format Block
- About the Slot Manager
- Using the Slot Manager
- Enabling and Disabling NuBus Cards
- Deleting and Restoring sResources
- Enabling and Disabling sResources
- Searching for sResources
- Obtaining Information From sResources
- Installing and Removing Slot Interrupt Handlers
- Slot Manager Reference
- Data Structures
- Slot Manager Parameter Block
- Slot Information Record
- Format Header Record
- Slot Parameter RAM Record
- Slot Execution Parameter Block
- Slot Interrupt Queue Element
- Slot Manager Routines
- Determining the Version of the Slot Manager
- Finding sResources
- Getting Information From sResources
- Enabling, Disabling, Deleting, and Restoring sResources
- Loading Drivers and Executing Code From sResources
- Getting Information About Expansion Cards and Declaration ROMs
- Accessing Expansion Card Parameter RAM
- Managing the Slot Interrupt Queue
- Low-Level Routines
- Summary of the Slot Manager
- Pascal Summary
- Constants
- Data Types
- Slot Manager Routines
- Low-Level Routines
- C Summary
- Constants
- Data Types
- Slot Manager Functions
- Low-Level Functions
- Assembly-Language Summary
- Data Structures
- Trap Macros
- Result Codes