]> git.sur5r.net Git - cc65/blobdiff - libsrc/plus4/kbhit.s
Squeezed bytes and cycles out of the kbhit functions for almost all platforms.
[cc65] / libsrc / plus4 / kbhit.s
index 2a804cd5ba0bc940a5694c82cda4722da4d1a249..87e379955735f86a6c9c9e46c2b2cab725f34b3e 100644 (file)
@@ -1,21 +1,24 @@
 ;
 ; Ullrich von Bassewitz, 06.08.1998
 ;
-; int kbhit (void);
+; unsigned char kbhit (void);
 ;
 
        .export         _kbhit
-       .import         return0, return1
-       
+
        .include        "plus4.inc"
 
-_kbhit:
+
+.proc   _kbhit
+
+        ldx     #0              ; High byte of return is always zero
        lda     KEY_COUNT       ; Get number of characters
        ora     FKEY_COUNT      ; Or with number of chars from function keys
-       bne     L1
-       jmp     return0
-L1:    jmp     return1
+        beq     L9
+        lda     #1
+L9:     rts
 
+.endproc