]> git.sur5r.net Git - cc65/blobdiff - libsrc/apple2/break.s
added sleep() implementation
[cc65] / libsrc / apple2 / break.s
index d9d029805341e91b7c082137105c5cf020f6cd73..b4f44977af6cbaefa9207565611c50333b1251dc 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