OpenMac: References

An Index of Mac Hardware Documents on the Net

This document is a gathering point for specific information sources, both in print and on the Web. I don't expect all of these to be fully on target, but I bet there is real information for those porting various UNIX taste-a-likes to the Mac and PowerMac platforms.


Apple's G3 systems

Motorola 106 PCI Bridge User's Manual [PDF]
The first G3 systems apparently use the Motorola 106 PCI bridge. There is also an addendum available. Lots of other good stuff at Motorola's Technical Library, too.

680x0 Architecture from Motorola

Motorola HPESD Documentation
This page contains documentation for several m68k processors as well as a number of other Motorola parts (m68000 peripherals, embedded PowerPC, FDDI chips, ColdFire, etc.).

Apple Desktop Bus (ADB)

(Keyboard, mouse, other input devices)
Inside Mac: ADB Manager [PDF]
The chapter of IM Devices which describes ADB design, opcodes, and transaction commands.

Specifications, Apple Desktop Bus [Print]
Available from APDA as item number 062-0267-F.

Engineering Specification, Macintosh Transceiver Information, ADB [Print]
Available from APDA as item number 062-2012-A.

PowerPC Platform or
Common Hardware Reference Platform (CHRP)

PowerPC Platform specification 1.0 [PDF, Book, HTML]
The specification by Apple, Motorola, and IBM for a common hardware platform for PowerPC processors. A computer is much more than just the processor. If companies start building to this spec (as we hope they do and expect they will), there will be a good, solid foundation for free Unix as well as OS/2, NT, AIX, etc. ~310 pgs. Published in book form by Morgan Kaufmann (ISBN 1-55860-394-8).

CHRP "OpenPIC" Programmable interrupt controller spec. [PDF]
Specification of the AMD programmable interrupt controller used in CHRP. ~24 pgs.

Macintosh Techology in CHRP [Print, PDF]
A report on the techology that comes to the CHRP from Apple's Macintosh systems. Despite the rather innocent-sounding name, this is a goldmine of information. Probably useful for 2nd generation PowerMacs as well as CHRP systems. ~225 pgs. Published in book form by Morgan Kaufmann (ISBN 1-55860-393-X).

CHRP Bindings for Open Firmware [ FTP]
A draft copy of CHRP bindings to OpenFirmware.

CHRP IO Reference [ FTP]
The PowerPC Microprocessor Common Hardware Reference Platform: I/O Device Reference, Version 1.0. (7 parts, compressed Postscript).

There appears to also be a PDF version, but it isn't clear whether this is exactly the same version of the document as the .PS files. It's easier to get 2-up printing from Acrobat than from raw .PS files on the Mac, though.


(Bus Error, etc. handlers)
Bus Error Handlers [HTML]
This TechNote discusses bus errors in the use of NuBus and VM pages faults, as well as various techniques for handling them.


Inside Mac: Slot Manager [PDF]
The chapter of IM Devices that outlines Mac interfaces to NuBus cards and drivers.

Open Firmware and PCI

(The Open Firmware standard and the bus architecture of the new Macs)
An Introduction to Open Firmware [HTML]
This is an introduction to Open Firmware. The O.F. Working Group is hosting this page, written by Matt Johnson. This document fills in information at a more approachable level than that available from just reading the specifications.

IEEE 1275 Open Firmware Homepage [HTML, ListServ]
The homepage for the Open Firmware Working Group, this contains information about the Open Firmware standard, the working group, and related documents. The working group boasts yet another mailing list.

Designing PCI Cards and Drivers for Power Macintosh Computers [PDF, Print]
This book is a bit pricey at $35 or so from APDA, but is a goldmine of information on OpenBoot and PCI in the 2nd generation of PowerMacs. (At 400+ pages, it's no light-weight, so the hardcopy makes some sense).

Also available elsewhere on Apple's site is the SDK that is mentioned in the appendix of this book.

PCI Local Bus Specification, Revision 2.0 [Print]
This document is the definitive reference for the PCI specification. It's available from the PCI Special Interest Group (800) 433-5177 or (503) 797-4207 (fax:(503) 234-6762).

Writing FCode Programs [Print]
SunSoft Press and PTR Prentice Hall, ISBN 0-13-107236-6

Writing FCode Programs for PCI [Print]
From Firmworks: (415) 917-0100,

PowerMac and PCI Hardware Q+A's [HTML]
A very focused collection of PowerMac and PCI resources, containing white papers and answering very specific developer questions.

Homepage for MacPCI Owner's ListServ [HTML, ListServ]
This page describes the MacPCI-L listserv, and indexes a large number of PCI-related resources. The information is not developer-specific, but contains a variety of good resources.

PowerPC and PowerMac Architecture

(Programming information for the PowerPC processor, as well as the memory layout and bus designs for the PowerMacintosh)
PowerPC Architecture: Specification for a New Family of RISC Processors [Print]
Published by Morgan Kaufmann publishers, Inc., this is a three-book volume covering the PowerPC architecture. Nice, but not necessarily a must-have with the (cheaper) Motorola Programming Environments book. The three "books" cover: "User Instruction Set Architecture", "Virtual Environment Architecture", and "Operating Environment Architecture." ISBN 1-55860-316-6.

PowerPC Microprocessor Family: The Programming Environments [PDF, Print]
A guide for software and hardware developers who are working with the PowerPC architecture. Provides the general description of features that are common to the PowerPC processors, including the cache, mmu, instruction set, etc... A very useful reference when combined with one or more of the below. You can order by calling 1-800-POWERPC (1-800-769-3772) or possibly by contacting your "local" Motorola sales office. Motorola part number MPCFPE/AD.

PowerPC 601 RISC Microprocessor User's Manual [PDF, Print]
The reference manual for the 601 processor. You can order by calling 1-800-POWERPC (1-800-769-3772) or possibly by contacting your "local" Motorola sales office. Motorola part number MPC601UM/AD.

PowerPC 603 RISC Microprocessor User's Manual [PDF, Print]
Same as above, but for the 603. Motorola part number MPC603UM/AD.

PowerPC 604 RISC Microprocessor User's Manual [PDF, Print]
Same as above, but for the 604. Motorola part number MPC604UM/AD.

Programmer's Introduction to PowerPC [HTML]
A Developer University self-paced course on PowerPC assembly and the PowerMac software/hardware architecture.

Introducing PowerPC Assembly Language [HTML]
A Develop article by Dave Evans describing the basics of RISC assembly on the PowerPC.

This link is broken--I'll try to remember to fix it soon. Most of the Apple links are probably broken. :-(

PowerMac and Hardware Q+A's [HTML]
A very focused collection of PowerMac and PCI resources, containing white papers and answering very specific developer questions.


Inside Mac: SCSI Manager [PDF]
The chapter of IM Devices which describes certain SCSI transaction information.

SCSI-2 Standard [FTP, HTML]
Specifications for the (late draft) of the SCSI-2 standard. All Macintosh computers except the very earliest have SCSI interfaces. More recent systems support SCSI-2 features, too, although all systems should talk to SCSI-2 devices.

SCSI Standards [FTP]
The SCSI-I, SCSI-II, and SCSI-III, standards, are available for ftp from Symbios Logic (the company who bought out the division of NCR that made the SCSI controllers used in the Macintosh systems).

SCSI Chip Specifications [HTML]
Ask for free specifications of the 5380, 53C96, or other SCSI products previously made by NCR or now made by Symbios Logic. They may have some on permanent back-order.


A technical document that describes the MACE--the ethernet controller used in some systems.

The SONIC is the on-board ethernet controller on at least some Quadras.

Serial Communications

Zilog Z80C30/Z85C30 SCC Product Specification [HTML]
Ask for a free copy of the SCC info. The 8530 or a clone thereof is the serial controller in all Macintosh models to date.


Developer Notes [FTP, HTTP]
A list of the Developer Notes for systems. These are as close as we get to published hardware documentation outside of The Guide to Macintosh Family Hardware.

Key Apple Developer Relations Contacts [HTML]
A list of people within Apple who are responsible for evangelizing different parts of Apple's technology and systems.

APDA (Now Apple's Developer World) is Apple's worldwide source for development tools, technical resources, and information.