mac-rom/Interfaces/AIncludes/GestaltEqu.a

618 lines
30 KiB
Plaintext

;__________________________________________________________________________________________________
;
; File: GestaltEqu.a
;
; Contains: Equate file for Gestalt
;
; Written by: Carl C. Hewitt 12/15/88
;
; Copyright © 1988-1993 by Apple Computer, Inc. All rights reserved.
;
; Change History (most recent first):
;
; <SM26> 12/2/93 JDR updated gestaltFinderAttr, added gestaltQuickTimeFeatures
; <SM25> 11/8/93 JRH Added gestaltPowerBookDuo250 and gestaltPowerBookDuo270C.
; <SM24> 10/28/93 SAM Roll in <MC4> from mc900ftjesus.
; <MC4> 10/28/93 SAM Changed gestaltNativeCPUtype equates (making each cpu type take
; a range of 256 per architecture).
; <SM23> 10/14/93 pdw Added 'scsi' selector and bits.
; <SM22> 09-24-93 jmp Rolled in various equates from the Excelsior sources.
; <SM21> 8/12/93 BG Updated the MachineType list to be somewhere closer to current.
; <SM20> 8/4/93 JDR synch with Sound Mgr project.
; <19> 8/4/93 IH #1101633,1098397,1101795,1101636,1102280 <KON>: Fix 1102280. Add
; CloseView and Display Manager gestalt selectors.
; <SM18> 6/23/93 CSS Update from Reality:
; <67> 6/9/93 DRF #1087472: Add gestaltFinderSupports4GBVolumes and
; gestaltFinderHandlesCFMFailures to gestaltFinderAttr.
; <66> 6/1/93 DTY Standardize Icon Utilities selector name.
; <65> 5/11/93 JMF Added equates for gestaltKeyboardType for the Apple
; Adjustable Keyboard (ISO & US) & Keypad
; <64> 4/27/93 KIP Add gestalt16BitSoundIO, gestaltStereoInput and
; gestaltLineLevelInput selectors.
; <63> 3/29/93 ash Added gestalt attribute/selectors for Macintosh PC Exchange as
; well as additional selector for Translation Manager.
; <62> 3/29/93 ngk Add GestaltValue macros
; <61> 3/19/93 mgl Add gestaltFinderAttr for Finder attributes.
; <60> 3/5/93 JDR Added gestalt16BitAudioSupport.
; <59> 2/26/93 hjcr Add the gestaltBgndMouseDownSupport bit
; <58> 1/18/93 ash Add selectors for Macintosh Easy Open and Translation Manager
; <SM17> 6/14/93 kc Roll in Ludwig.
; <LW3> 4/29/93 fau Bug #1081636: Update from Reality: changed some of the
; gestaltSoundattr bit assignments and added some others.
; <SM16> 3/2/93 CSS Update from Horror. Comments follow:
; <H4> 12/15/92 RLE add more released machines
; <H3> 6/16/92 SWC Added gestaltAppleEventsAttr.
; <H2> 11/12/91 jmp Just brought this file slightly more up-to-date than it was;
; <SM15> 2/11/93 SAM Added EMMU emulated MMU type. (Hooray for change SM14 !!!)
; <SM14> 02/10/93 HY Remove change <SM13>.
; <SM13> 01/11/93 HY Added bit gestaltNoAtlkSupport in the gestaltMiscAttr selector.
; <SM12> 12/13/92 SAM Added gestaltNativeCPUtype and gestaltSysArchitecture. Cleaned
; up this file (what a mess!)
; <SM11> 10/27/92 fau Added a gestaltHasEnhancedLTtlk bit to gestaltHardwareAttr.
; <SM10> 7/29/92 CSS Update from Reality:
; <57> 7/28/92 JDR <DCL> Added Sound Mgr 3.0 flags.
; <SM9> 7/28/92 WS add realtime manager attribute for gestalt call
; <SM8) 7/20/92 CSS Remove information about soundhardware from this file
; as JDR has put the same information into GestaltEquPriv.a.
; <SM7> 7/15/92 RB Added the gestalt result for Classic hardware.
; <SM6> 7/14/92 RB Added the selector and types associated with sound hardware.
; <SM5> 6/10/92 CSS Roll-in Reality changes:
; <56> 6/5/92 DC Add the selector for checking for the presence of icon
; utilities.
; <55> 6/2/92 JSM #1031451 <csd>: Add gestaltPowerBook145.
; <54> 5/27/92 KIP #1030293,<JDR>: Add gestaltPlayAndRecord bit for sound
; attributes.
; <53> 5/27/92 DCL Moved gestaltQuadra950 into the public consciousness.
; <SM4> 5/20/92 KW Put in Pandora additions P2
; <SM3> 5/19/92 CS fix header
; <SM2> 5/19/92 CS Integrated changes from Reality:
; <52> 4/9/92 JSM #1026795,<DTY>: Add gestaltMacLCII.
; <51> 1/7/92 KST Added gestaltTSMgrVersion.
; <50> 12/3/91 SAM Moved 'hwdr' bits gestaltHasSCSI961 and gestaltHasSCSI962 here
; from the private Gestalt equates.
; <49> 12/2/91 SAM Added the fall 91 CPUs to the official list of GetaltMachine
; IDs.
; <48> 11/21/91 YK Removed selectors for input utilities.
; <47> 11/1/91 KSM Added gestaltHelpMgrExtensions.
; <46> 10/30/91 YK Added gestaltComponentMgr.
; <45> 10/23/91 YK Added gestaltInputUtilsAttr and gestaltInputUtilsPresent
; <44> 10/17/91 JH Added gestaltDictionaryMgrAttr and gestaltDictionaryMgrPresent.
; <43> 8/27/91 CH Updated copyright dates
; <42> 8/22/91 gbm (really csd) Added gestaltAliasMgrSupportsRemoteAppletalk
; <41> 6/26/91 BH gestaltFXfrMgrMultiFile
; <40> 6/26/91 BH added selectors for CTB11 stuff (errorstring for CM, TM, FT,
; CRMToolRsrcCalls)
; <39> 6/26/91 BH added gestaltCRMPersistentFix constant
; <38> 2/7/91 KON CEL: BRC# Gang of 5: Remove equate for gestaltOriginalQD1.
; <37> 2/4/91 gbm JDR, #gbm-0003: Add the gestaltQuickdrawFeatures selector
; <36> 1/30/91 gbm sab, #38: Change the Ôalready including this fileÕ variable to
; all uppercase (for security reasons)
; <35> 1/15/91 gbm (bbm) Add new hardware attribute, gestaltHasSoftPowerOff
; <34> 12/14/90 JDR (KIP) adding Gestalt selector gestaltHasSoundInputDevice and
; renaming gestaltSoundInputPresent.
; <33> 12/5/90 gbm <dba> Add two file system selectors: one for FSSpec calls
; existing, and another for file system manager existing
; <32> 11/16/90 KON Add equates for QuickDraw versions 1.1, 1.2, 1.3, and
; OriginalQD1 [smc]
; <31> 11/16/90 KON Add equates for QuickDraw versions 1.1, 1.2, 1.3, and
; OriginalQD1 [smc]
; <30> 11/15/90 SMB Added another TextEdit version, gestaltTE5, for the new
; TextWidthHook.
; <29> 9/12/90 SAM Added final machine names for IIsi LC and Classic
; <28> 9/10/90 gbm add file system attribute selector
; <27> 8/30/90 PP gestaltFolderMgrAttr is gestaltFindFolderAttr.
; gestaltFolderMgrPresent is gestaltFindFolderPresent.
; <26> 8/13/90 JWK NEEDED FOR SIXPACK: Added NuBus and Serial Gestalt selectors.
; <25> 8/13/90 gbm add selectors for trap table bases
; <24> 8/6/90 kaz Removed CommToolbox refs to xxErrorString and cmMultiAsyncIO;
; renumbered cmSearchFix.
; <23> 7/25/90 RLC Add gestaltEasyAccessAttr and its result codes.
; <22> 6/25/90 kaz Removed 'ctbm', 'ctbu'. Added 'ditl'.
; <21> 6/23/90 kaz Fixed typo for 'term', and 'fxfr'.
; <20> 6/18/90 NC Add gestault selector for sound I/O manager
; <19> 5/20/90 ngk Add gestault selector for standard file
; <18> 5/1/90 CCH Added gestaltSquareMenuBar response bit to gestaltMiscAttr.
; <15> 4/11/90 BBH added gestaltConnMgrCMSearchFix
; <14> 4/11/90 BBH fix typo in "gestaltConnMgrErrorString"
; <13> 4/11/90 BBH added new gestalt selectors for CommToolbox managers and
; utilities
; <12> 4/11/90 dba add machineicon selector
; <11> 4/9/90 S Included PPC Gestalt Selectors.
; <10> 3/26/90 CCH Added gestaltMacIIfx equate.
; <9> 3/17/90 BBH added CommToolbox version selector (more to come later for
; specific functions)
; <8> 3/5/90 CCH Fixed tabs.
; <5> 1/22/90 CCH Added gestaltPPCToolbox and gestaltNotificationMgrAttr
; selectors. Also moved private information to
; GestaltPrivateEqu.a.
; <4> 1/21/90 ngk Changed gestaltEditionMgr to gestaltEditionMgrAttr
; <3> 1/8/90 CCH Added gestaltMisc selector.
; <2> 1/5/90 CCH NEEDED FOR 6.0.5: Added RPU and Orwell bits to hardware
; selector, added slot selectors back in temporarily, and added
; equate for 68040 FPU.
; <3.5> 12/15/89 CCH Updated Gestalt Equates, added some new 7.0 selectors.
; <3.4> 11/1/89 CCH Changed gestaltVMInstalled to gestaltVMExists.
; <3.3> 9/29/89 CCH NEEDED FOR 6.0.5: Added gestalt32BitCapable attribute to
; gestaltAddressingModeAttr selector.
; <3.2> 8/9/89 CCH NEEDED FOR 6.0.4: Changed return values for gestaltQuickdrawType
; to be version based, and changed the selector name to
; gestaltQuickdrawVersion.
; <3.1> 8/8/89 SMB NEEDED FOR 6.0.4: added definitions for gestaltTextEditVersion.
; <3.0> 8/5/89 PKE NEEDED FOR 6.0.4: - Added gestaltScriptMgrVersion,
; gestaltScriptCount selectors (for Script Manager) - Added
; gestaltTextEditVersion selector (for TextEdit)
; <2.9> 7/16/89 CCH NEEDED FOR AURORA AND 6.0.4: - Added gestaltFirstSlotNumber
; selector. - Added additional information to gestaltHardwareAttr
; selector. - Added gestaltAMU to gestaltMMUType selector. - Added
; gestaltParityAttr selector.
; <2.8> 7/10/89 CCH NEEDED FOR AURORA: - Removed gestaltFirstSlotNumber selector.
; <2.7> 6/30/89 CCH Added gestaltLowMemorySize selector.
; <2.6> 6/26/89 CCH Added gestaltFirstSlotNumber selector.
; <2.5> 6/9/89 CCH Changes: - Changed a/ux selector to be version-based. - Added
; gestaltAddressingModeAttr, gestaltAUXVersion, gestaltSlotAttr,
; gestaltSoundAttr, gestaltTimeMgrVersion, GestaltRBVAddr,
; gestaltHardwareAttr, gestaltNuBusSlotCount selectors. - Made
; result equates for attribute selectors bit numbers instead of
; masks.
; <2.4> 5/25/89 CCH Revised equates to be more consistent.
; <2.3> 5/23/89 CCH Added several new Gestalt function definitions.
; <2.2> 5/18/89 CCH Changed equate prefixes and error codes.
; <2.1> 4/20/89 CCH Added new equate for virtual RAM size.
; <2.0> 4/16/89 CCH Changed equate prefix from "G" to "z".
; <1.9> 4/3/89 CCH Added equates for international keyboards, changed names of some
; other equates.
; <1.8> 3/30/89 CCH Took out GROMSize and GInitErr equates.
; <1.7> 3/16/89 CCH Changed G24BitQD to G8BitQD.
; <1.6> 3/16/89 CCH Moved global data structure definition to Gestalt.a.
; <1.5> 3/6/89 CCH Changed unknown values to $7FFFFFFF
; <1.4> 3/6/89 CCH Changed MAXINT from $7FFF to $7FFFFFFF
; <1.3> 3/2/89 CCH Changed zNoMMU equate to zero, and similarly bumped down related
; equates.
; <1.2> 2/23/89 CCH Added Updated Gestalt Function Code and result code equates.
; <1.1> 2/22/89 CCH Started using global ptr in ExpandMem.
; <1.0> 2/21/89 CCH Adding to EASE for the first time.
************************************************************************
IF &TYPE('__INCLUDINGGESTALTEQU__') = 'UNDEFINED' THEN
__INCLUDINGGESTALTEQU__ SET 1
**************************
* Gestalt error codes
**************************
gestaltUnknownErr EQU -5550 ; gestalt doesn't know the answer
gestaltUndefSelectorErr EQU -5551 ; undefined code was passed to Gestalt
gestaltDupSelectorErr EQU -5552 ; tried to add an entry that already existed
gestaltLocationErr EQU -5553 ; gestalt function ptr wasn't in sysheap
**************************
* Environment Selectors
**************************
gestaltVersion EQU 'vers' ; gestalt version
gestaltAddressingModeAttr EQU 'addr' ; addressing mode attributes
gestalt32BitAddressing EQU 0 ; using 32-bit addressing mode
gestalt32BitSysZone EQU 1 ; 32-bit compatible system zone
gestalt32BitCapable EQU 2 ; machine is 32-bit mode capable
gestaltAliasMgrAttr EQU 'alis' ; Alias Mgr Attributes
gestaltAliasMgrPresent EQU 0 ; True if the Alias Mgr is present
gestaltAliasMgrSupportsRemoteAppletalk EQU 1 ; True if the Alias Mgr knows about Remote Appletalk
gestaltAppleTalkVersion EQU 'atlk' ; AppleTalk version
gestaltAUXVersion EQU 'a/ux' ; a/ux version, if present
gestaltAUXNotPresent EQU 0
gestaltCloseViewAttr EQU 'BSDa' ; CloseView attributes
gestaltCloseViewEnabled EQU 0 ; Closeview enabled (dynamic bit - returns current state)
gestaltCloseViewDisplayMgrFriendly EQU 1 ; Closeview compatible with Display Manager (FUTURE)
gestaltComponentMgr EQU 'cpnt' ; Component Mgr version
gestaltTSMgrVersion EQU 'tsmv' ; Text Services Mgr version, if present
gestaltConnMgrAttr EQU 'conn' ; connection mgr attributes
gestaltConnMgrPresent EQU 0
gestaltConnMgrCMSearchFix EQU 1 ; do we have fix to CMAddSearch?
gestaltConnMgrErrorString EQU 2
gestaltConnMgrMultiAsyncIO EQU 3
gestaltNativeCPUtype EQU 'cput' ; The native CPU type <SM12><MC4>
; 68000 Architecture
gestaltCPU68000 EQU $000
gestaltCPU68010 EQU $001
gestaltCPU68020 EQU $002
gestaltCPU68030 EQU $003
gestaltCPU68040 EQU $004
; PowerPC Architecture
gestaltCPU601 EQU $101 ; IBM 601
gestaltCPU603 EQU $103
gestaltCPU604 EQU $104
gestaltCRMAttr EQU 'crm ' ; comm resource mgr attributes
gestaltCRMPresent EQU 0
gestaltCRMPersistentFix EQU 1 ; fix for persistent connections present
gestaltCRMToolRsrcCalls EQU 2
gestaltCTBVersion EQU 'ctbv' ; CommToolbox version if present
gestaltDBAccessMgrAttr EQU 'dbac' ; Database Access Mgr attributes
gestaltDBAccessMgrPresent EQU 0 ; True if the Database Access Mgr present
gestaltDictionaryMgrAttr EQU 'dict' ; Dictionary Manager attributes
gestaltDictionaryMgrPresent EQU 0 ; Dictionary Manager attributes
gestaltDITLExtAttr EQU 'ditl' ; AppenDITL, etc. calls from CTB
gestaltDITLExtPresent EQU 0 ; True if calls are present
gestaltDisplayMgrAttr EQU 'dply' ; Display Manager attributes
gestaltDisplayMgrPresent EQU 0 ; True if Display Mgr is present
gestaltDisplayMgrVers EQU 'dplv' ; Display Manager version
gestaltEasyAccessAttr EQU 'easy' ; Easy Access attributes
gestaltEasyAccessOff EQU 0 ; if Easy Access present, but off (no icon)
gestaltEasyAccessOn EQU 1 ; if Easy Access "On"
gestaltEasyAccessSticky EQU 2 ; if Easy Access "Sticky"
gestaltEasyAccessLocked EQU 3 ; if Easy Access "Locked"
gestaltEditionMgrAttr EQU 'edtn' ; Edition Mgr attributes
gestaltEditionMgrPresent EQU 0 ; True if Edition Mgr present
gestaltEditionMgrTranslationAware EQU 1 ; True if edition manager is translation manager aware
gestaltTranslationMgrHintOrder EQU 1 ; True if hint order reversal in effect
gestaltAppleEventsAttr EQU 'evnt' ; Apple Events attributes
gestaltAppleEventsPresent EQU 0 ; True if Apple Events present
gestaltFinderAttr EQU 'fndr' ; Finder attributes
gestaltFinderDropEvent EQU 0 ; Finder recognizes drop event
gestaltFinderMagicPlacement EQU 1 ; Finder supports magic icon placement
gestaltFinderCallsAEProcess EQU 2 ; Finder calls AEProcessAppleEvent
gestaltOSLCompliantFinder EQU 3 ; Finder is scriptable and recordable
gestaltFinderSupports4GBVolumes EQU 4 ; Finder correctly handles 4GB volumes
gestaltFinderHandlesCFMFailures EQU 5 ; Finder handles Code Fragment Manager errors
gestaltFinderHasClippings EQU 6 ; Finder supports Drag Manager clipping files
gestaltFindFolderAttr EQU 'fold' ; FindFolder attributes
gestaltFindFolderPresent EQU 0 ; True if FindFolder present
gestaltFontMgrAttr EQU 'font' ; Font Mgr attributes
gestaltOutlineFonts EQU 0 ; True if OutLine Fonts are supported
gestaltFPUType EQU 'fpu ' ; FPU type
gestaltNoFPU EQU 0 ; no FPU
gestalt68881 EQU 1 ; 68881 FPU
gestalt68882 EQU 2 ; 68882 FPU
gestalt68040FPU EQU 3 ; 68040 built-in FPU
gestaltFSAttr EQU 'fs ' ; file system attributes
gestaltFullExtFSDispatching EQU 0 ; has really cool new HFSDispatch dispatcher
gestaltHasFSSpecCalls EQU 1 ; has FSSpec calls
gestaltHasFileSystemManager EQU 2 ; has a file system manager
gestaltFXfrMgrAttr EQU 'fxfr' ; file transfer manager attributes
gestaltFXfrMgrPresent EQU 0
gestaltFXfrMgrMultiFile EQU 1 ; supports FTSend and FTReceive
gestaltFXfrMgrErrorString EQU 2
gestaltHardwareAttr EQU 'hdwr' ; hardware attributes
gestaltHasVIA1 EQU 0 ; VIA1 exists
gestaltHasVIA2 EQU 1 ; VIA2 exists
gestaltHasASC EQU 3 ; Apple Sound chip exists
gestaltHasSCC EQU 4 ; SCC exists
gestaltHasSCSI EQU 7 ; SCSI exists
gestaltHasSoftPowerOff EQU 19 ; Capable of software power off
gestaltHasSCSI961 EQU 21 ; 53C96 SCSI controller on internal bus <50>
gestaltHasSCSI962 EQU 22 ; 53C96 SCSI controller on external bus <50>
gestaltHasUniversalROM EQU 24 ; Do we gots a Universal ROM? <49>
gestaltHasEnhancedLtalk EQU 30 ; Do we have Enhanced LocalTalk
gestaltHelpMgrAttr EQU 'help' ; Help Mgr Attributes
gestaltHelpMgrPresent EQU 0 ; true if help mgr is present
gestaltHelpMgrExtensions EQU 1 ; true if help mgr extensions are installed
gestaltKeyboardType EQU 'kbd ' ; keyboard type
gestaltMacKbd EQU 1
gestaltMacAndPad EQU 2
gestaltMacPlusKbd EQU 3
gestaltExtADBKbd EQU 4
gestaltStdADBKbd EQU 5
gestaltPrtblADBKbd EQU 6
gestaltPrtblISOKbd EQU 7
gestaltStdISOADBKbd EQU 8
gestaltExtISOADBKbd EQU 9
gestaltADBKbdII EQU 10
gestaltADBISOKbdII EQU 11
gestaltPwrBookADBKbd EQU 12 ; <49>
gestaltPwrBookISOADBKbd EQU 13 ; <49>
gestaltAppleAdjustKeypad EQU 14 ; <65>
gestaltAppleAdjustADBKbd EQU 15 ; <65>
gestaltAppleAdjustISOKbd EQU 16 ; <65>
gestaltLowMemorySize EQU 'lmem' ; size of low-memory area
gestaltLogicalRAMSize EQU 'lram' ; logical RAM size
gestaltMiscAttr EQU 'misc' ; miscellaneous information
gestaltScrollingThrottle EQU 0 ; true if scrolling throttle on
gestaltSquareMenuBar EQU 2 ; true if menu bar is square
gestaltMMUType EQU 'mmu ' ; MMU type
gestaltNoMMU EQU 0 ; no MMU
gestaltAMU EQU 1 ; address management unit
gestalt68851 EQU 2 ; 68851 PMMU
gestalt68030MMU EQU 3 ; 68030 built-in MMU
gestalt68040MMU EQU 4 ; 68040 built-in MMU
gestaltEMMU1 EQU 5 ; Emulated MMU type 1 (Power PC systems)
gestaltNotificationMgrAttr EQU 'nmgr' ; notification manager attributes
gestaltNotificationPresent EQU 0 ; notification manager exists
gestaltSerialAttr EQU 'ser ' ; serial attributes <26>
gestaltHasGPIaToDCDa EQU 0 ; GPIa connected to DCDa <26>
gestaltHasGPIaToRTxCa EQU 1 ; GPIa connected to RTxCa clock input <26>
gestaltHasGPIbToDCDb EQU 2 ; GPIb connected to DCDb <26>
gestaltOSAttr EQU 'os ' ; O/S attributes
gestaltSysZoneGrowable EQU 0 ; system heap is growable
gestaltLaunchCanReturn EQU 1 ; can return from launch
gestaltLaunchFullFileSpec EQU 2 ; can launch from full file spec
gestaltLaunchControl EQU 3 ; launch control support available
gestaltTempMemSupport EQU 4 ; temp memory support
gestaltRealTempMemory EQU 5 ; temp memory handles are real
gestaltTempMemTracked EQU 6 ; temporary memory handles are tracked
gestaltIPCSupport EQU 7 ; IPC support is present
gestaltSysDebuggerSupport EQU 8 ; system debugger support is present
; gestaltSkiaGlobalsSwitched is #9. I don't know why it is not here
gestaltBgndMouseDownSupport EQU 10 ; Background mouse down support is present
gestaltOSTable EQU 'ostt' ; OS trap table base
gestaltToolboxTable EQU 'tbtt' ; Toolbox trap table base
gestaltExtToolboxTable EQU 'xttt' ; Extended Toolbox trap table base
gestaltPCXAttr EQU 'pcxg' ; PC Exchange attributes
gestaltPCXHas8and16BitFAT EQU 0 ; PC Exchange supports both 8 and 16 bit FATs
gestaltPCXHasProDOS EQU 1 ; PC Exchange supports ProDOS
gestaltLogicalPageSize EQU 'pgsz' ; logical page size
gestaltPowerMgrAttr EQU 'powr' ; power manager attributes
gestaltPMgrExists EQU 0
gestaltPMgrCPUIdle EQU 1
gestaltPMgrSCC EQU 2
gestaltPMgrSound EQU 3
gestaltPMgrDispatchExists EQU 4
gestaltPPCToolboxAttr EQU 'ppc ' ; PPC toolbox attributes
;
; PPC will return the combination of following bit fields.
; e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncomming + gestaltPPCSupportsOutGoing
; indicates PPC is cuurently is only supports real time delivery
; and both icoming and outgoing network sessions are allowed.
; By default local real time delivery is supported as long as PPCInit has been called.
;
gestaltPPCToolboxPresent EQU $0000 ; PPC Toolbox is present Requires PPCInit to be called
gestaltPPCSupportsRealTime EQU $1000 ; PPC Supports real-time deliveryy
gestaltPPCSupportsStoreAndForward EQU $2000 ; PPC Store and Forward delivery
gestaltPPCSupportsDontCare EQU $4000 ; PPC Supports Specification of Don't care
gestaltPPCSupportsIncomming EQU $0001 ; PPC will deny incomming network requests
gestaltPPCSupportsOutGoing EQU $0002 ; PPC will deny outgoing network requests
gestaltProcessorType EQU 'proc' ; processor type
gestalt68000 EQU 1
gestalt68010 EQU 2
gestalt68020 EQU 3
gestalt68030 EQU 4
gestalt68040 EQU 5
gestaltParityAttr EQU 'prty' ; parity attributes
gestaltHasParityCapability EQU 0 ; has ability to check parity
gestaltParityEnabled EQU 1 ; parity checking enabled
gestaltQuickdrawVersion EQU 'qd ' ; quickdraw version
gestaltOriginalQD EQU $000 ; original 1-bit QD <3.2>
gestalt8BitQD EQU $100 ; 8-bit color QD <3.2>
gestalt32BitQD EQU $200 ; 32-bit color QD <3.2>
gestalt32BitQD11 EQU $210 ; 32-bit color QDv1.1 <31>
gestalt32BitQD12 EQU $220 ; 32-bit color QDv1.2 <31>
gestalt32BitQD13 EQU $230 ; 32-bit color QDv1.3 <31>
gestaltQuickdrawFeatures EQU 'qdrw' ; quickdraw features <37>
gestaltHasColor EQU 0 ; color quickdraw present <37>
gestaltHasDeepGWorlds EQU 1 ; GWorlds can be deeper than 1-bit <37>
gestaltHasDirectPixMaps EQU 2 ; PixMaps can be direct (16 or 32 bit) <37>
gestaltHasGrayishTextOr EQU 3 ; supports text mode grayishTextOr <37>
gestaltSupportsMirroring Equ 4 ; Supports video mirroring via the Display Manager.
gestaltPhysicalRAMSize EQU 'ram ' ; physical RAM size
gestaltRBVAddr EQU 'rbv ' ; RBV base address <SM4>
gestaltSCCReadAddr EQU 'sccr' ; SCC read base address <SM4>
gestaltSCCWriteAddr EQU 'sccw' ; SCC write base address <SM4>
gestaltPopupAttr EQU 'pop!' ; popup cdef attributes
gestaltPopupPresent EQU 0
gestaltResourceMgrAttr EQU 'rsrc' ; Resource Mgr attributes
gestaltPartialRsrcs EQU 0 ; True if partial resources exist
gestaltRealtimeMgrAttr EQU 'rtmr' ; Realtime manager attributes <SM9> WS
gestaltRealtimeMgrPresent EQU 0 ; true if Realtime manager is present <SM9> WS
gestaltScrapMgrAttr EQU 'scra' ; Scrap manager attributes
gestaltScrapMgrTranslationAware EQU 0 ; True if scrap manager is translation manager aware
gestaltScriptMgrVersion EQU 'scri' ; Script Manager version number <08/05/89 pke>
gestaltScriptCount EQU 'scr#' ; number of active script systems <08/05/89 pke>
gestaltSlotAttr EQU 'slot' ; slot manager attributes <SM4>
gestaltSlotMgrExists EQU 0 ; true if slot mgr exists <SM4>
gestaltNuBusPresent EQU 1 ; NuBus slots are present <SM4>
gestaltSESlotPresent EQU 2 ; SE PDS slot present <SM4>
gestaltSE30SlotPresent EQU 3 ; SE/30 slot present <SM4>
gestaltPortableSlotPresent EQU 4 ; Portable's slot present <SM4>
gestaltNuBusConnectors EQU 'sltc' ; bitmap of slots with NuBus connectors <26>
gestaltFirstSlotNumber EQU 'slt1' ; returns first physical slot <SM4>
gestaltSoundAttr EQU 'snd ' ; sound attributes
gestaltStereoCapability EQU 0 ; sound hardware has stereo capability
gestaltStereoMixing EQU 1 ; stereo mixing on external speaker
gestaltSoundIOMgrPresent EQU 3 ; The Sound I/O Manager is present
gestaltBuiltInSoundInput EQU 4 ; built-in Sound Input hardware is present
gestaltHasSoundInputDevice EQU 5 ; Sound Input device available
gestaltPlayAndRecord EQU 6 ; built-in hardware can play and record simultaneously
gestalt16BitSoundIO EQU 7 ; sound hardware can play and record 16-bit samples
gestaltStereoInput EQU 8 ; sound hardware can record stereo
gestaltLineLevelInput EQU 9 ; sound input port requires line level
; the following bits are not defined prior to Sound Mgr 3.0
gestaltSndPlayDoubleBuffer EQU 10 ; SndPlayDoubleBuffer available, set by Sound Mgr 3.0 and later
gestaltMultiChannels EQU 11 ; multiple channel support, set by Sound Mgr 3.0 and later
gestalt16BitAudioSupport EQU 12 ; 16 bit audio data supported, set by Sound Mgr 3.0 and later
gestaltSpeechAttr EQU 'ttsc' ; Speech Manager attributes
gestaltSpeechMgrPresent EQU 0 ; bit set indicates that Speech Manager exists
gestaltSysArchitecture EQU 'sysa' ; System architecture <SM12>
gestalt68k EQU 1 ; Motorola MC68k architecture
gestaltPowerPC EQU 2 ; IBM PowerPC architecture
gestaltStdNBPAttr EQU 'nlup' ; standard nbp attributes
gestaltStdNBPPresent EQU 0
gestaltStandardFileAttr EQU 'stdf' ; Standard File attributes
gestaltStandardFile58 EQU 0 ; True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported
gestaltStandardFileTranslationAware EQU 1 ; True if standard file is translation manager aware
gestaltStandardFileHasColorIcons EQU 2 ; True if standard file has 16x16 color icons
gestaltTextEditVersion EQU 'te ' ; TextEdit version number
gestaltTE1 EQU 1 ; TextEdit in MacIIci ROM
gestaltTE2 EQU 2 ; TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) <8Aug89smb>
gestaltTE3 EQU 3 ; TextEdit with 6.0.4 Script Systems all but MacIIci
gestaltTE4 EQU 4 ; TextEdit in Big Bang
gestaltTE5 EQU 5 ; TextWidthHook available in TextEdit
gestaltTermMgrAttr EQU 'term' ; terminal mgr attributes
gestaltTermMgrPresent EQU 0
gestaltTermMgrErrorString EQU 2
gestaltTimeMgrVersion EQU 'tmgr' ; time manager attributes
gestaltStandardTimeMgr EQU 1 ; standard time mgr is present
gestaltRevisedTimeMgr EQU 2 ; revised time mgr is present
gestaltExtendedTimeMgr EQU 3 ; extended time mgr is present
gestaltVIA1Addr EQU 'via1' ; VIA 1 base address <SM4>
gestaltVIA2Addr EQU 'via2' ; VIA 2 base address <SM4>
gestaltVMAttr EQU 'vm ' ; virtual memory attributes
gestaltVMPresent EQU 0 ; virtual memory is present
gestaltTranslationAttr EQU 'xlat' ; Translation manager attributes
gestaltTranslationMgrExists EQU 0 ; TRUE if translation manager exists
gestaltIconUtilitiesAttr EQU 'icon' ; Icon Utilities attributes
gestaltIconUtilitiesPresent EQU 0 ; true if icon utilities are present
gestaltCompressionMgr EQU 'icmp' ; returns version of the Image Compression Manager
gestaltQuickTime EQU 'qtim' ; returns version of QuickTime
gestaltQuickTimeFeatures EQU 'qtrs' ; return QuickTime features
gestaltPPCQuickTimeLibPresent EQU 0
gestaltSCSI EQU 'scsi' ; SCSI Manager attributes
gestaltAsyncSCSI EQU 0 ; Supports Asynchronous SCSI
gestaltAsyncSCSIInROM EQU 1 ; Async scsi is in ROM (available for booting)
gestaltSCSISlotBoot EQU 2 ; This ROM supports Slot-style SCSI boots
**************************
* Info-only Selectors
**************************
gestaltMachineType EQU 'mach' ; machine type
gestaltClassic EQU 1
gestaltMacXL EQU 2
gestaltMac512KE EQU 3
gestaltMacPlus EQU 4
gestaltMacSE EQU 5
gestaltMacII EQU 6
gestaltMacIIx EQU 7
gestaltMacIIcx EQU 8
gestaltMacSE30 EQU 9
gestaltPortable EQU 10
gestaltMacIIci EQU 11
gestaltMacIIfx EQU 13
gestaltMacClassic EQU 17 ; <29>
gestaltMacIIsi EQU 18 ; <29>
gestaltMacLC EQU 19 ; <29>
gestaltQuadra900 EQU 20 ; <49>
gestaltPowerBook170 EQU 21 ; <49>
gestaltQuadra700 EQU 22 ; <49>
gestaltClassicII EQU 23 ; <49>
gestaltPowerBook100 EQU 24 ; <49>
gestaltPowerBook140 EQU 25 ; <49>
gestaltQuadra950 EQU 26 ; <53>
gestaltMacLCIII EQU 27 ; <SM21>
gestaltPowerBookDuo210 EQU 29 ; <H4>
gestaltCentris650 EQU 30 ; <SM21>
gestaltPowerBookDuo230 EQU 32 ; <H4>
gestaltPowerBook180 EQU 33 ; <H4>
gestaltPowerBook160 EQU 34 ; <H4>
gestaltQuadra800 EQU 35 ; <SM21>
gestaltMacLCII EQU 37 ; <52>
gestaltPowerBookDuo250 EQU 38 ;
gestaltMacIIvx EQU 45 ; <SM21>
gestaltColorClassic EQU 49 ; <SM21>
gestaltPowerbook180c EQU 50 ; <SM21>
gestaltCentris610 EQU 52 ; <SM21>
gestaltPowerBook145 EQU 54 ; <55>
gestaltLC520 EQU 56 ; <SM21>
gestaltCentris660AV EQU 60 ; <SM21>
gestaltQuadra660AV EQU gestaltCentris660AV; thank you, Ian Diery
gestaltPowerBookDuo270C EQU 77 ;
gestaltQuadra840AV EQU 78 ; <SM21>
gestaltMachineIcon EQU 'micn' ; machine icon
gestaltROMSize EQU 'rom ' ; ROM size
gestaltROMVersion EQU 'romv' ; ROM version
gestaltSystemVersion EQU 'sysv' ; system version
gestaltInternalDisplay EQU 'idsp' ; slot number of internal display location
IF &TYPE('_NewGestaltValue') = 'UNDEFINED' THEN
MACRO
_NewGestaltValue
move.w #$0401,d0
dc.w $ABF1
ENDM
MACRO
_ReplaceGestaltValue
move.w #$0402,d0
dc.w $ABF1
ENDM
MACRO
_DeleteGestaltValue
move.w #$0203,d0
dc.w $ABF1
ENDM
ENDIF ; _NewGestaltValue
ENDIF ; ...already included
gestaltPowerPCProcessorFeatures EQU 'ppcf' ; Optional PowerPC processor features
gestaltPowerPCHasGraphicsInstructions EQU 0 ; has fres, frsqrte, and fsel instructions
gestaltPowerPCHasSTFIWXInstruction EQU 1 ; has stfiwx instruction
gestaltPowerPCHasSquareRootInstructions EQU 2 ; has fsqrt and fsqrts instructions
gestaltPowerPCHasDCBAInstruction EQU 3 ; has dcba instruction
gestaltPowerPCHasVectorInstructions EQU 4 ; has vector instructions
gestaltPowerPCHasDataStreams EQU 5 ; has dst, dstt, dstst, dss, and dssall instructions