Driver:Mac 68K:Tech Info:System IDs: Difference between revisions

From MAMEDEV Wiki
(Created page with "== 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 |- | M...")
 
No edit summary
Line 59: Line 59:
|-
|-
| Mac IIci with parity option || 1 || 1 || 1 || 1
| 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 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/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
|}
|}

Revision as of 16:38, 19 March 2023

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
Unused 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 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/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