- ;;
- ;; 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