Home » CEEFAX disks » telesoftware10.adl » 16-10-88/T\SPK02
16-10-88/T\SPK02
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » CEEFAX disks » telesoftware10.adl |
Filename: | 16-10-88/T\SPK02 |
Read OK: | ✔ |
File size: | 44E9 bytes |
Load address: | 0000 |
Exec address: | FFFFFFFF |
File contents
The Acorn Speech System - by - Gordon Horsington ---------------------------------------------------- Module 2. The Acorn word PHROM. ------------------------------- The word PHROM used in the Acorn Speech System is a Texas Instruments 16k TMS 6100. It uses a 14 bit address register and, after an address is written into the register, data can be read out one bit at a time and made available to the TMS 5220 Voice Synthesis Processor. The Acorn word PHROM has been named word PHROM A. It is also refered to as word PHROM number &0F. The number &0F is used in the Load Address command but the A in word PHROM A is just a name with little practical use. Data are stored in a word PHROM in three different formats. Each byte is either untransformed, rotated or reversed. The data stored from address &0000 to address &003B are untransformed. The data from &003C to &3FFF are either rotated or reversed. Rotated data have every bit in the byte shifted right one bit and bit seven replaced with bit zero. +-----------------+ Rotate +-----------------+ | 7 6 5 4 3 2 1 0 | ---------> | 0 7 6 5 4 3 2 1 | +-----------------+ +-----------------+ The bits in the accumulator can be rotated with the following code: PHA \ temporary store for the byte ROR A \ rotate one bit right, bit zero into carry PLA \ restore byte ROR A \ rotate one bit right, carry into bit seven Each word or word-part in word PHROM A has an associated word name. The characters of each word name are stored in reverse order (eg. ACORN is stored as NROCA) with the bits in every byte of the word name rotated. Reversed data have every bit in a byte stored in reverse order. +-----------------+ Reverse +-----------------+ | 7 6 5 4 3 2 1 0 | ---------> | 0 1 2 3 4 5 6 7 | +-----------------+ +-----------------+ The bits in the accumulator can be reversed with the following code: STA &70 \ store byte in &70 ROL &70 \ bit 7 of &70 into carry ROR A \ carry to bit 7 of accumulator ROL &70 \ bit 6 into carry ROR A \ bit 7 to bit 6, carry to bit 7 ROL &70 \ bit 5 into carry ROR A \ and so on ... ROL &70 ROR A ROL &70 ROR A ROL &70 ROR A ROL &70 ROR A ROL &70 ROR A \ bits in accumulator reversed The speech data stored in a word PHROM are reversed so that they are in a suitable format to be fed directly to the speech processor. When the Speak External command is used to speak data stored in RAM, those data must also be reversed. The contents and transformations of word PHROM A are shown in figure 1. +-------------+---------------------------------------+----------------+ | Address | Contents | Transformation | +-------------+---------------------------------------+----------------+ | &00 | PHROM format type (&00 in PHROM A) | None | | &01 | File data flag (&FF in PHROM A) | None | | &02 | ASCII "(" (hex. &28) | None | | &03 | ASCII "C" (hex. &43) | None | | &04 | ASCII ")" (hex. &29) | None | | &05 - &35 | Text - 3 strings separated by &00 | None | | &36 - &37 | PHROM serial number (&0 in PHROM A) | None | | &38 - &39 | Number of ASCII words (&005F) | None | | &3A - &3B | Number of pointers (&0104) | None | | &3C - &3D | Pointer to end of *ROM data (&4000) | Reversed | | &3E - &3F | Pointer to end of speech data (&4000) | Reversed | | &40 - &41 | Pointer to first ASCII word (&0250) | Reversed | | &42 - &43 | Pointer to second ASCII word (&35CA) | Reversed | | | | | | &FC - &FD | Pointer to last ASCII word (&269D) | Reversed | | &FE - &FF | Pointer to first word (&0250) | Reversed | | &100 - &101 | Pointer to second word (&025F) | Reversed | | | | | | &246 - &247 | Pointer to last word (&3F9B) | Reversed | | &248 | End of pointer marker (&FF) | Reversed | | &249 - &24F | Word 1 name )521.( | Rotated | | &250 - &258 | Word 1 data : bottom byte first | Reversed | | &259 - &25E | Word 2 name )52.0( | Rotated | | &25F - &26A | Word 2 data | Reversed | | | | | | &3F9A | Last word name Z | Rotated | | &3F9B - FF | Last word data | Reversed | +-------------+---------------------------------------+----------------+ | There is no *ROM data or unused space in word PHROM A | +----------------------------------------------------------------------+ Figure 1. The data stored in word PHROM A ----------------------------------------- The program REVERSE can be used to examine the contents of word PHROM A in more detail. REVERSE uses the Load Address and Read Byte commands to read and then display the contents of the word PHROM. 10 REM: REVERSE 20 MODE3 30 VDU14 40 ON ERROR GOTO 990 50 seventy=&70 60 osbyte=&FFF4 70 DIM mcode &100 80 DIM byte(11) 90 FORpass=0TO2STEP2 100 P%=mcode 110 [ OPT pass 120 .read 130 LDA #&9F \ write to speech processor 140 LDY #&10 \ read byte command 150 JSR osbyte \ send read byte command 160 LDA #&9E \ read speech processor 170 JSR osbyte \ read byte at address register 180 TYA \ result into accumulator 190 RTS 200 .rotate 210 PHA 220 ROR A \ bit 0 into carry flag 230 PLA 240 ROR A \ rotate byte read from PHROM 250 RTS 260 .reverse 270 STA seventy \ store byte in &70 280 LDX #8 \ loop count = 8 290 .again 300 ROL seventy \ bit 7 of &70 into carry 310 ROR A \ carry into bit 7 of accumulator 320 DEX \ decrement counter 330 BNE again \ if not 0 do it again 340 RTS 350 ] 360 NEXT 370 INPUT"Start address &"start$ 380 start=EVAL("&"+start$) 390 IF start > &3FFC THEN 370 400 INPUT"End address &"end$ 410 end=EVAL("&"+end$) 420 IF end > &3FFF THEN 400 430 A%=&9F:REM: write to speech processor 440 Y%=&40+(start AND &F):REM: add Load Address command to LS nybble 450 CALL osbyte:REM: write LS nybble with Load Address command 460 Y%=&40+(start AND &F0)DIV &10 470 CALL osbyte 480 Y%=&40+(start AND &F00)DIV &100 490 CALL osbyte 500 Y%=&4C+(start AND &F000)DIV &1000 510 CALL osbyte 520 Y%=&43:REM: fifth byte always #&43 530 CALL osbyte 540 INPUT"Printer (Y/N) "yes$ 550 IF LEFT$(yes$,1) ="Y" THEN VDU15,2 560 PRINT'"Addr"; 570 PRINTTAB(7);"Untransformed"; 580 PRINTTAB(28);"Rotated"; 590 PRINTTAB(47);"Reversed"' 600 FOR block=start TO end STEP 4 610 IF block < &10 PRINT;"0"; 620 IF block < &100 PRINT;"0"; 630 IF block < &1000 PRINT;"0"; 640 PRINT;~block;" "; 650 FOR memory=0 TO 3 660 byte(memory)=USR(read)AND &FF 670 A%=byte(memory) 680 byte(memory+4)=USR(rotate)AND &FF 690 byte(memory+8)=USR(reverse)AND &FF 700 IF A%<16 VDU48 710 PRINT;~A%;" "; 720 NEXT 730 FOR memory=0 TO 3 740 A%=byte(memory) 750 IF A%>31 AND A%<127 VDUA% ELSE VDU46 760 NEXT 770 PRINT;" "; 780 FOR memory=4 TO 7 790 A%=byte(memory) 800 IF A%<16 VDU48 810 PRINT;~A%;" "; 820 NEXT 830 FOR memory=4 TO 7 840 A%=byte(memory) 850 IF A%>31 AND A%<127 VDUA% ELSE VDU46 860 NEXT 870 PRINT;" "; 880 FOR memory=8 TO 11 890 A%=byte(memory) 900 IF A%<16 VDU48 910 PRINT;~A%;" "; 920 NEXT 930 FOR memory=8 TO 11 940 A%=byte(memory) 950 IF A%>31 AND A%<127 VDUA% ELSE VDU46 960 NEXT 970 PRINT 980 NEXT 990 VDU3 1000 INPUT'"Another (Y/N) "yes$ 1010 IF LEFT$(yes$,1)="Y" THEN RUN 1020 END Load and run the program and use it to display the first &3B bytes of word PHROM A. You should produce a display similar to the one shown in figure 2 +-----------------------------------------------------------------+ | Start address &0 | | End address &3B | | Printer (Y/N) N | | | | Addr Untransformed Rotated Reversed | | | | 0000 00 FF 28 43 ..(C 00 FF 14 A1 .... 00 FF 14 C2 .... | | 0004 29 31 39 38 )198 94 98 9C 1C .... 94 8C 9C 1C .... | | 0008 32 20 41 63 2 Ac 19 10 A0 B1 .... 4C 04 82 C6 L... | | 000C 6F 72 6E 00 orn. B7 39 37 00 .97. F6 4E 76 00 .Nv. | | 0010 57 6F 72 64 Word AB B7 39 32 ..92 EA F6 4E 26 ..N& | | 0014 20 50 48 52 PHR 10 28 24 29 .($) 04 0A 12 4A ...J | | 0018 4F 4D 20 41 OM A A7 A6 10 A0 .... F2 B2 04 82 .... | | 001C 00 31 2E 30 .1.0 00 98 17 18 .... 00 8C 74 0C ..t. | | 0020 30 00 00 00 0... 18 00 00 00 .... 0C 00 00 00 .... | | 0024 00 00 00 00 .... 00 00 00 00 .... 00 00 00 00 .... | | 0028 00 00 00 00 .... 00 00 00 00 .... 00 00 00 00 .... | | 002C 00 00 00 00 .... 00 00 00 00 .... 00 00 00 00 .... | | 0030 00 00 00 00 .... 00 00 00 00 .... 00 00 00 00 .... | | 0034 00 00 00 00 .... 00 00 00 00 .... 00 00 00 00 .... | | 0038 5F 00 04 01 _... AF 00 02 80 .... FA 00 20 80 .. . | | | | Another (Y/N) N | +-----------------------------------------------------------------+ Figure 2. The output from the program REVERSE --------------------------------------------- The first &3B bytes of word PHROM A are untransformed and you can ignore the rotated and reversed columns for the first &3B bytes. The useful information in these first few bytes includes the word PHROM serial number (&0000) in addresses &36 and &37. The number of ASCII associated words is &005F (in addresses &38 and &39) and the number of pointers is &0104 (in addresses &3A and &3B). The reversed data start at &3C. Run the program again starting at &3C. +-----------------------------------------------------------------+ | Start address &3C | | End address &270 | | Printer (Y/N) N | | | | Addr Untransformed Rotated Reversed | | | | 003C 00 02 00 02 .... 00 01 00 01 .... 00 40 00 40 .@.@ | | 0040 0A 40 53 AC .@S. 05 20 A9 56 . .V 50 02 CA 35 P..5 | | 0044 49 60 FC E0 I`.. A4 30 7E 70 .0~p 92 06 3F 07 ..?. | | 0048 EF E0 6D 10 ..m. F7 70 B6 08 .p.. F7 07 B6 08 .... | | 004C 6C 90 D3 90 l... 36 48 E9 48 6H.H 36 09 CB 09 6... | | 0050 62 50 BF 50 bP.P 31 28 DF 28 1(.( 46 0A FD 0A F... | | 0054 2E 1C A2 34 ...4 17 0E 51 1A ..Q. 74 38 45 2C t8E, | | 0058 0C A0 84 C4 .... 06 50 42 62 .PBb 30 05 21 23 0.!# | | 005C D1 34 01 94 .4.. E8 1A 80 4A ...J 8B 2C 80 29 .,.) | | 0060 EC 20 53 A0 . S. 76 10 A9 50 v..P 37 04 CA 05 7... | | : : : | | 00F0 56 E4 3F 7C V.?| 2B 72 9F 3E +r.> 6A 27 FC 3E j'.> | | 00F4 A8 20 78 D8 . x. 54 10 3C 6C T.<l 15 04 1E 1B .... | | 00F8 12 54 A9 84 .T.. 09 2A D4 42 .*.B 48 2A 95 21 H*.! | | 00FC B9 64 0A 40 .d.@ DC 32 05 20 .2. 9D 26 50 02 .&P. | | 0100 FA 40 4E 40 .@N@ 7D 20 27 20 } ' 5F 02 72 02 _.r. | | 0104 0D 40 97 40 .@.@ 86 20 CB 20 . . B0 02 E9 02 .... | | 0108 00 C0 D4 C0 .... 00 60 6A 60 .`j` 00 03 2B 03 ..+. | | : : : | | 0230 1D DC B8 3C ...< 8E 6E 5C 1E .n\. B8 3B 1D 3C .;.< | | 0234 36 3C 43 3C 6<C< 1B 1E A1 1E .... 6C 3C C2 3C l<.< | | 0238 58 BC 76 BC X.v. 2C 5E 3B 5E ,^;^ 1A 3D 6E 3D .=n= | | 023C AD BC 88 7C ...| D6 5E 44 3E .^D> B5 3D 11 3E .=.> | | 0240 61 7C 3F 7C a|?| B0 3E 9F 3E .>.> 86 3E FC 3E .>.> | | 0244 BC FC D9 FC .... 5E 7E EC 7E ^~.~ 3D 3F 9B 3F =?.? | | 0248 FF 52 6A 64 .Rjd FF 29 35 32 .)52 FF 4A 56 26 .JV& | | 024C 62 5C 60 50 b\`P 31 2E 30 28 1.0( 46 3A 06 0A F:.. | | 0250 10 28 83 BB .(.. 08 14 C1 DD .... 08 14 C1 DD .... | | 0254 A2 26 C0 00 .&.. 51 13 60 00 Q.`. 45 64 03 00 Ed.. | | 0258 3F 52 6A 64 ?Rjd 9F 29 35 32 .)52 FC 4A 56 26 .JV& | | 025C 5C 60 50 10 \`P. 2E 30 28 08 .0(. 3A 06 0A 08 :... | | 0260 28 83 BB A2 (... 14 C1 DD 51 ...Q 14 C1 DD 45 ...E | | 0264 26 C0 00 00 &... 13 60 00 00 .`.. 64 03 00 00 d... | | 0268 00 03 FF 52 ...R 00 81 FF 29 ...) 00 C0 FF 4A ...J | | 026C 62 8A 9C 9E b... 31 45 4E 4F 1ENO 46 51 39 79 FQ9y | | 0270 A8 50 B1 4F .P.O 54 28 D8 A7 T(.. 15 0A 8D F2 .... | | | | Another (Y/N) N | +-----------------------------------------------------------------+ Figure 3. Another output from REVERSE ------------------------------------- The data from &3C to &3FFF are either rotated or reversed. You can ignore the untransformed column from &3C to &3FFF. The pointers stored from &3C to &247 are all reversed. The pointer to the start of *ROM data (addresses &3C and &3D) and the pointer to the end of speech data (addresses &3E and &3F) both contain the number &4000. This indicates that there is neither any *ROM data in word PHROM A nor is there any room for it. Addresses &40 (LSB) and &41 (MSB) point to the first ASCII associated word. This word is SPACE (see Appendix B of the Speech System User Guide). The pointer contains the number &0250 which is the address of the data for the word (0.125), the short pause (see Appendix A of the User Guide). The bytes at addresses &42 (LSB) and &43 (MSB) contain the numbner &35CA. This points to the speech data for the ASCII associated word !, which is TEN. There are &5F ASCII associated words (see Appendix B of the User Guide). The pointer for an ASCII associated word, n, from SPACE (n = &20) to ~ (n = &7F) is located at address 2*n in word PHROM A. To find the address of the speech data associated with, for example, ASCII $ you should first multiply the ASCII code for $ by 2, &24*2=&48. The number stored at addresses &48 (LSB) and &49 (MSB) is &07F7. The speech data associated with ASCII $ (which is 4- not the word DOLLAR) starts at &07F7. The last pointer for an ASCII associated word is stored at addresses &FC and &FD. This pointer contains the address of the data associated with the ASCII word ~. The address is &269D, the word is NOT. The pointer to the first (non-ASCII associated) word is stored at addresses &FE (LSB) and &FF (MSB). The address of the start of the speech data for the first word is &0250 and the word is (0.125), the short pause. The pointer to the second word is stored at addresses &100 (LSB) and &101 (MSB). The address of the start of the speech data for second word is &025F and the word is (0.25), the long pause. The pointer to the last word is stored at addresses &246 (LSB) and &247 (MSB). The address of the start of the speech data for the last word is &3F9B and the word is Z. A list of all the words and the addresses of the start of their speech data can be found in Appendix A of the Speech User Guide. The word number for each word in Appendix A is the address of the least significant byte of the associated pointer divided by two. You can use the program REVERSE to correct the typing errors in the list of addresses in Appendix A. The addresses for B, BETWEEN, BOTH, and BUTTON are incorrectly listed in issue 2 of the Speech System User Guide. The byte at address &248 is &FF and this is a marker which can be used to identify the end of the table of pointers. The bits in every byte of the data from address &249 to &24F are rotated. These bytes contain the name of the first word with the bytes in reverse order. The memory locations from &249 to &24F contain the ASCII bytes for the word (0.125) stored as )521.0(. The speech data for the word (0.125) is stored from address &250 to &258. The bits in these bytes are reversed. The most significant nybble of the last byte of the word data is always &F, The stop code nybble. Address &258 stores the byte &FC. The name of the next word starts at address &259 and again the bits are rotated and the bytes are in reverse order. The word name is followed by the speech data terminated by the stop code nybble. The whole of the rest of the word PHROM contains word names, with their bits rotated and bytes in reverse order, and speech data with reversed bits in every byte.
00000000 54 68 65 20 41 63 6f 72 6e 20 53 70 65 65 63 68 |The Acorn Speech| 00000010 20 53 79 73 74 65 6d 20 20 2d 20 20 62 79 20 20 | System - by | 00000020 2d 20 20 47 6f 72 64 6f 6e 20 48 6f 72 73 69 6e |- Gordon Horsin| 00000030 67 74 6f 6e 0d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |gton.-----------| 00000040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000060 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 4d 6f 64 75 6c |---------..Modul| 00000070 65 20 32 2e 20 54 68 65 20 41 63 6f 72 6e 20 77 |e 2. The Acorn w| 00000080 6f 72 64 20 50 48 52 4f 4d 2e 0d 2d 2d 2d 2d 2d |ord PHROM..-----| 00000090 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000000a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 54 68 65 20 |----------..The | 000000b0 77 6f 72 64 20 50 48 52 4f 4d 20 75 73 65 64 20 |word PHROM used | 000000c0 69 6e 20 74 68 65 20 41 63 6f 72 6e 20 53 70 65 |in the Acorn Spe| 000000d0 65 63 68 20 53 79 73 74 65 6d 20 69 73 20 61 20 |ech System is a | 000000e0 54 65 78 61 73 20 49 6e 73 74 72 75 6d 65 6e 74 |Texas Instrument| 000000f0 73 20 31 36 6b 0d 54 4d 53 20 36 31 30 30 2e 20 |s 16k.TMS 6100. | 00000100 49 74 20 75 73 65 73 20 61 20 31 34 20 62 69 74 |It uses a 14 bit| 00000110 20 61 64 64 72 65 73 73 20 72 65 67 69 73 74 65 | address registe| 00000120 72 20 61 6e 64 2c 20 61 66 74 65 72 20 61 6e 20 |r and, after an | 00000130 61 64 64 72 65 73 73 20 69 73 0d 77 72 69 74 74 |address is.writt| 00000140 65 6e 20 69 6e 74 6f 20 74 68 65 20 72 65 67 69 |en into the regi| 00000150 73 74 65 72 2c 20 64 61 74 61 20 63 61 6e 20 62 |ster, data can b| 00000160 65 20 72 65 61 64 20 6f 75 74 20 6f 6e 65 20 62 |e read out one b| 00000170 69 74 20 61 74 20 61 20 74 69 6d 65 20 61 6e 64 |it at a time and| 00000180 20 6d 61 64 65 0d 61 76 61 69 6c 61 62 6c 65 20 | made.available | 00000190 74 6f 20 74 68 65 20 54 4d 53 20 35 32 32 30 20 |to the TMS 5220 | 000001a0 56 6f 69 63 65 20 53 79 6e 74 68 65 73 69 73 20 |Voice Synthesis | 000001b0 50 72 6f 63 65 73 73 6f 72 2e 0d 0d 54 68 65 20 |Processor...The | 000001c0 41 63 6f 72 6e 20 77 6f 72 64 20 50 48 52 4f 4d |Acorn word PHROM| 000001d0 20 68 61 73 20 62 65 65 6e 20 6e 61 6d 65 64 20 | has been named | 000001e0 77 6f 72 64 20 50 48 52 4f 4d 20 41 2e 20 49 74 |word PHROM A. It| 000001f0 20 69 73 20 61 6c 73 6f 20 72 65 66 65 72 65 64 | is also refered| 00000200 20 74 6f 20 61 73 0d 77 6f 72 64 20 50 48 52 4f | to as.word PHRO| 00000210 4d 20 6e 75 6d 62 65 72 20 26 30 46 2e 20 54 68 |M number &0F. Th| 00000220 65 20 6e 75 6d 62 65 72 20 26 30 46 20 69 73 20 |e number &0F is | 00000230 75 73 65 64 20 69 6e 20 74 68 65 20 4c 6f 61 64 |used in the Load| 00000240 20 41 64 64 72 65 73 73 20 63 6f 6d 6d 61 6e 64 | Address command| 00000250 0d 62 75 74 20 74 68 65 20 41 20 69 6e 20 77 6f |.but the A in wo| 00000260 72 64 20 50 48 52 4f 4d 20 41 20 69 73 20 6a 75 |rd PHROM A is ju| 00000270 73 74 20 61 20 6e 61 6d 65 20 77 69 74 68 20 6c |st a name with l| 00000280 69 74 74 6c 65 20 70 72 61 63 74 69 63 61 6c 20 |ittle practical | 00000290 75 73 65 2e 0d 0d 44 61 74 61 20 61 72 65 20 73 |use...Data are s| 000002a0 74 6f 72 65 64 20 69 6e 20 61 20 77 6f 72 64 20 |tored in a word | 000002b0 50 48 52 4f 4d 20 69 6e 20 74 68 72 65 65 20 64 |PHROM in three d| 000002c0 69 66 66 65 72 65 6e 74 20 66 6f 72 6d 61 74 73 |ifferent formats| 000002d0 2e 20 45 61 63 68 20 62 79 74 65 20 69 73 0d 65 |. Each byte is.e| 000002e0 69 74 68 65 72 20 75 6e 74 72 61 6e 73 66 6f 72 |ither untransfor| 000002f0 6d 65 64 2c 20 72 6f 74 61 74 65 64 20 6f 72 20 |med, rotated or | 00000300 72 65 76 65 72 73 65 64 2e 20 54 68 65 20 64 61 |reversed. The da| 00000310 74 61 20 73 74 6f 72 65 64 20 66 72 6f 6d 20 61 |ta stored from a| 00000320 64 64 72 65 73 73 0d 26 30 30 30 30 20 74 6f 20 |ddress.&0000 to | 00000330 61 64 64 72 65 73 73 20 26 30 30 33 42 20 61 72 |address &003B ar| 00000340 65 20 75 6e 74 72 61 6e 73 66 6f 72 6d 65 64 2e |e untransformed.| 00000350 20 54 68 65 20 64 61 74 61 20 66 72 6f 6d 20 26 | The data from &| 00000360 30 30 33 43 20 74 6f 20 26 33 46 46 46 20 61 72 |003C to &3FFF ar| 00000370 65 0d 65 69 74 68 65 72 20 72 6f 74 61 74 65 64 |e.either rotated| 00000380 20 6f 72 20 72 65 76 65 72 73 65 64 2e 0d 0d 52 | or reversed...R| 00000390 6f 74 61 74 65 64 20 64 61 74 61 20 68 61 76 65 |otated data have| 000003a0 20 65 76 65 72 79 20 62 69 74 20 69 6e 20 74 68 | every bit in th| 000003b0 65 20 62 79 74 65 20 73 68 69 66 74 65 64 20 72 |e byte shifted r| 000003c0 69 67 68 74 20 6f 6e 65 20 62 69 74 20 61 6e 64 |ight one bit and| 000003d0 20 62 69 74 0d 73 65 76 65 6e 20 72 65 70 6c 61 | bit.seven repla| 000003e0 63 65 64 20 77 69 74 68 20 62 69 74 20 7a 65 72 |ced with bit zer| 000003f0 6f 2e 0d 0d 0d 20 20 20 20 20 20 20 2b 2d 2d 2d |o.... +---| 00000400 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 20 |--------------+ | 00000410 20 20 52 6f 74 61 74 65 20 20 20 2b 2d 2d 2d 2d | Rotate +----| 00000420 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 20 |-------------+. | 00000430 20 20 20 20 20 20 7c 20 37 20 36 20 35 20 34 20 | | 7 6 5 4 | 00000440 33 20 32 20 31 20 30 20 7c 20 2d 2d 2d 2d 2d 2d |3 2 1 0 | ------| 00000450 2d 2d 2d 3e 20 7c 20 30 20 37 20 36 20 35 20 34 |---> | 0 7 6 5 4| 00000460 20 33 20 32 20 31 20 7c 0d 20 20 20 20 20 20 20 | 3 2 1 |. | 00000470 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |+---------------| 00000480 2d 2d 2b 20 20 20 20 20 20 20 20 20 20 20 20 2b |--+ +| 00000490 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000004a0 2d 2b 0d 0d 0d 54 68 65 20 62 69 74 73 20 69 6e |-+...The bits in| 000004b0 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 | the accumulator| 000004c0 20 63 61 6e 20 62 65 20 72 6f 74 61 74 65 64 20 | can be rotated | 000004d0 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 |with the followi| 000004e0 6e 67 20 63 6f 64 65 3a 0d 0d 0d 20 20 20 20 20 |ng code:... | 000004f0 20 20 50 48 41 20 20 20 20 20 5c 20 74 65 6d 70 | PHA \ temp| 00000500 6f 72 61 72 79 20 73 74 6f 72 65 20 66 6f 72 20 |orary store for | 00000510 74 68 65 20 62 79 74 65 0d 20 20 20 20 20 20 20 |the byte. | 00000520 52 4f 52 20 41 20 20 20 5c 20 72 6f 74 61 74 65 |ROR A \ rotate| 00000530 20 6f 6e 65 20 62 69 74 20 72 69 67 68 74 2c 20 | one bit right, | 00000540 62 69 74 20 7a 65 72 6f 20 69 6e 74 6f 20 63 61 |bit zero into ca| 00000550 72 72 79 0d 20 20 20 20 20 20 20 50 4c 41 20 20 |rry. PLA | 00000560 20 20 20 5c 20 72 65 73 74 6f 72 65 20 62 79 74 | \ restore byt| 00000570 65 0d 20 20 20 20 20 20 20 52 4f 52 20 41 20 20 |e. ROR A | 00000580 20 5c 20 72 6f 74 61 74 65 20 6f 6e 65 20 62 69 | \ rotate one bi| 00000590 74 20 72 69 67 68 74 2c 20 63 61 72 72 79 20 69 |t right, carry i| 000005a0 6e 74 6f 20 62 69 74 20 73 65 76 65 6e 0d 0d 0d |nto bit seven...| 000005b0 45 61 63 68 20 77 6f 72 64 20 6f 72 20 77 6f 72 |Each word or wor| 000005c0 64 2d 70 61 72 74 20 69 6e 20 77 6f 72 64 20 50 |d-part in word P| 000005d0 48 52 4f 4d 20 41 20 68 61 73 20 61 6e 20 61 73 |HROM A has an as| 000005e0 73 6f 63 69 61 74 65 64 20 77 6f 72 64 20 6e 61 |sociated word na| 000005f0 6d 65 2e 20 54 68 65 0d 63 68 61 72 61 63 74 65 |me. The.characte| 00000600 72 73 20 6f 66 20 65 61 63 68 20 77 6f 72 64 20 |rs of each word | 00000610 6e 61 6d 65 20 61 72 65 20 73 74 6f 72 65 64 20 |name are stored | 00000620 69 6e 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 |in reverse order| 00000630 20 28 65 67 2e 20 41 43 4f 52 4e 20 69 73 0d 73 | (eg. ACORN is.s| 00000640 74 6f 72 65 64 20 61 73 20 4e 52 4f 43 41 29 20 |tored as NROCA) | 00000650 77 69 74 68 20 74 68 65 20 62 69 74 73 20 69 6e |with the bits in| 00000660 20 65 76 65 72 79 20 62 79 74 65 20 6f 66 20 74 | every byte of t| 00000670 68 65 20 77 6f 72 64 20 6e 61 6d 65 20 72 6f 74 |he word name rot| 00000680 61 74 65 64 2e 0d 0d 52 65 76 65 72 73 65 64 20 |ated...Reversed | 00000690 64 61 74 61 20 68 61 76 65 20 65 76 65 72 79 20 |data have every | 000006a0 62 69 74 20 69 6e 20 61 20 62 79 74 65 20 73 74 |bit in a byte st| 000006b0 6f 72 65 64 20 69 6e 20 72 65 76 65 72 73 65 20 |ored in reverse | 000006c0 6f 72 64 65 72 2e 0d 0d 0d 20 20 20 20 20 20 20 |order.... | 000006d0 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |+---------------| 000006e0 2d 2d 2b 20 20 52 65 76 65 72 73 65 20 20 20 2b |--+ Reverse +| 000006f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000700 2d 2b 0d 20 20 20 20 20 20 20 7c 20 37 20 36 20 |-+. | 7 6 | 00000710 35 20 34 20 33 20 32 20 31 20 30 20 7c 20 2d 2d |5 4 3 2 1 0 | --| 00000720 2d 2d 2d 2d 2d 2d 2d 3e 20 7c 20 30 20 31 20 32 |-------> | 0 1 2| 00000730 20 33 20 34 20 35 20 36 20 37 20 7c 0d 20 20 20 | 3 4 5 6 7 |. | 00000740 20 20 20 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | +-----------| 00000750 2d 2d 2d 2d 2d 2d 2b 20 20 20 20 20 20 20 20 20 |------+ | 00000760 20 20 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | +------------| 00000770 2d 2d 2d 2d 2d 2b 0d 0d 0d 54 68 65 20 62 69 74 |-----+...The bit| 00000780 73 20 69 6e 20 74 68 65 20 61 63 63 75 6d 75 6c |s in the accumul| 00000790 61 74 6f 72 20 63 61 6e 20 62 65 20 72 65 76 65 |ator can be reve| 000007a0 72 73 65 64 20 77 69 74 68 20 74 68 65 20 66 6f |rsed with the fo| 000007b0 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 3a 0d 0d 0d |llowing code:...| 000007c0 20 20 20 20 20 20 20 53 54 41 20 26 37 30 20 20 | STA &70 | 000007d0 20 20 20 20 20 20 20 5c 20 73 74 6f 72 65 20 62 | \ store b| 000007e0 79 74 65 20 69 6e 20 26 37 30 0d 20 20 20 20 20 |yte in &70. | 000007f0 20 20 52 4f 4c 20 26 37 30 20 20 20 20 20 20 20 | ROL &70 | 00000800 20 20 5c 20 62 69 74 20 37 20 6f 66 20 26 37 30 | \ bit 7 of &70| 00000810 20 69 6e 74 6f 20 63 61 72 72 79 0d 20 20 20 20 | into carry. | 00000820 20 20 20 52 4f 52 20 41 20 20 20 20 20 20 20 20 | ROR A | 00000830 20 20 20 5c 20 63 61 72 72 79 20 74 6f 20 62 69 | \ carry to bi| 00000840 74 20 37 20 6f 66 20 61 63 63 75 6d 75 6c 61 74 |t 7 of accumulat| 00000850 6f 72 0d 20 20 20 20 20 20 20 52 4f 4c 20 26 37 |or. ROL &7| 00000860 30 20 20 20 20 20 20 20 20 20 5c 20 62 69 74 20 |0 \ bit | 00000870 36 20 69 6e 74 6f 20 63 61 72 72 79 0d 20 20 20 |6 into carry. | 00000880 20 20 20 20 52 4f 52 20 41 20 20 20 20 20 20 20 | ROR A | 00000890 20 20 20 20 5c 20 62 69 74 20 37 20 74 6f 20 62 | \ bit 7 to b| 000008a0 69 74 20 36 2c 20 63 61 72 72 79 20 74 6f 20 62 |it 6, carry to b| 000008b0 69 74 20 37 0d 20 20 20 20 20 20 20 52 4f 4c 20 |it 7. ROL | 000008c0 26 37 30 20 20 20 20 20 20 20 20 20 5c 20 62 69 |&70 \ bi| 000008d0 74 20 35 20 69 6e 74 6f 20 63 61 72 72 79 0d 20 |t 5 into carry. | 000008e0 20 20 20 20 20 20 52 4f 52 20 41 20 20 20 20 20 | ROR A | 000008f0 20 20 20 20 20 20 5c 20 61 6e 64 20 73 6f 20 6f | \ and so o| 00000900 6e 20 2e 2e 2e 0d 20 20 20 20 20 20 20 52 4f 4c |n .... ROL| 00000910 20 26 37 30 0d 20 20 20 20 20 20 20 52 4f 52 20 | &70. ROR | 00000920 41 0d 20 20 20 20 20 20 20 52 4f 4c 20 26 37 30 |A. ROL &70| 00000930 0d 20 20 20 20 20 20 20 52 4f 52 20 41 0d 20 20 |. ROR A. | 00000940 20 20 20 20 20 52 4f 4c 20 26 37 30 0d 20 20 20 | ROL &70. | 00000950 20 20 20 20 52 4f 52 20 41 0d 20 20 20 20 20 20 | ROR A. | 00000960 20 52 4f 4c 20 26 37 30 0d 20 20 20 20 20 20 20 | ROL &70. | 00000970 52 4f 52 20 41 0d 20 20 20 20 20 20 20 52 4f 4c |ROR A. ROL| 00000980 20 26 37 30 0d 20 20 20 20 20 20 20 52 4f 52 20 | &70. ROR | 00000990 41 20 20 20 20 20 20 20 20 20 20 20 5c 20 62 69 |A \ bi| 000009a0 74 73 20 69 6e 20 61 63 63 75 6d 75 6c 61 74 6f |ts in accumulato| 000009b0 72 20 72 65 76 65 72 73 65 64 0d 0d 0d 54 68 65 |r reversed...The| 000009c0 20 73 70 65 65 63 68 20 64 61 74 61 20 73 74 6f | speech data sto| 000009d0 72 65 64 20 69 6e 20 61 20 77 6f 72 64 20 50 48 |red in a word PH| 000009e0 52 4f 4d 20 61 72 65 20 72 65 76 65 72 73 65 64 |ROM are reversed| 000009f0 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 61 72 | so that they ar| 00000a00 65 20 69 6e 20 61 0d 73 75 69 74 61 62 6c 65 20 |e in a.suitable | 00000a10 66 6f 72 6d 61 74 20 74 6f 20 62 65 20 66 65 64 |format to be fed| 00000a20 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 | directly to the| 00000a30 20 73 70 65 65 63 68 20 70 72 6f 63 65 73 73 6f | speech processo| 00000a40 72 2e 20 57 68 65 6e 20 74 68 65 20 53 70 65 61 |r. When the Spea| 00000a50 6b 0d 45 78 74 65 72 6e 61 6c 20 63 6f 6d 6d 61 |k.External comma| 00000a60 6e 64 20 69 73 20 75 73 65 64 20 74 6f 20 73 70 |nd is used to sp| 00000a70 65 61 6b 20 64 61 74 61 20 73 74 6f 72 65 64 20 |eak data stored | 00000a80 69 6e 20 52 41 4d 2c 20 74 68 6f 73 65 20 64 61 |in RAM, those da| 00000a90 74 61 20 6d 75 73 74 20 61 6c 73 6f 0d 62 65 20 |ta must also.be | 00000aa0 72 65 76 65 72 73 65 64 2e 0d 0d 54 68 65 20 63 |reversed...The c| 00000ab0 6f 6e 74 65 6e 74 73 20 61 6e 64 20 74 72 61 6e |ontents and tran| 00000ac0 73 66 6f 72 6d 61 74 69 6f 6e 73 20 6f 66 20 77 |sformations of w| 00000ad0 6f 72 64 20 50 48 52 4f 4d 20 41 20 61 72 65 20 |ord PHROM A are | 00000ae0 73 68 6f 77 6e 20 69 6e 20 66 69 67 75 72 65 20 |shown in figure | 00000af0 31 2e 0d 0d 0d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |1....+----------| 00000b00 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |---+------------| 00000b10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d |-----------+----| 00000b30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 7c 20 |------------+.| | 00000b40 41 64 64 72 65 73 73 20 20 20 20 20 7c 20 43 6f |Address | Co| 00000b50 6e 74 65 6e 74 73 20 20 20 20 20 20 20 20 20 20 |ntents | 00000b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000b70 20 20 20 20 7c 20 54 72 61 6e 73 66 6f 72 6d 61 | | Transforma| 00000b80 74 69 6f 6e 20 7c 0d 2b 2d 2d 2d 2d 2d 2d 2d 2d |tion |.+--------| 00000b90 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |-----+----------| 00000ba0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000bb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d |-------------+--| 00000bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d |--------------+.| 00000bd0 7c 20 26 30 30 20 20 20 20 20 20 20 20 20 7c 20 || &00 | | 00000be0 50 48 52 4f 4d 20 66 6f 72 6d 61 74 20 74 79 70 |PHROM format typ| 00000bf0 65 20 28 26 30 30 20 69 6e 20 50 48 52 4f 4d 20 |e (&00 in PHROM | 00000c00 41 29 20 20 20 20 7c 20 4e 6f 6e 65 20 20 20 20 |A) | None | 00000c10 20 20 20 20 20 20 20 7c 0d 7c 20 26 30 31 20 20 | |.| &01 | 00000c20 20 20 20 20 20 20 20 7c 20 46 69 6c 65 20 64 61 | | File da| 00000c30 74 61 20 66 6c 61 67 20 28 26 46 46 20 69 6e 20 |ta flag (&FF in | 00000c40 50 48 52 4f 4d 20 41 29 20 20 20 20 20 20 20 7c |PHROM A) || 00000c50 20 4e 6f 6e 65 20 20 20 20 20 20 20 20 20 20 20 | None | 00000c60 7c 0d 7c 20 26 30 32 20 20 20 20 20 20 20 20 20 ||.| &02 | 00000c70 7c 20 41 53 43 49 49 20 22 28 22 20 28 68 65 78 || ASCII "(" (hex| 00000c80 2e 20 26 32 38 29 20 20 20 20 20 20 20 20 20 20 |. &28) | 00000c90 20 20 20 20 20 20 20 20 7c 20 4e 6f 6e 65 20 20 | | None | 00000ca0 20 20 20 20 20 20 20 20 20 7c 0d 7c 20 26 30 33 | |.| &03| 00000cb0 20 20 20 20 20 20 20 20 20 7c 20 41 53 43 49 49 | | ASCII| 00000cc0 20 22 43 22 20 28 68 65 78 2e 20 26 34 33 29 20 | "C" (hex. &43) | 00000cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ce0 20 7c 20 4e 6f 6e 65 20 20 20 20 20 20 20 20 20 | | None | 00000cf0 20 20 7c 0d 7c 20 26 30 34 20 20 20 20 20 20 20 | |.| &04 | 00000d00 20 20 7c 20 41 53 43 49 49 20 22 29 22 20 28 68 | | ASCII ")" (h| 00000d10 65 78 2e 20 26 32 39 29 20 20 20 20 20 20 20 20 |ex. &29) | 00000d20 20 20 20 20 20 20 20 20 20 20 7c 20 4e 6f 6e 65 | | None| 00000d30 20 20 20 20 20 20 20 20 20 20 20 7c 0d 7c 20 26 | |.| &| 00000d40 30 35 20 2d 20 26 33 35 20 20 20 7c 20 54 65 78 |05 - &35 | Tex| 00000d50 74 20 2d 20 33 20 73 74 72 69 6e 67 73 20 73 65 |t - 3 strings se| 00000d60 70 61 72 61 74 65 64 20 62 79 20 26 30 30 20 20 |parated by &00 | 00000d70 20 20 20 7c 20 4e 6f 6e 65 20 20 20 20 20 20 20 | | None | 00000d80 20 20 20 20 7c 0d 7c 20 26 33 36 20 2d 20 26 33 | |.| &36 - &3| 00000d90 37 20 20 20 7c 20 50 48 52 4f 4d 20 73 65 72 69 |7 | PHROM seri| 00000da0 61 6c 20 6e 75 6d 62 65 72 20 28 26 30 20 69 6e |al number (&0 in| 00000db0 20 50 48 52 4f 4d 20 41 29 20 20 20 7c 20 4e 6f | PHROM A) | No| 00000dc0 6e 65 20 20 20 20 20 20 20 20 20 20 20 7c 0d 7c |ne |.|| 00000dd0 20 26 33 38 20 2d 20 26 33 39 20 20 20 7c 20 4e | &38 - &39 | N| 00000de0 75 6d 62 65 72 20 6f 66 20 41 53 43 49 49 20 77 |umber of ASCII w| 00000df0 6f 72 64 73 20 28 26 30 30 35 46 29 20 20 20 20 |ords (&005F) | 00000e00 20 20 20 20 20 7c 20 4e 6f 6e 65 20 20 20 20 20 | | None | 00000e10 20 20 20 20 20 20 7c 0d 7c 20 26 33 41 20 2d 20 | |.| &3A - | 00000e20 26 33 42 20 20 20 7c 20 4e 75 6d 62 65 72 20 6f |&3B | Number o| 00000e30 66 20 70 6f 69 6e 74 65 72 73 20 28 26 30 31 30 |f pointers (&010| 00000e40 34 29 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |4) | | 00000e50 4e 6f 6e 65 20 20 20 20 20 20 20 20 20 20 20 7c |None || 00000e60 0d 7c 20 26 33 43 20 2d 20 26 33 44 20 20 20 7c |.| &3C - &3D || 00000e70 20 50 6f 69 6e 74 65 72 20 74 6f 20 65 6e 64 20 | Pointer to end | 00000e80 6f 66 20 2a 52 4f 4d 20 64 61 74 61 20 28 26 34 |of *ROM data (&4| 00000e90 30 30 30 29 20 20 20 7c 20 52 65 76 65 72 73 65 |000) | Reverse| 00000ea0 64 20 20 20 20 20 20 20 7c 0d 7c 20 26 33 45 20 |d |.| &3E | 00000eb0 2d 20 26 33 46 20 20 20 7c 20 50 6f 69 6e 74 65 |- &3F | Pointe| 00000ec0 72 20 74 6f 20 65 6e 64 20 6f 66 20 73 70 65 65 |r to end of spee| 00000ed0 63 68 20 64 61 74 61 20 28 26 34 30 30 30 29 20 |ch data (&4000) | 00000ee0 7c 20 52 65 76 65 72 73 65 64 20 20 20 20 20 20 || Reversed | 00000ef0 20 7c 0d 7c 20 26 34 30 20 2d 20 26 34 31 20 20 | |.| &40 - &41 | 00000f00 20 7c 20 50 6f 69 6e 74 65 72 20 74 6f 20 66 69 | | Pointer to fi| 00000f10 72 73 74 20 41 53 43 49 49 20 77 6f 72 64 20 28 |rst ASCII word (| 00000f20 26 30 32 35 30 29 20 20 20 7c 20 52 65 76 65 72 |&0250) | Rever| 00000f30 73 65 64 20 20 20 20 20 20 20 7c 0d 7c 20 26 34 |sed |.| &4| 00000f40 32 20 2d 20 26 34 33 20 20 20 7c 20 50 6f 69 6e |2 - &43 | Poin| 00000f50 74 65 72 20 74 6f 20 73 65 63 6f 6e 64 20 41 53 |ter to second AS| 00000f60 43 49 49 20 77 6f 72 64 20 28 26 33 35 43 41 29 |CII word (&35CA)| 00000f70 20 20 7c 20 52 65 76 65 72 73 65 64 20 20 20 20 | | Reversed | 00000f80 20 20 20 7c 0d 7c 20 20 20 20 20 20 20 20 20 20 | |.| | 00000f90 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 20 | | | 00000fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000fb0 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 20 | | | 00000fc0 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 7c 20 | |.| | 00000fd0 26 46 43 20 2d 20 26 46 44 20 20 20 7c 20 50 6f |&FC - &FD | Po| 00000fe0 69 6e 74 65 72 20 74 6f 20 6c 61 73 74 20 41 53 |inter to last AS| 00000ff0 43 49 49 20 77 6f 72 64 20 28 26 32 36 39 44 29 |CII word (&269D)| 00001000 20 20 20 20 7c 20 52 65 76 65 72 73 65 64 20 20 | | Reversed | 00001010 20 20 20 20 20 7c 0d 7c 20 26 46 45 20 2d 20 26 | |.| &FE - &| 00001020 46 46 20 20 20 7c 20 50 6f 69 6e 74 65 72 20 74 |FF | Pointer t| 00001030 6f 20 66 69 72 73 74 20 77 6f 72 64 20 28 26 30 |o first word (&0| 00001040 32 35 30 29 20 20 20 20 20 20 20 20 20 7c 20 52 |250) | R| 00001050 65 76 65 72 73 65 64 20 20 20 20 20 20 20 7c 0d |eversed |.| 00001060 7c 20 26 31 30 30 20 2d 20 26 31 30 31 20 7c 20 || &100 - &101 | | 00001070 50 6f 69 6e 74 65 72 20 74 6f 20 73 65 63 6f 6e |Pointer to secon| 00001080 64 20 77 6f 72 64 20 28 26 30 32 35 46 29 20 20 |d word (&025F) | 00001090 20 20 20 20 20 20 7c 20 52 65 76 65 72 73 65 64 | | Reversed| 000010a0 20 20 20 20 20 20 20 7c 20 0d 7c 20 20 20 20 20 | | .| | 000010b0 20 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 | | | 000010c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000010e0 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 || | 000010f0 20 7c 0d 7c 20 26 32 34 36 20 2d 20 26 32 34 37 | |.| &246 - &247| 00001100 20 7c 20 50 6f 69 6e 74 65 72 20 74 6f 20 6c 61 | | Pointer to la| 00001110 73 74 20 77 6f 72 64 20 28 26 33 46 39 42 29 20 |st word (&3F9B) | 00001120 20 20 20 20 20 20 20 20 20 7c 20 52 65 76 65 72 | | Rever| 00001130 73 65 64 20 20 20 20 20 20 20 7c 0d 7c 20 26 32 |sed |.| &2| 00001140 34 38 20 20 20 20 20 20 20 20 7c 20 45 6e 64 20 |48 | End | 00001150 6f 66 20 70 6f 69 6e 74 65 72 20 6d 61 72 6b 65 |of pointer marke| 00001160 72 20 28 26 46 46 29 20 20 20 20 20 20 20 20 20 |r (&FF) | 00001170 20 20 7c 20 52 65 76 65 72 73 65 64 20 20 20 20 | | Reversed | 00001180 20 20 20 7c 0d 7c 20 26 32 34 39 20 2d 20 26 32 | |.| &249 - &2| 00001190 34 46 20 7c 20 57 6f 72 64 20 31 20 6e 61 6d 65 |4F | Word 1 name| 000011a0 20 29 35 32 31 2e 28 20 20 20 20 20 20 20 20 20 | )521.( | 000011b0 20 20 20 20 20 20 20 20 20 20 20 7c 20 52 6f 74 | | Rot| 000011c0 61 74 65 64 20 20 20 20 20 20 20 20 7c 0d 7c 20 |ated |.| | 000011d0 26 32 35 30 20 2d 20 26 32 35 38 20 7c 20 57 6f |&250 - &258 | Wo| 000011e0 72 64 20 31 20 64 61 74 61 20 3a 20 62 6f 74 74 |rd 1 data : bott| 000011f0 6f 6d 20 62 79 74 65 20 66 69 72 73 74 20 20 20 |om byte first | 00001200 20 20 20 20 7c 20 52 65 76 65 72 73 65 64 20 20 | | Reversed | 00001210 20 20 20 20 20 7c 0d 7c 20 26 32 35 39 20 2d 20 | |.| &259 - | 00001220 26 32 35 45 20 7c 20 57 6f 72 64 20 32 20 6e 61 |&25E | Word 2 na| 00001230 6d 65 20 29 35 32 2e 30 28 20 20 20 20 20 20 20 |me )52.0( | 00001240 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 52 | | R| 00001250 6f 74 61 74 65 64 20 20 20 20 20 20 20 20 7c 0d |otated |.| 00001260 7c 20 26 32 35 46 20 2d 20 26 32 36 41 20 7c 20 || &25F - &26A | | 00001270 57 6f 72 64 20 32 20 64 61 74 61 20 20 20 20 20 |Word 2 data | 00001280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001290 20 20 20 20 20 20 7c 20 52 65 76 65 72 73 65 64 | | Reversed| 000012a0 20 20 20 20 20 20 20 7c 0d 7c 20 20 20 20 20 20 | |.| | 000012b0 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20 20 | | | 000012c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000012d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c | || 000012e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000012f0 7c 0d 7c 20 26 33 46 39 41 20 20 20 20 20 20 20 ||.| &3F9A | 00001300 7c 20 4c 61 73 74 20 77 6f 72 64 20 6e 61 6d 65 || Last word name| 00001310 20 5a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Z | 00001320 20 20 20 20 20 20 20 20 7c 20 52 6f 74 61 74 65 | | Rotate| 00001330 64 20 20 20 20 20 20 20 20 7c 0d 7c 20 26 33 46 |d |.| &3F| 00001340 39 42 20 2d 20 46 46 20 20 7c 20 4c 61 73 74 20 |9B - FF | Last | 00001350 77 6f 72 64 20 64 61 74 61 20 20 20 20 20 20 20 |word data | 00001360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001370 20 7c 20 52 65 76 65 72 73 65 64 20 20 20 20 20 | | Reversed | 00001380 20 20 7c 0d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | |.+-----------| 00001390 2d 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |--+-------------| 000013a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000013b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d |----------+-----| 000013c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 7c 20 20 |-----------+.| | 000013d0 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e | There is n| 000013e0 6f 20 2a 52 4f 4d 20 64 61 74 61 20 6f 72 20 75 |o *ROM data or u| 000013f0 6e 75 73 65 64 20 73 70 61 63 65 20 69 6e 20 77 |nused space in w| 00001400 6f 72 64 20 50 48 52 4f 4d 20 41 20 20 20 20 20 |ord PHROM A | 00001410 20 20 20 20 7c 0d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d | |.+---------| 00001420 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001450 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0d 0d |-------------+..| 00001460 46 69 67 75 72 65 20 31 2e 20 54 68 65 20 64 61 |Figure 1. The da| 00001470 74 61 20 73 74 6f 72 65 64 20 69 6e 20 77 6f 72 |ta stored in wor| 00001480 64 20 50 48 52 4f 4d 20 41 0d 2d 2d 2d 2d 2d 2d |d PHROM A.------| 00001490 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000014b0 2d 2d 2d 0d 0d 0d 54 68 65 20 70 72 6f 67 72 61 |---...The progra| 000014c0 6d 20 52 45 56 45 52 53 45 20 63 61 6e 20 62 65 |m REVERSE can be| 000014d0 20 75 73 65 64 20 74 6f 20 65 78 61 6d 69 6e 65 | used to examine| 000014e0 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 | the contents of| 000014f0 20 77 6f 72 64 20 50 48 52 4f 4d 20 41 20 69 6e | word PHROM A in| 00001500 0d 6d 6f 72 65 20 64 65 74 61 69 6c 2e 20 52 45 |.more detail. RE| 00001510 56 45 52 53 45 20 75 73 65 73 20 74 68 65 20 4c |VERSE uses the L| 00001520 6f 61 64 20 41 64 64 72 65 73 73 20 61 6e 64 20 |oad Address and | 00001530 52 65 61 64 20 42 79 74 65 20 63 6f 6d 6d 61 6e |Read Byte comman| 00001540 64 73 20 74 6f 20 72 65 61 64 0d 61 6e 64 20 74 |ds to read.and t| 00001550 68 65 6e 20 64 69 73 70 6c 61 79 20 74 68 65 20 |hen display the | 00001560 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 |contents of the | 00001570 77 6f 72 64 20 50 48 52 4f 4d 2e 0d 0d 0d 20 20 |word PHROM.... | 00001580 20 31 30 20 52 45 4d 3a 20 52 45 56 45 52 53 45 | 10 REM: REVERSE| 00001590 0d 20 20 20 32 30 20 4d 4f 44 45 33 0d 20 20 20 |. 20 MODE3. | 000015a0 33 30 20 56 44 55 31 34 0d 20 20 20 34 30 20 4f |30 VDU14. 40 O| 000015b0 4e 20 45 52 52 4f 52 20 47 4f 54 4f 20 39 39 30 |N ERROR GOTO 990| 000015c0 0d 20 20 20 35 30 20 73 65 76 65 6e 74 79 3d 26 |. 50 seventy=&| 000015d0 37 30 0d 20 20 20 36 30 20 6f 73 62 79 74 65 3d |70. 60 osbyte=| 000015e0 26 46 46 46 34 0d 20 20 20 37 30 20 44 49 4d 20 |&FFF4. 70 DIM | 000015f0 6d 63 6f 64 65 20 26 31 30 30 0d 20 20 20 38 30 |mcode &100. 80| 00001600 20 44 49 4d 20 62 79 74 65 28 31 31 29 0d 20 20 | DIM byte(11). | 00001610 20 39 30 20 46 4f 52 70 61 73 73 3d 30 54 4f 32 | 90 FORpass=0TO2| 00001620 53 54 45 50 32 0d 20 20 31 30 30 20 50 25 3d 6d |STEP2. 100 P%=m| 00001630 63 6f 64 65 0d 20 20 31 31 30 20 5b 20 20 20 20 |code. 110 [ | 00001640 20 20 20 4f 50 54 20 70 61 73 73 0d 20 20 31 32 | OPT pass. 12| 00001650 30 20 2e 72 65 61 64 0d 20 20 31 33 30 20 20 20 |0 .read. 130 | 00001660 20 20 20 20 20 20 4c 44 41 20 23 26 39 46 20 20 | LDA #&9F | 00001670 20 20 20 20 5c 20 77 72 69 74 65 20 74 6f 20 73 | \ write to s| 00001680 70 65 65 63 68 20 70 72 6f 63 65 73 73 6f 72 0d |peech processor.| 00001690 20 20 31 34 30 20 20 20 20 20 20 20 20 20 4c 44 | 140 LD| 000016a0 59 20 23 26 31 30 20 20 20 20 20 20 5c 20 72 65 |Y #&10 \ re| 000016b0 61 64 20 62 79 74 65 20 63 6f 6d 6d 61 6e 64 0d |ad byte command.| 000016c0 20 20 31 35 30 20 20 20 20 20 20 20 20 20 4a 53 | 150 JS| 000016d0 52 20 6f 73 62 79 74 65 20 20 20 20 5c 20 73 65 |R osbyte \ se| 000016e0 6e 64 20 72 65 61 64 20 62 79 74 65 20 63 6f 6d |nd read byte com| 000016f0 6d 61 6e 64 0d 20 20 31 36 30 20 20 20 20 20 20 |mand. 160 | 00001700 20 20 20 4c 44 41 20 23 26 39 45 20 20 20 20 20 | LDA #&9E | 00001710 20 5c 20 72 65 61 64 20 73 70 65 65 63 68 20 70 | \ read speech p| 00001720 72 6f 63 65 73 73 6f 72 0d 20 20 31 37 30 20 20 |rocessor. 170 | 00001730 20 20 20 20 20 20 20 4a 53 52 20 6f 73 62 79 74 | JSR osbyt| 00001740 65 20 20 20 20 5c 20 72 65 61 64 20 62 79 74 65 |e \ read byte| 00001750 20 61 74 20 61 64 64 72 65 73 73 20 72 65 67 69 | at address regi| 00001760 73 74 65 72 0d 20 20 31 38 30 20 20 20 20 20 20 |ster. 180 | 00001770 20 20 20 54 59 41 20 20 20 20 20 20 20 20 20 20 | TYA | 00001780 20 5c 20 72 65 73 75 6c 74 20 69 6e 74 6f 20 61 | \ result into a| 00001790 63 63 75 6d 75 6c 61 74 6f 72 0d 20 20 31 39 30 |ccumulator. 190| 000017a0 20 20 20 20 20 20 20 20 20 52 54 53 0d 20 20 32 | RTS. 2| 000017b0 30 30 20 2e 72 6f 74 61 74 65 0d 20 20 32 31 30 |00 .rotate. 210| 000017c0 20 20 20 20 20 20 20 20 20 50 48 41 0d 20 20 32 | PHA. 2| 000017d0 32 30 20 20 20 20 20 20 20 20 20 52 4f 52 20 41 |20 ROR A| 000017e0 20 20 20 20 20 20 20 20 20 5c 20 62 69 74 20 30 | \ bit 0| 000017f0 20 69 6e 74 6f 20 63 61 72 72 79 20 66 6c 61 67 | into carry flag| 00001800 0d 20 20 32 33 30 20 20 20 20 20 20 20 20 20 50 |. 230 P| 00001810 4c 41 0d 20 20 32 34 30 20 20 20 20 20 20 20 20 |LA. 240 | 00001820 20 52 4f 52 20 41 20 20 20 20 20 20 20 20 20 5c | ROR A \| 00001830 20 72 6f 74 61 74 65 20 62 79 74 65 20 72 65 61 | rotate byte rea| 00001840 64 20 66 72 6f 6d 20 50 48 52 4f 4d 0d 20 20 32 |d from PHROM. 2| 00001850 35 30 20 20 20 20 20 20 20 20 20 52 54 53 0d 20 |50 RTS. | 00001860 20 32 36 30 20 2e 72 65 76 65 72 73 65 0d 20 20 | 260 .reverse. | 00001870 32 37 30 20 20 20 20 20 20 20 20 20 53 54 41 20 |270 STA | 00001880 73 65 76 65 6e 74 79 20 20 20 5c 20 73 74 6f 72 |seventy \ stor| 00001890 65 20 62 79 74 65 20 69 6e 20 26 37 30 0d 20 20 |e byte in &70. | 000018a0 32 38 30 20 20 20 20 20 20 20 20 20 4c 44 58 20 |280 LDX | 000018b0 23 38 20 20 20 20 20 20 20 20 5c 20 6c 6f 6f 70 |#8 \ loop| 000018c0 20 63 6f 75 6e 74 20 3d 20 38 0d 20 20 32 39 30 | count = 8. 290| 000018d0 20 2e 61 67 61 69 6e 0d 20 20 33 30 30 20 20 20 | .again. 300 | 000018e0 20 20 20 20 20 20 52 4f 4c 20 73 65 76 65 6e 74 | ROL sevent| 000018f0 79 20 20 20 5c 20 62 69 74 20 37 20 6f 66 20 26 |y \ bit 7 of &| 00001900 37 30 20 69 6e 74 6f 20 63 61 72 72 79 0d 20 20 |70 into carry. | 00001910 33 31 30 20 20 20 20 20 20 20 20 20 52 4f 52 20 |310 ROR | 00001920 41 20 20 20 20 20 20 20 20 20 5c 20 63 61 72 72 |A \ carr| 00001930 79 20 69 6e 74 6f 20 62 69 74 20 37 20 6f 66 20 |y into bit 7 of | 00001940 61 63 63 75 6d 75 6c 61 74 6f 72 0d 20 20 33 32 |accumulator. 32| 00001950 30 20 20 20 20 20 20 20 20 20 44 45 58 20 20 20 |0 DEX | 00001960 20 20 20 20 20 20 20 20 5c 20 64 65 63 72 65 6d | \ decrem| 00001970 65 6e 74 20 63 6f 75 6e 74 65 72 0d 20 20 33 33 |ent counter. 33| 00001980 30 20 20 20 20 20 20 20 20 20 42 4e 45 20 61 67 |0 BNE ag| 00001990 61 69 6e 20 20 20 20 20 5c 20 69 66 20 6e 6f 74 |ain \ if not| 000019a0 20 30 20 64 6f 20 69 74 20 61 67 61 69 6e 0d 20 | 0 do it again. | 000019b0 20 33 34 30 20 20 20 20 20 20 20 20 20 52 54 53 | 340 RTS| 000019c0 0d 20 20 33 35 30 20 5d 0d 20 20 33 36 30 20 4e |. 350 ]. 360 N| 000019d0 45 58 54 0d 20 20 33 37 30 20 49 4e 50 55 54 22 |EXT. 370 INPUT"| 000019e0 53 74 61 72 74 20 61 64 64 72 65 73 73 20 26 22 |Start address &"| 000019f0 73 74 61 72 74 24 0d 20 20 33 38 30 20 73 74 61 |start$. 380 sta| 00001a00 72 74 3d 45 56 41 4c 28 22 26 22 2b 73 74 61 72 |rt=EVAL("&"+star| 00001a10 74 24 29 0d 20 20 33 39 30 20 49 46 20 73 74 61 |t$). 390 IF sta| 00001a20 72 74 20 3e 20 26 33 46 46 43 20 54 48 45 4e 20 |rt > &3FFC THEN | 00001a30 33 37 30 0d 20 20 34 30 30 20 49 4e 50 55 54 22 |370. 400 INPUT"| 00001a40 45 6e 64 20 61 64 64 72 65 73 73 20 20 20 26 22 |End address &"| 00001a50 65 6e 64 24 0d 20 20 34 31 30 20 65 6e 64 3d 45 |end$. 410 end=E| 00001a60 56 41 4c 28 22 26 22 2b 65 6e 64 24 29 0d 20 20 |VAL("&"+end$). | 00001a70 34 32 30 20 49 46 20 65 6e 64 20 3e 20 26 33 46 |420 IF end > &3F| 00001a80 46 46 20 54 48 45 4e 20 34 30 30 0d 20 20 34 33 |FF THEN 400. 43| 00001a90 30 20 41 25 3d 26 39 46 3a 52 45 4d 3a 20 77 72 |0 A%=&9F:REM: wr| 00001aa0 69 74 65 20 74 6f 20 73 70 65 65 63 68 20 70 72 |ite to speech pr| 00001ab0 6f 63 65 73 73 6f 72 0d 20 20 34 34 30 20 59 25 |ocessor. 440 Y%| 00001ac0 3d 26 34 30 2b 28 73 74 61 72 74 20 41 4e 44 20 |=&40+(start AND | 00001ad0 26 46 29 3a 52 45 4d 3a 20 61 64 64 20 4c 6f 61 |&F):REM: add Loa| 00001ae0 64 20 41 64 64 72 65 73 73 20 63 6f 6d 6d 61 6e |d Address comman| 00001af0 64 20 74 6f 20 4c 53 20 6e 79 62 62 6c 65 0d 20 |d to LS nybble. | 00001b00 20 34 35 30 20 43 41 4c 4c 20 6f 73 62 79 74 65 | 450 CALL osbyte| 00001b10 3a 52 45 4d 3a 20 77 72 69 74 65 20 4c 53 20 6e |:REM: write LS n| 00001b20 79 62 62 6c 65 20 77 69 74 68 20 4c 6f 61 64 20 |ybble with Load | 00001b30 41 64 64 72 65 73 73 20 63 6f 6d 6d 61 6e 64 0d |Address command.| 00001b40 20 20 34 36 30 20 59 25 3d 26 34 30 2b 28 73 74 | 460 Y%=&40+(st| 00001b50 61 72 74 20 41 4e 44 20 26 46 30 29 44 49 56 20 |art AND &F0)DIV | 00001b60 26 31 30 0d 20 20 34 37 30 20 43 41 4c 4c 20 6f |&10. 470 CALL o| 00001b70 73 62 79 74 65 0d 20 20 34 38 30 20 59 25 3d 26 |sbyte. 480 Y%=&| 00001b80 34 30 2b 28 73 74 61 72 74 20 41 4e 44 20 26 46 |40+(start AND &F| 00001b90 30 30 29 44 49 56 20 26 31 30 30 0d 20 20 34 39 |00)DIV &100. 49| 00001ba0 30 20 43 41 4c 4c 20 6f 73 62 79 74 65 0d 20 20 |0 CALL osbyte. | 00001bb0 35 30 30 20 59 25 3d 26 34 43 2b 28 73 74 61 72 |500 Y%=&4C+(star| 00001bc0 74 20 41 4e 44 20 26 46 30 30 30 29 44 49 56 20 |t AND &F000)DIV | 00001bd0 26 31 30 30 30 0d 20 20 35 31 30 20 43 41 4c 4c |&1000. 510 CALL| 00001be0 20 6f 73 62 79 74 65 0d 20 20 35 32 30 20 59 25 | osbyte. 520 Y%| 00001bf0 3d 26 34 33 3a 52 45 4d 3a 20 66 69 66 74 68 20 |=&43:REM: fifth | 00001c00 62 79 74 65 20 61 6c 77 61 79 73 20 23 26 34 33 |byte always #&43| 00001c10 0d 20 20 35 33 30 20 43 41 4c 4c 20 6f 73 62 79 |. 530 CALL osby| 00001c20 74 65 0d 20 20 35 34 30 20 49 4e 50 55 54 22 50 |te. 540 INPUT"P| 00001c30 72 69 6e 74 65 72 20 28 59 2f 4e 29 20 22 79 65 |rinter (Y/N) "ye| 00001c40 73 24 0d 20 20 35 35 30 20 49 46 20 4c 45 46 54 |s$. 550 IF LEFT| 00001c50 24 28 79 65 73 24 2c 31 29 20 3d 22 59 22 20 54 |$(yes$,1) ="Y" T| 00001c60 48 45 4e 20 56 44 55 31 35 2c 32 0d 20 20 35 36 |HEN VDU15,2. 56| 00001c70 30 20 50 52 49 4e 54 27 22 41 64 64 72 22 3b 0d |0 PRINT'"Addr";.| 00001c80 20 20 35 37 30 20 50 52 49 4e 54 54 41 42 28 37 | 570 PRINTTAB(7| 00001c90 29 3b 22 55 6e 74 72 61 6e 73 66 6f 72 6d 65 64 |);"Untransformed| 00001ca0 22 3b 0d 20 20 35 38 30 20 50 52 49 4e 54 54 41 |";. 580 PRINTTA| 00001cb0 42 28 32 38 29 3b 22 52 6f 74 61 74 65 64 22 3b |B(28);"Rotated";| 00001cc0 0d 20 20 35 39 30 20 50 52 49 4e 54 54 41 42 28 |. 590 PRINTTAB(| 00001cd0 34 37 29 3b 22 52 65 76 65 72 73 65 64 22 27 0d |47);"Reversed"'.| 00001ce0 20 20 36 30 30 20 46 4f 52 20 62 6c 6f 63 6b 3d | 600 FOR block=| 00001cf0 73 74 61 72 74 20 54 4f 20 65 6e 64 20 53 54 45 |start TO end STE| 00001d00 50 20 34 0d 20 20 36 31 30 20 49 46 20 62 6c 6f |P 4. 610 IF blo| 00001d10 63 6b 20 3c 20 26 31 30 20 50 52 49 4e 54 3b 22 |ck < &10 PRINT;"| 00001d20 30 22 3b 0d 20 20 36 32 30 20 49 46 20 62 6c 6f |0";. 620 IF blo| 00001d30 63 6b 20 3c 20 26 31 30 30 20 50 52 49 4e 54 3b |ck < &100 PRINT;| 00001d40 22 30 22 3b 0d 20 20 36 33 30 20 49 46 20 62 6c |"0";. 630 IF bl| 00001d50 6f 63 6b 20 3c 20 26 31 30 30 30 20 50 52 49 4e |ock < &1000 PRIN| 00001d60 54 3b 22 30 22 3b 0d 20 20 36 34 30 20 50 52 49 |T;"0";. 640 PRI| 00001d70 4e 54 3b 7e 62 6c 6f 63 6b 3b 22 20 20 20 22 3b |NT;~block;" ";| 00001d80 0d 20 20 36 35 30 20 46 4f 52 20 6d 65 6d 6f 72 |. 650 FOR memor| 00001d90 79 3d 30 20 54 4f 20 33 0d 20 20 36 36 30 20 62 |y=0 TO 3. 660 b| 00001da0 79 74 65 28 6d 65 6d 6f 72 79 29 3d 55 53 52 28 |yte(memory)=USR(| 00001db0 72 65 61 64 29 41 4e 44 20 26 46 46 0d 20 20 36 |read)AND &FF. 6| 00001dc0 37 30 20 41 25 3d 62 79 74 65 28 6d 65 6d 6f 72 |70 A%=byte(memor| 00001dd0 79 29 0d 20 20 36 38 30 20 62 79 74 65 28 6d 65 |y). 680 byte(me| 00001de0 6d 6f 72 79 2b 34 29 3d 55 53 52 28 72 6f 74 61 |mory+4)=USR(rota| 00001df0 74 65 29 41 4e 44 20 26 46 46 0d 20 20 36 39 30 |te)AND &FF. 690| 00001e00 20 62 79 74 65 28 6d 65 6d 6f 72 79 2b 38 29 3d | byte(memory+8)=| 00001e10 55 53 52 28 72 65 76 65 72 73 65 29 41 4e 44 20 |USR(reverse)AND | 00001e20 26 46 46 0d 20 20 37 30 30 20 49 46 20 41 25 3c |&FF. 700 IF A%<| 00001e30 31 36 20 56 44 55 34 38 0d 20 20 37 31 30 20 50 |16 VDU48. 710 P| 00001e40 52 49 4e 54 3b 7e 41 25 3b 22 20 22 3b 0d 20 20 |RINT;~A%;" ";. | 00001e50 37 32 30 20 4e 45 58 54 0d 20 20 37 33 30 20 46 |720 NEXT. 730 F| 00001e60 4f 52 20 6d 65 6d 6f 72 79 3d 30 20 54 4f 20 33 |OR memory=0 TO 3| 00001e70 0d 20 20 37 34 30 20 41 25 3d 62 79 74 65 28 6d |. 740 A%=byte(m| 00001e80 65 6d 6f 72 79 29 0d 20 20 37 35 30 20 49 46 20 |emory). 750 IF | 00001e90 41 25 3e 33 31 20 41 4e 44 20 41 25 3c 31 32 37 |A%>31 AND A%<127| 00001ea0 20 56 44 55 41 25 20 45 4c 53 45 20 56 44 55 34 | VDUA% ELSE VDU4| 00001eb0 36 0d 20 20 37 36 30 20 4e 45 58 54 0d 20 20 37 |6. 760 NEXT. 7| 00001ec0 37 30 20 50 52 49 4e 54 3b 22 20 20 20 22 3b 0d |70 PRINT;" ";.| 00001ed0 20 20 37 38 30 20 46 4f 52 20 6d 65 6d 6f 72 79 | 780 FOR memory| 00001ee0 3d 34 20 54 4f 20 37 0d 20 20 37 39 30 20 41 25 |=4 TO 7. 790 A%| 00001ef0 3d 62 79 74 65 28 6d 65 6d 6f 72 79 29 0d 20 20 |=byte(memory). | 00001f00 38 30 30 20 49 46 20 41 25 3c 31 36 20 56 44 55 |800 IF A%<16 VDU| 00001f10 34 38 0d 20 20 38 31 30 20 50 52 49 4e 54 3b 7e |48. 810 PRINT;~| 00001f20 41 25 3b 22 20 22 3b 0d 20 20 38 32 30 20 4e 45 |A%;" ";. 820 NE| 00001f30 58 54 0d 20 20 38 33 30 20 46 4f 52 20 6d 65 6d |XT. 830 FOR mem| 00001f40 6f 72 79 3d 34 20 54 4f 20 37 0d 20 20 38 34 30 |ory=4 TO 7. 840| 00001f50 20 41 25 3d 62 79 74 65 28 6d 65 6d 6f 72 79 29 | A%=byte(memory)| 00001f60 0d 20 20 38 35 30 20 49 46 20 41 25 3e 33 31 20 |. 850 IF A%>31 | 00001f70 41 4e 44 20 41 25 3c 31 32 37 20 56 44 55 41 25 |AND A%<127 VDUA%| 00001f80 20 45 4c 53 45 20 56 44 55 34 36 0d 20 20 38 36 | ELSE VDU46. 86| 00001f90 30 20 4e 45 58 54 0d 20 20 38 37 30 20 50 52 49 |0 NEXT. 870 PRI| 00001fa0 4e 54 3b 22 20 20 20 22 3b 0d 20 20 38 38 30 20 |NT;" ";. 880 | 00001fb0 46 4f 52 20 6d 65 6d 6f 72 79 3d 38 20 54 4f 20 |FOR memory=8 TO | 00001fc0 31 31 0d 20 20 38 39 30 20 41 25 3d 62 79 74 65 |11. 890 A%=byte| 00001fd0 28 6d 65 6d 6f 72 79 29 0d 20 20 39 30 30 20 49 |(memory). 900 I| 00001fe0 46 20 41 25 3c 31 36 20 56 44 55 34 38 0d 20 20 |F A%<16 VDU48. | 00001ff0 39 31 30 20 50 52 49 4e 54 3b 7e 41 25 3b 22 20 |910 PRINT;~A%;" | 00002000 22 3b 0d 20 20 39 32 30 20 4e 45 58 54 0d 20 20 |";. 920 NEXT. | 00002010 39 33 30 20 46 4f 52 20 6d 65 6d 6f 72 79 3d 38 |930 FOR memory=8| 00002020 20 54 4f 20 31 31 0d 20 20 39 34 30 20 41 25 3d | TO 11. 940 A%=| 00002030 62 79 74 65 28 6d 65 6d 6f 72 79 29 0d 20 20 39 |byte(memory). 9| 00002040 35 30 20 49 46 20 41 25 3e 33 31 20 41 4e 44 20 |50 IF A%>31 AND | 00002050 41 25 3c 31 32 37 20 56 44 55 41 25 20 45 4c 53 |A%<127 VDUA% ELS| 00002060 45 20 56 44 55 34 36 0d 20 20 39 36 30 20 4e 45 |E VDU46. 960 NE| 00002070 58 54 0d 20 20 39 37 30 20 50 52 49 4e 54 0d 20 |XT. 970 PRINT. | 00002080 20 39 38 30 20 4e 45 58 54 0d 20 20 39 39 30 20 | 980 NEXT. 990 | 00002090 56 44 55 33 0d 20 31 30 30 30 20 49 4e 50 55 54 |VDU3. 1000 INPUT| 000020a0 27 22 41 6e 6f 74 68 65 72 20 28 59 2f 4e 29 20 |'"Another (Y/N) | 000020b0 22 79 65 73 24 0d 20 31 30 31 30 20 49 46 20 4c |"yes$. 1010 IF L| 000020c0 45 46 54 24 28 79 65 73 24 2c 31 29 3d 22 59 22 |EFT$(yes$,1)="Y"| 000020d0 20 54 48 45 4e 20 52 55 4e 0d 20 31 30 32 30 20 | THEN RUN. 1020 | 000020e0 45 4e 44 0d 0d 0d 4c 6f 61 64 20 61 6e 64 20 72 |END...Load and r| 000020f0 75 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 20 61 |un the program a| 00002100 6e 64 20 75 73 65 20 69 74 20 74 6f 20 64 69 73 |nd use it to dis| 00002110 70 6c 61 79 20 74 68 65 20 66 69 72 73 74 20 26 |play the first &| 00002120 33 42 20 62 79 74 65 73 20 6f 66 20 77 6f 72 64 |3B bytes of word| 00002130 0d 50 48 52 4f 4d 20 41 2e 20 59 6f 75 20 73 68 |.PHROM A. You sh| 00002140 6f 75 6c 64 20 70 72 6f 64 75 63 65 20 61 20 64 |ould produce a d| 00002150 69 73 70 6c 61 79 20 73 69 6d 69 6c 61 72 20 74 |isplay similar t| 00002160 6f 20 74 68 65 20 6f 6e 65 20 73 68 6f 77 6e 20 |o the one shown | 00002170 69 6e 20 66 69 67 75 72 65 20 32 0d 0d 0d 2b 2d |in figure 2...+-| 00002180 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000021c0 2b 0d 7c 20 20 53 74 61 72 74 20 61 64 64 72 65 |+.| Start addre| 000021d0 73 73 20 26 30 20 20 20 20 20 20 20 20 20 20 20 |ss &0 | 000021e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002200 20 20 20 20 7c 0d 7c 20 20 45 6e 64 20 61 64 64 | |.| End add| 00002210 72 65 73 73 20 20 20 26 33 42 20 20 20 20 20 20 |ress &3B | 00002220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002240 20 20 20 20 20 20 20 20 7c 0d 7c 20 20 50 72 69 | |.| Pri| 00002250 6e 74 65 72 20 28 59 2f 4e 29 20 4e 20 20 20 20 |nter (Y/N) N | 00002260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002280 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 7c 20 | |.| | 00002290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000022d0 7c 0d 7c 20 20 41 64 64 72 20 20 20 20 55 6e 74 ||.| Addr Unt| 000022e0 72 61 6e 73 66 6f 72 6d 65 64 20 20 20 20 20 20 |ransformed | 000022f0 20 52 6f 74 61 74 65 64 20 20 20 20 20 20 20 20 | Rotated | 00002300 20 20 20 20 52 65 76 65 72 73 65 64 20 20 20 20 | Reversed | 00002310 20 20 20 20 7c 0d 7c 20 20 20 20 20 20 20 20 20 | |.| | 00002320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002350 20 20 20 20 20 20 20 20 7c 0d 7c 20 20 30 30 30 | |.| 000| 00002360 30 20 20 20 30 30 20 46 46 20 32 38 20 34 33 20 |0 00 FF 28 43 | 00002370 2e 2e 28 43 20 20 20 30 30 20 46 46 20 31 34 20 |..(C 00 FF 14 | 00002380 41 31 20 2e 2e 2e 2e 20 20 20 30 30 20 46 46 20 |A1 .... 00 FF | 00002390 31 34 20 43 32 20 2e 2e 2e 2e 20 20 7c 0d 7c 20 |14 C2 .... |.| | 000023a0 20 30 30 30 34 20 20 20 32 39 20 33 31 20 33 39 | 0004 29 31 39| 000023b0 20 33 38 20 29 31 39 38 20 20 20 39 34 20 39 38 | 38 )198 94 98| 000023c0 20 39 43 20 31 43 20 2e 2e 2e 2e 20 20 20 39 34 | 9C 1C .... 94| 000023d0 20 38 43 20 39 43 20 31 43 20 2e 2e 2e 2e 20 20 | 8C 9C 1C .... | 000023e0 7c 0d 7c 20 20 30 30 30 38 20 20 20 33 32 20 32 ||.| 0008 32 2| 000023f0 30 20 34 31 20 36 33 20 32 20 41 63 20 20 20 31 |0 41 63 2 Ac 1| 00002400 39 20 31 30 20 41 30 20 42 31 20 2e 2e 2e 2e 20 |9 10 A0 B1 .... | 00002410 20 20 34 43 20 30 34 20 38 32 20 43 36 20 4c 2e | 4C 04 82 C6 L.| 00002420 2e 2e 20 20 7c 0d 7c 20 20 30 30 30 43 20 20 20 |.. |.| 000C | 00002430 36 46 20 37 32 20 36 45 20 30 30 20 6f 72 6e 2e |6F 72 6E 00 orn.| 00002440 20 20 20 42 37 20 33 39 20 33 37 20 30 30 20 2e | B7 39 37 00 .| 00002450 39 37 2e 20 20 20 46 36 20 34 45 20 37 36 20 30 |97. F6 4E 76 0| 00002460 30 20 2e 4e 76 2e 20 20 7c 0d 7c 20 20 30 30 31 |0 .Nv. |.| 001| 00002470 30 20 20 20 35 37 20 36 46 20 37 32 20 36 34 20 |0 57 6F 72 64 | 00002480 57 6f 72 64 20 20 20 41 42 20 42 37 20 33 39 20 |Word AB B7 39 | 00002490 33 32 20 2e 2e 39 32 20 20 20 45 41 20 46 36 20 |32 ..92 EA F6 | 000024a0 34 45 20 32 36 20 2e 2e 4e 26 20 20 7c 0d 7c 20 |4E 26 ..N& |.| | 000024b0 20 30 30 31 34 20 20 20 32 30 20 35 30 20 34 38 | 0014 20 50 48| 000024c0 20 35 32 20 20 50 48 52 20 20 20 31 30 20 32 38 | 52 PHR 10 28| 000024d0 20 32 34 20 32 39 20 2e 28 24 29 20 20 20 30 34 | 24 29 .($) 04| 000024e0 20 30 41 20 31 32 20 34 41 20 2e 2e 2e 4a 20 20 | 0A 12 4A ...J | 000024f0 7c 0d 7c 20 20 30 30 31 38 20 20 20 34 46 20 34 ||.| 0018 4F 4| 00002500 44 20 32 30 20 34 31 20 4f 4d 20 41 20 20 20 41 |D 20 41 OM A A| 00002510 37 20 41 36 20 31 30 20 41 30 20 2e 2e 2e 2e 20 |7 A6 10 A0 .... | 00002520 20 20 46 32 20 42 32 20 30 34 20 38 32 20 2e 2e | F2 B2 04 82 ..| 00002530 2e 2e 20 20 7c 0d 7c 20 20 30 30 31 43 20 20 20 |.. |.| 001C | 00002540 30 30 20 33 31 20 32 45 20 33 30 20 2e 31 2e 30 |00 31 2E 30 .1.0| 00002550 20 20 20 30 30 20 39 38 20 31 37 20 31 38 20 2e | 00 98 17 18 .| 00002560 2e 2e 2e 20 20 20 30 30 20 38 43 20 37 34 20 30 |... 00 8C 74 0| 00002570 43 20 2e 2e 74 2e 20 20 7c 0d 7c 20 20 30 30 32 |C ..t. |.| 002| 00002580 30 20 20 20 33 30 20 30 30 20 30 30 20 30 30 20 |0 30 00 00 00 | 00002590 30 2e 2e 2e 20 20 20 31 38 20 30 30 20 30 30 20 |0... 18 00 00 | 000025a0 30 30 20 2e 2e 2e 2e 20 20 20 30 43 20 30 30 20 |00 .... 0C 00 | 000025b0 30 30 20 30 30 20 2e 2e 2e 2e 20 20 7c 0d 7c 20 |00 00 .... |.| | 000025c0 20 30 30 32 34 20 20 20 30 30 20 30 30 20 30 30 | 0024 00 00 00| 000025d0 20 30 30 20 2e 2e 2e 2e 20 20 20 30 30 20 30 30 | 00 .... 00 00| 000025e0 20 30 30 20 30 30 20 2e 2e 2e 2e 20 20 20 30 30 | 00 00 .... 00| 000025f0 20 30 30 20 30 30 20 30 30 20 2e 2e 2e 2e 20 20 | 00 00 00 .... | 00002600 7c 0d 7c 20 20 30 30 32 38 20 20 20 30 30 20 30 ||.| 0028 00 0| 00002610 30 20 30 30 20 30 30 20 2e 2e 2e 2e 20 20 20 30 |0 00 00 .... 0| 00002620 30 20 30 30 20 30 30 20 30 30 20 2e 2e 2e 2e 20 |0 00 00 00 .... | 00002630 20 20 30 30 20 30 30 20 30 30 20 30 30 20 2e 2e | 00 00 00 00 ..| 00002640 2e 2e 20 20 7c 0d 7c 20 20 30 30 32 43 20 20 20 |.. |.| 002C | 00002650 30 30 20 30 30 20 30 30 20 30 30 20 2e 2e 2e 2e |00 00 00 00 ....| 00002660 20 20 20 30 30 20 30 30 20 30 30 20 30 30 20 2e | 00 00 00 00 .| 00002670 2e 2e 2e 20 20 20 30 30 20 30 30 20 30 30 20 30 |... 00 00 00 0| 00002680 30 20 2e 2e 2e 2e 20 20 7c 0d 7c 20 20 30 30 33 |0 .... |.| 003| 00002690 30 20 20 20 30 30 20 30 30 20 30 30 20 30 30 20 |0 00 00 00 00 | 000026a0 2e 2e 2e 2e 20 20 20 30 30 20 30 30 20 30 30 20 |.... 00 00 00 | 000026b0 30 30 20 2e 2e 2e 2e 20 20 20 30 30 20 30 30 20 |00 .... 00 00 | 000026c0 30 30 20 30 30 20 2e 2e 2e 2e 20 20 7c 0d 7c 20 |00 00 .... |.| | 000026d0 20 30 30 33 34 20 20 20 30 30 20 30 30 20 30 30 | 0034 00 00 00| 000026e0 20 30 30 20 2e 2e 2e 2e 20 20 20 30 30 20 30 30 | 00 .... 00 00| 000026f0 20 30 30 20 30 30 20 2e 2e 2e 2e 20 20 20 30 30 | 00 00 .... 00| 00002700 20 30 30 20 30 30 20 30 30 20 2e 2e 2e 2e 20 20 | 00 00 00 .... | 00002710 7c 0d 7c 20 20 30 30 33 38 20 20 20 35 46 20 30 ||.| 0038 5F 0| 00002720 30 20 30 34 20 30 31 20 5f 2e 2e 2e 20 20 20 41 |0 04 01 _... A| 00002730 46 20 30 30 20 30 32 20 38 30 20 2e 2e 2e 2e 20 |F 00 02 80 .... | 00002740 20 20 46 41 20 30 30 20 32 30 20 38 30 20 2e 2e | FA 00 20 80 ..| 00002750 20 2e 20 20 7c 0d 7c 20 20 20 20 20 20 20 20 20 | . |.| | 00002760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002790 20 20 20 20 20 20 20 20 7c 0d 7c 20 20 41 6e 6f | |.| Ano| 000027a0 74 68 65 72 20 28 59 2f 4e 29 20 4e 20 20 20 20 |ther (Y/N) N | 000027b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000027d0 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 2b 2d | |.+-| 000027e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002820 2b 0d 0d 46 69 67 75 72 65 20 32 2e 20 54 68 65 |+..Figure 2. The| 00002830 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65 | output from the| 00002840 20 70 72 6f 67 72 61 6d 20 52 45 56 45 52 53 45 | program REVERSE| 00002850 0d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.---------------| 00002860 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00002870 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d |--------------..| 00002880 0d 54 68 65 20 66 69 72 73 74 20 26 33 42 20 62 |.The first &3B b| 00002890 79 74 65 73 20 6f 66 20 77 6f 72 64 20 50 48 52 |ytes of word PHR| 000028a0 4f 4d 20 41 20 61 72 65 20 75 6e 74 72 61 6e 73 |OM A are untrans| 000028b0 66 6f 72 6d 65 64 20 61 6e 64 20 79 6f 75 20 63 |formed and you c| 000028c0 61 6e 20 69 67 6e 6f 72 65 0d 74 68 65 20 72 6f |an ignore.the ro| 000028d0 74 61 74 65 64 20 61 6e 64 20 72 65 76 65 72 73 |tated and revers| 000028e0 65 64 20 63 6f 6c 75 6d 6e 73 20 66 6f 72 20 74 |ed columns for t| 000028f0 68 65 20 66 69 72 73 74 20 26 33 42 20 62 79 74 |he first &3B byt| 00002900 65 73 2e 20 54 68 65 20 75 73 65 66 75 6c 0d 69 |es. The useful.i| 00002910 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20 74 68 |nformation in th| 00002920 65 73 65 20 66 69 72 73 74 20 66 65 77 20 62 79 |ese first few by| 00002930 74 65 73 20 69 6e 63 6c 75 64 65 73 20 74 68 65 |tes includes the| 00002940 20 77 6f 72 64 20 50 48 52 4f 4d 20 73 65 72 69 | word PHROM seri| 00002950 61 6c 20 6e 75 6d 62 65 72 0d 28 26 30 30 30 30 |al number.(&0000| 00002960 29 20 69 6e 20 61 64 64 72 65 73 73 65 73 20 26 |) in addresses &| 00002970 33 36 20 61 6e 64 20 26 33 37 2e 20 54 68 65 20 |36 and &37. The | 00002980 6e 75 6d 62 65 72 20 6f 66 20 41 53 43 49 49 20 |number of ASCII | 00002990 61 73 73 6f 63 69 61 74 65 64 20 77 6f 72 64 73 |associated words| 000029a0 20 69 73 0d 26 30 30 35 46 20 28 69 6e 20 61 64 | is.&005F (in ad| 000029b0 64 72 65 73 73 65 73 20 26 33 38 20 61 6e 64 20 |dresses &38 and | 000029c0 26 33 39 29 20 61 6e 64 20 74 68 65 20 6e 75 6d |&39) and the num| 000029d0 62 65 72 20 6f 66 20 70 6f 69 6e 74 65 72 73 20 |ber of pointers | 000029e0 69 73 20 26 30 31 30 34 20 28 69 6e 0d 61 64 64 |is &0104 (in.add| 000029f0 72 65 73 73 65 73 20 26 33 41 20 61 6e 64 20 26 |resses &3A and &| 00002a00 33 42 29 2e 0d 0d 54 68 65 20 72 65 76 65 72 73 |3B)...The revers| 00002a10 65 64 20 64 61 74 61 20 73 74 61 72 74 20 61 74 |ed data start at| 00002a20 20 26 33 43 2e 20 52 75 6e 20 74 68 65 20 70 72 | &3C. Run the pr| 00002a30 6f 67 72 61 6d 20 61 67 61 69 6e 20 73 74 61 72 |ogram again star| 00002a40 74 69 6e 67 20 61 74 20 26 33 43 2e 0d 0d 0d 2b |ting at &3C....+| 00002a50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002a90 2d 2b 0d 7c 20 20 53 74 61 72 74 20 61 64 64 72 |-+.| Start addr| 00002aa0 65 73 73 20 26 33 43 20 20 20 20 20 20 20 20 20 |ess &3C | 00002ab0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002ad0 20 20 20 20 20 7c 0d 7c 20 20 45 6e 64 20 61 64 | |.| End ad| 00002ae0 64 72 65 73 73 20 20 20 26 32 37 30 20 20 20 20 |dress &270 | 00002af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002b10 20 20 20 20 20 20 20 20 20 7c 0d 7c 20 20 50 72 | |.| Pr| 00002b20 69 6e 74 65 72 20 28 59 2f 4e 29 20 4e 20 20 20 |inter (Y/N) N | 00002b30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002b50 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d 7c | |.|| 00002b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002ba0 20 7c 0d 7c 20 20 41 64 64 72 20 20 20 20 55 6e | |.| Addr Un| 00002bb0 74 72 61 6e 73 66 6f 72 6d 65 64 20 20 20 20 20 |transformed | 00002bc0 20 20 52 6f 74 61 74 65 64 20 20 20 20 20 20 20 | Rotated | 00002bd0 20 20 20 20 20 52 65 76 65 72 73 65 64 20 20 20 | Reversed | 00002be0 20 20 20 20 20 7c 0d 7c 20 20 20 20 20 20 20 20 | |.| | 00002bf0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00002c20 20 20 20 20 20 20 20 20 20 7c 0d 7c 20 20 30 30 | |.| 00| 00002c30 33 43 20 20 20 30 30 20 30 32 20 30 30 20 30 32 |3C 00 02 00 02| 00002c40 20 2e 2e 2e 2e 20 20 20 30 30 20 30 31 20 30 30 | .... 00 01 00| 00002c50 20 30 31 20 2e 2e 2e 2e 20 20 20 30 30 20 34 30 | 01 .... 00 40| 00002c60 20 30 30 20 34 30 20 2e 40 2e 40 20 20 7c 0d 7c | 00 40 .@.@ |.|| 00002c70 20 20 30 30 34 30 20 20 20 30 41 20 34 30 20 35 | 0040 0A 40 5| 00002c80 33 20 41 43 20 2e 40 53 2e 20 20 20 30 35 20 32 |3 AC .@S. 05 2| 00002c90 30 20 41 39 20 35 36 20 2e 20 2e 56 20 20 20 35 |0 A9 56 . .V 5| 00002ca0 30 20 30 32 20 43 41 20 33 35 20 50 2e 2e 35 20 |0 02 CA 35 P..5 | 00002cb0 20 7c 0d 7c 20 20 30 30 34 34 20 20 20 34 39 20 | |.| 0044 49 | 00002cc0 36 30 20 46 43 20 45 30 20 49 60 2e 2e 20 20 20 |60 FC E0 I`.. | 00002cd0 41 34 20 33 30 20 37 45 20 37 30 20 2e 30 7e 70 |A4 30 7E 70 .0~p| 00002ce0 20 20 20 39 32 20 30 36 20 33 46 20 30 37 20 2e | 92 06 3F 07 .| 00002cf0 2e 3f 2e 20 20 7c 0d 7c 20 20 30 30 34 38 20 20 |.?. |.| 0048 | 00002d00 20 45 46 20 45 30 20 36 44 20 31 30 20 2e 2e 6d | EF E0 6D 10 ..m| 00002d10 2e 20 20 20 46 37 20 37 30 20 42 36 20 30 38 20 |. F7 70 B6 08 | 00002d20 2e 70 2e 2e 20 20 20 46 37 20 30 37 20 42 36 20 |.p.. F7 07 B6 | 00002d30 30 38 20 2e 2e 2e 2e 20 20 7c 0d 7c 20 20 30 30 |08 .... |.| 00| 00002d40 34 43 20 20 20 36 43 20 39 30 20 44 33 20 39 30 |4C 6C 90 D3 90| 00002d50 20 6c 2e 2e 2e 20 20 20 33 36 20 34 38 20 45 39 | l... 36 48 E9| 00002d60 20 34 38 20 36 48 2e 48 20 20 20 33 36 20 30 39 | 48 6H.H 36 09| 00002d70 20 43 42 20 30 39 20 36 2e 2e 2e 20 20 7c 0d 7c | CB 09 6... |.|| 00002d80 20 20 30 30 35 30 20 20 20 36 32 20 35 30 20 42 | 0050 62 50 B| 00002d90 46 20 35 30 20 62 50 2e 50 20 20 20 33 31 20 32 |F 50 bP.P 31 2| 00002da0 38 20 44 46 20 32 38 20 31 28 2e 28 20 20 20 34 |8 DF 28 1(.( 4| 00002db0 36 20 30 41 20 46 44 20 30 41 20 46 2e 2e 2e 20 |6 0A FD 0A F... | 00002dc0 20 7c 0d 7c 20 20 30 30 35 34 20 20 20 32 45 20 | |.| 0054 2E | 00002dd0 31 43 20 41 32 20 33 34 20 2e 2e 2e 34 20 20 20 |1C A2 34 ...4 | 00002de0 31 37 20 30 45 20 35 31 20 31 41 20 2e 2e 51 2e |17 0E 51 1A ..Q.| 00002df0 20 20 20 37 34 20 33 38 20 34 35 20 32 43 20 74 | 74 38 45 2C t| 00002e00 38 45 2c 20 20 7c 0d 7c 20 20 30 30 35 38 20 20 |8E, |.| 0058 | 00002e10 20 30 43 20 41 30 20 38 34 20 43 34 20 2e 2e 2e | 0C A0 84 C4 ...| 00002e20 2e 20 20 20 30 36 20 35 30 20 34 32 20 36 32 20 |. 06 50 42 62 | 00002e30 2e 50 42 62 20 20 20 33 30 20 30 35 20 32 31 20 |.PBb 30 05 21 | 00002e40 32 33 20 30 2e 21 23 20 20 7c 0d 7c 20 20 30 30 |23 0.!# |.| 00| 00002e50 35 43 20 20 20 44 31 20 33 34 20 30 31 20 39 34 |5C D1 34 01 94| 00002e60 20 2e 34 2e 2e 20 20 20 45 38 20 31 41 20 38 30 | .4.. E8 1A 80| 00002e70 20 34 41 20 2e 2e 2e 4a 20 20 20 38 42 20 32 43 | 4A ...J 8B 2C| 00002e80 20 38 30 20 32 39 20 2e 2c 2e 29 20 20 7c 0d 7c | 80 29 .,.) |.|| 00002e90 20 20 30 30 36 30 20 20 20 45 43 20 32 30 20 35 | 0060 EC 20 5| 00002ea0 33 20 41 30 20 2e 20 53 2e 20 20 20 37 36 20 31 |3 A0 . S. 76 1| 00002eb0 30 20 41 39 20 35 30 20 76 2e 2e 50 20 20 20 33 |0 A9 50 v..P 3| 00002ec0 37 20 30 34 20 43 41 20 30 35 20 37 2e 2e 2e 20 |7 04 CA 05 7... | 00002ed0 20 7c 0d 7c 20 20 20 20 20 20 20 20 20 20 20 20 | |.| | 00002ee0 20 20 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 | : | 00002ef0 20 20 20 20 20 3a 20 20 20 20 20 20 20 20 20 20 | : | 00002f00 20 20 20 20 20 20 20 20 3a 20 20 20 20 20 20 20 | : | 00002f10 20 20 20 20 20 7c 0d 7c 20 20 30 30 46 30 20 20 | |.| 00F0 | 00002f20 20 35 36 20 45 34 20 33 46 20 37 43 20 56 2e 3f | 56 E4 3F 7C V.?| 00002f30 7c 20 20 20 32 42 20 37 32 20 39 46 20 33 45 20 || 2B 72 9F 3E | 00002f40 2b 72 2e 3e 20 20 20 36 41 20 32 37 20 46 43 20 |+r.> 6A 27 FC | 00002f50 33 45 20 6a 27 2e 3e 20 20 7c 0d 7c 20 20 30 30 |3E j'.> |.| 00| 00002f60 46 34 20 20 20 41 38 20 32 30 20 37 38 20 44 38 |F4 A8 20 78 D8| 00002f70 20 2e 20 78 2e 20 20 20 35 34 20 31 30 20 33 43 | . x. 54 10 3C| 00002f80 20 36 43 20 54 2e 3c 6c 20 20 20 31 35 20 30 34 | 6C T.<l 15 04| 00002f90 20 31 45 20 31 42 20 2e 2e 2e 2e 20 20 7c 0d 7c | 1E 1B .... |.|| 00002fa0 20 20 30 30 46 38 20 20 20 31 32 20 35 34 20 41 | 00F8 12 54 A| 00002fb0 39 20 38 34 20 2e 54 2e 2e 20 20 20 30 39 20 32 |9 84 .T.. 09 2| 00002fc0 41 20 44 34 20 34 32 20 2e 2a 2e 42 20 20 20 34 |A D4 42 .*.B 4| 00002fd0 38 20 32 41 20 39 35 20 32 31 20 48 2a 2e 21 20 |8 2A 95 21 H*.! | 00002fe0 20 7c 0d 7c 20 20 30 30 46 43 20 20 20 42 39 20 | |.| 00FC B9 | 00002ff0 36 34 20 30 41 20 34 30 20 2e 64 2e 40 20 20 20 |64 0A 40 .d.@ | 00003000 44 43 20 33 32 20 30 35 20 32 30 20 2e 32 2e 20 |DC 32 05 20 .2. | 00003010 20 20 20 39 44 20 32 36 20 35 30 20 30 32 20 2e | 9D 26 50 02 .| 00003020 26 50 2e 20 20 7c 0d 7c 20 20 30 31 30 30 20 20 |&P. |.| 0100 | 00003030 20 46 41 20 34 30 20 34 45 20 34 30 20 2e 40 4e | FA 40 4E 40 .@N| 00003040 40 20 20 20 37 44 20 32 30 20 32 37 20 32 30 20 |@ 7D 20 27 20 | 00003050 7d 20 27 20 20 20 20 35 46 20 30 32 20 37 32 20 |} ' 5F 02 72 | 00003060 30 32 20 5f 2e 72 2e 20 20 7c 0d 7c 20 20 30 31 |02 _.r. |.| 01| 00003070 30 34 20 20 20 30 44 20 34 30 20 39 37 20 34 30 |04 0D 40 97 40| 00003080 20 2e 40 2e 40 20 20 20 38 36 20 32 30 20 43 42 | .@.@ 86 20 CB| 00003090 20 32 30 20 2e 20 2e 20 20 20 20 42 30 20 30 32 | 20 . . B0 02| 000030a0 20 45 39 20 30 32 20 2e 2e 2e 2e 20 20 7c 0d 7c | E9 02 .... |.|| 000030b0 20 20 30 31 30 38 20 20 20 30 30 20 43 30 20 44 | 0108 00 C0 D| 000030c0 34 20 43 30 20 2e 2e 2e 2e 20 20 20 30 30 20 36 |4 C0 .... 00 6| 000030d0 30 20 36 41 20 36 30 20 2e 60 6a 60 20 20 20 30 |0 6A 60 .`j` 0| 000030e0 30 20 30 33 20 32 42 20 30 33 20 2e 2e 2b 2e 20 |0 03 2B 03 ..+. | 000030f0 20 7c 0d 7c 20 20 20 20 20 20 20 20 20 20 20 20 | |.| | 00003100 20 20 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 | : | 00003110 20 20 20 20 20 20 3a 20 20 20 20 20 20 20 20 20 | : | 00003120 20 20 20 20 20 20 20 20 20 20 3a 20 20 20 20 20 | : | 00003130 20 20 20 20 20 7c 20 0d 7c 20 20 30 32 33 30 20 | | .| 0230 | 00003140 20 20 31 44 20 44 43 20 42 38 20 33 43 20 2e 2e | 1D DC B8 3C ..| 00003150 2e 3c 20 20 20 38 45 20 36 45 20 35 43 20 31 45 |.< 8E 6E 5C 1E| 00003160 20 2e 6e 5c 2e 20 20 20 42 38 20 33 42 20 31 44 | .n\. B8 3B 1D| 00003170 20 33 43 20 2e 3b 2e 3c 20 20 7c 0d 7c 20 20 30 | 3C .;.< |.| 0| 00003180 32 33 34 20 20 20 33 36 20 33 43 20 34 33 20 33 |234 36 3C 43 3| 00003190 43 20 36 3c 43 3c 20 20 20 31 42 20 31 45 20 41 |C 6<C< 1B 1E A| 000031a0 31 20 31 45 20 2e 2e 2e 2e 20 20 20 36 43 20 33 |1 1E .... 6C 3| 000031b0 43 20 43 32 20 33 43 20 6c 3c 2e 3c 20 20 7c 0d |C C2 3C l<.< |.| 000031c0 7c 20 20 30 32 33 38 20 20 20 35 38 20 42 43 20 || 0238 58 BC | 000031d0 37 36 20 42 43 20 58 2e 76 2e 20 20 20 32 43 20 |76 BC X.v. 2C | 000031e0 35 45 20 33 42 20 35 45 20 2c 5e 3b 5e 20 20 20 |5E 3B 5E ,^;^ | 000031f0 31 41 20 33 44 20 36 45 20 33 44 20 2e 3d 6e 3d |1A 3D 6E 3D .=n=| 00003200 20 20 7c 0d 7c 20 20 30 32 33 43 20 20 20 41 44 | |.| 023C AD| 00003210 20 42 43 20 38 38 20 37 43 20 2e 2e 2e 7c 20 20 | BC 88 7C ...| | 00003220 20 44 36 20 35 45 20 34 34 20 33 45 20 2e 5e 44 | D6 5E 44 3E .^D| 00003230 3e 20 20 20 42 35 20 33 44 20 31 31 20 33 45 20 |> B5 3D 11 3E | 00003240 2e 3d 2e 3e 20 20 7c 0d 7c 20 20 30 32 34 30 20 |.=.> |.| 0240 | 00003250 20 20 36 31 20 37 43 20 33 46 20 37 43 20 61 7c | 61 7C 3F 7C a|| 00003260 3f 7c 20 20 20 42 30 20 33 45 20 39 46 20 33 45 |?| B0 3E 9F 3E| 00003270 20 2e 3e 2e 3e 20 20 20 38 36 20 33 45 20 46 43 | .>.> 86 3E FC| 00003280 20 33 45 20 2e 3e 2e 3e 20 20 7c 0d 7c 20 20 30 | 3E .>.> |.| 0| 00003290 32 34 34 20 20 20 42 43 20 46 43 20 44 39 20 46 |244 BC FC D9 F| 000032a0 43 20 2e 2e 2e 2e 20 20 20 35 45 20 37 45 20 45 |C .... 5E 7E E| 000032b0 43 20 37 45 20 5e 7e 2e 7e 20 20 20 33 44 20 33 |C 7E ^~.~ 3D 3| 000032c0 46 20 39 42 20 33 46 20 3d 3f 2e 3f 20 20 7c 0d |F 9B 3F =?.? |.| 000032d0 7c 20 20 30 32 34 38 20 20 20 46 46 20 35 32 20 || 0248 FF 52 | 000032e0 36 41 20 36 34 20 2e 52 6a 64 20 20 20 46 46 20 |6A 64 .Rjd FF | 000032f0 32 39 20 33 35 20 33 32 20 2e 29 35 32 20 20 20 |29 35 32 .)52 | 00003300 46 46 20 34 41 20 35 36 20 32 36 20 2e 4a 56 26 |FF 4A 56 26 .JV&| 00003310 20 20 7c 0d 7c 20 20 30 32 34 43 20 20 20 36 32 | |.| 024C 62| 00003320 20 35 43 20 36 30 20 35 30 20 62 5c 60 50 20 20 | 5C 60 50 b\`P | 00003330 20 33 31 20 32 45 20 33 30 20 32 38 20 31 2e 30 | 31 2E 30 28 1.0| 00003340 28 20 20 20 34 36 20 33 41 20 30 36 20 30 41 20 |( 46 3A 06 0A | 00003350 46 3a 2e 2e 20 20 7c 0d 7c 20 20 30 32 35 30 20 |F:.. |.| 0250 | 00003360 20 20 31 30 20 32 38 20 38 33 20 42 42 20 2e 28 | 10 28 83 BB .(| 00003370 2e 2e 20 20 20 30 38 20 31 34 20 43 31 20 44 44 |.. 08 14 C1 DD| 00003380 20 2e 2e 2e 2e 20 20 20 30 38 20 31 34 20 43 31 | .... 08 14 C1| 00003390 20 44 44 20 2e 2e 2e 2e 20 20 7c 0d 7c 20 20 30 | DD .... |.| 0| 000033a0 32 35 34 20 20 20 41 32 20 32 36 20 43 30 20 30 |254 A2 26 C0 0| 000033b0 30 20 2e 26 2e 2e 20 20 20 35 31 20 31 33 20 36 |0 .&.. 51 13 6| 000033c0 30 20 30 30 20 51 2e 60 2e 20 20 20 34 35 20 36 |0 00 Q.`. 45 6| 000033d0 34 20 30 33 20 30 30 20 45 64 2e 2e 20 20 7c 0d |4 03 00 Ed.. |.| 000033e0 7c 20 20 30 32 35 38 20 20 20 33 46 20 35 32 20 || 0258 3F 52 | 000033f0 36 41 20 36 34 20 3f 52 6a 64 20 20 20 39 46 20 |6A 64 ?Rjd 9F | 00003400 32 39 20 33 35 20 33 32 20 2e 29 35 32 20 20 20 |29 35 32 .)52 | 00003410 46 43 20 34 41 20 35 36 20 32 36 20 2e 4a 56 26 |FC 4A 56 26 .JV&| 00003420 20 20 7c 0d 7c 20 20 30 32 35 43 20 20 20 35 43 | |.| 025C 5C| 00003430 20 36 30 20 35 30 20 31 30 20 5c 60 50 2e 20 20 | 60 50 10 \`P. | 00003440 20 32 45 20 33 30 20 32 38 20 30 38 20 2e 30 28 | 2E 30 28 08 .0(| 00003450 2e 20 20 20 33 41 20 30 36 20 30 41 20 30 38 20 |. 3A 06 0A 08 | 00003460 3a 2e 2e 2e 20 20 7c 0d 7c 20 20 30 32 36 30 20 |:... |.| 0260 | 00003470 20 20 32 38 20 38 33 20 42 42 20 41 32 20 28 2e | 28 83 BB A2 (.| 00003480 2e 2e 20 20 20 31 34 20 43 31 20 44 44 20 35 31 |.. 14 C1 DD 51| 00003490 20 2e 2e 2e 51 20 20 20 31 34 20 43 31 20 44 44 | ...Q 14 C1 DD| 000034a0 20 34 35 20 2e 2e 2e 45 20 20 7c 0d 7c 20 20 30 | 45 ...E |.| 0| 000034b0 32 36 34 20 20 20 32 36 20 43 30 20 30 30 20 30 |264 26 C0 00 0| 000034c0 30 20 26 2e 2e 2e 20 20 20 31 33 20 36 30 20 30 |0 &... 13 60 0| 000034d0 30 20 30 30 20 2e 60 2e 2e 20 20 20 36 34 20 30 |0 00 .`.. 64 0| 000034e0 33 20 30 30 20 30 30 20 64 2e 2e 2e 20 20 7c 0d |3 00 00 d... |.| 000034f0 7c 20 20 30 32 36 38 20 20 20 30 30 20 30 33 20 || 0268 00 03 | 00003500 46 46 20 35 32 20 2e 2e 2e 52 20 20 20 30 30 20 |FF 52 ...R 00 | 00003510 38 31 20 46 46 20 32 39 20 2e 2e 2e 29 20 20 20 |81 FF 29 ...) | 00003520 30 30 20 43 30 20 46 46 20 34 41 20 2e 2e 2e 4a |00 C0 FF 4A ...J| 00003530 20 20 7c 0d 7c 20 20 30 32 36 43 20 20 20 36 32 | |.| 026C 62| 00003540 20 38 41 20 39 43 20 39 45 20 62 2e 2e 2e 20 20 | 8A 9C 9E b... | 00003550 20 33 31 20 34 35 20 34 45 20 34 46 20 31 45 4e | 31 45 4E 4F 1EN| 00003560 4f 20 20 20 34 36 20 35 31 20 33 39 20 37 39 20 |O 46 51 39 79 | 00003570 46 51 39 79 20 20 7c 0d 7c 20 20 30 32 37 30 20 |FQ9y |.| 0270 | 00003580 20 20 41 38 20 35 30 20 42 31 20 34 46 20 2e 50 | A8 50 B1 4F .P| 00003590 2e 4f 20 20 20 35 34 20 32 38 20 44 38 20 41 37 |.O 54 28 D8 A7| 000035a0 20 54 28 2e 2e 20 20 20 31 35 20 30 41 20 38 44 | T(.. 15 0A 8D| 000035b0 20 46 32 20 2e 2e 2e 2e 20 20 7c 0d 7c 20 20 20 | F2 .... |.| | 000035c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000035f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0d | |.| 00003600 7c 20 20 41 6e 6f 74 68 65 72 20 28 59 2f 4e 29 || Another (Y/N)| 00003610 20 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | N | 00003620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00003640 20 20 7c 0d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | |.+-----------| 00003650 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003680 2d 2d 2d 2d 2d 2d 2b 0d 0d 46 69 67 75 72 65 20 |------+..Figure | 00003690 33 2e 20 41 6e 6f 74 68 65 72 20 6f 75 74 70 75 |3. Another outpu| 000036a0 74 20 66 72 6f 6d 20 52 45 56 45 52 53 45 0d 2d |t from REVERSE.-| 000036b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000036d0 2d 2d 2d 2d 0d 0d 0d 54 68 65 20 64 61 74 61 20 |----...The data | 000036e0 66 72 6f 6d 20 26 33 43 20 74 6f 20 26 33 46 46 |from &3C to &3FF| 000036f0 46 20 61 72 65 20 65 69 74 68 65 72 20 72 6f 74 |F are either rot| 00003700 61 74 65 64 20 6f 72 20 72 65 76 65 72 73 65 64 |ated or reversed| 00003710 2e 20 59 6f 75 20 63 61 6e 20 69 67 6e 6f 72 65 |. You can ignore| 00003720 0d 74 68 65 20 75 6e 74 72 61 6e 73 66 6f 72 6d |.the untransform| 00003730 65 64 20 63 6f 6c 75 6d 6e 20 66 72 6f 6d 20 26 |ed column from &| 00003740 33 43 20 74 6f 20 26 33 46 46 46 2e 0d 0d 54 68 |3C to &3FFF...Th| 00003750 65 20 70 6f 69 6e 74 65 72 73 20 73 74 6f 72 65 |e pointers store| 00003760 64 20 66 72 6f 6d 20 26 33 43 20 74 6f 20 26 32 |d from &3C to &2| 00003770 34 37 20 61 72 65 20 61 6c 6c 20 72 65 76 65 72 |47 are all rever| 00003780 73 65 64 2e 20 54 68 65 20 70 6f 69 6e 74 65 72 |sed. The pointer| 00003790 20 74 6f 20 74 68 65 0d 73 74 61 72 74 20 6f 66 | to the.start of| 000037a0 20 2a 52 4f 4d 20 64 61 74 61 20 28 61 64 64 72 | *ROM data (addr| 000037b0 65 73 73 65 73 20 26 33 43 20 61 6e 64 20 26 33 |esses &3C and &3| 000037c0 44 29 20 61 6e 64 20 74 68 65 20 70 6f 69 6e 74 |D) and the point| 000037d0 65 72 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 |er to the end of| 000037e0 0d 73 70 65 65 63 68 20 64 61 74 61 20 28 61 64 |.speech data (ad| 000037f0 64 72 65 73 73 65 73 20 26 33 45 20 61 6e 64 20 |dresses &3E and | 00003800 26 33 46 29 20 62 6f 74 68 20 63 6f 6e 74 61 69 |&3F) both contai| 00003810 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 26 34 30 |n the number &40| 00003820 30 30 2e 20 54 68 69 73 0d 69 6e 64 69 63 61 74 |00. This.indicat| 00003830 65 73 20 74 68 61 74 20 74 68 65 72 65 20 69 73 |es that there is| 00003840 20 6e 65 69 74 68 65 72 20 61 6e 79 20 2a 52 4f | neither any *RO| 00003850 4d 20 64 61 74 61 20 69 6e 20 77 6f 72 64 20 50 |M data in word P| 00003860 48 52 4f 4d 20 41 20 6e 6f 72 20 69 73 20 74 68 |HROM A nor is th| 00003870 65 72 65 0d 61 6e 79 20 72 6f 6f 6d 20 66 6f 72 |ere.any room for| 00003880 20 69 74 2e 0d 0d 41 64 64 72 65 73 73 65 73 20 | it...Addresses | 00003890 26 34 30 20 28 4c 53 42 29 20 61 6e 64 20 26 34 |&40 (LSB) and &4| 000038a0 31 20 28 4d 53 42 29 20 70 6f 69 6e 74 20 74 6f |1 (MSB) point to| 000038b0 20 74 68 65 20 66 69 72 73 74 20 41 53 43 49 49 | the first ASCII| 000038c0 20 61 73 73 6f 63 69 61 74 65 64 0d 77 6f 72 64 | associated.word| 000038d0 2e 20 54 68 69 73 20 77 6f 72 64 20 69 73 20 53 |. This word is S| 000038e0 50 41 43 45 20 28 73 65 65 20 41 70 70 65 6e 64 |PACE (see Append| 000038f0 69 78 20 42 20 6f 66 20 74 68 65 20 53 70 65 65 |ix B of the Spee| 00003900 63 68 20 53 79 73 74 65 6d 20 55 73 65 72 20 47 |ch System User G| 00003910 75 69 64 65 29 2e 0d 54 68 65 20 70 6f 69 6e 74 |uide)..The point| 00003920 65 72 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 |er contains the | 00003930 6e 75 6d 62 65 72 20 26 30 32 35 30 20 77 68 69 |number &0250 whi| 00003940 63 68 20 69 73 20 74 68 65 20 61 64 64 72 65 73 |ch is the addres| 00003950 73 20 6f 66 20 74 68 65 20 64 61 74 61 20 66 6f |s of the data fo| 00003960 72 0d 74 68 65 20 77 6f 72 64 20 28 30 2e 31 32 |r.the word (0.12| 00003970 35 29 2c 20 74 68 65 20 73 68 6f 72 74 20 70 61 |5), the short pa| 00003980 75 73 65 20 28 73 65 65 20 41 70 70 65 6e 64 69 |use (see Appendi| 00003990 78 20 41 20 6f 66 20 74 68 65 20 55 73 65 72 20 |x A of the User | 000039a0 47 75 69 64 65 29 2e 20 54 68 65 0d 62 79 74 65 |Guide). The.byte| 000039b0 73 20 61 74 20 61 64 64 72 65 73 73 65 73 20 26 |s at addresses &| 000039c0 34 32 20 28 4c 53 42 29 20 61 6e 64 20 26 34 33 |42 (LSB) and &43| 000039d0 20 28 4d 53 42 29 20 63 6f 6e 74 61 69 6e 20 74 | (MSB) contain t| 000039e0 68 65 20 6e 75 6d 62 6e 65 72 20 26 33 35 43 41 |he numbner &35CA| 000039f0 2e 20 54 68 69 73 0d 70 6f 69 6e 74 73 20 74 6f |. This.points to| 00003a00 20 74 68 65 20 73 70 65 65 63 68 20 64 61 74 61 | the speech data| 00003a10 20 66 6f 72 20 74 68 65 20 41 53 43 49 49 20 61 | for the ASCII a| 00003a20 73 73 6f 63 69 61 74 65 64 20 77 6f 72 64 20 21 |ssociated word !| 00003a30 2c 20 77 68 69 63 68 20 69 73 20 54 45 4e 2e 0d |, which is TEN..| 00003a40 0d 54 68 65 72 65 20 61 72 65 20 26 35 46 20 41 |.There are &5F A| 00003a50 53 43 49 49 20 61 73 73 6f 63 69 61 74 65 64 20 |SCII associated | 00003a60 77 6f 72 64 73 20 28 73 65 65 20 41 70 70 65 6e |words (see Appen| 00003a70 64 69 78 20 42 20 6f 66 20 74 68 65 20 55 73 65 |dix B of the Use| 00003a80 72 20 47 75 69 64 65 29 2e 0d 54 68 65 20 70 6f |r Guide)..The po| 00003a90 69 6e 74 65 72 20 66 6f 72 20 61 6e 20 41 53 43 |inter for an ASC| 00003aa0 49 49 20 61 73 73 6f 63 69 61 74 65 64 20 77 6f |II associated wo| 00003ab0 72 64 2c 20 6e 2c 20 66 72 6f 6d 20 53 50 41 43 |rd, n, from SPAC| 00003ac0 45 20 28 6e 20 3d 20 26 32 30 29 20 74 6f 20 7e |E (n = &20) to ~| 00003ad0 0d 28 6e 20 3d 20 26 37 46 29 20 69 73 20 6c 6f |.(n = &7F) is lo| 00003ae0 63 61 74 65 64 20 61 74 20 61 64 64 72 65 73 73 |cated at address| 00003af0 20 32 2a 6e 20 69 6e 20 77 6f 72 64 20 50 48 52 | 2*n in word PHR| 00003b00 4f 4d 20 41 2e 20 54 6f 20 66 69 6e 64 20 74 68 |OM A. To find th| 00003b10 65 20 61 64 64 72 65 73 73 0d 6f 66 20 74 68 65 |e address.of the| 00003b20 20 73 70 65 65 63 68 20 64 61 74 61 20 61 73 73 | speech data ass| 00003b30 6f 63 69 61 74 65 64 20 77 69 74 68 2c 20 66 6f |ociated with, fo| 00003b40 72 20 65 78 61 6d 70 6c 65 2c 20 41 53 43 49 49 |r example, ASCII| 00003b50 20 24 20 79 6f 75 20 73 68 6f 75 6c 64 20 66 69 | $ you should fi| 00003b60 72 73 74 0d 6d 75 6c 74 69 70 6c 79 20 74 68 65 |rst.multiply the| 00003b70 20 41 53 43 49 49 20 63 6f 64 65 20 66 6f 72 20 | ASCII code for | 00003b80 24 20 62 79 20 32 2c 20 26 32 34 2a 32 3d 26 34 |$ by 2, &24*2=&4| 00003b90 38 2e 20 54 68 65 20 6e 75 6d 62 65 72 20 73 74 |8. The number st| 00003ba0 6f 72 65 64 20 61 74 0d 61 64 64 72 65 73 73 65 |ored at.addresse| 00003bb0 73 20 26 34 38 20 28 4c 53 42 29 20 61 6e 64 20 |s &48 (LSB) and | 00003bc0 26 34 39 20 28 4d 53 42 29 20 69 73 20 26 30 37 |&49 (MSB) is &07| 00003bd0 46 37 2e 20 54 68 65 20 73 70 65 65 63 68 20 64 |F7. The speech d| 00003be0 61 74 61 20 61 73 73 6f 63 69 61 74 65 64 0d 77 |ata associated.w| 00003bf0 69 74 68 20 41 53 43 49 49 20 24 20 28 77 68 69 |ith ASCII $ (whi| 00003c00 63 68 20 69 73 20 34 2d 20 6e 6f 74 20 74 68 65 |ch is 4- not the| 00003c10 20 77 6f 72 64 20 44 4f 4c 4c 41 52 29 20 73 74 | word DOLLAR) st| 00003c20 61 72 74 73 20 61 74 20 26 30 37 46 37 2e 0d 0d |arts at &07F7...| 00003c30 54 68 65 20 6c 61 73 74 20 70 6f 69 6e 74 65 72 |The last pointer| 00003c40 20 66 6f 72 20 61 6e 20 41 53 43 49 49 20 61 73 | for an ASCII as| 00003c50 73 6f 63 69 61 74 65 64 20 77 6f 72 64 20 69 73 |sociated word is| 00003c60 20 73 74 6f 72 65 64 20 61 74 20 61 64 64 72 65 | stored at addre| 00003c70 73 73 65 73 20 26 46 43 0d 61 6e 64 20 26 46 44 |sses &FC.and &FD| 00003c80 2e 20 54 68 69 73 20 70 6f 69 6e 74 65 72 20 63 |. This pointer c| 00003c90 6f 6e 74 61 69 6e 73 20 74 68 65 20 61 64 64 72 |ontains the addr| 00003ca0 65 73 73 20 6f 66 20 74 68 65 20 64 61 74 61 20 |ess of the data | 00003cb0 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 |associated with | 00003cc0 74 68 65 0d 41 53 43 49 49 20 77 6f 72 64 20 7e |the.ASCII word ~| 00003cd0 2e 20 54 68 65 20 61 64 64 72 65 73 73 20 69 73 |. The address is| 00003ce0 20 26 32 36 39 44 2c 20 74 68 65 20 77 6f 72 64 | &269D, the word| 00003cf0 20 69 73 20 4e 4f 54 2e 0d 0d 54 68 65 20 70 6f | is NOT...The po| 00003d00 69 6e 74 65 72 20 74 6f 20 74 68 65 20 66 69 72 |inter to the fir| 00003d10 73 74 20 28 6e 6f 6e 2d 41 53 43 49 49 20 61 73 |st (non-ASCII as| 00003d20 73 6f 63 69 61 74 65 64 29 20 77 6f 72 64 20 69 |sociated) word i| 00003d30 73 20 73 74 6f 72 65 64 20 61 74 0d 61 64 64 72 |s stored at.addr| 00003d40 65 73 73 65 73 20 26 46 45 20 28 4c 53 42 29 20 |esses &FE (LSB) | 00003d50 61 6e 64 20 26 46 46 20 28 4d 53 42 29 2e 20 54 |and &FF (MSB). T| 00003d60 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 |he address of th| 00003d70 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 73 |e start of the s| 00003d80 70 65 65 63 68 0d 64 61 74 61 20 66 6f 72 20 74 |peech.data for t| 00003d90 68 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 73 |he first word is| 00003da0 20 26 30 32 35 30 20 61 6e 64 20 74 68 65 20 77 | &0250 and the w| 00003db0 6f 72 64 20 69 73 20 28 30 2e 31 32 35 29 2c 20 |ord is (0.125), | 00003dc0 74 68 65 20 73 68 6f 72 74 20 70 61 75 73 65 2e |the short pause.| 00003dd0 0d 54 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 |.The pointer to | 00003de0 74 68 65 20 73 65 63 6f 6e 64 20 77 6f 72 64 20 |the second word | 00003df0 69 73 20 73 74 6f 72 65 64 20 61 74 20 61 64 64 |is stored at add| 00003e00 72 65 73 73 65 73 20 26 31 30 30 20 28 4c 53 42 |resses &100 (LSB| 00003e10 29 20 61 6e 64 20 26 31 30 31 0d 28 4d 53 42 29 |) and &101.(MSB)| 00003e20 2e 20 54 68 65 20 61 64 64 72 65 73 73 20 6f 66 |. The address of| 00003e30 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 | the start of th| 00003e40 65 20 73 70 65 65 63 68 20 64 61 74 61 20 66 6f |e speech data fo| 00003e50 72 20 73 65 63 6f 6e 64 20 77 6f 72 64 20 69 73 |r second word is| 00003e60 0d 26 30 32 35 46 20 61 6e 64 20 74 68 65 20 77 |.&025F and the w| 00003e70 6f 72 64 20 69 73 20 28 30 2e 32 35 29 2c 20 74 |ord is (0.25), t| 00003e80 68 65 20 6c 6f 6e 67 20 70 61 75 73 65 2e 20 54 |he long pause. T| 00003e90 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 |he pointer to th| 00003ea0 65 20 6c 61 73 74 20 77 6f 72 64 0d 69 73 20 73 |e last word.is s| 00003eb0 74 6f 72 65 64 20 61 74 20 61 64 64 72 65 73 73 |tored at address| 00003ec0 65 73 20 26 32 34 36 20 28 4c 53 42 29 20 61 6e |es &246 (LSB) an| 00003ed0 64 20 26 32 34 37 20 28 4d 53 42 29 2e 20 54 68 |d &247 (MSB). Th| 00003ee0 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 |e address of the| 00003ef0 20 73 74 61 72 74 0d 6f 66 20 74 68 65 20 73 70 | start.of the sp| 00003f00 65 65 63 68 20 64 61 74 61 20 66 6f 72 20 74 68 |eech data for th| 00003f10 65 20 6c 61 73 74 20 77 6f 72 64 20 69 73 20 26 |e last word is &| 00003f20 33 46 39 42 20 61 6e 64 20 74 68 65 20 77 6f 72 |3F9B and the wor| 00003f30 64 20 69 73 20 5a 2e 0d 0d 41 20 6c 69 73 74 20 |d is Z...A list | 00003f40 6f 66 20 61 6c 6c 20 74 68 65 20 77 6f 72 64 73 |of all the words| 00003f50 20 61 6e 64 20 74 68 65 20 61 64 64 72 65 73 73 | and the address| 00003f60 65 73 20 6f 66 20 74 68 65 20 73 74 61 72 74 20 |es of the start | 00003f70 6f 66 20 74 68 65 69 72 20 73 70 65 65 63 68 0d |of their speech.| 00003f80 64 61 74 61 20 63 61 6e 20 62 65 20 66 6f 75 6e |data can be foun| 00003f90 64 20 69 6e 20 41 70 70 65 6e 64 69 78 20 41 20 |d in Appendix A | 00003fa0 6f 66 20 74 68 65 20 53 70 65 65 63 68 20 55 73 |of the Speech Us| 00003fb0 65 72 20 47 75 69 64 65 2e 20 54 68 65 20 77 6f |er Guide. The wo| 00003fc0 72 64 20 6e 75 6d 62 65 72 0d 66 6f 72 20 65 61 |rd number.for ea| 00003fd0 63 68 20 77 6f 72 64 20 69 6e 20 41 70 70 65 6e |ch word in Appen| 00003fe0 64 69 78 20 41 20 69 73 20 74 68 65 20 61 64 64 |dix A is the add| 00003ff0 72 65 73 73 20 6f 66 20 74 68 65 20 6c 65 61 73 |ress of the leas| 00004000 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 79 |t significant by| 00004010 74 65 0d 6f 66 20 74 68 65 20 61 73 73 6f 63 69 |te.of the associ| 00004020 61 74 65 64 20 70 6f 69 6e 74 65 72 20 64 69 76 |ated pointer div| 00004030 69 64 65 64 20 62 79 20 74 77 6f 2e 20 59 6f 75 |ided by two. You| 00004040 20 63 61 6e 20 75 73 65 20 74 68 65 20 70 72 6f | can use the pro| 00004050 67 72 61 6d 20 52 45 56 45 52 53 45 0d 74 6f 20 |gram REVERSE.to | 00004060 63 6f 72 72 65 63 74 20 74 68 65 20 74 79 70 69 |correct the typi| 00004070 6e 67 20 65 72 72 6f 72 73 20 69 6e 20 74 68 65 |ng errors in the| 00004080 20 6c 69 73 74 20 6f 66 20 61 64 64 72 65 73 73 | list of address| 00004090 65 73 20 69 6e 20 41 70 70 65 6e 64 69 78 20 41 |es in Appendix A| 000040a0 2e 20 54 68 65 0d 61 64 64 72 65 73 73 65 73 20 |. The.addresses | 000040b0 66 6f 72 20 42 2c 20 42 45 54 57 45 45 4e 2c 20 |for B, BETWEEN, | 000040c0 42 4f 54 48 2c 20 61 6e 64 20 42 55 54 54 4f 4e |BOTH, and BUTTON| 000040d0 20 61 72 65 20 69 6e 63 6f 72 72 65 63 74 6c 79 | are incorrectly| 000040e0 20 6c 69 73 74 65 64 20 69 6e 20 69 73 73 75 65 | listed in issue| 000040f0 0d 32 20 6f 66 20 74 68 65 20 53 70 65 65 63 68 |.2 of the Speech| 00004100 20 53 79 73 74 65 6d 20 55 73 65 72 20 47 75 69 | System User Gui| 00004110 64 65 2e 0d 0d 54 68 65 20 62 79 74 65 20 61 74 |de...The byte at| 00004120 20 61 64 64 72 65 73 73 20 26 32 34 38 20 69 73 | address &248 is| 00004130 20 26 46 46 20 61 6e 64 20 74 68 69 73 20 69 73 | &FF and this is| 00004140 20 61 20 6d 61 72 6b 65 72 20 77 68 69 63 68 20 | a marker which | 00004150 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 0d 69 |can be used to.i| 00004160 64 65 6e 74 69 66 79 20 74 68 65 20 65 6e 64 20 |dentify the end | 00004170 6f 66 20 74 68 65 20 74 61 62 6c 65 20 6f 66 20 |of the table of | 00004180 70 6f 69 6e 74 65 72 73 2e 0d 0d 54 68 65 20 62 |pointers...The b| 00004190 69 74 73 20 69 6e 20 65 76 65 72 79 20 62 79 74 |its in every byt| 000041a0 65 20 6f 66 20 74 68 65 20 64 61 74 61 20 66 72 |e of the data fr| 000041b0 6f 6d 20 61 64 64 72 65 73 73 20 26 32 34 39 20 |om address &249 | 000041c0 74 6f 20 26 32 34 46 20 61 72 65 20 72 6f 74 61 |to &24F are rota| 000041d0 74 65 64 2e 0d 54 68 65 73 65 20 62 79 74 65 73 |ted..These bytes| 000041e0 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 6e 61 6d | contain the nam| 000041f0 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 77 |e of the first w| 00004200 6f 72 64 20 77 69 74 68 20 74 68 65 20 62 79 74 |ord with the byt| 00004210 65 73 20 69 6e 20 72 65 76 65 72 73 65 0d 6f 72 |es in reverse.or| 00004220 64 65 72 2e 20 54 68 65 20 6d 65 6d 6f 72 79 20 |der. The memory | 00004230 6c 6f 63 61 74 69 6f 6e 73 20 66 72 6f 6d 20 26 |locations from &| 00004240 32 34 39 20 74 6f 20 26 32 34 46 20 63 6f 6e 74 |249 to &24F cont| 00004250 61 69 6e 20 74 68 65 20 41 53 43 49 49 20 62 79 |ain the ASCII by| 00004260 74 65 73 20 66 6f 72 0d 74 68 65 20 77 6f 72 64 |tes for.the word| 00004270 20 28 30 2e 31 32 35 29 20 73 74 6f 72 65 64 20 | (0.125) stored | 00004280 61 73 20 29 35 32 31 2e 30 28 2e 20 54 68 65 20 |as )521.0(. The | 00004290 73 70 65 65 63 68 20 64 61 74 61 20 66 6f 72 20 |speech data for | 000042a0 74 68 65 20 77 6f 72 64 20 28 30 2e 31 32 35 29 |the word (0.125)| 000042b0 0d 69 73 20 73 74 6f 72 65 64 20 66 72 6f 6d 20 |.is stored from | 000042c0 61 64 64 72 65 73 73 20 26 32 35 30 20 74 6f 20 |address &250 to | 000042d0 26 32 35 38 2e 20 54 68 65 20 62 69 74 73 20 69 |&258. The bits i| 000042e0 6e 20 74 68 65 73 65 20 62 79 74 65 73 20 61 72 |n these bytes ar| 000042f0 65 20 72 65 76 65 72 73 65 64 2e 0d 54 68 65 20 |e reversed..The | 00004300 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 |most significant| 00004310 20 6e 79 62 62 6c 65 20 6f 66 20 74 68 65 20 6c | nybble of the l| 00004320 61 73 74 20 62 79 74 65 20 6f 66 20 74 68 65 20 |ast byte of the | 00004330 77 6f 72 64 20 64 61 74 61 20 69 73 20 61 6c 77 |word data is alw| 00004340 61 79 73 0d 26 46 2c 20 54 68 65 20 73 74 6f 70 |ays.&F, The stop| 00004350 20 63 6f 64 65 20 6e 79 62 62 6c 65 2e 20 41 64 | code nybble. Ad| 00004360 64 72 65 73 73 20 26 32 35 38 20 73 74 6f 72 65 |dress &258 store| 00004370 73 20 74 68 65 20 62 79 74 65 20 26 46 43 2e 0d |s the byte &FC..| 00004380 0d 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 |.The name of the| 00004390 20 6e 65 78 74 20 77 6f 72 64 20 73 74 61 72 74 | next word start| 000043a0 73 20 61 74 20 61 64 64 72 65 73 73 20 26 32 35 |s at address &25| 000043b0 39 20 61 6e 64 20 61 67 61 69 6e 20 74 68 65 20 |9 and again the | 000043c0 62 69 74 73 20 61 72 65 0d 72 6f 74 61 74 65 64 |bits are.rotated| 000043d0 20 61 6e 64 20 74 68 65 20 62 79 74 65 73 20 61 | and the bytes a| 000043e0 72 65 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72 |re in reverse or| 000043f0 64 65 72 2e 20 54 68 65 20 77 6f 72 64 20 6e 61 |der. The word na| 00004400 6d 65 20 69 73 20 66 6f 6c 6c 6f 77 65 64 20 62 |me is followed b| 00004410 79 0d 74 68 65 20 73 70 65 65 63 68 20 64 61 74 |y.the speech dat| 00004420 61 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 |a terminated by | 00004430 74 68 65 20 73 74 6f 70 20 63 6f 64 65 20 6e 79 |the stop code ny| 00004440 62 62 6c 65 2e 20 54 68 65 20 77 68 6f 6c 65 20 |bble. The whole | 00004450 6f 66 20 74 68 65 20 72 65 73 74 0d 6f 66 20 74 |of the rest.of t| 00004460 68 65 20 77 6f 72 64 20 50 48 52 4f 4d 20 63 6f |he word PHROM co| 00004470 6e 74 61 69 6e 73 20 77 6f 72 64 20 6e 61 6d 65 |ntains word name| 00004480 73 2c 20 77 69 74 68 20 74 68 65 69 72 20 62 69 |s, with their bi| 00004490 74 73 20 72 6f 74 61 74 65 64 20 61 6e 64 20 62 |ts rotated and b| 000044a0 79 74 65 73 20 69 6e 0d 72 65 76 65 72 73 65 20 |ytes in.reverse | 000044b0 6f 72 64 65 72 2c 20 61 6e 64 20 73 70 65 65 63 |order, and speec| 000044c0 68 20 64 61 74 61 20 77 69 74 68 20 72 65 76 65 |h data with reve| 000044d0 72 73 65 64 20 62 69 74 73 20 69 6e 20 65 76 65 |rsed bits in eve| 000044e0 72 79 20 62 79 74 65 2e 0d |ry byte..| 000044e9