sys7.1-doc-wip/Interfaces/AIncludes/GestaltEqu.a

617 lines
30 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;
; Hacks to match MacOS (most recent first):
;
; <Sys7.1> 8/3/92 Recreated gestaltIconUtilities equate (no 'Attr') for compatibility
; 9/2/94 SuperMario ROM source dump (header preserved below)
;
;__________________________________________________________________________________________________
;
; 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
gestaltIconUtilities EQU 'icon' ; Recreated for old code <Sys7.1>
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