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

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

365 lines
9.6 KiB
Plaintext

;
; File: TerminalMgr.a
;
; Written by: Byron Han
;
; Copyright: © 1988-1990 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <3> 8/23/90 kaz Changed BRA table to an offset table
; <2> 7/10/90 dba change names of routines so they do not conflict with glue to
; call the same routines
; <1> 3/14/90 BBH first checked in
;
; MODIFICATION HISTORY :
; 8/1/88 1.0D1
;
; 4/6/89 BBH renamed TMGetTermName to TMGetToolName
; 4/11/89 JNG Removed TMGetRefCon, TMSetRefCon, TMSetUserData, TMGetUserData,
; and TMGetVersion these are now in the CTBCore routines.
; 4/17/89 JNG Moved TMDefault and TMValidate into Core.
; 4/20/89 BBH Moved scripting, localization, and choose, and setup code into core
; 4/24/89 JNG Moved TMResume TMMenu TMEvent TMActivate TMReset TMIdle to CTBCore
; BBH Changed TMGetTermEnvirons to return short
; Added environsProc to TMNew
; 3 May 1989 BBH Changed TMGetSelect to pass back length as function result
; 9 May 1989 BBH Changed TMStream to take flags as parameter
; Bug in TMAddSearch was a missing RTS instruction
; 31 May 1989 JNG New Glue/Entry interface
; 2 June 1989 JNG Finished Glue
; 6/7/89 kaz Made TMGetLine a procedure instead of a function
; 6/26/89 BBH Added TMPChoose, TMPeekLine routines
; 8/14/89 BBH Added constant curTMversion
;
INCLUDE 'Traps.a'
INCLUDE 'Terminals.a'
INCLUDE 'CommToolboxPriv.a'
MACRO
_ExternalCore &selector
_RealExternalCore &selector,#TMSel
ENDM
;
; A0.L -> pointer to the routine selector record
; D0.L -> function result
;
TMEntry MAIN EXPORT
IMPORT __InitTM, __TMNew, __TMDispose, __TMKey, __TMUpdate, __TMPaint,\
__TMActivate, __TMClick, __TMStream,\
__TMReset, __TMClear, __TMResize, __TMGetSelect, __TMGetLine, \
__TMPeekLine, \
__TMSetSelection, __TMScroll, __TMIdle,\
__TMGetTMVersion, __TMAddSearch, __TMRemoveSearch, \
__TMClearSearch, __TMGetCursor, __TMGetTermEnvirons,\
__TMDoTermKey, __TMCountTermKeys, __TMGetIndTermKey, \
__TMGetErrorString;
BRA.S RealEntry
Version
DC.W curTMversion ; version 1
RealEntry
MOVE.W (A0), D1 ; routine selector
ANDI.W #$FF, D1 ; bump the high byte
SUB.W #1, D1 ; make it 0 based
ADD.W D1, D1 ; 2 bytes per offset
LEA TMStart, A1 ; point to offset table
ADD.W 0(A1,D1.W), A1 ; add the offset
JMP (A1) ; go there
TMStart
DC.W @InitTM - TMStart; 1
DC.W @TMNew - TMStart; 2
DC.W @TMDispose - TMStart; 3
DC.W @TMKey - TMStart; 4
DC.W @TMUpdate - TMStart; 5
DC.W @TMPaint - TMStart; 6
DC.W @TMActivate - TMStart; 7
DC.W @TMResume - TMStart; 8
DC.W @TMClick - TMStart; 9
DC.W @TMStream - TMStart; A
DC.W @TMMenu - TMStart; B
DC.W @TMReset - TMStart; C
DC.W @TMClear - TMStart; D
DC.W @TMResize - TMStart; E
DC.W @TMGetSelect - TMStart; F
DC.W @TMGetLine - TMStart; 10
DC.W @TMSetSelection - TMStart; 11
DC.W @TMScroll - TMStart; 12
DC.W @TMIdle - TMStart; 13
DC.W @TMValidate - TMStart; 14
DC.W @TMDefault - TMStart; 15
DC.W @TMSetupPreflight - TMStart; 16
DC.W @TMSetupSetup - TMStart; 17
DC.W @TMSetupFilter - TMStart; 18
DC.W @TMSetupItem - TMStart; 19
DC.W @TMSetupCleanup - TMStart; 1A
DC.W @TMGetConfig - TMStart; 1B
DC.W @TMSetConfig - TMStart; 1C
DC.W @TMIntlToEnglish - TMStart; 1D
DC.W @TMEnglishToIntl - TMStart; 1E
DC.W @TMGetProcID - TMStart; 1F
DC.W @TMGetToolName - TMStart; 20
DC.W @TMSetRefCon - TMStart; 21
DC.W @TMGetRefCon - TMStart; 22
DC.W @TMSetUserData - TMStart; 23
DC.W @TMGetUserData - TMStart; 24
DC.W @TMGetVersion - TMStart; 25
DC.W @TMGetTMVersion - TMStart; 26
DC.W @TMAddSearch - TMStart; 27
DC.W @TMRemoveSearch - TMStart; 28
DC.W @TMClearSearch - TMStart; 29
DC.W @TMGetCursor - TMStart; 2A
DC.W @TMGetTermEnvirons - TMStart; 2B
DC.W @TMChoose - TMStart; 2C
DC.W @TMEvent - TMStart; 2D
DC.W @TMDoTermKey - TMStart; 2E
DC.W @TMCountTermKeys - TMStart; 2F
DC.W @TMGetIndTermKey - TMStart; 30
DC.W @TMSetupPostflight - TMStart; 31
DC.W @TMPeekLine - TMStart; 32
DC.W @TMPChoose - TMStart; 33
DC.W @TMSetupXCleanup - TMStart; 34
DC.W @TMGetErrorString - TMStart; 35
@InitTM CLR.W -(SP) ; 0x01
JSR __InitTM
MOVE.W (SP)+,D0
RTS
@TMSetRefCon ; 258
_ExternalCore #$40A
@TMGetRefCon ; 259
_ExternalCore #$40B
@TMSetUserData ; 260
_ExternalCore #$40C
@TMGetUserData ; 261
_ExternalCore #$40D
@TMGetVersion ; 0x25
_ExternalCore #$40E
@TMGetToolName ; 0x20
_ExternalCore #$40F
@TMValidate ; 0x14
_ExternalCore #$410
@TMDefault ; 0x15
_ExternalCore #$411
@TMSetupPreflight
_ExternalCore #$412
@TMSetupSetup
_ExternalCore #$413
@TMSetupFilter
_ExternalCore #$415
@TMSetupItem
_ExternalCore #$414
@TMSetupCleanup
_ExternalCore #$416
@TMSetupXCleanup
_ExternalCore #$427
@TMSetupPostflight
_ExternalCore #$417
@TMGetConfig
_ExternalCore #$418
@TMSetConfig
_ExternalCore #$419
@TMIntlToEnglish
_ExternalCore #$41A
@TMEnglishToIntl
_ExternalCore #$41B
@TMChoose
_ExternalCore #$41C
@TMPChoose
_ExternalCore #$426
@TMGetProcID
_ExternalCore #$41D
@TMResume
_ExternalCore #$41E
@TMMenu
_ExternalCore #$41F
@TMEvent
_ExternalCore #$420
@TMActivate
_ExternalCore #$421
@TMIdle
_ExternalCore #$422
@TMReset
_ExternalCore #$424
@TMGetErrorString
_ExternalCore #$428
@TMNew ; 0x02
CLR.L -(SP) ; make room
MOVE.L 44(A0), -(SP) ; termRect
MOVE.L 40(A0), -(SP) ; viewRect
MOVE.L 36(A0), -(SP) ; flags
MOVE.W 34(A0), -(SP) ; procID
MOVE.L 30(A0), -(SP) ; owner
MOVE.L 26(A0), -(SP) ; sendProc
MOVE.L 22(A0), -(SP) ; cacheProc
MOVE.L 18(A0), -(SP) ; breakProc
MOVE.L 14(A0), -(SP) ; clikLoop
MOVE.L 10(A0), -(SP) ; environsProc
MOVE.L 6(A0), -(SP) ; refCon
MOVE.L 2(A0), -(SP) ; userData
JSR __TMNew
MOVE.L (SP)+, D0
RTS
@TMDispose ; 0x03
MOVE.L 2(A0), -(SP) ; hTerm
JSR __TMDispose
RTS
@TMKey ; 0x04
MOVE.L 6(A0), -(SP) ; hTerm
MOVE.L 2(A0), -(SP) ; theEvent
JSR __TMKey
RTS
@TMUpdate ; 0x05
MOVE.L 6(A0), -(SP) ; hTerm
MOVE.L 2(A0), -(SP) ; visRgn
JSR __TMUpdate
RTS
@TMPaint ; 0x06
MOVE.L 10(A0), -(SP) ; hTerm
MOVE.L 6(A0), -(SP) ; theLine
MOVE.L 2(A0), -(SP) ; theRect
JSR __TMPaint
RTS
@TMClick ; 0x09
MOVE.L 6(A0), -(SP) ; hTerm
MOVE.L 2(A0), -(SP) ; theEvent
JSR __TMClick
RTS
@TMStream ; 0x0A
CLR.L -(SP) ; make room
MOVE.L 12(A0), -(SP) ; hTerm
MOVE.L 8(A0), -(SP) ; theBuffer
MOVE.L 4(A0), -(SP) ; length
MOVE.W 2(A0), -(SP) ; flags
JSR __TMStream
MOVE.L (SP)+,D0 ; return value
RTS
@TMClear ; 0x0D
MOVE.L 2(A0), -(SP) ; hTerm
JSR __TMClear
RTS
@TMResize ; 0x0E
MOVE.L 6(A0), -(SP) ; hTerm
MOVE.L 2(A0), -(SP) ; newViewRect
JSR __TMResize
RTS
@TMGetSelect ; 0x0F
CLR.L -(SP) ; make room
MOVE.L 10(A0), -(SP) ; hTerm
MOVE.L 6(A0), -(SP) ; theData
MOVE.L 2(A0), -(SP) ; theType (VAR)
JSR __TMGetSelect
MOVE.L (SP)+, D0 ; function result
RTS
@TMGetLine ; 0x10
MOVE.L 8(A0), -(SP) ; hTerm
MOVE.W 6(A0), -(SP) ; lineNo
MOVE.L 2(A0), -(SP) ; theLine (VAR)
JSR __TMGetLine
RTS
@TMSetSelection ; 0x11
MOVE.L 8(A0), -(SP) ; hTerm
MOVE.L 4(A0), -(SP) ; theRect
MOVE.W 2(A0), -(SP) ; selType
JSR __TMSetSelection
RTS
@TMScroll ; 0x12
MOVE.L 6(A0), -(SP) ; hTerm
MOVE.W 4(A0), -(SP) ; dH
MOVE.W 2(A0), -(SP) ; dV
JSR __TMScroll
RTS
@TMGetTMVersion ; 0x26
LEA Version, A0 ; get version
MOVE.W (A0), D0 ; return
RTS ; and return
@TMAddSearch ; 0x27
clr.W -(SP) ; make room for refnum
move.L 16(A0), -(SP) ; hTerm
move.L 12(A0), -(SP) ; theString
move.L 8(A0), -(SP) ; theRect
move.W 6(A0), -(SP) ; searchType
move.L 2(A0), -(SP) ; callBack
JSR __TMAddSearch
MOVE.W (SP)+, D0 ; return point
RTS ; return please
@TMRemoveSearch ; 0x28
MOVE.L 4(A0), -(SP) ; hTerm
MOVE.W 2(A0), -(SP) ; refnum
JSR __TMRemoveSearch
RTS
@TMClearSearch ; 0x29
MOVE.L 2(A0), -(SP) ; hTerm
JSR __TMClearSearch
RTS
@TMGetCursor ; 0x2A
CLR.L -(SP) ; make room
MOVE.L 4(A0), -(SP) ; hTerm
MOVE.W 2(A0), -(SP) ; cursType
JSR __TMGetCursor
MOVE.L (SP)+, D0 ; return point
RTS
@TMGetTermEnvirons ; 0x2B
CLR.W -(SP) ; make room
MOVE.L 6(A0), -(SP) ; hTerm
MOVE.L 2(A0), -(SP) ; (pointer to) theEnvirons
JSR __TMGetTermEnvirons
MOVE.W (SP)+, D0 ; return point
RTS
@TMDoTermKey ; 0x2E
CLR.W -(SP) ; make room
MOVE.L 6(A0), -(SP) ; hTerm
MOVE.L 2(A0), -(SP) ; theKey
JSR __TMDoTermKey
MOVE.W (SP)+, D0 ; return point
RTS
@TMCountTermKeys ; 0x2F
CLR.W -(SP) ; make room
MOVE.L 2(A0), -(SP) ; hTerm
JSR __TMCountTermKeys
MOVE.W (SP)+, D0 ; return point
RTS
@TMGetIndTermKey ; 0x30
MOVE.L 8(A0), -(SP) ; hTerm
MOVE.W 6(A0), -(SP) ; id
MOVE.L 2(A0), -(SP) ; theKey (pointer to)
JSR __TMGetIndTermKey
RTS
@TMPeekLine ; 0x32
MOVE.L 8(A0), -(SP) ; hTerm
MOVE.W 6(A0), -(SP) ; lineNo
MOVE.L 2(A0), -(SP) ; theLine (VAR)
JSR __TMPeekLine
RTS
END