.export _set_brk, _reset_brk
.destructor _reset_brk
- .export _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
+
+ ; Be sure to export the following variables absolute
+ .export _brk_a: abs, _brk_x: abs, _brk_y: abs
+ .export _brk_sr: abs, _brk_pc: abs
.include "apple2.inc"
sta oldvec+1 ; Save the old vector
L1: lda #<brk_handler ; Set the break vector to our routine
+ ldx #>brk_handler
sta BRKVec
- lda #>brk_handler
- sta BRKVec+1
+ stx BRKVec+1
rts
.endproc
.proc _reset_brk
lda oldvec
- bne @L1
- ldx oldvec
+ ldx oldvec+1
beq @L9 ; Jump if vector not installed
-@L1: sta BRKVec
+ sta BRKVec
stx BRKVec+1
+ lda #$00
+ sta oldvec ; Clear the old vector
+ stx oldvec+1
@L9: rts
.endproc