Jump To:
Leopard Technical Q&As
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

Sort by
Title
Sort by
Topic
Sorted by
Date
Allocating and sharing memory with user space from an I/O Kit driver (HTML) (日本語 HTML)
QA1197: Describes the preferred technique for allocating and sharing buffers in an I/O Kit kernel driver.
AirPort/802.11, ATA, Audio, Bluetooth, Ethernet, Fibre Channel, FireWire, Networking, PCI and PC Card, Scanners, SCSI, Serial, Storage, USB 2008-10-13
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
AirPort/802.11, Apple Hardware, ATA, Audio, Bluetooth, Bonjour, Ethernet, Fibre Channel, FireWire, Human Interface Device & Force Feedback, Mac OS X Server, Networking, PCI and PC Card, Performance, Printing, QuickTime, Scanners, SCSI, Serial, Still Cameras, Storage, USB 2008-10-13
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Apple Hardware 2008-09-24
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 2008-09-24
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
AirPort/802.11, Apple Hardware, ATA, Audio, Bluetooth, Ethernet, Fibre Channel, FireWire, Human Interface Device & Force Feedback, Networking, Open Firmware, PCI and PC Card, Printing, Scanners, SCSI, Serial, Still Cameras, Storage, USB 2008-09-18
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.
Apple Hardware, Open Firmware, Performance 2008-09-16
Tips on USB driver matching for Mac OS X (HTML)
QA1076: Gives some tips on getting USB driver matching to work.
USB 2008-08-14
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 2008-08-08
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
AirPort/802.11, Bonjour, Networking 2008-06-03
ExpressCard Prevents System Sleep (HTML)
QA1517: Describes how some ExpressCard cards can prevent system sleep and how to fix the problem.
AirPort/802.11, ATA, Ethernet, Fibre Channel, Networking, PCI and PC Card, Serial, USB 2007-02-28
The state of mDNSResponder (HTML)
QA1339: Explains how to obtain information regarding the internal state of mDNSResponder.
Bonjour, Networking 2006-10-03
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
USB 2006-02-28
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
AirPort/802.11, Apple Hardware, ATA, Audio, Bluetooth, Bonjour, Ethernet, Fibre Channel, FireWire, Human Interface Device & Force Feedback, Mac OS X Server, Networking, PCI and PC Card, Performance, Printing, QuickTime, Scanners, SCSI, Serial, Still Cameras, Storage, USB 2006-02-22
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 2005-08-16
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.
Bonjour, Networking 2005-07-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 2005-05-10
iSight - Configuring gain settings for IIDC cameras (HTML)
QA1421: Discusses how to configure features of IIDC cameras, specifically gain for the iSight
QuickTime 2005-04-06
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 2005-01-06
Obtaining the name of an external MIDI Device from a MIDI Endpoint (HTML)
QA1374: Get the names of external MIDI Devices from MIDI Endpoints.
Audio 2004-12-01
Installing smart card reader drivers (HTML)
QA1359: Updates obsolete information contained in the pcscd(8) man page on Mac OS X Jaguar and Panther.
Serial, USB 2004-08-30
Bonjour service types used in Mac OS X (HTML)
QA1312: Provides a list of common Bonjour service types used in Mac OS X.
Bonjour 2004-07-14
Available FireWire Isochronous Bandwidth (HTML)
QA1356: Discusses attempting to "pre-flight" an isochronous bandwidth allocation request by reading the currently available bandwidth.
Audio, FireWire, QuickTime 2004-07-07
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Bonjour, Networking 2004-06-01
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.
Printing 2004-05-26
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Bonjour, Networking 2004-03-23
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.
Apple Hardware, Open Firmware 2004-03-18
Clearing mDNSResponder's cached records (HTML)
QA1310: Clearing the Bonjour service cache (mDNSResponder's cached records) for testing purposes.
Bonjour 2004-02-11
Issues with boot time KEXT loading (HTML) (日本語 HTML)
QA1087: Explains how to solve problems with loading KEXTs at boot time.
ATA, Bluetooth, Ethernet, FireWire, Human Interface Device & Force Feedback, Networking, PCI and PC Card, SCSI, Serial, USB 2004-01-15
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.
AirPort/802.11, Apple Hardware, ATA, Audio, Bluetooth, Ethernet, Fibre Channel, FireWire, Human Interface Device & Force Feedback, Mac OS X Server, Networking, PCI and PC Card, Performance, QuickTime, SCSI, Serial, Storage, USB 2003-10-28
Bonjour TXT record rate limiting in Panther (HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
Bonjour 2003-10-23
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 2003-10-23
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 2003-10-09
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.
PCI and PC Card 2003-09-30
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.
PCI and PC Card, Performance 2003-09-24
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 2003-08-21
Bluetooth Radio Power Class for Apple Systems (HTML) (日本語 HTML)
QA1278: Notes Preferred Bluetooth Transmitter Characteristics for products designed for Apple Systems.
Apple Hardware, Bluetooth, Performance 2003-08-06
DRAM DIMM power pin connections for Macintosh Computers (HTML) (日本語 HTML)
QA1271: Discusses design considerations for DRAM DIMM power pin connections for Macintosh Computers.
Apple Hardware, Performance 2003-07-04
Power adapter Sensing for the 17" PowerBook (HTML) (日本語 HTML)
QA1266: Details Design and detection considerations for 17-inch PowerBook power adapters
Apple Hardware, Performance 2003-06-12
Empty Memory Objects (HTML) (日本語 HTML)
QA1259: Describes how two memory management edge cases are handled by the common Mac OS memory allocators.
Apple Hardware, Performance 2003-04-21
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 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 2002-10-16
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).
Apple Hardware, Performance 2002-08-19
Workaround for Asynchronous SCSIAction Crashes (HTML) (日本語 HTML)
Deprecated - QA1129: Explains how to workaround asynchronous SCSIAction crashes on Mac OS X.
SCSI 2002-03-21
PC100 SDRAM DIMMs on the Flat Panel iMac (HTML) (日本語 HTML)
QA1130: Describes PC100 SDRAM DIMM limitations on the "original " Flat Panel iMac.
Apple Hardware, Performance 2002-03-18
IOLog and Interrupt Context (HTML) (日本語 HTML)
QA1100: Describes when IOKit runs at primary (hardware) interrupt context.
PCI and PC Card 2002-02-13
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 2002-02-13
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 2002-02-13
Making sense of IOKit error codes (HTML) (日本語 HTML)
QA1075: Explains how to interpret I/O Kit error codes.
ATA, Bluetooth, Ethernet, FireWire, Networking, PCI and PC Card, SCSI, Serial, USB 2002-02-07
Energy Star PCI Device (HTML) (日本語 HTML)
QA1108: Provides useful information for developers of Energy Star-compliant PCI devices.
Apple Hardware, PCI and PC Card, Performance 2002-01-15
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
AirPort/802.11, Apple Hardware, ATA, Audio, Bluetooth, Ethernet, Fibre Channel, FireWire, Human Interface Device & Force Feedback, Mac OS X Server, Networking, PCI and PC Card, Performance, Printing, QuickTime, Scanners, SCSI, Serial, Still Cameras, Storage, USB 2002-01-15
Menu Bar Clock and NVRAM (HTML)
QA1102: Explains why booting with the Command-Option-P-R keys doesn't reset date and time preferences.
Apple Hardware, Performance 2001-12-21
Resetting NVRAM to factory defaults (HTML)
QA1103: Describes what happens when you boot holding the Command-Option-P-R keys.
Apple Hardware, Performance 2001-12-21
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 2001-12-20
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
ATA, Ethernet, Fibre Channel, FireWire, Networking, PCI and PC Card, SCSI, Serial, Storage, USB 2001-12-05
Avoiding Kernel Event Conflicts (HTML)
QA1063: Documents the namespace for the vendor_code field of the kern_event_msg structure.
PCI and PC Card 2001-09-14
SDRAM, CAS Latency for the (HTML)
QA1071: Describes the supported CAS Latency values for the "QuickSilver", PowerMac G4 CPUs.
Apple Hardware, Performance 2001-09-13
Determining RAM size & location in New World Machines (HTML)
QA1065: Demonstrates Open Firmware method of determining RAM size & location in New World Machines.
Apple Hardware, Performance 2001-08-01
Serial API Choice (HTML)
DV39: Discusses the choice of serial APIs supported by traditional Mac OS and Mac OS X.
Serial 2001-07-02
128Mb SDRAM ICs limitation on original "Bronze Keyboard" Powerbook G3 (HTML)
QA1040: Outlines Memory ICs design limitation on original "Bronze Keyboard" Powerbook G3.
Apple Hardware 2001-06-21
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Human Interface Device & Force Feedback, USB 2001-06-13
Displaying PCI Configuration Registers contents in Open Firmware (HTML)
QA1036: Demonstrates how to display PCI Configuration Resister contents in Open Firmware.
Apple Hardware, PCI and PC Card, Performance 2001-05-18
Determining Open Firmware version (HTML)
HW100: Demonstrates how to find out the version of Open Firmware on your Macintosh.
Open Firmware, PCI and PC Card 2000-10-06
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 2000-10-06
What is an Open Firmware devalias? (HTML)
HW99: Describes devaliases in Open Firmware.
Open Firmware, PCI and PC Card 2000-10-06
Open Firmware Memory bus speed (HTML)
HW97: Describes a method to display memory bus speed for G3 or G4 Macintosh in Open Firmware.
Apple Hardware, PCI and PC Card 2000-09-22
Open Firmware version number (HTML)
HW96: Discusses the unique values of Open Firmware version numbers.
Apple Hardware, Performance 2000-09-22
The "/aliases" node in the device tree (HTML)
HW89: Describes the aliases node in the Open Firmware device tree.
Open Firmware, PCI and PC Card 2000-09-05
The "chosen" node in the device tree (HTML)
HW88: Describes how to find the "chosen" node in the Open firmware device tree.
Apple Hardware, Ethernet, Networking, PCI and PC Card 2000-09-05
The "green" PCI bus (HTML)
HW93: Explains why the PCI bus is considered "green".
Apple Hardware, PCI and PC Card 2000-09-05
How many PCI header types exist today? (HTML)
HW92: Briefly describes the three PCI header types defined in the PCI 2.2 specification.
PCI and PC Card 2000-09-05
Open Firmware device tree nodes (HTML)
HW86: Explains the usage of the "@n" notation in Open Firmware device tree nodes.
Apple Hardware, PCI and PC Card 2000-09-05
PCI address/data stepping (HTML)
HW94: Explains that Apple does not support PCI address/data stepping.
PCI and PC Card 2000-09-05
PCI class codes (HTML)
HW91: Explains why PCI class codes are important.
Apple Hardware, PCI and PC Card, Performance 2000-09-05
PCI Macintoshes and CardBus controllers (HTML)
HW87: Explains why older PCI Macintoshes do not recognize a Cardbus controller.
Apple Hardware, PCI and PC Card, Performance 2000-09-05
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.
Open Firmware, PCI and PC Card 2000-07-17
Checking for the Printer Driver (HTML)
Deprecated - DV42: Describes a legacy Mac OS technique avoiding system hangs when using serial drivers on USB systems.
Printing 2000-06-19
Legacy Devices (HTML)
HW84: Discusses why legacy devices with hard-wired I/O addresses may not work properly with Open Firmware.
ATA, PCI and PC Card, QuickTime, Storage 2000-03-20
Maximum Memory for the "Firewire" PowerBook (HTML)
Deprecated - HW83: Discrepancies between PowerBook Developer Note and TIL articles 14870 and 58582, regarding maximum memory configurations.
Apple Hardware 2000-03-13
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 1999-12-20
PCI Header types (HTML)
HW78: Describes the three required types of PCI headers to be provided in its configuration header space.
Apple Hardware, PCI and PC Card, Performance 1999-11-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 1999-11-15
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 1999-11-15
When to use PCMCIA, PC Card, and CardBus (HTML)
HW77: Explains the differences between PCMCIA, PC Card, and CardBus.
PCI and PC Card 1999-11-15
Explanation of SDRAM configuration Nomenclature (HTML)
HW75: Explains the three-part "Device configuration" numbers for SDRAM in the Power Mac G4 Computer Developer Note.
Apple Hardware, Performance 1999-10-18
Are the Name Registry device tree nodes unique? (HTML)
Deprecated - HW64: Discusses whether Name Registry nodes copied from the Open Firmware device tree are unique.
Apple Hardware, Audio, Networking, Open Firmware, PCI and PC Card, Printing 1999-10-11
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.
Open Firmware, PCI and PC Card 1999-10-11
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.
Apple Hardware, Performance 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.
Apple Hardware, Performance 1999-10-11
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 1999-10-11
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 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 1999-10-11
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").
Apple Hardware 1999-10-05
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 1999-07-12
Use the Doorbell (HTML) (日本語 HTML)
Deprecated - FW01: Explains the function of the FireWire Serial Bus Protocol 2 (SBP2) doorbell.
FireWire 1999-05-17
What is unsolicited status? (HTML) (日本語 HTML)
FW03: Explains the meaning and usage of the SBP-2 unsolicited status message.
FireWire 1999-05-17
TCP/IP Option Sizes (HTML) (日本語 HTML)
NW62: Enumerates the TCP/IP options and their sizes for Open Transport.
Networking 1999-04-26
The AAPL, slot-name property and PCI (HTML) (日本語 HTML)
HW61: Discusses the use of the AAPL,slot name property for PCI
Apple Hardware, Open Firmware, PCI and PC Card 1999-04-19
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.
Apple Hardware, Performance 1999-03-29
dl command in 1 machine mode (HTML) (日本語 HTML)
HW51: Describes using the "dl" command in 1 machine mode.
Apple Hardware 1999-03-29
PCI SIG (HTML) (日本語 HTML)
HW55: Describes the meaning of the acronym PCI SIG.
PCI and PC Card 1999-03-29