!to "c64kernal.prg", cbm
!addr inp_device = $99
!addr chars_in_keyb_buf = $c6
!addr keyb_buf = $0277
; -- Input from keyboard --
*=$e5b4
inp_from_keyb
ldy keyb_buf ; $0277
ldx #0
-
lda keyb_buf+1,x ; $0278
sta keyb_buf,x ; $0277
inx
cpx chars_in_keyb_buf ; $c6
bne -
dec chars_in_keyb_buf ; $c6
tya
cli
clc
rts
; -- Get from RS232 --
; (noch nicht implementiert)
*=$f086
get_from_rs232
rts
; -- Get ... --
*=$f13e
get_dots
lda inp_device ; $99
bne +
; Eingabe von Tastatur
lda chars_in_keyb_buf; $c6
beq ++
sei
jmp inp_from_keyb ; $e5b4
+
cmp #2
bne $f166
dots_from_rs232
sty $97
jsr get_from_rs232
ldy $97
++
clc
rts
; -- Input ($f157) --
; (noch nicht implementiert)
*=$f166
rts
; -- Sprungtabelle
*=$ffe4
getin
jmp get_dots ; ($032a) -> $f13e