Sort by Title |
Sort by Topic |
Sort by Resource Type |
Sorted by Date |
Kernel Programming Guide
(HTML)
(PDF)
Essential information for programming in the Mac OS X kernel. Includes a high-level overview.
|
General |
Guides |
2006-11-07
|
Secrets of the GPT
(HTML)
TN2166: Describes the new partition map format used by Intel-based Macintosh computers.
|
Storage |
Technical Notes |
2006-11-06
|
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
|
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
|
VolumeToBSDNode
(HTML)
(DMG)
(ZIP)
Shows how to iterate across all mounted volumes and retrieve their BSD node names.
|
Storage |
Sample Code |
2006-10-16
|
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).
|
Networking |
Guides |
2006-10-03
|
Performance Overview
(HTML)
(PDF)
Introduces the factors that determine performance.
|
Performance |
Guides |
2006-10-03
|
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
|
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
|
iMac Developer Note
(HTML)
Specifies the internal design, I/O features, and expansion capabilities of iMac computers with Combo drive introduced September 2006.
|
Apple Hardware |
Guides |
2006-09-07
|
Hardware Developer Note Terms and Abbreviations
(HTML)
Lists common terms and abbreviations used in Apple's Hardware Developer Notes.
|
General |
Guides |
2006-08-08
|
Memory Usage Performance Guidelines
(HTML)
(PDF)
Guidelines for improving the performance of memory-related code.
|
Performance |
Guides |
2006-06-28
|
Building Customized User Client Drivers for USB Devices
(HTML)
Learn how to write the setup code for card readers, bill validators, and other devices.
|
Human Interface Device & Force Feedback, USB |
Articles |
2006-06-26
|
HBA Device Driver Programming Guide
(HTML)
(PDF)
Describes how to develop a high-performance, kernel-resident driver for an HBA device.
|
Fibre Channel, SCSI, Serial |
Guides |
2006-05-23
|
Uniquely Identifying a Macintosh Computer
(HTML)
()
TN1103: How to identify a specific Macintosh computer.
|
Security |
Technical Notes |
2006-04-25
|
iMac G5 Developer Note
(HTML)
Specifies the internal design, I/O features, and expansion capabilities of the iMac G5 computer introduced in October 2005.
|
Apple Hardware |
Guides |
2006-04-07
|
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
|
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 |
Technical Q&As |
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 |
Technical Q&As |
2006-02-22
|
CDROMSample
(HTML)
(DMG)
(ZIP)
Demonstrates how to find CD-ROM media and read sectors from that media on Mac OS X.
|
Storage |
Sample Code |
2006-01-31
|
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
|
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.
|
Serial |
Guides |
2005-12-06
|
Coding in the Kernel
(HTML)
Considerations and caveats about programming in the kernel.
|
General |
Guides |
2005-11-09
|
15-inch PowerBook G4 Developer Note
(HTML)
(PDF)
Specifies the internal design, I/O features, and expansion capabilities of the 15-inch PowerBook G4 introduced in October 2005.
|
Apple Hardware |
Guides |
2005-10-27
|
GetPrimaryMACAddress
(HTML)
(DMG)
(ZIP)
Demonstrates retrieving the MAC address of the built-in Ethernet controller. Useful for uniquely identifying a Macintosh system.
|
Ethernet, Networking |
Sample Code |
2005-10-27
|
17-inch PowerBook G4 Developer Note
(HTML)
(PDF)
Specifies the internal design, I/O features, and expansion capabilities of the 17-inch PowerBook G4 introduced in October 2005.
|
Apple Hardware |
Guides |
2005-10-19
|
AudioCDSample
(HTML)
(DMG)
(ZIP)
Demonstrates how to discover audio CDs and access the TOC information presented by the CD-DA filesystem.
|
Audio, Storage |
Sample Code |
2005-10-04
|
Obtaining 16 Bits-Per-Color Data with CUPS Raster Printing
(HTML)
TN2149: Obtaining 16 Bits-Per-Color Data with CUPS Raster Printing
|
Printing |
Technical Notes |
2005-08-24
|
SerialPortSample
(HTML)
(DMG)
(ZIP)
Demonstrates how to do serial I/O on Mac OS X.
|
Serial |
Sample Code |
2005-08-16
|
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
|
enetlognke
(HTML)
(DMG)
(ZIP)
Interface filter based on supported Kernel Programming Interfaces for Tiger.
|
Networking |
Sample Code |
2005-08-10
|
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
|
iBook Developer Note
(HTML)
(PDF)
Specifies the internal design, I/O features, and expansion capabilities of the iBook G4 computer introduced in July 2005.
|
Apple Hardware |
Guides |
2005-07-26
|
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 |
Technical Q&As |
2005-07-06
|
Detecting low printer ink levels
(HTML)
TN2144: How to detect printer supply levels using a low ink tool
|
Printing |
Technical Notes |
2005-06-29
|
GridCalendar
(HTML)
(DMG)
(ZIP)
Demonstrates how to add a custom job submission UI to the GridSample project.
|
Networking |
Sample Code |
2005-06-01
|
Sending SCSI or ATA commands to storage devices
(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
|
eMac Developer Note
(HTML)
(PDF)
Specifies the internal design, I/O features, and expansion capabilities of the eMac computer introduced in May 2005.
|
Apple Hardware |
Guides |
2005-05-03
|
iMac G5 Developer Note
(HTML)
(PDF)
Specifies the internal design, I/O features, and expansion capabilities of the iMac G5 introduced in May 2005.
|
Apple Hardware |
Guides |
2005-05-03
|
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
|
iSight - Configuring gain settings for IIDC cameras
(HTML)
QA1421: Discusses how to configure features of IIDC cameras, specifically gain for the iSight
|
QuickTime |
Technical Q&As |
2005-04-06
|
Mac mini Developer Note
(HTML)
(PDF)
Specifies the internal design, I/O features, and expansion capabilities of the Mac mini introduced January 2005.
|
Apple Hardware |
Guides |
2005-04-05
|
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
|
12-inch PowerBook G4 Developer Note
(HTML)
(PDF)
Specifies the internal design, I/O features, and expansion capabilities of the 12-inch PowerBook G4 introduced in January 2005.
|
Apple Hardware |
Guides |
2005-02-04
|
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
|
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
|
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 |
Technical Q&As |
2004-12-01
|
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
|
iSight Programming Guide
(HTML)
(PDF)
Describes the Apple iSight video camera and its enhancements.
|
FireWire, Graphics & Imaging |
Guides |
2004-10-05
|
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 |
Technical Q&As |
2004-08-30
|
dist_fft
(HTML)
(DMG)
(ZIP)
Gigaelement FFTs on Apple G5 clusters
|
Performance |
Sample Code |
2004-08-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 |
Technical Q&As |
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 |
Technical Q&As |
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 |
Technical Q&As |
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 |
Technical Q&As |
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 |
Technical Q&As |
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 |
Technical Q&As |
2004-03-18
|
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
|
Clearing mDNSResponder's cached records
(HTML)
QA1310: Clearing the Bonjour service cache (mDNSResponder's cached records) for testing purposes.
|
Bonjour |
Technical Q&As |
2004-02-11
|
Issues with boot time KEXT loading
(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 |
Technical Q&As |
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 |
Technical Q&As |
2003-10-28
|
CPUGestalt
(HTML)
(DMG)
(ZIP)
Deprecated - Shows how to determine the processor type of the Macintosh you're running on.
|
Apple Hardware |
Sample Code |
2003-10-27
|
Bonjour TXT record rate limiting in Panther
(HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
|
Bonjour |
Technical Q&As |
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 |
Technical Q&As |
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 |
Technical Q&As |
2003-10-09
|
HID Utilities Source
(HTML)
(DMG)
(ZIP)
Shows a high level abstract library for the HID manager.
|
Human Interface Device & Force Feedback |
Sample Code |
2003-10-06
|
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 |
Technical Q&As |
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 |
Technical Q&As |
2003-09-24
|
PowerPC G5 Performance Primer
(HTML)
()
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
|
Performance |
Technical Notes |
2003-09-03
|
SDRAM Problems With Self-Powered USB Devices
(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
|
Bluetooth Radio Power Class for Apple Systems
(HTML)
()
QA1278: Notes Preferred Bluetooth Transmitter Characteristics for products designed for Apple Systems.
|
Apple Hardware, Bluetooth, Performance |
Technical Q&As |
2003-08-06
|
HID Manager Basics
(HTML)
(DMG)
(ZIP)
Shows basic use of HID Manager for Mac OS X: including device discovery, queues and polling elements.
|
Human Interface Device & Force Feedback |
Sample Code |
2003-07-10
|
DRAM DIMM power pin connections for Macintosh Computers
(HTML)
()
QA1271: Discusses design considerations for DRAM DIMM power pin connections for Macintosh Computers.
|
Apple Hardware, Performance |
Technical Q&As |
2003-07-04
|
FireWire: DCL Programs Under Mac OS X
(HTML)
()
TN2072: Describes the structure and creation of DCL programs under Mac OS X.
|
FireWire |
Technical Notes |
2003-06-21
|
I/O Kit Power Controller
(HTML)
()
TN2076: Describes code to include in a KEXT in order to register for power management events.
|
Apple Hardware, PCI and PC Card |
Technical Notes |
2003-06-20
|
BSDLLCTest
(HTML)
(DMG)
(ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
|
Ethernet, Networking |
Sample Code |
2003-06-12
|
Power adapter Sensing for the 17" PowerBook
(HTML)
()
QA1266: Details Design and detection considerations for 17-inch PowerBook power adapters
|
Apple Hardware, Performance |
Technical Q&As |
2003-06-12
|
Power Management for Macintosh; getting started
(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
|
Empty Memory Objects
(HTML)
()
QA1259: Describes how two memory management edge cases are handled by the common Mac OS memory allocators.
|
Apple Hardware, Performance |
Technical Q&As |
2003-04-21
|
BlitVBL
(HTML)
(DMG)
(ZIP)
Shows how to have Mac OS X try its best to sync to the VBL for you.
|
Performance |
Sample Code |
2003-01-14
|
CD-ROM Detection
(HTML)
(DMG)
(ZIP)
Shows how to determine whether a drive is a CD-ROM drive.
|
Storage |
Sample Code |
2003-01-14
|
GetHWEthernetAddr
(HTML)
(DMG)
(ZIP)
Deprecated - Shows how to obtain the hardware Ethernet address of a machine.
|
Ethernet |
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.
|
Ethernet, Networking |
Sample Code |
2003-01-14
|
GetSetOptions
(HTML)
(DMG)
(ZIP)
Demonstrates a variety of uses of Open Transport's option management routines.
|
Networking |
Sample Code |
2003-01-14
|
NoCopyReceives
(HTML)
(DMG)
(ZIP)
Demonstrates using no-copy receives under Open Transport.
|
Networking |
Sample Code |
2003-01-14
|
simpleAVC
(HTML)
(DMG)
(ZIP)
Shows how to discover and send commands to AVC devices connected by FireWire.
|
FireWire |
Sample Code |
2003-01-14
|
Why does logging keep my Printer Module from working?
(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)
()
QA1185: Explains why some PDE localizations might not appear in all applications.
|
Printing |
Technical Q&As |
2002-10-16
|
Faster DDR DRAM in the 867MHz Power Mac G4 (Mirrored Drive Doors)
(HTML)
()
QA1191: Confirms the use of faster DDR DRAM in the 867MHz Power Mac G4 (Mirrored Drive Doors).
|
Apple Hardware, Performance |
Technical Q&As |
2002-08-19
|
Workaround for Asynchronous SCSIAction Crashes
(HTML)
()
Deprecated - QA1129: Explains how to workaround asynchronous SCSIAction crashes on Mac OS X.
|
SCSI |
Technical Q&As |
2002-03-21
|
PC100 SDRAM DIMMs on the Flat Panel iMac
(HTML)
()
QA1130: Describes PC100 SDRAM DIMM limitations on the "original " Flat Panel iMac.
|
Apple Hardware, Performance |
Technical Q&As |
2002-03-18
|
IOLog and Interrupt Context
(HTML)
()
QA1100: Describes when IOKit runs at primary (hardware) interrupt context.
|
PCI and PC Card |
Technical Q&As |
2002-02-13
|
Power Management; Policy Maker vs. Power Controller
(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
|
Working with Configuration Variables
(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
|
Making sense of IOKit error codes
(HTML)
()
QA1075: Explains how to interpret I/O Kit error codes.
|
ATA, Bluetooth, Ethernet, FireWire, Networking, PCI and PC Card, SCSI, Serial, USB |
Technical Q&As |
2002-02-07
|
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
|