mirror of
https://github.com/cc65/cc65.git
synced 2024-12-25 02:29:52 +00:00
5741b6e7d3
git-svn-id: svn://svn.cc65.org/cc65/trunk@4717 b7a2c559-68d2-44c3-8de9-860c34a00d81
26 lines
563 B
ArmAsm
26 lines
563 B
ArmAsm
;
|
|
; 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:
|
|
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
|