X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2Fapple2%2Fcgetc.s;h=511e434df089735e43d6e70d53d086be70318087;hb=7ebaec18024dc2a94de538637c20c5b4c65e530c;hp=7d540ee0f8bc5d76afce0b75b1122455e0ff63eb;hpb=53dd513176425872128ef26031d00952ef7a0628;p=cc65 diff --git a/libsrc/apple2/cgetc.s b/libsrc/apple2/cgetc.s index 7d540ee0f..511e434df 100644 --- a/libsrc/apple2/cgetc.s +++ b/libsrc/apple2/cgetc.s @@ -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