antoine-source/appleworksgs/PL/Src/TDBG.S

1 line
14 KiB
ArmAsm
Executable File

load 'macros.dump'
include 'driver.equ'
;-----------------------------------------------
;
; Imported addresses
;
;-----------------------------------------------
IMPORT D_AlertBox
IMPORT D_Deref
IMPORT T_Ascent
IMPORT T_Descent
IMPORT T_Length
IMPORT T_LineCount
IMPORT T_LineInfoSize
IMPORT T_LineWidth
IMPORT T_LinesHdl
IMPORT T_ObjHdl
IMPORT T_Offset
IMPORT T_ParHeight
IMPORT T_ParInfoSize
IMPORT T_ParOffset
IMPORT T_ParStart
IMPORT T_RulerHdl
IMPORT T_TextBlock
IMPORT D_UseStdColors
;-----------------------------------------------
;
; Forward addresses and entries
;
;-----------------------------------------------
ENTRY CancelItem
ENTRY PAItem1
ENTRY PAItem2
ENTRY PAItem3
ENTRY PAItem4
ENTRY PAItem5
ENTRY PAItem6
ENTRY PAString1
ENTRY PAString2
ENTRY PAString3
ENTRY PAString4
ENTRY PAString5
ENTRY PAString6
ENTRY PBItem2
ENTRY PBItem3
ENTRY PBItem4
ENTRY PBItem5
ENTRY PBItem6
ENTRY PBString2
ENTRY PBString3
ENTRY PBString4
ENTRY PBString5
ENTRY PBString6
ENTRY PCItem1
ENTRY PCItem10
ENTRY PCItem2
ENTRY PCItem3
ENTRY PCItem4
ENTRY PCItem5
ENTRY PCItem6
ENTRY PCItem7
ENTRY PCItem8
ENTRY PCItem9
ENTRY PCString1
ENTRY PCString10
ENTRY PCString2
ENTRY PCString3
ENTRY PCString4
ENTRY PCString5
ENTRY PCString6
ENTRY PCString7
ENTRY PCString8
ENTRY PCString9
ENTRY PDItem10
ENTRY PDItem3
ENTRY PDItem4
ENTRY PDItem5
ENTRY PDItem6
ENTRY PDItem7
ENTRY PDItem8
ENTRY PDItem9
ENTRY PDString10
ENTRY PDString3
ENTRY PDString4
ENTRY PDString5
ENTRY PDString6
ENTRY PDString7
ENTRY PDString8
ENTRY PDString9
ENTRY String1
ENTRY String2
ENTRY String3
ENTRY String4
ENTRY String5
ENTRY String6
ENTRY String7
ENTRY String8
ENTRY String9
ENTRY TItem1
ENTRY TItem2
ENTRY TItem3
ENTRY TItem4
ENTRY TItem5
ENTRY TItem6
ENTRY TItem7
ENTRY TItem8
ENTRY T_CancelStr
ENTRY T_LineAlert
ENTRY T_ParagAlert
ENTRY T_Str
;KEEP obj/tdbg
INCLUDE 'mac/tdbg.mac'
;----------------------------------------------------------------------
; T_NumbAlert (Numb:word)
;
T_NumbAlert PROC EXPORT
;Using T_DebugData
INPUT Numb:w
BEGIN +b
spacelong
_GetPort
pushword Numb
pushlong #T_Str+1
pushword #6
pushword #0
_Int2Dec
spaceword
pushword #1
pushlong #T_Str
jsl D_UseStdColors
jsl D_AlertBox
pla
_SetPort
RETURN
ENDP
;-------------------------------------------------------------------------------
;
; T_DebugTextObj (ObjHdl:l)
;
T_DebugTextObj PROC EXPORT
;Using P_ObjData
;Using P_Data
INPUT ObjHdl:l
LOCAL ObjPtr:l,PrevObject:l
BEGIN
Loop movelong [ObjHdl],ObjPtr
movelong [ObjPtr]:#P_PThread,PrevObject
cpzl PrevObject
beq AtStart
movelong PrevObject,ObjHdl
bra Loop
AtStart
Loop2 cpzl ObjHdl
beq Exit
movelong [ObjHdl],ObjPtr
pushword [ObjPtr]:#P_StartParag
jsl T_NumbAlert
pushword [ObjPtr]:#P_StartLine
jsl T_NumbAlert
pushword [ObjPtr]:#P_EndParag
jsl T_NumbAlert
pushword [ObjPtr]:#P_EndLine
jsl T_NumbAlert
movelong [ObjPtr]:#P_NThread,ObjHdl
bra Loop2
Exit RETURN
ENDP
;-----------------------------------------------------------------------------
;
; T_DebugLines (LinePtr:l,LineCount:w)
;
T_DebugLines PROC EXPORT
;Using T_Data
;Using T_DebugData
;Using T_TextEqu
INPUT LinePtr:l,LineCount:w
LOCAL CurLine:w
BEGIN +b
stz CurLine
Loop
inc CurLine
pushword [LinePtr]:#T_Offset
pushlong #PBString2+1
pushword #6
pushword #0
_Int2Dec
pushword [LinePtr]:#T_Length
pushlong #PBString3+1
pushword #6
pushword #0
_Int2Dec
pushword [LinePtr]:#T_LineWidth
pushlong #PBString4+1
pushword #6
pushword #0
_Int2Dec
moveword [LinePtr]:#T_Ascent,a
and #$ff
pha
pushlong #PBString5+1
pushword #6
pushword #0
_Int2Dec
moveword [LinePtr]:#T_Descent,a
and #$ff
pha
pushlong #PBString6+1
pushword #6
pushword #0
_Int2Dec
spaceword
pushlong #T_LineAlert
pushlong #0
_Alert
pla
cmp #1
bne Exit
cmpw CurLine,LineCount
bge Exit
addwl #T_LineInfoSize,LinePtr
brl Loop
Exit RETURN
ENDP
;------------------------------------------------------------------------------
;
; T_DebugParag (ParagPtr:l) : Continue:w
;
T_DebugParag PROC EXPORT
;Using T_Data
;Using T_TextEqu
;Using T_DebugData
INPUT ParagPtr:l
OUTPUT Continue:w
LOCAL LinesHdl:l,LinePtr:l,Result:w
BEGIN +b
pushlong [ParagPtr]:#T_TextBlock
pushlong #PDString3+1
pushword #6
_Long2Hex
pushword [ParagPtr]:#T_ParOffset
pushlong #PDString4+1
pushword #6
pushword #0
_Int2Dec
pushword [ParagPtr]:#T_ParStart
pushlong #PDString5+1
pushword #6
pushword #0
_Int2Dec
pushlong [ParagPtr]:#T_RulerHdl
pushlong #PDString6+1
pushword #6
_Long2Hex
pushword [ParagPtr]:#T_ParHeight
pushlong #PDString7+1
pushword #6
pushword #0
_Int2Dec
pushlong [ParagPtr]:#T_LinesHdl
pushlong #PDString8+1
pushword #6
_Long2Hex
pushword [ParagPtr]:#T_LineCount
pushlong #PDString9+1
pushword #6
pushword #0
_Int2Dec
pushlong [ParagPtr]:#T_ObjHdl
pushlong #PDString10+1
pushword #6
_Long2Hex
spaceword
pushlong #T_ParagAlert
pushlong #0
_Alert
pullword Result
cmpw Result,#1
beq Yes
cmpw Result,#2
bne No
movelong [ParagPtr]:#T_LinesHdl,LinesHdl
movelong LinesHdl,ax
jsl D_Deref
movelong ax,LinePtr
pushlong LinePtr
pushword [ParagPtr]:#T_LineCount
jsl T_DebugLines
pushlong LinesHdl
_HUnlock
Yes
moveword #1,Continue
bra Exit
No
stz Continue
Exit RETURN
ENDP
;-------------------------------------------------------------------------------
;
; T_DebugThread (ParagHdl:l)
;
T_DebugThread PROC EXPORT
;Using T_Data
;Using T_TextEqu
INPUT ParagHdl:l
LOCAL ParagPtr:l,ParCount:w
BEGIN +b
pushlong ParagHdl
_HLock
movelong [ParagHdl],ParagPtr
moveword [ParagPtr],ParCount
pushword ParCount
jsl T_NumbAlert
ParLoop lda ParCount
beq Done
spaceword
pushlong ParagPtr
jsl T_DebugParag
pla
beq Done
addwl #T_ParInfoSize,ParagPtr
dec ParCount
bra ParLoop
Done
pushlong ParagHdl
_HUnlock
RETURN
ENDP
;-----------------------------------------------------------------------------
;
; T_DebugData
;
T_DebugData PROC EXPORT
EXPORT T_Str
EXPORT T_String
EXPORT ContStr
EXPORT T_ParagAlert
EXPORT PCItem1
EXPORT PCItem2
EXPORT PCItem3
EXPORT PCItem4
EXPORT PCItem5
EXPORT PCItem6
EXPORT PCItem7
EXPORT PCItem8
EXPORT PCItem9
EXPORT PCItem10
EXPORT PDItem3
EXPORT PDItem4
EXPORT PDItem5
EXPORT PDItem6
EXPORT PDItem7
EXPORT PDItem8
EXPORT PDItem9
EXPORT PDItem10
EXPORT PCString1
EXPORT PCString2
EXPORT PCString3
EXPORT PCString4
EXPORT PCString5
EXPORT PCString6
EXPORT PCString7
EXPORT PCString8
EXPORT PCString9
EXPORT PCString10
EXPORT PDString3
EXPORT PDString4
EXPORT PDString5
EXPORT PDString6
EXPORT PDString7
EXPORT PDString8
EXPORT PDString9
EXPORT PDString10
EXPORT T_LineAlert
EXPORT PAItem1
EXPORT PAItem2
EXPORT PAItem3
EXPORT PAItem4
EXPORT PAItem5
EXPORT PAItem6
EXPORT PBItem2
EXPORT PBItem3
EXPORT PBItem4
EXPORT PBItem5
EXPORT PBItem6
EXPORT CancelItem
EXPORT PAString1
EXPORT PAString2
EXPORT PAString3
EXPORT PAString4
EXPORT PAString5
EXPORT PAString6
EXPORT PBString2
EXPORT PBString3
EXPORT PBString4
EXPORT PBString5
EXPORT PBString6
EXPORT T_CancelStr
EXPORT T_ThreadDlg
EXPORT TItem1
EXPORT TItem2
EXPORT TItem3
EXPORT TItem4
EXPORT TItem5
EXPORT TItem6
EXPORT TItem7
EXPORT TItem8
EXPORT TItem9
EXPORT String1
EXPORT String2
EXPORT String3
EXPORT String4
EXPORT String5
EXPORT String6
EXPORT String7
EXPORT String8
EXPORT String9
T_Str DC.B 6
T_String DS.B 255
ContStr STR 'Continue?'
T_ParagAlert
DC.W 60,140,190,500
DC.W 789
DC.B %10000000
DC.B %10000000
DC.B %10000000
DC.B %10000000
DC.L PCItem1
DC.L PCItem2
DC.L PCItem2
DC.L PCItem3
DC.L PCItem4
DC.L PCItem5
DC.L PCItem6
DC.L PCItem7
DC.L PCItem8
DC.L PCItem9
DC.L PCItem10
DC.L PDItem3
DC.L PDItem4
DC.L PDItem5
DC.L PDItem6
DC.L PDItem7
DC.L PDItem8
DC.L PDItem9
DC.L PDItem10
DC.L CancelItem
DC.L 0
PCItem1 DC.W 1 ;Number
DC.W 65,230,80,320 ;Rectangle
DC.W 10 ;Type
DC.L PCString1 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PCItem2 DC.W 2 ;Number
DC.W 85,230,100,320 ;Rectangle
DC.W 10 ;Type
DC.L PCString2 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PCItem3 DC.W 3 ;Number
DC.W 5,30,17,100 ;Rectangle
DC.W 15 ;Type
DC.L PCString3 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PCItem4 DC.W 4 ;Number
DC.W 20,30,32,100 ;Rectangle
DC.W 15 ;Type
DC.L PCString4 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PCItem5 DC.W 5 ;Number
DC.W 35,30,47,100 ;Rectangle
DC.W 15 ;Type
DC.L PCString5 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PCItem6 DC.W 6 ;Number
DC.W 50,30,62,100 ;Rectangle
DC.W 15 ;Type
DC.L PCString6 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PCItem7 DC.W 7 ;Number
DC.W 65,30,77,100 ;Rectangle
DC.W 15 ;Type
DC.L PCString7 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PCItem8 DC.W 8 ;Number
DC.W 80,30,92,100 ;Rectangle
DC.W 15 ;Type
DC.L PCString8 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PCItem9 DC.W 9 ;Number
DC.W 95,30,107,100 ;Rectangle
DC.W 15 ;Type
DC.L PCString9 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PCItem10 DC.W 10 ;Number
DC.W 110,30,122,100 ;Rectangle
DC.W 15 ;Type
DC.L PCString10 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PDItem3 DC.W 11 ;Number
DC.W 5,130,17,200 ;Rectangle
DC.W 15 ;Type
DC.L PDString3 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PDItem4 DC.W 12 ;Number
DC.W 20,130,32,200 ;Rectangle
DC.W 15 ;Type
DC.L PDString4 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PDItem5 DC.W 13 ;Number
DC.W 35,130,47,200 ;Rectangle
DC.W 15 ;Type
DC.L PDString5 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PDItem6 DC.W 14 ;Number
DC.W 50,130,62,200 ;Rectangle
DC.W 15 ;Type
DC.L PDString6 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PDItem7 DC.W 15 ;Number
DC.W 65,130,77,200 ;Rectangle
DC.W 15 ;Type
DC.L PDString7 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PDItem8 DC.W 16 ;Number
DC.W 80,130,92,200 ;Rectangle
DC.W 15 ;Type
DC.L PDString8 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PDItem9 DC.W 17 ;Number
DC.W 95,130,107,200 ;Rectangle
DC.W 15 ;Type
DC.L PDString9 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PDItem10 DC.W 18 ;Number
DC.W 110,130,122,200 ;Rectangle
DC.W 15 ;Type
DC.L PDString10 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PCString1 STR 'Continue'
PCString2 STR 'LineInfo'
PCString3 STR 'TextHdl'
PCString4 STR 'ParOffset'
PCString5 STR 'ParStart'
PCString6 STR 'RulerHdl'
PCString7 STR 'ParHeight'
PCString8 STR 'LinesHdl'
PCString9 STR 'LineCount'
PCString10 STR 'ObjHdl'
PDString3 DC.B 6
DS.B 6
PDString4 DC.B 6
DS.B 6
PDString5 DC.B 6
DS.B 6
PDString6 DC.B 6
DS.B 6
PDString7 DC.B 6
DS.B 6
PDString8 DC.B 6
DS.B 6
PDString9 DC.B 6
DS.B 6
PDString10 DC.B 6
DS.B 6
T_LineAlert
DC.W 60,140,160,500
DC.W 789
DC.B %10000000
DC.B %10000000
DC.B %10000000
DC.B %10000000
DC.L PAItem1
DC.L PAItem2
DC.L PAItem3
DC.L PAItem4
DC.L PAItem5
DC.L PAItem6
DC.L PBItem2
DC.L PBItem3
DC.L PBItem4
DC.L PBItem5
DC.L PBItem6
DC.L CancelItem
DC.L 0
PAItem1 DC.W 1 ;Number
DC.W 65,230,80,320 ;Rectangle
DC.W 10 ;Type
DC.L PAString1 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PAItem2 DC.W 2 ;Number
DC.W 5,30,17,100 ;Rectangle
DC.W 15 ;Type
DC.L PAString2 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PAItem3 DC.W 3 ;Number
DC.W 20,30,32,100 ;Rectangle
DC.W 15 ;Type
DC.L PAString3 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PAItem4 DC.W 4 ;Number
DC.W 35,30,47,100 ;Rectangle
DC.W 15 ;Type
DC.L PAString4 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PAItem5 DC.W 5 ;Number
DC.W 50,30,62,100 ;Rectangle
DC.W 15 ;Type
DC.L PAString5 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PAItem6 DC.W 6 ;Number
DC.W 65,30,77,100 ;Rectangle
DC.W 15 ;Type
DC.L PAString6 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PBItem2 DC.W 13 ;Number
DC.W 5,130,17,200 ;Rectangle
DC.W 15 ;Type
DC.L PBString2 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PBItem3 DC.W 14 ;Number
DC.W 20,130,32,200 ;Rectangle
DC.W 15 ;Type
DC.L PBString3 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PBItem4 DC.W 15 ;Number
DC.W 35,130,47,200 ;Rectangle
DC.W 15 ;Type
DC.L PBString4 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PBItem5 DC.W 16 ;Number
DC.W 50,130,62,200 ;Rectangle
DC.W 15 ;Type
DC.L PBString5 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PBItem6 DC.W 17 ;Number
DC.W 65,130,77,200 ;Rectangle
DC.W 15 ;Type
DC.L PBString6 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
CancelItem DC.W 24 ;Number
DC.W 40,230,55,320 ;Rectangle
DC.W 10 ;Type
DC.L T_CancelStr ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
PAString1 STR 'Continue'
PAString2 STR 'Offset'
PAString3 STR 'Length'
PAString4 STR 'Width'
PAString5 STR 'Ascent'
PAString6 STR 'Descent'
PBString2 DC.B 6
DS.B 6
PBString3 DC.B 6
DS.B 6
PBString4 DC.B 6
DS.B 6
PBString5 DC.B 6
DS.B 6
PBString6 DC.B 6
DS.B 6
T_CancelStr STR 'Cancel'
T_ThreadDlg
DC.W 40,120,180,520
DC.W 1
DC.L 0
DC.L TItem1
DC.L TItem2
DC.L TItem3
DC.L TItem4
DC.L TItem5
DC.L TItem6
DC.L TItem7
DC.L TItem8
DC.L 0
TItem1 DC.W 1 ;Number
DC.W 30,30,45,150 ;Rectangle
DC.W 10 ;Type
DC.L String1 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
TItem2 DC.W 2 ;Number
DC.W 50,30,65,150 ;Rectangle
DC.W 10 ;Type
DC.L String2 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
TItem3 DC.W 3 ;Number
DC.W 70,30,85,150 ;Rectangle
DC.W 10 ;Type
DC.L String3 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
TItem4 DC.W 4 ;Number
DC.W 90,30,105,150 ;Rectangle
DC.W 10 ;Type
DC.L String4 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
TItem5 DC.W 5 ;Number
DC.W 30,175,45,275 ;Rectangle
DC.W 15 ;Type
DC.L String5 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
TItem6 DC.W 6 ;Number
DC.W 50,175,65,275 ;Rectangle
DC.W 15 ;Type
DC.L String6 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
TItem7 DC.W 7 ;Number
DC.W 30,300,45,375 ;Rectangle
DC.W 15 ;Type
DC.L String7 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
TItem8 DC.W 8 ;Number
DC.W 50,300,65,375 ;Rectangle
DC.W 15 ;Type
DC.L String8 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
TItem9 DC.W 9 ;Number
DC.W 0,0,0,0 ;Rectangle
DC.W 15 ;Type
DC.L String9 ;Descriptor
DC.W 0 ;Value
DC.W 0
DC.L 0
String1 STR 'LineInfo'
String2 STR 'Cancel'
String3 STR 'Next'
String4 STR 'Previous'
String5 STR 'StartOffset'
String6 STR 'LineCount'
String7 DC.B 6
DS.B 6
String8 DC.B 6
DS.B 6
String9 DC.B 6
DS.B 6
ENDP
END