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
Avoiding Kernel Event Conflicts (HTML)
QA1063: Documents the namespace for the vendor_code field of the kern_event_msg structure.
Hardware & Drivers Technical Q&As 2001-09-14
BlitVBL (HTML) (DMG) (ZIP)
Shows how to have Mac OS X try its best to sync to the VBL for you.
Hardware & Drivers Sample Code 2003-01-14
Bluetooth Developer Note (HTML)
Provides an overview of Bluetooth technology and describes its implementation in Mac computers.
Hardware & Drivers Guides 2008-04-28
Bluetooth Device Access Guide (HTML) (PDF)
Explains how to develop applications that access Bluetooth-enabled devices.
Hardware & Drivers Guides 2007-12-11
Bluetooth Framework Reference (HTML)
Describes the C and Objective-C APIs that support user-space access to Bluetooth devices.
Hardware & Drivers Reference 2008-10-15
Bluetooth Radio Power Class for Apple Systems (HTML) (日本語 HTML)
QA1278: Notes Preferred Bluetooth Transmitter Characteristics for products designed for Apple Systems.
Hardware & Drivers Technical Q&As 2003-08-06
Bluetooth User Interface Framework Reference (HTML)
Describes the C and Objective-C APIs that provide a consistent user interface to Bluetooth services.
Hardware & Drivers Reference 2008-04-08
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Hardware & Drivers Technical Q&As 2004-03-23
Bonjour service types used in Mac OS X (HTML)
QA1312: Provides a list of common Bonjour service types used in Mac OS X.
Hardware & Drivers Technical Q&As 2004-07-14
Bonjour TXT record rate limiting in Panther (HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
Hardware & Drivers Technical Q&As 2003-10-23
Boot Blocks (HTML)
Deprecated - DV03: Warns that Boot Block form and function will change and describes undocumented Boot Blocks features.
Hardware & Drivers Technical Notes 1987-03-01
Booting after invoking the Open Firmware user interface (HTML) (日本語 HTML)
HW48: Tells how to boot a system after entering the Open Firmware user interface.
Hardware & Drivers Technical Q&As 1999-02-15
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Hardware & Drivers Sample Code 2003-06-12
Building Customized User Client Drivers for USB Devices (HTML)
Learn how to write the setup code for card readers, bill validators, and other devices.
Hardware & Drivers Articles 2006-06-26
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
Hardware & Drivers Technical Notes 2008-08-18
Can you explain the words "begin" and "again"? (HTML)
HW70: Explains the Forth looping words "begin" and "again" and how to escape such a loop.
Hardware & Drivers Technical Q&As 1999-10-11
CCL Modem Scripting Guide (HTML) (PDF)
Hardware & Drivers Guides 2007-06-28
CCL Modem Scripting Release Notes (HTML)
Explains changes to modem CCLs for Mac OS X v10.5 and what to do to change existing and supersede older scripts.
Hardware & Drivers Release Notes 2007-10-31
CD-ROM Detection (HTML) (DMG) (ZIP)
Shows how to determine whether a drive is a CD-ROM drive.
Hardware & Drivers Sample Code 2003-01-14
CD-ROM Driver Calls (HTML)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
Hardware & Drivers Technical Notes 2000-08-14
CDROMSample (HTML) (DMG) (ZIP)
Demonstrates how to find CD-ROM media and read sectors from that media on Mac OS X.
Hardware & Drivers Sample Code 2006-01-31
Changing the configuration variable in Open Firmware (HTML) (日本語 HTML)
HW40: Tells how to change the configuration variable in Open Firmware.
Hardware & Drivers Technical Q&As 1999-02-15
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Hardware & Drivers Technical Q&As 1997-03-14
Checking for the Printer Driver (HTML)
Deprecated - DV42: Describes a legacy Mac OS technique avoiding system hangs when using serial drivers on USB systems.
Hardware & Drivers Technical Q&As 2000-06-19
Checkout Lets You 'Get a Mac, Start a Store': Madebysofa Does It with Python and Cocoa (HTML)
Success story on how Mac-only Checkout was built using Python and Cocoa.
Hardware & Drivers Articles 2007-07-10
The "chosen" node in the device tree (HTML)
HW88: Describes how to find the "chosen" node in the Open firmware device tree.
Hardware & Drivers Technical Q&As 2000-09-05
Clearing mDNSResponder's cached records (HTML)
QA1310: Clearing the Bonjour service cache (mDNSResponder's cached records) for testing purposes.
Hardware & Drivers Technical Q&As 2004-02-11
Cocoa OpenGL (HTML) (DMG) (ZIP)
Demonstrates using Cocoa with OpenGL, including window setup and event handling.
Hardware & Drivers Sample Code 2007-10-22
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
Hardware & Drivers Guides 2008-11-19
Code Signing Release Notes (HTML)
Hardware & Drivers Release Notes 2007-10-31
Coding in the Kernel (HTML)
Considerations and caveats about programming in the kernel.
Hardware & Drivers Guides 2005-11-09
Common QA and Roadmap for USB Software Development on Mac OS X (HTML)
QA1370: Roadmap for development of USB Software on Mac OS X and some Common Questions and Answers
Hardware & Drivers Technical Q&As 2006-02-28
CPUGestalt (HTML) (DMG) (ZIP)
Deprecated - Shows how to determine the processor type of the Macintosh you're running on.
Hardware & Drivers Sample Code 2003-10-27
CustomMediaIcons (HTML) (DMG) (ZIP)
Providing custom media icons for storage
Hardware & Drivers Sample Code 2007-07-10
DDR SDRAM ICs for PowerBooks and iBooks that use Memory bus slewing (HTML)
QA1344: Specifies DDR SDRAM IC optimization for PowerBooks and iBooks that use Memory bus slewing.
Hardware & Drivers Technical Q&As 2004-03-18
Dealing with PCI Expansion Chassis Problems (HTML) (日本語 HTML)
TN1135: Discusses solutions for compatibility issues between PCI cards and attached expansion chassis.
Hardware & Drivers Technical Notes 1998-08-01
Detecting a CD-ROM (HTML) (日本語 HTML)
DV18: Demonstrates CD-ROM drive detection.
Hardware & Drivers Technical Q&As 1997-01-31
Detecting low printer ink levels (HTML)
TN2144: How to detect printer supply levels using a low ink tool
Hardware & Drivers Technical Notes 2005-06-29
Detecting specific ROM-in-RAM Mac (HTML) (日本語 HTML)
Deprecated - HW49: Identifying a Mac by name ("iMac"), and better alternatives for determining specific features ("has Firewire").
Hardware & Drivers Technical Q&As 1999-10-05
Determining Open Firmware version (HTML)
HW100: Demonstrates how to find out the version of Open Firmware on your Macintosh.
Hardware & Drivers Technical Q&As 2000-10-06
Determining RAM size & location in New World Machines (HTML)
QA1065: Demonstrates Open Firmware method of determining RAM size & location in New World Machines.
Hardware & Drivers Technical Q&As 2001-08-01
Determining the version of Open Firmware on your Mac (HTML) (日本語 HTML)
HW60: Describes a method to display the version of Open Firmware on a Macintosh.
Hardware & Drivers Technical Q&As 1999-03-29
Device File Access Guide for Serial Devices (HTML) (PDF)
Guidelines for using I/O Kit and POSIX functions to develop applications that communicate with serial devices.
Hardware & Drivers Guides 2005-12-06
Device File Access Guide for Storage Devices (HTML) (PDF)
Guidelines for using I/O Kit and POSIX functions to develop applications that communicate with storage devices.
Hardware & Drivers Guides 2007-03-06
Difference between an Open Firmware word and method (HTML) (日本語 HTML)
HW46: Describes the differences between an Open Firmware word and an Open Firmware method.
Hardware & Drivers Technical Q&As 1999-02-15
Difference between using Restart or Shut Down in the Finder's Special menu in Open Firmware (HTML) (日本語 HTML)
HW47: Explains the differences between using Restart or Shut Down on Open Firmware
Hardware & Drivers Technical Q&As 1999-02-15
Digital CD Audio (HTML) (日本語 HTML)
TN1187: Describes digital audio on the Macintosh.
Hardware & Drivers Technical Notes 2000-04-01
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Hardware & Drivers Technical Q&As 2008-09-16
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Hardware & Drivers Technical Q&As 2004-06-01
Disk Arbitration Framework Reference (HTML)
Describes Disc Arbitration API, which includes information on mount/unmount notification and dissent.
Hardware & Drivers Reference 2008-04-08
Displaying PCI Configuration Registers contents in Open Firmware (HTML)
QA1036: Demonstrates how to display PCI Configuration Resister contents in Open Firmware.
Hardware & Drivers Technical Q&As 2001-05-18
dist_fft (HTML) (DMG) (ZIP)
Gigaelement FFTs on Apple G5 clusters
Hardware & Drivers Sample Code 2004-08-23
dl command in 1 machine mode (HTML) (日本語 HTML)
HW51: Describes using the "dl" command in 1 machine mode.
Hardware & Drivers Technical Q&As 1999-03-29
DNS Service Discovery Java Reference (HTML)
Describes DNS Service Discovery API features of ZeroConf networking for Java on Mac OS X in Javadoc format.
Hardware & Drivers Reference 2008-10-15
Do PowerBooks have a PCI bus? (HTML) (日本語 HTML)
HW43: Explains that a Powerbook has a PCI bus.
Hardware & Drivers Technical Q&As 1999-02-15
DR Emulator Caches (HTML) (日本語 HTML)
Deprecated - HW28: Describes the Dynamic Recompiling emulator's cache, including a description of when to flush the cache.
Hardware & Drivers Technical Q&As 1996-04-08
DRAM DIMM power pin connections for Macintosh Computers (HTML) (日本語 HTML)
QA1271: Discusses design considerations for DRAM DIMM power pin connections for Macintosh Computers.
Hardware & Drivers Technical Q&As 2003-07-04
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
Hardware & Drivers Technical Q&As 2001-12-05
eMac Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the eMac computer introduced in May 2005.
Hardware & Drivers Guides 2005-05-03
Empty Memory Objects (HTML) (日本語 HTML)
QA1259: Describes how two memory management edge cases are handled by the common Mac OS memory allocators.
Hardware & Drivers Technical Q&As 2003-04-21
Energy Star PCI Device (HTML) (日本語 HTML)
QA1108: Provides useful information for developers of Energy Star-compliant PCI devices.
Hardware & Drivers Technical Q&As 2002-01-15
enetlognke (HTML) (DMG) (ZIP)
Interface filter based on supported Kernel Programming Interfaces for Tiger.
Hardware & Drivers Sample Code 2005-08-10
Ethernet Developer Note (HTML)
Provides an overview of Ethernet technology and describes its implementation in Mac computers.
Hardware & Drivers Guides 2008-04-28
Explanation of SDRAM configuration Nomenclature (HTML)
HW75: Explains the three-part "Device configuration" numbers for SDRAM in the Power Mac G4 Computer Developer Note.
Hardware & Drivers Technical Q&As 1999-10-18
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
Hardware & Drivers Technical Q&As 2007-02-28
Faster DDR DRAM in the 867MHz Power Mac G4 (Mirrored Drive Doors) (HTML) (日本語 HTML)
QA1191: Confirms the use of faster DDR DRAM in the 867MHz Power Mac G4 (Mirrored Drive Doors).
Hardware & Drivers Technical Q&As 2002-08-19
FireWire Audio User Library Framework Reference (HTML)
Describes the API that supports user-space access to FireWire audio devices and enables the creation of virtual FireWire audio devices.
Hardware & Drivers Reference 2008-04-08
FireWire Developer Note (HTML)
Provides an overview of FireWire (IEEE 1394) and describes support for it on Mac computers.
Hardware & Drivers Guides 2008-04-28
FireWire Device Interface Guide (HTML) (PDF)
Explains how to develop applications to communicate with or control FireWire devices and units.
Hardware & Drivers Guides 2007-02-08
FireWire: DCL Programs Under Mac OS X (HTML) (日本語 HTML)
TN2072: Describes the structure and creation of DCL programs under Mac OS X.
Hardware & Drivers Technical Notes 2003-06-21
Force Feedback Framework Reference (HTML)
Describes the public interfaces to the Force Feedback implementation in Mac OS X, including support for plug-ins.
Hardware & Drivers Reference 2008-04-08
Fundamentals of Open Firmware, Part I: The User Interface (HTML)
TN1061: Describes the Open Firmware User Interface, Forth and the Open Firmware language used in Apple products.
Hardware & Drivers Technical Notes 1996-07-01
Fundamentals of Open Firmware, Part II: The Device Tree (HTML)
TN1062: Describes the Open Firmware device tree.
Hardware & Drivers Technical Notes 1996-09-01
Fundamentals of Open Firmware, Part III: Understanding PCI Expansion ROM Choices for Mac OS (HTML)
TN1044: Recommended contents for PCI expansion ROMs, including a table of standard devices, properties and methods.
Hardware & Drivers Technical Notes 2001-06-26
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Hardware & Drivers Technical Q&As 2008-10-13
GetHWEthernetAddr (HTML) (DMG) (ZIP)
Deprecated - Shows how to obtain the hardware Ethernet address of a machine.
Hardware & Drivers Sample Code 2003-01-14
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Hardware & Drivers Sample Code 2003-01-14
GetPrimaryMACAddress (HTML) (DMG) (ZIP)
Demonstrates retrieving the MAC address of the built-in Ethernet controller. Useful for uniquely identifying a Macintosh system.
Hardware & Drivers Sample Code 2005-10-27
GetSetOptions (HTML) (DMG) (ZIP)
Demonstrates a variety of uses of Open Transport's option management routines.
Hardware & Drivers Sample Code 2003-01-14
Getting a List of Drivers & LUNs (logical unit numbers) (HTML)
Deprecated - DV04: Describes a legacy Mac OS technique for obtaining a list of SCSI Parallel drivers, devices, and LUNs.
Hardware & Drivers Technical Q&As 1995-07-01
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Hardware & Drivers Technical Q&As 2008-06-03
The "green" PCI bus (HTML)
HW93: Explains why the PCI bus is considered "green".
Hardware & Drivers Technical Q&As 2000-09-05
GridCalendar (HTML) (DMG) (ZIP)
Demonstrates how to add a custom job submission UI to the GridSample project.
Hardware & Drivers Sample Code 2005-06-01
Hardware Developer Note Terms and Abbreviations (HTML)
Lists common terms and abbreviations used in Apple's Hardware Developer Notes.
Hardware & Drivers Guides 2006-08-08
HBA Device Driver Programming Guide (HTML) (PDF)
Describes how to develop a high-performance, kernel-resident driver for an HBA device.
Hardware & Drivers Guides 2006-05-23
HID Class Device Interface Guide (HTML) (PDF)
Explains how to develop applications to communicate with or control HID class devices.
Hardware & Drivers Guides 2009-05-06
HID Config Save (HTML) (DMG) (ZIP)
Human Interface Device Manager Configuration sample
Hardware & Drivers Sample Code 2008-05-07
HID Manager Basics (HTML) (DMG) (ZIP)
Shows basic use of HID Manager for Mac OS X: including device discovery, queues and polling elements.
Hardware & Drivers Sample Code 2003-07-10
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Hardware & Drivers Technical Q&As 2001-06-13
HID Utilities Source (HTML) (DMG) (ZIP)
Shows a high level abstract library for the HID manager.
Hardware & Drivers Sample Code 2003-10-06
High-Speed SDRAM Design Considerations (HTML) (日本語 HTML)
TN1138: Illustrates certain issues with the design of high-speed SDRAM DIMM modules.
Hardware & Drivers Technical Notes 1998-08-01
How can I tell if a PCI device has on board I/O space? (HTML)
QA1287: Demonstrates "how to" tell if a PCI device has on board I/O space.
Hardware & Drivers Technical Q&As 2003-09-24
How do I change the numeric base for the Open Firmware user interface? (HTML)
HW66: Explains how to change the numeric base for the Open Firmware user interface.
Hardware & Drivers Technical Q&As 1999-10-11
How do I determine the top of the Open Firmware dictionary? (HTML)
HW69: Explains how to determine the top of the Open Firmware dictionary.
Hardware & Drivers Technical Q&As 1999-10-11
How does Open Firmware generate the name property? (HTML) (日本語 HTML)
HW39: Describes the Open Firmware name property generation process.
Hardware & Drivers Technical Q&As 1999-02-15
How many PCI header types exist today? (HTML)
HW92: Briefly describes the three PCI header types defined in the PCI 2.2 specification.
Hardware & Drivers Technical Q&As 2000-09-05
How to use the OT modem script engine (HTML) (日本語 HTML)
Deprecated - NW50: Shows how to use the Open Transport modem script engine.
Hardware & Drivers Technical Q&As 1997-07-11
I/O Kit Device Driver Design Guidelines (HTML) (PDF)
Design guidelines and tips for developing, debugging, and deploying kernel-resident device drivers, including user clients.
Hardware & Drivers Guides 2007-03-06
I/O Kit Framework Reference (HTML)
Describes the I/O Kit classes that support non-kernel access to I/O Kit objects through the device-interface mechanism.
Hardware & Drivers Reference 2009-03-04
I/O Kit Fundamentals (HTML) (PDF)
The basics of developing device drivers. Includes descriptions of I/O Kit families.
Hardware & Drivers Guides 2007-05-17