mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 20:49:19 +00:00
563 lines
26 KiB
Plaintext
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
|