supermario/base/SuperMarioProj.1994-02-09/Interfaces/AIncludes/Private.a

563 lines
26 KiB
Plaintext
Raw Normal View History

2019-06-29 15:17:50 +00:00
; Version: 2.83
; Created: Monday, September 25, 1989 at 10:38:59 AM
;
; File: Private.a
;
; Assembler Interface to the Macintosh Libraries
; Copyright Apple Computer, Inc. 1986-1990
; All Rights Reserved
;
; This file is used in these builds: ROM System
;
; Change History (most recent first):
;
; <SM3> 5/17/92 kc Moved PowerManager stuff into PowerPrivEqu.
; <2> 2/13/92 PN Add jppcDispatcher EQU.
; <1> • Pre-SuperMario comments follow •
; <21> 12/26/91 RB Updated Power Mgr definitions.
; <20> 6/14/91 JL Adjusted comment for pmCommand. Put the Quickdraw Glue vectors
; back in this file because the shipping version has been shipping
; with them for years.
; <19> 6/12/91 LN Remove private interface includes
; <18> 1/30/91 gbm sab, #38: Change the already including this file variable to
; all uppercase (for security reasons)
; <17> 11/12/90 dnf Move FSVars to a truly private file
; <16> 9/25/90 dnf (dnf/pwd) Add a field in FSVars to hold a pointer to the
; currently executing call from the deskto manager
; <15> 9/21/90 dnf Add a deferred task queue element to FSVars
; <14> 9/14/90 MSH Added new Power Manager commands. Yes, I too hate it when
; stupid little equate files change, especially when their not
; YOUR equates.
; <13> 6/11/90 EMT Added XToolTable.
; <8> 2/13/90 SMB NEEDED for 6.0.5 - Clean up of comment and removed line
; containing TEFindWord which was just commented out.
; <7> 2/13/90 SMB NEEDED for 6.0.5 - Moved TEFindWord to ToolEqu.a since it's now
; a public hook.
; <6> 1/30/90 CCH Moved internal-only equates to InternalOnlyEqu.a, and renumbered
; box flags since XO has to stay the same.
; <5> 1/22/90 CV Removing boxEmacs2 from the list of boxflag values and from
; InVidFlags. Rearranging the order of boxflag equates for all
; CPUs after boxAuroraSE16. boxflag values will be ordered
; according to targeted introduction dates starting with closest
; to intro.
; <4> 1/9/90 DNF Fix FSVars for XFS (foreign file access)
; <3> 12/28/89 CV Fixed problem with comments starting with # because BBS commands
; hadn't been updated.
; <2> 12/28/89 CV Added "boxErickson" as a new CPU type for boxflag. Added
; "boxErickson" as a CPU with built-in video to InVidFlags.
; <5.1> 12/14/89 BG Added "boxEclipse" as a new type of Mac box.
; <5.0> 12/8/89 dnf Added equates for new HFS lomem storage block
; <4.9> 12/1/89 SWC Added SCCIOPFlag ($BFE) which contains a copy of the PRAM byte
; controlling which mode the SCC IOP on Zone 5 comes up in.
; <4.8> 11/3/89 GMR Added XO box flag.
; <4.7> 10/11/89 JJJ Added revision numbers to previously revised lines (oops).
; <4.6> 10/11/89 JJJ Added Elsie and EMacs2 to bit vector of boxes that have built-in
; video.
; <4.5> 10/11/89 JJJ Added boxElsie and temporary boxEmacs2 to list of "boxes."
; <4.4> 8/20/89 GMR Added back old power mgr equates (necessary until Mike rolls his
; stuff into Reality), to get hcMac builds working again.
; <4.3> 8/15/89 djw Deleted obsolete power mgr global equates (in favor of record) -
; backed out of <4.2>. Added power mgr modem command bits and
; serial power stuff.
; <4.2> 8/10/89 CCH Added power mgr equates from 6.0.4 sources.
; <4.1> 7/15/89 CSL added sysHeapis32bit equ.
; <4.0> 7/10/89 DAF Added a flag word to tag which CPUs have built-in video
; <3.9> 6/30/89 CSL Added LockMemCt to low mem.
; <3.8> 6/29/89 BBM Made vectors for JRMgrStdEntry and JRMgrStdExit
; <3.7> 6/15/89 CSL Defined SystemInfo byte to save indicator for 24 bit or 32 bit
; system. Added vectors for MMnoPrologue, MMPrologue, MMPPrologue,
; MMHPrologue, MMRHPrologue, MMMMPrologoue, MMEpilogue and
; MMNoErrEpilogue.
; <3.6> 6/10/89 GGD Moved BoxFlag and the box names here from SysEqu.a and
; Universal.a
; <3.5> 6/10/89 CEL Moved Private.a QuickDraw Equates into proper QuickDraw private
; file (colorequ.a), got rid of QuickDraw nFiles dependencies and
; fixed up necessary files…
; <3.4> 5/30/89 CSL Changes vector for Translate24to32 for new trap number $A091.
; <3.3> 5/24/89 rwh added UnSwitchedFlags, SwitchedFlags and usRelTaskRun for Brian.
; Added mmHighSysHeap. Changed BootGlobPtr to $DDC.
; <3.2> 5/24/89 rwh changed BootGlobPtr to $D14 - it may have to change again
; later...
; <3.1> 5/20/89 GGD Added IOPMgrVars from IOPEqu.a. Added SlotQDT, SlotPrTbl,
; SlotVBLQ, ScrnVBLPtr, and SlotTICKS from SysEqu.a Added
; AddrMapFlags, UnivROMFlags, and UnivInfoPtr from SysEqu.a Added
; ADBBase from SysEqu.a
; <3.0> 5/16/89 CSL Added jTranslate24to32 vector for CQD
; <2.9> 4/30/89 rwh added BootGlobPtr at 1EEC (Brian gave me 1EF0, but Tony used
; <2.8> 4/28/89 CSL Added low mem Phys2Log, renamed SystemRAM to RealMemTop,
; <2.7> 4/17/89 CSL Added low mem SystemRam and PhysicalRAM.
; <2.6> 4/13/89 DNF Added jFileRead, jFileWrite, and jFileClose vectors
; <•2.5> 4/12/89 BAL Blasting in 32-Bit QuickDraw 1.0B1
; <•2.4> 4/12/89 BAL Blasting in 32-Bit QuickDraw 1.0B1
; <2.3> 4/7/89 MSH Added two interrupt handler vectors to pmgr locals.
; <2.2> 3/30/89 MSH Added cursor data storage to pmgr locals.
; <2.1> 3/22/89 CSL new EQUs moved in from HeapDefs.a, they are MMPRAMloc, MMFlags
; etc.
; <2.0> 3/1/89 CSL Added minFree24 and minFree32, reverted minfree back to 12
; bytes.
; <1.9> 3/1/89 MSH Oops from 1.8.
; <1.8> 2/28/89 MSH Added local power manager storage of low power resources.
; <1.7> 2/22/89 CSL Added Jump vector for 24/32 bit memory manager and added new
; equ's
; <1.6> 2/10/89 CSL Added MacJmpFlag for 32 bit clean ROM.
; <1.5> 2/8/89 MSH Battery equs got screwed up during roll in.
; <1.4> 2/8/89 MSH Extended power manager vars and added some battery status equs.
; <1.3> 1/28/89 GGD Changed BigLEA, BigJMP, and BigJSR macros to be position
; independent, instead of using absolute addresses. Moved some of
; the Time Manager private equates from TimeEqu.a to this file.
; <1.2> 1/18/89 jwk Added new SCSI Mgr equates for ROM roll in.
; <1.1> 11/30/88 MSH Added sound off power manager equ and removed pointer to screen
; <1.0> 11/9/88 CCH Adding to EASE.
; <1.4> 11/1/88 MSH Added to power manager vars
; <1.3> 10/11/88 rwh moved ADB equates to AppleDeskBusPriv.a
; <1.2> 9/19/88 MSH Update to the latest working version.
; <•1.1> 9/14/88 CCH Updated EASE with the current rev of this file.
; 3/25/87 KLH moved patXMap here from QuickEqu.a.
; <C811> 2/13/87 RDC Added new jump vector equates, updated copyright notice
; 1/27/87 KLH added more Quickdraw privates from ColorEqu
; <C684> 1/24/87 bbm Added equate for sound vector
; <C681> 1/24/87 bbm Added equates for Start, Memory, and Seg managers vectors
; <C668> 1/22/87 bbm Added equate for jCacheFlush
; <C398> 11/10/86 CRC added FontMgr global LastDepth
; <c346> 11/4/86 bbm Changed equates as there were some conflicts in nSysEqu.a
; 11/3/86 NSJ added Quickdraw privates from ColorEqu
; <A274> 10/29/86 CSL changes for the front desk buss (ADB).
; 10/29/86 NSJ removed AutoPollIn
; <A281> 10/27/86 bbm added a bunch of vectors for tfs lowlevel code.
; <C206> 10/9/86 bbm Modified for heap.a and heapguts.a.
; <C183> 9/29/86 BBM removed PrNonPortable
; 9/23/86 NSJ new this date
;
;___________________________________________________________________________
;
;___________________________________________________________________________
;
; The following information was formerly in "private" files that were
; not released to the general developer community.
;
; The information in this file is not needed for normal application
; development. These equates and macros were necessary for development
; of the Macintosh ToolBox and Operating System, and are likely to be
; dependent on their current implementation. Use of any information
; in this file is likely to cause your software to fail on future
; versions of Macintosh system software or hardware.
;
; Apple Developer Support will not support any use of the following
; information.
;
; In order to prevent any "accidental" use of this information, it has
; been disabled using the conditional-assembly variable defined below.
; If you change this to a non-zero value, you're on your own.
;___________________________________________________________________________
IF &TYPE('__INCLUDINGPRIVATE__') = 'UNDEFINED' THEN
__INCLUDINGPRIVATE__ SET 1
IF (&TYPE('PrNonPortable') = 'UNDEFINED') THEN
PrNonPortable EQU 0
ENDIF
IF PrNonPortable THEN
;_______________________________________________________________________
;
; System Equates -- These equates supplement the low-level equates for the
; Macintosh hardware and software defined in SysEqu. These equates are private
; to Apple Computer, Inc. and should be used solely for building system
; software.
;
;_______________________________________________________________________
;+ Hardware Address Equates (for 512K through 128K Macs)
; Unpacked, user versions of parameter ram
SdEnable EQU $261 ; Sound enabled? [byte]
; Event Record Definition
evtMax EQU $1E ; maximum number of events in buffer
; Heap Zone header
spare1 EQU $2C ; unused spare [long]
; Mouse/Keyboard
Tocks EQU $173 ; Lisa sub-tick count [byte]
;Chooser
ChooserBits EQU $946 ; bit 7 = 0, don't run; bit 6 = 0, gray out Appletalk
; Driver Status record definition
dsQType EQU $A ; not used [word]
dsNeedsFlush EQU $13 ; reserved [byte]
;This variable was named RetryCount in SONYEqu
SONYRetry EQU 5
SonyVars EQU $134 ; 3-1/2 disk driver vars [pointer]
DskRtnAdr EQU $124 ; temp for disk driver [pointer]
PollRtnAddr EQU $128 ; 'other' driver locals [pointer]
PWMValue EQU $138 ; current PWM value [word]
PollStack EQU $13A ; SCC poll data start stack location [pointer]
PollProc EQU $13E ; SCC poll data procedure [pointer]
DiskVars EQU $222 ; Disk driver variables [62 bytes]
LastPGlobal EQU $954 ; address of last printer global
; QuickDraw Glue Vectors
JHideCursor EQU $800
JShowCursor EQU $804
JShieldCursor EQU $808
JScrnAddr EQU $80C
JScrnSize EQU $810
JInitCrsr EQU $814
JSetCrsr EQU $818
JCrsrObscure EQU $81C
JUpdateProc EQU $820
LGrafJump EQU $824
JSwapFont EQU $8E0 ; jump entry for FMSwapFont [long]
JFontInfo EQU $8E4 ; jump entry for FMFontMetrics [long]
; Miscellaneous Globals
SysCom EQU $100 ; start of system communication area
DispatchTab EQU $400 ; A-Trap dispatch table [1024 bytes]
OSTable EQU $0400 ; 256 longs, up to $800, where old table of 512 words was
toolDisp EQU 10 ; bit #10 distinguishes Tool/OS Get/Set Trap address
oldDisp EQU 9 ; bit #9 distinguishes Old/New trap numbering
; moved HeapStart equate to hwequ file <C1/14Apr86>
; moved DoEject equate to hwequ file <C1/14Apr86>
JShell EQU $212 ; journaling shell state [wprd]
MacJmp EQU $120 ; MACSBUG jumptable [pointer]
MacJmpFlag EQU $BFF ; MacsBug flag [byte] <v1.6>
FileVars EQU $340 ; file system vars [184 bytes]
LoadVars EQU $900 ; loader variables [68 bytes]
LastLGlobal EQU $944 ; address past last loader global
CoreEditVars EQU $954 ; core edit variables [12 bytes]
ScreenVars EQU $292 ; Screen driver variables [8 bytes]
SoundVars EQU $262 ; Sound driver variables [32 bytes]
BootGlobPtr equ $DDC ; ptr to BootGlobs record at top of memory <2.9><3.2><3.3>
;_______________________________________________________________________
;
; Toolbox Equates -- These equates supplement the high-level equates for the
; Macintosh toolbox software in ToolEqu.a. These equates are private
; to Apple Computer, Inc. and should be used solely for building system
; software.
;
;_______________________________________________________________________
DeskPort EQU $9E2 ; Desk grafPort (Whole screen) [pointer]
;_______________________________________________________________________
;
; QuickDraw Equates -- This file supplements the public equates for QuickDraw.
; found in the file QuickEqu.a These equates are private
; to Apple Computer, Inc. and should be used solely for building system
; software.
;
;_______________________________________________________________________
symbols EQU 0
forMac EQU 1
;for Mac+ Only - 2-way comm cmd
rDSync EQU 0 ; sync up w/each other
; command byte from nub to MPS
rDSysErr EQU 1 ; system error
rDTrapCall EQU 2 ; trap call
rDDta EQU 3 ; data comin' down the road
; command byte from MPS to nub
rDGetN EQU 1 ; GetNBytes
rDSetN EQU 2 ; SetNBytes
rDCallProc EQU 3 ; CallProc
rDSetAtrap EQU 4 ; SetATrap
rDResume EQU 5 ; Resume execution
; end Mac+ only
FlEvtMask EQU $25E ; (word) mask of allowable events to flush at FlushEvents.
TrapAgain EQU $B00 ; use 4 bytes here for another trap
PWMBuf1 EQU $B0A ; (long) PWM buffer ptr
BootMask EQU $B0E ; (word) needed during boot
AtalkHk1 EQU $B14 ; (long) Appletalk hook
AtalkHk2 EQU $B18 ; (long) Appletalk hook
UnSwitchedFlags equ $B20 ; (byte) special flags, not switched by multifinder <3.3>
usRelTaskRun equ 7 ; bit 7=1 if Reliability Mgr mtbf task NOT installed <3.3>
SwitchedFlags equ $B21 ; (byte) special flags, switched by multifinder <3.3>
SCSIFlag EQU $B22 ; (word) Configuration Flag for SCSI
HWCfgFlags EQU SCSIFlag ; (word) HW Configuration flags
; bit 15 - SCSI port present
; bit 14 - New Clock Chip Present
; bit 13 - Extra Parameter Ram Valid at boottime.
BtDskRfn EQU $B34 ; (word) refnum for boot drive driver refnum
BootTmp8 EQU $B36 ; (8bytes) temp space needed by StartBoot
T1Arbitrate EQU $B3F ; (byte) $FF if Timer T1 up for grabs.
RMGRHiVars EQU $B80 ; $B80-$BFF are switched vars
; RMGR vars extend $B80 through $B9F
NewUnused EQU $BC0 ; (word) - used to be FlEvtMask
FmtDefaults EQU 52+$36A ; ptr to formatting defs (TFSVars + 52) [long]
; addresses of TE hooks installed in trap table
TETrimMeasure EQU (4*253+OSTable) ; trimMeasure hook
;TEFindWord EQU (4*254+OSTable) ; findWord hook (defined in ToolEqu.a)
TEFindLine EQU (4*255+OSTable) ; findLine hook
JBlockMove EQU $4B8 ; Special equate for OUR HeapGuts Jump Table
JInsTime EQU (600-512)*4+OSTable ;
JRmvTime EQU (601-512)*4+OSTable ;
JPrimeTime EQU (602-512)*4+OSTable ;
JADBop EQU ($7C*4)+OSTable ; OS trap table entry for _ADBop
JIOPMsgRequest EQU ($87*4)+OSTable ; OS trap table entry for _IOPMsgRequest
JLg2Phys EQU (703-512)*4+OSTable ;
JFlushCache EQU (704-512)*4+OSTable ;
JGetBlock EQU (705-512)*4+OSTable ;
JMarkBlock EQU (706-512)*4+OSTable ;
JRelBlock EQU (707-512)*4+OSTable ;
JTrashBlocks EQU (708-512)*4+OSTable ;
JTrashVBlks EQU (709-512)*4+OSTable ;
JCacheWrIP EQU (710-512)*4+OSTable ;
JCacheRdIP EQU (711-512)*4+OSTable ;
JBasicIO EQU (712-512)*4+OSTable ;
JRdBlocks EQU (713-512)*4+OSTable ;
JWrBlocks EQU (714-512)*4+OSTable ;
JSetUpTags EQU (715-512)*4+OSTable ;
JBTClose EQU (716-512)*4+OSTable ;
JBTDelete EQU (717-512)*4+OSTable ;
JBTFlush EQU (718-512)*4+OSTable ;
JBTGetRecord EQU (719-512)*4+OSTable ;
JBTInsert EQU (720-512)*4+OSTable ;
JBTOpen EQU (721-512)*4+OSTable ;
JBTSearch EQU (722-512)*4+OSTable ;
JBTUpdate EQU (723-512)*4+OSTable ;
JGetNode EQU (724-512)*4+OSTable ;
JRelNode EQU (725-512)*4+OSTable ;
JAllocNode EQU (726-512)*4+OSTable ;
JFreeNode EQU (727-512)*4+OSTable ;
JExtBTFile EQU (728-512)*4+OSTable ;
JDeallocFile EQU (729-512)*4+OSTable ;
JExtendFile EQU (730-512)*4+OSTable ;
JTruncateFile EQU (731-512)*4+OSTable ;
JCMSetUp EQU (732-512)*4+OSTable ;
jppcDispatcher EQU (733-512)*4+OSTable ;
JDtrmV1 EQU (734-512)*4+OSTable ;
JBlkAlloc EQU (735-512)*4+OSTable ;
JBlkDeAlloc EQU (736-512)*4+OSTable ;
JFileOpen EQU (737-512)*4+OSTable ;
JPermssnChk EQU (738-512)*4+OSTable ;
JFndFilName EQU (739-512)*4+OSTable ;
JRfNCall EQU (740-512)*4+OSTable ;
JAdjEOF EQU (741-512)*4+OSTable ;
JFileClose EQU (745-512)*4+OSTable ; $7a4 <dnf v2.6>
JFileRead EQU (746-512)*4+OSTable ; $7a8 <dnf v2.6>
JFileWrite EQU (747-512)*4+OSTable ; $7ac <dnf v2.6>
JClkNoMem EQU (595-512)*4+OSTable ;vector for clock
JSegStack EQU (760-512)*4+OSTable ;vector for segment loader
; vectors for RMGR low levels routines
JSuperLoad EQU (761-512)*4+OSTable ;
JCmpFrm EQU (762-512)*4+OSTable ;
JNewMap EQU (763-512)*4+OSTable ;
JCheckLoad EQU (764-512)*4+OSTable ;
JRMgrStdEntry EQU ($A6*4)+OSTable ;vector for standard entry routine
JRMgrStdExit EQU ($A7*4)+OSTable ;vector for standard exit routine
;_______________________________________________________________________
;
; heap flags
checking EQU 0 ;check arguments and data structures
statistics EQU 0 ;gather statistics on usage
robust EQU 0 ;enables super-robust internal checks
countMPs EQU 0 ;enables counting of master pointers
dfltFlags EQU 0 ;Checking is on when zone is init'd
nOSTable EQU $0400 ; 256 longs, up to $800
JMtCheck EQU ($AF)*4+nOSTable ; ($A0AF) $0400 is n/OSTable
JCheckReMount EQU ($B0)*4+nOSTable ; ($A0B0) $0400 is n/OSTable
JDtrmV2 EQU ($B1)*4+nOSTable ; ($A0B1) $0400 is n/OSTable
JFindDrive EQU ($B2)*4+nOSTable ; ($A0B2) $0400 is n/OSTable
JFClose EQU ($B3)*4+nOSTable ; ($A0B3) $0400 is n/OSTable
JFlushMDB EQU ($B4)*4+nOSTable ; ($A0B4) $0400 is n/OSTable
JGoDriver EQU ($B5)*4+nOSTable ; ($A0B5) $0400 is n/OSTable
JWaitUntil EQU ($B6)*4+nOSTable ; ($A0B6) $0400 is n/OSTable
JSyncWait EQU ($B7)*4+nOSTable ; ($A0B7) $0400 is n/OSTable
JSoundDead EQU ($B8)*4+nOSTable ; ($A0B8) $0400 is n/OSTable
JDisptch EQU ($B9)*4+nOSTable ; ($A0B9) $0400 is n/OSTable
;JStartinit EQU ($B9)*4+nOSTable ; ($A0B9) $0400 is n/OSTable <C681><C811>
JIAZInit EQU ($BA)*4+nOSTable ; ($A0BA) $0400 is n/OSTable
JIAZPostInit EQU ($BB)*4+nOSTable ; ($A0BB) $0400 is n/OSTable
JLaunchInit EQU ($BC)*4+nOSTable ; ($A0BC) $0400 is n/OSTable
JCacheFlush EQU ($BD)*4+nOSTable ; ($A0BD) $0400 is n/OSTable
JStripAddress EQU ($55)*4+nOSTable ; ($A055) $0400 is n/OSTable <v1.7>
JjSwapMMU EQU ($5D)*4+nOSTable ; ($A05D) $0400 is n/OSTable <v2.1>
JTranslate24to32 EQU ($91)*4+nOSTable ; ($A091) $0400 is n/OSTable <v3.4>
XToolTable EQU ($99)*4+nOSTable ; ($A099) $0400 is n/OSTable <11>
;_______________________________________________________________________
;
; addresses of TE hooks installed in trap table for new color text edit <C144>
JPixel2Char EQU (742-512)*4+nOSTable ; ($A0E6) $0400 is nOSTable
JChar2Pixel EQU (743-512)*4+nOSTable ; ($A0E7) $0400 is nOSTable
JHiliteText EQU (744-512)*4+nOSTable ; ($A0E8) $0400 is nOSTable
;_______________________________________________________________________
;
;tfs vectors <A281>
JUpdAltMDB EQU ($ED)*4+nOSTable ; ($A0ED) $0400 is n/OSTable
JCkExtFS EQU ($EE)*4+nOSTable ; ($A0EE) $0400 is n/OSTable
JDTrmV3 EQU ($EF)*4+nOSTable ; ($A0EF) $0400 is n/OSTable
JBMChk EQU ($F0)*4+nOSTable ; ($A0F0) $0400 is n/OSTable
JTstMod EQU ($F1)*4+nOSTable ; ($A0F1) $0400 is n/OSTable
JLocCRec EQU ($F2)*4+nOSTable ; ($A0F2) $0400 is n/OSTable
JTreeSearch EQU ($F3)*4+nOSTable ; ($A0F3) $0400 is n/OSTable
JMapFBlock EQU ($F4)*4+nOSTable ; ($A0F4) $0400 is n/OSTable
JXFSearch EQU ($F5)*4+nOSTable ; ($A0F5) $0400 is n/OSTable
JReadBM EQU ($F6)*4+nOSTable ; ($A0F6) $0400 is n/OSTable
bcMask EQU $00FFFFFF ; Mask for the 24 bit Byte Count
GrafBegin EQU $800 ; graf global area
GrafEnd EQU $8F2 ; end of graphics globals
ENDIF ;end exclusion of private information
; Offsets into boot blocks
bbID EQU 0 ; (word) offset to boot blocks ID
bbEntry EQU 2 ; (contains BRA.S) entrypoint to boot blocks
bbVersion EQU 6 ; (word) version number
bbPageFlags EQU 8 ; (word) page 2 usage flags
bbSysName EQU $0A ; system resource code file name (byte length + 0-15 chars)
bbShellName EQU $1A ; system shell file name ('Finder')
bbDbg1Name EQU $2A ; debugger file name (first load)
bbDbg2Name EQU $3A ; debugger file name (second load)
bbScreenName EQU $4A ; boot screen file name
bbHelloName EQU $5A ; startup program file name
bbScrapName EQU $6A ; system scrap file name
bbCntFCBs EQU $7A ; (word) # of FCBs to allocate (determines max open files)
bbCntEvts EQU $7C ; (word) # of event queue elements to allocate
bb128KSHeap EQU $7E ; size of system heap on a 128K Mac (no longer used)
bb256KSHeap EQU $82 ; size of system heap on a 256K Mac (no longer used)
bb512KSHeap EQU $86 ; size of system heap on a 512K Mac
bbSysHeapSize EQU $86 ; (long) absolute size of the system heap (for all machines).
; (word) unused - reserved
bbSysHeapExtra EQU $8C ; (long) minimum additional system heap space required.
bbSysHeapFract EQU $90 ; (long) fraction of memory available to be used for sys heap.
; The version number of the boot blocks affects the interpretation of the system heap size:
;
; if (BBVersion) <= BBOldVers then
; System heap size becomes DefSysHeapSize (see HWEqu).
;
; if BBOldVers < (BBVersion) < BBNewVers then
; if (BBVersion) = execBBvers then
; Executes boot blocks starting at BBEntry.
; System heap size becomes (BBSysHeapSize) (if it isn't already bigger).
;
; if BBNewBit is set in (BBVersion) then
; if BBExecBit is set then
; Executes boot blocks starting at BBEntry.
; if BBRelBit is cleared then
; System heap size becomes (BBSysHeapSize) (if it isn't already bigger)
; if BBRelBit is set then
; System heap is extended by BBSysHeapExtra + (BBSysHeapFract * (MemTop))
; Values for boot blocks.
bbOldVers EQU $14 ; really old versions of boot blocks are <= this
bbOldExecVers EQU 'D' ; old version for executable boot blocks
; Bits for new boot blocks:
bbNewBit EQU 7 ; set to indicate the use of the new format
bbExecBit EQU 6 ; set to indicate dispatchable boot blocks
bbRelBit EQU 5 ; set to indicate relative heap size specification
; bits 4 through 0 are reserved for future use by Apple and must be cleared.
; Corresponding values
bbNewMask EQU $80 ; new boot blocks use #'s >= this
bbExecMask EQU $40 ;
bbRelMask EQU $20 ;
; equates for dynamic menuList structure
;
;----- Part 1 -- regular menus
mbResID EQU 4 ; menuBar variant offset in menuList [word]
menu1Size EQU mbResID + 2 ; Must be = 6 forever!!!
;----- Part 2 -- hierarchical menus
lastHMenu EQU 0 ; offset in HMenu part of dynamic menuList [word]
menuTitleSave EQU lastHMenu + 2 ; handle to saved bits behind title rectangle [handle]
menu2Size EQU menuTitleSave+4 ; size of HMenu entry
menuHoH EQU 0 ; hierarchical menu [handle]
;----- Size of menuList at InitMenus time -- no menus, no hierarchical menus
initMListSize EQU menu1Size + menu2Size
; equates for mbarproc's save structure created when it receives Init Msg (Msg #3)
;
;----- Header
lastMBSave EQU 0 ; offset to last menu saved in structure [word]
mbCustomStorage EQU lastMBSave + 2 ; private storage for custom mbarproc's [handle]
mbItemRect EQU mbCustomStorage + 4 ; rect of currently chosen menu item [rect]
mbMenuDelay EQU mbItemRect + 8 ; get MenuDelay from paramram and store here [byte]
mbMenuDrag EQU mbMenuDelay + 1 ; get MenuDrag from paramram and store here [byte]
mbUglyScroll EQU mbMenuDrag + 1 ; flag to tell whether HMenu has been brought [word]
; before scrolling happens
mbIconState EQU mbUglyScroll + 2 ; Place to save NMgr icon state
mbHeader EQU mbIconState + 2 ; size of mb save header [$14]
; !!!!! CAUTION: mbHeader MUST be smaller than mbEntrySize !!!!!
;----- Entry
mbRectSave EQU 0 ; rectangle of menu on screen [8 bytes]
mbBitsSave EQU mbRectSave + 8 ; handle to saved bits behind menu rectangle
mbMenuDir EQU mbBitsSave + 4 ; direction menu was placed on screen,
; to right or left of title (if first menu)
; or previous menu (if hierarchical menu)
mbMLOffset EQU mbMenuDir + 2 ; 6 byte offset of menu in menuList [word]
mbMLHandle EQU mbMLOffset + 2 ; handle of menu in menuList
mbTopScroll EQU mbMLHandle + 4 ; top scrolled to menu item, from global topMenuItem [word]
mbBotScroll EQU mbTopScroll + 2 ; bottom scrolled to menu item, from global atMenuBottom [word]
mbReserved EQU mbBotScroll + 2 ; reserved field [long]
mbEntrySize EQU mbReserved + 4
mbSaveSize EQU mbEntrySize*6 ; x-byte header and 5 entries of x-bytes each
firstAltMenuCmd EQU $1B
altMenuCmd1 EQU $1D ; itemCmd == $1D ==> unused indicator reserved for future Apple use
altMenuCmd2 EQU $1E ; itemCmd == $1E ==> unused indicator reserved for future Apple use
altMenuCmd3 EQU $1F ; itemCmd == $1F ==> unused indicator reserved for future Apple use
lastAltMenuCmd EQU $1F
mbRightDir EQU 0 ; menu went to the right (direction)
mbLeftDir EQU 1 ; menu went to the left (direction)
menuDelay EQU $7E ; param ram locations for user settable
menuDrag EQU $7F ; hierarchical menu delay and drag ticks
ENDIF ; ...already included