mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 05:49:19 +00:00
521 lines
30 KiB
C
521 lines
30 KiB
C
|
||
/************************************************************
|
||
|
||
Created: Friday, November 15, 1991 at 9:29 AM
|
||
SysEqu.h
|
||
C Interface to the Macintosh Libraries
|
||
|
||
|
||
Copyright Apple Computer, Inc. 1985-1992
|
||
All rights reserved
|
||
|
||
|
||
Change History (most recent first):
|
||
|
||
<SM6> 11/10/93 fau Update from SuperMunggio <SMG2>.
|
||
<SMG2> 8/26/93 chp Added the 680x0 exception vectors.
|
||
<5> 11/5/93 IH Sync with Excelsior.
|
||
<SM4> 9/6/93 pdw Added SCSI2Base.
|
||
<13> 2/24/93 JDR Added HWCfgFlags since it's in Inside Mac, it's necessary at
|
||
time to look at this, and it also in the asm interfaces.
|
||
<12> 4/16/92 DCL For New Inside Mac: Added SysDirection as a synonym for
|
||
TESysJust.
|
||
<11> 4/14/92 DCL Added new improved names in the continued pursuit of
|
||
name-nirvana in IM 2nd Edition.
|
||
<10> 2/17/92 MH Corrected value of timeSCSIDB from 0DA6 to 0B24
|
||
<9> 11/19/91 JL Added ToolScratch and ApplScratch as per I.M. vol. I p. 85.
|
||
<8> 7/31/91 JL Updated Copyright.
|
||
<7> 6/14/91 JL Checked in official MPW 3.2ƒ version. Removed the comma after
|
||
the constant declarations of: SdVolume, JIODone, ScrapName,
|
||
CurActivate, and ResErrProc because the cmarker tool was dying.
|
||
<6> 1/28/91 LN Checked in Database generate file from DSG. Grouping enums into
|
||
groups of 20.
|
||
<5> 10/24/90 JL This file should be casted not anonymous enums.
|
||
<4> 10/24/90 JL Changed all #defines to anonymous enums.
|
||
|
||
To Do:
|
||
************************************************************/
|
||
|
||
|
||
#ifndef __SYSEQU__
|
||
#define __SYSEQU__
|
||
|
||
|
||
enum {
|
||
ResetSP = 0x00, /*[EXCEPTION VECTOR] (long) reset initial interrupt SP*/
|
||
ResetPC = 0x04, /*[EXCEPTION VECTOR] (long) reset initial Program counter*/
|
||
BusErrVct = 0x08, /*[EXCEPTION VECTOR] (long) bus error vector*/
|
||
AddrVector = 0x0C, /*[EXCEPTION VECTOR] (long) address error*/
|
||
IlglVector = 0x10, /*[EXCEPTION VECTOR] (long) illegal instruction*/
|
||
ZeroVector = 0x14, /*[EXCEPTION VECTOR] (long) divide by 0*/
|
||
CheckVector = 0x18, /*[EXCEPTION VECTOR] (long) check bounds error*/
|
||
TrapVVector = 0x1C, /*[EXCEPTION VECTOR] (long) trapv location*/
|
||
PrivlgVector = 0x20, /*[EXCEPTION VECTOR] (long) privilege violation*/
|
||
TraceVector = 0x24, /*[EXCEPTION VECTOR] (long) trace exception vector*/
|
||
Line1010 = 0x28, /*[EXCEPTION VECTOR] (long) 1010 emulator trap (system routines)*/
|
||
Line1111 = 0x2C, /*[EXCEPTION VECTOR] (long) 1111 emulator trap (reserved)*/
|
||
DebugVector = Line1111, /*[EXCEPTION VECTOR] (long) debug instructions*/
|
||
FmtErrVect = 0x38, /*[EXCEPTION VECTOR] (long) format error vector for 68010/68020*/
|
||
BadIntVector = 0x60, /*[EXCEPTION VECTOR] (long) spurious interrupt*/
|
||
AutoInt1 = 0x64, /*[EXCEPTION VECTOR] (long) level 1 auto-vector*/
|
||
AutoInt2 = 0x68, /*[EXCEPTION VECTOR] (long) level 2 auto-vector*/
|
||
AutoInt3 = 0x6C, /*[EXCEPTION VECTOR] (long) level 3 auto-vector*/
|
||
AutoInt4 = 0x70, /*[EXCEPTION VECTOR] (long) level 4 auto-vector*/
|
||
AutoInt5 = 0x74, /*[EXCEPTION VECTOR] (long) level 5 auto-vector*/
|
||
AutoInt6 = 0x78, /*[EXCEPTION VECTOR] (long) level 6 auto-vector*/
|
||
AutoInt7 = 0x7C, /*[EXCEPTION VECTOR] (long) level 7 auto-vector*/
|
||
BkptVector = 0xB8, /*[EXCEPTION VECTOR] (long) break loc*/
|
||
BSUNVector = 0xC0, /*[EXCEPTION VECTOR] (long) BSUN for FP Emulation Code*/
|
||
UNFLVector = 0xCC, /*[EXCEPTION VECTOR] (long) Underflow for FP Emulation Code*/
|
||
OPERRVector = 0xD0, /*[EXCEPTION VECTOR] (long) Operand Error for FP Emulation Code*/
|
||
OVFLVector = 0xD4, /*[EXCEPTION VECTOR] (long) Overflow for FP Emulation Code*/
|
||
SNANVector = 0xD8, /*[EXCEPTION VECTOR] (long) Signal NAN for FP Emulation Code*/
|
||
UNIMPDTVector = 0xDC /*[EXCEPTION VECTOR] (long) 040 Unimplemented Data Type for FP Emulation Code*/
|
||
};
|
||
enum {
|
||
PCDeskPat = 0x20B, /*[GLOBAL VAR] desktop pat, top bit only! others are in use*/
|
||
HiKeyLast = 0x216, /*[GLOBAL VAR] Same as KbdVars*/
|
||
KbdLast = 0x218, /*[GLOBAL VAR] Same as KbdVars+2*/
|
||
ExpandMem = 0x2B6, /*[GLOBAL VAR] pointer to expanded memory block*/
|
||
SCSIBase = 0x0C00, /*[GLOBAL VAR] (long) base address for SCSI chip read*/
|
||
SCSI2Base = 0x1FF0, /*[GLOBAL VAR] (long) base address for 2nd SCSI chip read*/
|
||
SCSIDMA = 0x0C04, /*[GLOBAL VAR] (long) base address for SCSI DMA*/
|
||
SCSIHsk = 0x0C08, /*[GLOBAL VAR] (long) base address for SCSI handshake*/
|
||
SCSIGlobals = 0x0C0C, /*[GLOBAL VAR] (long) ptr for SCSI mgr locals*/
|
||
RGBBlack = 0x0C10, /*[GLOBAL VAR] (6 bytes) the black field for color*/
|
||
RGBWhite = 0x0C16, /*[GLOBAL VAR] (6 bytes) the white field for color*/
|
||
RowBits = 0x0C20, /*[GLOBAL VAR] (word) screen horizontal pixels*/
|
||
ColLines = 0x0C22, /*[GLOBAL VAR] (word) screen vertical pixels*/
|
||
ScreenBytes = 0x0C24, /*[GLOBAL VAR] (long) total screen bytes*/
|
||
NMIFlag = 0x0C2C, /*[GLOBAL VAR] (byte) flag for NMI debounce*/
|
||
VidType = 0x0C2D, /*[GLOBAL VAR] (byte) video board type ID*/
|
||
VidMode = 0x0C2E, /*[GLOBAL VAR] (byte) video mode (4=4bit color)*/
|
||
SCSIPoll = 0x0C2F, /*[GLOBAL VAR] (byte) poll for device zero only once.*/
|
||
SEVarBase = 0x0C30, /*[GLOBAL VAR] */
|
||
MMUFlags = 0x0CB0, /*[GLOBAL VAR] (byte) cleared to zero (reserved for future use)*/
|
||
MMUType = 0x0CB1 /*[GLOBAL VAR] (byte) kind of MMU present*/
|
||
};
|
||
enum {
|
||
MMU32bit = 0x0CB2, /*[GLOBAL VAR] (byte) boolean reflecting current machine MMU mode*/
|
||
MMUFluff = 0x0CB3, /*[GLOBAL VAR] (byte) fluff byte forced by reducing MMUMode to MMU32bit.*/
|
||
MMUTbl = 0x0CB4, /*[GLOBAL VAR] (long) pointer to MMU Mapping table*/
|
||
MMUTblSize = 0x0CB8, /*[GLOBAL VAR] (long) size of the MMU mapping table*/
|
||
SInfoPtr = 0x0CBC, /*[GLOBAL VAR] (long) pointer to Slot manager information*/
|
||
ASCBase = 0x0CC0, /*[GLOBAL VAR] (long) pointer to Sound Chip*/
|
||
SMGlobals = 0x0CC4, /* (long) pointer to Sound Manager Globals*/
|
||
TheGDevice = 0x0CC8, /*[GLOBAL VAR] (long) the current graphics device*/
|
||
CQDGlobals = 0x0CCC, /* (long) quickDraw global extensions*/
|
||
ADBBase = 0x0CF8, /*[GLOBAL VAR] (long) pointer to Front Desk Buss Variables*/
|
||
WarmStart = 0x0CFC, /*[GLOBAL VAR] (long) flag to indicate it is a warm start*/
|
||
TimeDBRA = 0x0D00, /*[GLOBAL VAR] (word) number of iterations of DBRA per millisecond*/
|
||
TimeSCCDB = 0x0D02, /*[GLOBAL VAR] (word) number of iter's of SCC access & DBRA.*/
|
||
SlotQDT = 0x0D04, /*[GLOBAL VAR] ptr to slot queue table*/
|
||
SlotPrTbl = 0x0D08, /*[GLOBAL VAR] ptr to slot priority table*/
|
||
SlotVBLQ = 0x0D0C, /*[GLOBAL VAR] ptr to slot VBL queue table*/
|
||
ScrnVBLPtr = 0x0D10, /*[GLOBAL VAR] save for ptr to main screen VBL queue*/
|
||
SlotTICKS = 0x0D14, /*[GLOBAL VAR] ptr to slot tickcount table*/
|
||
TableSeed = 0x0D20, /*[GLOBAL VAR] (long) seed value for color table ID's*/
|
||
SRsrcTblPtr = 0x0D24 /*[GLOBAL VAR] (long) pointer to slot resource table.*/
|
||
};
|
||
enum {
|
||
JVBLTask = 0x0D28, /*[GLOBAL VAR] vector to slot VBL task interrupt handler*/
|
||
WMgrCPort = 0x0D2C, /*[GLOBAL VAR] window manager color port */
|
||
VertRRate = 0x0D30, /*[GLOBAL VAR] (word) Vertical refresh rate for start manager. */
|
||
ChunkyDepth = 0x0D60, /*[GLOBAL VAR] depth of the pixels*/
|
||
CrsrPtr = 0x0D62, /*[GLOBAL VAR] pointer to cursor save area*/
|
||
PortList = 0x0D66, /*[GLOBAL VAR] list of grafports*/
|
||
MickeyBytes = 0x0D6A, /*[GLOBAL VAR] long pointer to cursor stuff*/
|
||
QDErrLM = 0x0D6E, /*[GLOBAL VAR] QDErr has name conflict w/ type. QuickDraw error code [word]*/
|
||
VIA2DT = 0x0D70, /*[GLOBAL VAR] 32 bytes for VIA2 dispatch table for NuMac*/
|
||
SInitFlags = 0x0D90, /*[GLOBAL VAR] StartInit.a flags [word]*/
|
||
DTQueue = 0x0D92, /*[GLOBAL VAR] (10 bytes) deferred task queue header*/
|
||
DTQFlags = 0x0D92, /*[GLOBAL VAR] flag word for DTQueue*/
|
||
DTskQHdr = 0x0D94, /*[GLOBAL VAR] ptr to head of queue*/
|
||
DTskQTail = 0x0D98, /*[GLOBAL VAR] ptr to tail of queue*/
|
||
JDTInstall = 0x0D9C, /*[GLOBAL VAR] (long) ptr to deferred task install routine*/
|
||
HiliteRGB = 0x0DA0, /*[GLOBAL VAR] 6 bytes: rgb of hilite color*/
|
||
HWCfgFlags = 0x0B22, /*[GLOBAL VAR] (word) hardware configuration flags*/
|
||
TimeSCSIDB = 0x0B24, /*[GLOBAL VAR] (word) number of iter's of SCSI access & DBRA*/
|
||
DSCtrAdj = 0x0DA8, /*[GLOBAL VAR] (long) Center adjust for DS rect.*/
|
||
IconTLAddr = 0x0DAC, /*[GLOBAL VAR] (long) pointer to where start icons are to be put.*/
|
||
VideoInfoOK = 0x0DB0 /*[GLOBAL VAR] (long) Signals to CritErr that the Video card is ok*/
|
||
};
|
||
enum {
|
||
EndSRTPtr = 0x0DB4, /*[GLOBAL VAR] (long) Pointer to the end of the Slot Resource Table (Not the SRT buffer).*/
|
||
SDMJmpTblPtr = 0x0DB8, /*[GLOBAL VAR] (long) Pointer to the SDM jump table*/
|
||
JSwapMMU = 0x0DBC, /*[GLOBAL VAR] (long) jump vector to SwapMMU routine*/
|
||
SdmBusErr = 0x0DC0, /*[GLOBAL VAR] (long) Pointer to the SDM busErr handler*/
|
||
LastTxGDevice = 0x0DC4, /*[GLOBAL VAR] (long) copy of TheGDevice set up for fast text measure*/
|
||
NewCrsrJTbl = 0x88C, /*[GLOBAL VAR] location of new crsr jump vectors*/
|
||
JAllocCrsr = 0x88C, /*[GLOBAL VAR] (long) vector to routine that allocates cursor*/
|
||
JSetCCrsr = 0x890, /*[GLOBAL VAR] (long) vector to routine that sets color cursor*/
|
||
JOpcodeProc = 0x894, /*[GLOBAL VAR] (long) vector to process new picture opcodes*/
|
||
CrsrBase = 0x898, /*[GLOBAL VAR] (long) scrnBase for cursor*/
|
||
CrsrDevice = 0x89C, /*[GLOBAL VAR] (long) current cursor device*/
|
||
SrcDevice = 0x8A0, /*[GLOBAL VAR] (LONG) Src device for Stretchbits*/
|
||
MainDevice = 0x8A4, /*[GLOBAL VAR] (long) the main screen device*/
|
||
DeviceList = 0x8A8, /*[GLOBAL VAR] (long) list of display devices*/
|
||
CrsrRow = 0x8AC, /*[GLOBAL VAR] (word) rowbytes for current cursor screen*/
|
||
QDColors = 0x8B0, /*[GLOBAL VAR] (long) handle to default colors*/
|
||
HiliteMode = 0x938, /*[GLOBAL VAR] used for color highlighting*/
|
||
RestProc = 0xA8C, /*[GLOBAL VAR] Resume procedure f InitDialogs [pointer]*/
|
||
ROM85 = 0x28E, /*[GLOBAL VAR] (word) actually high bit - 0 for ROM vers $75 (sic) and later*/
|
||
ntsc = 0xB3E /*[GLOBAl VAR] (byte) Decides fate of menubar’s squareness: 0 for square, non-zero for round.*/
|
||
};
|
||
enum {
|
||
ROMMapHndl = 0xB06, /*[GLOBAL VAR] (long) handle of ROM resource map*/
|
||
ScrVRes = 0x102, /*[GLOBAL VAR] Pixels per inch vertically (word)
|
||
screen vertical dots/inch [word]*/
|
||
ScrHRes = 0x104, /*[GLOBAL VAR] Pixels per inch horizontally (word)
|
||
screen horizontal dots/inch [word]*/
|
||
ScrnBase = 0x824, /*[GLOBAL VAR] Address of main screen buffer
|
||
Screen Base [pointer]*/
|
||
ScreenRow = 0x106, /*[GLOBAL VAR] rowBytes of screen [word]*/
|
||
MBTicks = 0x16E, /*[GLOBAL VAR] tick count @ last mouse button [long]*/
|
||
JKybdTask = 0x21A, /*[GLOBAL VAR] keyboard VBL task hook [pointer]*/
|
||
KeyLast = 0x184, /*[GLOBAL VAR] ASCII for last valid keycode [word]*/
|
||
KeyTime = 0x186, /*[GLOBAL VAR] tickcount when KEYLAST was rec'd [long]*/
|
||
KeyRepTime = 0x18A, /*[GLOBAL VAR] tickcount when key was last repeated [long]*/
|
||
SPConfig = 0x1FB, /*[GLOBAL VAR] Use types for serial ports (byte)
|
||
config bits: 4-7 A, 0-3 B (see use type below)*/
|
||
SPPortA = 0x1FC, /*[GLOBAL VAR] Modem port configuration (word)
|
||
SCC port A configuration [word]*/
|
||
SPPortB = 0x1FE, /*[GLOBAL VAR] Printer port configuration (word)
|
||
SCC port B configuration [word]*/
|
||
SCCRd = 0x1D8, /*[GLOBAL VAR] SCC read base address
|
||
SCC base read address [pointer]*/
|
||
SCCWr = 0x1DC, /*[GLOBAL VAR] SCC write base address
|
||
SCC base write address [pointer]*/
|
||
DoubleTime = 0x2F0, /*[GLOBAL VAR] Double-click interval in ticks (long)
|
||
double click ticks [long]*/
|
||
CaretTime = 0x2F4, /*[GLOBAL VAR] Caret-blink interval in ticks (long)
|
||
caret blink ticks [long]*/
|
||
KeyThresh = 0x18E, /*[GLOBAL VAR] Auto-key threshold (word)
|
||
threshold for key repeat [word]*/
|
||
KeyRepThresh = 0x190, /*[GLOBAL VAR] Auto-key rate (word)
|
||
key repeat speed [word]*/
|
||
SdVolume = 0x260 /*[GLOBAL VAR] Current speaker volume (byte: low-order three bits only)
|
||
Global volume(sound) control [byte]*/
|
||
};
|
||
enum {
|
||
Ticks = 0x16A, /*[GLOBAL VAR] Current number of ticks since system startup (long)
|
||
Tick count, time since boot [unsigned long]*/
|
||
TimeLM = 0x20C, /*[GLOBAL VAR] Time has name conflict w/ type. Clock time (extrapolated) [long]*/
|
||
MonkeyLives = 0x100, /*[GLOBAL VAR] monkey lives if >= 0 [word]*/
|
||
SEvtEnb = 0x15C, /*[GLOBAL VAR] 0 if SystemEvent should return FALSE (byte)
|
||
enable SysEvent calls from GNE [byte]*/
|
||
JournalFlag = 0x8DE, /*[GLOBAL VAR] Journaling mode (word)
|
||
journaling state [word]*/
|
||
JournalRef = 0x8E8, /*[GLOBAL VAR] Reference number of journaling device driver (word)
|
||
Journalling driver's refnum [word]*/
|
||
BufPtr = 0x10C, /*[GLOBAL VAR] Address of end of jump table
|
||
top of application memory [pointer]*/
|
||
StkLowPt = 0x110, /*[GLOBAL VAR] Lowest stack as measured in VBL task [pointer]*/
|
||
TheZone = 0x118, /*[GLOBAL VAR] Address of current heap zone
|
||
current heap zone [pointer]*/
|
||
ApplLimit = 0x130, /*[GLOBAL VAR] Application heap limit
|
||
application limit [pointer]*/
|
||
SysZone = 0x2A6, /*[GLOBAL VAR] Address of system heap zone
|
||
system heap zone [pointer]*/
|
||
ApplZone = 0x2AA, /*[GLOBAL VAR] Address of application heap zone
|
||
application heap zone [pointer]*/
|
||
HeapEnd = 0x114, /*[GLOBAL VAR] Address of end of application heap zone
|
||
end of heap [pointer]*/
|
||
HiHeapMark = 0xBAE, /*[GLOBAL VAR] (long) highest address used by a zone below sp<01Nov85 JTC>*/
|
||
MemErr = 0x220, /*[GLOBAL VAR] last memory manager error [word]*/
|
||
UTableBase = 0x11C, /*[GLOBAL VAR] Base address of unit table
|
||
unit I/O table [pointer]*/
|
||
UnitNtryCnt = 0x1D2, /*[GLOBAL VAR] count of entries in unit table [word]*/
|
||
JFetch = 0x8F4, /*[GLOBAL VAR] Jump vector for Fetch function
|
||
fetch a byte routine for drivers [pointer]*/
|
||
JStash = 0x8F8, /*[GLOBAL VAR] Jump vector for Stash function
|
||
stash a byte routine for drivers [pointer]*/
|
||
JIODone = 0x8FC /*[GLOBAL VAR] Jump vector for IODone function
|
||
IODone entry location [pointer]*/
|
||
};
|
||
enum {
|
||
DrvQHdr = 0x308, /*[GLOBAL VAR] Drive queue header (10 bytes)
|
||
queue header of drives in system [10 bytes]*/
|
||
BootDrive = 0x210, /*[GLOBAL VAR] drive number of boot drive [word]*/
|
||
EjectNotify = 0x338, /*[GLOBAL VAR] eject notify procedure [pointer]*/
|
||
IAZNotify = 0x33C, /*[GLOBAL VAR] world swaps notify procedure [pointer]*/
|
||
SFSaveDisk = 0x214, /*[GLOBAL VAR] Negative of volume reference number used by Standard File Package (word)
|
||
last vRefNum seen by standard file [word]*/
|
||
CurDirStore = 0x398, /*[GLOBAL VAR] save dir across calls to Standard File [long]*/
|
||
OneOne = 0xA02, /*[GLOBAL VAR] $00010001
|
||
constant $00010001 [long]*/
|
||
MinusOne = 0xA06, /*[GLOBAL VAR] $FFFFFFFF
|
||
constant $FFFFFFFF [long]*/
|
||
Lo3Bytes = 0x31A, /*[GLOBAL VAR] $00FFFFFF
|
||
constant $00FFFFFF [long]*/
|
||
ROMBase = 0x2AE, /*[GLOBAL VAR] Base address of ROM
|
||
ROM base address [pointer]*/
|
||
RAMBase = 0x2B2, /*[GLOBAL VAR] Trap dispatch table's base address for routines in RAM
|
||
RAM base address [pointer]*/
|
||
SysVersion = 0x15A, /*[GLOBAL VAR] version # of RAM-based system [word]*/
|
||
RndSeed = 0x156, /*[GLOBAL VAR] Random number seed (long)
|
||
random seed/number [long]*/
|
||
Scratch20 = 0x1E4, /*[GLOBAL VAR] 20-byte scratch area
|
||
scratch [20 bytes]*/
|
||
Scratch8 = 0x9FA, /*[GLOBAL VAR] 8-byte scratch area
|
||
scratch [8 bytes]*/
|
||
ToolScratch = 0x9CE, /*[GLOBAL VAR] 8-byte scratch area
|
||
scratch [8 bytes]*/
|
||
ApplScratch = 0xA78, /*[GLOBAL VAR] 12-byte application scratch area
|
||
scratch [12 bytes]*/
|
||
ScrapSize = 0x960, /*[GLOBAL VAR] Size in bytes of desk scrap (long)
|
||
scrap length [long]*/
|
||
ScrapHandle = 0x964, /*[GLOBAL VAR] Handle to desk scrap in memory
|
||
memory scrap [handle]*/
|
||
ScrapCount = 0x968 /*[GLOBAL VAR] Count changed by ZeroScrap (word)
|
||
validation byte [word]*/
|
||
};
|
||
enum {
|
||
ScrapState = 0x96A, /*[GLOBAL VAR] Tells where desk scrap is (word)
|
||
scrap state [word]*/
|
||
ScrapName = 0x96C, /*[GLOBAL VAR] Pointer to scrap file name (preceded by length byte)
|
||
pointer to scrap name [pointer]*/
|
||
IntlSpec = 0xBA0, /*[GLOBAL VAR] (long) - ptr to extra Intl data */
|
||
SwitcherTPtr = 0x286, /*[GLOBAL VAR] Switcher's switch table */
|
||
CPUFlag = 0x12F, /*[GLOBAL VAR] $00=68000, $01=68010, $02=68020 (old ROM inits to $00)*/
|
||
VIA = 0x1D4, /*[GLOBAL VAR] VIA base address
|
||
VIA base address [pointer]*/
|
||
IWM = 0x1E0, /*[GLOBAL VAR] IWM base address [pointer]*/
|
||
Lvl1DT = 0x192, /*[GLOBAL VAR] Level-1 secondary interrupt vector table (32 bytes)
|
||
Interrupt level 1 dispatch table [32 bytes]*/
|
||
Lvl2DT = 0x1B2, /*[GLOBAL VAR] Level-2 secondary interrupt vector table (32 bytes)
|
||
Interrupt level 2 dispatch table [32 bytes]*/
|
||
ExtStsDT = 0x2BE, /*[GLOBAL VAR] External/status interrupt vector table (16 bytes)
|
||
SCC ext/sts secondary dispatch table [16 bytes]*/
|
||
SPValid = 0x1F8, /*[GLOBAL VAR] Validity status (byte)
|
||
validation field ($A7) [byte]*/
|
||
SPATalkA = 0x1F9, /*[GLOBAL VAR] AppleTalk node ID hint for modem port (byte)
|
||
AppleTalk node number hint for port A*/
|
||
SPATalkB = 0x1FA, /*[GLOBAL VAR] AppleTalk node ID hint for printer port (byte)
|
||
AppleTalk node number hint for port B*/
|
||
SPAlarm = 0x200, /*[GLOBAL VAR] Alarm setting (long)
|
||
alarm time [long]*/
|
||
SPFont = 0x204, /*[GLOBAL VAR] Application font number minus 1 (word)
|
||
default application font number minus 1 [word]*/
|
||
SPKbd = 0x206, /*[GLOBAL VAR] Auto-key threshold and rate (byte)
|
||
kbd repeat thresh in 4/60ths [2 4-bit]*/
|
||
SPPrint = 0x207, /*[GLOBAL VAR] Printer connection (byte)
|
||
print stuff [byte]*/
|
||
SPVolCtl = 0x208, /*[GLOBAL VAR] Speaker volume setting in parameter RAM (byte)
|
||
volume control [byte]*/
|
||
SPClikCaret = 0x209, /*[GLOBAL VAR] Double-click and caret-blink times (byte)
|
||
double click/caret time in 4/60ths[2 4-bit]*/
|
||
SPMisc1 = 0x20A /*[GLOBAL VAR] miscellaneous [1 byte]*/
|
||
};
|
||
enum {
|
||
SPMisc2 = 0x20B, /*[GLOBAL VAR] Mouse scaling, system startup disk, menu blink (byte)
|
||
miscellaneous [1 byte]*/
|
||
GetParam = 0x1E4, /*[GLOBAL VAR] system parameter scratch [20 bytes]*/
|
||
SysParam = 0x1F8, /*[GLOBAL VAR] Low-memory copy of parameter RAM (20 bytes)
|
||
system parameter memory [20 bytes]*/
|
||
CrsrThresh = 0x8EC, /*[GLOBAL VAR] Mouse-scaling threshold (word)
|
||
delta threshold for mouse scaling [word]*/
|
||
JCrsrTask = 0x8EE, /*[GLOBAL VAR] address of CrsrVBLTask [long]*/
|
||
MTemp = 0x828, /*[GLOBAL VAR] Low-level interrupt mouse location [long]*/
|
||
RawMouse = 0x82C, /*[GLOBAL VAR] un-jerked mouse coordinates [long]*/
|
||
CrsrRect = 0x83C, /*[GLOBAL VAR] Cursor hit rectangle [8 bytes]*/
|
||
TheCrsr = 0x844, /*[GLOBAL VAR] Cursor data, mask & hotspot [68 bytes]*/
|
||
CrsrAddr = 0x888, /*[GLOBAL VAR] Address of data under cursor [long]*/
|
||
CrsrSave = 0x88C, /*[GLOBAL VAR] data under the cursor [64 bytes]*/
|
||
CrsrVis = 0x8CC, /*[GLOBAL VAR] Cursor visible? [byte]*/
|
||
CrsrBusy = 0x8CD, /*[GLOBAL VAR] Cursor locked out? [byte]*/
|
||
CrsrNew = 0x8CE, /*[GLOBAL VAR] Cursor changed? [byte]*/
|
||
CrsrState = 0x8D0, /*[GLOBAL VAR] Cursor nesting level [word]*/
|
||
CrsrObscure = 0x8D2, /*[GLOBAL VAR] Cursor obscure semaphore [byte]*/
|
||
KbdVars = 0x216, /*[GLOBAL VAR] Keyboard manager variables [4 bytes]*/
|
||
KbdType = 0x21E, /*[GLOBAL VAR] keyboard model number [byte]*/
|
||
MBState = 0x172, /*[GLOBAL VAR] current mouse button state [byte]*/
|
||
KeyMapLM = 0x174 /*[GLOBAL VAR] KeyMap has name conflict w/ type. Bitmap of the keyboard [4 longs]*/
|
||
};
|
||
enum {
|
||
KeypadMap = 0x17C, /*[GLOBAL VAR] bitmap for numeric pad-18bits [long]*/
|
||
Key1Trans = 0x29E, /*[GLOBAL VAR] keyboard translator procedure [pointer]*/
|
||
Key2Trans = 0x2A2, /*[GLOBAL VAR] numeric keypad translator procedure [pointer]*/
|
||
JGNEFilter = 0x29A, /*[GLOBAL VAR] GetNextEvent filter proc [pointer]*/
|
||
KeyMVars = 0xB04, /*[GLOBAL VAR] (word) for ROM KEYM proc state*/
|
||
Mouse = 0x830, /*[GLOBAL VAR] processed mouse coordinate [long]*/
|
||
CrsrPin = 0x834, /*[GLOBAL VAR] cursor pinning rectangle [8 bytes]*/
|
||
CrsrCouple = 0x8CF, /*[GLOBAL VAR] cursor coupled to mouse? [byte]*/
|
||
CrsrScale = 0x8D3, /*[GLOBAL VAR] cursor scaled? [byte]*/
|
||
MouseMask = 0x8D6, /*[GLOBAL VAR] V-H mask for ANDing with mouse [long]*/
|
||
MouseOffset = 0x8DA, /*[GLOBAL VAR] V-H offset for adding after ANDing [long]*/
|
||
AlarmState = 0x21F, /*[GLOBAL VAR] Bit7=parity, Bit6=beeped, Bit0=enable [byte]*/
|
||
VBLQueue = 0x160, /*[GLOBAL VAR] Vertical retrace queue header (10 bytes)
|
||
VBL queue header [10 bytes]*/
|
||
SysEvtMask = 0x144, /*[GLOBAL VAR] System event mask (word)
|
||
system event mask [word]*/
|
||
SysEvtBuf = 0x146, /*[GLOBAL VAR] system event queue element buffer [pointer]*/
|
||
EventQueue = 0x14A, /*[GLOBAL VAR] Event queue header (10 bytes)
|
||
event queue header [10 bytes]*/
|
||
EvtBufCnt = 0x154, /*[GLOBAL VAR] max number of events in SysEvtBuf - 1 [word]*/
|
||
GZRootHnd = 0x328, /*[GLOBAL VAR] Handle to relocatable block not to be moved by grow zone function
|
||
root handle for GrowZone [handle]*/
|
||
GZRootPtr = 0x32C, /*[GLOBAL VAR] root pointer for GrowZone [pointer]*/
|
||
GZMoveHnd = 0x330 /*[GLOBAL VAR] moving handle for GrowZone [handle]*/
|
||
};
|
||
enum {
|
||
MemTop = 0x108, /*[GLOBAL VAR] Address of end of RAM (on Macintosh XL, end of RAM available to applications)
|
||
top of memory [pointer]*/
|
||
MmInOK = 0x12E, /*[GLOBAL VAR] initial memory mgr checks ok? [byte]*/
|
||
HpChk = 0x316, /*[GLOBAL VAR] heap check RAM code [pointer]*/
|
||
MaskBC = 0x31A, /*[GLOBAL VAR] Memory Manager Byte Count Mask [long]*/
|
||
MaskHandle = 0x31A, /*[GLOBAL VAR] Memory Manager Handle Mask [long]*/
|
||
MaskPtr = 0x31A, /*[GLOBAL VAR] Memory Manager Pointer Mask [long]*/
|
||
MinStack = 0x31E, /*[GLOBAL VAR] Minimum space allotment for stack (long)
|
||
min stack size used in InitApplZone [long]*/
|
||
DefltStack = 0x322, /*[GLOBAL VAR] Default space allotment for stack (long)
|
||
default size of stack [long]*/
|
||
MMDefFlags = 0x326, /*[GLOBAL VAR] default zone flags [word]*/
|
||
DSAlertTab = 0x2BA, /*[GLOBAL VAR] Pointer to system error alert table in use
|
||
system error alerts [pointer]*/
|
||
DSAlertRect = 0x3F8, /*[GLOBAL VAR] Rectangle enclosing system error alert (8 bytes)
|
||
rectangle for disk-switch alert [8 bytes]*/
|
||
DSDrawProc = 0x334, /*[GLOBAL VAR] alternate syserror draw procedure [pointer]*/
|
||
DSWndUpdate = 0x15D, /*[GLOBAL VAR] GNE not to paintBehind DS AlertRect? [byte]*/
|
||
WWExist = 0x8F2, /*[GLOBAL VAR] window manager initialized? [byte]*/
|
||
QDExist = 0x8F3, /*[GLOBAL VAR] quickdraw is initialized [byte]*/
|
||
ResumeProc = 0xA8C, /*[GLOBAL VAR] Address of resume procedure
|
||
Resume procedure from InitDialogs [pointer]*/
|
||
DSErrCode = 0xAF0, /*[GLOBAL VAR] Current system error ID (word)
|
||
last system error alert ID*/
|
||
IntFlag = 0x15F, /*[GLOBAL VAR] reduce interrupt disable time when bit 7 = 0*/
|
||
SerialVars = 0x2D0, /*[GLOBAL VAR] async driver variables [16 bytes]*/
|
||
ABusVars = 0x2D8 /*[GLOBAL VAR] Pointer to AppleTalk variables
|
||
;Pointer to AppleTalk local variables*/
|
||
};
|
||
enum {
|
||
ABusDCE = 0x2DC, /*[GLOBAL VAR] ;Pointer to AppleTalk DCE*/
|
||
PortAUse = 0x290, /*[GLOBAL VAR] bit 7: 1 = not in use, 0 = in use*/
|
||
PortBUse = 0x291, /*[GLOBAL VAR] Current availability of serial port B (byte)
|
||
port B use, same format as PortAUse*/
|
||
SCCASts = 0x2CE, /*[GLOBAL VAR] SCC read reg 0 last ext/sts rupt - A [byte]*/
|
||
SCCBSts = 0x2CF, /*[GLOBAL VAR] SCC read reg 0 last ext/sts rupt - B [byte]*/
|
||
DskErr = 0x142, /*[GLOBAL VAR] disk routine result code [word]*/
|
||
PWMBuf2 = 0x312, /*[GLOBAL VAR] PWM buffer 1 (or 2 if sound) [pointer]*/
|
||
SoundPtr = 0x262, /*[GLOBAL VAR] Pointer to four-tone record
|
||
4VE sound definition table [pointer]*/
|
||
SoundBase = 0x266, /*[GLOBAL VAR] Pointer to free-form synthesizer buffer
|
||
sound bitMap [pointer]*/
|
||
SoundVBL = 0x26A, /*[GLOBAL VAR] vertical retrace control element [16 bytes]*/
|
||
SoundDCE = 0x27A, /*[GLOBAL VAR] sound driver DCE [pointer]*/
|
||
SoundActive = 0x27E, /*[GLOBAL VAR] sound is active? [byte]*/
|
||
SoundLevel = 0x27F, /*[GLOBAL VAR] Amplitude in 740-byte buffer (byte)
|
||
current level in buffer [byte]*/
|
||
CurPitch = 0x280, /*[GLOBAL VAR] Value of count in square-wave synthesizer buffer (word)
|
||
current pitch value [word]*/
|
||
DskVerify = 0x12C, /*[GLOBAL VAR] used by 3.5 disk driver for read/verify [byte]*/
|
||
TagData = 0x2FA, /*[GLOBAL VAR] sector tag info for disk drivers [14 bytes]*/
|
||
BufTgFNum = 0x2FC, /*[GLOBAL VAR] File tags buffer: file number (long)
|
||
file number [long]*/
|
||
BufTgFFlg = 0x300, /*[GLOBAL VAR] File tags buffer: flags (word: bit 1=1 if resource fork)
|
||
flags [word]*/
|
||
BufTgFBkNum = 0x302, /*[GLOBAL VAR] File tags buffer: logical block number (word)
|
||
logical block number [word]*/
|
||
BufTgDate = 0x304 /*[GLOBAL VAR] File tags buffer: date and time of last modification (long)
|
||
time stamp [word]*/
|
||
};
|
||
enum {
|
||
ScrDmpEnb = 0x2F8, /*[GLOBAL VAR] 0 if GetNextEvent shouldn't process Command-Shift-number combinations (byte)
|
||
screen dump enabled? [byte]*/
|
||
ScrDmpType = 0x2F9, /*[GLOBAL VAR] FF dumps screen, FE dumps front window [byte]*/
|
||
ScrapVars = 0x960, /*[GLOBAL VAR] scrap manager variables [32 bytes]*/
|
||
ScrapInfo = 0x960, /*[GLOBAL VAR] scrap length [long]*/
|
||
ScrapEnd = 0x980, /*[GLOBAL VAR] end of scrap vars*/
|
||
ScrapTag = 0x970, /*[GLOBAL VAR] scrap file name [STRING[15]]*/
|
||
LaunchFlag = 0x902, /*[GLOBAL VAR] from launch or chain [byte]*/
|
||
SaveSegHandle = 0x930, /*[GLOBAL VAR] seg 0 handle [handle]*/
|
||
CurJTOffset = 0x934, /*[GLOBAL VAR] Offset to jump table from location pointed to by A5 (word)
|
||
current jump table offset [word]*/
|
||
CurPageOption = 0x936, /*[GLOBAL VAR] Sound/screen buffer configuration passed to Chain or Launch (word)
|
||
current page 2 configuration [word]*/
|
||
LoaderPBlock = 0x93A, /*[GLOBAL VAR] param block for ExitToShell [10 bytes]*/
|
||
CurApRefNum = 0x900, /*[GLOBAL VAR] Reference number of current application's resource file (word)
|
||
refNum of application's resFile [word]*/
|
||
CurrentA5 = 0x904, /*[GLOBAL VAR] Address of boundary between application globals and application parameters
|
||
current value of A5 [pointer]*/
|
||
CurStackBase = 0x908, /*[GLOBAL VAR] Address of base of stack; start of application globals
|
||
current stack base [pointer]*/
|
||
CurApName = 0x910, /*[GLOBAL VAR] Name of current application (length byte followed by up to 31 characters)
|
||
name of application [STRING[31]]*/
|
||
LoadTrap = 0x12D, /*[GLOBAL VAR] trap before launch? [byte]*/
|
||
SegHiEnable = 0xBB2, /*[GLOBAL VAR] (byte) 0 to disable MoveHHi in LoadSeg*/
|
||
|
||
/* Window Manager Globals */
|
||
WindowList = 0x9D6, /*[GLOBAL VAR] Pointer to first window in window list; 0 if using events but not windows
|
||
Z-ordered linked list of windows [pointer]*/
|
||
PaintWhite = 0x9DC, /*[GLOBAL VAR] Flag for whether to paint window white before update event (word)
|
||
erase newly drawn windows? [word]*/
|
||
WMgrPort = 0x9DE /*[GLOBAL VAR] Pointer to Window Manager port
|
||
window manager's grafport [pointer]*/
|
||
};
|
||
enum {
|
||
GrayRgn = 0x9EE, /*[GLOBAL VAR] Handle to region drawn as desktop
|
||
rounded gray desk region [handle]*/
|
||
CurActivate = 0xA64, /*[GLOBAL VAR] Pointer to window to receive activate event
|
||
window slated for activate event [pointer]*/
|
||
CurDeactive = 0xA68, /*[GLOBAL VAR] Pointer to window to receive deactivate event
|
||
window slated for deactivate event [pointer]*/
|
||
DragHook = 0x9F6, /*[GLOBAL VAR] Address of procedure to execute during TrackGoAway, DragWindow, GrowWindow, DragGrayRgn, TrackControl, and DragControl
|
||
user hook during dragging [pointer]*/
|
||
DeskPattern = 0xA3C, /*[GLOBAL VAR] Pattern with which desktop is painted (8 bytes)
|
||
desk pattern [8 bytes]*/
|
||
DeskHook = 0xA6C, /*[GLOBAL VAR] Address of procedure for painting desktop or responding to clicks on desktop
|
||
hook for painting the desk [pointer]*/
|
||
GhostWindow = 0xA84, /*[GLOBAL VAR] Pointer to window never to be considered frontmost
|
||
window hidden from FrontWindow [pointer]*/
|
||
|
||
/* Text Edit Globals */
|
||
TEDoText = 0xA70, /*[GLOBAL VAR] Address of TextEdit multi-purpose routine
|
||
textEdit doText proc hook [pointer]*/
|
||
TERecal = 0xA74, /*[GLOBAL VAR] Address of routine to recalculate line starts for TextEdit
|
||
textEdit recalText proc hook [pointer]*/
|
||
TEScrapLength = 0xAB0, /*[GLOBAL VAR] Size in bytes of TextEdit scrap (long)
|
||
textEdit Scrap Length [word]*/
|
||
TEScrpLength = 0xAB0, /*[GLOBAL VAR] Size in bytes of TextEdit scrap (long)
|
||
textEdit Scrap Length [word]*/
|
||
TEScrpHandle = 0xAB4, /*[GLOBAL VAR] Handle to TextEdit scrap
|
||
textEdit Scrap [handle]*/
|
||
TEWdBreak = 0xAF6, /*[GLOBAL VAR] default word break routine [pointer]*/
|
||
TEWordBreak = 0xAF6, /*[GLOBAL VAR] default word break routine [pointer]*/
|
||
WordRedraw = 0xBA5, /*[GLOBAL VAR] (byte) - used by TextEdit RecalDraw*/
|
||
TESysJust = 0xBAC, /*[GLOBAL VAR] (word) system justification (intl. textEdit) obsolete */
|
||
SysDirection = 0xBAC, /*[GLOBAL VAR] (word) system justification (intl. textEdit)*/
|
||
|
||
/* Resource Manager Globals */
|
||
TopMapHndl = 0xA50, /*[GLOBAL VAR] Handle to resource map of most recently opened resource file
|
||
topmost map in list [handle]*/
|
||
SysMapHndl = 0xA54, /*[GLOBAL VAR] Handle to map of system resource file
|
||
system map [handle]*/
|
||
SysMap = 0xA58, /*[GLOBAL VAR] Reference number of system resource file (word)
|
||
reference number of system map [word]*/
|
||
CurMap = 0xA5A, /*[GLOBAL VAR] Reference number of current resource file (word)
|
||
reference number of current map [word]*/
|
||
ResReadOnly = 0xA5C, /*[GLOBAL VAR] Read only flag [word]*/
|
||
ResLoad = 0xA5E /*[GLOBAL VAR] Current SetResLoad state (word)
|
||
Auto-load feature [word]*/
|
||
};
|
||
enum {
|
||
ResErr = 0xA60, /*[GLOBAL VAR] Current value of ResError (word)
|
||
Resource error code [word]*/
|
||
ResErrProc = 0xAF2, /*[GLOBAL VAR] Address of resource error procedure
|
||
Resource error procedure [pointer]*/
|
||
SysResName = 0xAD8, /*[GLOBAL VAR] Name of system resource file (length byte followed by up to 19 characters)
|
||
Name of system resource file [STRING[19]]*/
|
||
RomMapInsert = 0xB9E, /*[GLOBAL VAR] (byte) determines if we should link in map*/
|
||
TmpResLoad = 0xB9F, /*[GLOBAL VAR] second byte is temporary ResLoad value.*/
|
||
|
||
/* Menu Mgr globals */
|
||
MBarHeight = 0xBAA, /*[GLOBAL VAR] height of the menu bar*/
|
||
|
||
/* CommToolbox Global */
|
||
CommToolboxGlobals = 0x0BB4 /*[GLOBAL VAR] pointer to CommToolbox globals */
|
||
};
|
||
|
||
|
||
#endif
|