sys7.1-doc-wip/Internal/Asm/GestaltPrivateEqu.a

493 lines
24 KiB
Plaintext
Raw Normal View History

2020-05-10 05:37:38 +00:00
;
; Hacks to match MacOS (most recent first):
;
; <Sys7.1> 8/3/92 Elliot make this change
; 9/2/94 SuperMario ROM source dump (header preserved below)
;
2019-07-27 14:37:48 +00:00
;-----------------------------------------------------------------------------
;
; File: GestaltPrivateEqu.a
;
; Contains: Private equates for the Gestalt trap.
;
; Written by: Carl C. Hewitt
;
; Copyright: © 1990-1993 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <SM34> 12/13/93 PN Roll in KAOs and Horror changes to support Malcom and AJ
; machines.
; <SM33> 12/2/93 JDR updated gestaltBugFixAttrsTwo and gestaltBugFixAttrsThree
; <SM32> 11/12/93 ged Added gestaltSingerSnd to response list for gestaltSoundHdwr
; selector.
; <SM31> 11/10/93 fau Update from SuperMunggio <SMG2>.
; <SMG2> 10/26/93 fau Rename TesseractBox flag to TNTProto1.
; <SM30> 11/9/93 RLE added gestalts for 603-based PowerBooks
; <SM29> 11/9/93 RC Fix a Duplication of a Carl Sagan machine Type
; <SM28> 11/9/93 KW added gestalt for stp macs
; <SM27> 11/8/93 JRH Removed gestaltDBLite33, gestaltDBLite16, and gestaltEscher33.
; gestaltEscher25 is now gestaltYeagerFSTN.
; <SM26> 9/1/93 BG Added an gestaltPDM alias.
; <SM25> 8/12/93 BG Updated the MachineType list to be somewhere closer to current.
; <SM24> 6/14/93 kc Roll in Ludwig.
; <LW6> 4/19/93 mal (fau) #1079789 changed gestaltcyclone to be equal to
; gestaltcyclone40
; <SM23> 6/6/93 BT Add gestaltRISCV0ResMgrPatches to 'bugy' bits and add some
; reality bits.
; <SM22> 5/10/93 CSS Rollin some 'bugy' selectors from Indigo. Comments follow:
; <58> 4/21/93 DTY Add gestaltMMUOverwriteByQuadraRAMDiskFix,
; gestaltTerrorADBReInitFix, gestaltCentrisOnBoardGreenVGASyncFix,
; gestaltGetIndResourceSysMapHandleFix,
; gestaltCentrisBluishWhiteFix, and
; gestaltCentrisFlashWhileScrollingFix.
; <SM21> 4/23/93 SAM Added a temporary PDMEvt2 boxflag.
; <SM20> 4/16/93 gs Add gestaltMtCheckFix to 'bugz' bits for fix in MountVol when
; scanning Catalog and Extents files.
; <SM19> 4/16/93 gs Add gestaltMtCheckFix to 'bugz' bits for fix in MountVol when
; scanning Catalog and Extents files.
; <SM19> 4/11/93 chp Added SerialDMA HAL selector 'shal'.
; <SM18> 4/8/93 CSS Update GestaltGlobals from Reality and bump the Gestalt version
; number so that I can add the field EDiskSize. This is
; necessary, because when VM is installed the boot globals are
; unavailable so the routine GetEDiskSize doesn't function
; properly.
; <SM17> 4/5/93 jb Added gestaltAwacsSnd constant for PDM.
; <SM16> 3/31/93 CSS Add more bits to the 'bugy' selector.
; <SM15> 2/20/93 SAM Added nativeCPU and emuPresent to gestalt's globals.
; <SM14> 1/10/93 RC added GestaltPDM machineType (BoxFlag + 6)
; <SM13> 12/7/92 CSS Update from Reality:
; <47> 12/4/92 KIP Add sndIntRestore fix for Scruffy.
; <46> 12/3/92 csd Added bug fix selectors for the January 93 tune up.
; <SM12> 12/7/92 GMA Adding new boxflags for cyclone and tempest.
; <SM11> 12/4/92 fau Added back gestaltTempest/Cyclone temporarily.
; <SM10> 12/4/92 fau Changed gestaltCyclone to gestaltCyclone33 and gestaltTempest to
; gestaltTempest25. Added gestaltCyclone40 and gestaltTempest33.
; <SM9> 11/13/92 mal Added MACE Ethernet to hardware attributes gestalt.
; <SM8> 10/29/92 fau Fixed the gestaltTempest equ to 60.
; <SM7> 10/27/92 fau Added a gestaltTempest and also put in a table that shows what
; all the bits in hardwareAttr are and whether they are public or
; private.
; <45> 8/7/92 JDR Changed gestaltHeadphonePluggedIn into
; gestaltQuickTimeUsesNewSoundMgrCalls
; <44> 8/3/92 CSS Add some pre-released machines from SuperMario.
; <43> 8/1/92 JDR Added sound manager flag gestaltQuickTimeUsesNewSoundMgrCalls.
; <42> 7/17/92 JDR Added gestaltSoundHardware.
; <41> 5/27/92 DCL Changed gestaltZydeco to gestaltQuadra950 and moved it into the
; public consciousness.
; <40> 4/21/92 DTY #1026866: Add 'bugz' bits for the PowerBook serial, sleep queue,
; and floppy eject fixes.
; <39> 3/30/92 DTY #1025416,<DDG>: Define gestaltGraphicsVersion for Skia, and
; added new gestaltSkiaGlobalsSwitched attribute for
; gestaltOSAttr.
; <38> 3/9/92 DTY Add gestaltPartialFonts and gestaltDiskCachedFonts, which are
; attributes for the 'font' selector.
; <37> 2/21/92 GS Add bit for the Disappearing Folder fix in _Rename
; <36> 2/11/92 gs Added gestaltResolveFileIDRefFix to 'bugz' bits, so Queens will
; do the right thing when the fix gets rolled into the system.
; <35> 12/17/91 DTY Define gestaltResourceOverrides.
; <34> 12/12/91 gbm Rename the MoveHHi bit in 'bugz', because it doesnt really mean
; that any more. Now it means allocPtr patches.
; <33> 12/10/91 gbm Add two new 'bugz' bits for the 'PACK'(6) fix and the 'WDEF'(0)
; fix.
; <32> 12/4/91 PP Rename bit for Process Manager DASpacePatch to DASegments
; handler patch.
; <31> 12/3/91 SAM Moved 'hdwr' bits gestaltHasSCSI961 and gestaltHasSCSI962 to the
; public gestalt equates.
; <30> 12/2/91 SAM Removed the GestaltMachine equates for the fall 91 CPUs. Put
; the official equates in the public GestaltEqu.a. Added proto
; names for the latest batch of CPUs.
; <29> 11/27/91 gbm Add bit for Process Manager segment tweaks
; (gestaltPMSegmentTweaks)
; <28> 11/26/91 JDR Add bit for the Print driver fix (gestaltPrintDriverFix)
; <27> 11/21/91 PP Add bit for the Backlight driver fix (gestaltBacklightFix).
; <26> 11/18/91 gbm Add bit for the death notice patches
; (gestaltDeathNoticePatches).
; <25> 11/11/91 JC Added gestaltLaunchFix, support for bug in _Launch
; <24> 11/1/91 PP Add bit for DASpacePatch.
; <23> 11/1/91 gbm Add bit for EPPC connection tables to 'bugz'
; <22> 10/30/91 gbm Add some 'bugz' bits for the 7-Up project.
; <21> 10/28/91 SAM/KSM Rolled in Regatta file. Changed NeedsRESET from bit 20 to 26 to
; avoid conflict with bits used in Regatta:
; Changed HardwardAttribute hasJaws from 19, which is used in the
; public equates for hasSoftPowerOff, to 25.
; Reconfiguring the box flag values for the new CPUs.
; Adding gestaltHasUniversalROM to the gestaltHardwareAttr list o'
; bits.
; Added Machine IDs for Asahi & DBLite.
; Added equates for Jaws, Sonic, SCSC961, SCSI962 and DAFB to
; the list of hardware attributes.
; <20> 10/23/91 csd Added gestaltVMCursorTaskFix bit so that the 8•24GC software
; will know when to stop jamming VMs global CursorTask vector.
; <19> 9/12/91 gbm Update the gestaltBugFixAttr bits to include some newer ones I
; didnt know about when I did <18>
; <18> 8/27/91 gbm Add gestaltBugFixAttr selector(s)
; <17> 8/22/91 JSM Clean up header.
; <16> 8/6/91 KIP Add machine type values for new CPUs.
; <15> 6/26/91 BH removed private commtoolbox gestalts (moved to mainstream
; gestalt interfaces)
; <14> 6/11/91 gbm dba: add new Gestalt bit to indicate that the hardware requires
; a RESET when resetting the machine
; <13> 1/30/91 gbm sab, #38: Change the already including this file variable to
; all uppercase (for security reasons)
; <12> 1/18/91 mbs Add atkv selector to get version number of AppleTalk even if
; AppleTalk is off <mjq>
; <11> 1/14/91 CP Moved EQU's for connection, file transfer, and terminal manager
; from CommToolboxPriv.a <BBH>
; <10> 1/8/91 SAM Added GestaltMachineTypes for Spike, Tim, Apollo, and Asahi and
; removed obsolete gestaltXO, Elsie, and Erickson.
; <9> 8/13/90 JWK NEEDED FOR SIXPACK: Removed Slot-related selectors 'slot',
; 'slt1', 'nubs'.
; <8> 8/1/90 SAM Removed old F19 machine ID.
; <7> 5/1/90 CCH Added gestaltBootGlobals response.
; <5> 3/26/90 CCH Added gestaltHasVISA result to hardware selector.
; <4> 2/21/90 CCH Updated machine types to match boxflags.
; <3> 1/30/90 CCH Updated responses from gestaltMachineType selector.
; <2> 1/22/90 CCH Adding private equates from GestaltEqu.a.
; <1> 1/5/90 CCH Adding from private equates in GestaltFunction.c.
;
;-----------------------------------------------------------------------------
IF &TYPE('__INCLUDINGGESTALTPRIVATEEQU__') = 'UNDEFINED' THEN
__INCLUDINGGESTALTPRIVATEEQU__ SET 1
2020-05-10 05:37:38 +00:00
gestaltVers EQU 1 ; gestalt version (is this an oxymoron, or what? )
2019-07-27 14:37:48 +00:00
;kInitialEntryCount EQU 80 ; initial number of slots at boot time
gestaltFlagIsValueMask EQU 1 ; bit in flags that means value is not ProcPtr
gestaltMaxNuBusSlots EQU 16 ; max number of NuBus slots possible <LW6>
;;;;;
;;; Gestalt's global data structure
;;;;;
GestaltEntry RECORD 0
selector ds.l 1 ; key
value ds.l 1 ; value or ProcPtr
flags ds.w 1 ; currently only gestaltFlagIsValueMask is used
size equ *
ENDR
GestaltGlobals RECORD 0
2020-05-10 05:37:38 +00:00
longH
2019-07-27 14:37:48 +00:00
tableH ds.l 1 ; handle to table of longs
2020-05-10 05:37:38 +00:00
slotsUsed
2019-07-27 14:37:48 +00:00
maxSlots ds.l 1 ; number of entries in table
memSize ds.l 1 ; amount of memory in this machine
realTop ds.l 1 ; adjusted memory size
machType ds.w 1 ; machine type
fpu ds.b 1 ; fpu type
mmu ds.b 1 ; mmu type
parityStatus ds.l 1 ; parity status
myScratch ds.l 1 ; scratch area
GestaltRecSize equ *
ENDR
;;;;;
;;; Private Gestalt selectors
;;;;;
gestaltLongHandle EQU 'tabl' ; returns handle to proc table
gestaltATalkVersion EQU 'atkv' ; Returns 4-byte AppleTalk version even if AppleTalk is off.
gestaltAtlkIntLevel EQU 'aint' ; Returns desired AppleTalk interrupt mask level in a long
gestaltGraysFlicker Equ 'fstn' ; Returns slot bit-map of screens whose grays flicker.
;----------------------------------------------------------------------------------
; gestaltBugFixAttrs
;
; This selector, and others like it in the future, indicate the presence or absence
; of certain bug fixes (one bit for each one). The reason they exist is so we can
; ship system extensions that fix important bugs, and then have future systems
; or other extensions indicate that they have already fixed a bug (so the extension
; will stop trying to fix it). Yea, I know. Pretty goofy.
;
; Ive taken the liberty of allocating several selectors here, for future expansion.
;----------------------------------------------------------------------------------
gestaltBugFixAttrs equ 'bugz'
gestaltFixPrinting equ 0
gestaltResponderCrashFix equ 1
gestaltResponderVersionFix equ 2
gestaltPurgeFonts equ 3
gestaltAliasMgrFix equ 4
gestaltSCSIFix equ 5
gestaltKeyboardFix equ 6
gestaltTrueTypeFix equ 7
gestaltFixedMicroseconds equ 8
gestaltSaveLastSPExtra equ 9
gestaltVMCursorTaskFix equ 10
gestaltDietPatches equ 11
gestaltBackgroundPrintingPatch equ 12
gestaltNoPreferredAlertPatch equ 13
gestaltAllocPtrPatches equ 14
gestaltEPPCConnectionTableFix equ 15
gestaltDAHandlerPatch equ 16
gestaltLaunchFix equ 17
gestaltDeathNoticePatches equ 18
gestaltBacklightFix equ 19
gestaltPrintDriverFix equ 20
gestaltPMSegmentTweaks equ 21
gestaltWDEFZeroFix equ 22
gestaltPACKSixFix equ 23
gestaltResolveFileIDRefFix equ 24
gestaltDisappearingFolderFix equ 25
gestaltPowerBookSerialFix equ 26 ; <40> Next 5 are PowerBook 100/140/170 bug fixes
gestaltPowerBookSleepQFix equ 27 ; <40>
gestaltPowerBookFloppyEjectFix equ 28 ; <40>
gestaltPowerBookSleepFPUFix equ 29 ; <40>
gestaltPowerBookRestFPUFix equ 30 ; <40>
gestaltMtCheckFix equ 31
gestaltBugFixAttrsTwo equ 'bugy'
gestaltEgretSCCFix equ 0
gestaltEgretRdTimeFix equ 1
gestaltEgretIRQPatch equ 2
gestaltEgretTickHandlerFix equ 3
gestaltSCSIFastAckFix equ 4
gestaltAFEHomeResFileFix equ 5
gestaltPowerOffDelayFix equ 6
gestaltSndIntRestoreFix equ 7
gestaltPMgrMIDIFix equ 8 ; <52> PMgrOp fix for MIDI on PowerBooks
gestaltMoveHHiExtraStackSpace equ 9
gestaltMMUOverwriteByQuadraRAMDiskFix equ 10 ; <58>
gestaltTerrorADBReInitFix equ 11 ; <58>
gestaltCentrisOnBoardGreenVGASyncFix equ 12 ; <58>
gestaltGetIndResourceSysMapHandleFix equ 13 ; <58>
gestaltCentrisBluishWhiteFix equ 14 ; <58>
gestaltCentrisFlashWhileScrollingFix equ 15 ; <58>
gestaltEightToSixteenMegBlockMoveFix equ 16 ; <60>
gestaltReleaseTheFontFlagFix equ 17 ; <61>
gestaltMSFlightSimDrawCrsrFix equ 18 ; <62>
gestaltRISCV0ResMgrPatches equ 19 ; <63> ProcessManager patches removed for RISC
gestaltSCSIBusyBugFix equ 20 ; <64> HFS Bug fixes for AppleShare
gestaltHFSDeferredTaskStackSwitch equ 21 ; <64>
gestaltTETrashExpandMemRecVersionField equ 22 ; <67> found this one in GestaltPrivateEqu.h but not here...
gestaltDartPMgrOpTimeoutBadBranchFix equ 23 ; <67> System Update 3.0 bug fixes
gestaltPwrBookLowPwrNotificationFix equ 24 ; <67> "
gestaltBlockMoveDataPatch equ 25 ; <67> "
gestaltFSpExchangeFilesCompatibilityFix equ 26 ; <67> "
gestaltSyncReadCacheFlushFix equ 27 ; <68> "
gestaltUpdateResFileFlushIfSystemFix equ 28 ; <68> "
gestaltMacPlusSizeResourceFix equ 29 ; <68> "
gestaltProcessMgrIdleTimeToRemovedDriverFix equ 30 ; <68> "
gestaltAboutThisMacSystemSizeBarFix equ 31 ; <69> "
gestaltBugFixAttrsThree equ 'bugx'
gestaltPartialResourceRangeCheckFix equ 0 ; <71> System Update 3.0 bug fix
gestaltGraphicsVersion equ 'grfx' ; <39> Skias Gestalt selector
;;;;;
;;; private results for various selectors
;;;;;
; gestaltFontMgrAttr
gestaltPartialFonts equ 1 ; Has partial TrueType <38>
gestaltDiskCachedFonts equ 2 ; Has disk based font cache <38>
; The following table shows the bits assigned to gestaltHardwareAttr and their corresponding
; bit in the 1st word of universal info:
;
; GestaltEqu Pub/Priv Bit Universal Bit Description
; --------------- --------- --- ----------- --- -----------
; gestaltHasVIA1 Public 0 VIA1Exists ? VIA1 exists
; gestaltHasVIA2 Public 1 VIA2Exists ? VIA2 exists
; gestaltHasRBV Private 2 RBVExists ? RBV exists
; gestaltHasASC Public 3 ASCExists ? Apple Sound Chip Exists
; gestaltHasSCC Public 4 SCCRdExists ? SCC Exists
; gestaltHasOSS Private 5 OSSExists ? OSS Exists
; gestaltHasSCSIDMA Private 6 SCSIDMAExists ? SCSI DMA Exists
; gestaltHasSCSI Public 7 SCSIExists ? SCSI Exists
; gestaltHasSWIMIOP Private 8 SWIMIOPExists ? SWIM IOP Exists
; gestaltHasSCCIOP Private 9 SCCIOPExists ? SCC IOP Exists
; gestaltHasFMC Private 10 FMCExists ? Fitch memory controller exists
; gestaltHasIWM Private 11 IWMExists ? IWM/SWIM Exists
; gestaltHasPWM Private 12 PWMExists ? PWM disk speed buffer exists
; gestaltHasSoundBuffer Priv 13 SoundExists ? RAM-based sound buffer exists
; gestaltHasVDAC Private 14 VDACExists ? Video D/A converter and CLUT exists (also SebastianExists)
; gestaltHasPGC Private 15 Parity Generation Chip exists (Mac IIci)
; gestaltHasRPU Private 16 RPUExists ? Random Parity Unit exists (Zone 5)
; gestaltHasOrwell Private 17 Orwell memory controller exists (Eclipse)
; gestaltHasVISA Private 18 Has VISA RBV equivalent
; gestaltHasSoftPowerOff Pub 19 Has software poweroff
; gestaltHasSonic Private 20 SonicExists ? Has Sonic Ethernet Hardware
; gestaltHasSCSI961 Public 21 SCSI96_1Exists ? 53C96 SCSI controller on internal bus
; gestaltHasSCSI961 Public 22 SCSI96_2Exists ? 53C96 SCSI controller on external bus
; gestaltHasDAFB Private 23 DAFBExists ? Has DAFB Video hardware (also CivicExists)
; gestaltHasUniversalROM Pub 24 Does we gots a Universal ROM
; gestaltHasJaws Private 25 JAWSExists ? Has Jaws Memory Controller
; gestaltNeedsRESET Private 26
; gestaltHasMace Private 27 MACEExists 34 Has MACE Ethernet Hardware
; 28
; 29
; gestaltHasEnhancedLtalk Pub 30 EnhLtalkExists 31 Has Enhanced LocalTalk hardware
; 31
; gestaltHardwareAttr
gestaltHasRBV EQU 2 ; RBV exists
gestaltHasOSS EQU 5 ; OSS exists
gestaltHasSCSIDMA EQU 6 ; SCSI DMA exists
gestaltHasSWIMIOP EQU 8 ; SWIM IOP exists
gestaltHasSCCIOP EQU 9 ; SCC IOP exists
gestaltHasFMC EQU 10 ; Fitch memory controller exists
gestaltHasIWM EQU 11 ; IWM/SWIM exists
gestaltHasPWM EQU 12 ; PWM disk speed buffer exists
gestaltHasSoundBuffer EQU 13 ; RAM-based sound buffer exists
gestaltHasVDAC EQU 14 ; Video D/A converter and CLUT exists
gestaltHasPGC EQU 15 ; Parity Generation Chip exists (Mac IIci)
gestaltHasRPU EQU 16 ; Random Parity Unit exists (Zone 5)
gestaltHasOrwell EQU 17 ; Orwell memory controller exists (Eclipse)
gestaltHasVISA EQU 18 ; Has VISA RBV equivalent
;gestaltHasSoftPowerOff EQU 19 ; Has software poweroff •• Public ••
gestaltHasSonic EQU 20 ; Has Sonic Ethernet hardware <2>
;gestaltHasSCSI961 EQU 21 ; Has SCSI96_1 <2> •• Public ••
;gestaltHasSCSI962 EQU 22 ; Has SCSI96_2 <2> •• Public ••
gestaltHasDAFB EQU 23 ; Has DAFB Video hardware <2>
;gestaltHasUniversalROM EQU 24 ; Does we gots a Universal ROM? <2> •• Public ••
gestaltHasJaws EQU 25 ; Has Jaws Memory Controller <2><7>
gestaltNeedsRESET EQU 26 ; need hard RESET to restart the machine <21> SAM
gestaltHasMace EQU 27 ; Has MACE Ethernet hardware
; gestaltMachineType (Pre-released Machines)
; 27 ; LC III
gestaltCarnation33 EQU 28
; 29 ; Powerbook Duo 210
; 30 ; Centris 650
gestaltColumbia EQU 31
; 32 ; Duo 230 <SM27>
; 33 ; Powerbook 180
; 34 ; Powerbook 160
; 35 ; Quadra 800
gestaltQuadra650 EQU 36 ; Quadra 650
; 37 ; LC II
; EQU 38 ; Duo 250 <SM27>
gestaltPenlite EQU 39 ; PenLite Duo
gestaltVail16 EQU 40 ; LC III 16MHz
gestaltCarnation25 EQU 41 ; Carnation 25MHz
gestaltCarnation16 EQU 42 ; Carnation 16MHz
gestaltCyclone33 Equ 43 ; <SM10>
gestaltBrazil16L EQU 44 ; Brazil (IIvx) 16MHz
; 45 ; IIvx
gestaltBrazil16F EQU 46 ; Brazil in Fridge 16MHz
gestaltBrazil32F EQU 47 ; Brazil in Fridge 32MHz
gestaltBrazilC EQU 48 ; Brazil Consumer (say WHAT?)
; 49 ; Color Classic
; 50 ; Powerbook 180c
gestaltWombat40 EQU 51 ; Wombat in Lego 40MHz
; 52 ; Centris 610
gestaltQuadra610 EQU 53 ; Speedbumped Centris 610
; 54 ; Powerbook 145
gestaltBrazil32cF EQU 55 ; Brazil in Fridge 32MHz w/ext.cache
; 56 ; LC 520
; gestaltUnused EQU 57 ; was Consumer WLCD ••• recycle •••
gestaltWombat20 EQU 58 ; Wombat in Lego 20MHz
gestaltWombat40F EQU 59 ; Wombat in Fridge 40MHz
; 60 ; Centris 660AV / Quadra 660AV
gestaltRiscQuadra700 EQU 61 ; Q700 w/Risc card
gestaltVail33 EQU 62 ; Route66 (LC III 33MHz)
gestaltWLCD33 EQU 63 ; WLCD 33MHz
gestaltPDM66F EQU 64 ; Cold Fusion 66MHz
gestaltPDM80F EQU 65 ; Cold Fusion 80MHz
gestaltPDM100F EQU 66 ; Cold Fusion 100MHz
gestaltTNTProto1 EQU 67 ; TNT Bringup Board
gestaltTesseractL EQU 67 ; Tesseract in Lego 66MHz
gestaltTesseractF EQU 68 ; Tesseract in Fridge 66MHz
gestaltTesseractC EQU 69 ; Tesseract in Unknown box 66MHz
gestaltJust930 EQU 70 ; 930, whatever that was
gestaltHokusai EQU 71 ; Color portable 33MHz
gestaltBlackbird EQU 72 ; Color 040 portable ??MHz
gestaltBlackbirdLC EQU 73 ; Color 040 portable 16MHz
gestaltPDMEvt1 Equ 74 ; <SM14>
gestaltPDM EQU gestaltPDMEvt1
gestaltPDMEvt2 Equ 75 ; <SM21>
gestaltPDM50WLCD EQU gestaltPDMEvt2; <SM26>
gestaltYeagerFSTN EQU 76 ; LC040 Duo with FSTN <SM27>
; EQU 77 ; Duo 270C <SM27>
; 78 ; Quadra 840AV (Cyclone)
gestaltTempest33 EQU 79 ; <SM12>
gestaltHook33 EQU 80 ; LC 520 (Hook) 33MHz
gestaltSlice25 EQU 81 ; Color Classic (Slice) 25MHz
gestaltRiscCentris650 EQU 82 ; Centris 650 w/Smurf card
gestaltSlice33 EQU 83 ; Color Classic (Slice) 33MHz
gestaltNorad EQU 84 ; Powerbook 160 33MHz
gestaltBudMan EQU 85 ; DBLite w/SWIM II and TouchPad 25MHz
gestaltPrimus20 EQU 86 ; Primus (LC/040) 20MHz
gestaltOptimus20 EQU 87 ; Optimus (Hook/040) 20MHz
gestaltHookTV EQU 88 ; Hook+TV 32MHz
gestaltLC475 EQU 89 ; Primus 25MHz
gestaltPrimus33 EQU 90 ; Primus 33MHz
gestaltOptimus25 EQU 91 ; Optimus 25MHz
gestaltLC575 EQU 92 ; Optimus 33MHz
gestaltAladdin20 EQU 93 ; Aladdin (LC/040 in ELB case) 20MHz
gestaltQuadra605 EQU 94 ; Aladdin 25MHz
gestaltAladdin33 EQU 95 ; Aladdin 33MHz
gestaltMalcolm25 EQU 96 ; cost-reduced WLCD w/Primus chipset 25MHz
gestaltMalcolm33 EQU 97 ; Malcolm 33MHz
gestaltSlimus25 EQU 98 ; Color Classic/040 25MHz
gestaltSlimus33 EQU 99 ; Slimus 33MHz
gestaltPDM66WLCD EQU 100 ; PDM in WLCD 66MHz
gestaltPDM80WLCD EQU 101 ; PDM in WLCD 80MHz
gestaltYeagerG EQU 102 ; Grayscale Portable Duo 040LC 25 MHz
gestaltYeagerC EQU 103 ; Color Portable Duo 040LC 25 MHz
gestaltRiscQuadra900 EQU 104 ; Quadra900 w/Smurf card
gestaltRiscQuadra950 EQU 105 ; Quadra950 w/Smurf card
gestaltRiscCentris610 EQU 106 ; Centris610 w/Smurf card
gestaltRiscQuadra800 EQU 107 ; Quadra800 w/Smurf card
gestaltRiscQuadra610 EQU 108 ; Quadra610 w/Smurf card
gestaltRiscQuadra650 EQU 109 ; Quadra650 w/Smurf card
gestaltRiscTempest EQU 110 ; Tempest w/Smurf card
gestaltPDM50L EQU 111 ; Carl Sagan (Cold Fusion in Lego) 50MHz
gestaltPDM66L EQU 112 ; Carl Sagan 66MHz
gestaltPDM80L EQU 113 ; Carl Sagan 80MHz
gestaltBlackbirdBFD EQU 114 ; Blackbird (66/33MHz 040LC, VIA1&2, Pratt, PGE, 256 color 10.X" TFT LCD, 1 direct slot)
gestaltJedi EQU 115 ; Jedi (33MHz, 030, low cost AIO powerbook, MSC, IDE, floppy )
gestaltSTPQ700 EQU 116 ; Q700 with STP card <SM28>
gestaltSTPQ900 EQU 117 ; Q900 with STP card <SM28>
gestaltSTPQ950 EQU 118 ; Q950 with STP card <SM28>
gestaltSTPC610 EQU 119 ; C610 with STP card <SM28>
gestaltSTPC650 EQU 120 ; C650 with STP card <SM28>
gestaltSTPQ610 EQU 121 ; Q610 with STP card <SM28>
gestaltSTPQ650 EQU 122 ; Q650 with STP card <SM28>
gestaltSTPQ800 EQU 123 ; Q800 with STP card <SM28>
gestaltAJ EQU 124 ; AJ (66 MHz 603, duo powerbook)
gestaltAJ80 EQU 125 ; AJ (80 MHz 603, duo powerbook)
gestaltMalcolmBB EQU 126 ; Malcolm (yep, same name as WLCD II)(66 MHz 603 upgrade to Blackbird)
gestaltMalcolmBB80 EQU 127 ; Malcolm (yep, same name as WLCD II)(80 MHz 603 upgrade to Blackbird)
gestaltM2 EQU 128 ; M2 (66 MHz 603, duo powerbook)
gestaltM280 EQU 129 ; M2 (80 MHz 603, duo powerbook)
; gestaltMiscAttr
gestaltBootGlobals EQU 1 ; this machine has boot globals <6>
;gestaltOSAttr
gestaltSkiaGlobalsSwitched equ 9 ; Process Manager switches Skia globals on context switches <39>
gestaltExtendedDebuggerSupport equ 11 ; Process Manager has new calls for debuggers <50>
gestaltMultiLayerSupport equ 12 ; Process Manager has new calls for MultiLayerSupport
; gestaltResourceMgrAttr
gestaltResourceOverrides equ 1 ; can do resource override stuff <35>
gestaltSerialHALType equ 'shal' ; serial HAL resource ID for this machine
gestaltSHALPSC equ 1 ; PSC HAL (Cyclone, Tempest)
gestaltSHALAMIC equ 2 ; AMIC HAL (PDM)
; gestaltSoundAttr
gestaltQuickTimeUsesNewSoundMgrCalls equ 2 ; QuickTime can use new SoundParamBlock
; was named gestaltHeadphonePluggedIn but
; that's impossible to detect
; this selector returns an OSType
gestaltSoundHardware equ 'snhw' ; Get the built-in Sound Hardware
gestaltClassicSnd equ 'clas' ; Classic sound (i.e. Mac Plus)
gestaltASCSnd equ 'asc ' ; Apple Sound Chip sound hardware
gestaltDSPSnd equ 'dsp ' ; Digital Signal Processing sound hardware
gestaltAwacsSnd equ 'awac' ; Awacs audio codec
gestaltSingerSnd equ 'sing' ; Singer/Whitney audio subsystem
ENDIF ; ...already included