\ register map Variable scomp : eqnx ( n -- ) scomp $@ ['] Value execute-parsing ; : eqn ( n -- ) name count scomp $! s" 0" scomp $+! $8000 + 4 0 DO dup eqnx $800 + scomp $@ + 1- dup c@ 1+ swap c! LOOP $7FF and $C000 or 'A scomp $@ + 1- c! eqnx ; : eqcram ( n -- ) name count scomp $! s" 0" scomp $+! 8 0 DO dup eqnx dup $80 and IF $780 + ELSE $80 + THEN scomp $@ + 1- dup c@ 1+ swap c! LOOP $7FF and $4000 or dup 'A scomp $@ + 1- c! eqnx $80 xor dup 'B scomp $@ + 1- c! eqnx drop ; : eqabram ( n -- ) name count scomp $! s" 0" scomp $+! 8 0 DO dup eqnx dup $200 and IF $600 + ELSE $200 + THEN scomp $@ + 1- dup c@ 1+ swap c! LOOP $7FF and $4000 or dup 'A scomp $@ + 1- c! eqnx $200 xor dup 'B scomp $@ + 1- c! eqnx drop ; : stn ( n -- ) name count scomp $! s" 0" scomp $+! $A000 + 4 0 DO dup eqnx $800 + scomp $@ + 1- dup c@ 1+ swap c! LOOP $7FF and $E000 or 'A scomp $@ + 1- c! eqnx ; $070 eqabram COEFF# $071 eqabram COEFF0 $400 eqcram MIX $414 eqcram XOVER $414 eqcram XOVER0 $419 eqcram XOVER1 $41E eqcram XOVER2 $423 eqcram XOVER3 $428 eqcram PEQ $428 eqcram PEQ0 $42D eqcram PEQ1 $432 eqcram PEQ2 $437 eqcram PEQ3 $43C eqcram PEQ4 $441 eqcram PEQ5 $446 eqcram PEQ6 $44B eqcram PEQ7 $450 eqcram ICOMP $450 eqcram ICOMP0 $455 eqcram ICOMP1 $470 eqcram COEFFS $000 eqn CONF $001 eqn ENABLE $002 eqn COARSED $003 eqn FINED $004 eqn TONEC $005 eqn DZTIME $080 eqn AUDIOFMT $E000 Constant MVOLT $E001 Constant MVOL $E002 Constant VRD $E003 Constant VRT $000 stn VOLT $001 stn VOL $004 stn NOVAMASK $005 stn NOVARATE $100 stn STCTL $101 stn STCLIP $102 stn STTIME $103 stn STCONF $104 stn STNOVALOAD $105 stn STPOWER $106 stn STSETUP $107 stn STSRCNT $108 stn STLMAX $109 stn STRMAX $10A stn STLPTE $10B stn STRPTE $10C stn STLSHORT $10D stn STRSHORT $110 stn STLDATACOND $111 stn STRDATACOND $112 stn STLDATAPOW $113 stn STRDATAPOW $114 stn STTSIGCTL \ nad only $115 stn STATUS \ nad only $E200 Constant STSNSSETUP $E7F0 Constant STSTATE0 $E7F1 Constant STSTATE1 $E7F2 Constant STSTATE2 $E7F3 Constant STSTATE3 $E7F8 Constant STEVENT0 $E7F9 Constant STEVENT1 $E7FA Constant STEVENT2 $E7FB Constant STEVENT3 $E7FF Constant STIRQM $C7F8 Constant EQIRQ $C7FF Constant EQIRQM $C100 Constant GPIO_DATA $C101 Constant GPIO_DIR $C102 Constant GPIO_DEBOUNCE0 $C103 Constant GPIO_DEBOUNCE1 $C104 Constant GPIO_CONFIG $8C1B Constant R_AND_D_SET $C200 Constant CLK_CTL ' CLK_CTL >name cell- AConstant last-reg ' COEFF#0 >name cell- AConstant first-reg : reg>name ( reg -- addr u ) >r last-reg BEGIN dup cell+ name> execute r@ <> WHILE @ dup first-reg u< UNTIL drop r> base push hex 0 <# #S '$ hold #> ELSE rdrop cell+ count $1F and THEN ; : old-audiofmt ( -- ) $8100 to AUDIOFMT0 $8900 to AUDIOFMT1 $9100 to AUDIOFMT2 $9900 to AUDIOFMT3 $C100 to AUDIOFMTA ;