mirror of
https://github.com/cc65/cc65.git
synced 2025-01-11 11:30:13 +00:00
Squeezed bytes and cycles out of the kbhit functions for almost all platforms.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4480 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
7357b44104
commit
bfbf94404b
@ -1,17 +1,23 @@
|
||||
;
|
||||
; Christian Groessler, 19-Feb-2000
|
||||
;
|
||||
; int kbhit (void);
|
||||
; unsigned char kbhit (void);
|
||||
;
|
||||
|
||||
.export _kbhit
|
||||
.import return0, return1
|
||||
.import return1
|
||||
|
||||
.include "atari.inc"
|
||||
|
||||
_kbhit:
|
||||
ldx CH ; last pressed key
|
||||
inx ; 255 means "no key"
|
||||
bne L1
|
||||
jmp return0
|
||||
L1: jmp return1
|
||||
.proc _kbhit
|
||||
|
||||
ldx CH ; last pressed key
|
||||
inx ; 255 means "no key"
|
||||
bne L1
|
||||
txa ; X = A = 0
|
||||
rts
|
||||
L1: jmp return1
|
||||
|
||||
.endproc
|
||||
|
||||
|
||||
|
@ -1,21 +1,25 @@
|
||||
;
|
||||
; Ullrich von Bassewitz, 18.08.1998
|
||||
;
|
||||
; int kbhit (void);
|
||||
; unsigned char kbhit (void);
|
||||
;
|
||||
|
||||
.export _kbhit
|
||||
.import return0, return1
|
||||
|
||||
.include "c128.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
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,20 +1,25 @@
|
||||
;
|
||||
; 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
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,20 +1,23 @@
|
||||
;
|
||||
; Ullrich von Bassewitz, 06.08.1998
|
||||
;
|
||||
; int kbhit (void);
|
||||
; unsigned char kbhit (void);
|
||||
;
|
||||
|
||||
.export _kbhit
|
||||
.import return0, return1
|
||||
|
||||
.include "c64.inc"
|
||||
|
||||
_kbhit:
|
||||
|
||||
.proc _kbhit
|
||||
|
||||
ldx #0 ; High byte of return is always zero
|
||||
lda KEY_COUNT ; Get number of characters
|
||||
bne L1
|
||||
jmp return0
|
||||
L1: jmp return1
|
||||
|
||||
beq L9
|
||||
lda #1
|
||||
L9: rts
|
||||
|
||||
.endproc
|
||||
|
||||
|
||||
|
||||
|
@ -1,23 +1,24 @@
|
||||
;
|
||||
; Ullrich von Bassewitz, 06.08.1998
|
||||
;
|
||||
; int kbhit (void);
|
||||
; unsigned char kbhit (void);
|
||||
;
|
||||
|
||||
.export _kbhit
|
||||
.import return0, return1
|
||||
.import keyidx: zp
|
||||
|
||||
|
||||
.proc _kbhit
|
||||
lda keyidx ; Get number of characters
|
||||
bne L1
|
||||
jmp return0
|
||||
L1: jmp return1
|
||||
.proc _kbhit
|
||||
|
||||
ldx #0 ; High byte of return is always zero
|
||||
lda keyidx ; Get number of characters
|
||||
beq L9
|
||||
lda #1
|
||||
L9: rts
|
||||
|
||||
.endproc
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,23 +1,22 @@
|
||||
;
|
||||
; Ullrich von Bassewitz, 06.08.1998
|
||||
;
|
||||
; int kbhit (void);
|
||||
; unsigned char kbhit (void);
|
||||
;
|
||||
|
||||
.export _kbhit
|
||||
.import return0, return1
|
||||
.import keyidx: zp
|
||||
|
||||
|
||||
.proc _kbhit
|
||||
lda keyidx ; Get number of characters
|
||||
bne L1
|
||||
jmp return0
|
||||
L1: jmp return1
|
||||
.proc _kbhit
|
||||
|
||||
ldx #0 ; High byte of return is always zero
|
||||
lda keyidx ; Get number of characters
|
||||
beq L9
|
||||
lda #1
|
||||
L9: rts
|
||||
|
||||
.endproc
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -7,12 +7,16 @@
|
||||
; unsigned char kbhit (void);
|
||||
|
||||
.export _kbhit
|
||||
.import return0, return1
|
||||
|
||||
.include "../inc/geossym.inc"
|
||||
|
||||
_kbhit:
|
||||
lda pressFlag
|
||||
bmi L1
|
||||
jmp return0
|
||||
L1: jmp return1
|
||||
.proc _kbhit
|
||||
|
||||
ldx #0 ; High byte of result
|
||||
lda pressFlag
|
||||
rol ; Bit 7 is new key flag
|
||||
txa ; A = 0
|
||||
rol
|
||||
rts
|
||||
|
||||
.endproc
|
||||
|
@ -7,7 +7,7 @@
|
||||
.export _kbhit
|
||||
.export KBEDG
|
||||
.export KBSTL
|
||||
.import return0, return1
|
||||
.import return1
|
||||
|
||||
; --------------------------------------------------------------------------
|
||||
; The Atari Lynx has a very small keyboard - only 3 keys
|
||||
@ -49,7 +49,8 @@ _kbhit:
|
||||
sta KBNPR ; inverted previous ones pressed
|
||||
stx KBPRV
|
||||
lda KBEDG
|
||||
beq @L1
|
||||
beq @L1
|
||||
jmp return1 ; Key hit
|
||||
@L1:
|
||||
jmp return0 ; No new keys hit
|
||||
|
||||
@L1: tax ; No new keys hit
|
||||
rts
|
||||
|
@ -1,20 +1,22 @@
|
||||
;
|
||||
; Ullrich von Bassewitz, 26.11.1998
|
||||
;
|
||||
; int kbhit (void);
|
||||
; unsigned char kbhit (void);
|
||||
;
|
||||
|
||||
.export _kbhit
|
||||
.import return0, return1
|
||||
|
||||
.include "pet.inc"
|
||||
|
||||
_kbhit:
|
||||
lda KEY_COUNT ; Get number of characters
|
||||
bne L1
|
||||
jmp return0
|
||||
L1: jmp return1
|
||||
|
||||
|
||||
|
||||
.proc _kbhit
|
||||
|
||||
ldx #0 ; High byte of return is always zero
|
||||
lda KEY_COUNT ; Get number of characters
|
||||
beq L9
|
||||
lda #1
|
||||
L9: rts
|
||||
|
||||
.endproc
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
@ -1,20 +1,23 @@
|
||||
;
|
||||
; Ullrich von Bassewitz, 06.08.1998
|
||||
;
|
||||
; int kbhit (void);
|
||||
; unsigned char kbhit (void);
|
||||
;
|
||||
|
||||
.export _kbhit
|
||||
.import return0, return1
|
||||
|
||||
.include "vic20.inc"
|
||||
|
||||
_kbhit:
|
||||
|
||||
.proc _kbhit
|
||||
|
||||
ldx #0 ; High byte of return is always zero
|
||||
lda KEY_COUNT ; Get number of characters
|
||||
bne L1
|
||||
jmp return0
|
||||
L1: jmp return1
|
||||
|
||||
beq L9
|
||||
lda #1
|
||||
L9: rts
|
||||
|
||||
.endproc
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user