]> git.sur5r.net Git - cc65/blobdiff - libsrc/pet/break.s
no TGI_ERR_NO_MEM or TGI_ERR_NO_IOCB anymore: replaced by TGI_ERR_NO_RES
[cc65] / libsrc / pet / break.s
index 2c85a49af9583e6065adbb3420e4570589a806f4..7d31c679d70dc91731b75222814ab71b18a40872 100644 (file)
@@ -44,9 +44,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 +56,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