Jump To:
Leopard Reference Library
Apple provides information hardware developers can use to create products that are compatible with Macintosh computers and programming interfaces software developers can use to create software that drives or accesses devices.

A guided learning path for hardware and driver developers new to Mac OS X.   Essential information for developing drivers and device-access software.   API references organized by framework.
Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Topic
Sort by
Resource Type
Sort by
Date
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Performance 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
Apple Hardware, Performance 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.
Apple Hardware 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.
Apple Hardware 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.
Apple Hardware 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.
PCI and PC Card 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.
AirPort/802.11, Apple Hardware, ATA, Audio, Bluetooth, Ethernet, Fibre Channel, FireWire, Human Interface Device & Force Feedback, Networking, PCI and PC Card, Printing, Scanners, SCSI, Serial, Still Cameras, Storage, USB Technical Q&As 2002-02-13
Power Manager 2.0 (HTML) (日本語 HTML)
TN1190: Describes the Macintosh Power Manager 2.0.
Apple Hardware 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.
Apple Hardware Guides 2008-02-20
PowerPC G5 Performance Primer (HTML) (日本語 HTML)
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
Performance 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.
Apple Hardware 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.
Apple Hardware Technical Q&As 2008-09-24
Quartz Display Services Reference (HTML) (PDF)
Describes the interface for configuring and controlling display hardware.
Graphics & Imaging Reference 2008-11-19
RAM Expansion Developer Note (HTML)
Details requirements of RAM modules for use in Mac computers.
Apple Hardware 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.
Apple Hardware 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.
Bonjour, Networking 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.
Apple Hardware, Performance 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.
Audio, FireWire, Human Interface Device & Force Feedback, Printing, Scanners, SCSI, Still Cameras, Storage, USB 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.
Open Firmware, PCI and PC Card Technical Notes 2000-09-22
SampleFilterScheme (HTML) (DMG) (ZIP)
Demonstrates a simple filter scheme which passes all operations through to its provider unchanged.
Mac OS X Server, Storage 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.
Audio, USB 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.
SCSI 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.
Apple Hardware, Performance, SCSI, Storage Technical Q&As 1999-12-20
SCSIHBAEmulator (HTML) (DMG) (ZIP)
Demonstration of how to implement a virtual parallel tasking SCSI host bus adapter (HBA)
SCSI, Storage Sample Code 2007-02-20
SCSIOldAndNew (HTML) (DMG) (ZIP)
Demonstrates a backward-compatible technique for communicating with SCSI parallel devices on Mac OS X.
Fibre Channel, Printing, Scanners, SCSI, Still Cameras, Storage 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 .
Apple Hardware, Human Interface Device & Force Feedback, Performance, Storage, USB 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.
Apple Hardware, Performance Technical Q&As 2001-09-13
Secrets of the GPT (HTML)
TN2166: Describes the new partition map format used by Intel-based Macintosh computers.
Storage 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.
Fibre Channel, FireWire, Scanners, SCSI, Storage, USB 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
QuickTime Technical Q&As 2005-01-06
Serial API Choice (HTML)
DV39: Discusses the choice of serial APIs supported by traditional Mac OS and Mac OS X.
Serial Technical Q&As 2001-07-02
SerialPortSample (HTML) (DMG) (ZIP)
Demonstrates how to do serial I/O on Mac OS X.
Serial Sample Code 2005-08-16
SetMouseAcclSample (HTML) (DMG) (ZIP)
Find HID System Manager and get/set cursor acceleration
Human Interface Device & Force Feedback Sample Code 2006-11-28
simpleAVC (HTML) (DMG) (ZIP)
Shows how to discover and send commands to AVC devices connected by FireWire.
FireWire Sample Code 2003-01-14
SimplePlayThru (HTML) (DMG) (ZIP)
Use the HAL's Audio Output Unit (AUHAL) for device input and output on a single device (play-thru)
Audio Sample Code 2006-10-25
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
ATA, Audio, Fibre Channel, PCI and PC Card, SCSI, Storage Sample Code 2008-08-27
SimpleVideoOut (HTML) (DMG) (ZIP)
Demonstrates how QuickTime Video Output Components can be used to play video out to hardware.
QuickTime Sample Code 2005-08-10
Sleep vs. Doze on Mac OS X (HTML)
QA1309: Discusses and demonstrates sleep versus doze detection on Machintosh Mac OS X
Apple Hardware, PCI and PC Card, Performance Technical Q&As 2003-10-09
SMARTQuery (HTML) (DMG) (ZIP)
Demonstration of how to access and use S.M.A.R.T. disk monitoring functionality
Apple Hardware, ATA, Storage Sample Code 2007-05-30
Specifiying if the CPU or the GPU should be used for rendering. (HTML)
QA1416: Which processor will be used for rendering in Core Image and how to affect it.
Graphics & Imaging Technical Q&As 2005-08-16
The state of mDNSResponder (HTML)
QA1339: Explains how to obtain information regarding the internal state of mDNSResponder.
Bonjour, Networking Technical Q&As 2006-10-03
Stopping Forth command scrolls (HTML) (日本語 HTML)
HW57: Describes how to limit Forth commands from scrolling off the screen.
Apple Hardware, Performance Technical Q&As 1999-03-29
Switching between one and two machine mode for the Open Firmware user interface (HTML) (日本語 HTML)
HW37: Explains how to change from one machine mode to two in the Open Firmware user interface.
Open Firmware Technical Q&As 1999-02-15
T_DATA_REQ vs M_DATA TPI Message Blocks (HTML) (日本語 HTML)
NW42: Explains why OT passes data to a TPI module using M_DATA message blocks instead of M_PROTO+T_DATA_REQ.
Networking Technical Q&As 1996-10-25
TCP/IP Option Sizes (HTML) (日本語 HTML)
NW62: Enumerates the TCP/IP options and their sizes for Open Transport.
Networking Technical Q&As 1999-04-26
tcplognke (HTML) (DMG) (ZIP)
Demonstrates a TCP socket filter based on supported Kernel Programming Interfaces for Tiger
Networking Sample Code 2006-11-27
Thermal considerations for Mac Pro FB-DIMMs (HTML)
TN2156: Design considerations and specifications for the AMB and Heat spreader for the Mac Pro
Apple Hardware Technical Notes 2006-11-10
Tips on USB driver matching for Mac OS X (HTML)
QA1076: Gives some tips on getting USB driver matching to work.
USB Technical Q&As 2008-08-14
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
AirPort/802.11, ATA, Audio, Ethernet, FireWire, Networking, PCI and PC Card, SCSI, Serial, Storage, USB Technical Notes 2008-08-14
Uniquely Identifying a Macintosh Computer (HTML) (日本語 HTML)
TN1103: How to identify a specific Macintosh computer.
Security Technical Notes 2006-04-25
Universal Serial Bus Developer Note (HTML)
Provides an overview of Universal Serial Bus (USB) and describes support for it on Mac computers.
USB Guides 2008-04-28
USB Device Interface Guide (HTML) (PDF)
Provides background information and sample code for developing applications to communicate with or control USB devices and interfaces.
USB Guides 2007-09-04
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Audio, Fibre Channel, FireWire, Human Interface Device & Force Feedback, Printing, Scanners, SCSI, Serial, Still Cameras, Storage, USB Sample Code 2006-10-16
Use the Doorbell (HTML) (日本語 HTML)
Deprecated - FW01: Explains the function of the FireWire Serial Bus Protocol 2 (SBP2) doorbell.
FireWire Technical Q&As 1999-05-17
User-Mode USB Device Arbitration (HTML)
Information about using USB device arbitration, available in Mac OS X version 10.1 and later.
USB Guides 2002-02-06
Using "words" in Open Firmware (HTML)
HW73: Explains how to search for specific entries within all the global and local Open Firmware words.
Open Firmware, PCI and PC Card Technical Q&As 1999-10-11
Using AudioDeviceRead in Mac OS 10.4 (HTML)
TN2113: How to use AudioBufferLists with AudioDeviceRead in Tiger and beyond.
Audio Technical Notes 2006-11-29
VendorSpecificType00 (HTML) (DMG) (ZIP)
Demonstrates how to access vendor-specific storage device functionality using a simple interface from user space code.
Fibre Channel, FireWire, SCSI, Storage, USB Sample Code 2006-10-02
Video capture with multiple IIDC cameras (HTML)
QA1365: Discusses factors which influence the number of IIDC cameras that can simultaniously be used for capture.
FireWire Technical Q&As 2008-08-08
Video Developer Note (HTML)
Details video capabilities of Mac computers.
Graphics & Imaging Guides 2008-04-28
Video Hardware Info (HTML) (DMG) (ZIP)
Sample demonstrates how to query the video hardware for useful information.
PCI and PC Card Sample Code 2004-02-12
VolumeToBSDNode (HTML) (DMG) (ZIP)
Shows how to iterate across all mounted volumes and retrieve their BSD node names.
Storage Sample Code 2006-10-16
Was that a path I just saw? (HTML)
HW101: Describes the Open Firmware path that is occasionally shown at boot time.
Open Firmware, PCI and PC Card Technical Q&As 2000-10-06
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
AirPort/802.11, Apple Hardware, Audio, Ethernet, Fibre Channel, FireWire, Mac OS X Server, Networking, PCI and PC Card, QuickTime, Scanners, SCSI, Serial, Still Cameras, Storage, USB Technical Q&As 1999-02-15
What are generic names in Open Firmware? (HTML) (日本語 HTML)
HW34: Documents the generic names in Open Firmware.
Open Firmware, PCI and PC Card Technical Q&As 1999-02-15
What are snag keys in Open Firmware? (HTML) (日本語 HTML)
HW35: Explains Open Firmware snag keys, including examples of their function.
Apple Hardware, FireWire, Networking, Storage, USB Technical Q&As 1999-02-15
What is a CardBus host bus adapter HBA? (HTML)
HW79: Explains what a CardBus host bus adapter (HBA) is and discusses its implementation on the Macintosh.
PCI and PC Card Technical Q&As 1999-11-15
What is a tokenizer? (HTML) (日本語 HTML)
HW58: Defines a tokenizer.
Open Firmware, PCI and PC Card Technical Q&As 1999-03-29
What is an Open Firmware devalias? (HTML)
HW99: Describes devaliases in Open Firmware.
Open Firmware, PCI and PC Card Technical Q&As 2000-10-06
What is an Open Firmware phandle, and why can't I access it from the Mac OS? (HTML)
HW76: Explains an "Open Firmware phandle" and why it is inaccessible from the Mac OS.
Open Firmware, PCI and PC Card Technical Q&As 1999-11-15
What is meant by 1 machine mode vs. 2 machine mode with respect to Open Firmware? (HTML) (日本語 HTML)
HW36: Documents 1 machine mode vs. 2 machine mode in Open Firmware.
Apple Hardware Technical Q&As 1999-02-15
What is the return stack in Open Firmware and can I use it? (HTML)
HW67: Describes the purpose of the Open Firmware return stack and how developers can use it.
Open Firmware, PCI and PC Card Technical Q&As 1999-10-11
What is the word "see" and how do I use it to help me find what a word does? (HTML)
HW72: Explains the function and use of the Open Firmware word "see".
Apple Hardware, Performance Technical Q&As 1999-10-11
What is unsolicited status? (HTML) (日本語 HTML)
FW03: Explains the meaning and usage of the SBP-2 unsolicited status message.
FireWire Technical Q&As 1999-05-17
When to use PCMCIA, PC Card, and CardBus (HTML)
HW77: Explains the differences between PCMCIA, PC Card, and CardBus.
PCI and PC Card Technical Q&As 1999-11-15
Which Machines Support Driver Services Library and the MP Nanokernel? (HTML) (日本語 HTML)
HW63: Lists the systems that do and don't support the Driver Services Library and the MP Nanokernel.
Apple Hardware, Performance, Storage Technical Q&As 1999-07-12
Why does logging keep my Printer Module from working? (HTML) (日本語 HTML)
Deprecated - QA1182: Describes some problems with standard printf logging in a Printer Module on Jaguar.
Printing Technical Q&As 2002-11-06
Why don't all of my PDE localizations show up in all applications? (HTML) (日本語 HTML)
QA1185: Explains why some PDE localizations might not appear in all applications.
Printing Technical Q&As 2002-10-16
Workaround for Asynchronous SCSIAction Crashes (HTML) (日本語 HTML)
Deprecated - QA1129: Explains how to workaround asynchronous SCSIAction crashes on Mac OS X.
SCSI Technical Q&As 2002-03-21
Working with Configuration Variables (HTML) (日本語 HTML)
QA1119: Explains how to delete a specific Open Firmware configuration variable without using Command-Option-P-R.
Apple Hardware, PCI and PC Card Technical Q&As 2002-02-13
Writing PCI Drivers (HTML) (PDF)
Conceptual information about writing I/O Kit drivers for PCI, AGP, and CardBus (PC Card) devices.
PCI and PC Card Guides 2006-04-04
Xserve Developer Note (HTML)
Specifies the internal design, I/O features, and expansion capabilities of the 4-core and 8-core Xserve introduced in January 2008.
Apple Hardware Guides 2008-02-08
Xserve Developer Note (HTML)
Apple Hardware Guides 2007-01-12
Xserve G5 Developer Note (HTML) (PDF)
Specifies the internal design, I/O features, and expansion capabilities of the Xserve G5 computer introduced in January 2005.
Apple Hardware Guides 2008-02-21
Xserve G5 PCI Hardware RAID Card (PDF)
Explains how to install the card in an Xserve G5 and how to set up a RAID volume.
Apple Hardware, Storage Guides 2005-01-03
Xserve G5 Quick Start (PDF)
Explains where to find information for installing, setting up, using, and monitoring Xserve G5 systems.
Apple Hardware Guides 2005-01-03
Xserve G5 Using the Hardware RAID PCI Card (PDF)
Explains how to use the software provided with the Hardware RAID PCI Card to configure and manage RAID operations.
Apple Hardware, Storage Guides 2005-01-03
Xserve G5 Using Xserve Remote Diagnostics (PDF)
Explains how to use the Xserve Remote Diagnostics tool to test server hardware.
Apple Hardware Guides 2005-01-03
Xserve RAID User's Guide (PDF)
Explains how to install the Xserve RAID system, connect it to a host system, and configure RAID storage.
Apple Hardware, Storage Guides 2005-01-03
Xserve User's Guide (PDF)
Explains how to install, operate, and update Xserve systems. Includes expansion and hardware specifications.
Apple Hardware Guides 2008-06-09