26 lines
581 B
Forth
26 lines
581 B
Forth
start-microcode dna
|
|
|
|
: 1+ d# 1 + ;
|
|
: 2* d# 2 * ;
|
|
|
|
: dna@ ( -- u ) h# 8018 c@ ;
|
|
: dna! ( u -- ) h# 8008 c! ;
|
|
: dnaclk ( u -- ) dup dna! 1+ dna! ;
|
|
: dnaread ( ) d# 4 dnaclk ;
|
|
: dnashift ( ) d# 2 dnaclk ;
|
|
: dnabit ( u -- u ) 2* dna@ + dnashift ;
|
|
: dnabyte ( -- u ) \ read byte from DNA
|
|
d# 0
|
|
dnabit dnabit dnabit dnabit
|
|
dnabit dnabit dnabit dnabit ;
|
|
: main \ write 7 byte DNA to COMM
|
|
dnaread dnashift
|
|
COMM+7 COMM+0
|
|
begin
|
|
dnabyte over c!
|
|
1+ 2dup=
|
|
until
|
|
begin again ;
|
|
|
|
end-microcode
|