Driver:Mac 68K:Tech Info:System IDs

From MAMEDEV Wiki
Revision as of 02:59, 15 December 2024 by Arbee (talk | contribs) (→‎Flexible machine ID)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Hardware/System ID schemes

Original Mac II family

This uses two VIA bits, bit 6 of port A (PA6) and bit 3 of port B (PB3).

System PA6 PB3
Mac IIx 0 0
Mac II 0 1
Mac SE/30 1 0
Mac Iicx 1 1

Extended Mac II family

This scheme 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 memory controller 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 memory controllers 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.

System PA6 PA4 PA2 PA1
PowerBook 150 0 0 0 0
Color Classic 0 0 0 1
Macintosh TV 0 0 1 0
Unreleased SE/30 successor using MDU/RBV 0 0 1 1
Quadra 950 0 1 0 0
PowerBook 140/170, Classic II, Quadra 800 0 1 0 1
Unknown (may have been used) 0 1 1 0
Mac IIsi 0 1 1 1
Quadra 700/Centris 610 1 0 0 0
Unreleased 20 MHz Quadra/Centris 650 1 0 0 1
Quadra 610 1 0 1 0
Mac IIci & Centris 610 1 0 1 0
Quadra 900 1 1 0 0
Mac IIfx & Quadra 650 1 1 0 1
Mac LC, LC2, IIvx, & IIvi 1 1 1 0
Mac IIci with parity option 1 1 1 1

Flexible machine ID

This is a register located at address 0x5ffffffc. The top word must be 0xa55a to be valid. In theory, 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.

In practice, Apple didn't always follow those guidelines to make up these IDs.

System ID
LC III 0x0001
LC III+ 0x0003
LC 520 0x0100
LC 550 (and Color Classic II?) 0x0101
PowerBook Duo 280c 0x1000
PowerBook 150 0x1001
PowerBook Duo 270c 0x1002
PowerBook Duo 210 0x1004
PowerBook Duo 230 0x1005
PowerBook Duo 235 0x1006
PowerBook Duo 280c 0x1010
PowerBook 520/540 0x1808
PowerBook Duo 2300 0x1809
PowerBook 5300 0x180a
PowerBook 190 0x180b
PowerMac 6200 0x2001
PowerMac 5200 0x2002
IIvx 0x2015
IIvi 0x2016
Primus 20 0x2220
LC 475 0x2221
Primus 33 0x2222
Aladdin 20 0x2224
Quadra 605 0x2225
Quadra 630 0x2226
Malcolm 25 0x2231
Malcolm 33 0x2232
Show 0x2250
Show 0x2252
Show 0x2253
Show 0x2254
Show 0x2256
Show 0x2257
Tell 0x2258
Tell 0x225a
Tell 0x225b
LC 575 0x222e
Quadra/Centris 610/650/800 0x2BAD
Quadra 660/840 0x2830
PowerMac 6100 0x3010
PowerMac 7100 0x3012
PowerMac 8100 0x3013
PowerMac 7500 0x3020
PowerMac 7300 0x3021
PowerMac 7600/8600/9600 0x3022
PowerBook 2400 0x3025
PowerBook 3400 0x3026
PowerMac G3 “Beige” 0x3041
PowerBook G3 “WallStreet” 0x3042
PowerBook G3 “WallStreet” 0x3046
Pippin @Mark 0x7100