Mac Technical Notes

Compiled from many sources including Linux and NetBSD kernel source, Guide to the Macintosh Family Hardware 1st and 2nd editions, Designing Cards and Drivers for the Macintosh Family 3rd edition, Apple hardware notes (archive), even more Apple hardware notes, and good old fashioned reverse-engineering.

This concentrates mostly on Mac II and later machines since the Plus/SE/Classic are fairly well understood. Please contact messdrivers [at] gmail [dot] com if you have any further information on any Mac models.


Basic Memory Map

On most Mac II and later machines, it's like this:

  • 0x00000000-0x3fffffff = RAM
  • 0x40000000-0x4fffffff = ROM
  • 0x50000000-0x5fffffff = I/O
  • 0x60000000-0xefffffff = NuBus “super slot” space
  • 0xf1000000-0xffffffff = NuBus “standard slot” space
  • 0xfe000000 = VRAM (SE/30 only)
  • 0xfeff0000 = VROM (SE/30) (note that while the main ROM has a valid driver at the end, SE/30 has a separate 64 kbit VROM on the board which I dumped. The actual driver is very small, it contains mostly hardware credits for the SE/30)

Note that Macs with on board video except for the SE/30 typically contain one or more valid video drivers in ROM; the correct one is used when the machine type is identified.

I/O devices are given as offsets from 0x50000000. Each device is mapped across 0x2000 bytes unless noted otherwise.

  • VIA1 at offset 0. May also be mirrored at 0x20000 and 0x40000.
  • VIA2 at offset 0x2000 on II, IIx, IIcx, and SE/30
  • SCC (Z8530) at offset 0x4000
  • SCSI (pseudo-DMA w/DRQ on II, handshake on SE/30) at offset 0x6000
  • SCSI (normal) at 0x10000
  • SCSI (pseudo-DMA, no DRQ) at offset 0x12000
  • ASC (Apple Sound Chip) at 0x14000
  • IWM/SWIM (floppy) at 0x16000
  • VDAC (palette) at 0x24000 (IIci, IIsi, LC series, Color Classic)
  • RBV/V8/etc registers (partially emulates VIA2, also video registers) at 0x26000 (IIci & IIsi, LC series, Color Classic)
  • RBV VRAM at 0x1000000 (IIci)

The entire I/O space mirrors every 0x20000 on Mac II, IIx, IIcx, and SE/30. IIsi and IIfx mirror every 0x40000. IIci and Color Classic (and LC series?) do not mirror. The ROMs use this mirroring behavior along with other markers to determine the model they're running on.

The bottom 8k or so of RAM contains significant system data on these Macs. See Low Memory Globals and Mac Almanac for lists. Note that on the IIci/IIsi the video frame buffer is at physical address 0; the 68030 MMU is used to remap addresses so software sees address 0 elsewhere and thus the low-memory globals work as usual.


VIA 1

Data register A for the Mac 128/512/512e/Plus

  • bit 7 = SCC Wait/Request input
  • bit 6 = Alternate screen buffer output
  • bit 5 = Floppy disk head select output
  • bit 4 = output: overlay ROM at 0 when 1 (enabled at reset)
  • bit 3 = Alternate sound buffer output
  • bits 0-2 = Sound volume output

On the SE, bit 4 changes to select upper/lower internal floppy drive (the ROM overlay is enabled at reset and disabled by the first instruction fetch at 0x4xxxxx).

Data register A for the SE/30, II, IIx, and IIcx:

  • bit 7 = SCC Wait/Request input
  • bit 6 = Alternate screen buffer output on SE/30, model number input on others
  • bit 5 = Floppy disk head select output
  • bit 4 = output: overlay ROM at 0 when 1 (enabled at reset)
  • bit 3 = output: 1 to enable synchronous modem support on port A
  • bits 0-2 = reserved (bit 0 must be 1 to avoid forced diagnostic boot over AppleTalk)

Data register A for the IIci / IIfx:

  • bit 7 = SCC Wait/Request input
  • bit 6 = model ID bit 3 (1 for IIci or IIfx)
  • bit 5 = Floppy disk head select output
  • bit 4 = model ID bit 2 (1 for IIfx or IIci with parity option)
  • bit 3 = output: 1 to enable synchronous modem support on port A
  • bit 2 = model ID bit 1 (1 for IIci, 0 for IIfx)
  • bit 1 = model ID bit 0 (1 for IIci or IIfx)
  • bit 0 = reserved (must be 1 to avoid forced diagnostic boot over AppleTalk)

Data register B for the Mac 128/512/512e/Plus:

  • bit 7 = output: 0 to enable sound, 1 to disable
  • bit 6 = input: 0 = video in display portion of scanline, 1 = hblank or vblank
  • bit 5 = input: mouse Y2
  • bit 4 = input: mouse X2
  • bit 3 = input: mouse button (0 = pressed)
  • bit 2 = output: 0 = enable RTC chip select
  • bit 1 = output: RTC clock line
  • bit 0 = output: RTC data line

Data register B in the SE/30, II, IIx, IIfx, IIcx, and IIci:

  • bit 7 = input on IIci (parity error), output otherwise (sound enable, but ignored by h/w)
  • bit 6 = output: 0 to enable parity checking on IIci, 0 to enable vsync IRQ on SE/30, unused otherwise
  • bit 5 = output: ADB state 1 (except IIfx)
  • bit 4 = output: ADB state 0 (except IIfx)
  • bit 3 = input: ADB interrupt (except IIfx)
  • bit 2 = output: 0 = enable RTC chip select
  • bit 1 = output: RTC clock line
  • bit 0 = output: RTC data line

VIA 2


Coprocessors

Separate pages are in progress discussing technical features of each of the co-processors used on various Macs. These typically handle ADB, clock, and PRAM, plus power management features on portables and power on/off on some desktops.

M50753 PMUs (Mac Portable, PowerBook 100, 140/170, 145(B), 160/180)

68HC05-based PMU (PowerBook 150, 190, all Duos, 5xx)

68HC05-based Egret (LC, LC II, LC III, Classic II, IIsi, IIvx/IIvi), Caboose (some Quadras), and Cuda (Color Classic, most 68040 machines, all PowerPC 601, 603, 604, and most G3).


Hardware IDs

There are 3 ID schemes used on the various 68020/030/040 Macs. The first uses bit 6 of port A on VIA1 (PA6) and bit 3 of port B on VIA 2 (PB3) and works like this:

Model PA6 PB3
Mac IIx 0 0
Mac II 0 1
Mac SE/301 0
Mac IIcx 1 1

The second uses 4 bits in VIA1 port A: bits 6, 4, 2, and 1 (PA6, PA4, PA2, and PA1, respectively).

This second scheme is further indexed by the core ASIC type detected by the Universal ROM. The PowerBook 170 and Classic II have the same ID bits, but that works because the PB170 and Classic II have very different core ASICs that are easily detected as different. These bits also are used to differentiate machines with the same ID word such as the Quadra and Centris 610/650/800.

Model PA6PA4PA2PA1
PowerBook 150 0 0 0 0
Color Classic 0 0 0 1
Unused 0 0 1 0
Unreleased MDU-using SE/30 Successor0011
Quadra 950 0 1 0 0
PowerBook 140/170, Classic II, Quadra 8000101
Used, unknown machine 0 1 1 0
Mac IIsi 0 1 1 1
Quadra 700, Centris 6101 0 0 0
Unreleased 20Mhz 650 1 0 0 1
Quadra 610 1 0 1 0
Mac IIci, Centris (25Mhz) 650 1 0 1 1
Quadra 900 1 1 0 0
Mac IIfx, Quadra (33Mhz) 650 1 1 0 1
Mac LC, LC2, IIvx, IIvi1 1 1 0
Mac IIci w/PGC 1 1 1 1

The third and most scalable is a machine ID register at 0x5ffffffc. The top word must be 0xa55a to be valid. Then bits 15-11 are 0 for consumer Macs, 1 for portables, 2 for high-end 68k, and 3 for high-end PowerPC. Bit 10 is 1 if additional ID bits appear elsewhere (e.g. in VIA1). The rest of the bits are a per-model identifier. Updated and corrected January 2, 2012: confusion between “Blackbird” the IIfx codename and “Blackbird” the PowerBook 5×0 codename resolved, and many new ID values added on through the end of the Old World.

Model Lower 16 bits of ID
LC III 0x0001
LC III+ 0x0003
LC 520 0x0100
LC 550 (and Color Classic II?)0x0101
PowerBook Duo 280c 0x1000
PowerBook Duo 270c 0x1002
PowerBook Duo 210 0x1004
PowerBook Duo 230 0x1005
PowerBook Duo 235 0x1006
PowerBook 520/540 0x1808
PowerBook Duo 2300 0x1809
PowerBook 5300 0x180a
PowerBook 190 0x180b
IIvx 0x2015
LC 475 0x2221
Quadra 605 0x2225
Quadra 630 0x2226
LC 575 0x222e
Quadra/Centris 610/650/8000x2BAD
Quadra 660/840 0x2830
PowerMac 6100 0x3010
PowerMac 7100 0x3012
PowerMac 8100 0x3013
PowerMac 7500 0x3020
PowerMac 7300 0x3021
PowerMac 7600/8600/96000x3022
PowerBook 2400 0x3025
PowerBook 3400 0x3026
PowerMac G3 “Beige” 0x3041
PowerBook G3 “WallStreet”0x3042
PowerBook G3 “WallStreet”0x3046
Pippin @Mark 0x7100

Known non-"New World" ROMs

All Mac ROMs contain a checksum in the first 4 bytes of the image. This is what the “Apple checksum” below is referring to, and not the CRC32 of the entire file. The Apple checksum is calculated by taking the low 32 bits of the sum of every unsigned 16 bit word in the rom, except for the first 4 bytes.

“Release date” is sometimes the ROM's internal release date rather than when the system was introduced to the public.

“Major Version” is the word at offset 0x8. “Minor Version” is the word at offset 0x12. “Sub Release” is the word at offset 0x4c.

SystemSizeRelease dateMD5 hashApple checksumMajor VersionMinor VersionSub ReleaseROM Labels
PowerBook G3 (“WallStreet”) PDQ 4M<???>01a80c4452c8cdf385e11bd973b44f58B46FFB63077D41F60002
PowerBook G3 (“WallStreet”) 4M<???>738ae2b8394d2fe9cd3d39012458e756CBB01212077D41F50002
PowerBook G3 (“WallStreet”) 4M<???>2e96979a6affe0198695cf6767ff1be0B46FFB63md5 wrong? duplicate applesum? difference in last 1mb?
Power Macintosh G3 (final?) 4M<???>616d792ee6e2877c5c8faf30b6c56fe878F57389077D45F20001600-6710 LR0G4342 (2 chips: 341S0488.U1, 341S0493.U2) OR 341S0494, 341S0495
Power Macintosh G3 (later) 4M<???>9cc0e3e01bb02691b497d792ea3e940378EB4234077D45F10001(maybe LR0G4341?)
Power Macintosh G3 (original/“Gossamer”)4MOctober 1, 1997b8612cc39a56d141feade9dc6361ba2079D68D63077D40F20001630-2550 MBAPR6302550D 9751M (4 chips), OR 630-2617 LR0G434 (2 chips: 341S0402, 341S0403)
PowerBook G3 (“Kanga”) 4M<???>bddae47c3475a9d29865612584e18df02560F229077D36F50002
Motorola “Cupid”/“Tanzania” 4MJanuary 1, 19978547e4ba18bdd6d2c9e552802173fdc558F03416077D3AF20001
Umax C500/600, Motorola Starmax 3000/4000/55004MOctober 5, 1996c9324cfbf29efe56875a7dc70e6cab99575BE6BB077D37F30001
PowerBook 2400, 3400 4MOctober 14, 1996b00e5ea090e0627c01930fd2f0ceffcd276EC1F1077D36F10001
Performa 6500 4MDecember 20, 1996670f3d04b8844cf89aae4391398d4b5c6E92FE08077D35F20001341S0324, 341S0325, 341S0326, 341S0327
Power Macintosh 7300/7600/8600/96004MMay 29, 199788d7bec4daa28028c1fd311cf89ef8ab960FC647077D34F50001
Power Macintosh 7300/7600/8600/96004Medcf3422d712f61f83c07efc2401cbb8960E4BE9077D34F20001341S0280-HH, 341S0282-LH, 341S0283-LL, 341S0281-HL
PowerBook 1400 4MApril 1996d78e3715e0dd30cd6174bdda747222eb83A21950077D32F30000
Bandai Pippin 1.0 4Md0eb08a7375b7fff78f5e14574364ac42BEF21B7077D2CF20001341S0251, 341S0252, 341S0253, 341S0254
Bandai Pippin Development 4M318e40f6a1f47925876eb64cc18c9ede2BF65931077D2CC60001341S0241, 341S0242, 341S0243, 341S0244, 341S0246?, 341S0247?, 341S0249, 341S0250
PowerBook 5×0 PowerPC Upgrade/Duo 23004Md42c0a7386a345a008883be07beb0a6483C54F75077D2AF20003341S0082 H, 341S0081 Low
PowerBook 190/190cs 2M6b03262345c44778543199091ecee7d14D27039C077D2BF10006
Performa 6400 4Mcdc2b21a8991193b856e5a92c6df5c066F5724C0077D29F10001
Power Macintosh 7200-90, 7500-100, Some 3rd party Macs4M2623a0c438045ea04d2cc67310c977439630C68B077D28F20001341S0168-HH, 341S0169-HL, 341S0170-LH, 341S0171-LL
Power Macintosh 7200/7500/8500/95004Mdfebb8fdad4124e02608429d98bf349b96CD923D077D28F10001
PowerBook 5300 and Assistive Technology Freestyle4MApril 14, 19956f5ecebef171fa649b37f84269b3e1b5852CFBDF077D27F3001E
Power Macintosh 5200/5300/6200/63004MApril 1995f841c66c2e94bf1872959fed0d69cc6563ABFD3F077D26F10003341S0136.U11, 341S0137.U12, 341S0138.U13, 341S0139.U14
Workgroup Server 9150-120 4Mf08ad7ba1d8435ecfa24282aab1e0eb09B037F6F077D25F10003341-0759(0759-00, 0759-01, 0759-02, 0759-03)
Power Macintosh 6100/7100/8100 (later)4M6355d8c6841591e284853f878b99720a9B7A3AAD077D23F10003341-0757 1, 341-0757 2, 341-0757 3, 341-0757 4
Workgroup Server 9150-80 4M992b36209d478fa5cc1e7f3a3a462c189C7C98F7077D22F10003341-0752(0752-00, 0752-01, 0752-02, 0752-03)
Power Macintosh 6100/7100/8100 4Mb40998471e33d802b350f699127e36df9FEB69B3077D20F20003341-0741, plus 3 more unlabeled flash chips
Quadra 660av/840av 2Mb029184cea925759bc81ecdfe1ccdabd87D3C814077D10F50001
Quadra 660av/840av (older) 2M20c3b24f81f3a3fb7129c211151830e95BF10FD1077D10F30001341S0923 LO, 341S0924 HI
PowerBook 550c 2M<???>cb9915ed5e9cfd97106618ac65c53884B57687A5067C30F20000
PowerBook 520/520c/540/540c 1MFebruary 1994e7f4e60a9c70bf9a3930445bace613c1B6909089067C30F10000
Quadra 630 1Maf343f3f1362bf29cefd630687efaa2506684214067C32F10000
Mac LC 580, Performa 580/588 1Md62ca2efcefb3e2d59a2f6756692c441064DC91D067C32F20000341S0110 HI, 341S0111 LO
PowerBook 150 1M579c3c085153c042bbbaa8392e901dbdFDA22562067C31F10000341-0750, 341-0751
PowerBook Duo 280/280c 1M9035624c90bc53b5fe12722974e51053015621D7067C29F20000341S0010 HH, 341S0011 LL
PowerBook Duo 270c 1MJuly 26, 199369126c0bc3b93e49c00577bb24117c7c0024D346067C27F20000341S1068, 341S1067
Mac LC 475/575, Quadra 605, Performa 475/476/575/577/578 1M76fab51d93f024d805fafd8f5c8f46a3FF7439EE067C26F10000342S1063 HI, 342S1062 LO
Color Classic II, Performa 275,550,560, Macintosh TV1Med8e292fce939515fc9a272eca762460EDE66CBD067C25F10000
Color Classic 1M480794341c7a55ada1869b83615a4a9aECD99DC0067C24F20000
Centris 610/650 1MNovember 16, 199294017d3dd800f1ac5aed2e10462fcd45F1A6F343067C23F10000
Quadra 610/650/800 1MJune 15, 199369489153dde910a69d5ae6de5dd65323F1ACAD13067C23F20000
Mac LC III 1Mfa16d49527c4e6e9c0d9e46904133d39ECBBC41C067C22F30000
Mac LC III 1M0572489d82c999aad8fcf8d28153fb27EC904829067C22F20000
PowerBook Duo 210, 230, 250 1MSeptember 25, 1992c221f89f88922044d698eede0cf191b5ECFA989B067C21F50000341S0903 Hi, 341S0902 Lo
Mac IIvx, IIvi & Performa 600 1MSeptember 11, 1992a207e03d7da82ac6ec63359915c179044957EB49067C20F20000341S0921, 341S0922
PowerBook 160 & 180 1MJuly 22, 1992a495708975aef7e23e78358547de5f23E33B2724067C18F10000341-0478 LL, 341-0479 HH
Quadra 950 1MFebruary 26, 19921493a12f0376f50004a82c6618209da13DC27823067C17F20000341-0298 HI, 341-0297 LO
Mac LC II 1MJanuary 29, 19929575cd955c99f5dd88975c5df265154935C28F5F067C19F20000
Quadra 700/900 & PowerBook 170/140 1MAugust 9, 1991493bdaf94c160d5a96e81d771f746f55420DBFF3067C15F10000341S0871, 341S0872
PowerBook 100 256KJune 6, 1991dd390f7c86a730caac46fd522f8b266596645F9C037A11F10000
Classic II/Performa 200 512KJuly 15, 19914ce45c7eb354ff70b2ea10e3b315af353193670E067C16F10000
Classic 512Kc229bb677cb41b84b780c9e38a09173eA49F991402760000 (12F1 at wrong offset!)0000341-0813
Mac LC 512KOctober 10, 19905d8662dfab70ac34663d6d54393f5018350EACF0067C13F10000341-0392, 341-0393, 341-0394, 341-0395
Mac IIsi 512KJuly 16, 1990373f0b2150bc391227b7a2e32ac5ff2c36B7FB6C067C12F10000341S0818, 341S0819
Mac IIfx 512KFebruary 5, 1990e76510e5734ec651a80fadd682cebf3e4147DD77067C11F20000
Mac IIci 512KAugust 15, 1989aaca403bed2b3870b2327b42d298b5a3368CADFE067C10F10000
Mac Portable 256KAugust 17, 198929cbf05694b611b9d340dceabc91600a96CA3846037A00000000
Mac II FDHD/IIx/IIcx and SE/30256K2a8a4c7f2a38e0ab0771f59a9a0f1ee497221136017800000000
Mac II (later)256K66223be1497460f1e60885eeb35e03cc9779D2C4017800000000341-0105-B, 341-0106-B, 341-0107-B, 341-0108-B
Mac II (earlier)256K74f4095f7d245a9fb099a6f4a994357297851DB6017800000000341-0105-A, 341-0106-A, 341-0107-A, 341-0108-A
Mac SE256K9fb38bdcc0d53d9d380897ee53dc1322B2E362A8027600006100342-0352-A, 342-0353-A
Mac SE FDHD256K886444d7abc1185112391b8656c7e448B306E171027600006100
Mac Plus/512ke V3128K8a41e0754ffd1bb00d8183875c55164c4D1F81720075600055AA342-0341-C, 342-0342-B
Mac Plus/512ke V2128K16b516e13918a439cf9031ec243536104D1EEAE10075600055AA342-0341-B, 342-0342-A
Mac Plus/512ke V1128KNov 6, 19854d8d1e81fa606f57c7ed7188b8b5f4104D1EEEE10075600055AA342-0341-A, 342-0342-A
Mac 128/51264Kdb7e6d3205a2b48023fba5aa867ac6d628BA4E500069600060EC342-0220-B, 342-0221-B
Mac 128/512 V164K1d7f52d2d490524954f6afce083d959328BA61CE0069600060EC342-0220-A, 342-0221-A

Disk Controller Notes

  • IWM (Integrated Woz Machine) - original controller, simply a small ASIC encapsulating a slightly enhanced version of Woz's original Disk II state machine. Used in Apple IIs, the Lisa, and the Mac 128/512/Plus/SE/II.
  • SWIM (Sander/Woz Integrated Machine) - IWM with significant additional capabilities for MFM disks. 100% back-compatible with the IWM (actually contains 2 complete controllers: an original IWM and the new MFM-capable Integrated Sander Machine, or ISM. A crossbar switch inside the chip determines which of the cores is connected to the inputs and outputs). Even in MFM and 1.44M modes, requires the CPU to do all the low-level timing-intensive work of disk I/O, just like the original Disk II.
  • SWIM2 - Cost-reduced SWIM. Apple figured out how to use the ISM side to read/write GCR disks as well so there's no IWM or crossbar switch, and the GCR-side software drivers are very different as a result (MFM is the same). Some ISM-side advanced features that were never actually used went away also.
  • New Age - Apple/NEC co-designed controller based on the PC standard NEC765 controller with GCR capability added. Was used in only a few machines and quickly replaced by SWIM3.
  • SWIM3 - SWIM2 with a state machine front end and DMA capability. Similar overall capability to New Age, but a very different programming model (and probably a lot cheaper).

What chips are in what Macs?

System Memory controller Video Sound I/O ADB SCSI/IDE SCC VIA1 VIA2 Floppy
68000 Desktops
Mac 128/512 Discrete logic Discrete logic Discrete logic N/A N/A N/A 8530 VIA None IWM
Mac 512ke/Plus Discrete logic Discrete logic Discrete logic N/A N/A 53c80(Plus only) 8530 VIA None IWM
SE / SE FDHD BBU BBU BBU N/A “Bit-bang” 53c80 8530 VIA None IWM or SWIM
Classic BBU BBU BBU N/A “Bit-bang” 53c80 8530 VIA None SWIM
68020 Desktops
II GLUE N/A ASC N/A “Bit-bang” 53c80 8530 VIA VIA IWM or SWIM
LC V8 V8 V8 N/A Egret 85c80 85c80 V8 V8 SWIM
68030 Desktops
IIx and IIcx GLUE N/A ASC N/A “Bit-bang” 53c80 8530 VIA VIA SWIM
SE/30 GLU on-board ASC N/A “Bit-bang” 53C80 8530 VIA VIA SWIM
IIfx OSS N/A ASC N/A IOP enhanced 53c80 8530+IOP VIA OSS SWIM+IOP
IIci MDU RBV ASC N/A “Bit-bang” 53c80 8530 VIA RBV SWIM
IIsi MDU RBV ASC N/A Egret 85c80 85c80 VIA RBV SWIM
LC/LC II/Performa 400/405/410/430 V8 V8 V8 N/A Egret 85c80 85c80 V8 V8 SWIM
Classic II/Performa 200 Eagle (V8 clone) on-board Eagle N/A Egret 85c80 85c80 Eagle Eagle SWIM
IIvx/IIvi/Performa 600 VASP (V8 clone w/10MB RAM limit lifted) VASP VASP N/A Egret 85c80 85c80 VASP VASP SWIM
LC III/LC III+/Performa 450/460/466/467 Sonora Sonora Sonora N/A Egret 85c80 85c80 Sonora Sonora SWIM II
Color Classic/Performa 250 Spice (V8 clone) Spice Spice N/A Cuda 85c80 85c80 Spice Spice SWIM II
LC 520/550, Performa 275/550/560, Mac TV, Color Classic II Ardbeg (Sonora clone) Ardbeg Ardbeg N/A Cuda 85c80 85c80 Ardbeg Ardbeg SWIM II
68040 Desktops
Quadra 700 MCU DAFB EASC N/A “Bit-bang” 53c96 8530 VIA VIA SWIM
Quadra 900/950 MCU DAFB EASC N/A IOP 53c96 8530+IOP VIA VIA SWIM+IOP
Quadra 610/650/800 & Centris 610/650 djMEMC DAFB IOSB N/A “Bit-bang” 53c96 8530 IOSB IOSB SWIM II
Quadra 660AV/840AV/Centris 660AV YMCA Civic PSC Curio Cuda Curio (53c94) Curio PSC PSC New Age
Quadra 605/LC 475/LC 575/Performa 475/476/575/577/578 MEMCjr DAFB PrimeTime PrimeTime Cuda 53c96 8530 PrimeTime MEMCjr SWIM II
Mac LC 580/Performa 580CD/588/588CD F108? Valkyrie? PrimeTime II? PrimeTime II? Cuda 53c94 F108? PrimeTime II? Valkyrie? SWIM II
Mac LC 630/Performa 630/Quadra 630/Mac LC 630 DOS Compatible/Performa 630 DOS Compatible F108 Valkyrie PrimeTime II PrimeTime II Cuda 53c94 F108 PrimeTime II Valkyrie SWIM III
PowerPC 601 Desktops
PowerMac 6100/7100/8100 AMIC AMIC AWACS AMIC Cuda 53c94 AMIC AMIC AMIC SWIM III
PowerMac 7200/8200 Platinum Iridium AWACS Grand Central Cuda 53c94 Curio Grand Central Grand Central SWIM III
PowerMac 7500 Hammerhead Control AWACS Grand Central Cuda 53c94 Curio Grand Central Grand Central SWIM III
PowerPC 603 Desktops
PowerMac 5200/6200/Performa 52xx/62xx F108 Valkyrie PrimeTime II PrimeTime II Cuda F108 F108 PrimeTime II Valkyrie SWIM III
PowerMac 5300/6300/Performa 53xx/63x0CD F108 Valkyrie PrimeTime III PrimeTime III Cuda F108 F108 PrimeTime III Valkyrie SWIM III
PowerMac 5400/Performa 5400 PSX Valkyrie AV2 AWACS O'Hare Cuda O'Hare O'Hare O'Hare Valkyrie AV2 SWIM III
PowerMac 6400/5500/6500/Performa 6400/5500/6500/20th Anniversary Mac PSX+ ATI 264GT (3D RAGE II) AWACS O'Hare Cuda O'Hare O'Hare O'Hare ??? SWIM III
Motorola StarMax 3000/4000/5000/5500 PSX ATI 264VT AWACS O'Hare Cuda Lite O'Hare O'Hare O'Hare ??? SWIM III
PowerMac 4400/Performa 4400 PSX+ ATI 264VT AWACS O'Hare Cuda Lite O'Hare O'Hare O'Hare ??? SWIM III
PowerPC 604 Desktops
PowerMac 7300/7600/8500/8600 Hammerhead Control AWACS Grand Central Cuda Curio Curio Grand Central Grand Central SWIM III
PowerMac 9500/9600 Hammerhead ATI AWACS Grand Central Cuda Curio Curio Grand Central Grand Central SWIM III
PowerPC 750 (G3) Desktops
PowerMac G3 (“Gossamer”) Grackle (MPC106) ATI 264GT (3D RAGE II) Screamer Heathrow Cuda Heathrow Heathrow Heathrow ??? SWIM III
PowerMac G3 All-In-One Grackle ATI Rage Pro or Rage Pro Turbo Screamer Heathrow Cuda Heathrow Heathrow Heathrow ??? SWIM III
68000 Portables
Mac Portable/PowerBook 100 DDC DDC ASC N/A PMUv1 (M50753) 85c80 85c80 VIA ??? SWIM
68030 Portables
PowerBook 140/145/145B/170 Jaws DDC EASC MISCGLU PMUv2 (M50753) 85c80 85c80 VIA ??? SWIM
PowerBook 150 MSC GSC MSC N/A PMUv4 (M68HC05/“PG&E”) 85c80 85c80 MSC SWIM
PowerBook 160/165/180 Niagara (Jaws derivative) GSC EASC MISCGLU PMUv3 (M50753) 85c80 85c80 VIA ??? SWIM
PowerBook 165c/180c Niagara WD90C26 + WD90C55 + “Pangola” interface ASIC EASC MISCGLU PMUv3 85c80 85c80 VIA ??? SWIM
PowerBook Duo 210/230/250 MSC GSC MSC N/A PMUv4 85c80 85c80 MSC SWIM
PowerBook Duo 270c MSC CSC (Chips & Technologies 65220) MSC N/A PMUv4 85c80 85c80 MSC ??? SWIM
68040 Portables
PowerBook Duo 280/280c MSC CSC MSC N/A PMU 85c80 85c80 MSC ??? SWIM
PowerBook 5×0 Pratt CSC CS4216 Whitney PMU 85c80 85c80 Pratt ??? SWIM II
PowerBook 190/190cs Pratt CSC Whitney Whitney PMU 85c80 85c80 Pratt ??? SWIM II
PowerPC 603 Portables
PowerBook Duo 2300c PBX CSC Whitney Whitney PMU 85c80 85c80 PBX ??? N/A
PowerBook 5300 PBX ECSC (Chips & Technologies 62225) Whitney Whitney PMU 85c80 85c80 PBX ??? SWIM III
PowerBook 1400 PBX ECSC Whitney 3 Whitney 3 PMU 85c80 85c80 PBX ??? SWIM III
PowerBook 2400c/3400c PSX Chips & Technologies 65550 CS4217 O'Hare PMU O'Hare O'Hare O'Hare O'HareSWIM III
PowerPC 750 (G3) Portables
PowerBook G3 (“Kanga”) PSX+ C&T 65554 ??? O'Hare PMU O'Hare O'Hare O'Hare O'Hare SWIM III
PowerBook G3 (“Wall Street”) Grackle ATI 3D RAGE LT Heathrow Heathrow PMU Heathrow Heathrow Heathrow Heathrow SWIM III

Known Apple part numbers for Mac customs (not ROMs)

Part number Name Notes
337-0001 MC68000P8 (DIP) Custom marked
337S0006 ATI 264GT
337S0078 'Control 1'? TI-Manufactured, IIvx
338-6523 or 338S6523 VIA Custom marked
338S6525 VIA Mac Portable, PB140/170
338S6526 65C22 VIA @ UC2, IIsi
3400257 NCR 53C80 Custom marked
341-0250-A BMU1 PAL16L8, Mac512k
341-0251-A LAG PAL16R8?, Mac512k
341-0252-A TSG PAL16R6, Mac512k
341-0253-A ASG PAL16R8, Mac512k; implements a 6-bit PWM counter for floppy drive speed and audio
341-0254-A TSM PAL16R4, Mac512k
341-0255-A BMU0 PAL16R4, Mac512k
341-0514-A BMU1 PAL16L8, Plus
341-0515-A LAG PAL16R8, Plus
341-0516-A TSG PAL16R6, Plus
341-0517-A ASG PAL16R8, Plus; implements a 6-bit PWM counter for audio
341-0519-A CAS PAL20L8, Plus
341-0520-A BMU2 PAL20R4, Plus
341-0522-A TSM VP16RP8MPC(PAL16R4), Plus
341-0538-A GLU PAL16L8, Mac SE
341-0633-A PAL16R8B @ UG7, SE/30; Clock generator for Video state machine
341-0635-A PAL16R8B @ UG6, SE/30; Beginning of Video state machine
341-0637-A PAL16L8B @ UE6, SE/30; End of Video state machine
341-0665-A PAL16R4B @ UI6, SE/30; Controls HSync and IRQ? in regards to CPU?
341S0689-C PAL16L8D @ UH7, SE/30; Controls RAM read/write signals in regards to CPU?
341-0688-A PAL16R8B @ UE7, SE/30; Middle of Video state machine
341-0746-A PAL16R8B? @ UG7, replaces 341-0633-A, SE/30; Clock generator for Video state machine
341-0747-A PAL16R8B? @ UG6, replaces 341-0635-A, SE/30; Beginning of Video state machine
341-0754-A PAL16L8B? @ UE6, replaces 341-0637-A, SE/30; End of Video state machine
341-0755-A PAL16R8B? @ UE7, replaces 341-0688-A, SE/30; Middle of Video state machine
341-0815-A PAL16R4, IIsi
341-0816-A PALC22V10, IIsi
341-0817-A PALC22V10, IIsi
341S0025 PMU
341S0060 Cuda (v2.40) Performa/Quadra 6xx, some PMac x200, PMac x400, some PMac x500, Pippin, Gossamer G3
341S0187 PMU PB190
341S0187-B PMU PB1400
341S0262 Cuda v3.0 some PMac x500, Bondi Blue iMac
341S0285 Cuda Lite ADB and PS/2 support - PMac 4400 & clones
341S0417 Cuda Color Classic
341S0489 'DECODE' Rom address decoder, IIvx
341S0720 CAS PAL(PAL16R8?) Classic
341S0788 Cuda (v2.37) PRAM, RTC, ADB
341S0490 ? PAL?, IIvx
341S0815-A PAL16R4 @ UJ10, IIsi
341S0816-A PALC22V10 @ UJ8, IIsi
341S0817-A PALC22V10 @ UE9, IIsi
341S0850 Egret (v1.01, earlier) PRAM, RTC, ADB; IIsi and LC
341S0851 Egret (v1.01) PRAM, RTC, ADB
341S0853 Caboose (v1.00) Handles switches on case
341S0856-A ? AMD-Manufactured, Quadra 700
341S0879-B 'Control 2'? AMD-Manufactured, IIvx
341S0934 PMU PB5x0
342S0440 or 342-0440-A or 342S0440-B “Bit-bang” ADB MCU; Manufactured by Microchip, early PIC as acquired from GISE-FD/HD,II,IIx,IIcx,IIci,SE-30,Quadra 700
342S0740-2 KYBD Mac Portable; probably Mitsubishi M50740
342S0743-1 ? PB140/170
342S0753-A PMGR Mac Portable; Mitsubishi M50753
342S0854-2 PMU Power Management Unit
3430045B “Sony Sound Chip” PWM audio DAC
343-0071 U1M HYBRID Hybrid IC carrier, Mac Portable
343-0155-A ?(V8?) LCII
343-1086 GSC Gray Scale video Controller (actually a Chips & Technologies part)
343-1087 CPUGLU
343-1090 MISCGLU
343S0014 Orbit
343S0018-01 ? PM7500/100
343S0042 RTC
343S0045-B SOUND Performa 200, Mac Portable, probably PWM audio DAC
343S0060-A VASP Memory & I/O controller w/audio, video
343S0061(-A) SWIM floppy controller
343S0065 PSX+
343S0103 Quadra 700
343S0105 RELAYERQuadra 700
343S0106 JDB Quadra 700
343S0107 BBU
343S0116-A V8
343S0124-01 PMU Duo 210/230/250
343S0129 DFAC II
343S0132 Spice
343S0135 Primetime
343S0137 SWIM III
343S0140 AWACS Audio DAC
343S0147 Barney also called “TREX”
343S0148-01 FAT AMIC WGS
343S0161 ?Clock generator? Quadra 605
343S0164-A MEMCjr Memory controller
343S0172 O'Hare I/O controller
343S0173(-B) O'Hare PB2400/3400
343S0180 Whitney 3
343S0704 Sebastian Video RAMDAC
343S0788 Cuda PMac x100? (may be 341S0788 typo)
343S0801 AMIC
343S0802 HMC
343S0802-A HMC WGS
343S1018(A) MDU Memory Decode Unit (IIci/IIsi)
343S1019(A) RBV RAM-Based Video (IIci/IIsi)
343S1020(-A) NuChip30 NuBus bridge
343S1027 Bus Transceiver comes in a pair of 2; IIsi, IIvx, Q700
343S1029(-A) ? PB140/170
343S1036(-A) Enhanced Apple Sound Chip (EASC)
343S1039 MUNI
343S1047 DDC
343S1048-1 ? PB140/170
343S1049 ? PB140/170
343S1054-A Eagle Memory & I/O controller w/audio, video
343S1055 MSC
343S1065 Sonora Memory & I/O controller w/audio, video
343S1069(-A) Ariel Video RAMDAC
343S1074 Ariel IIvx
343S1077 djMEMC
343S1078 IOSB
343S1091 Antelope Video RAMDAC
343S1095(-A) Nubus
343S1096 Civic Framebuffer controller
343S1097 YMCA or MCA Memory controller
343S1100 PSC I/O controller
343S1103(-A) Civic Framebuffer controller
343S1105 Whitney I/O controller
343S1113 Pratt Memory controller
343S1118 MSC Memory controller
343S1123 Keystone
343S1124 BART NuBus controller
343S1125 Grand Central I/O controller
343S1126 Bandit
343S1129(-A) PSC I/O controller
343S1133 Valkyrie
343S1136 F108
343S1138-04 PLAN-B pm7500/100
343S1144 Data Path
343S1148 PBX
343S1154 Control
343S1155 Chaos
343S1159 Baboon
343S1161 DATA PATH WGS
343S1164 BART WGS
343S1166 Dacula Video RAMDAC
343S1181 Capella Converts 040 bus for PPC603
343S1183 PSX
343S1184 Platinum
343S1185 Iridium
343S1189 PrimeTime II
343S1190 Hammerhead
343S1191(-A) Athens Prime Clock/timing controller
343S1201 Heathrow
343S1202(-2) PSX+
343S1206 Valkyrie AV2
343S6502 65C02 Apple IIe Card
344-0040 RTC Apple IIgs (less pram than the 'Mac RTC', 344-0042?)
344-0041(-A/B) IWM
344S0041 IWM Apple IIe Card
344S0042(A/B) RTC
344-0043-A IWM (SWIM Pinout version)IIgs and Mac SE
344S0061-A SWIM
344S0063-1 ASC Apple Sound Chip
344S0063-A ASC Apple Sound Chip, IIsi
344S0076 OSS Operating System Support (IRQ controller), IIfx
344S0100-01 Egret (v1.00) IIsi
343S0104-A YANCO Quadra 700
344S0111(-01/-A) GEMINI Apple IIe Card
344S0112-02 DAFB Quadra 700
344S0602 GLU
344S0602-A GLUE CHIP SE/30
344S0603-A BBU Mac SE
344S0608-02 CPU GLU Mac Portable
344S0609-01 VIDEO Mac Portable
344S0610-1 MISC GLU Mac Portable
344S1018-03 MDU @ UI4, IIsi
344S1019-01 RBV @ UA3, IIsi
344S1029 SWIM Mac Portable
344S1033-B DFAC Digitally Filtered Audio Chip
357S0010-A RAMDAC Bt ?model? RAMDAC
377S6553 Beruit
377S7014 CSC Chips & Technologies 65225
377S9624 CSC Chips & Technologies 65220
65210 N/A Chips & Technologies video controller
68HC05 N/A Egret/Cuda/Caboose on desktops, “PG&E” PMU on portables
79c50 Curio Enhanced 8530 + 5380 + Ethernet
CS4216 Crystal Semiconductor audio
CS4217 Crystal Semiconductor audio
uPD72070GF New Age NEC765-derived FDC
85c80 Combo AMD 8530 + 53c80
MPC106 Grackle
M50753 PMU
PCI1130PDV PCI/Cardbus bridge
WD90C26 PowerBook 165c/180c video chip (not “Pangola”, which is separate)
WD90C55 PowerBook 165c/180c LCD driver