mac-rom/QuickDraw/FastTraps.a
Elliot Nunn 9c249dafab Reverse 68k Color QuickDraw
The ROM now round-trips with QuickDraw mostly built from source.
(~30% of the ROM is now built from source.)
2017-12-26 09:52:55 +08:00

3683 lines
47 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;
; File: FastTraps.a
;
; Contains: Faster fatter trap macros that jump straight throught the trap vectors
;
; Copyright: © 1984-1990, 1992-1993 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <SM5> 10/6/93 SAM The QDExtensions macros were not setting the upper word of the
; selector (what contains the param count for each routine). This
; confused the native dispatcher. The macros have been updated to
; contain the full longword of info in D0.
; <SM4> 10/13/92 CSS Nop calls if the machine doesn't support 24 bit mode
; (SwapMMUMode and StripAddress).
; <8> 7/26/92 DTY Add fast traps for DeviceLoop and GetGray to get the ROM
; building again.
; <7> 3/13/91 JT Rolled the Font Manager and TrueType traps into this file
; (nasty, fast versions of course) to support changes in DrawText
; and DrawPicture. Code checked by KON and BAL. BRC numbers 82651
; and 79185. Worksheet number KON-022.
; <6> 8/20/90 dvb Remove drawgrayishtext
; <6> 8/4/90 dvb Add LayerDispatch, grr.
; <6> 8/4/90 dvb Add LayerDispatch, grr.
; <5> 7/17/90 DVB Add more PMgr Dispatchs
; <4> 6/19/90 DVB Add Gestalt
; <3> 3/29/90 DVB Add WhatPal pmgr dispatch
; <2> 1/12/90 DVB Fix the palette mgr fasttraps
; <1.3> 8/22/89 SES Added contents of Multifinder.a to bottom of this file in
; attempt to rid the world of nFiles.
; <1.2> 6/30/89 BAL Cleared runBuf(a6) before calling getSeek
; <1.1> 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É
; <1.0> 5/29/89 BAL Blasting in 32-Bit QuickDraw version 1.0 Final
; 3/12/89 BAL added _InitPalettes vector
; 8/12/87 rwh added _SetPalette vector
; 8/11/87 rwh 02,10 jun changes are now on the build system!
; 6/10/87 EHB Added more palette manager vectors.
; 6/2/87 DAF Added 2 palette manager vectors.
; <C701> 1/25/87 CRC changed toolbox traps to jumps through the dispatch table
;
; To Do:
;
;EASE$$$ READ ONLY COPY of file Òfasttraps.aÓ
; 1.3 SES 08/22/1989 Added contents of Multifinder.a to bottom of this file in attempt to
; rid the world of nFiles.
; 1.2 BAL 06/30/1989 Cleared runBuf(a6) before calling getSeek
; 1.1 CEL 06/10/1989 Moved Private.a QuickDraw Equates into proper QuickDraw
; private file (colorequ.a), got rid of QuickDraw nFiles dependencies
; and fixed up necessary filesÉ
; 1.0 BAL 05/29/1989 Blasting in 32-Bit QuickDraw version 1.0 Final
; END EASE MODIFICATION HISTORY
; File: FastTraps.a
;
; Version 2.0
;
; Copyright Apple Computer, Inc. 1984, 1985, 1986
; All Rights Reserved
;
;<C701/25Jan87> CRC changed toolbox traps to jumps through the dispatch table
;
;<02Jun87> DAF Added 2 palette manager vectors.
;<10Jun87> EHB Added more palette manager vectors.
;<11aug87> rwh 02,10 jun changes are now on the build system!
;<12aug87> rwh added _SetPalette vector
;<12Mar89> BAL added _InitPalettes vector
IF &TYPE('Supports24Bit') = 'UNDEFINDED' THEN
Supports24Bit SET 0
ENDIF
;_______________________________________________________________________
;
; Equates for setting trap option bits
;
;_______________________________________________________________________
immed EQU $200 ; execute immediately, bypass I/O queue
clear EQU $200 ;
async EQU $400 ; asynchronous, don't wait for completion
sys EQU $400 ;
autoPop EQU $400 ; set autopop bit
; for string routines
marks EQU $200 ; set to ignore/strip diacriticals
case EQU $400 ; set for case sensitivity
; for Get/Set & NGet/NSet TrapAddress
newTool EQU $0600 ; tool trap, under new ordering
newOS EQU $0200 ; os trap, under new ordering
; QuickDraw Traps
MACRO
_CopyMask
JSR ([$E00+$17*4])
ENDM
MACRO
_MeasureText
JSR ([$E00+$37*4])
ENDM
MACRO
_GetMaskTable
JSR ([$E00+$36*4])
ENDM
MACRO
_InitCursor
JSR ([$E00+$50*4])
ENDM
MACRO
_SetCursor
JSR ([$E00+$51*4])
ENDM
MACRO
_HideCursor
JSR ([$E00+$52*4])
ENDM
MACRO
_ShowCursor
JSR ([$E00+$53*4])
ENDM
MACRO
_ShieldCursor
JSR ([$E00+$55*4])
ENDM
MACRO
_ObscureCursor
JSR ([$E00+$56*4])
ENDM
MACRO
_Random
JSR ([$E00+$61*4])
ENDM
MACRO
_ForeColor
JSR ([$E00+$62*4])
ENDM
MACRO
_BackColor
JSR ([$E00+$63*4])
ENDM
MACRO
_ColorBit
JSR ([$E00+$64*4])
ENDM
MACRO
_GetPixel
JSR ([$E00+$65*4])
ENDM
MACRO
_StuffHex
JSR ([$E00+$66*4])
ENDM
MACRO
_LongMul
JSR ([$E00+$67*4])
ENDM
MACRO
_FixMul
JSR ([$E00+$68*4])
ENDM
MACRO
_FixRatio
JSR ([$E00+$69*4])
ENDM
MACRO
_FixRound
JSR ([$E00+$6C*4])
ENDM
MACRO
_InitPort
JSR ([$E00+$6D*4])
ENDM
MACRO
_InitGraf
JSR ([$E00+$6E*4])
ENDM
MACRO
_OpenPort
JSR ([$E00+$6F*4])
ENDM
MACRO
_LocalToGlobal
JSR ([$E00+$70*4])
ENDM
MACRO
_GlobalToLocal
JSR ([$E00+$71*4])
ENDM
MACRO
_GrafDevice
JSR ([$E00+$72*4])
ENDM
MACRO
_SetPort
JSR ([$E00+$73*4])
ENDM
MACRO
_GetPort
JSR ([$E00+$74*4])
ENDM
MACRO
_SetPBits
JSR ([$E00+$75*4])
ENDM
MACRO
_PortSize
JSR ([$E00+$76*4])
ENDM
MACRO
_MovePortTo
JSR ([$E00+$77*4])
ENDM
MACRO
_SetOrigin
JSR ([$E00+$78*4])
ENDM
MACRO
_SetClip
JSR ([$E00+$79*4])
ENDM
MACRO
_GetClip
JSR ([$E00+$7A*4])
ENDM
MACRO
_ClipRect
JSR ([$E00+$7B*4])
ENDM
MACRO
_BackPat
JSR ([$E00+$7C*4])
ENDM
MACRO
_ClosePort
JSR ([$E00+$7D*4])
ENDM
MACRO
_AddPt
JSR ([$E00+$7E*4])
ENDM
MACRO
_SubPt
JSR ([$E00+$7F*4])
ENDM
MACRO
_SetPt
JSR ([$E00+$80*4])
ENDM
MACRO
_EqualPt
JSR ([$E00+$81*4])
ENDM
MACRO
_StdText
JSR ([$E00+$82*4])
ENDM
MACRO
_DrawChar
JSR ([$E00+$83*4])
ENDM
MACRO
_DrawString
JSR ([$E00+$84*4])
ENDM
MACRO
_DrawText
JSR ([$E00+$85*4])
ENDM
MACRO
_TextWidth
JSR ([$E00+$86*4])
ENDM
MACRO
_TextFont
JSR ([$E00+$87*4])
ENDM
MACRO
_TextFace
JSR ([$E00+$88*4])
ENDM
MACRO
_TextMode
JSR ([$E00+$89*4])
ENDM
MACRO
_TextSize
JSR ([$E00+$8A*4])
ENDM
MACRO
_GetFontInfo
JSR ([$E00+$8B*4])
ENDM
MACRO
_StringWidth
JSR ([$E00+$8C*4])
ENDM
MACRO
_CharWidth
JSR ([$E00+$8D*4])
ENDM
MACRO
_SpaceExtra
JSR ([$E00+$8E*4])
ENDM
MACRO
_StdLine
JSR ([$E00+$90*4])
ENDM
MACRO
_LineTo
JSR ([$E00+$91*4])
ENDM
MACRO
_Line
JSR ([$E00+$92*4])
ENDM
MACRO
_MoveTo
JSR ([$E00+$93*4])
ENDM
MACRO
_Move
JSR ([$E00+$94*4])
ENDM
MACRO
_HidePen
JSR ([$E00+$96*4])
ENDM
MACRO
_ShowPen
JSR ([$E00+$97*4])
ENDM
MACRO
_GetPenState
JSR ([$E00+$98*4])
ENDM
MACRO
_SetPenState
JSR ([$E00+$99*4])
ENDM
MACRO
_GetPen
JSR ([$E00+$9A*4])
ENDM
MACRO
_PenSize
JSR ([$E00+$9B*4])
ENDM
MACRO
_PenMode
JSR ([$E00+$9C*4])
ENDM
MACRO
_PenPat
JSR ([$E00+$9D*4])
ENDM
MACRO
_PenNormal
JSR ([$E00+$9E*4])
ENDM
MACRO
_StdRect
JSR ([$E00+$A0*4])
ENDM
MACRO
_FrameRect
JSR ([$E00+$A1*4])
ENDM
MACRO
_PaintRect
JSR ([$E00+$A2*4])
ENDM
MACRO
_EraseRect
JSR ([$E00+$A3*4])
ENDM
MACRO
_InverRect
JSR ([$E00+$A4*4])
ENDM
MACRO
_FillRect
JSR ([$E00+$A5*4])
ENDM
MACRO
_EqualRect
JSR ([$E00+$A6*4])
ENDM
MACRO
_SetRect
JSR ([$E00+$A7*4])
ENDM
MACRO
_OffSetRect
JSR ([$E00+$A8*4])
ENDM
MACRO
_InSetRect
JSR ([$E00+$A9*4])
ENDM
MACRO
_SectRect
JSR ([$E00+$AA*4])
ENDM
MACRO
_UnionRect
JSR ([$E00+$AB*4])
ENDM
MACRO
_Pt2Rect
JSR ([$E00+$AC*4])
ENDM
MACRO
_PtInRect
JSR ([$E00+$AD*4])
ENDM
MACRO
_EmptyRect
JSR ([$E00+$AE*4])
ENDM
MACRO
_StdRRect
JSR ([$E00+$AF*4])
ENDM
MACRO
_FrameRoundRect
JSR ([$E00+$B0*4])
ENDM
MACRO
_PaintRoundRect
JSR ([$E00+$B1*4])
ENDM
MACRO
_EraseRoundRect
JSR ([$E00+$B2*4])
ENDM
MACRO
_InverRoundRect
JSR ([$E00+$B3*4])
ENDM
MACRO
_FillRoundRect
JSR ([$E00+$B4*4])
ENDM
MACRO
_StdOval
JSR ([$E00+$B6*4])
ENDM
MACRO
_FrameOval
JSR ([$E00+$B7*4])
ENDM
MACRO
_PaintOval
JSR ([$E00+$B8*4])
ENDM
MACRO
_EraseOval
JSR ([$E00+$B9*4])
ENDM
MACRO
_InvertOval
JSR ([$E00+$BA*4])
ENDM
MACRO
_FillOval
JSR ([$E00+$BB*4])
ENDM
MACRO
_SlopeFromAngle
JSR ([$E00+$BC*4])
ENDM
MACRO
_StdArc
JSR ([$E00+$BD*4])
ENDM
MACRO
_FrameArc
JSR ([$E00+$BE*4])
ENDM
MACRO
_PaintArc
JSR ([$E00+$BF*4])
ENDM
MACRO
_EraseArc
JSR ([$E00+$C0*4])
ENDM
MACRO
_InvertArc
JSR ([$E00+$C1*4])
ENDM
MACRO
_FillArc
JSR ([$E00+$C2*4])
ENDM
MACRO
_PtToAngle
JSR ([$E00+$C3*4])
ENDM
MACRO
_AngleFromSlope
JSR ([$E00+$C4*4])
ENDM
MACRO
_StdPoly
JSR ([$E00+$C5*4])
ENDM
MACRO
_FramePoly
JSR ([$E00+$C6*4])
ENDM
MACRO
_PaintPoly
JSR ([$E00+$C7*4])
ENDM
MACRO
_ErasePoly
JSR ([$E00+$C8*4])
ENDM
MACRO
_InvertPoly
JSR ([$E00+$C9*4])
ENDM
MACRO
_FillPoly
JSR ([$E00+$CA*4])
ENDM
MACRO
_OpenPoly
JSR ([$E00+$CB*4])
ENDM
MACRO
_ClosePgon
JSR ([$E00+$CC*4])
ENDM
MACRO
_KillPoly
JSR ([$E00+$CD*4])
ENDM
MACRO
_OffSetPoly
JSR ([$E00+$CE*4])
ENDM
MACRO
_PackBits
JSR ([$E00+$CF*4])
ENDM
MACRO
_UnpackBits
JSR ([$E00+$D0*4])
ENDM
MACRO
_StdRgn
JSR ([$E00+$D1*4])
ENDM
MACRO
_FrameRgn
JSR ([$E00+$D2*4])
ENDM
MACRO
_PaintRgn
JSR ([$E00+$D3*4])
ENDM
MACRO
_EraseRgn
JSR ([$E00+$D4*4])
ENDM
MACRO
_InverRgn
JSR ([$E00+$D5*4])
ENDM
MACRO
_FillRgn
JSR ([$E00+$D6*4])
ENDM
MACRO
_NewRgn
JSR ([$E00+$D8*4])
ENDM
MACRO
_DisposRgn
JSR ([$E00+$D9*4])
ENDM
MACRO
_OpenRgn
JSR ([$E00+$DA*4])
ENDM
MACRO
_CloseRgn
JSR ([$E00+$DB*4])
ENDM
MACRO
_CopyRgn
JSR ([$E00+$DC*4])
ENDM
MACRO
_SetEmptyRgn
JSR ([$E00+$DD*4])
ENDM
MACRO
_SetRecRgn
JSR ([$E00+$DE*4])
ENDM
MACRO
_RectRgn
JSR ([$E00+$DF*4])
ENDM
MACRO
_OfSetRgn
JSR ([$E00+$E0*4])
ENDM
MACRO
_InSetRgn
JSR ([$E00+$E1*4])
ENDM
MACRO
_EmptyRgn
JSR ([$E00+$E2*4])
ENDM
MACRO
_EqualRgn
JSR ([$E00+$E3*4])
ENDM
MACRO
_SectRgn
JSR ([$E00+$E4*4])
ENDM
MACRO
_UnionRgn
JSR ([$E00+$E5*4])
ENDM
MACRO
_DiffRgn
JSR ([$E00+$E6*4])
ENDM
MACRO
_XOrRgn
JSR ([$E00+$E7*4])
ENDM
MACRO
_PtInRgn
JSR ([$E00+$E8*4])
ENDM
MACRO
_RectInRgn
JSR ([$E00+$E9*4])
ENDM
MACRO
_SetStdProcs
JSR ([$E00+$EA*4])
ENDM
MACRO
_StdBits
JSR ([$E00+$EB*4])
ENDM
MACRO
_CopyBits
JSR ([$E00+$EC*4])
ENDM
MACRO
_StdTxMeas
JSR ([$E00+$ED*4])
ENDM
MACRO
_StdGetPic
JSR ([$E00+$EE*4])
ENDM
MACRO
_ScrollRect
JSR ([$E00+$EF*4])
ENDM
MACRO
_StdPutPic
JSR ([$E00+$F0*4])
ENDM
MACRO
_StdComment
JSR ([$E00+$F1*4])
ENDM
MACRO
_PicComment
JSR ([$E00+$F2*4])
ENDM
MACRO
_OpenPicture
JSR ([$E00+$F3*4])
ENDM
MACRO
_ClosePicture
JSR ([$E00+$F4*4])
ENDM
MACRO
_KillPicture
JSR ([$E00+$F5*4])
ENDM
MACRO
_DrawPicture
JSR ([$E00+$F6*4])
ENDM
MACRO
_ScalePt
JSR ([$E00+$F8*4])
ENDM
MACRO
_MapPt
JSR ([$E00+$F9*4])
ENDM
MACRO
_MapRect
JSR ([$E00+$FA*4])
ENDM
MACRO
_MapRgn
JSR ([$E00+$FB*4])
ENDM
MACRO
_MapPoly
JSR ([$E00+$FC*4])
ENDM
; These are copied out of Traps.a. They aren't "Fast." but
; Traps.a and FastTraps.a are mutually exclusive, so they
; must be in both places.
;
; Font Manager
MACRO
_SetFractEnable
JSR ([$E00+$14*4])
ENDM
MACRO
_FontDispatch
JSR ([$E00+$54*4])
ENDM
selectIsOutline EQU 0
selectSetOutlinePreferred EQU 1
selectGetOutlinePreferred EQU 9
selectOutlineMetrics EQU 8
selectSetPreserveGlyph EQU $A
selectGetPreserveGlyph EQU $B
selectFlushFonts EQU $C
MACRO
_IsOutline
moveq #selectIsOutline,d0
_FontDispatch
ENDM
MACRO
_SetOutlinePreferred
moveq #selectSetOutlinePreferred,d0
_FontDispatch
ENDM
MACRO
_GetOutlinePreferred
moveq #selectGetOutlinePreferred,d0
_FontDispatch
ENDM
MACRO
_OutlineMetrics
moveq #selectOutlineMetrics,d0
_FontDispatch
ENDM
MACRO
_SetPreserveGlyph
moveq #selectSetPreserveGlyph,d0
_FontDispatch
ENDM
MACRO
_GetPreserveGlyph
moveq #selectGetPreserveGlyph,d0
_FontDispatch
ENDM
MACRO
_FlushFonts
moveq #selectFlushFonts,d0
_FontDispatch
ENDM
; These are copied out of Traps.a. They aren't "Fast." but
; Traps.a and FastTraps.a are mutually exclusive, so they
; must be in both places.
;
; PaletteDispatch selectors
_PaletteDispatch OPWORD $AAA2
selectEntry2Index EQU 0
selectRestoreDeviceClut EQU 2
selectResizePalette EQU 3
selectZapLinks EQU 4
selectWhatPal EQU 5
selectDeltaRGB EQU 10
selectNewHiliteColor EQU 11
selectPMgrExit EQU 12
selectSaveFore EQU 13
selectSaveBack EQU 14
selectRestoreFore EQU 15
selectRestoreBack EQU 16
selectReleaseList EQU 18
selectSetDepth EQU 19
selectHasDepth EQU 20
selectPMgrVersion EQU 21
selectSetPaletteUpdates EQU 22
selectGetPaletteUpdates EQU 23
selectCheckColors EQU 24
selectGetGray equ 25
MACRO ; Generic Palette Switch Macro
DoPaletteDispatch &selector,&parametersStackSize
lcla &value
&value: seta (&eval(&parametersStackSize)<<8)+&eval(&selector)
if &value < 128 then
moveq #&value,d0
else
move.w #&value,d0
endif
_PaletteDispatch
ENDM
MACRO
_Entry2Index
DoPaletteDispatch selectEntry2Index,0
ENDM
MACRO
_RestoreDeviceClut
DoPaletteDispatch selectRestoreDeviceClut,0
ENDM
MACRO
_ResizePalette
DoPaletteDispatch selectResizePalette,0
ENDM
MACRO
_ZapLinks
DoPaletteDispatch selectZapLinks,4
ENDM
MACRO
_WhatPal
DoPaletteDispatch selectWhatPal,4
ENDM
MACRO
_DeltaRGB
DoPaletteDispatch selectDeltaRGB,8
ENDM
MACRO
_NewHiliteColor
DoPaletteDispatch selectNewHiliteColor,0
ENDM
MACRO
_PMgrExit
DoPaletteDispatch selectPMgrExit,0
ENDM
MACRO
_SaveFore
DoPaletteDispatch selectSaveFore,4
ENDM
MACRO
_SaveBack
DoPaletteDispatch selectSaveBack,4
ENDM
MACRO
_RestoreFore
DoPaletteDispatch selectRestoreFore,4
ENDM
MACRO
_RestoreBack
DoPaletteDispatch selectRestoreBack,4
ENDM
MACRO
_ReleaseList
DoPaletteDispatch selectReleaseList,4
ENDM
MACRO
_SetDepth
DoPaletteDispatch selectSetDepth,10
ENDM
MACRO
_HasDepth
DoPaletteDispatch selectHasDepth,10
ENDM
MACRO
_PMgrVersion
DoPaletteDispatch selectPMgrVersion,0
ENDM
MACRO
_SetPaletteUpdates
DoPaletteDispatch selectSetPaletteUpdates,6
ENDM
MACRO
_GetPaletteUpdates
DoPaletteDispatch selectSetPaletteUpdates,6
ENDM
MACRO
_CheckColors
DoPaletteDispatch selectCheckColors,12
ENDM
MACRO
_GetGray
DoPaletteDispatch selectGetGray,12
ENDM
; Fast Traps for the Quickdraw Extensions
MACRO
_QDExtensions
JSR ([$E00+$31D*4])
ENDM
MACRO
_NewGWorld
MOVE.L #$160000,D0
_QDExtensions
ENDM
MACRO
_LockPixels
MOVE.L #$40001,D0
_QDExtensions
ENDM
MACRO
_UnlockPixels
MOVE.L #$40002,D0
_QDExtensions
ENDM
MACRO
_UpdateGWorld
MOVE.L #$160003,D0
_QDExtensions
ENDM
MACRO
_DisposeGWorld
MOVE.L #$40004,D0
_QDExtensions
ENDM
MACRO
_GetGWorld
MOVE.L #$80005,D0
_QDExtensions
ENDM
MACRO
_SetGWorld
MOVE.L #$80006,D0
_QDExtensions
ENDM
MACRO
_CTabChanged
MOVE.L #$40007,D0
_QDExtensions
ENDM
MACRO
_PixPatChanged
MOVE.L #$40008,D0
_QDExtensions
ENDM
MACRO
_PortChanged
MOVE.L #$40009,D0
_QDExtensions
ENDM
MACRO
_GDeviceChanged
MOVE.L #$4000A,D0
_QDExtensions
ENDM
MACRO
_AllowPurgePixels
MOVE.L #$4000B,D0
_QDExtensions
ENDM
MACRO
_NoPurgePixels
MOVE.L #$4000C,D0
_QDExtensions
ENDM
MACRO
_GetPixelsState
MOVE.L #$4000D,D0
_QDExtensions
ENDM
MACRO
_SetPixelsState
MOVE.L #$8000E,D0
_QDExtensions
ENDM
MACRO
_GetPixBaseAddr
MOVE.L #$4000F,D0
_QDExtensions
ENDM
MACRO
_NewScreenBuffer
MOVE.L #$E0010,D0
_QDExtensions
ENDM
MACRO
_DisposeScreenBuffer
MOVE.L #$40011,D0
_QDExtensions
ENDM
MACRO
_GetGWorldDevice
MOVE.L #$40012,D0
_QDExtensions
ENDM
; The following trap is not being documented yet
MACRO
_QDDone
MOVE.L #$40013,D0
_QDExtensions
ENDM
;end of QuickDraw Traps
; Tool Box Traps
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;The following twelve OS traps have been redundantly defined as
;Tool traps as well. They should be
;accessed as OS traps, but their slots in the Tool trap table
;will be reserved forever.
; $1A GetZone
; $1B SetZone
;
; $1D MaxMem
; $1E NewPtr
;
; $22 NewHandle
; $23 DisposHandle
; $24 SetHandleSize
; $25 GetHandleSize
;
; $29 HLock
; $2A HUnLock
;
; $32 FlushEvents
;
; $4C CompactMem
;
MACRO
_Count1Resources
JSR ([$E00+$0D*4])
ENDM
MACRO
_Get1IxResource
JSR ([$E00+$0E*4])
ENDM
MACRO
_Get1IxType
JSR ([$E00+$0F*4])
ENDM
MACRO
_Unique1ID
JSR ([$E00+$10*4])
ENDM
MACRO
_TESelView
JSR ([$E00+$11*4])
ENDM
MACRO
_TEPinScroll
JSR ([$E00+$12*4])
ENDM
MACRO
_TEAutoView
JSR ([$E00+$13*4])
ENDM
MACRO
_Pack8
JSR ([$E00+$16*4])
ENDM
MACRO
_FixATan2
JSR ([$E00+$18*4])
ENDM
MACRO
_XMunger
JSR ([$E00+$19*4])
ENDM
MACRO
_Count1Types
JSR ([$E00+$1C*4])
ENDM
MACRO
_Get1Resource
JSR ([$E00+$1F*4])
ENDM
MACRO
_Get1NamedResource
JSR ([$E00+$20*4])
ENDM
MACRO
_MaxSizeRsrc
JSR ([$E00+$21*4])
ENDM
MACRO
_InsMenuItem
JSR ([$E00+$26*4])
ENDM
MACRO
_HideDItem
JSR ([$E00+$27*4])
ENDM
MACRO
_ShowDItem
JSR ([$E00+$28*4])
ENDM
MACRO
_Pack9
JSR ([$E00+$2B*4])
ENDM
MACRO
_Pack10
JSR ([$E00+$2C*4])
ENDM
MACRO
_Pack11
JSR ([$E00+$2D*4])
ENDM
MACRO
_Pack12
JSR ([$E00+$2E*4])
ENDM
MACRO
_Pack13
JSR ([$E00+$2F*4])
ENDM
MACRO
_Pack14
JSR ([$E00+$30*4])
ENDM
MACRO
_Pack15
JSR ([$E00+$31*4])
ENDM
MACRO
_ScrnBitMap
JSR ([$E00+$33*4])
ENDM
MACRO
_SetFScaleDisable
JSR ([$E00+$34*4])
ENDM
MACRO
_FontMetrics
JSR ([$E00+$35*4])
ENDM
MACRO
_ZoomWindow
JSR ([$E00+$3A*4])
ENDM
MACRO
_TrackBox
JSR ([$E00+$3B*4])
ENDM
MACRO
_InitFonts
JSR ([$E00+$FE*4])
ENDM
MACRO
_GetFName
JSR ([$E00+$FF*4])
ENDM
MACRO
_GetFNum
JSR ([$E00+$100*4])
ENDM
MACRO
_FMSwapFont
JSR ([$E00+$101*4])
ENDM
MACRO
_RealFont
JSR ([$E00+$102*4])
ENDM
MACRO
_SetFontLock
JSR ([$E00+$103*4])
ENDM
MACRO
_DrawGrowIcon
JSR ([$E00+$104*4])
ENDM
MACRO
_DragGrayRgn
JSR ([$E00+$105*4])
ENDM
MACRO
_NewString
JSR ([$E00+$106*4])
ENDM
MACRO
_SetString
JSR ([$E00+$107*4])
ENDM
MACRO
_ShowHide
JSR ([$E00+$108*4])
ENDM
MACRO
_CalcVis
JSR ([$E00+$109*4])
ENDM
MACRO
_CalcVBehind
JSR ([$E00+$10A*4])
ENDM
MACRO
_ClipAbove
JSR ([$E00+$10B*4])
ENDM
MACRO
_PaintOne
JSR ([$E00+$10C*4])
ENDM
MACRO
_PaintBehind
JSR ([$E00+$10D*4])
ENDM
MACRO
_SaveOld
JSR ([$E00+$10E*4])
ENDM
MACRO
_DrawNew
JSR ([$E00+$10F*4])
ENDM
MACRO
_GetWMgrPort
JSR ([$E00+$110*4])
ENDM
MACRO
_CheckUpDate
JSR ([$E00+$111*4])
ENDM
MACRO
_InitWindows
JSR ([$E00+$112*4])
ENDM
MACRO
_NewWindow
JSR ([$E00+$113*4])
ENDM
MACRO
_DisposWindow
JSR ([$E00+$114*4])
ENDM
MACRO
_ShowWindow
JSR ([$E00+$115*4])
ENDM
MACRO
_HideWindow
JSR ([$E00+$116*4])
ENDM
MACRO
_GetWRefCon
JSR ([$E00+$117*4])
ENDM
MACRO
_SetWRefCon
JSR ([$E00+$118*4])
ENDM
MACRO
_GetWTitle
JSR ([$E00+$119*4])
ENDM
MACRO
_SetWTitle
JSR ([$E00+$11A*4])
ENDM
MACRO
_MoveWindow
JSR ([$E00+$11B*4])
ENDM
MACRO
_HiliteWindow
JSR ([$E00+$11C*4])
ENDM
MACRO
_SizeWindow
JSR ([$E00+$11D*4])
ENDM
MACRO
_TrackGoAway
JSR ([$E00+$11E*4])
ENDM
MACRO
_SelectWindow
JSR ([$E00+$11F*4])
ENDM
MACRO
_BringToFront
JSR ([$E00+$120*4])
ENDM
MACRO
_SendBehind
JSR ([$E00+$121*4])
ENDM
MACRO
_BeginUpDate
JSR ([$E00+$122*4])
ENDM
MACRO
_EndUpDate
JSR ([$E00+$123*4])
ENDM
MACRO
_FrontWindow
JSR ([$E00+$124*4])
ENDM
MACRO
_DragWindow
JSR ([$E00+$125*4])
ENDM
MACRO
_DragTheRgn
JSR ([$E00+$126*4])
ENDM
MACRO
_InvalRgn
JSR ([$E00+$127*4])
ENDM
MACRO
_InvalRect
JSR ([$E00+$128*4])
ENDM
MACRO
_ValidRgn
JSR ([$E00+$129*4])
ENDM
MACRO
_ValidRect
JSR ([$E00+$12A*4])
ENDM
MACRO
_GrowWindow
JSR ([$E00+$12B*4])
ENDM
MACRO
_FindWindow
JSR ([$E00+$12C*4])
ENDM
MACRO
_CloseWindow
JSR ([$E00+$12D*4])
ENDM
MACRO
_SetWindowPic
JSR ([$E00+$12E*4])
ENDM
MACRO
_GetWindowPic
JSR ([$E00+$12F*4])
ENDM
MACRO
_InitMenus
JSR ([$E00+$130*4])
ENDM
MACRO
_NewMenu
JSR ([$E00+$131*4])
ENDM
MACRO
_DisposMenu
JSR ([$E00+$132*4])
ENDM
MACRO
_AppendMenu
JSR ([$E00+$133*4])
ENDM
MACRO
_ClearMenuBar
JSR ([$E00+$134*4])
ENDM
MACRO
_InsertMenu
JSR ([$E00+$135*4])
ENDM
MACRO
_DeleteMenu
JSR ([$E00+$136*4])
ENDM
MACRO
_DrawMenuBar
JSR ([$E00+$137*4])
ENDM
MACRO
_HiliteMenu
JSR ([$E00+$138*4])
ENDM
MACRO
_EnableItem
JSR ([$E00+$139*4])
ENDM
MACRO
_DisableItem
JSR ([$E00+$13A*4])
ENDM
MACRO
_GetMenuBar
JSR ([$E00+$13B*4])
ENDM
MACRO
_SetMenuBar
JSR ([$E00+$13C*4])
ENDM
MACRO
_MenuSelect
JSR ([$E00+$13D*4])
ENDM
MACRO
_MenuKey
JSR ([$E00+$13E*4])
ENDM
MACRO
_GetItmIcon
JSR ([$E00+$13F*4])
ENDM
MACRO
_SetItmIcon
JSR ([$E00+$140*4])
ENDM
MACRO
_GetItmStyle
JSR ([$E00+$141*4])
ENDM
MACRO
_SetItmStyle
JSR ([$E00+$142*4])
ENDM
MACRO
_GetItmMark
JSR ([$E00+$143*4])
ENDM
MACRO
_SetItmMark
JSR ([$E00+$144*4])
ENDM
MACRO
_CheckItem
JSR ([$E00+$145*4])
ENDM
MACRO
_GetItem
JSR ([$E00+$146*4])
ENDM
MACRO
_SetItem
JSR ([$E00+$147*4])
ENDM
MACRO
_CalcMenuSize
JSR ([$E00+$148*4])
ENDM
MACRO
_GetMHandle
JSR ([$E00+$149*4])
ENDM
MACRO
_SetMFlash
JSR ([$E00+$14A*4])
ENDM
MACRO
_PlotIcon
JSR ([$E00+$14B*4])
ENDM
MACRO
_FlashMenuBar
JSR ([$E00+$14C*4])
ENDM
MACRO
_AddResMenu
JSR ([$E00+$14D*4])
ENDM
MACRO
_PinRect
JSR ([$E00+$14E*4])
ENDM
MACRO
_DeltaPoint
JSR ([$E00+$14F*4])
ENDM
MACRO
_CountMItems
JSR ([$E00+$150*4])
ENDM
MACRO
_InsertResMenu
JSR ([$E00+$151*4])
ENDM
MACRO
_DelMenuItem
JSR ([$E00+$152*4])
ENDM
MACRO
_UpdtControl
JSR ([$E00+$153*4])
ENDM
MACRO
_NewControl
JSR ([$E00+$154*4])
ENDM
MACRO
_DisposControl
JSR ([$E00+$155*4])
ENDM
MACRO
_KillControls
JSR ([$E00+$156*4])
ENDM
MACRO
_ShowControl
JSR ([$E00+$157*4])
ENDM
MACRO
_HideControl
JSR ([$E00+$158*4])
ENDM
MACRO
_MoveControl
JSR ([$E00+$159*4])
ENDM
MACRO
_GetCRefCon
JSR ([$E00+$15A*4])
ENDM
MACRO
_SetCRefCon
JSR ([$E00+$15B*4])
ENDM
MACRO
_SizeControl
JSR ([$E00+$15C*4])
ENDM
MACRO
_HiliteControl
JSR ([$E00+$15D*4])
ENDM
MACRO
_GetCTitle
JSR ([$E00+$15E*4])
ENDM
MACRO
_SetCTitle
JSR ([$E00+$15F*4])
ENDM
MACRO
_GetCtlValue
JSR ([$E00+$160*4])
ENDM
MACRO
_GetMinCtl
JSR ([$E00+$161*4])
ENDM
MACRO
_GetMaxCtl
JSR ([$E00+$162*4])
ENDM
MACRO
_SetCtlValue
JSR ([$E00+$163*4])
ENDM
MACRO
_SetMinCtl
JSR ([$E00+$164*4])
ENDM
MACRO
_SetMaxCtl
JSR ([$E00+$165*4])
ENDM
MACRO
_TestControl
JSR ([$E00+$166*4])
ENDM
MACRO
_DragControl
JSR ([$E00+$167*4])
ENDM
MACRO
_TrackControl
JSR ([$E00+$168*4])
ENDM
MACRO
_DrawControls
JSR ([$E00+$169*4])
ENDM
MACRO
_GetCtlAction
JSR ([$E00+$16A*4])
ENDM
MACRO
_SetCtlAction
JSR ([$E00+$16B*4])
ENDM
MACRO
_FindControl
JSR ([$E00+$16C*4])
ENDM
MACRO
_Draw1Control
JSR ([$E00+$16D*4])
ENDM
MACRO
_DeQueue
JSR ([$E00+$16E*4])
ENDM
MACRO
_EnQueue
JSR ([$E00+$16F*4])
ENDM
MACRO
_GetNextEvent
JSR ([$E00+$170*4])
ENDM
MACRO
_EventAvail
JSR ([$E00+$171*4])
ENDM
MACRO
_GetMouse
JSR ([$E00+$172*4])
ENDM
MACRO
_StillDown
JSR ([$E00+$173*4])
ENDM
MACRO
_Button
JSR ([$E00+$174*4])
ENDM
MACRO
_TickCount
JSR ([$E00+$175*4])
ENDM
MACRO
_GetKeys
JSR ([$E00+$176*4])
ENDM
MACRO
_WaitMouseUp
JSR ([$E00+$177*4])
ENDM
MACRO
_UpdtDialog
JSR ([$E00+$178*4])
ENDM
MACRO
_CouldDialog
JSR ([$E00+$179*4])
ENDM
MACRO
_FreeDialog
JSR ([$E00+$17A*4])
ENDM
MACRO
_InitDialogs
JSR ([$E00+$17B*4])
ENDM
MACRO
_GetNewDialog
JSR ([$E00+$17C*4])
ENDM
MACRO
_NewDialog
JSR ([$E00+$17D*4])
ENDM
MACRO
_SelIText
JSR ([$E00+$17E*4])
ENDM
MACRO
_IsDialogEvent
JSR ([$E00+$17F*4])
ENDM
MACRO
_DialogSelect
JSR ([$E00+$180*4])
ENDM
MACRO
_DrawDialog
JSR ([$E00+$181*4])
ENDM
MACRO
_CloseDialog
JSR ([$E00+$182*4])
ENDM
MACRO
_DisposDialog
JSR ([$E00+$183*4])
ENDM
MACRO
_FindDItem
JSR ([$E00+$184*4])
ENDM
MACRO
_Alert
JSR ([$E00+$185*4])
ENDM
MACRO
_StopAlert
JSR ([$E00+$186*4])
ENDM
MACRO
_NoteAlert
JSR ([$E00+$187*4])
ENDM
MACRO
_CautionAlert
JSR ([$E00+$188*4])
ENDM
MACRO
_CouldAlert
JSR ([$E00+$189*4])
ENDM
MACRO
_FreeAlert
JSR ([$E00+$18A*4])
ENDM
MACRO
_ParamText
JSR ([$E00+$18B*4])
ENDM
MACRO
_ErrorSound
JSR ([$E00+$18C*4])
ENDM
MACRO
_GetDItem
JSR ([$E00+$18D*4])
ENDM
MACRO
_SetDItem
JSR ([$E00+$18E*4])
ENDM
MACRO
_SetIText
JSR ([$E00+$18F*4])
ENDM
MACRO
_GetIText
JSR ([$E00+$190*4])
ENDM
MACRO
_ModalDialog
JSR ([$E00+$191*4])
ENDM
MACRO
_DetachResource
JSR ([$E00+$192*4])
ENDM
MACRO
_SetResPurge
JSR ([$E00+$193*4])
ENDM
MACRO
_CurResFile
JSR ([$E00+$194*4])
ENDM
MACRO
_InitResources
JSR ([$E00+$195*4])
ENDM
MACRO
_RsrcZoneInit
JSR ([$E00+$196*4])
ENDM
MACRO
_OpenResFile
JSR ([$E00+$197*4])
ENDM
MACRO
_UseResFile
JSR ([$E00+$198*4])
ENDM
MACRO
_UpdateResFile
JSR ([$E00+$199*4])
ENDM
MACRO
_CloseResFile
JSR ([$E00+$19A*4])
ENDM
MACRO
_SetResLoad
JSR ([$E00+$19B*4])
ENDM
MACRO
_CountResources
JSR ([$E00+$19C*4])
ENDM
MACRO
_GetIndResource
JSR ([$E00+$19D*4])
ENDM
MACRO
_CountTypes
JSR ([$E00+$19E*4])
ENDM
MACRO
_GetIndType
JSR ([$E00+$19F*4])
ENDM
MACRO
_GetResource
JSR ([$E00+$1A0*4])
ENDM
MACRO
_GetNamedResource
JSR ([$E00+$1A1*4])
ENDM
MACRO
_LoadResource
JSR ([$E00+$1A2*4])
ENDM
MACRO
_ReleaseResource
JSR ([$E00+$1A3*4])
ENDM
MACRO
_HomeResFile
JSR ([$E00+$1A4*4])
ENDM
MACRO
_SizeRsrc
JSR ([$E00+$1A5*4])
ENDM
MACRO
_GetResAttrs
JSR ([$E00+$1A6*4])
ENDM
MACRO
_SetResAttrs
JSR ([$E00+$1A7*4])
ENDM
MACRO
_GetResInfo
JSR ([$E00+$1A8*4])
ENDM
MACRO
_SetResInfo
JSR ([$E00+$1A9*4])
ENDM
MACRO
_ChangedResource
JSR ([$E00+$1AA*4])
ENDM
MACRO
_AddResource
JSR ([$E00+$1AB*4])
ENDM
MACRO
_AddReference
JSR ([$E00+$1AC*4])
ENDM
MACRO
_RmveResource
JSR ([$E00+$1AD*4])
ENDM
MACRO
_RmveReference
JSR ([$E00+$1AE*4])
ENDM
MACRO
_ResError
JSR ([$E00+$1AF*4])
ENDM
MACRO
_WriteResource
JSR ([$E00+$1B0*4])
ENDM
MACRO
_CreateResFile
JSR ([$E00+$1B1*4])
ENDM
MACRO
_SystemEvent
JSR ([$E00+$1B2*4])
ENDM
MACRO
_SystemClick
JSR ([$E00+$1B3*4])
ENDM
MACRO
_SystemTask
JSR ([$E00+$1B4*4])
ENDM
MACRO
_SystemMenu
JSR ([$E00+$1B5*4])
ENDM
MACRO
_OpenDeskAcc
JSR ([$E00+$1B6*4])
ENDM
MACRO
_CloseDeskAcc
JSR ([$E00+$1B7*4])
ENDM
MACRO
_GetPattern
JSR ([$E00+$1B8*4])
ENDM
MACRO
_GetCursor
JSR ([$E00+$1B9*4])
ENDM
MACRO
_GetString
JSR ([$E00+$1BA*4])
ENDM
MACRO
_GetIcon
JSR ([$E00+$1BB*4])
ENDM
MACRO
_GetPicture
JSR ([$E00+$1BC*4])
ENDM
MACRO
_GetNewWindow
JSR ([$E00+$1BD*4])
ENDM
MACRO
_GetNewControl
JSR ([$E00+$1BE*4])
ENDM
MACRO
_GetRMenu
JSR ([$E00+$1BF*4])
ENDM
MACRO
_GetNewMBar
JSR ([$E00+$1C0*4])
ENDM
MACRO
_UniqueID
JSR ([$E00+$1C1*4])
ENDM
MACRO
_SysEdit
JSR ([$E00+$1C2*4])
ENDM
MACRO
_OpenRFPerm
JSR ([$E00+$1C4*4])
ENDM
MACRO
_RsrcMapEntry
JSR ([$E00+$1C5*4])
ENDM
MACRO
_Secs2Date
JSR ([$E00+$1C6*4])
ENDM
MACRO
_Date2Secs
JSR ([$E00+$1C7*4])
ENDM
MACRO
_SysBeep
JSR ([$E00+$1C8*4])
ENDM
MACRO
_SysError
JSR ([$E00+$1C9*4])
ENDM
MACRO
_TEGetText
JSR ([$E00+$1CB*4])
ENDM
MACRO
_TEInit
JSR ([$E00+$1CC*4])
ENDM
MACRO
_TEDispose
JSR ([$E00+$1CD*4])
ENDM
MACRO
_TextBox
JSR ([$E00+$1CE*4])
ENDM
MACRO
_TESetText
JSR ([$E00+$1CF*4])
ENDM
MACRO
_TECalText
JSR ([$E00+$1D0*4])
ENDM
MACRO
_TESetSelect
JSR ([$E00+$1D1*4])
ENDM
MACRO
_TENew
JSR ([$E00+$1D2*4])
ENDM
MACRO
_TEUpdate
JSR ([$E00+$1D3*4])
ENDM
MACRO
_TEClick
JSR ([$E00+$1D4*4])
ENDM
MACRO
_TECopy
JSR ([$E00+$1D5*4])
ENDM
MACRO
_TECut
JSR ([$E00+$1D6*4])
ENDM
MACRO
_TEDelete
JSR ([$E00+$1D7*4])
ENDM
MACRO
_TEActivate
JSR ([$E00+$1D8*4])
ENDM
MACRO
_TEDeactivate
JSR ([$E00+$1D9*4])
ENDM
MACRO
_TEIdle
JSR ([$E00+$1DA*4])
ENDM
MACRO
_TEPaste
JSR ([$E00+$1DB*4])
ENDM
MACRO
_TEKey
JSR ([$E00+$1DC*4])
ENDM
MACRO
_TEScroll
JSR ([$E00+$1DD*4])
ENDM
MACRO
_TEInsert
JSR ([$E00+$1DE*4])
ENDM
MACRO
_TESetJust
JSR ([$E00+$1DF*4])
ENDM
MACRO
_Munger
JSR ([$E00+$1E0*4])
ENDM
MACRO
_HandToHand
JSR ([$E00+$1E1*4])
ENDM
MACRO
_PtrToXHand
JSR ([$E00+$1E2*4])
ENDM
MACRO
_PtrToHand
JSR ([$E00+$1E3*4])
ENDM
MACRO
_HandAndHand
JSR ([$E00+$1E4*4])
ENDM
MACRO
_InitPack
JSR ([$E00+$1E5*4])
ENDM
MACRO
_InitAllPacks
JSR ([$E00+$1E6*4])
ENDM
MACRO
_Pack0
JSR ([$E00+$1E7*4])
ENDM
MACRO
_Pack1
JSR ([$E00+$1E8*4])
ENDM
MACRO
_Pack2
JSR ([$E00+$1E9*4])
ENDM
MACRO
_Pack3
JSR ([$E00+$1EA*4])
ENDM
MACRO
_FP68K
JSR ([$E00+$1EB*4])
ENDM
MACRO
_Pack4
JSR ([$E00+$1EB*4])
ENDM
MACRO
_Elems68K
JSR ([$E00+$1EC*4])
ENDM
MACRO
_Pack5
JSR ([$E00+$1EC*4])
ENDM
MACRO
_Pack6
JSR ([$E00+$1ED*4])
ENDM
MACRO
_DECSTR68K
JSR ([$E00+$1EE*4])
ENDM
MACRO
_Pack7
JSR ([$E00+$1EE*4])
ENDM
MACRO
_PtrAndHand
JSR ([$E00+$1EF*4])
ENDM
MACRO
_LoadSeg
JSR ([$E00+$1F0*4])
ENDM
MACRO
_UnLoadSeg
JSR ([$E00+$1F1*4])
ENDM
MACRO
_Launch
JSR ([$E00+$1F2*4])
ENDM
MACRO
_Chain
JSR ([$E00+$1F3*4])
ENDM
MACRO
_ExitToShell
JSR ([$E00+$1F4*4])
ENDM
MACRO
_GetAppParms
JSR ([$E00+$1F5*4])
ENDM
MACRO
_GetResFileAttrs
JSR ([$E00+$1F6*4])
ENDM
MACRO
_SetResFileAttrs
JSR ([$E00+$1F7*4])
ENDM
MACRO
_MethodDispatch
JSR ([$E00+$1F8*4])
ENDM
MACRO
_InfoScrap
JSR ([$E00+$1F9*4])
ENDM
MACRO
_UnlodeScrap
JSR ([$E00+$1FA*4])
ENDM
MACRO
_LodeScrap
JSR ([$E00+$1FB*4])
ENDM
MACRO
_ZeroScrap
JSR ([$E00+$1FC*4])
ENDM
MACRO
_GetScrap
JSR ([$E00+$1FD*4])
ENDM
MACRO
_PutScrap
JSR ([$E00+$1FE*4])
ENDM
MACRO ; <12Mar89 BAL>
_InitPalettes
JSR ([$E00+$290*4])
ENDM
MACRO ; <02Jun87 DAF>
_NewPalette
JSR ([$E00+$291*4])
ENDM
MACRO ; <02Jun87 DAF>
_GetNewPalette
JSR ([$E00+$292*4])
ENDM
MACRO ; <12Mar89 BAL>
_DisposePalette
JSR ([$E00+$293*4])
ENDM
MACRO ; <02Jun87 DAF>
_ActivatePalette
JSR ([$E00+$294*4])
ENDM
MACRO ; <12Aug87 rwh>
_SetPalette
JSR ([$E00+$295*4])
ENDM
MACRO ; <12Aug87 rwh>
_GetPalette
JSR ([$E00+$296*4])
ENDM
MACRO ; <10Jun87 EHB>
_PMForeColor
JSR ([$E00+$297*4])
ENDM
MACRO ; <10Jun87 EHB>
_PMBackColor
JSR ([$E00+$298*4])
ENDM
MACRO ; <10Jun87 EHB>
_SetEntryUsage
JSR ([$E00+$29E*4])
ENDM
; end of Tool Box Traps
; System Traps
;_______________________________________________________________________
;
; Core routine system TRAPS
;
;_______________________________________________________________________
; First we have the I/O core routines. These are also used by
; the file system.
_Open OPWORD $A000+00
_Close OPWORD $A000+01
_Read OPWORD $A000+02
_Write OPWORD $A000+03
_Control OPWORD $A000+04
_Status OPWORD $A000+05
_KillIO OPWORD $A000+06
; other file system calls go here
_GetVolInfo OPWORD $A000+07
_Create OPWORD $A000+08
_Delete OPWORD $A000+09
_OpenRF OPWORD $A000+10
_ReName OPWORD $A000+11
_GetFileInfo OPWORD $A000+12
_SetFileInfo OPWORD $A000+13
_UnMountVol OPWORD $A000+14
_MountVol OPWORD $A000+15
_Allocate OPWORD $A000+16
_GetEOF OPWORD $A000+17
_SetEOF OPWORD $A000+18
_FlushVol OPWORD $A000+19
_GetVol OPWORD $A000+20
_SetVol OPWORD $A000+21
_FInitQueue OPWORD $A000+22
_Eject OPWORD $A000+23
_GetFPos OPWORD $A000+24
;These are the HFS additions
MACRO
_TFSCORE
IF &SYSLIST[1] <> '' THEN
LEA &SYSLIST[1],A0
ENDIF
IF &SYSLIST[3] = '' THEN
DC.W $A200+&SYSLIST[2]
ENDIF
IF &SYSLIST[3] = 'REGS' THEN
DC.W $A300+&SYSLIST[2]
ENDIF
IF &SYSLIST[3] = 'ASYNC' THEN
DC.W $A600+&SYSLIST[2]
ENDIF
IF &SYSLIST[3] = 'SYS' THEN
DC.W $A600+&SYSLIST[2]
ENDIF
IF &SYSLIST[3] = 'IMMED' THEN
DC.W $A200+&SYSLIST[2]
ENDIF
ENDM
MACRO
_FSControl
MOVEQ #0,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_OpenWD
MOVEQ #1,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_CloseWD
MOVEQ #2,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
_HSetVol OPWORD $A200+21
_HGetVol OPWORD $A200+20
MACRO
_CatMove
MOVEQ #5,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_DirCreate
MOVEQ #6,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_GetWDInfo
MOVEQ #7,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_GetFCBInfo
MOVEQ #8,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_GetCatInfo
MOVEQ #9,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_SetCatInfo
MOVEQ #10,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_SetVolInfo
MOVEQ #11,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_SetPMSP
MOVEQ #12,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_LockRng
MOVEQ #16,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
MACRO
_UnlockRng
MOVEQ #17,D0
_TFSCore &SYSLIST[1],96,&SYSLIST[2]
ENDM
_HOpen OPWORD $A200+0
_HGetVInfo OPWORD $A200+7
_HCreate OPWORD $A200+8
_HDelete OPWORD $A200+9
_HOpenRF OPWORD $A200+10
_HRename OPWORD $A200+11
_HGetFileInfo OPWORD $A200+12
_HSetFileInfo OPWORD $A200+13
_AllocContig OPWORD $A200+16
_SetPEOF OPWORD $A200+18
_HSetFLock OPWORD $A200+65
_HRstFLock OPWORD $A200+66
; end of HFS additions
; Here are the memory manager core routines
_InitZone OPWORD $A000+25
_GetZone OPWORD $A100+26
_SetZone OPWORD $A000+27
_FreeMem OPWORD $A000+28
_MaxMem OPWORD $A100+29
_NewPtr OPWORD $A100+30
_DisposPtr OPWORD $A000+31
_SetPtrSize OPWORD $A000+32
_GetPtrSize OPWORD $A000+33
_NewHandle OPWORD $A100+34
_DisposHandle OPWORD $A000+35
_SetHandleSize OPWORD $A000+36
_GetHandleSize OPWORD $A000+37
_HandleZone OPWORD $A100+38
_ReAllocHandle OPWORD $A000+39
_RecoverHandle OPWORD $A100+40
_HLock OPWORD $A000+41
_HUnLock OPWORD $A000+42
_EmptyHandle OPWORD $A000+43
_InitApplZone OPWORD $A000+44
_SetApplLimit OPWORD $A000+45
_BlockMove OPWORD $A000+46
_BlockMoveData OPWORD $A000+46+$200
; Here are the event manager routines
_PostEvent OPWORD $A000+47
_PPostEvent OPWORD $A100+47 ;preserves A0 on return
_OSEventAvail OPWORD $A000+48
_GetOSEvent OPWORD $A000+49
_FlushEvents OPWORD $A000+50
; Here are the utility core routines
_VInstall OPWORD $A000+51
_VRemove OPWORD $A000+52
_OffLine OPWORD $A000+53
_MoreMasters OPWORD $A000+54
_WriteParam OPWORD $A000+56
_ReadDateTime OPWORD $A000+57
_SetDateTime OPWORD $A000+58
_Delay OPWORD $A000+59
_CmpString OPWORD $A000+60
_DrvrInstall OPWORD $A000+61
_DrvrRemove OPWORD $A000+62
_InitUtil OPWORD $A000+63
_ResrvMem OPWORD $A000+64
_SetFilLock OPWORD $A000+65
_RstFilLock OPWORD $A000+66
_SetFilType OPWORD $A000+67
_SetFPos OPWORD $A000+68
_FlushFile OPWORD $A000+69
_GetTrapAddress OPWORD $A100+70
_SetTrapAddress OPWORD $A000+71
_PtrZone OPWORD $A100+72
_HPurge OPWORD $A000+73
_HNoPurge OPWORD $A000+74
_SetGrowZone OPWORD $A000+75
_CompactMem OPWORD $A000+76
_PurgeMem OPWORD $A000+77
_AddDrive OPWORD $A000+78
_RDrvrInstall OPWORD $A000+79
_UprString OPWORD $A000+84
_SetApplBase OPWORD $A000+87
;new 128K ROM additions
_RelString OPWORD $A050
_ReadXPRam OPWORD $A051
_WriteXPRam OPWORD $A052
_InsTime OPWORD $A058
_RmvTime OPWORD $A059
_PrimeTime OPWORD $A05A
_MaxBlock OPWORD $A061
_PurgeSpace OPWORD $A162
_MaxApplZone OPWORD $A063
_MoveHHi OPWORD $A064
_StackSpace OPWORD $A065
_NewEmptyHandle OPWORD $A166
_HSetRBit OPWORD $A067
_HClrRBit OPWORD $A068
_HGetState OPWORD $A069
_HSetState OPWORD $A06A
_InitFS OPWORD $A06C
_InitEvents OPWORD $A06D
;end of System Traps
_SlotManager OPWORD $A06E
; new Traps
IF Supports24Bit THEN ; <SM4> we don't need this call if we don't support 24 bit mode
_StripAddress OPWORD $A055 ; new memory manager trap <C172/24sep86>
ELSE
Macro
_StripAddress
EndM
ENDIF
_SetAppBase OPWORD $A000+87 ; <C206>
IF Supports24Bit THEN ; <SM4> we don't need this call if we don't support 24 bit mode
_SwapMMUMode OPWORD $A05D ; <C335>
ELSE
Macro
_SwapMMUMode
EndM
ENDIF
;_SetMMUmode OPWORD $A05E ;deleted <C335>
;_RestoreMMUmode OPWORD $A05F
_SlotVInstall OPWORD $A06F ; <C147>
_SlotVRemove OPWORD $A070 ; <C147>
_AttachVBL OPWORD $A071 ; <C147>
_DoVBLTask OPWORD $A072 ; <C147>
_CountADBs OPWORD $A077
_GetIndADB OPWORD $A078
_GetADBInfo OPWORD $A079
_SetADBInfo OPWORD $A07A
_ADBReInit OPWORD $A07B ; <C212>
_ADBOp OPWORD $A07C
_GetDefaultStartup OPWORD $A07D ; <A296>
_SetDefaultStartup OPWORD $A07E ; <A296>
_InternalWait OPWORD $A07F ; <A345>
_rGetResource OPWORD $A80C ; for NuMac Only <C628><C835>
_GetVideoDefault OPWORD $A080 ; <A345> for NuMac Only <C506>
_SetVideoDefault OPWORD $A081 ; <A345> for NuMac Only <C506>
_DTInstall OPWORD $A082 ; <C489> for NuMac Only
_SetOSDefault OPWORD $A083 ; <C506> for NuMac Only
_GetOSDefault OPWORD $A084 ; <C506> for NuMac Only
MACRO
_InitProcMenu
JSR ([$E00+$08*4])
ENDM
MACRO
_KeyTrans
JSR ([$E00+$1C3*4])
ENDM
; Color Quickdraw
MACRO
_OpenCport
JSR ([$E00+$200*4])
ENDM
MACRO
_InitCport
JSR ([$E00+$201*4])
ENDM
MACRO
_CloseCport
JSR ([$E00+$202*4])
ENDM
MACRO
_NewPixMap
JSR ([$E00+$203*4])
ENDM
MACRO
_DisposPixMap
JSR ([$E00+$204*4])
ENDM
MACRO
_CopyPixMap
JSR ([$E00+$205*4])
ENDM
MACRO
_SetCPortPix
JSR ([$E00+$206*4])
ENDM
MACRO
_NewPixPat
JSR ([$E00+$207*4])
ENDM
MACRO
_DisposPixPat
JSR ([$E00+$208*4])
ENDM
MACRO
_CopyPixPat
JSR ([$E00+$209*4])
ENDM
MACRO
_PenPixPat
JSR ([$E00+$20A*4])
ENDM
MACRO
_BackPixPat
JSR ([$E00+$20B*4])
ENDM
MACRO
_GetPixPat
JSR ([$E00+$20C*4])
ENDM
MACRO
_MakeRGBPat
JSR ([$E00+$20D*4])
ENDM
MACRO
_FillCRect
JSR ([$E00+$20E*4])
ENDM
MACRO
_FillCOval
JSR ([$E00+$20F*4])
ENDM
MACRO
_FillCRoundRect
JSR ([$E00+$210*4])
ENDM
MACRO
_FillCArc
JSR ([$E00+$211*4])
ENDM
MACRO
_FillCRgn
JSR ([$E00+$212*4])
ENDM
MACRO
_FillCPoly
JSR ([$E00+$213*4])
ENDM
MACRO
_RGBForeColor
JSR ([$E00+$214*4])
ENDM
MACRO
_RGBBackColor
JSR ([$E00+$215*4])
ENDM
MACRO
_SetCPixel
JSR ([$E00+$216*4])
ENDM
MACRO
_GetCPixel
JSR ([$E00+$217*4])
ENDM
MACRO
_GetCTable
JSR ([$E00+$218*4]) ; <C188 30Sep86 EHB>
ENDM
MACRO
_GetForeColor
JSR ([$E00+$219*4]) ; <C188 30Sep86 EHB>
ENDM
MACRO
_GetBackColor
JSR ([$E00+$21A*4]) ; <C188 30Sep86 EHB>
ENDM
MACRO
_GetCCursor
JSR ([$E00+$21B*4]) ; <Cxxx/14oct86>
ENDM
MACRO
_SetCCursor
JSR ([$E00+$21C*4]) ; <Cxxx/14oct86>
ENDM
MACRO
_AllocCursor
JSR ([$E00+$21D*4]) ; <Cxxx/14oct86>
ENDM
MACRO
_GetCIcon
JSR ([$E00+$21E*4]) ; C313/31oct86>
ENDM
MACRO
_PlotCIcon
JSR ([$E00+$21F*4]) ; C313/31oct86>
ENDM
MACRO
_OpenCPicture
JSR ([$E00+$220*4]) ; C313/31oct86>
ENDM
MACRO
_OpColor
JSR ([$E00+$221*4]) ; <C550>
ENDM
MACRO
_HiliteColor
JSR ([$E00+$222*4]) ; <C550>
ENDM
MACRO
_CharExtra
JSR ([$E00+$223*4]) ; <C550>
ENDM
MACRO
_DisposCTable
JSR ([$E00+$224*4]) ; <C637>
ENDM
MACRO
_DisposCIcon
JSR ([$E00+$225*4]) ; <C637>
ENDM
MACRO
_DisposCCursor
JSR ([$E00+$226*4]) ; <C637>
ENDM
; Routines for video devices
MACRO
_GetMaxDevice
JSR ([$E00+$227*4]) ; <C637>
ENDM
MACRO
_GetCTSeed
JSR ([$E00+$228*4]) ; <C637>
ENDM
MACRO
_GetDeviceList
JSR ([$E00+$229*4]) ; <C637>
ENDM
MACRO
_GetMainDevice
JSR ([$E00+$22A*4]) ; <C637>
ENDM
MACRO
_GetNextDevice
JSR ([$E00+$22B*4]) ; <C637>
ENDM
MACRO
_TestDeviceAttribute
JSR ([$E00+$22C*4]) ; <C637>
ENDM
MACRO
_SetDeviceAttribute
JSR ([$E00+$22D*4]) ; <C637>
ENDM
MACRO
_InitGDevice
JSR ([$E00+$22E*4]) ; <C637>
ENDM
MACRO
_NewGDevice
JSR ([$E00+$22F*4]) ; <C637>
ENDM
MACRO
_DisposGDevice
JSR ([$E00+$230*4]) ; <C637>
ENDM
MACRO
_SetGDevice
JSR ([$E00+$231*4]) ; <C637>
ENDM
MACRO
_GetGDevice
JSR ([$E00+$232*4]) ; <C637>
ENDM
Macro
_DeviceLoop
jsr ([$E00+$3CA*4])
EndM
; Color Manager
MACRO
_Color2Index
JSR ([$E00+$233*4])
ENDM
MACRO
_Index2Color
JSR ([$E00+$234*4])
ENDM
MACRO
_InvertColor
JSR ([$E00+$235*4])
ENDM
MACRO
_RealColor
JSR ([$E00+$236*4])
ENDM
MACRO
_GetSubTable
JSR ([$E00+$237*4])
ENDM
MACRO
_UpdatePixMap
JSR ([$E00+$238*4])
ENDM
MACRO
_MakeITable
JSR ([$E00+$239*4])
ENDM
MACRO
_AddSearch
JSR ([$E00+$23A*4])
ENDM
MACRO
_AddComp
JSR ([$E00+$23B*4])
ENDM
MACRO
_SetClientID
JSR ([$E00+$23C*4])
ENDM
MACRO
_ProtectEntry
JSR ([$E00+$23D*4])
ENDM
MACRO
_ReserveEntry
JSR ([$E00+$23E*4])
ENDM
MACRO
_SetEntries
JSR ([$E00+$23F*4])
ENDM
MACRO
_QDError
JSR ([$E00+$240*4]) ;<C458/23Nov86> DAF
ENDM
MACRO
_SaveEntries
JSR ([$E00+$249*4]) ;<C496/09Dec86> DAF
ENDM
MACRO
_RestoreEntries
JSR ([$E00+$24A*4]) ;<C496/09Dec86> DAF
ENDM
; Color ToolBox
MACRO
_SetWinColor
JSR ([$E00+$241*4])
ENDM
MACRO
_GetAuxWin
JSR ([$E00+$242*4])
ENDM
MACRO
_SetCtlColor
JSR ([$E00+$243*4])
ENDM
MACRO
_GetAuxCtl
JSR ([$E00+$244*4])
ENDM
MACRO
_NewCWindow
JSR ([$E00+$245*4])
ENDM
MACRO
_GetNewCWindow
JSR ([$E00+$246*4]) ;<C188/30Sep86> EHB
ENDM
MACRO
_SetDeskCPat
JSR ([$E00+$247*4]) ;<C458/23Nov86> DAF
ENDM
MACRO
_DelSearch
JSR ([$E00+$24C*4]) ;<C458/23Nov86> DAF
ENDM
MACRO
_GetCWMgrPort
JSR ([$E00+$248*4]) ;<C496/09Dec86> DAF
ENDM
MACRO
_GetCVariant
JSR ([$E00+$09*4]) ;<C496/09Dec86> DAF
ENDM
MACRO
_GetWVariant
JSR ([$E00+$0A*4]) ;<C496/09Dec86> DAF
ENDM
;
; color menus <FJL C408>
;
MACRO
_DelMCEntries
JSR ([$E00+$260*4])
ENDM
MACRO
_GetMCInfo
JSR ([$E00+$261*4])
ENDM
MACRO
_SetMCInfo
JSR ([$E00+$262*4])
ENDM
MACRO
_DispMCInfo
JSR ([$E00+$263*4])
ENDM
MACRO
_GetMCEntry
JSR ([$E00+$264*4])
ENDM
MACRO
_SetMCEntries
JSR ([$E00+$265*4])
ENDM
;
; other menu stuff <FJL 531>
;
MACRO
_MenuChoice
JSR ([$E00+$266*4])
ENDM
;
; background notification mananger <FJL C532>
;
MACRO
_InitBNM
JSR ([$E00+$270*4])
ENDM
MACRO
_BNMRegister
JSR ([$E00+$271*4])
ENDM
MACRO
_BNMUnregister
JSR ([$E00+$272*4])
ENDM
MACRO
_BNMNotify
JSR ([$E00+$273*4])
ENDM
MACRO
_BNMRemove
JSR ([$E00+$274*4])
ENDM
MACRO
_BNMTask
JSR ([$E00+$275*4])
ENDM
MACRO
_BNMChgDAMenu
JSR ([$E00+$276*4])
ENDM
MACRO
_BNMDialog
JSR ([$E00+$277*4])
ENDM
; TextEdit <A231> MBK
MACRO
_TEGetOffset
JSR ([$E00+$3C*4])
ENDM
MACRO
_TEDispatch
JSR ([$E00+$3D*4])
ENDM
MACRO
_TEStylNew
JSR ([$E00+$3E*4])
ENDM
; Dialog Manager
MACRO
_NewCDialog
JSR ([$E00+$24B*4])
ENDM
;----------------------------------------------------------------------------- <1.3>
;----------------------------------------------------------------------------- <1.3>
;
; This is the start of what once was Multifinder.a. It was moved here since
; cqd was the only thing using it and this seemed the most logical place to put
; these particular equates.
;
_OSDispatch OPWORD $A88F ;MultiFinder trap
;_WaitNextEvent OPWORD $A860 ;WaitNextEvent trap.
; WaitNextEvent was released in MPW 2.0 interfaces. It is
; commented out below to avoid a duplicate declaration.
; Uncomment only if working with earlier interfaces. */
mfMaxMemSel EQU 21
mfFreeMemSel EQU 24
mfTempNewHandleSel EQU 29
mfTempHLockSel EQU 30
mfTempHUnLockSel EQU 31
mfTempDisposHandleSel EQU 32
; Macros
MACRO
_MFMaxMem
MOVE.W #mfMaxMemSel,-(SP)
_OSDispatch
ENDM
MACRO
_MFFreeMem
MOVE.W #mfFreeMemSel,-(SP)
_OSDispatch
ENDM
MACRO
_MFTempNewHandle
MOVE.W #mfTempNewHandleSel,-(SP)
_OSDispatch
ENDM
MACRO
_MFTempHLock
MOVE.W #mfTempHLockSel,-(SP)
_OSDispatch
ENDM
MACRO
_MFTempHUnLock
MOVE.W #mfTempHUnLockSel,-(SP)
_OSDispatch
ENDM
MACRO
_MFTempDisposHandle
MOVE.W #mfTempDisposHandleSel,-(SP)
_OSDispatch
ENDM
_Gestalt OPWORD $A1AD
_NewGestalt OPWORD $A3AD ; <1.7>
_ReplaceGestalt OPWORD $A5AD ; <1.7>
_Debugger OPWORD $A9FF
_LayerDispatch OPWORD $A829
MACRO
DoDispatch &TrapRef,&selector,&paramWords
lcla &selectorNum
lcla &paramCount
; Check the selector for validity
&selectorNum: seta &eval(&selector)
if (&selectorNum > 127) OR (&selectorNum < -128) then
aerror &CONCAT('Selector number for ', &TrapRef, ' Ò',&selector, 'Ó is outside the range -128 to 127')
exitm
endif
if (&paramWords = '') then
&paramCount: seta 0 ; Procedure call if &paramWords was not specified
else
&paramCount: seta &eval(&paramWords)
endif
if (&paramCount < 0) OR (&paramCount > 255) then
aerror &CONCAT('Parameter words for ', &TrapRef, ' Ò',&paramWords, 'Ó is outside the range 0-255')
exitm
endif
if (&paramCount = 0) then
moveq #&selectorNum, D0 ; Move the selector into D0 quickly
else
&paramCount: seta (&paramCount << 8) + (&selectorNum AND $ff)
move.w #&paramCount, D0 ; Move the selector into D0
endif
; now do the trap
if &type(&TrapRef)­'OPWORD' then
dc.w &TrapRef
exitm
endif
&TrapRef
ENDM