]> git.sur5r.net Git - cc65/blobdiff - libsrc/apple2/cgetc.s
Don't save and restore the zero page locations used.
[cc65] / libsrc / apple2 / cgetc.s
index 7d540ee0f8bc5d76afce0b75b1122455e0ff63eb..511e434df089735e43d6e70d53d086be70318087 100644 (file)
@@ -1,25 +1,25 @@
-       ;;
-       ;; Kevin Ruland
-       ;;
-       ;; char cgetc (void);
-       ;;
-       ;; If open_apple key is pressed then the high-bit of the
-       ;; key is set.
-       
-       .export _cgetc
+;
+; Kevin Ruland
+;
+; char cgetc (void);
+;
+; If open_apple key is pressed then the high-bit of the key is set.
+;
 
-       .include "apple2.inc"
+        .export _cgetc
+
+        .include "apple2.inc"
 
 _cgetc:
-       lda     KEY_STROBE
-       bpl     _cgetc          ; if < 128, no key pressed
-       ;; At this time, the high bit of the key pressed
-       ;; is set
-       sta     CLEAR_KEY_STROBE; clear keyboard strobe
-       bit     OPEN_APPLE      ; check if OpenApple is down
-       bmi     pressed 
-       and     #$7F            ; If not down, then clear high bit
-pressed:       
-       ldx     #0
-       rts
-       
\ No newline at end of file
+        lda     KBD
+        bpl     _cgetc          ; If < 128, no key pressed
+
+        ; At this time, the high bit of the key pressed is set
+        bit     KBDSTRB         ; Clear keyboard strobe
+        .ifdef __APPLE2ENH__
+        bit     BUTN0           ; Check if OpenApple is down
+        bmi     done
+        .endif
+        and     #$7F            ; If not down, then clear high bit
+done:   ldx     #$00
+        rts