mirror of
https://github.com/erkyrath/infocom-zcode-terps.git
synced 2026-02-08 17:21:26 +00:00
Initial commit.
This commit is contained in:
124
atari/bugger.src
Normal file
124
atari/bugger.src
Normal file
@@ -0,0 +1,124 @@
|
||||
PAGE
|
||||
SBTTL "--- DEBUGGER: CBM64 ---"
|
||||
|
||||
; --------------
|
||||
; CBM64 DEBUGGER
|
||||
; --------------
|
||||
|
||||
; ENTRY: BREAKPOINT ID IN [A]
|
||||
|
||||
BLINE: DB "B: OP: PC: B: S: V:"
|
||||
BLINL EQU $-BLINE
|
||||
|
||||
BUGLIN EQU SCREEN+40
|
||||
|
||||
DOBUG: LDX CONSOL ; CHECK CONSOLE
|
||||
CPX #5 ; "SELECT" PRESSED?
|
||||
BNE BUGIT ; IF SO,
|
||||
RTS ; EXIT
|
||||
|
||||
BUGIT: PHA ; ELSE SAVE BREAK ID
|
||||
|
||||
LDX #39
|
||||
DBG0: LDA #0
|
||||
STA BUGLIN,X ; CLEAR SCREEN LINE
|
||||
DEX
|
||||
BPL DBG0
|
||||
|
||||
LDX #0
|
||||
DBG1: LDA BLINE,X ; PRINT DEBUGGER TEXT
|
||||
STA BUGLIN,X
|
||||
INX
|
||||
CPX #BLINL
|
||||
BCC DBG1
|
||||
|
||||
LDX #2 ; INIT "CURSOR"
|
||||
PLA
|
||||
JSR HEX ; SHOW BREAKPOINT
|
||||
|
||||
LDA OPCODE
|
||||
BMI ITQ0
|
||||
LDA #'2'
|
||||
BNE SHOWOP
|
||||
|
||||
ITQ0: CMP #$B0
|
||||
BCS ITQ1
|
||||
LDA #'1'
|
||||
BNE SHOWOP
|
||||
|
||||
ITQ1: CMP #$C0
|
||||
BCS ITQ2
|
||||
LDA #'0'
|
||||
BNE SHOWOP
|
||||
|
||||
ITQ2: CMP #$E0
|
||||
BCS ITQ3
|
||||
LDA #'E'
|
||||
BNE SHOWOP
|
||||
|
||||
ITQ3: LDA #'X'
|
||||
|
||||
SHOWOP: LDX #5 ; SET CURSOR
|
||||
STA BUGLIN,X
|
||||
|
||||
LDX #9 ; CURSOR FOR OP ID
|
||||
LDA OPCODE
|
||||
JSR HEX
|
||||
|
||||
LDX #15 ; CURSOR FOR PC
|
||||
LDA ZPCH
|
||||
JSR HEX
|
||||
LDA ZPCM
|
||||
JSR HEX
|
||||
LDA ZPCL
|
||||
JSR HEX
|
||||
|
||||
LDX #24 ; CURSOR FOR BYTE
|
||||
LDA MBYTE
|
||||
JSR HEX
|
||||
|
||||
LDX #29 ; CURSOR FOR [ZSP]
|
||||
LDA ZSP
|
||||
JSR HEX
|
||||
|
||||
LDX #34 ; CURSOR FOR [MPC]
|
||||
LDA MPCH
|
||||
JSR HEX
|
||||
LDA MPCM
|
||||
JSR HEX
|
||||
LDA MPCL
|
||||
JSR HEX
|
||||
|
||||
LDA CONSOL
|
||||
CMP #6 ; "START" PRESSED?
|
||||
BNE LETEX ; EXIT IF NOT
|
||||
|
||||
LETGO: LDA CONSOL ; ELSE WAIT FOR
|
||||
CMP #6 ; "START" TO BE RELEASED
|
||||
BEQ LETGO
|
||||
|
||||
LETEX: RTS
|
||||
|
||||
; CONVERT [A] TO HEX & PRINT
|
||||
|
||||
HEX: PHA
|
||||
LSR A
|
||||
LSR A
|
||||
LSR A
|
||||
LSR A
|
||||
JSR NIB
|
||||
PLA
|
||||
|
||||
NIB: AND #%00001111
|
||||
TAY
|
||||
LDA HCHARS,Y
|
||||
STA BUGLIN,X
|
||||
INX
|
||||
RTS
|
||||
|
||||
HCHARS: DB "0123456789ABCDEF"
|
||||
|
||||
MBYTE: DB 0
|
||||
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user