Node 706
MMC controller node - read.
Source code
706 mmc read
reach 00 c 1 d 1 r 3 d path lit a ! 1202F code ! ! ! ;
wout 04 w 5611 wout !b !b ;
r1 06 -n 12028 r1 !b @b ;
64* 08 2* 2* 2* 2* 2* 2* ;
pack 0A @b 64* @b or 64* @b or ! ;
adr 0D n-0aa push dup dup or pop dup
11 for 2/ unext push 2* 2* 2* 2* pop ;
cmd 14 nc-f push adr pop or wout wout wout r1 ;
b/2 1A 127 for pack next ;
cs- 1F 12008 cs- !b ;
dsk 21 n @p drop !p ;
blk@ 22 n dup 0 . + 14400 cmd drop
767 5634 dat@ !b !b 81 reach 561A write ! n ! b/2
7F reach b/2 cs- ;
work 33 909 for pop dup push blk@ next ;
go 39 work a right a! 12000 go ! a! rd-- 3F
init left b! down a! --l- ; 44
2 l 0 u 0 ether
reach 00 c 1 d 1 r 3 d path lit a ! 1202F code ! ! ! ;
wout 04 w 5611 wout !b !b ;
r1 06 -n 12028 r1 !b @b ;
64* 08 2* 2* 2* 2* 2* 2* ;
pack 0A @b 64* @b or 64* @b or ! ;
adr 0D n-0aa push dup dup or pop dup
11 for 2/ unext push 2* 2* 2* 2* pop ;
cmd 14 nc-f push adr pop or wout wout wout r1 ;
b/2 1A 127 for pack next ;
cs- 1F 12008 cs- !b ;
dsk 21 n @p drop !p ;
blk@ 22 n dup 0 . + 14400 cmd drop
767 5634 dat@ !b !b 81 reach 561A write ! n ! b/2
7F reach b/2 cs- ;
work 33 909 for pop dup push blk@ next ;
go 39 work a right a! 12000 go ! a! rd-- 3F
init left b! down a! --l- ; 44
2 l 0 u 0 ether
Definitions
- reach
- .
- wout
- .
- r1
- .
- 64*
- .
- pack
- .
- adr
- .
- cmd
- .
- b/2
- .
- cs-
- .
- dsk
- .
- blk@
- .
- work
- .
- go
- .
- init
- Set registers A and B, and jump to LEFT.