mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-22 04:31:30 +00:00
248 lines
10 KiB
C
248 lines
10 KiB
C
|
/*
|
||
|
File: GestaltEqu.h
|
||
|
|
||
|
Contains: Gestalt include file
|
||
|
|
||
|
Written by: Carl C. Hewitt November 30th, 1988
|
||
|
|
||
|
Copyright: © 1988-1993 by Apple Computer, Inc. All rights reserved.
|
||
|
|
||
|
Change History (most recent first):
|
||
|
|
||
|
<SM6> 11/8/93 JRH Added gestaltPowerBookDuo250 and gestaltPowerBookDuo270C.
|
||
|
<SM5> 8/16/93 BG Updated machinetype list so that it only has RELEASED machines
|
||
|
in it. Unreleased machines go in GestaltPriv.r.
|
||
|
<SM4> 6/14/93 kc Roll in Ludwig.
|
||
|
<2> 4/20/93 fau #1079789: Bug # 1079789: Added Cyclone40, Tempest25, and
|
||
|
Tempest33 to the equates.
|
||
|
<SM3> 7/28/92 WS add realtime manager attribute for gestalt call
|
||
|
<SM1> 5/2/92 kc Roll in Horror. Comments follow:
|
||
|
<H3> 4/13/92 SWC Updated the list of machine types.
|
||
|
<H2> 11/12/91 jmp Just brought this ancient file slightly more up-to-date.
|
||
|
<2.6> 7/16/89 CSL Rolling Reality source for Aurora. Original Reality
|
||
|
version is 2.6, 2.7. Original comments are below:
|
||
|
{2.7} 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.6} 7/10/89 CCH NEEDED FOR AURORA: Removed gestaltFirstSlotNumber selector.
|
||
|
<2.5> 6/30/89 CCH Added gestaltLowMemorySize selector.
|
||
|
<2.4> 6/26/89 CCH Added gestaltFirstSlotNumber selector.
|
||
|
<2.3> 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.2> 5/25/89 CCH Revised Gestalt equates to be more consistent.
|
||
|
<2.1> 5/23/89 CCH Added several new gestalt function codes.
|
||
|
<2.0> 5/18/89 CCH Changed equate naming convention to "gestalt" prefix.
|
||
|
Started using character constants for values. Removed all
|
||
|
return values for "unknown", except for one.
|
||
|
<1.9> 4/20/89 CCH Added new equate for virtual RAM size.
|
||
|
<1.8> 4/16/89 CCH Changed equate prefix from "G" to "z".
|
||
|
<1.7> 4/3/89 CCH Added equates for portable and ISO keyboards. Changed names
|
||
|
of some equates.
|
||
|
<1.6> 3/30/89 CCH Took out GROMSize.
|
||
|
<1.5> 3/16/89 CCH Changed G24BitQD to z8BitQD.
|
||
|
<1.4> 3/16/89 CCH Moved definitions of special codes to GestaltPriv.h.
|
||
|
<1.3> 3/6/89 CCH Changed MAXINT to 0x7FFFFFFF.
|
||
|
<1.2> 3/2/89 CCH Changed MMU equates per design review decisions.
|
||
|
<1.1> 2/23/89 CCH Added new Gestalt equates.
|
||
|
<1.0> 2/21/89 CCH Adding to EASE for the first time.
|
||
|
*/
|
||
|
|
||
|
|
||
|
|
||
|
/************************
|
||
|
* Gestalt error codes
|
||
|
************************/
|
||
|
#define gestaltUnknownErr -5550 /* value returned if Gestalt doesn't know the answer */
|
||
|
#define gestaltUndefSelectorErr -5551 /* undefined selector was passed to Gestalt */
|
||
|
#define gestaltDupSelectorErr -5552 /* tried to add an entry that already existed */
|
||
|
#define gestaltLocationErr -5553 /* gestalt function ptr wasn't in sysheap */
|
||
|
|
||
|
/**************************
|
||
|
* Environment Selectors
|
||
|
**************************/
|
||
|
#define gestaltVersion 'vers' /* gestalt version */
|
||
|
|
||
|
#define gestaltAddressingModeAttr 'addr' /* addressing mode attributes */
|
||
|
#define gestalt32BitAddressing 0 /* using 32-bit addressing mode */
|
||
|
#define gestalt32BitSysZone 1 /* 32-bit compatible system zone */
|
||
|
|
||
|
#define gestaltAppleTalkVersion 'atlk' /* appletalk version */
|
||
|
|
||
|
#define gestaltAUXVersion 'a/ux' /* a/ux version, if present */
|
||
|
#define gestaltAUXNotPresent 0
|
||
|
|
||
|
#define gestaltFPUType 'fpu ' /* fpu type */
|
||
|
#define gestaltNoFPU 0
|
||
|
#define gestalt68881 1
|
||
|
#define gestalt68882 2
|
||
|
#define gestalt68040FPU 3
|
||
|
|
||
|
#define gestaltHardwareAttr 'hdwr' /* hardware attributes */
|
||
|
#define gestaltHasVIA1 0 /* VIA1 exists */
|
||
|
#define gestaltHasVIA2 1 /* VIA2 exists */
|
||
|
#define gestaltHasRBV 2 /* RBV exists */
|
||
|
#define gestaltHasASC 3 /* Apple Sound Chip exists */
|
||
|
#define gestaltHasSCC 4 /* SCC exists */
|
||
|
#define gestaltHasOSS 5 /* OSS exists */
|
||
|
#define gestaltHasSCSIDMA 6 /* SCSI DMA exists */
|
||
|
#define gestaltHasSCSI 7 /* SCSI exists */
|
||
|
#define gestaltHasSWIMIOP 8 /* SWIM IOP exists */
|
||
|
#define gestaltHasSCCIOP 9 /* SCC IOP exists */
|
||
|
#define gestaltHasFMC 10 /* Fitch memory controller exists */
|
||
|
#define gestaltHasIWM 11 /* IWM/SWIM exists */
|
||
|
#define gestaltHasPWM 12 /* PWM disk speed buffer exists */
|
||
|
#define gestaltHasSoundBuffer 13 /* RAM-based sound buffer exists */
|
||
|
#define gestaltHasVDAC 14 /* Video D/A converter and CLUT exists */
|
||
|
#define gestaltHasPGC 15 /* Parity Generation Chip exists */
|
||
|
|
||
|
#define gestaltKeyboardType 'kbd ' /* keyboard type */
|
||
|
#define gestaltMacKbd 1
|
||
|
#define gestaltMacAndPad 2
|
||
|
#define gestaltMacPlusKbd 3
|
||
|
#define gestaltExtADBKbd 4
|
||
|
#define gestaltStdADBKbd 5
|
||
|
#define gestaltPrtblADBKbd 6
|
||
|
#define gestaltPrtblIntlKbd 7
|
||
|
#define gestaltStdIntlADBKbd 8
|
||
|
#define gestaltExtIntlADBKbd 9
|
||
|
#define gestaltADBKbdII 10
|
||
|
#define gestaltADBISOKbdII 11
|
||
|
#define gestaltPwrBkADBKbd 12
|
||
|
#define gestaltPwrBkISOKbd 13
|
||
|
|
||
|
#define gestaltLowMemorySize 'lmem' /* size of low memory area */
|
||
|
|
||
|
#define gestaltLogicalRAMSize 'lram' /* logical ram size */
|
||
|
|
||
|
#define gestaltMMUType 'mmu ' /* mmu type */
|
||
|
#define gestaltNoMMU 0 /* no MMU */
|
||
|
#define gestaltAMU 1 /* address management unit */
|
||
|
#define gestalt68851 2 /* 68851 PMMU */
|
||
|
#define gestalt68030MMU 3 /* 68030 built-in MMU */
|
||
|
#define gestalt68040MMU 4 /* 68040 built-in MMU */
|
||
|
|
||
|
#define gestaltNuBusSlotCount 'nubs' /* count of logical NuBus slots present */
|
||
|
|
||
|
#define gestaltOSAttr 'osa ' /* o/s attributes */
|
||
|
#define gestaltSysZoneGrowable 0 /* system heap is growable */
|
||
|
#define gestaltLaunchCanReturn 1 /* can return from launch */
|
||
|
#define gestaltLaunchFullFileSpec 2 /* can launch from full file spec */
|
||
|
#define gestaltLaunchControl 3 /* launch control support available */
|
||
|
#define gestaltTempMemSupport 4 /* temp memory support */
|
||
|
#define gestaltRealTempMemory 5 /* temp memory handles are real */
|
||
|
#define gestaltTempMemTracked 6 /* temporary memory handles are tracked */
|
||
|
#define gestaltIPCSupport 7 /* IPC support is present */
|
||
|
#define gestaltSysDebuggerSupport 8 /* system debugger support is present */
|
||
|
|
||
|
#define gestaltLogicalPageSize 'pgsz' /* logical page size */
|
||
|
|
||
|
#define gestaltPowerMgrAttr 'powr' /* power manager attributes */
|
||
|
#define gestaltPMgrExists 0
|
||
|
#define gestaltPMgrCPUIdle 1
|
||
|
#define gestaltPMgrSCC 2
|
||
|
#define gestaltPMgrSound 3
|
||
|
|
||
|
#define gestaltProcessorType 'proc' /* processor type */
|
||
|
#define gestalt68000 1
|
||
|
#define gestalt68010 2
|
||
|
#define gestalt68020 3
|
||
|
#define gestalt68030 4
|
||
|
#define gestalt68040 5
|
||
|
|
||
|
#define gestaltParityAttr 'prty' /* parity attributes */
|
||
|
#define gestaltHasParityCapability 0 /* has ability to check parity */
|
||
|
#define gestaltParityEnabled 1 /* parity checking enabled */
|
||
|
|
||
|
#define gestaltQuickdrawType 'qd ' /* quickdraw type */
|
||
|
#define gestaltOriginalQD 0
|
||
|
#define gestalt8BitQD 1
|
||
|
#define gestalt32BitQD 2
|
||
|
|
||
|
#define gestaltPhysicalRAMSize 'ram ' /* physical RAM size */
|
||
|
#define gestaltRBVAddr 'rbv ' /* RBV base address */
|
||
|
#define gestaltSCCReadAddr 'sccr' /* scc read base address */
|
||
|
#define gestaltSCCWriteAddr 'sccw' /* scc read base address */
|
||
|
|
||
|
#define gestaltSlotAttr 'slot' /* slot attributes */
|
||
|
#define gestaltSlotMgrExists 0 /* true is slot mgr exists */
|
||
|
#define gestaltNuBusPresent 1 /* NuBus slots are present */
|
||
|
#define gestaltSESlotPresent 2 /* SE PDS slot present */
|
||
|
#define gestaltSE30SlotPresent 3 /* SE/30 slot present */
|
||
|
#define gestaltPortableSlotPresent 4 /* Portable's slot present */
|
||
|
|
||
|
#define gestaltFirstSlotNumber 'slt1' /* returns first physical slot */
|
||
|
|
||
|
#define gestaltSoundAttr 'snd ' /* sound attributes */
|
||
|
#define gestaltStereoCapability 0 /* sound hardware has stereo capability */
|
||
|
#define gestaltStereoMixing 1 /* stereo mixing on external speaker */
|
||
|
#define gestaltHeadphonePluggedIn 2 /* a headphone is plugged into the jack */
|
||
|
|
||
|
#define gestaltTimeMgrVersion 'tmgr' /* time mgr version */
|
||
|
#define gestaltStandardTimeMgr 1 /* standard time mgr is present */
|
||
|
#define gestaltRevisedTimeMgr 2 /* revised time mgr is present */
|
||
|
#define gestaltExtendedTimeMgr 3 /* extended time mgr is present */
|
||
|
|
||
|
#define gestaltVIA1Addr 'via1' /* via 1 base address */
|
||
|
#define gestaltVIA2Addr 'via2' /* via 2 base address */
|
||
|
|
||
|
#define gestaltVMAttr 'vm ' /* virtual memory attributes */
|
||
|
#define gestaltVMNotInstalled 0
|
||
|
|
||
|
#define gestaltRealtimeMgrAttr 'rtmr' /* realtime manager attribute <SM2> WS */
|
||
|
#define gestaltRealtimeMgrPresent 0
|
||
|
|
||
|
/*************************
|
||
|
* Info-only selectors
|
||
|
************************/
|
||
|
#define gestaltMachineType 'mach' /* machine type */
|
||
|
#define gestaltClassic 1
|
||
|
#define gestaltMacXL 2
|
||
|
#define gestaltMac512KE 3
|
||
|
#define gestaltMacPlus 4
|
||
|
#define gestaltMacSE 5
|
||
|
#define gestaltMacII 6
|
||
|
#define gestaltMacIIx 7
|
||
|
#define gestaltMacIIcx 8
|
||
|
#define gestaltMacSE030 9
|
||
|
#define gestaltPortable 10
|
||
|
#define gestaltMacIIci 11
|
||
|
#define gestaltMacIIfx 13
|
||
|
#define gestaltMacClassic 17
|
||
|
#define gestaltMacIIsi 18
|
||
|
#define gestaltMacLC 19
|
||
|
#define gestaltQuadra900 20
|
||
|
#define gestaltPowerBook170 21
|
||
|
#define gestaltQuadra700 22
|
||
|
#define gestaltClassicII 23
|
||
|
#define gestaltPowerBook100 24
|
||
|
#define gestaltPowerBook140 25
|
||
|
#define gestaltQuadra950 26
|
||
|
#define gestaltMacLCIII 27
|
||
|
#define gestaltPowerBookDuo210 29
|
||
|
#define gestaltCentris650 30
|
||
|
#define gestaltPowerBookDuo230 32
|
||
|
#define gestaltPowerBook180 33
|
||
|
#define gestaltPowerBook160 34
|
||
|
#define gestaltQuadra800 35
|
||
|
#define gestaltMacLCII 37
|
||
|
#define gestaltPowerBookDuo250 38
|
||
|
#define gestaltMacIIvx 45
|
||
|
#define gestaltColorClassic 49
|
||
|
#define gestaltPowerbook180c 50
|
||
|
#define gestaltCentris610 52
|
||
|
#define gestaltPowerBook145 54
|
||
|
#define gestaltLC520 56
|
||
|
#define gestaltCentris660AV 60
|
||
|
#define gestaltPowerBookDuo270C 77
|
||
|
#define gestaltQuadra840AV 78
|
||
|
|
||
|
#define gestaltROMSize 'rom ' /* rom size */
|
||
|
#define gestaltROMVersion 'romv' /* rom version */
|
||
|
#define gestaltSystemVersion 'sysv' /* system version*/
|
||
|
|