collapseos/blk/587

17 lines
451 B
Plaintext

: (key)
( inc then fetch )
[ ACIAR> LITN ] @ 1+ DUP [ ACIA) LITN ] @ = IF
DROP [ ACIA( LITN ] @
THEN
( As long as R> == W>-1, it means that buffer is empty )
BEGIN DUP [ ACIAW> LITN ] @ = NOT UNTIL
[ ACIAR> LITN ] !
[ ACIAR> LITN ] @ C@
;
: (emit)
( As long at CTL bit 1 is low, we are transmitting. wait )
BEGIN [ ACIA_CTL LITN ] PC@ 0x02 AND UNTIL
( The way is clear, go! )
[ ACIA_IO LITN ] PC!
;