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

1 line
5.9 KiB
ArmAsm
Executable File

load 'macros.dump'
include 'driver.equ'
;-----------------------------------------------
;
; Imported addresses
;
;-----------------------------------------------
;-----------------------------------------------
;
; Forward addresses and entries
;
;-----------------------------------------------
ENTRY AbortButton
ENTRY AbortText
ENTRY BreakButton
ENTRY BreakText
ENTRY ButtonTxt
ENTRY CancelBut
ENTRY CancelTxt
ENTRY Debug
ENTRY DebugMsg
ENTRY Int1
ENTRY Int1MsgSTART
ENTRY Int2
ENTRY Int2MsgSTART
ENTRY OKBut
;keep obj/pdbg
INCLUDE 'mac/pdbg.mac'
INCLUDE 'tools/pdbgtool.s'
;
; File contains:
; BrakeCheck (brk if option key is down)
; WaitMouse (wait for mouse click)
; Debug (alert w/ various output/tracing...)
; DebugNum (alert prints 1 longint)
;
;---------------------------------------------------------------------------
;
; BrakeCheck
;
BrakeCheck PROC EXPORT
EXPORT P_BrakeCheck
P_BrakeCheck ;
;Using P_DATA
input TheStr:l
begin
Exit return
ENDP
;---------------------------------------------------------------------------
;
; DebugNum(num:long)
;
DebugNum PROC EXPORT
;Using DebugData
input var:l
begin
; spacelong
; _GetPort
;
; movelong #Generic,DebugMsgText
;
; tool _Long2Hex,in=(var:l,#Int1MsgText:l,#8:w)
;
; call D_SetCursor,in=(#0:w)
; spaceword
; pushlong #SimpAlert
; pushlong #0
; _Alert
; pla
;
; _SetPort
return
ENDP
;---------------------------------------------------------------------------
;
; CkErr
;
CkErr PROC EXPORT
local foo:b
error err
tax
bcc Borrring
begin +b
pushlong #ErrString
pushword #0
phx
stx err
lda foo+5
and #$FF
pha
lda foo+3
pha
pushlong #0
jsl Debug
return
Borrring rtl
ErrString STR 'Error / Location:'
ENDP
;----------------------------------------------------------------------
; Debug(msg:ptr; var1:long; var2:long; routine:addr)
;
; USAGE: prints out string located at msg (if zero, prints
; default msg). Prints var1,2 in hex.
; OK button: call routine (if not zero)
; Cancel button: don't call routine
; Abort button: attempt to shut down program
; Break button: execute a brk instruction
;
Debug PROC EXPORT
;Using DebugData
input Msg:l,var1:l,var2:l,NextRoutine:l
begin
_SysBeep
_SysBeep
_SysBeep
; lda Msg
; cmp Msg+2
; bne Cont
;
; movelong #Generic,Msg
;
;Cont lda (Msg)
; and #$00FF
; sta DebugMsgLen
; movelong Msg,DebugMsgText
;
; pushlong var1
; pushlong #Int1MsgText
; pushword #8
; _Long2Hex
;
; pushlong var2
; pushlong #Int2MsgText
; pushword #8
; _Long2Hex
;
; spacelong
; _GetPort
;
; call D_SetCursor,in=(#0:w)
; spaceword
; pushlong #DebugAlert
; pushlong #0
; _Alert
; pla
;
; cmp #2 ; abort msg
; beq die
; cmp #4
; bne DontDie
; brk
; brl bye ; after the break... (ha!)
;DontDie cmp #1 ; continue w/ debug
; jne bye
;
; lda NextRoutine
; ora NextRoutine+2
; jeq bye
;
; _SetPort
; pushlong var1
; pushlong var2
;
;; ; Hack!!!!!
; lda NextRoutine
; sta Foo+1
; lda Nextroutine+1
; sta Foo+2
;
;Foo jsl ; ; jsl nextroutine
; jmp bye
;
;
;die anop
; _DeskShutdown
; _FMShutdown
; _SFShutdown
; _CtlShutdown
; _DialogShutdown
; _EMShutdown
; _LEShutdown
; _MenuShutdown
; _WindShutdown
; _QDAuxShutdown
; _QDShutdown
; _MTShutdown
;
; PushWord #1
; _MMShutdown
; _TLShutdown
;
; _Quit DbgQuitParams ;
;
;
;bye _SetPort
return
ENDP
;---------------------------------------------------------------------------
;
; PutNum
;
PutNum PROC EXPORT
input num:w
local rgn:l
begin +b
; spacelong
; _GetClipHandle
;
; spacelong
; _NewRgn
; pulllong rgn
;
; pushlong rgn
; _SetClipHandle
;
; pushlong #D_BoxRect
; _ClipRect
;
; pushword num
; pushlong #TheSTR
; pushword #4
; _Int2Hex
;
; pushlong #TheSTR
; pushword #4
; pushlong #D_BoxRect
; pushword #0
; _LETextBox
;
; pushlong rgn
; _DisposeRgn
;
; _SetClipHandle
;
return
;TheSTR DS 4
;D_BoxRect DC i'152,1,162,36'
ENDP
;----------------------------------------------------------------------
;
DebugData PROC EXPORT
EXPORT Generic
EXPORT DebugAlert
EXPORT OKBut
EXPORT ButtonTxt
EXPORT AbortButton
EXPORT AbortText
EXPORT CancelBut
EXPORT CancelTxt
EXPORT BreakButton
EXPORT BreakText
EXPORT DebugMsg
EXPORT DebugMsgText
EXPORT DebugMsgLen
EXPORT Int1
EXPORT Int1Msg
EXPORT Int1MsgSTART
EXPORT Int1MsgText
EXPORT Int2
EXPORT Int2Msg
EXPORT Int2MsgSTART
EXPORT Int2MsgText
EXPORT DbgQuitParams
EXPORT SimpAlert
Generic STR 'DEBUG:'
;Generic STR 'Message? We don''''t need no stinking message!'
DebugAlert DC.W 90,140,144,500
DC.W 729 ; a 'unique' ID
DC.B %10000000
DC.B %10000000
DC.B %10000000
DC.B %10000000
DC.L OKBut
DC.L CancelBut
DC.L AbortButton
DC.L BreakButton
DC.L DebugMsg
DC.L Int1
DC.L Int2
DC.L 0 ; terminator
OKBut DC.W 1
DC.W 36,295,49,355
DC.W $000A ; Button
DC.L ButtonTxt
DC.W 0
DC.W 0
DC.L 0
ButtonTxt STR 'Cont.'
AbortButton DC.W 2
DC.W 36,165,49,225
DC.W $000A
DC.L AbortText
DC.W 0
DC.W 0
DC.L 0
AbortText STR 'Abort'
CancelBut DC.W 3
DC.W 36,230,49,290
DC.W $000A
DC.L CancelTxt
DC.W 0
DC.W 0
DC.L 0
CancelTxt STR 'Cancel'
BreakButton DC.W 4
DC.W 36,100,49,160
DC.W $000A
DC.L BreakText
DC.W 0
DC.W 0
DC.L 0
BreakText STR 'Break'
DebugMsg DC.W 5
DC.W 10,10,23,350
DC.W $800F
DebugMsgText DC.L 0
DebugMsgLen DC.W 0
Int1 DC.W 6
DC.W 23,10,36,150
DC.W $800F
Int1Msg DC.L Int1MsgSTART
DC.W 0
Int1MsgSTART DC.B 10
DC.B '0x'
Int1MsgText DS.B 8
Int2 DC.W 7
DC.W 36,10,49,99
DC.W $800F
Int2Msg DC.L Int2MsgSTART
DC.W 0
Int2MsgSTART DC.B 10
DC.B '0x'
Int2MsgText DS.B 8
DbgQuitParams DC.L 0
DC.W $0000
SimpAlert DC.W 40,140,94,500
DC.W 934 ; a 'unique' ID
DC.B %10000000
DC.B %10000000
DC.B %10000000
DC.B %10000000
DC.L OKBut
DC.L DebugMsg
DC.L Int1
DC.L 0 ; terminator
ENDP
END