mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-04-21 20:37:40 +00:00
Working debug skeleton
This commit is contained in:
parent
b126e15272
commit
13c9779d0d
Binary file not shown.
@ -14,6 +14,10 @@ TMPL EQU TMP
|
||||
TMPH EQU TMP+1
|
||||
ESTKH EQU $A0
|
||||
ESTKL EQU $C0
|
||||
IFPL EQU $E0
|
||||
IFPH EQU $E1
|
||||
PPL EQU $E2
|
||||
PPH EQU $E3
|
||||
DROPOP EQU $EF
|
||||
NEXTOP EQU $F0
|
||||
FETCHOP EQU NEXTOP+1
|
||||
|
@ -26,6 +26,12 @@ RESFLAGS EQU 0
|
||||
;
|
||||
DB 0
|
||||
;
|
||||
; ROM ROUTINES
|
||||
;
|
||||
PRBYTE EQU $FDDA
|
||||
COUT EQU $FDED
|
||||
CROUT EQU $FD8E
|
||||
;
|
||||
; LANGUAGE CARD SWITCHES
|
||||
;
|
||||
LCRDEN EQU $C080
|
||||
@ -48,6 +54,77 @@ BRKVEC EQU $3F0
|
||||
CTRLY EQU $3F8
|
||||
;
|
||||
; DATA AND 6502 CODE SEGMENT
|
||||
; ==========================
|
||||
;
|
||||
; PRINT INLINE STRINGZ
|
||||
;
|
||||
SAVETMP DW 0
|
||||
PRSTR LDA TMPL
|
||||
STA SAVETMP
|
||||
LDA TMPH
|
||||
STA SAVETMP+1
|
||||
PLA
|
||||
STA TMPL
|
||||
PLA
|
||||
STA TMPH
|
||||
LDY #$01
|
||||
LDA (TMP),Y
|
||||
PRLOOP ORA #$80
|
||||
JSR COUT
|
||||
INY
|
||||
LDA (TMP),Y
|
||||
BNE PRLOOP
|
||||
TYA
|
||||
CLC
|
||||
ADC TMPL
|
||||
STA TMPL
|
||||
LDA #$00
|
||||
ADC TMPH
|
||||
PHA
|
||||
LDA TMPL
|
||||
PHA
|
||||
LDA SAVETMP+1
|
||||
STA TMPH
|
||||
LDA SAVETMP
|
||||
STA TMPL
|
||||
RTS
|
||||
;
|
||||
; DUMP INTERPRETER STATE
|
||||
;
|
||||
VMDUMP JSR CROUT
|
||||
JSR PRSTR
|
||||
ASC " XP="
|
||||
DB 0
|
||||
LDA BRKX
|
||||
JSR PRBYTE
|
||||
JSR PRSTR
|
||||
ASC " IP"
|
||||
DB 0
|
||||
LDA OPPAGE
|
||||
CMP #$D0
|
||||
BEQ NOTAUX
|
||||
LDA #'X'+$80
|
||||
JSR COUT
|
||||
NOTAUX LDA #'='+$80
|
||||
JSR COUT
|
||||
LDA BRKY
|
||||
CLC
|
||||
ADC FETCHOP+1
|
||||
PHA
|
||||
LDA #$00
|
||||
ADC FETCHOP+2
|
||||
JSR PRBYTE
|
||||
PLA
|
||||
JSR PRBYTE
|
||||
JSR PRSTR
|
||||
ASC " FP="
|
||||
DB 0
|
||||
LDA IFPH
|
||||
JSR PRBYTE
|
||||
LDA IFPL
|
||||
JMP PRBYTE
|
||||
;
|
||||
; SYSTEM BRK HANDLER
|
||||
;
|
||||
SYSBRK DB $4C ; JMP OPCODE
|
||||
SYSBRKVEC DW 0 ; SYS BRK HANDLER ADDRESS
|
||||
@ -59,12 +136,18 @@ BRKCHK LDA BRKPCH
|
||||
LDA BRKPCL
|
||||
CMP #NEXTOP+2
|
||||
BNE SYSBRK
|
||||
LDA BRKX ; CHECK FOR ESTK PTR VALID
|
||||
CMP #$21
|
||||
BCS MON
|
||||
LDA $C000
|
||||
CMP #$83 ; CTRL-C
|
||||
BNE BRKRET
|
||||
LDA $C010
|
||||
JMP -151
|
||||
BRKRET BIT LCRDEN+LCBNK2
|
||||
MON JSR VMDUMP
|
||||
JMP -151 ; JUMP INTO MONITOR
|
||||
YCONT PLA
|
||||
PLA
|
||||
BRKRET BIT LCRDEN+LCBNK2
|
||||
LDA BRKP
|
||||
PHA
|
||||
LDY BRKY
|
||||
@ -82,6 +165,7 @@ XOP LDA BRKA
|
||||
;
|
||||
; INITIALIZE MODULE AND RETURN MOD KEEP STATUS
|
||||
;
|
||||
INITMSG STR "DEBUGGER INSTALLED."
|
||||
INIT LDA BRKVEC ; SAVE CURRENT BRK VECTOR TO SYS VECTOR
|
||||
STA SYSBRKVEC
|
||||
LDA BRKVEC+1
|
||||
@ -112,11 +196,21 @@ INIT LDA BRKVEC ; SAVE CURRENT BRK VECTOR TO SYS VECTOR
|
||||
;
|
||||
LDA #$4C ; JMP OPCODE
|
||||
STA CTRLY
|
||||
LDA #>BRKRET
|
||||
LDA #>YCONT
|
||||
STA CTRLY+1
|
||||
LDA #<BRKRET
|
||||
LDA #<YCONT
|
||||
STA CTRLY+2
|
||||
;
|
||||
; PRINT INIT MESSAGE THROUGH CMDSYS
|
||||
;
|
||||
LDA #>INITMSG
|
||||
LDY #<INITMSG
|
||||
DEX
|
||||
STA ESTKL,X
|
||||
STY ESTKH,X
|
||||
JSR PUTS
|
||||
JSR PUTLN
|
||||
;
|
||||
; RETURN MODKEEP TO LEAVE THE MODULE IN MEMORY
|
||||
;
|
||||
LDA #>MODKEEP
|
||||
|
Loading…
x
Reference in New Issue
Block a user