4b71f0a344
I was sampling DO at the wrong moment, so my input was always one-off.
11 lines
377 B
Plaintext
11 lines
377 B
Plaintext
: (spie) DROP ; ( always enabled )
|
|
: (spix) ( x -- x, for port B )
|
|
0 SWAP ( rx tx ) 8 0 DO
|
|
( send current bit to TRB, TR's output bit )
|
|
DUP 7 I - RSHIFT 1 AND _TRB!
|
|
1 _THB! ( CLK hi )
|
|
( read into rx ) SWAP 1 LSHIFT _D1@ ( tx rx<< x )
|
|
0 _THB! ( CLK lo )
|
|
( out bit is the 6th ) 6 RSHIFT 1 AND OR
|
|
SWAP LOOP ( rx tx ) DROP ;
|