]> git.sur5r.net Git - cc65/blobdiff - libsrc/apple2/break.s
fix comments
[cc65] / libsrc / apple2 / break.s
index d9d029805341e91b7c082137105c5cf020f6cd73..e645bfde990243f59c6c3007209ef974e7e739af 100644 (file)
@@ -7,7 +7,10 @@
 
                .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"
 
@@ -44,9 +47,9 @@ uservec:      jmp     $FFFF           ; Patched at runtime
        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
@@ -56,11 +59,13 @@ L1: lda     #<brk_handler   ; Set the break vector to our routine
 .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