Apple System Software (Mach)
This chapter lists selector codes of which the meaning is documented and
the selector code is mach.
mach (System [6.0.4]) INF
gestaltMachineType
Returns one of the following values, indicating the type of
machine.
enum {
#define gestaltMachineType 'mach' /* machine type */
gestaltClassic = 1, /* Macintosh 128K and 512 */
gestaltMacXL = 2,
gestaltMac512KE = 3,
gestaltMacPlus = 4,
gestaltMacSE = 5,
gestaltMacII = 6,
gestaltMacIIx = 7,
gestaltMacIIcx = 8,
gestaltMacSE030 = 9, /* Macintosh SE/30 */
gestaltPortable = 10,
gestaltMacPortable = gestaltPortable,
gestaltMacIIci = 11,
gestaltPowerMac8100_120 = 12, /* Observed but not released */
gestaltMacIIfx = 13,
gestaltMacClassic = 17,
gestaltMacIIsi = 18,
gestaltMacLC = 19,
gestaltQuadra900 = 20,
gestaltPowerBook170 = 21,
gestaltQuadra700 = 22,
gestaltClassicII = 23,
gestaltPowerBook100 = 24,
gestaltPowerBook140 = 25,
gestaltQuadra950 = 26,
gestaltMacLCIII = 27,
gestaltPerforma450 = gestaltMacLCIII,
gestaltPowerBookDuo210 = 29,
gestaltPowerBook210 = gestaltPowerBookDuo210,
gestaltMacCentris650 = 30,
gestaltPaulaMac? = 31, /* "Paula's Desk Macintosh" in
PowerPC Enabler 1.1 */
gestaltPowerBookDuo230 = 32,
gestaltPowerBook230 = gestaltPowerBookDuo230,
gestaltPowerBook180 = 33,
gestaltPowerBook160 = 34,
gestaltMacQuadra800 = 35,
gestaltMacQuadra650 = 36,
gestaltMacLCII = 37,
gestaltPerforma40x = gestaltMacLCII,
gestaltPerforma430 = gestaltMacLCII,
gestaltPowerBookDuo250 = 38,
gestaltPowerMac9150 = 39,
gestaltAWS9150_80 = gestaltPowerMac9150,
/* Workgroup Server 9150/80
&AD18 */
gestaltPowerMac8100_110 = 40,
/* Also Power Macintosh 8115/110
&AD18 */
gestaltAWS8150_110 = gestaltPowerMac8100_110,
/* Workgroup Server 8150/110
&AS20 */
gestaltPowerMac5200 = 41,
/* Also Power Macintosh 5300
&AS21 */
gestaltPowerMac5200_75 = gestaltPowerMac5200,
gestaltPerforma52xx = gestaltPowerMac5200
/* Macintosh Performa 52xx */
gestaltPerforma5300 = gestaltPowerMac5200
/* Macintosh Performa 53xx */
gestaltPerforma53xx = gestaltPowerMac5200
/* Macintosh Performa 53xx */
gestaltPowerMac5260 = gestaltPowerMac5200
/* Power Macintosh 5260/100 */
gestaltPowerMac6200 = 42, /* Also Power Macintosh 6300 */
gestaltPerforma6300 = gestaltPowerMac6200,
/* Power Macintosh 63xx */
gestalt??? = 43, /* Pre-release Tempest/Cyclone */
gestaltMacIIvi = 44,
gestaltMacIIvm = 45,
gestaltPerforma600 = gestaltMacIIvm,
gestaltPowerMac6100_66? = 46, /* From not to be released ROM
image. If you observe this
value, it's a prerelease
system. */
gestaltPowerMac7100_80 = 47,
gestaltMacIIvx = 48,
gestaltMacColorClassic = 49,
gestaltPerforma250 = gestaltMacColorClassic,
gestaltPowerBook165c = 50,
gestalt??? = 51, /* Seen in System 7.5 Update 2.0
files. Wombat 40 */
gestaltMacCentris610 = 52,
gestaltMacQuadra610 = 53,
gestaltPowerBook145 = 54, /* Also Macintosh PowerBook 145b
&AT01 */
gestaltPowerMac8100_100 = 55,
gestaltMacLC520 = 56,
gestaltAWS9150_120 = 57, /* Workgroup Server 9150/120
&AD23 */
gestaltPerforma6400 = 58,
gestaltPerforma6360 = gestaltPerforma6400,
gestalt??? = 59, /* Seen in System 7.5 Update 1.0
files. Wombat 40F */
gestaltMacCentris660AV = 60,
gestaltPowerMac8100_60? = 61, /* Power Macintosh 8100/80
running at 60 MHz */
gestaltPerforma46x = 62,
gestaltPerforma460 = gestaltPerforma46x,
gestalt??? = 63, /* Seen in System 7.5 Update 2.0
files. */
gestaltPowerMac8100_60? = 64, /* Power Macintosh 8100/60 & 80
running at 66.6 MHz */
gestaltPowerMac8100_80 = 65,
/* Workgroup Server 8150/80 &AS20 */
gestaltPowerMac8100_100? = 66, /* From not to be released ROM
image. If you observe this
value, it's a prerelease
system. */
gestaltPowerMac9500 = 67, /* Also Power Macintosh 9515 */
gestaltPowerMac9600 = gestaltPowerMac9500,
gestaltPowerMac7500 = 68,
gestaltPowerMac7600 = gestaltPowerMac7500,
gestaltPowerMac8500 = 69, /* Also Power Macintosh 8515 */
gestaltPowerMac8600 = gestaltPowerMac8500;
gestaltPowerBook180c = 71,
gestaltPowerBook520 = 72, /* Use MaximumProcessorSpeed
call: 25 mHz for 520 and 33
mHz for 540 models &AS21 */
gestaltPowerBook520c = gestaltPowerBook520,
gestaltPowerBook540 = gestaltPowerBook520,
gestaltPowerBook540c = gestaltPowerBook520,
gestaltPowerBook500 = gestaltPowerBook520,
/* Macintosh PowerBook 500 series
including Macintosh PowerBook
550c &AT01 */
gestaltPowerBook520_540 = gestaltPowerBook520,
gestaltPippin? = 73, /* Observed on Pippin, also seen
in System 7.5 Update 1.0
files. */
gestaltPowerMac5400 = 74, /* Earlier used for pre-release
Power Mac named 'PDM Evt 1
(R.I.P.)' */
gestaltPowerMac6100_60 = 75,
gestaltAWS6150_60 = gestaltPowerMac6100_60,
/* Workgroup Server 6150/60
&AS20 */
gestaltPerforma611x = gestaltPowerMac6100_60,
gestaltPowerBookDuo270c = 77,
gestaltMacQuadra840AV = 78,
gestalt??? = 79, /* Seen in System 7.5 Update 2.0
files. Tempest 33 */
gestaltMacLC550 = 80,
gestaltPerforma550 = gestaltMacLC550,
gestaltPerforma560 = gestaltMacLC550,
gestalt??? = 81, /* Seen in System 7.5 Update 1.0
files. */
gestaltMacColorClassicII? = 83, /* or named Performa 275 ? */
gestaltPowerBook165 = 84,
gestaltPowerBook190 = 85,
gestaltLC475_20? = 86, /* Q605 as a LC475 at 20 Mhz
instead of 25 Mhz */
gestaltLC575_20? = 87, /* LC575 at 20 MHz instead of
33 MHz */
gestaltMacTV = 88,
gestaltMacLC475 = 89,
gestaltPerforma47x = gestaltMacLC475,
gestaltLC475_33? = 90, /* Q605 as a LC475 at 33 Mhz
instead of 25 Mhz */
gestaltLC575_25? = 91, /* LC575 at 25 MHz instead of
33 MHz */
gestaltMacLC575 = 92,
gestaltPerforma57x = gestaltMacLC575,
gestaltQ605_20? = 93, /* Q605 at 20 Mhz instead of
25 MHz */
gestaltMacQuadra605 = 94,
gestaltQ605_33? = 95, /* Q605 at 33 Mhz instead of
25 MHz */
gestalt??? = 96, /* Seen in System 7.5 Update 2.0
files. Pippin prototype? */
gestaltQuadra630 = 98,
gestaltMac630 = gestaltQuadra630,
gestaltMacLC630 = gestaltQuadra630,
/* has MC68LC040 but can upgrade
to Quadra 630 &AT01 */
gestaltMacQuadra630 = gestaltQuadra630,
/* has MC68040 but can upgrade
&AT01 */
gestaltTellShow = gestaltQuadra630,
/* Codename for LC630 ? &AD16 */
gestaltMacLC580 = 99,
gestaltPerforma580 = gestaltMacLC580,
gestaltTellXfmr = gestaltMacLC580,
/* Codename for LC580 ? &AD16 */
gestaltPowerMac6100_66 = 100,
gestaltAWS6150_66 = gestaltPowerMac6100_66,
/* Workgroup Server 6150/66
&AS20 */
gestaltPowerMac6100_80? = 101, /* Not released */
gestaltPowerBookDuo280 = 102,
gestaltPowerBookDuo280c = 103,
gestaltPowerMac475 = 104, /* LC 475 and Q 605 PowerPC
Upgrade Card &AD18 */
gestaltPowerMacLC475 = gestaltPowerMac475,
/* LC 475 and Q 605 PowerPC
Upgrade Card &AT01 */
gestaltPowerMacPerforma47x = gestaltPowerMac475,
/* Performa 47x PowerPC Upgrade
Card &AT01 */
gestaltPowerMac575 = 105, /* LC 575 and LC 57x PowerPC
Upgrade Card &AD18 */
gestaltPowerMacLC575 = gestaltPowerMac575,
/* LC 575 PowerPC Upgrade Card
&AT01 */
gestaltPowerMacPerforma57x = gestaltPowerMac575,
/* Performa 47x PowerPC Upgrade
Card &AT01 */
gestaltPowerMac630 = 106, /* Q630, LC630 and P63x PowerPC
Upgrade Card &AD18 */
gestaltPowerMacQuadra630 = gestaltPowerMac630,
/* Q630 PowerPC Upgrade Card
&AT01 */
gestaltPowerMacLC630 = gestaltPowerMac630,
/* LC630 PowerPC Upgrade Card
&AT01 */
gestaltPowerMacPerforma63x = gestaltPowerMac630,
/* P63x PowerPC Upgrade Card
&AT01 */
gestaltPowerMac580 = 107, /* LC580 (and P58x) PowerPC
Upgrade Card &AD18 */
gestaltPowerMacLC580 = gestaltPowerMac580,
gestaltPowerMac7200 = 108, /* also Power Macintosh 7215/90 */
and 8200 */
gestaltPowerMac7300 = 109, /* Power Mac 7300 Series */
gestaltPowerMac7600? = 110, /* Power Mac 7600 Series ? */
gestaltPowerMac7100_60? = 111, /* Not released */
gestaltPowerMac7100_66 = 112,
gestaltPowerMac7100_80? = 113, /* From not to be released ROM
image. If you observe this
value, it's a prerelease
system. */
gestaltPowerMac7100_80b? = 113, /* PM 7100/66 at 80 Mhz value
<> PM 7100/80 ! */
gestalt??? = 114, /* Seen in System 7.5 Update 1.0
files. */
gestaltPowerMac7100_82? = 114, /* Not released */
gestaltPowerBook150 = 115,
gestaltPowerMac700 = 116, /* Q700 PowerPC Upgrade Card
&AD18 */
gestaltPowerMacQuadra700 = gestaltPowerMac700,
gestaltPowerMac900 = 117, /* Q900 PowerPC Upgrade Card
&AD18 */
gestaltPowerMacQuadra900 = gestaltPowerMac900,
gestaltPowerMac950 = 118, /* Q950 PowerPC Upgrade Card
&AD18 */
gestaltPowerMacQuadra950 = gestaltPowerMac950,
gestaltPowerMacC610 = 119, /* C610 PowerPC Upgrade Card
&AD18 */
gestaltPowerMacCentris610 = gestaltPowerMacC610,
gestaltPowerMacC650 = 120, /* C650 PowerPC Upgrade Card
&AD18 */
gestaltPowerMacCentris650 = gestaltPowerMacC650,
gestaltPowerMacQ610 = 121, /* Q610 PowerPC Upgrade Card
&AD18 */
gestaltPowerMacQuadra610 = gestaltPowerMacQ610,
gestaltPowerMacQ650 = 122, /* Q650 PowerPC Upgrade Card
&AD18 */
gestaltPowerMacQuadra650 = gestaltPowerMacQ650,
gestaltPowerMac800 = 123, /* Q800 PowerPC Upgrade Card
&AD18 */
gestaltPowerMacQuadra800 = gestaltPowerMac800,
gestaltPowerBookDuo2300 = 124,
gestaltPPCPowerBook520_540 = 124, /* Macintosh PowerBook 5xx PPC
Upgrade Card. The PowerBook
5300/2300/190 enabler list the
PB 5xx PPC upgrade as 126!
&AD28 */
gestaltPowerBook2300? = 125, /* PowerBook 2300 Series ? */
gestaltPowerBook500PPCUpgrade = 126,
gestaltPowerBook500PPCUpgrade = 127, /* found in Apple System
Profiler 1.3.1 */
gestaltPowerBook5300 = 128,
gestaltPowerBook5300 = 129, /* found in Apple System
Profiler 1.3.1 */
gestaltPowerMacIIci? = 206, /* IIci PPC (observed with
Daystar Digital 601/66) */
gestaltPowerMacIIsi? = 207, /* Mac IIsi PowerPC Upgrade card,
seen in MacsBug 2.5.2 */
gestaltPowerMacIIvi? = 208, /* Mac IIvi PowerPC Upgrade card,
seen in MacsBug 2.5.2 */
gestaltPowerMacIIvx? = 209, /* Mac IIvx PowerPC Upgrade card,
seen in MacsBug 2.5.2 */
gestaltPowerMacIIvm? = 210, /* Mac IIvm PowerPC Upgrade card,
seen in MacsBug 2.5.2 */
gestaltPowerMacIIfx? = 211, /* Mac IIfx PowerPC Upgrade card,
seen in MacsBug 2.5.2 */
gestaltPowerBook3400 = 306,
gestaltPowerBook2400 = 307,
gestaltPowerBook1400 = 310, /* PowerBook 1400c and 1400cs */
gestaltPowerBookMustang? = 311, /* seen in PB1400 ATA Flash */
gestaltPowerBookG3Series = 312; /* Macintosh PowerBook G3 Series,
w/ video memory slot */
gestaltPowerBookG3 = 313, /* PowerBook with G3, 250 MHz */
gestaltPowerBookG3Series2 = 314; /* Macintosh PowerBook G3 Series,
w/o video memory slot */
gestaltNewWorld? = 406?,/* NewWorld technology loads the
Toolbox ROM image from disk
and stores it in RAM.
Value first seen with Mac OS
7.6 on CHRP (May 1997); also
on StarMax 6000 CHRP.
See note below */
gestalt??? = 407, /* seen in 8.1 enabler */
gestaltPowerExpress? = 408?,/* codenamed Power Express,
late July 97 */
gestalt??? = 409, /* seen in 8.1 enabler */
gestaltPowerMacG3 = 510, /* Desktop model with G3,
266 MHz */
gestaltLPX40MFMSoft? = 511, /* Logic Board LPX-40 &AD34 with
manual-eject MFM floppy
drive with soft power */
gestaltPowerMac5500 = 512, /* value 506 was incorrect */
gestalt20thAnnivMac = 512, /* See note below */
gestaltPowerMac6500 = 513, /* value 507 was incorrect */
gestaltPowerMac4400_160 = 514, /* slower machine has different
machine ID*/
gestaltLPX40GCRSoft? = gestaltPowerMac4400_160,
/* Logic Board LPX-40 &AD34 with
auto-eject GCR floppy drive
with soft power */
gestaltPowerMac4400 = 515, /* Power Macintosh 4400/200 */
gestaltLPX40MFMHard? = 516, /* Logic Board LPX-40 &AD34 with
manual-eject MFM floppy
drive with hard power */
gestaltLPX40GCRHard? = 517, /* Logic Board LPX-40 &AD34 with
auto-eject GCR floppy drive
with hard power */
gestaltLPX40AutoMFMSoft? = 518, /* Logic Board LPX-40 &AD34 with
auto-eject GCR floppy drive
with soft power */
gestaltLPX40AutoMFMHard? = 519, /* Logic Board LPX-40 &AD34 with
auto-eject MFM floppy drive
with hard power */
gestaltBlueBox? = 1206,/* Mac OS 8.0 in Blue Box
(May 1997) */
gestaltNetworkServer500? = ???, /* Network Server 500/132 */
gestaltNetworkServer700? = ???, /* Network Server 700/150 and
700/200 */
};
NOTES:
The Power Macintosh computers also set the three low bits of a 32-bit
register at a specified address to a machine identification code.
======================================================================
Power Macintosh register identification codes
======================================================================
Machine Address Register bits Source
----------------------------------------------------------------------
Power Macintosh 5200 ??? ???
Power Macintosh 6100 0x5FFF FFFC 000
Power Macintosh 7100 0x5FFF FFFC 010
Power Macintosh 7200 ??? ???
Power Macintosh 7500 ??? ???
Power Macintosh 7600 ??? ???
Power Macintosh 8100 0x5FFF FFFC 011
Power Macintosh 8200 ??? ???
Power Macintosh 8500/8600 ??? ???
Power Macintosh 9150 0x5FFF FFFC 100 &AD23
Power Macintosh 9500/9600 ??? ???
----------------------------------------------------------------------
An upgraded Centris 610 doesn't return 119 (Centris 610 upgrade card?)
but 75 (PowerMac 6100). (Carl R. Osterwald)
With an upgraded Quadra 700 the upgrade card value is returned. The
values for the upgrade cards came from the kMachineNameStrID resource
from the Power Mac Upgrade Card enabler distributed with System
Update 3.0 on disk 2. The Power Macintosh Card 1.0 control panel
checks both the Quadra/Centris machine IDs and the ones for the
upgrade cards to determine if it can run. (Rene Ros)
With systems prior to System 7.1 these selectors return the same
values for the:
- Macintosh LC and
Macintosh LC II (LC has MC68020,LC II has MC68030)
- Macintosh PowerBook 140 and
Macintosh PowerBook 145 (use MaximumProcessorSpeed from Power Mgr?,
16 and 25 MHz resp.)
The Developer Notes (available from APDA, on ftp.info.apple.com and on
the Developer CD-ROM Series) about some PowerBook models (100, 140,
170, 190, PB2300 and PPC Upgrade PB5xx) provide incorrect information
regarding the machine type returned by the Gestalt Manager.
The Developer Note on the Power Macintosh 9500 doesn't contain any
Gestalt info, so it can't be wrong!
The Developer Note on the Power Macintosh 7200 says the type value is
0x108, this must be 108 (decimal!). (Eric-Paul Rebel)
The Developer Note for the Power Macintosh 5400 doesn't know the type
value. It shows only question marks. (Rene Ros)
The Epic Draft Developer (PowerBook 1400) note lists the incorrect 311
value, which is for a discontinued project.
The Developer Note on the Workgroup Server 9650 lists 103 as it's value
but that belongs to the PowerBook Duo 280c.
The Apple Spec data-base (at least august 1996 issue) says the
Macintosh PowerBook Duo 2300c/100 has the same value (118) as the
Power Macintosh 950 (upgraded Quadra 950).
Also, the PowerBook 190/66 and 190cs/66 are listed as having the
same value (122) as the Power Macintosh Q650 (upgraded Quadra 650).
(Rene Ros)
NEWWORLD
Because of NewWorld computers all have the same Box Flag. Programs
such as control panels and installers that use Box Flag to verify that
this is a valid CPU on which to execute need to be changed to verify
the existence of the hardware they require.
Asset management software that reports the kind of machine it is run
on should check the name registry for the value of the property at
Devices:device-tree:model. See the table below for the current
property values.
======================================================================
NewWorld Model Property Value
======================================================================
Model Value
----------------------------------------------------------------------
iMac iMac,1
Power Macintosh G3 (blue) PowerMac1,1
iBook PowerBook2,1
----------------------------------------------------------------------
IM More Macintosh Toolbox (p. 1-127) lists this selector as
'gestaltMachineModel'.
You can use the returned value as an index with GetIndString
to get the machine's name. The STR# resource ID is:
enum {
kMachineNameStrID = -16395};
See for more information on the Machine Name STR# resource the
'Machine Names' section in the 'Reports' chapter.
See also the 'mnam' selector for the machine name since Mac OS 8.6
See the 'bxid' selector for determining of your code is running on
the Twentieth Anniversary Macintosh (which returns the same values as
the Power Macintosh 5500.
To check which processor clockspeed the machine is running at,
use the 'pclk' selector. For the bus clockspeed, use the 'bclk'
selector.
See for more information on hardware modified Macintosh computers
(i.e. clock chipping) and the values they return the 'Clock Chipped'
section in the 'Reports' chapter.
See for more information on clones the 'Macintosh Compatibles' section
in the 'Reports' chapter.
See for more information on relabled Macintosh models (i.e. the
Performa models) the 'Relabled Macintosh Models' section in the
'Reports' chapter.