mac-rom/Interfaces/AIncludes/Private.a
Elliot Nunn 4325cdcc78 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 09:52:23 +08:00

563 lines
26 KiB
Plaintext

; 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