Gestalt Selectors List

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.