P721CEEFAX 721 Wed 1:@Oct 12:02/24 ‖B22p2213‖a17T/SPKp2‖m33B0e byte shifted rigXt@#.e bUt@a↑d@bit÷eseme→ rUplaceh@w ith bit zero.÷e÷e÷e W←←←←J←←←←JJJ- →←←←+ Rotate W←←←←←←←←-←←←←←←←-+÷e ‖‖@7 n@u 4@3@2 1 0 ‖‖ J←←--←←←-> ‖‖ p@7@6@k 4@3 2 1 ‖‖÷e W←←←←←←-←-←← J←←←←J+ W←-←←←←←←←←←--JJ--+÷e ÷e÷eThe bits in the accuUulator can be r otated with the following code:÷e÷e÷e @0PA@ @ < temp#raty@store@for tPe by te÷e ROR A < rotate@one bit righ tX@bjt@zer#@j→t#@catry÷e@@ @@ PLA@ @ < restore byte÷e ROR A ½ rotate o nj@bit right, catry i→to@bit@seven÷e÷e÷e Each word or word-part in word PHROM A h av@a↑ arvociateh@word ↑aZj. Thj÷echaract ers of each word name are stored in reve rse order (eg. ACORN is÷estored as NROCA ) with the bit1 in ever8 byte of the wor d naZe rotated.÷e÷eRjversed data have@jv ery bit in a byte stored in river1e orde r.÷e÷e÷e W←←←--←←←←←←←←←←←←+ Reve rse +-----------------+÷e >‖ 7 6 k 4 3 2 1 p ‖‖ -←←←←←←←-> ‖‖ 0 1 2 3 4
P721CEEFAX@/21 W  @21:1%/h/ ‖B22x3213‖a17T/SPKp2‖m3757 +- →←←←←←←←←←←←←←←←+÷e÷e÷e(hj bits in tPj a ccumulator can be reversed with the foll #oi-F@f#Hju¾U¾e¾U@@@@@@@'IA@F/p@@@@@@@@@ ½ store byte in &70÷e ROL &70 < bit 7 oe &70 into carry÷e RO R A < carry to bit@7 of accuUu lator÷e ROL &70 < bit 6 in to carry÷e ROR A ↑ bit 7 to bit 6, carry to bit@7÷e ROL &7 0 < bit 5 into@carry÷e ROR @B@ @@@ @ @@ <@b↑h@so@#→@...÷e@@@@ @@R @F/p÷e@@ RO$ A÷e@@ ROL &70÷e@ R R A÷e@ @ROL F/0÷e ROR A÷e ROL &70÷e ROR A÷e ROL @&70÷e ROR A < bits in a ccumulator reversed÷e÷e÷eThe speech data @vtoreh j→ a@worh@0H% Z@arK@remersed@so that they are in a÷esuitabli format to b e feh directly to tPj@speech ptocessor. Whj↑ tPe +peaR÷eExternal coUJand is used to speaR data stored im RAM, those data Zust@also÷ebe reverseh.÷e÷eThj@contents @b↑d tra.vf#rUatio.s@of@worh@PH" @A@ati
P721CEEFAX 721 Wed 19 Oct 12:10/24 ‖B220)213‖a17T/SPKp%‖Z3B0p-←-+-←←←←←←←← ←←←←←←←←←←←--←←←←←-←←←←←←←←←←+←←J←←←←←← ------+÷e‖‖ Address >‖ Content1 @ @@@@ @@@@@ @ @ @@‖‖@Ttanvl#rmati on ‖‖÷e+-------------+------------------ --←-----←-----←------+-----←----------+÷ e‖‖ &00 ‖‖ PHR M format type (%0 p j→ PPR Z@B) ‖‖@No.e@ ‖‖÷e‖ ‖ &01 ‖‖ File data flag (&FF in PPR Z@A) ‖‖@No.j @ @ ‖‖÷e‖‖ &p2 ‖‖ ASCII "(" (hex. &28) ‖‖ None ‖‖÷e‖‖ &0 3 ‖‖ ASCII "C" (hex. &43) @ ‖‖@Nonj ‖‖÷e‖‖@&p) ‖‖ ASCII ")" (hex. &29) ‖‖ Nomj@ ‖‖÷e‖‖ &p5 - &35 ‖‖ Text - 3 strings separated by & 00 ‖‖ Nomj ‖‖÷e‖‖ &36@- &3 7 ‖‖ PHROM serial number (&0 in PHROM AQ ‖‖@No→j @@ @‖‖÷e‖‖ F68@↑ Fs9@ >‖ Number of ─SCII words (&005F) ‖‖ Number@of pointers (%0104) ‖‖@No↑j @ @ ‖‖÷e‖‖@F3C@- &3D@ ‖‖
P721CEEFAX 721 Wed 19@Oct 12:11/28 >B22082)3‖a97T/SPKX2>m4)96Adecremint cou ↑ter÷e 330 BNE agai→ ½ if n ot 0 do it again÷e @340 RTS÷e 3 60@→÷e @360@NEX(÷e 3/0@ NPS jsv &$statt$÷i @380@statt=E.AL("&"+start $)÷e 390 IF start > &3FFC THEN 370÷e 4 00 INPUT"End addriss &"end$÷e 410 end =EVAL(!%"+end$)÷e 420 IF end > &3FFF TH EN 400÷e 430 A%=&9FzREM:@wtite to speec P@ptocecs#r÷e@@44p@:E=&4p+(statt@AND@&F) :REM5 add Load Address command to LS nyb ble÷e 450@CALL osbyte:REM:@write LS nyb ble with Load Address command÷e 460 9%= &40+(statt AND &Fp)D . &1p÷e 470 CALL o sbyte÷e@@48p@:%>&4p+(statt AND@FF0p)DI. &100÷i 490@CALL osbute÷e 500 Y%=&4C+(s tart AND &F000)DIV &1000÷e 510 CALL osb yte÷i k20 Y%=&43:REM: fifth byte always @£&43÷e 530 CALL osbyte÷e 540 INPUT"Pr inter (Y/N) "yes$÷i u50 IF LEFT$(yes$,1 ) ="Y" THEN WDU15,2÷e 560 PRINTF"Addr"; ÷e u70 0R NTTABQ 580 PRINTTABX28);"Rotated";÷e 590 PRINT TAB(47);"Reversed"'÷e 600 FOR bloc+=sta
P721CEEFAX 721 Wed 19 Oct 12:12/21 ‖B2209213‖a17T/SPKp2‖m41D1610 PRINT;"p"; ÷U@@n%p@ FWF NU p@ FWFR NRI NT;‖÷blocS;" ";÷e 650 FOR memory=0 TO 3÷e 660 b=te(memor9)=USRhriad)AND &FF■ e 670 A%=byte(memory)÷e 680 byte(memor z+4)=USRXrotate)AND &FF÷e 690 byte(memo ry+8)=USR(reverse)AND &FF÷e /00 IF A%<1 6 VDU48÷e 710 PRINT;‖÷─%;" ";÷e 720 GE XT÷e /30 FOR me←#ry=0 TO 3¾K /40 A%=by te(memory)÷e 750 IF A%>31 AND A%<127 VD UAE@JLSE@.D+4n÷i@@/60@NEXT÷e@@7/0 PR NT; " ";÷e 780 FOR memory=4 TO 7÷e 790 A %=byte(←emory)÷e 8p0 IF A%<16 .D+48÷e 810 0RINT;‖÷A%;" ";÷e 820 NEXT÷e 830 F R memory=4 TO 7÷e 840 A%=byte(memory)÷ e 850 IF A%>31 AND A%>127 VDUA% ELSE WD U)n÷e@ 860@NEXT÷e 870@PR N 80 FOR memory=8 TO 11÷e 890 A%=byte(mem ory)÷e :00 IF A%<16 .DU48÷e 910 PRIN(; ‖÷A%;" ";÷e =20 NEXT÷e 930 FOR memory= 8 TO 11÷e 9)0 A%=byte(memory)÷e 950 IF A%>31 AND A%<127 .DUA% ELSE VDU46÷e 96 0@NEX(÷e@@:70 0R NTNEXT
P721CEEFAX 721 Wed 19 Oct 12:12/12 ‖B220A213‖a17T/SPKp2‖m42pB4$÷e 1010 IF L EFT$(yes$,1)="Y" THEN RUN÷e 1p20 END÷i÷e ÷eLoad and run the program and use it to hjsplay tPj first FsB bztes@of@word÷iPH R M A. You should produci a display simi lar to tPj o→j@show→ i→@figuti 2÷e÷e÷e+← ---------------------------------------- -←----------------------+÷e‖‖ Start add ress &0 ‖‖÷e‖‖ End address &sB ‖‖÷e‖‖ 0rinter (Y/N) N ‖‖÷e ‖‖@ @ @ @ @ >‖÷e‖‖ Addr @ @U→tranvforUed Rotated Rjversed >‖÷e‖‖ ‖‖÷e‖‖ 0000 00 FF 28 43 ..(C pp FF 24@A1@↑.↑. 0p@FF 24 C2@.↑.. ‖‖÷e‖‖ 0004 29 31 39 38 )198 :4 98 9C 1C .-.. 9) 8C 9C 1C ..-. ‖‖÷e‖‖ p 008 s2 20 41 63 2 Ac 19 10 A0 B1 ... . 4C p4 82 C6 L... ‖‖÷e‖‖ 000C 6F
P721 EEFAX@/22 W  11:k+/2p >B220D213‖a17T/SPKp2‖m42BA3‖‖ Addr + ↑tra.sform Rotated RB ve7sed ‖÷e‖‖ ‖‖÷e‖‖ 003C 00 J2 00 p2 ... 0 0 p1 p0 01 .@O. 00 , 00 40 .@.@ ‖‖÷e ‖‖ 04 pA 4 u3 AC .@S. 5 2 A9 5 6 . .1 50 p2 CA 7 P.↑5 ‖‖÷e‖‖ 0044 4z 60 FC E0 I‖─.. A, 30 7E 0 .p‖÷p 22 06 3E 07 .→?. ‖‖÷e‖‖ 0048 EF E0 nI 1 .X←. F/@/0 B- 08 .p.. F7 07 B n 08 ....@ ‖‖÷e‖‖ 0 )C nC p Dk ‖0 l- . (m 48 E: 48 nOOO @sm p9@CB p9@6... ‖‖÷@‖‖ 0p+p@ n% 0 BE@k@ bPu @@p1@2 8 $E 28 )(.( 4n 0A FD 0A F... ‖÷ ‖‖ 0pk) 2E@1C A% 3 ...) 17 pE p1 1A . .Q. /4 38 45 *C t8E, ‖÷e‖‖ 00+8 0 @@p 84@C,@↑→→)@@@pm@:0 44 n%@.PBb@@@p0@ 0k@21 2s p↑!£ ‖‖÷ ‖‖ 0 kC D1 ) p1 z 4 O4.. E8 1A 80 4A ...J 8B 2C 80 29 .,.) ‖÷e‖‖ 0060 EC 20 53 A0 . S. 76 10 A9 50 v..P 37 p4 CA p5 7... >‖÷ e‖‖ >  : ‖‖÷e‖‖ 00F0
P721CEEFAX 721 Wed 1z@ ct 12:07/28 >B220F213‖a1/T/@PKp%‖m4@24 @ > 2 @@ @4 ↑ jh FF 2:@3&@E .Q*% FF 4A n-@26 ↑ .% >‖÷e‖‖ 824C 72 5C )0 50 b½>─P 3 ‖‖ 28 1&4( &4 @ ‖‖ pA F:.. ‖ fe >‖ 8250 10 28 83 bB (.. 08 4 C1 D @.↑.. 08 24 C& 3D@.... ‖‖÷e‖‖ p%5) A2 26 Cp 00 /&.. 51 13 50 00 Q ‖─. 45 6) 03 00 Ed.. ‖‖÷e‖‖ p258 3 k2 6A 4 ?Rjd F 29 35 32 )5 FC 4A 56 @4n@‖ &%@ ‖ &F‖ p% C@@@kC@ 0@ 0@20 <‖C P. 2E 30 28 08 0(. 3A 16 0A 0 :... ‖‖÷e‖‖ p260 28 83 BB A2 (... 14 C 1 Ep k1 @@@@ 14 C1 Dm 4s O@ @@ ‖÷e‖‖ p&n) & C1 pp pp & ↑↑ 2k np d pp ‖─p2 ) 3 00 00 d↑-. ‖‖÷e‖‖ p% 8 00 3 FF 2 .OR 00 81 FF 29 ...) 00 F A ‖‖÷e‖‖ p C 2 8A zC yC@b↑ ↑@ @g1 4: 4E 4F@2JNO @ 4n@u1 ky@/z FQ > ÷e‖‖ 827p A B1 4F WP O 5 8 8 A7 T(.. 15 pA 8D F2 . .. ‖‖ ÷e‖‖@ @ @ 1 @ 2 ‖) R ‖‖÷eW←←← ←←←← ←←←←←