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

Sorted by
Title
Sort by
Topic
Sort by
Date
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
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
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
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
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
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
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
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
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
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
Bonjour TXT record rate limiting in Panther (HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
Bonjour 2003-10-23
Booting after invoking the Open Firmware user interface (HTML) (日本語 HTML)
HW48: Tells how to boot a system after entering the Open Firmware user interface.
Apple Hardware, Storage 1999-02-15
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
Changing the configuration variable in Open Firmware (HTML) (日本語 HTML)
HW40: Tells how to change the configuration variable in Open Firmware.
Open Firmware 1999-02-15
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Ethernet, Networking 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.
Printing 2000-06-19
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
Clearing mDNSResponder's cached records (HTML)
QA1310: Clearing the Bonjour service cache (mDNSResponder's cached records) for testing purposes.
Bonjour 2004-02-11
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
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
Detecting a CD-ROM (HTML) (日本語 HTML)
DV18: Demonstrates CD-ROM drive detection.
Apple Hardware, ATA, SCSI, Storage 1997-01-31
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
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
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
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
Difference between an Open Firmware word and method (HTML) (日本語 HTML)
HW46: Describes the differences between an Open Firmware word and an Open Firmware method.
Open Firmware, PCI and PC Card 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
Apple Hardware, PCI and PC Card 1999-02-15
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
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
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
dl command in 1 machine mode (HTML) (日本語 HTML)
HW51: Describes using the "dl" command in 1 machine mode.
Apple Hardware 1999-03-29
Do PowerBooks have a PCI bus? (HTML) (日本語 HTML)
HW43: Explains that a Powerbook has a PCI bus.
Apple Hardware, PCI and PC Card 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.
Apple Hardware 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.
Apple Hardware, Performance 2003-07-04
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
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
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
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
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
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
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
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.
ATA, SCSI, Storage 1995-07-01
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
The "green" PCI bus (HTML)
HW93: Explains why the PCI bus is considered "green".
Apple Hardware, PCI and PC Card 2000-09-05
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
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
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
How does Open Firmware generate the name property? (HTML) (日本語 HTML)
HW39: Describes the Open Firmware name property generation process.
Apple Hardware 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.
PCI and PC Card 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.
Networking 1997-07-11
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
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
Invoking the Open Firmware user interface (HTML) (日本語 HTML)
HW45: Describes how to invoke the Open Firmware user interface on startup.
Apple Hardware 1999-02-15
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
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
IOLog and Interrupt Context (HTML) (日本語 HTML)
QA1100: Describes when IOKit runs at primary (hardware) interrupt context.
PCI and PC Card 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
QuickTime 2005-04-06
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
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
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
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
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
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
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
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
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
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
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
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Apple Hardware, Networking, Performance 1997-10-13
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
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
PCI address/data stepping (HTML)
HW94: Explains that Apple does not support PCI address/data stepping.
PCI and PC Card 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.
Apple Hardware, PCI and PC Card 1999-02-15
PCI class codes (HTML)
HW91: Explains why PCI class codes are important.
Apple Hardware, PCI and PC Card, Performance 2000-09-05
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
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
PCI SIG (HTML) (日本語 HTML)
HW55: Describes the meaning of the acronym PCI SIG.
PCI and PC Card 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.
PCI and PC Card 2003-09-30
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
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
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 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 2008-09-24
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
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
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
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
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
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
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
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
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
Serial API Choice (HTML)
DV39: Discusses the choice of serial APIs supported by traditional Mac OS and Mac OS X.
Serial 2001-07-02
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
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
The state of mDNSResponder (HTML)
QA1339: Explains how to obtain information regarding the internal state of mDNSResponder.
Bonjour, Networking 2006-10-03
Stopping Forth command scrolls (HTML) (日本語 HTML)
HW57: Describes how to limit Forth commands from scrolling off the screen.
Apple Hardware, Performance 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 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 1996-10-25