supermario/bin/MPW-3.2.3/Interfaces/AIncludes/Traps.a
2019-06-29 22:17:03 +08:00

2340 lines
50 KiB
Plaintext

; Version: 3.29
; Created: Friday, October 20, 1989 at 10:06:13 PM
;
; File: Traps.a
;
; Assembler Interface to the Macintosh Libraries
; Copyright Apple Computer, Inc. 1984-1990
; All Rights Reserved.
;
;___________________________________________________________________________
IF &TYPE('__IncludingTraps__') = 'UNDEFINED' THEN
__IncludingTraps__ SET 1
; Equates for setting trap option bits
; for Device and File Manager routines
immed EQU $200 ; execute immediately, bypass I/O queue
async EQU $400 ; asynchronous, don't wait for completion
; for Memory Manager routines
clear EQU $200
sys EQU $400
; for string routines
marks EQU $200 ; set to ignore/strip diacriticals
case EQU $400 ; set for case sensitivity
; for all Toolbox routines
autoPop EQU $400 ; set to pop an extra return address
; for Get/Set & NGet/NSet TrapAddress
newTool EQU $600 ; Toolbox trap, under new ordering
newOS EQU $200 ; OS trap, under new ordering
; for HFS routines
newHFS EQU $200
; Dispatch Macros (compatible with DispatchHelper macro)
;
; DoDispatch TrapRef,Selector[,ParamWords]
; Purpose: Sets up for a call to a trap that is a dispatching trap.
;
; Inputs: TrapRef - the dispatching trap number (i.e. $A8xx or _MyTrap)
; Selector - the trap selector number (-128 thru 127 only!)
; [,ParamWords] - (optional) number of WORDS of parameters this call takes
;
; Outputs: The output of this macro depends on its input, however, in general it produces:
; MOVEQ #Selector, D0
; _MyTrap
; or
; MOVEQ #Selector, D0
; DC.W $AFFF ; No opword is defined for $AFFF yet
;
; WARNING:
; Note: If you do not specify “ParamWords”, it assumes that:
; The routine you are dispatching to is a procedure
; --- AND ---
; If you are using the DispatchHelper macro, you must insure
; that this routine __NEVER__ goes away.
; (The helper will assume that this “procedure” returns an OSErr
; and will mess up your stack for you, free of charge).
MACRO
DoDispatch &trapRef,&selector,&paramWords
lcla &selectorNum
lcla &paramCount
&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
if &type(&trapRef) ≠ 'OPWORD' then
dc.w &trapRef
exitm
endif
&trapRef
ENDM
; QuickDraw
_CopyMask OPWORD $A817
_MeasureText OPWORD $A837
_GetMaskTable OPWORD $A836
_CalcMask OPWORD $A838
_SeedFill OPWORD $A839
_InitCursor OPWORD $A850
_SetCursor OPWORD $A851
_HideCursor OPWORD $A852
_ShowCursor OPWORD $A853
_ShieldCursor OPWORD $A855
_ObscureCursor OPWORD $A856
_BitAnd OPWORD $A858
_BitXOr OPWORD $A859
_BitNot OPWORD $A85A
_BitOr OPWORD $A85B
_BitShift OPWORD $A85C
_BitTst OPWORD $A85D
_BitSet OPWORD $A85E
_BitClr OPWORD $A85F
_Random OPWORD $A861
_ForeColor OPWORD $A862
_BackColor OPWORD $A863
_ColorBit OPWORD $A864
_GetPixel OPWORD $A865
_StuffHex OPWORD $A866
_LongMul OPWORD $A867
_FixMul OPWORD $A868
_FixRatio OPWORD $A869
_HiWord OPWORD $A86A
_LoWord OPWORD $A86B
_FixRound OPWORD $A86C
_InitPort OPWORD $A86D
_InitGraf OPWORD $A86E
_OpenPort OPWORD $A86F
_LocalToGlobal OPWORD $A870
_GlobalToLocal OPWORD $A871
_GrafDevice OPWORD $A872
_SetPort OPWORD $A873
_GetPort OPWORD $A874
_SetPBits OPWORD $A875
_PortSize OPWORD $A876
_MovePortTo OPWORD $A877
_SetOrigin OPWORD $A878
_SetClip OPWORD $A879
_GetClip OPWORD $A87A
_ClipRect OPWORD $A87B
_BackPat OPWORD $A87C
_ClosePort OPWORD $A87D
_AddPt OPWORD $A87E
_SubPt OPWORD $A87F
_SetPt OPWORD $A880
_EqualPt OPWORD $A881
_StdText OPWORD $A882
_DrawChar OPWORD $A883
_DrawString OPWORD $A884
_DrawText OPWORD $A885
_TextWidth OPWORD $A886
_TextFont OPWORD $A887
_TextFace OPWORD $A888
_TextMode OPWORD $A889
_TextSize OPWORD $A88A
_GetFontInfo OPWORD $A88B
_StringWidth OPWORD $A88C
_CharWidth OPWORD $A88D
_SpaceExtra OPWORD $A88E
_StdLine OPWORD $A890
_LineTo OPWORD $A891
_Line OPWORD $A892
_MoveTo OPWORD $A893
_Move OPWORD $A894
_ShutDown OPWORD $A895
_HidePen OPWORD $A896
_ShowPen OPWORD $A897
_GetPenState OPWORD $A898
_SetPenState OPWORD $A899
_GetPen OPWORD $A89A
_PenSize OPWORD $A89B
_PenMode OPWORD $A89C
_PenPat OPWORD $A89D
_PenNormal OPWORD $A89E
_Unimplemented OPWORD $A89F
_StdRect OPWORD $A8A0
_FrameRect OPWORD $A8A1
_PaintRect OPWORD $A8A2
_EraseRect OPWORD $A8A3
_InverRect OPWORD $A8A4
_FillRect OPWORD $A8A5
_EqualRect OPWORD $A8A6
_SetRect OPWORD $A8A7
_OffsetRect OPWORD $A8A8
_InsetRect OPWORD $A8A9
_SectRect OPWORD $A8AA
_UnionRect OPWORD $A8AB
_Pt2Rect OPWORD $A8AC
_PtInRect OPWORD $A8AD
_EmptyRect OPWORD $A8AE
_StdRRect OPWORD $A8AF
_FrameRoundRect OPWORD $A8B0
_PaintRoundRect OPWORD $A8B1
_EraseRoundRect OPWORD $A8B2
_InverRoundRect OPWORD $A8B3
_FillRoundRect OPWORD $A8B4
_StdOval OPWORD $A8B6
_FrameOval OPWORD $A8B7
_PaintOval OPWORD $A8B8
_EraseOval OPWORD $A8B9
_InvertOval OPWORD $A8BA
_FillOval OPWORD $A8BB
_SlopeFromAngle OPWORD $A8BC
_StdArc OPWORD $A8BD
_FrameArc OPWORD $A8BE
_PaintArc OPWORD $A8BF
_EraseArc OPWORD $A8C0
_InvertArc OPWORD $A8C1
_FillArc OPWORD $A8C2
_PtToAngle OPWORD $A8C3
_AngleFromSlope OPWORD $A8C4
_StdPoly OPWORD $A8C5
_FramePoly OPWORD $A8C6
_PaintPoly OPWORD $A8C7
_ErasePoly OPWORD $A8C8
_InvertPoly OPWORD $A8C9
_FillPoly OPWORD $A8CA
_OpenPoly OPWORD $A8CB
_ClosePgon OPWORD $A8CC
_ClosePoly OPWORD $A8CC
_KillPoly OPWORD $A8CD
_OffsetPoly OPWORD $A8CE
_PackBits OPWORD $A8CF
_UnpackBits OPWORD $A8D0
_StdRgn OPWORD $A8D1
_FrameRgn OPWORD $A8D2
_PaintRgn OPWORD $A8D3
_EraseRgn OPWORD $A8D4
_InverRgn OPWORD $A8D5
_FillRgn OPWORD $A8D6
_BitMapRgn OPWORD $A8D7
_BitMapToRegion OPWORD $A8D7
_NewRgn OPWORD $A8D8
_DisposRgn OPWORD $A8D9
_DisposeRgn OPWORD $A8D9
_OpenRgn OPWORD $A8DA
_CloseRgn OPWORD $A8DB
_CopyRgn OPWORD $A8DC
_SetEmptyRgn OPWORD $A8DD
_SetRecRgn OPWORD $A8DE
_RectRgn OPWORD $A8DF
_OfsetRgn OPWORD $A8E0
_OffsetRgn OPWORD $A8E0
_InsetRgn OPWORD $A8E1
_EmptyRgn OPWORD $A8E2
_EqualRgn OPWORD $A8E3
_SectRgn OPWORD $A8E4
_UnionRgn OPWORD $A8E5
_DiffRgn OPWORD $A8E6
_XOrRgn OPWORD $A8E7
_PtInRgn OPWORD $A8E8
_RectInRgn OPWORD $A8E9
_SetStdProcs OPWORD $A8EA
_StdBits OPWORD $A8EB
_CopyBits OPWORD $A8EC
_StdTxMeas OPWORD $A8ED
_StdGetPic OPWORD $A8EE
_ScrollRect OPWORD $A8EF
_StdPutPic OPWORD $A8F0
_StdComment OPWORD $A8F1
_PicComment OPWORD $A8F2
_OpenPicture OPWORD $A8F3
_ClosePicture OPWORD $A8F4
_KillPicture OPWORD $A8F5
_DrawPicture OPWORD $A8F6
_ScalePt OPWORD $A8F8
_MapPt OPWORD $A8F9
_MapRect OPWORD $A8FA
_MapRgn OPWORD $A8FB
_MapPoly OPWORD $A8FC
; Toolbox
_Count1Resources OPWORD $A80D
_Get1IxResource OPWORD $A80E
_Get1IxType OPWORD $A80F
_Unique1ID OPWORD $A810
_TESelView OPWORD $A811
_TEPinScroll OPWORD $A812
_TEAutoView OPWORD $A813
_Pack8 OPWORD $A816
_FixATan2 OPWORD $A818
_XMunger OPWORD $A819
_HOpenResFile OPWORD $A81A
_HCreateResFile OPWORD $A81B
_Count1Types OPWORD $A81C
_Get1Resource OPWORD $A81F
_Get1NamedResource OPWORD $A820
_MaxSizeRsrc OPWORD $A821
_InsMenuItem OPWORD $A826
_HideDItem OPWORD $A827
_ShowDItem OPWORD $A828
_LayerDispatch OPWORD $A829
_Pack9 OPWORD $A82B
_Pack10 OPWORD $A82C
_Pack11 OPWORD $A82D
_Pack12 OPWORD $A82E
_Pack13 OPWORD $A82F
_Pack14 OPWORD $A830
_Pack15 OPWORD $A831
_ScrnBitMap OPWORD $A833
_SetFScaleDisable OPWORD $A834
_FontMetrics OPWORD $A835
_ZoomWindow OPWORD $A83A
_TrackBox OPWORD $A83B
_InitFonts OPWORD $A8FE
_GetFName OPWORD $A8FF
_GetFNum OPWORD $A900
_FMSwapFont OPWORD $A901
_RealFont OPWORD $A902
_SetFontLock OPWORD $A903
_DrawGrowIcon OPWORD $A904
_DragGrayRgn OPWORD $A905
_NewString OPWORD $A906
_SetString OPWORD $A907
_ShowHide OPWORD $A908
_CalcVis OPWORD $A909
_CalcVBehind OPWORD $A90A
_ClipAbove OPWORD $A90B
_PaintOne OPWORD $A90C
_PaintBehind OPWORD $A90D
_SaveOld OPWORD $A90E
_DrawNew OPWORD $A90F
_GetWMgrPort OPWORD $A910
_CheckUpDate OPWORD $A911
_InitWindows OPWORD $A912
_NewWindow OPWORD $A913
_DisposWindow OPWORD $A914
_DisposeWindow OPWORD $A914
_ShowWindow OPWORD $A915
_HideWindow OPWORD $A916
_GetWRefCon OPWORD $A917
_SetWRefCon OPWORD $A918
_GetWTitle OPWORD $A919
_SetWTitle OPWORD $A91A
_MoveWindow OPWORD $A91B
_HiliteWindow OPWORD $A91C
_SizeWindow OPWORD $A91D
_TrackGoAway OPWORD $A91E
_SelectWindow OPWORD $A91F
_BringToFront OPWORD $A920
_SendBehind OPWORD $A921
_BeginUpDate OPWORD $A922
_EndUpDate OPWORD $A923
_FrontWindow OPWORD $A924
_DragWindow OPWORD $A925
_DragTheRgn OPWORD $A926
_InvalRgn OPWORD $A927
_InvalRect OPWORD $A928
_ValidRgn OPWORD $A929
_ValidRect OPWORD $A92A
_GrowWindow OPWORD $A92B
_FindWindow OPWORD $A92C
_CloseWindow OPWORD $A92D
_SetWindowPic OPWORD $A92E
_GetWindowPic OPWORD $A92F
_InitMenus OPWORD $A930
_NewMenu OPWORD $A931
_DisposMenu OPWORD $A932
_DisposeMenu OPWORD $A932
_AppendMenu OPWORD $A933
_ClearMenuBar OPWORD $A934
_InsertMenu OPWORD $A935
_DeleteMenu OPWORD $A936
_DrawMenuBar OPWORD $A937
_InvalMenuBar OPWORD $A81D
_HiliteMenu OPWORD $A938
_EnableItem OPWORD $A939
_DisableItem OPWORD $A93A
_GetMenuBar OPWORD $A93B
_SetMenuBar OPWORD $A93C
_MenuSelect OPWORD $A93D
_MenuKey OPWORD $A93E
_GetItmIcon OPWORD $A93F
_SetItmIcon OPWORD $A940
_GetItmStyle OPWORD $A941
_SetItmStyle OPWORD $A942
_GetItmMark OPWORD $A943
_SetItmMark OPWORD $A944
_CheckItem OPWORD $A945
_GetItem OPWORD $A946
_SetItem OPWORD $A947
_CalcMenuSize OPWORD $A948
_GetMHandle OPWORD $A949
_SetMFlash OPWORD $A94A
_PlotIcon OPWORD $A94B
_FlashMenuBar OPWORD $A94C
_AddResMenu OPWORD $A94D
_PinRect OPWORD $A94E
_DeltaPoint OPWORD $A94F
_CountMItems OPWORD $A950
_InsertResMenu OPWORD $A951
_DelMenuItem OPWORD $A952
_UpdtControl OPWORD $A953
_NewControl OPWORD $A954
_DisposControl OPWORD $A955
_DisposeControl OPWORD $A955
_KillControls OPWORD $A956
_ShowControl OPWORD $A957
_HideControl OPWORD $A958
_MoveControl OPWORD $A959
_GetCRefCon OPWORD $A95A
_SetCRefCon OPWORD $A95B
_SizeControl OPWORD $A95C
_HiliteControl OPWORD $A95D
_GetCTitle OPWORD $A95E
_SetCTitle OPWORD $A95F
_GetCtlValue OPWORD $A960
_GetMinCtl OPWORD $A961
_GetMaxCtl OPWORD $A962
_SetCtlValue OPWORD $A963
_SetMinCtl OPWORD $A964
_SetMaxCtl OPWORD $A965
_TestControl OPWORD $A966
_DragControl OPWORD $A967
_TrackControl OPWORD $A968
_DrawControls OPWORD $A969
_GetCtlAction OPWORD $A96A
_SetCtlAction OPWORD $A96B
_FindControl OPWORD $A96C
_Draw1Control OPWORD $A96D
_DeQueue OPWORD $A96E
_EnQueue OPWORD $A96F
_WaitNextEvent OPWORD $A860
_GetNextEvent OPWORD $A970
_EventAvail OPWORD $A971
_GetMouse OPWORD $A972
_StillDown OPWORD $A973
_Button OPWORD $A974
_TickCount OPWORD $A975
_GetKeys OPWORD $A976
_WaitMouseUp OPWORD $A977
_UpdtDialog OPWORD $A978
_CouldDialog OPWORD $A979
_FreeDialog OPWORD $A97A
_InitDialogs OPWORD $A97B
_GetNewDialog OPWORD $A97C
_NewDialog OPWORD $A97D
_SelIText OPWORD $A97E
_IsDialogEvent OPWORD $A97F
_DialogSelect OPWORD $A980
_DrawDialog OPWORD $A981
_CloseDialog OPWORD $A982
_DisposDialog OPWORD $A983
_DisposeDialog OPWORD $A983
_FindDItem OPWORD $A984
_Alert OPWORD $A985
_StopAlert OPWORD $A986
_NoteAlert OPWORD $A987
_CautionAlert OPWORD $A988
_CouldAlert OPWORD $A989
_FreeAlert OPWORD $A98A
_ParamText OPWORD $A98B
_ErrorSound OPWORD $A98C
_GetDItem OPWORD $A98D
_SetDItem OPWORD $A98E
_SetIText OPWORD $A98F
_GetIText OPWORD $A990
_ModalDialog OPWORD $A991
_DetachResource OPWORD $A992
_SetResPurge OPWORD $A993
_CurResFile OPWORD $A994
_InitResources OPWORD $A995
_RsrcZoneInit OPWORD $A996
_OpenResFile OPWORD $A997
_UseResFile OPWORD $A998
_UpdateResFile OPWORD $A999
_CloseResFile OPWORD $A99A
_SetResLoad OPWORD $A99B
_CountResources OPWORD $A99C
_GetIndResource OPWORD $A99D
_CountTypes OPWORD $A99E
_GetIndType OPWORD $A99F
_GetResource OPWORD $A9A0
_GetNamedResource OPWORD $A9A1
_LoadResource OPWORD $A9A2
_ReleaseResource OPWORD $A9A3
_HomeResFile OPWORD $A9A4
_SizeRsrc OPWORD $A9A5
_GetResAttrs OPWORD $A9A6
_SetResAttrs OPWORD $A9A7
_GetResInfo OPWORD $A9A8
_SetResInfo OPWORD $A9A9
_ChangedResource OPWORD $A9AA
_AddResource OPWORD $A9AB
_AddReference OPWORD $A9AC
_RmveResource OPWORD $A9AD
_RmveReference OPWORD $A9AE
_ResError OPWORD $A9AF
_WriteResource OPWORD $A9B0
_CreateResFile OPWORD $A9B1
_SystemEvent OPWORD $A9B2
_SystemClick OPWORD $A9B3
_SystemTask OPWORD $A9B4
_SystemMenu OPWORD $A9B5
_OpenDeskAcc OPWORD $A9B6
_CloseDeskAcc OPWORD $A9B7
_GetPattern OPWORD $A9B8
_GetCursor OPWORD $A9B9
_GetString OPWORD $A9BA
_GetIcon OPWORD $A9BB
_GetPicture OPWORD $A9BC
_GetNewWindow OPWORD $A9BD
_GetNewControl OPWORD $A9BE
_GetRMenu OPWORD $A9BF
_GetNewMBar OPWORD $A9C0
_UniqueID OPWORD $A9C1
_SysEdit OPWORD $A9C2
_OpenRFPerm OPWORD $A9C4
_RsrcMapEntry OPWORD $A9C5
_Secs2Date OPWORD $A9C6
_Date2Secs OPWORD $A9C7
_SysBeep OPWORD $A9C8
_SysError OPWORD $A9C9
_PutIcon OPWORD $A9CA
_Munger OPWORD $A9E0
_HandToHand OPWORD $A9E1
_PtrToXHand OPWORD $A9E2
_PtrToHand OPWORD $A9E3
_HandAndHand OPWORD $A9E4
_InitPack OPWORD $A9E5
_InitAllPacks OPWORD $A9E6
_Pack0 OPWORD $A9E7
_Pack1 OPWORD $A9E8
_Pack2 OPWORD $A9E9
_Pack3 OPWORD $A9EA
_FP68K OPWORD $A9EB
_Pack4 OPWORD $A9EB
_Elems68K OPWORD $A9EC
_Pack5 OPWORD $A9EC
_Pack6 OPWORD $A9ED
_DECSTR68K OPWORD $A9EE
_Pack7 OPWORD $A9EE
_PtrAndHand OPWORD $A9EF
_LoadSeg OPWORD $A9F0
_UnLoadSeg OPWORD $A9F1
_Launch OPWORD $A9F2
_Chain OPWORD $A9F3
_ExitToShell OPWORD $A9F4
_GetAppParms OPWORD $A9F5
_GetResFileAttrs OPWORD $A9F6
_SetResFileAttrs OPWORD $A9F7
_MethodDispatch OPWORD $A9F8
_InfoScrap OPWORD $A9F9
_UnlodeScrap OPWORD $A9FA
_UnloadScrap OPWORD $A9FA
_LodeScrap OPWORD $A9FB
_LoadScrap OPWORD $A9FB
_ZeroScrap OPWORD $A9FC
_GetScrap OPWORD $A9FD
_PutScrap OPWORD $A9FE
_Debugger OPWORD $A9FF
_IconDispatch OPWORD $ABC9
_DebugStr OPWORD $ABFF
; Resource Manager
_ResourceDispatch OPWORD $A822
selectReadPartialResource EQU 1
selectWritePartialResource EQU 2
selectSetResourceSize EQU 3
MACRO
_ReadPartialResource
DoDispatch _ResourceDispatch,selectReadPartialResource
ENDM
MACRO
_WritePartialResource
DoDispatch _ResourceDispatch,selectWritePartialResource
ENDM
MACRO
_SetResourceSize
DoDispatch _ResourceDispatch,selectSetResourceSize
ENDM
; Device Manager (some shared by the File Manager)
_Open OPWORD $A000
_Close OPWORD $A001
_Read OPWORD $A002
_Write OPWORD $A003
_Control OPWORD $A004
_Status OPWORD $A005
_KillIO OPWORD $A006
; File Manager
_GetVolInfo OPWORD $A007
_Create OPWORD $A008
_Delete OPWORD $A009
_OpenRF OPWORD $A00A
_Rename OPWORD $A00B
_GetFileInfo OPWORD $A00C
_SetFileInfo OPWORD $A00D
_UnmountVol OPWORD $A00E
_HUnmountVol OPWORD $A20E ; unconditional (ignores open files)
_MountVol OPWORD $A00F
_Allocate OPWORD $A010
_GetEOF OPWORD $A011
_SetEOF OPWORD $A012
_FlushVol OPWORD $A013
_GetVol OPWORD $A014
_SetVol OPWORD $A015
_FInitQueue OPWORD $A016
_Eject OPWORD $A017
_GetFPos OPWORD $A018
_SetFilLock OPWORD $A041
_RstFilLock OPWORD $A042
_SetFilType OPWORD $A043
_SetFPos OPWORD $A044
_FlushFile OPWORD $A045
_HOpen OPWORD $A200
_HGetVInfo OPWORD $A207
_HCreate OPWORD $A208
_HDelete OPWORD $A209
_HOpenRF OPWORD $A20A
_HRename OPWORD $A20B
_HGetFileInfo OPWORD $A20C
_HSetFileInfo OPWORD $A20D
_AllocContig OPWORD $A210
_HSetVol OPWORD $A215
_HGetVol OPWORD $A214
_HSetFLock OPWORD $A241
_HRstFLock OPWORD $A242
; dispatch trap for remaining File Manager (and Desktop Manager) calls
_FSDispatch OPWORD $A060
_HFSDispatch OPWORD $A260
; HFSDispatch selectors
selectFSControl EQU $0
selectOpenWD EQU $1
selectCloseWD EQU $2
selectCatMove EQU $5
selectDirCreate EQU $6
selectGetWDInfo EQU $7
selectGetFCBInfo EQU $8
selectGetCatInfo EQU $9
selectSetCatInfo EQU $A
selectSetVolInfo EQU $B
selectSetPMSP EQU $C
selectSetupWDCB EQU $D
selectSetupDef EQU $E
selectReadWDCB EQU $F
selectLockRng EQU $10
selectUnlockRng EQU $11
selectCreateFileIDRef EQU $14
selectDeleteFileIDRef EQU $15
selectResolveFileIDRef EQU $16
selectExchangeFiles EQU $17
selectCatSearch EQU $18
selectOpenDF EQU $1A
selectMakeFSSpec EQU $1B
selectDTGetPath EQU $20
selectDTCloseDown EQU $21
selectDTAddIcon EQU $22
selectDTGetIcon EQU $23
selectDTGetIconInfo EQU $24
selectDTAddAPPL EQU $25
selectDTRemoveAPPL EQU $26
selectDTGetAPPL EQU $27
selectDTSetComment EQU $28
selectDTRemoveComment EQU $29
selectDTGetComment EQU $2A
selectDTFlush EQU $2B
selectDTReset EQU $2C
selectDTGetInfo EQU $2D
selectDTOpenInform EQU $2E
selectDTDelete EQU $2F
selectGetVolParms EQU $30
selectGetLogInInfo EQU $31
selectGetDirAccess EQU $32
selectSetDirAccess EQU $33
selectMapID EQU $34
selectMapName EQU $35
selectCopyFile EQU $36
selectMoveRename EQU $37
selectOpenDeny EQU $38
selectOpenRFDeny EQU $39
selectGetXCatInfo EQU $3A
selectGetVolMountInfoSize EQU $3F
selectGetVolMountInfo EQU $40
selectVolumeMount EQU $41
selectGetForeignPrivs EQU $60
selectSetForeignPrivs EQU $61
; DoHFSDispatch supports both the "_trap async" and old-style "_trap ,async" call formats
; by using two parameters. hfsBit defaults to 1 (i.e. A260) but can be set zero (A060)
macro
DoHFSDispatch &selector,&async1,&async2,&hfsBit==newHFS
moveq.l #&selector,d0
_FSDispatch &hfsBit,&async1,&async2
endm
macro
_FSControl &async1,&async2
DoHFSDispatch selectFSControl,&async1,&async2
endm
macro
_OpenWD &async1,&async2
DoHFSDispatch selectOpenWD,&async1,&async2
endm
macro
_CloseWD &async1,&async2
DoHFSDispatch selectCloseWD,&async1,&async2
endm
macro
_CatMove &async1,&async2
DoHFSDispatch selectCatMove,&async1,&async2
endm
macro
_DirCreate &async1,&async2
DoHFSDispatch selectDirCreate,&async1,&async2
endm
macro
_GetWDInfo &async1,&async2
DoHFSDispatch selectGetWDInfo,&async1,&async2
endm
macro
_GetFCBInfo &async1,&async2
DoHFSDispatch selectGetFCBInfo,&async1,&async2
endm
macro
_GetCatInfo &async1,&async2
DoHFSDispatch selectGetCatInfo,&async1,&async2
endm
macro
_SetCatInfo &async1,&async2
DoHFSDispatch selectSetCatInfo,&async1,&async2
endm
macro
_SetVolInfo &async1,&async2
DoHFSDispatch selectSetVolInfo,&async1,&async2
endm
macro
_SetPMSP &async1,&async2
DoHFSDispatch selectSetPMSP,&async1,&async2
endm
macro
_SetupWDCB &async1,&async2
DoHFSDispatch selectSetupWDCB,&async1,&async2
endm
macro
_SetupDef &async1,&async2
DoHFSDispatch selectSetupDef,&async1,&async2
endm
macro
_ReadWDCB &async1,&async2
DoHFSDispatch selectReadWDCB,&async1,&async2
endm
macro
_LockRng &async1,&async2
DoHFSDispatch selectLockRng,&async1,&async2
endm
macro
_UnlockRng &async1,&async2
DoHFSDispatch selectUnlockRng,&async1,&async2
endm
macro
_CreateFileIDRef &async1,&async2
DoHFSDispatch selectCreateFileIDRef,&async1,&async2
endm
macro
_DeleteFileIDRef &async1,&async2
DoHFSDispatch selectDeleteFileIDRef,&async1,&async2
endm
macro
_ResolveFileIDRef &async1,&async2
DoHFSDispatch selectResolveFileIDRef,&async1,&async2
endm
macro
_ExchangeFiles &async1,&async2
DoHFSDispatch selectExchangeFiles,&async1,&async2
endm
macro
_CatSearch &async1,&async2
DoHFSDispatch selectCatSearch,&async1,&async2
endm
macro
_OpenDF &async1,&async2
DoHFSDispatch selectOpenDF,&async1,&async2,hfsBit=0
endm
macro
_HOpenDF &async1,&async2
DoHFSDispatch selectOpenDF,&async1,&async2
endm
macro
_MakeFSSpec &async1,&async2
DoHFSDispatch selectMakeFSSpec,&async1,&async2
endm
macro
_GetVolParms &async1,&async2
DoHFSDispatch selectGetVolParms,&async1,&async2
endm
macro
_GetLogInInfo &async1,&async2
DoHFSDispatch selectGetLogInInfo,&async1,&async2
endm
macro
_GetDirAccess &async1,&async2
DoHFSDispatch selectGetDirAccess,&async1,&async2
endm
macro
_SetDirAccess &async1,&async2
DoHFSDispatch selectSetDirAccess,&async1,&async2
endm
macro
_MapID &async1,&async2
DoHFSDispatch selectMapID,&async1,&async2
endm
macro
_MapName &async1,&async2
DoHFSDispatch selectMapName,&async1,&async2
endm
macro
_CopyFile &async1,&async2
DoHFSDispatch selectCopyFile,&async1,&async2
endm
macro
_MoveRename &async1,&async2
DoHFSDispatch selectMoveRename,&async1,&async2
endm
macro
_OpenDeny &async1,&async2
DoHFSDispatch selectOpenDeny,&async1,&async2
endm
macro
_OpenRFDeny &async1,&async2
DoHFSDispatch selectOpenRFDeny,&async1,&async2
endm
macro
_GetXCatInfo &async1,&async2
DoHFSDispatch selectGetXCatInfo,&async1,&async2
endm
macro
_GetVolMountInfoSize &async1,&async2
DoHFSDispatch selectGetVolMountInfoSize,&async1,&async2
endm
macro
_GetVolMountInfo &async1,&async2
DoHFSDispatch selectGetVolMountInfo,&async1,&async2
endm
macro
_VolumeMount &async1,&async2
DoHFSDispatch selectVolumeMount,&async1,&async2
endm
macro
_GetForeignPrivs &async1,&async2
DoHFSDispatch selectGetForeignPrivs,&async1,&async2
endm
macro
_SetForeignPrivs &async1,&async2
DoHFSDispatch selectSetForeignPrivs,&async1,&async2
endm
; Desktop Manager calls
macro
_DTGetPath &async1,&async2
DoHFSDispatch selectDTGetPath,&async1,&async2
endm
macro
_DTCloseDown &async1,&async2
DoHFSDispatch selectDTCloseDown,&async1,&async2
endm
macro
_DTAddIcon &async1,&async2
DoHFSDispatch selectDTAddIcon,&async1,&async2
endm
macro
_DTGetIcon &async1,&async2
DoHFSDispatch selectDTGetIcon,&async1,&async2
endm
macro
_DTGetIconInfo &async1,&async2
DoHFSDispatch selectDTGetIconInfo,&async1,&async2
endm
macro
_DTAddAPPL &async1,&async2
DoHFSDispatch selectDTAddAPPL,&async1,&async2
endm
macro
_DTRemoveAPPL &async1,&async2
DoHFSDispatch selectDTRemoveAPPL,&async1,&async2
endm
macro
_DTGetAPPL &async1,&async2
DoHFSDispatch selectDTGetAPPL,&async1,&async2
endm
macro
_DTSetComment &async1,&async2
DoHFSDispatch selectDTSetComment,&async1,&async2
endm
macro
_DTRemoveComment &async1,&async2
DoHFSDispatch selectDTRemoveComment,&async1,&async2
endm
macro
_DTGetComment &async1,&async2
DoHFSDispatch selectDTGetComment,&async1,&async2
endm
macro
_DTFlush &async1,&async2
DoHFSDispatch selectDTFlush,&async1,&async2
endm
macro
_DTReset &async1,&async2
DoHFSDispatch selectDTReset,&async1,&async2
endm
macro
_DTGetInfo &async1,&async2
DoHFSDispatch selectDTGetInfo,&async1,&async2
endm
macro
_DTOpenInform &async1,&async2
DoHFSDispatch selectDTOpenInform,&async1,&async2,hfsBit=0
endm
macro
_DTDelete &async1,&async2
DoHFSDispatch selectDTDelete,&async1,&async2,hfsBit=0
endm
; High level FSSpec calls
_HighLevelFSDispatch OPWORD $AA52
selectFSMakeFSSpec EQU $1
selectFSpOpenDF EQU $2
selectFSpOpenRF EQU $3
selectFSpCreate EQU $4
selectFSpDirCreate EQU $5
selectFSpDelete EQU $6
selectFSpGetFInfo EQU $7
selectFSpSetFInfo EQU $8
selectFSpSetFLock EQU $9
selectFSpRstFLock EQU $A
selectFSpRename EQU $B
selectFSpCatMove EQU $C
selectFSpOpenResFile EQU $D
selectFSpCreateResFile EQU $E
selectFSpExchangeFiles EQU $F
macro
_FSMakeFSSpec
DoDispatch _HighLevelFSDispatch,selectFSMakeFSSpec
endm
macro
_FSpOpenDF
DoDispatch _HighLevelFSDispatch,selectFSpOpenDF
endm
macro
_FSpOpenRF
DoDispatch _HighLevelFSDispatch,selectFSpOpenRF
endm
macro
_FSpCreate
DoDispatch _HighLevelFSDispatch,selectFSpCreate
endm
macro
_FSpDirCreate
DoDispatch _HighLevelFSDispatch,selectFSpDirCreate
endm
macro
_FSpDelete
DoDispatch _HighLevelFSDispatch,selectFSpDelete
endm
macro
_FSpGetFInfo
DoDispatch _HighLevelFSDispatch,selectFSpGetFInfo
endm
macro
_FSpSetFInfo
DoDispatch _HighLevelFSDispatch,selectFSpSetFInfo
endm
macro
_FSpSetFLock
DoDispatch _HighLevelFSDispatch,selectFSpSetFLock
endm
macro
_FSpRstFLock
DoDispatch _HighLevelFSDispatch,selectFSpRstFLock
endm
macro
_FSpRename
DoDispatch _HighLevelFSDispatch,selectFSpRename
endm
macro
_FSpCatMove
DoDispatch _HighLevelFSDispatch,selectFSpCatMove
endm
macro
_FSpOpenResFile
DoDispatch _HighLevelFSDispatch,selectFSpOpenResFile
endm
macro
_FSpCreateResFile
DoDispatch _HighLevelFSDispatch,selectFSpCreateResFile
endm
macro
_FSpExchangeFiles
DoDispatch _HighLevelFSDispatch,selectFSpExchangeFiles
endm
; Memory Manager
_InitZone OPWORD $A019
_GetZone OPWORD $A11A
_SetZone OPWORD $A01B
_FreeMem OPWORD $A01C
_MaxMem OPWORD $A11D
_NewPtr OPWORD $A11E
_DisposPtr OPWORD $A01F
_DisposePtr OPWORD $A01F
_SetPtrSize OPWORD $A020
_GetPtrSize OPWORD $A021
_NewHandle OPWORD $A122
_DisposHandle OPWORD $A023
_DisposeHandle OPWORD $A023
_SetHandleSize OPWORD $A024
_GetHandleSize OPWORD $A025
_HandleZone OPWORD $A126
_ReallocHandle OPWORD $A027
_RecoverHandle OPWORD $A128
_HLock OPWORD $A029
_HUnlock OPWORD $A02A
_EmptyHandle OPWORD $A02B
_InitApplZone OPWORD $A02C
_SetApplLimit OPWORD $A02D
_BlockMove OPWORD $A02E
_MemoryDispatch OPWORD $A05C
_MemoryDispatchA0Result OPWORD $A15C
_DeferUserFn OPWORD $A08F
_DebugUtil OPWORD $A08D
; Event Manager
_PostEvent OPWORD $A02F
_PPostEvent OPWORD $A12F ;preserves A0 on return
_OSEventAvail OPWORD $A030
_GetOSEvent OPWORD $A031
_FlushEvents OPWORD $A032
_VInstall OPWORD $A033
_VRemove OPWORD $A034
_OffLine OPWORD $A035
_MoreMasters OPWORD $A036
_WriteParam OPWORD $A038
_ReadDateTime OPWORD $A039
_SetDateTime OPWORD $A03A
_Delay OPWORD $A03B
_CmpString OPWORD $A03C
_DrvrInstall OPWORD $A03D
_DrvrRemove OPWORD $A03E
_InitUtil OPWORD $A03F
_ResrvMem OPWORD $A040
_GetTrapAddress OPWORD $A146
_SetTrapAddress OPWORD $A047
_PtrZone OPWORD $A148
_HPurge OPWORD $A049
_HNoPurge OPWORD $A04A
_SetGrowZone OPWORD $A04B
_CompactMem OPWORD $A04C
_PurgeMem OPWORD $A04D
_AddDrive OPWORD $A04E
_RDrvrInstall OPWORD $A04F
_LwrString OPWORD $A056
_UprString OPWORD $A054
_SetApplBase OPWORD $A057
_HwPriv OPWORD $A198
; New names for (mostly) new flavors of old LwrString trap (redone <13>)
_LowerText OPWORD $A056 ;changed from _LwrText <13>
_StripText OPWORD $A256
_UpperText OPWORD $A456 ;changed from _UprText <13>
_StripUpperText OPWORD $A656 ;changed from _StripUprText <13>
; Temporary Memory routines
_OSDispatch OPWORD $A88F ;Process Manager trap
selectTempMaxMem EQU $15
selectTempFreeMem EQU $18
selectTempNewHandle EQU $1D
selectTempHLock EQU $1E
selectTempHUnlock EQU $1F
selectTempDisposeHandle EQU $20
selectTempTopMem EQU $16
MACRO
_TempMaxMem
MOVE.W #selectTempMaxMem,-(SP)
_OSDispatch
ENDM
MACRO
_TempFreeMem
MOVE.W #selectTempFreeMem,-(SP)
_OSDispatch
ENDM
MACRO
_TempNewHandle
MOVE.W #selectTempNewHandle,-(SP)
_OSDispatch
ENDM
MACRO
_TempHLock
MOVE.W #selectTempHLock,-(SP)
_OSDispatch
ENDM
MACRO
_TempHUnlock
MOVE.W #selectTempHUnlock,-(SP)
_OSDispatch
ENDM
MACRO
_TempDisposeHandle
MOVE.W #selectTempDisposeHandle,-(SP)
_OSDispatch
ENDM
MACRO
_TempTopMem
MOVE.W #selectTempTopMem,-(SP)
_OSDispatch
ENDM
; Temporary Memory routines as they used to be named (before System 7.0)
selectMFMaxMem EQU 21
selectMFFreeMem EQU 24
selectMFTempNewHandle EQU 29
selectMFTempHLock EQU 30
selectMFTempHUnlock EQU 31
selectMFTempDisposeHandle EQU 32
MACRO
_MFMaxMem
MOVE.W #selectMFMaxMem,-(SP)
_OSDispatch
ENDM
MACRO
_MFFreeMem
MOVE.W #selectMFFreeMem,-(SP)
_OSDispatch
ENDM
MACRO
_MFTempNewHandle
MOVE.W #selectMFTempNewHandle,-(SP)
_OSDispatch
ENDM
MACRO
_MFTempHLock
MOVE.W #selectMFTempHLock,-(SP)
_OSDispatch
ENDM
MACRO
_MFTempHUnlock
MOVE.W #selectMFTempHUnlock,-(SP)
_OSDispatch
ENDM
MACRO
_MFTempDisposHandle
MOVE.W #selectMFTempDisposeHandle,-(SP)
_OSDispatch
ENDM
MACRO
_MFTempDisposeHandle
MOVE.W #selectMFTempDisposeHandle,-(SP)
_OSDispatch
ENDM
; low-level memory control calls
selectHoldMemory EQU 0
selectUnholdMemory EQU 1
selectLockMemory EQU 2
selectLockMemoryContiguous EQU 4
selectUnlockMemory EQU 3
selectGetPhysical EQU 5
selectDebuggerGetMax EQU 0
selectDebuggerEnter EQU 1
selectDebuggerExit EQU 2
selectDebuggerPoll EQU 3
selectGetPageState EQU 4
selectPageFaultFatal EQU 5
selectDebuggerLockMemory EQU 6
selectDebuggerUnlockMemory EQU 7
selectEnterSupervisorMode EQU 8
MACRO
_HoldMemory
DoDispatch _MemoryDispatch,selectHoldMemory
ENDM
MACRO
_UnholdMemory
DoDispatch _MemoryDispatch,selectUnholdMemory
ENDM
MACRO
_LockMemory
DoDispatch _MemoryDispatch,selectLockMemory
ENDM
MACRO
_LockMemoryContiguous
DoDispatch _MemoryDispatch,selectLockMemoryContiguous
ENDM
MACRO
_UnlockMemory
DoDispatch _MemoryDispatch,selectUnlockMemory
ENDM
MACRO
_GetPhysical
DoDispatch _MemoryDispatchA0Result,selectGetPhysical
ENDM
; DebugUtil calls
MACRO
_DebuggerGetMax
DoDispatch _DebugUtil,selectDebuggerGetMax
ENDM
MACRO
_DebuggerEnter
DoDispatch _DebugUtil,selectDebuggerEnter
ENDM
MACRO
_DebuggerExit
DoDispatch _DebugUtil,selectDebuggerExit
ENDM
MACRO
_DebuggerPoll
DoDispatch _DebugUtil,selectDebuggerPoll
ENDM
MACRO
_GetPageState
DoDispatch _DebugUtil,selectGetPageState
ENDM
MACRO
_PageFaultFatal
DoDispatch _DebugUtil,selectPageFaultFatal
ENDM
MACRO
_DebuggerLockMemory
DoDispatch _DebugUtil,selectDebuggerLockMemory
ENDM
MACRO
_DebuggerUnlockMemory
DoDispatch _DebugUtil,selectDebuggerUnlockMemory
ENDM
MACRO
_EnterSupervisorMode
DoDispatch _DebugUtil,selectEnterSupervisorMode
ENDM
_RelString OPWORD $A050
_ReadXPRam OPWORD $A051
_WriteXPRam OPWORD $A052
_InsTime OPWORD $A058
_InsXTime OPWORD $A458
_RmvTime OPWORD $A059
_PrimeTime OPWORD $A05A
_PowerOff OPWORD $A05B
_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
_StripAddress OPWORD $A055
_SetAppBase OPWORD $A057
_SwapMMUMode OPWORD $A05D
_SlotVInstall OPWORD $A06F
_SlotVRemove OPWORD $A070
_AttachVBL OPWORD $A071
_DoVBLTask OPWORD $A072
_SIntInstall OPWORD $A075
_SIntRemove OPWORD $A076
_CountADBs OPWORD $A077
_GetIndADB OPWORD $A078
_GetADBInfo OPWORD $A079
_SetADBInfo OPWORD $A07A
_ADBReInit OPWORD $A07B
_ADBOp OPWORD $A07C
_GetDefaultStartup OPWORD $A07D
_SetDefaultStartup OPWORD $A07E
_InternalWait OPWORD $A07F
_RGetResource OPWORD $A80C
_GetVideoDefault OPWORD $A080
_SetVideoDefault OPWORD $A081
_DTInstall OPWORD $A082
_SetOSDefault OPWORD $A083
_GetOSDefault OPWORD $A084
_IOPInfoAccess OPWORD $A086
_IOPMsgRequest OPWORD $A087
_IOPMoveData OPWORD $A088
; Power Manager
_PMgrOp OPWORD $A085
_IdleUpdate OPWORD $A285
_IdleState OPWORD $A485
_SerialPower OPWORD $A685
_Sleep OPWORD $A08A
_SlpQInstall OPWORD $A28A
_SlpQRemove OPWORD $A48A
; Comm. Toolbox
_CommToolboxDispatch OPWORD $A08B
_SysEnvirons OPWORD $A090
; Egret Manager
_EgretDispatch OPWORD $A092 ; <10>
_Gestalt OPWORD $A1AD
_NewGestalt OPWORD $A3AD ; <1.7>
_ReplaceGestalt OPWORD $A5AD ; <1.7>
_GetGestaltProcPtr OPWORD $A7AD ; <37>
_InitProcMenu OPWORD $A808
_GetItemCmd OPWORD $A84E
_SetItemCmd OPWORD $A84F
_PopUpMenuSelect OPWORD $A80B
_KeyTrans OPWORD $A9C3
MACRO
_GetTimeOut
suba.l a0,a0
_InternalWait
ENDM
MACRO
_SetTimeOut
MOVEA.W #1,A0
_InternalWait
ENDM
; TextEdit
_TEGetText OPWORD $A9CB
_TEInit OPWORD $A9CC
_TEDispose OPWORD $A9CD
_TextBox OPWORD $A9CE
_TESetText OPWORD $A9CF
_TECalText OPWORD $A9D0
_TESetSelect OPWORD $A9D1
_TENew OPWORD $A9D2
_TEUpdate OPWORD $A9D3
_TEClick OPWORD $A9D4
_TECopy OPWORD $A9D5
_TECut OPWORD $A9D6
_TEDelete OPWORD $A9D7
_TEActivate OPWORD $A9D8
_TEDeactivate OPWORD $A9D9
_TEIdle OPWORD $A9DA
_TEPaste OPWORD $A9DB
_TEKey OPWORD $A9DC
_TEScroll OPWORD $A9DD
_TEInsert OPWORD $A9DE
_TESetJust OPWORD $A9DF
_TEGetOffset OPWORD $A83C
_TEDispatch OPWORD $A83D
_TEStyleNew OPWORD $A83E
; Color Quickdraw
_OpenCPort OPWORD $AA00
_InitCPort OPWORD $AA01
_CloseCPort OPWORD $A87D ; CloseCPort is actually $AA02, but should never be used
_NewPixMap OPWORD $AA03
_DisposPixMap OPWORD $AA04
_DisposePixMap OPWORD $AA04
_CopyPixMap OPWORD $AA05
_SetPortPix OPWORD $AA06
_NewPixPat OPWORD $AA07
_DisposPixPat OPWORD $AA08
_DisposePixPat OPWORD $AA08
_CopyPixPat OPWORD $AA09
_PenPixPat OPWORD $AA0A
_BackPixPat OPWORD $AA0B
_GetPixPat OPWORD $AA0C
_MakeRGBPat OPWORD $AA0D
_FillCRect OPWORD $AA0E
_FillCOval OPWORD $AA0F
_FillCRoundRect OPWORD $AA10
_FillCArc OPWORD $AA11
_FillCRgn OPWORD $AA12
_FillCPoly OPWORD $AA13
_RGBForeColor OPWORD $AA14
_RGBBackColor OPWORD $AA15
_SetCPixel OPWORD $AA16
_GetCPixel OPWORD $AA17
_GetCTable OPWORD $AA18
_GetForeColor OPWORD $AA19
_GetBackColor OPWORD $AA1A
_GetCCursor OPWORD $AA1B
_SetCCursor OPWORD $AA1C
_AllocCursor OPWORD $AA1D
_GetCIcon OPWORD $AA1E
_PlotCIcon OPWORD $AA1F
_OpenCPicture OPWORD $AA20
_OpColor OPWORD $AA21
_HiliteColor OPWORD $AA22
_CharExtra OPWORD $AA23
_DisposCTable OPWORD $AA24
_DisposeCTable OPWORD $AA24
_DisposCIcon OPWORD $AA25
_DisposeCIcon OPWORD $AA25
_DisposCCursor OPWORD $AA26
_DisposeCCursor OPWORD $AA26
_SeedCFill OPWORD $AA50
_CalcCMask OPWORD $AA4F
_CopyDeepMask OPWORD $AA51
; Routines for video devices
_GetMaxDevice OPWORD $AA27
_GetCTSeed OPWORD $AA28
_GetDeviceList OPWORD $AA29
_GetMainDevice OPWORD $AA2A
_GetNextDevice OPWORD $AA2B
_TestDeviceAttribute OPWORD $AA2C
_SetDeviceAttribute OPWORD $AA2D
_InitGDevice OPWORD $AA2E
_NewGDevice OPWORD $AA2F
_DisposGDevice OPWORD $AA30
_DisposeGDevice OPWORD $AA30
_SetGDevice OPWORD $AA31
_GetGDevice OPWORD $AA32
_DeviceLoop OPWORD $ABCA
; Color Manager
_Color2Index OPWORD $AA33
_Index2Color OPWORD $AA34
_InvertColor OPWORD $AA35
_RealColor OPWORD $AA36
_GetSubTable OPWORD $AA37
_UpdatePixMap OPWORD $AA38
; Dialog Manager
_NewCDialog OPWORD $AA4B
_MakeITable OPWORD $AA39
_AddSearch OPWORD $AA3A
_AddComp OPWORD $AA3B
_SetClientID OPWORD $AA3C
_ProtectEntry OPWORD $AA3D
_ReserveEntry OPWORD $AA3E
_SetEntries OPWORD $AA3F
_QDError OPWORD $AA40
_SaveEntries OPWORD $AA49
_RestoreEntries OPWORD $AA4A
_DelSearch OPWORD $AA4C
_DelComp OPWORD $AA4D
_SetStdCProcs OPWORD $AA4E
_StdOpcodeProc OPWORD $ABF8
; added to Toolbox for color
_SetWinColor OPWORD $AA41
_GetAuxWin OPWORD $AA42
_SetCtlColor OPWORD $AA43
_GetAuxCtl OPWORD $AA44
_NewCWindow OPWORD $AA45
_GetNewCWindow OPWORD $AA46
_SetDeskCPat OPWORD $AA47
_GetCWMgrPort OPWORD $AA48
_GetCVariant OPWORD $A809
_GetWVariant OPWORD $A80A
; added to Menu Manager for color
_DelMCEntries OPWORD $AA60
_GetMCInfo OPWORD $AA61
_SetMCInfo OPWORD $AA62
_DispMCInfo OPWORD $AA63
_GetMCEntry OPWORD $AA64
_SetMCEntries OPWORD $AA65
; Menu Manager
_MenuChoice OPWORD $AA66
; Dialog Manager?
_ModalDialogMenuSetup OPWORD $AA67
_DialogDispatch OPWORD $AA68
; Font Manager
_SetFractEnable OPWORD $A814
_FontDispatch OPWORD $A854
selectIsOutline EQU 0
selectSetOutlinePreferred EQU 1
selectGetOutlinePreferred EQU 9
selectOutlineMetrics EQU 8
selectSetPreserveGlyph EQU $A
selectGetPreserveGlyph EQU $B
selectFlushFonts EQU $C
MACRO
_IsOutline
DoDispatch _FontDispatch,selectIsOutline
ENDM
MACRO
_SetOutlinePreferred
DoDispatch _FontDispatch,selectSetOutlinePreferred
ENDM
MACRO
_GetOutlinePreferred
DoDispatch _FontDispatch,selectGetOutlinePreferred
ENDM
MACRO
_OutlineMetrics
DoDispatch _FontDispatch,selectOutlineMetrics
ENDM
MACRO
_SetPreserveGlyph
DoDispatch _FontDispatch,selectSetPreserveGlyph
ENDM
MACRO
_GetPreserveGlyph
DoDispatch _FontDispatch,selectGetPreserveGlyph
ENDM
MACRO
_FlushFonts
DoDispatch _FontDispatch,selectFlushFonts
ENDM
; Palette Manager
_InitPalettes OPWORD $AA90
_NewPalette OPWORD $AA91
_GetNewPalette OPWORD $AA92
_DisposePalette OPWORD $AA93
_ActivatePalette OPWORD $AA94
_SetPalette OPWORD $AA95
_GetPalette OPWORD $AA96
_PmForeColor OPWORD $AA97
_PmBackColor OPWORD $AA98
_AnimateEntry OPWORD $AA99
_AnimatePalette OPWORD $AA9A
_GetEntryColor OPWORD $AA9B
_SetEntryColor OPWORD $AA9C
_GetEntryUsage OPWORD $AA9D
_SetEntryUsage OPWORD $AA9E
_CTab2Palette OPWORD $AA9F
_Palette2CTab OPWORD $AAA0
_CopyPalette OPWORD $AAA1
_PaletteDispatch OPWORD $AAA2
; PaletteDispatch selectors
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
_Entry2Index
DoDispatch _PaletteDispatch,selectEntry2Index,0
ENDM
MACRO
_RestoreDeviceClut
DoDispatch _PaletteDispatch,selectRestoreDeviceClut,0
ENDM
MACRO
_ResizePalette
DoDispatch _PaletteDispatch,selectResizePalette,0
ENDM
MACRO
_ZapLinks
DoDispatch _PaletteDispatch,selectZapLinks,0
ENDM
MACRO
_WhatPal
DoDispatch _PaletteDispatch,selectWhatPal,4
ENDM
MACRO
_DeltaRGB
DoDispatch _PaletteDispatch,selectDeltaRGB,8
ENDM
MACRO
_NewHiliteColor
DoDispatch _PaletteDispatch,selectNewHiliteColor,0
ENDM
MACRO
_PMgrExit
DoDispatch _PaletteDispatch,selectPMgrExit,0
ENDM
MACRO
_SaveFore
DoDispatch _PaletteDispatch,selectSaveFore,4
ENDM
MACRO
_SaveBack
DoDispatch _PaletteDispatch,selectSaveBack,4
ENDM
MACRO
_RestoreFore
DoDispatch _PaletteDispatch,selectRestoreFore,4
ENDM
MACRO
_RestoreBack
DoDispatch _PaletteDispatch,selectRestoreBack,4
ENDM
MACRO
_ReleaseList
DoDispatch _PaletteDispatch,selectReleaseList,4
ENDM
MACRO
_SetDepth
DoDispatch _PaletteDispatch,selectSetDepth,10
ENDM
MACRO
_HasDepth
DoDispatch _PaletteDispatch,selectHasDepth,10
ENDM
MACRO
_PMgrVersion
DoDispatch _PaletteDispatch,selectPMgrVersion,0
ENDM
MACRO
_SetPaletteUpdates
DoDispatch _PaletteDispatch,selectSetPaletteUpdates,6
ENDM
MACRO
_CheckColors
DoDispatch _PaletteDispatch,selectCheckColors,12
ENDM
MACRO
_GetGray
DoDispatch _PaletteDispatch,selectGetGray,12
ENDM
; Sound Manager
_SoundDispatch OPWORD $A800
_SndDisposeChannel OPWORD $A801
_SndAddModifier OPWORD $A802
_SndDoCommand OPWORD $A803
_SndDoImmediate OPWORD $A804
_SndPlay OPWORD $A805
_SndControl OPWORD $A806
_SndNewChannel OPWORD $A807
MACRO
_SndSoundManagerVersion
MOVE.L #$000C0008,D0
_SoundDispatch
ENDM
MACRO
_SndStartFilePlay
MOVE.L #$0D000008,D0
_SoundDispatch
ENDM
MACRO
_SndPauseFilePlay
MOVE.L #$02040008,D0
_SoundDispatch
ENDM
MACRO
_SndStopFilePlay
MOVE.L #$03080008,D0
_SoundDispatch
ENDM
MACRO
_SndChannelStatus
MOVE.L #$00100008,D0
_SoundDispatch
ENDM
MACRO
_SndManagerStatus
MOVE.L #$00140008,D0
_SoundDispatch
ENDM
MACRO
_SndGetSysBeepState
MOVE.L #$00180008,D0
_SoundDispatch
ENDM
MACRO
_SndSetSysBeepState
MOVE.L #$001C0008,D0
_SoundDispatch
ENDM
MACRO
_SndPlayDoubleBuffer
MOVE.L #$00200008,D0
_SoundDispatch
ENDM
MACRO
_SndGetBufferStufferLoad
MOVE.L #$00240008,D0
_SoundDispatch
ENDM
MACRO
_SndGetMixerLoad
MOVE.L #$00280008,D0
_SoundDispatch
ENDM
MACRO
_MACEVersion
MOVE.L #$00000010,D0
_SoundDispatch
ENDM
MACRO
_Comp3to1
MOVE.L #$00040010,D0
_SoundDispatch
ENDM
MACRO
_Exp1to3
MOVE.L #$00080010,D0
_SoundDispatch
ENDM
MACRO
_Comp6to1
MOVE.L #$000C0010,D0
_SoundDispatch
ENDM
MACRO
_Exp1to6
MOVE.L #$00100010,D0
_SoundDispatch
ENDM
MACRO
_SPBVersion
MOVE.L #$00000014,D0
_SoundDispatch
ENDM
MACRO
_SndRecord
MOVE.L #$08040014,D0
_SoundDispatch
ENDM
MACRO
_SndRecordToFile
MOVE.L #$07080014,D0
_SoundDispatch
ENDM
MACRO
_SPBSignInDevice
MOVE.L #$030C0014,D0
_SoundDispatch
ENDM
MACRO
_SPBSignOutDevice
MOVE.L #$01100014,D0
_SoundDispatch
ENDM
MACRO
_SPBGetIndexedDevice
MOVE.L #$05140014,D0
_SoundDispatch
ENDM
MACRO
_SPBOpenDevice
MOVE.L #$05180014,D0
_SoundDispatch
ENDM
MACRO
_SPBCloseDevice
MOVE.L #$021C0014,D0
_SoundDispatch
ENDM
MACRO
_SPBRecord
MOVE.L #$03200014,D0
_SoundDispatch
ENDM
MACRO
_SPBRecordToFile
MOVE.L #$04240014,D0
_SoundDispatch
ENDM
MACRO
_SPBPauseRecording
MOVE.L #$02280014,D0
_SoundDispatch
ENDM
MACRO
_SPBResumeRecording
MOVE.L #$022C0014,D0
_SoundDispatch
ENDM
MACRO
_SPBStopRecording
MOVE.L #$02300014,D0
_SoundDispatch
ENDM
MACRO
_SPBGetRecordingStatus
MOVE.L #$0E340014,D0
_SoundDispatch
ENDM
MACRO
_SPBGetDeviceInfo
MOVE.L #$06380014,D0
_SoundDispatch
ENDM
MACRO
_SPBSetDeviceInfo
MOVE.L #$063C0014,D0
_SoundDispatch
ENDM
MACRO
_SPBMilliSecondsToBytes
MOVE.L #$04400014,D0
_SoundDispatch
ENDM
MACRO
_SPBBytesToMilliSeconds
MOVE.L #$04440014,D0
_SoundDispatch
ENDM
MACRO
_SetupSndHeader
MOVE.L #$0D480014,D0
_SoundDispatch
ENDM
MACRO
_SetupAIFFHeader
MOVE.L #$0B4C0014,D0
_SoundDispatch
ENDM
_SlotManager OPWORD $A06E
_ScriptUtil OPWORD $A8B5
_SCSIDispatch OPWORD $A815
_Long2Fix OPWORD $A83F
_Fix2Long OPWORD $A840
_Fix2Frac OPWORD $A841
_Frac2Fix OPWORD $A842
_Fix2X OPWORD $A843
_X2Fix OPWORD $A844
_Frac2X OPWORD $A845
_X2Frac OPWORD $A846
_NMInstall OPWORD $A05E
_NMRemove OPWORD $A05F
; All QDOffscreen Routines go through one trap with a selector
_QDExtensions OPWORD $AB1D
selectNewGWorld EQU $00160000
selectLockPixels EQU $00040001
selectUnlockPixels EQU $00040002
selectUpdateGWorld EQU $00160003
selectDisposeGWorld EQU $00040004
selectGetGWorld EQU $00080005
selectSetGWorld EQU $00080006
selectCTabChanged EQU $00040007
selectPixPatChanged EQU $00040008
selectPortChanged EQU $00040009
selectGDeviceChanged EQU $0004000a
selectAllowPurgePixels EQU $0004000b
selectNoPurgePixels EQU $0004000c
selectGetPixelsState EQU $0004000d
selectSetPixelsState EQU $0008000e
selectGetPixBaseAddr EQU $0004000f
selectNewScreenBuffer EQU $000e0010
selectDisposeScreenBuffer EQU $00040011
selectGetGWorldDevice EQU $00040012
selectQDDone EQU $00040013
selectOffscreenVersion EQU $00000014
selectNewTempScreenBuffer EQU $000e0015
selectPixMap32Bit EQU $00040016
selectGetGWorldPixMap EQU $00040017
MACRO
DoQDExtensionsDispatch &selector
lcla &value
&value: seta &eval(&selector)
move.l #&value,d0
_QDExtensions
ENDM
MACRO
_NewGWorld
DoQDExtensionsDispatch selectNewGWorld
ENDM
MACRO
_LockPixels
DoQDExtensionsDispatch selectLockPixels
ENDM
MACRO
_UnlockPixels
DoQDExtensionsDispatch selectUnlockPixels
ENDM
MACRO
_UpdateGWorld
DoQDExtensionsDispatch selectUpdateGWorld
ENDM
MACRO
_DisposeGWorld
DoQDExtensionsDispatch selectDisposeGWorld
ENDM
MACRO
_GetGWorld
DoQDExtensionsDispatch selectGetGWorld
ENDM
MACRO
_SetGWorld
DoQDExtensionsDispatch selectSetGWorld
ENDM
MACRO
_CTabChanged
DoQDExtensionsDispatch selectCTabChanged
ENDM
MACRO
_PixPatChanged
DoQDExtensionsDispatch selectPixPatChanged
ENDM
MACRO
_PortChanged
DoQDExtensionsDispatch selectPortChanged
ENDM
MACRO
_GDeviceChanged
DoQDExtensionsDispatch selectGDeviceChanged
ENDM
MACRO
_AllowPurgePixels
DoQDExtensionsDispatch selectAllowPurgePixels
ENDM
MACRO
_NoPurgePixels
DoQDExtensionsDispatch selectNoPurgePixels
ENDM
MACRO
_GetPixelsState
DoQDExtensionsDispatch selectGetPixelsState
ENDM
MACRO
_SetPixelsState
DoQDExtensionsDispatch selectSetPixelsState
ENDM
MACRO
_GetPixBaseAddr
DoQDExtensionsDispatch selectGetPixBaseAddr
ENDM
MACRO
_NewScreenBuffer
DoQDExtensionsDispatch selectNewScreenBuffer
ENDM
MACRO
_DisposeScreenBuffer
DoQDExtensionsDispatch selectDisposeScreenBuffer
ENDM
MACRO
_GetGWorldDevice
DoQDExtensionsDispatch selectGetGWorldDevice
ENDM
MACRO
_QDDone
DoQDExtensionsDispatch selectQDDone
ENDM
MACRO
_OffscreenVersion
moveq #selectOffscreenVersion,d0
_QDExtensions
ENDM
MACRO
_NewTempScreenBuffer
DoQDExtensionsDispatch selectNewTempScreenBuffer
ENDM
MACRO
_Pixmap32Bit
DoQDExtensionsDispatch selectPixmap32Bit
ENDM
MACRO
_GetGWorldPixMap
DoQDExtensionsDispatch selectGetGWorldPixMap
ENDM
; Calls to symbolic debugger or MacsBug
MACRO
_SysBreak
MOVE.W #-490, D0
_SysError
ENDM
MACRO
_SysBreakStr
MOVE.W #-491, D0
_SysError
ENDM
MACRO
_SysBreakFunc
MOVE.W #-492, D0
_SysError
ENDM
; HwPriv macros
MACRO
_DisableInstructionCache
moveq #0,d0
movea.l d0,a0
_HwPriv
ENDM
MACRO
_EnableInstructionCache
moveq #0,d0
movea.w #1,a0
_HwPriv
ENDM
MACRO
_FlushInstructionCache
moveq #1,d0
_HwPriv
ENDM
MACRO
_DisableDataCache
moveq #2,d0
suba.l a0,a0
_HwPriv
ENDM
MACRO
_EnableDataCache
moveq #2,d0
movea.l d0,a0
_HwPriv
ENDM
MACRO
_FlushDataCache
moveq #3,d0
_HwPriv
ENDM
; UserDelay
_UserDelay OPWORD $A84C
selectScrollDelay EQU 0
paramWordsScrollDelay EQU 5
MACRO
_ScrollDelay
DoDispatch _UserDelay,selectScrollDelay,paramWordsScrollDelay
ENDM
; Picture Utilities
selectGetPictInfo EQU 0
paramWordsGetPictInfo EQU 8
selectGetPixMapInfo EQU 1
paramWordsGetPixMapInfo EQU 8
selectNewPictInfo EQU 2
paramWordsNewPictInfo EQU 6
selectRecordPictInfo EQU 3
paramWordsRecordPictInfo EQU 4
selectRecordPixMapInfo EQU 4
paramWordsRecordPixMapInfo EQU 4
selectRetrievePictInfo EQU 5
paramWordsRetrievePictInfo EQU 5
selectDisposePictInfo EQU 6
paramWordsDisposePictInfo EQU 2
MACRO
_GetPictInfo
DoDispatch _Pack15,selectGetPictInfo,paramWordsGetPictInfo
ENDM
MACRO
_GetPixMapInfo
DoDispatch _Pack15,selectGetPixMapInfo,paramWordsGetPixMapInfo
ENDM
MACRO
_NewPictInfo
DoDispatch _Pack15,selectNewPictInfo,paramWordsNewPictInfo
ENDM
MACRO
_RecordPictInfo
DoDispatch _Pack15,selectRecordPictInfo,paramWordsRecordPictInfo
ENDM
MACRO
_RecordPixMapInfo
DoDispatch _Pack15,selectRecordPixMapInfo,paramWordsRecordPixMapInfo
ENDM
MACRO
_RetrievePictInfo
DoDispatch _Pack15,selectRetrievePictInfo,paramWordsRetrievePictInfo
ENDM
MACRO
_DisposPictInfo
DoDispatch _Pack15,selectDisposePictInfo,paramWordsDisposePictInfo
ENDM
MACRO
_DisposePictInfo
DoDispatch _Pack15,selectDisposePictInfo,paramWordsDisposePictInfo
ENDM
ENDIF ; already included...