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
|