pub command(lanc1, lanc2) | uc
if (framecount == 0)
return false
rx_byte add rxtimer, bit1x5
:loop waitcnt rxtimer, bit1x0
test siomask, ina wc
shr rxwork, #1
muxc rxwork, #%1000_0000
djnz rxbits, #:loop
waitcnt rxtimer, #0
xor rxwork, #$FF
mov phsa, #0
mov losflag, #0
receive_ret ret
usercmd := uc
Long time readers may recognize this code as it is
liberated from my DMX receiver object. It's a simple
eight-bit receive UART that also checks the state of a
free-running timer to make sure we have not lost the
intended data stream.