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:
parent
8493c14ee6
commit
3fb399deeb
109
src/libsrc/apple/debug.asm
Normal file
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user