2000-05-28 13:40:48 +00:00
|
|
|
;;
|
|
|
|
;; Kevin Ruland
|
|
|
|
;;
|
|
|
|
;; char cgetc (void);
|
|
|
|
;;
|
|
|
|
;; If open_apple key is pressed then the high-bit of the
|
|
|
|
;; key is set.
|
|
|
|
|
|
|
|
.export _cgetc
|
|
|
|
|
|
|
|
.include "apple2.inc"
|
|
|
|
|
|
|
|
_cgetc:
|
2004-03-11 21:54:22 +00:00
|
|
|
lda KBD
|
2000-05-28 13:40:48 +00:00
|
|
|
bpl _cgetc ; if < 128, no key pressed
|
|
|
|
;; At this time, the high bit of the key pressed
|
|
|
|
;; is set
|
2004-03-11 21:54:22 +00:00
|
|
|
bit KBDSTRB ; clear keyboard strobe
|
|
|
|
bit BUTN0 ; check if OpenApple is down
|
2000-05-28 13:40:48 +00:00
|
|
|
bmi pressed
|
|
|
|
and #$7F ; If not down, then clear high bit
|
|
|
|
pressed:
|
2004-03-11 21:54:22 +00:00
|
|
|
ldx #$00
|
2000-05-28 13:40:48 +00:00
|
|
|
rts
|
|
|
|
|