1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-04-22 12:37:36 +00:00

Start a debugging module

This commit is contained in:
David Schmenk 2025-04-10 06:46:32 -07:00
parent 8493c14ee6
commit 3fb399deeb
2 changed files with 111 additions and 0 deletions
src
libsrc/apple
mkrel

109
src/libsrc/apple/debug.asm Normal file

@ -0,0 +1,109 @@
;
; EXTENDED REL MODULE WITH DEPENDENCIES, BYTECODE SEGMENT, AND INIT
;
INCLUDE INC/PLASMA.INC
;
; EXT REL HEADER
;
RESFLAGS EQU 0
INCLUDE INC/EXTHEADER.INC
;
; ADD MODULE DEPENDENCIES
; (DCI BACKWARDS HI/LO BIT FROM REL FILE)
;
MSB ON
ASC "CMDSY"
MSB OFF
ASC "S"
;
; EXTERNALS USED FROM CMDSYS
;
EXTRN PUTS
EXTRN PUTLN
;
; TERMINATE DEPENDENCY LIST WITH ZERO
;
DB 0
;
; LANGUAGE CARD SWITCHES
;
LCRDEN EQU $C080
LCWTEN EQU $C081
ROMEN EQU $C082
LCRWEN EQU $C083
LCBNK2 EQU $00
LCBNK1 EQU $08
;
; BRK HANDLER REGISTER SAVE LOCATIONS
;
BRKA EQU $45
BRKX EQU $46
BRKY EQU $47
BRKP EQU $48
BRKS EQU $49
BRKPCL EQU $3A
BRKPCH EQU $3B
BRKVEC EQU $3F0
CTRLY EQU $3F8
;
; DATA AND 6502 CODE SEGMENT
;
SYSBRK DB $4C ; JMP OPCODE
SYSBRKVEC DW 0 ; SYS BRK HANDLER ADDRESS
;
; CHECK BRK ADDRESS FOR NEXTOP
;
BRKCHK LDA BRKPCH
BNE SYSBRK
LDA BRKPCL
CMP #NEXTOP+2
BNE SYSBRK
LDA $C000
CMP #$83 ; CTRL-C
BNE BRKRET
LDA $C010
JMP -151
BRKRET LDA BRKP
BIT LCRDEN+LCBNK2
PHA
PLP
LDY BRKY
LDX BRKX
LDA BRKA
INY
JMP FETCHOP
;
; INITIALIZE MODULE AND RETURN MOD KEEP STATUS
;
INIT LDA BRKVEC ; SAVE CURRENT BRK VECTOR TO SYS VECTOR
STA SYSBRKVEC
LDA BRKVEC+1
STA SYSBRKVEC+1
LDA #>BRKCHK
STA BRKVEC
LDA #<BRKCHK ; INSERT BRK_CHK ROTUINE INTO BRK VECTOR
STA BRKVEC+1
LDA #$00 ; BRK INSTRUCTION
STA NEXTOP ; OVERWRITE NEXTOP
;
; SET CTRL-Y TO RESUME VM
;
LDA #$4C ; JMP OPCODE
STA CTRLY
LDA #>BRKRET
STA CTRLY+1
LDA #<BRKRET
STA CTRLY+2
;
; RETURN MODKEEP TO LEAVE THE MODULE IN MEMORY
;
LDA #>MODKEEP
LDY #<MODKEEP
DEX
STA ESTKL,X
STY ESTKH,X
RTS
;
; EXT REL DEFSEG
;
INCLUDE INC/EXTDEFSEG.INC

@ -163,6 +163,8 @@ cp samplesrc/testrel.asm prodos/bld/samples/TESTREL.ASM.TXT
cp samplesrc/testext.asm prodos/bld/samples/TESTEXT.ASM.TXT
cp samplesrc/testasm.pla prodos/bld/samples/TESTASM.PLA.TXT
cp libsrc/apple/debug.asm prodos/bld/samples/DEBUG.ASM.TXT
mkdir prodos/bld/scripts
cp scripts/rod.4th prodos/bld/scripts/ROD.4TH.TXT
cp scripts/bounce.4th prodos/bld/scripts/BOUNCE.4TH.TXT