1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-03 10:07:02 +00:00
cc65/libsrc/pet/kbrepeat.s

30 lines
778 B
ArmAsm
Raw Normal View History

;
; unsigned char __fastcall__ kbrepeat (unsigned char mode);
;
; 2017-06-16, Groepaz
; 2017-09-05, Greg King
;
2016-02-28 21:13:05 +00:00
.export _kbrepeat
2016-02-28 21:13:05 +00:00
2017-06-17 00:37:34 +00:00
.include "pet.inc"
2016-02-28 21:13:05 +00:00
_kbrepeat:
ldx #>$0000
ldy SCR_LINELEN
cpy #40 + 1
bcc L1 ; branch if screen is 40 columns wide
ldy KBDREPEAT80 ; get old value
sta KBDREPEAT80 ; store new value
tya ; return old value
rts
L1: tay
lda KBDREPEAT40B ; get REPEAT-key flag (used by some editor ROMs)
lsr a ; move bit 0 into bit 7
ror a
ora KBDREPEAT40 ; combine with old key-REPEAT flags
sty KBDREPEAT40
2016-02-28 21:13:05 +00:00
rts