Jump To:
The Reference Library is a comprehensive collection of Apple technical resources, including Articles, Guides, Reference, Release Notes, Sample Code, Technical Notes, and Technical Q&As. Each of the links below leads to the resources for a specific topic.

Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
I/O Kit Power Controller (HTML) (日本語 HTML)
TN2076: Describes code to include in a KEXT in order to register for power management events.
Hardware & Drivers Technical Notes 2003-06-20
I/O Kit Power Management Release Notes (HTML)
Describes the latest changes to power management for Mac OS X v10.5.
Hardware & Drivers Release Notes 2007-10-31
iBook Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the iBook G4 computer introduced in July 2005.
Hardware & Drivers Guides 2005-07-26
iMac Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of iMac computers introduced in April 2008.
Hardware & Drivers Guides 2008-04-28
iMac Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of iMac computers introduced in August 2007.
Hardware & Drivers Guides 2007-08-07
iMac Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of iMac computers with SuperDrive introduced September 2006.
Hardware & Drivers Guides 2007-05-03
iMac Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the iMac computer introduced in January 2006.
Hardware & Drivers Guides 2007-04-04
iMac Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of iMac computers with Combo drive introduced September 2006.
Hardware & Drivers Guides 2006-09-07
iMac G5 Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the iMac G5 computer introduced in October 2005.
Hardware & Drivers Guides 2006-04-07
iMac G5 Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the iMac G5 introduced in May 2005.
Hardware & Drivers Guides 2005-05-03
Image Capture Applications Programming Guide (HTML) (PDF)
Describes the interaction between applications programs and image capture devices such as cameras and scanners.
Hardware & Drivers Guides 2007-05-16
Image Capture Device Modules Reference (HTML)
Describes the API to add support for image capture devices, such as cameras, phones, and scanners, to Mac OS X.
Hardware & Drivers Reference 2008-04-08
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
Hardware & Drivers Technical Q&As 2003-10-28
Installing smart card reader drivers (HTML)
QA1359: Updates obsolete information contained in the pcscd(8) man page on Mac OS X Jaguar and Panther.
Hardware & Drivers Technical Q&As 2004-08-30
Invoking the Open Firmware user interface (HTML) (日本語 HTML)
HW45: Describes how to invoke the Open Firmware user interface on startup.
Hardware & Drivers Technical Q&As 1999-02-15
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Hardware & Drivers Technical Q&As 2008-09-18
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Hardware & Drivers Technical Q&As 2002-01-15
IOLog and Interrupt Context (HTML) (日本語 HTML)
QA1100: Describes when IOKit runs at primary (hardware) interrupt context.
Hardware & Drivers Technical Q&As 2002-02-13
iSight - Configuring gain settings for IIDC cameras (HTML)
QA1421: Discusses how to configure features of IIDC cameras, specifically gain for the iSight
Hardware & Drivers Technical Q&As 2005-04-06
iSight Programming Guide (HTML) (PDF)
Describes the Apple iSight video camera and its enhancements.
Hardware & Drivers Guides 2004-10-05
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
Hardware & Drivers Technical Q&As 2004-01-15
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Hardware & Drivers Reference 2009-01-06
Kernel Programming Guide (HTML) (PDF)
Essential information for programming in the Mac OS X kernel. Includes a high-level overview.
Hardware & Drivers Guides 2006-11-07
Legacy Devices (HTML)
HW84: Discusses why legacy devices with hard-wired I/O addresses may not work properly with Open Firmware.
Hardware & Drivers Technical Q&As 2000-03-20
Leopard Technology Series for Developers: OS Foundations (HTML)
Leopard Overview article on system-level updates.
Hardware & Drivers Articles 2007-09-04
Locating the 1275-1994 Standard Document (HTML)
HW85: Alerts that the Open Firmware (IEEE 1275-1994) document can't be found at the IEEE Standards Association site.
Hardware & Drivers Technical Q&As 2000-07-17
Mac mini Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the Mac mini computer introduced in February 2006.
Hardware & Drivers Guides 2007-04-04
Mac mini Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the Mac mini introduced January 2005.
Hardware & Drivers Guides 2005-04-05
Mac OS X Server Security Configuration Guide (PDF)
Describes how to configure Mac OS X Server to enhance server and service security.
Hardware & Drivers Guides 2008-06-09
Mac Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the Mac Pro computers introduced in January 2008.
Hardware & Drivers Guides 2008-01-09
Mac Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the Mac Pro computer introduced in August 2006.
Hardware & Drivers Guides 2007-05-03
Mac Pro Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the Mac Pro computers introduced in April 2007.
Hardware & Drivers Guides 2007-04-05
MacBook Air Developer Note (HTML)
New document specifies internal design, I/O features, and expansion capabilities of the MacBook Air computer introduced in January 2008.
Hardware & Drivers Guides 2008-01-18
MacBook Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the MacBook computer introduced in February 2008.
Hardware & Drivers Guides 2008-03-04
MacBook Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the MacBook computer introduced in November 2007.
Hardware & Drivers Guides 2007-11-10
MacBook Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the MacBook computer introduced in May 2007.
Hardware & Drivers Guides 2007-05-17
MacBook Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the MacBook computer introduced in May 2006.
Hardware & Drivers Guides 2007-04-04
MacBook Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the MacBook computer introduced in November 2006.
Hardware & Drivers Guides 2007-04-04
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
Hardware & Drivers Technical Q&As 2002-02-07
Mass Storage Device Driver Programming Guide (HTML) (PDF)
Background and task information about developing kernel-resident drivers for mass storage devices.
Hardware & Drivers Guides 2007-04-03
Maximum Memory for the "Firewire" PowerBook (HTML)
Deprecated - HW83: Discrepancies between PowerBook Developer Note and TIL articles 14870 and 58582, regarding maximum memory configurations.
Hardware & Drivers Technical Q&As 2000-03-13
Memory Usage Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of memory-related code.
Hardware & Drivers Guides 2006-06-28
Menu Bar Clock and NVRAM (HTML)
QA1102: Explains why booting with the Command-Option-P-R keys doesn't reset date and time preferences.
Hardware & Drivers Technical Q&As 2001-12-21
Mixing link-local IP addresses and routable IP addresses (HTML)
QA1357: Explains how to enable communication between devices with link-local addresses and devices with routable addresses.
Hardware & Drivers Technical Q&As 2005-07-06
Multipathing with FibreChannel on Mac OS X (HTML)
TN2173: An explanation on how FibreChannel multipathing works on Mac OS X and how to design storage hardware to take advantage of it
Hardware & Drivers Technical Notes 2007-03-23
Network Device Driver Programming Guide (HTML) (PDF)
Background and task information about developing network drivers for Mac OS X.
Hardware & Drivers Guides 2008-03-11
Network Kernel Extensions (legacy) (HTML) (PDF)
Describes how to write a kernel extension for adding or modifying functionality of a networking stack (Mac OS X 10.3 and earlier).
Hardware & Drivers Guides 2006-10-03
Network Kernel Extensions Programming Guide (HTML) (PDF)
Describes how to write a kernel extension for adding or modifying functionality of a networking stack (Mac OS X 10.4 and later).
Hardware & Drivers Guides 2009-03-02
New HID Manager APIs for Mac OS X version 10.5 (HTML)
TN2187: Mac OS X version 10.5 introduces new APIs for the HID Manager.
Hardware & Drivers Technical Notes 2008-01-23
New PPD keywords available in Mac OS X version 10.3 (HTML)
QA1352: Describes the new PPD keywords available for CUPS filters in Mac OS X 10.3.
Hardware & Drivers Technical Q&As 2004-05-26
New Sound Input Driver Features (HTML) (日本語 HTML)
Deprecated - TN1124: Describes the visible features and changes, in Mac OS 8.1, for PCI sound input drivers.
Hardware & Drivers Technical Notes 1998-04-01
NoCopyReceives (HTML) (DMG) (ZIP)
Demonstrates using no-copy receives under Open Transport.
Hardware & Drivers Sample Code 2003-01-14
Obtaining 16 Bits-Per-Color Data with CUPS Raster Printing (HTML)
TN2149: Obtaining 16 Bits-Per-Color Data with CUPS Raster Printing
Hardware & Drivers Technical Notes 2005-08-24
Obtaining the name of an external MIDI Device from a MIDI Endpoint (HTML)
QA1374: Get the names of external MIDI Devices from MIDI Endpoints.
Hardware & Drivers Technical Q&As 2004-12-01
Open Firmware device tree nodes (HTML)
HW86: Explains the usage of the "@n" notation in Open Firmware device tree nodes.
Hardware & Drivers Technical Q&As 2000-09-05
Open Firmware Memory bus speed (HTML)
HW97: Describes a method to display memory bus speed for G3 or G4 Macintosh in Open Firmware.
Hardware & Drivers Technical Q&As 2000-09-22
Open Firmware version number (HTML)
HW96: Discusses the unique values of Open Firmware version numbers.
Hardware & Drivers Technical Q&As 2000-09-22
Open Transport STREAMS FAQ (HTML)
Deprecated - TN1117: Decribes writing STREAMS modules and drivers for use with Open Transport.
Hardware & Drivers Technical Notes 1997-12-01
Optimization Strategies for Mac OS X (HTML)
TN1174: Achieving the best possible performance in your applications.
Hardware & Drivers Technical Notes 1999-09-01
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Hardware & Drivers Technical Q&As 1997-10-13
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Hardware & Drivers Technical Q&As 2006-02-22
PC100 SDRAM DIMMs on the Flat Panel iMac (HTML) (日本語 HTML)
QA1130: Describes PC100 SDRAM DIMM limitations on the "original " Flat Panel iMac.
Hardware & Drivers Technical Q&As 2002-03-18
PCI address/data stepping (HTML)
HW94: Explains that Apple does not support PCI address/data stepping.
Hardware & Drivers Technical Q&As 2000-09-05
PCI bus on the iMac (HTML) (日本語 HTML)
HW42: Explains that the iMac has a PCI bus even though it has no expansion slots.
Hardware & Drivers Technical Q&As 1999-02-15
PCI class codes (HTML)
HW91: Explains why PCI class codes are important.
Hardware & Drivers Technical Q&As 2000-09-05
PCI Developer Note (HTML)
Provides an overview of PCI technology and describes PCI support on Mac computers.
Hardware & Drivers Guides 2008-04-28
PCI Header types (HTML)
HW78: Describes the three required types of PCI headers to be provided in its configuration header space.
Hardware & Drivers Technical Q&As 1999-11-15
PCI Macintoshes and CardBus controllers (HTML)
HW87: Explains why older PCI Macintoshes do not recognize a Cardbus controller.
Hardware & Drivers Technical Q&As 2000-09-05
PCI SIG (HTML) (日本語 HTML)
HW55: Describes the meaning of the acronym PCI SIG.
Hardware & Drivers Technical Q&As 1999-03-29
PCI/PCI-X slots on the Power Mac G5 (HTML)
QA1307: Discusses installing PCI/PCI-X cards of different speeds in the Power Mac G5.
Hardware & Drivers Technical Q&As 2003-09-30
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Hardware & Drivers Guides 2006-10-03
Power adapter Sensing for the 17" PowerBook (HTML) (日本語 HTML)
QA1266: Details Design and detection considerations for 17-inch PowerBook power adapters
Hardware & Drivers Technical Q&As 2003-06-12
Power Mac G5 -- Single Processor Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the single processor Power Mac G5 introduced October 2004.
Hardware & Drivers Guides 2004-10-19
Power Mac G5 Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the Power Mac G5 introduced in October 2005.
Hardware & Drivers Guides 2007-03-06
Power Mac G5 Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the Power Mac G5 introduced in April 2005.
Hardware & Drivers Guides 2005-04-29
Power Management for Macintosh; getting started (HTML) (日本語 HTML)
TN2075: Outlines available documentation and its location for power management on Mac OS X and OS 9.
Hardware & Drivers Technical Notes 2003-05-30
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Hardware & Drivers Technical Q&As 2002-02-13
Power Manager 2.0 (HTML) (日本語 HTML)
TN1190: Describes the Macintosh Power Manager 2.0.
Hardware & Drivers Technical Notes 2000-08-14
PowerMac G4 (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the PowerMac G4 introduced in January 2003.
Hardware & Drivers Guides 2008-02-20
PowerPC G5 Performance Primer (HTML) (日本語 HTML)
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
Hardware & Drivers Technical Notes 2003-09-03
PrepareMemoryForIO in the NewWorld (HTML)
DV33: Explains the correct use of PrepareMemoryForIO on DMA buffers when writing a device driver for DMA software.
Hardware & Drivers Technical Q&As 1998-12-07
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Hardware & Drivers Technical Q&As 2008-09-24
Quartz Display Services Reference (HTML) (PDF)
Describes the interface for configuring and controlling display hardware.
Hardware & Drivers Reference 2008-11-19
RAM Expansion Developer Note (HTML)
Details requirements of RAM modules for use in Mac computers.
Hardware & Drivers Guides 2008-04-28
Reducing the size of Physical Memory in Open Firmware (HTML)
QA1099: Describes how to configure the Power Macintosh so less memory is recognized than is actually present.
Hardware & Drivers Technical Q&As 2001-12-20
Registering a Bonjour service multiple times (HTML)
QA1311: Explains why registering the same Bonjour service twice on the same machine doesn't cause a name conflict.
Hardware & Drivers Technical Q&As 2003-10-23
Resetting NVRAM to factory defaults (HTML)
QA1103: Describes what happens when you boot holding the Command-Option-P-R keys.
Hardware & Drivers Technical Q&As 2001-12-21
Retain Counts of io_object_t Objects in IOKit.framework (HTML) (日本語 HTML)
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
Hardware & Drivers Technical Q&As 2008-09-24
Running files from a hard drive in Open Firmware (HTML)
TN2001: Demonstrates editing, saving, and retrieving Open Firmware commands to a file on a Macintosh hard drive.
Hardware & Drivers Technical Notes 2000-09-22
SampleFilterScheme (HTML) (DMG) (ZIP)
Demonstrates a simple filter scheme which passes all operations through to its provider unchanged.
Hardware & Drivers Sample Code 2006-01-03
SampleUSBAudioPlugin (HTML) (DMG) (ZIP)
USB audio plugin that performs a lowpass filtering operation on audio streamed through an audio USB Device.
Hardware & Drivers Sample Code 2005-03-07
SCSI Architecture Model Device Interface Guide (HTML) (PDF)
Explains how to develop applications that communicate with or control SCSI Architecture Model devices.
Hardware & Drivers Guides 2007-02-08
A SCSI little secret (HTML)
HW81: Details what to expect when accessing the motherboard SCSI bus on the Blue & White G3.
Hardware & Drivers Technical Q&As 1999-12-20
SCSIHBAEmulator (HTML) (DMG) (ZIP)
Demonstration of how to implement a virtual parallel tasking SCSI host bus adapter (HBA)
Hardware & Drivers Sample Code 2007-02-20
SCSIOldAndNew (HTML) (DMG) (ZIP)
Demonstrates a backward-compatible technique for communicating with SCSI parallel devices on Mac OS X.
Hardware & Drivers Sample Code 2006-12-07
SDRAM Problems With Self-Powered USB Devices (HTML) (日本語 HTML)
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
Hardware & Drivers Technical Q&As 2003-08-21
SDRAM, CAS Latency for the (HTML)
QA1071: Describes the supported CAS Latency values for the "QuickSilver", PowerMac G4 CPUs.
Hardware & Drivers Technical Q&As 2001-09-13
Secrets of the GPT (HTML)
TN2166: Describes the new partition map format used by Intel-based Macintosh computers.
Hardware & Drivers Technical Notes 2006-11-06
Sending SCSI or ATA commands to storage devices (HTML) (日本語 HTML)
QA1179: Explains that Mac OS X does not implement SCSI or ATA pass-through for many mass storage devices.
Hardware & Drivers Technical Q&As 2005-05-10
Sequence Grabber - Determining the capture resolution of an IIDC device (HTML)
QA1403: Discusses how to determine the resolution of a captured image from an IIDC device
Hardware & Drivers Technical Q&As 2005-01-06