mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-10-15 17:24:48 +00:00
4325cdcc78
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.
365 lines
9.6 KiB
Plaintext
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 |