WACCI Programmers Patch (UK) (Face B) (1999) [COMPILATION].dsk
   
Choose sector :
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 38 20 36 31 34 20 36 31 38 20 61 30 38 20 39 34 8 614 618 a08 94
000010: 33 31 0D 0A 42 20 61 30 39 20 35 39 36 20 36 32 31..B a09 596 62
000020: 31 20 61 30 39 20 38 34 37 33 0D 0A 42 20 61 31 1 a09 8473..B a1
000030: 30 20 34 38 35 32 20 34 38 35 38 20 61 31 30 20 0 4852 4858 a10
000040: 39 38 32 38 0D 0A 42 20 61 31 30 20 39 32 38 32 9828..B a10 9282
000050: 20 39 32 39 34 20 61 31 30 20 31 30 31 30 31 0D 9294 a10 10101.
000060: 0A 42 20 61 31 31 20 34 35 31 20 34 35 39 20 61 .B a11 451 459 a
000070: 31 31 20 38 31 33 31 0D 0A 42 20 61 31 31 20 35 11 8131..B a11 5
000080: 33 32 20 35 34 30 20 61 31 31 20 39 30 37 39 0D 32 540 a11 9079.
000090: 0A 42 20 61 31 32 20 33 38 31 30 20 33 38 31 38 .B a12 3810 3818
0000A0: 20 61 31 32 20 31 30 35 31 31 0D 0A 42 20 61 31 a12 10511..B a1
0000B0: 32 20 38 34 35 34 20 38 34 36 30 20 61 31 32 20 2 8454 8460 a12
0000C0: 31 31 37 36 38 0D 0A 42 20 61 31 33 20 32 30 37 11768..B a13 207
0000D0: 35 20 32 30 38 33 20 61 31 33 20 36 33 30 32 0D 5 2083 a13 6302.
0000E0: 0A 42 20 61 31 33 20 32 38 30 34 20 32 38 31 31 .B a13 2804 2811
0000F0: 20 61 31 33 20 35 39 37 31 0D 0A 42 20 61 31 34 a13 5971..B a14
000100: 20 31 33 36 34 20 31 33 37 30 20 61 31 34 74 31 1364 1370 a14t1
000110: 20 30 0D 0A 42 20 61 31 35 20 35 30 32 37 20 35 0..B a15 5027 5
000120: 30 33 35 20 34 36 34 72 73 78 2E 62 61 73 20 30 035 464rsx.bas 0
000130: 0D 0A 42 20 61 31 36 20 35 34 33 20 35 34 39 20 ..B a16 543 549
000140: 61 69 31 2E 62 61 73 20 30 0D 0A 42 20 61 31 36 ai1.bas 0..B a16
000150: 20 39 35 32 20 39 35 39 20 61 31 36 20 31 30 35 952 959 a16 105
000160: 31 34 0D 0A 42 20 61 31 36 20 31 30 34 34 34 20 14..B a16 10444
000170: 31 30 34 36 34 20 61 31 36 61 20 30 0D 0A 42 20 10464 a16a 0..B
000180: 61 31 36 61 20 34 36 39 20 34 37 35 20 61 69 32 a16a 469 475 ai2
000190: 2E 62 61 73 20 30 0D 0A 42 20 61 31 37 20 33 37 .bas 0..B a17 37
0001A0: 30 39 20 33 37 31 36 20 61 31 37 20 31 30 39 30 09 3716 a17 1090
0001B0: 35 0D 0A 42 20 61 31 37 20 35 30 31 31 20 35 30 5..B a17 5011 50
0001C0: 31 38 20 61 31 37 20 31 31 35 39 34 0D 0A 42 20 18 a17 11594..B
0001D0: 61 32 31 20 34 33 32 32 20 34 33 32 38 20 61 69 a21 4322 4328 ai
0001E0: 36 2E 6C 6F 67 20 30 0D 0A 42 20 61 32 31 20 34 6.log 0..B a21 4
0001F0: 33 33 34 20 34 33 34 34 20 36 34 6B 62 69 74 73 334 4344 64kbits
Size : 512 (Real : 512)
000000: 00 44 49 53 43 20 20 20 20 42 41 53 00 00 00 00 .DISC BAS....
000010: 00 00 00 00 00 70 01 00 2A 00 00 00 00 00 00 00 .....p..*.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 2A 00 00 3E 03 28 00 0A 00 BE 20 1C 00 BF 2C FF *..>.(.... ...,.
000050: 12 28 1C 00 A7 29 01 BE 20 1C 01 BF 2C 1C C7 00 .(...).. ...,...
000060: 01 CA 22 6C 6F 6F 6D 2E 62 69 6E 22 00 00 00 1A .."loom.bin"....
000070: 65 73 74 20 74 68 65 20 6D 61 63 68 69 6E 65 20 est the machine
000080: 28 00 0A 00 BE 20 1C 00 BF 2C FF 12 28 1C 00 A7 (.... ...,..(...
000090: 29 01 BE 20 1C 01 BF 2C 1C C7 00 01 CA 22 6C 6F ).. ...,....."lo
0000A0: 6F 6D 2E 62 69 6E 22 00 00 00 1A 65 73 74 20 74 om.bin"....est t
0000B0: 68 65 20 6D 61 63 68 69 6E 65 20 75 70 6F 6E 20 he machine upon
0000C0: 65 78 69 74 3A 00 27 00 14 00 BE 20 1C 00 BF 2C exit:.'.... ...,
0000D0: FF 12 28 1C 00 A7 29 01 BE 20 1C 01 BF 2C 1C C7 ..(...).. ...,..
0000E0: 00 01 CA 22 6C 6C 6C 2E 62 69 6E 22 00 00 00 1A ..."lll.bin"....
0000F0: 61 70 74 65 64 20 66 72 6F 6D 20 22 4C 65 61 72 apted from "Lear
000100: 10 24 36 01 3A F5 22 D6 04 9F F5 3E 0A 21 F5 22 .$6.:."....>.!."
000110: 96 9F C1 48 B1 21 64 23 B6 1F D2 22 08 0E 04 CD ...H.!d#..."....
000120: A5 0B 3A F5 22 FE 04 CA 2F 08 21 66 23 36 00 3A ..:.".../.!f#6.:
000130: F5 22 FE 09 C2 54 08 21 66 23 36 00 3E 27 21 66 ."...T.!f#6.>'!f
000140: 23 BE DA 51 08 0E 00 CD C5 13 21 66 23 34 C2 3C #..Q......!f#4.<
000150: 08 C3 67 08 3A F5 22 FE 0A C2 64 08 0E 1A CD C5 ..g.:."...d.....
000160: 13 C3 67 08 CD 41 1A CD 32 18 3A 6A 23 1F D2 77 ..g..A..2.:j#..w
000170: 08 01 C7 22 CD 12 1E C3 A1 07 3A 6D 23 32 7D 23 ..."......:m#2}#
000180: C3 62 06 C9 21 20 24 70 2B 71 2A 1F 24 7D 32 7B .b..! $p+q*.$}2{
000190: 23 7C 32 78 23 C9 11 00 00 0E 00 CD 05 00 C9 11 #|2x#...........
0001A0: 00 00 0E 01 CD 05 00 C9 21 21 24 71 3A 21 24 E6 ........!!$q:!$.
0001B0: 7F 5F 16 00 0E 02 CD 05 00 C9 0E 0D CD A8 08 0E ._..............
0001C0: 0A CD A8 08 C9 21 23 24 70 2B 71 2A 22 24 EB 0E .....!#$p+q*"$..
0001D0: 09 CD 05 00 C9 21 25 24 70 2B 71 CD BA 08 2A 24 .....!%$p+q...*$
0001E0: 24 44 4D CD C5 08 C9 21 7C 23 36 80 11 7C 23 0E $DM....!|#6..|#.
0001F0: 0A CD 05 00 C9 11 00 00 0E 0C CD 05 00 C9 21 27 ..............!'
Size : 512 (Real : 512)
000000: 00 44 49 53 43 20 20 20 20 42 41 53 00 00 00 02 .DISC BAS....
000010: 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000020: 00 4C 49 4E 4B 42 41 53 45 54 58 54 00 00 00 0D .LINKBASETXT....
000030: 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 00 4C 4F 4F 4D 20 20 20 20 42 49 4E 00 00 00 74 .LOOM BIN...t
000050: 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 00 ................
000060: 00 4D 45 53 53 41 47 45 53 54 58 54 00 00 00 06 .MESSAGESTXT....
000070: 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000080: 00 52 45 41 44 4D 45 20 20 20 20 20 00 00 00 23 .README ...#
000090: 16 17 18 19 1A 00 00 00 00 00 00 00 00 00 00 00 ................
0000A0: 00 41 31 39 20 20 20 20 20 20 20 20 00 00 00 52 .A19 ...R
0000B0: 1B 1C 1D 1E 1F 20 21 22 23 24 25 00 00 00 00 00 ..... !"#$%.....
0000C0: 00 41 31 38 20 20 20 20 20 20 20 20 00 00 00 56 .A18 ...V
0000D0: 26 27 28 29 2A 2B 2C 2D 2E 2F 30 00 00 00 00 00 &'()*+,-./0.....
0000E0: 00 41 31 32 20 20 20 20 20 20 20 20 00 00 00 61 .A12 ...a
0000F0: 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 00 00 00 123456789:;<=...
000100: 00 41 31 33 20 20 20 20 20 20 20 20 00 00 00 56 .A13 ...V
000110: 3E 3F 40 41 42 43 44 45 46 47 48 00 00 00 00 00 >?@ABCDEFGH.....
000120: 00 48 45 4C 50 20 20 20 20 54 58 54 00 00 00 0A .HELP TXT....
000130: 49 4A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 IJ..............
000140: 00 41 49 34 20 20 20 20 20 42 41 53 00 00 00 16 .AI4 BAS....
000150: 4B 51 52 00 00 00 00 00 00 00 00 00 00 00 00 00 KQR.............
000160: 00 53 43 41 4E 34 36 34 20 42 41 53 00 00 00 05 .SCAN464 BAS....
000170: 4C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 L...............
000180: 00 53 43 41 4E 34 36 34 20 42 49 4E 00 00 00 0B .SCAN464 BIN....
000190: 4D 4E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 MN..............
0001A0: 00 53 43 41 4E 36 31 32 38 42 41 53 00 00 00 04 .SCAN6128BAS....
0001B0: 4F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 O...............
0001C0: 00 53 43 41 4E 36 31 32 38 42 49 4E 00 00 00 07 .SCAN6128BIN....
0001D0: 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 P...............
0001E0: 00 41 32 30 20 20 20 20 20 20 20 20 00 00 00 50 .A20 ...P
0001F0: 53 95 96 97 98 99 9A 9B 9C 9D 00 00 00 00 00 00 S...............
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 00 41 49 35 20 20 20 20 20 42 41 53 00 00 00 17 .AI5 BAS....
000010: 9E 9F A1 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000020: 00 54 55 4E 45 20 20 20 20 42 41 53 00 00 00 10 .TUNE BAS....
000030: 54 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 TU..............
000040: 00 41 31 34 20 20 20 20 20 20 20 20 00 00 00 61 .A14 ...a
000050: 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 00 00 00 VWXYZ[\]^_`ab...
000060: 00 41 31 34 54 31 20 20 20 20 20 20 00 00 00 19 .A14T1 ....
000070: 63 64 65 66 00 00 00 00 00 00 00 00 00 00 00 00 cdef............
000080: 00 41 31 35 20 20 20 20 20 20 20 20 00 00 00 63 .A15 ...c
000090: 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 00 00 00 ghijklmnopqrs...
0000A0: 00 34 36 34 52 53 58 20 20 42 41 53 00 00 00 07 .464RSX BAS....
0000B0: 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t...............
0000C0: 00 41 49 31 20 20 20 20 20 42 41 53 00 00 00 09 .AI1 BAS....
0000D0: 75 76 00 00 00 00 00 00 00 00 00 00 00 00 00 00 uv..............
0000E0: 00 41 49 32 20 20 20 20 20 42 41 53 00 00 00 0D .AI2 BAS....
0000F0: 77 78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 wx..............
000100: 00 41 31 36 20 20 20 20 20 20 20 20 00 00 00 58 .A16 ...X
000110: 79 7A 7B 7C 7D 7E 7F 80 81 82 83 00 00 00 00 00 yz{|}~..........
000120: 00 41 31 36 41 20 20 20 20 20 20 20 00 00 00 15 .A16A ....
000130: 84 85 86 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000140: 00 41 31 37 20 20 20 20 20 20 20 20 00 00 00 60 .A17 ...`
000150: 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 00 00 00 00 ................
000160: 00 41 49 33 20 20 20 20 20 42 41 53 00 00 00 10 .AI3 BAS....
000170: 93 94 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: 00 41 32 31 20 20 20 20 20 20 20 20 00 00 00 5E .A21 ...^
000190: A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD 00 00 00 00 ................
0001A0: 00 4C 49 53 54 45 58 20 20 42 41 53 00 00 00 05 .LISTEX BAS....
0001B0: A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001C0: 00 41 49 36 20 20 20 20 20 4C 4F 47 00 00 00 06 .AI6 LOG....
0001D0: AE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: 00 36 34 4B 42 49 54 53 20 4C 4F 47 00 00 00 02 .64KBITS LOG....
0001F0: AF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 46 20 72 65 61 64 6D 65 0D 0A 42 20 72 65 61 64 F readme..B read
000010: 6D 65 20 31 33 36 20 31 34 34 20 72 65 61 64 6D me 136 144 readm
000020: 65 20 34 34 34 36 0D 0A 42 20 72 65 61 64 6D 65 e 4446..B readme
000030: 20 31 30 32 39 20 31 30 33 37 20 61 30 31 20 30 1029 1037 a01 0
000040: 0D 0A 42 20 72 65 61 64 6D 65 20 31 30 36 36 20 ..B readme 1066
000050: 31 30 37 34 20 61 30 32 20 30 0D 0A 42 20 72 65 1074 a02 0..B re
000060: 61 64 6D 65 20 31 31 32 35 20 31 31 33 33 20 61 adme 1125 1133 a
000070: 30 33 20 30 0D 0A 42 20 72 65 61 64 6D 65 20 31 03 0..B readme 1
000080: 31 39 37 20 31 32 30 35 20 61 30 34 20 30 0D 0A 197 1205 a04 0..
000090: 42 20 72 65 61 64 6D 65 20 31 32 36 30 20 31 32 B readme 1260 12
0000A0: 36 38 20 61 30 35 20 30 0D 0A 42 20 72 65 61 64 68 a05 0..B read
0000B0: 6D 65 20 31 33 30 36 20 31 33 31 34 20 61 30 36 me 1306 1314 a06
0000C0: 20 30 0D 0A 42 20 72 65 61 64 6D 65 20 31 33 35 0..B readme 135
0000D0: 33 20 31 33 36 31 20 61 30 37 20 30 0D 0A 42 20 3 1361 a07 0..B
0000E0: 72 65 61 64 6D 65 20 31 34 31 35 20 31 34 32 33 readme 1415 1423
0000F0: 20 61 30 38 20 30 0D 0A 42 20 72 65 61 64 6D 65 a08 0..B readme
000100: 20 31 34 36 30 20 31 34 36 38 20 61 30 39 20 30 1460 1468 a09 0
000110: 0D 0A 42 20 72 65 61 64 6D 65 20 31 34 38 35 20 ..B readme 1485
000120: 31 34 39 34 20 61 31 30 20 30 0D 0A 42 20 72 65 1494 a10 0..B re
000130: 61 64 6D 65 20 31 35 32 37 20 31 35 33 36 20 61 adme 1527 1536 a
000140: 31 31 20 30 0D 0A 42 20 72 65 61 64 6D 65 20 31 11 0..B readme 1
000150: 36 34 31 20 31 36 35 30 20 61 31 32 20 30 0D 0A 641 1650 a12 0..
000160: 42 20 72 65 61 64 6D 65 20 31 37 30 36 20 31 37 B readme 1706 17
000170: 31 35 20 61 31 33 20 30 0D 0A 42 20 72 65 61 64 15 a13 0..B read
000180: 6D 65 20 31 37 37 39 20 31 37 38 38 20 61 31 34 me 1779 1788 a14
000190: 20 30 0D 0A 42 20 72 65 61 64 6D 65 20 31 38 35 0..B readme 185
0001A0: 36 20 31 38 36 35 20 61 31 35 20 30 0D 0A 42 20 6 1865 a15 0..B
0001B0: 72 65 61 64 6D 65 20 31 39 31 36 20 31 39 32 35 readme 1916 1925
0001C0: 20 61 31 36 20 30 0D 0A 42 20 72 65 61 64 6D 65 a16 0..B readme
0001D0: 20 31 39 38 33 20 31 39 39 32 20 61 31 37 20 30 1983 1992 a17 0
0001E0: 0D 0A 42 20 72 65 61 64 6D 65 20 32 30 34 30 20 ..B readme 2040
0001F0: 32 30 34 39 20 61 31 38 20 30 0D 0A 42 20 72 65 2049 a18 0..B re
Size : 512 (Real : 512)
000000: 00 41 49 37 20 20 20 20 20 4C 4F 47 00 00 00 06 .AI7 LOG....
000010: B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 61 64 6D 65 20 32 31 30 37 20 32 31 31 36 20 61 adme 2107 2116 a
000010: 31 39 20 30 0D 0A 42 20 72 65 61 64 6D 65 20 32 19 0..B readme 2
000020: 31 36 34 20 32 31 37 33 20 61 32 30 20 30 0D 0A 164 2173 a20 0..
000030: 42 20 72 65 61 64 6D 65 20 32 32 32 32 20 32 32 B readme 2222 22
000040: 33 31 20 61 32 31 20 30 0D 0A 42 20 61 30 31 20 31 a21 0..B a01
000050: 39 32 36 20 39 33 33 20 61 30 31 20 38 35 31 39 926 933 a01 8519
000060: 0D 0A 42 20 61 30 32 20 38 39 31 20 39 30 31 20 ..B a02 891 901
000070: 61 30 32 20 38 32 38 39 0D 0A 42 20 61 30 32 20 a02 8289..B a02
000080: 33 30 31 30 20 33 30 32 31 20 61 30 32 20 39 30 3010 3021 a02 90
000090: 34 39 0D 0A 42 20 61 30 33 20 31 37 39 31 20 31 49..B a03 1791 1
0000A0: 37 39 38 20 61 30 33 20 39 34 34 30 0D 0A 42 20 798 a03 9440..B
0000B0: 61 30 33 20 33 35 39 38 20 33 36 30 37 20 61 30 a03 3598 3607 a0
0000C0: 33 20 39 38 34 35 0D 0A 42 20 61 30 33 20 38 38 3 9845..B a03 88
0000D0: 30 38 20 38 38 31 38 20 61 30 33 20 31 30 33 32 08 8818 a03 1032
0000E0: 34 0D 0A 42 20 61 30 34 20 35 32 37 20 35 33 38 4..B a04 527 538
0000F0: 20 61 30 34 20 38 30 31 31 0D 0A 42 20 61 30 34 a04 8011..B a04
000100: 20 34 37 34 34 20 34 37 35 35 20 61 30 34 20 38 4744 4755 a04 8
000110: 35 34 33 0D 0A 42 20 61 30 34 20 34 37 37 34 20 543..B a04 4774
000120: 34 37 38 37 20 61 30 34 20 31 30 31 30 34 0D 0A 4787 a04 10104..
000130: 42 20 61 30 35 20 36 33 36 20 36 34 33 20 61 30 B a05 636 643 a0
000140: 35 20 31 31 31 37 38 0D 0A 42 20 61 30 36 20 31 5 11178..B a06 1
000150: 31 35 31 20 31 31 35 39 20 61 30 36 20 38 38 37 151 1159 a06 887
000160: 39 0D 0A 42 20 61 30 36 20 32 39 39 33 20 32 39 9..B a06 2993 29
000170: 39 37 20 61 30 36 20 38 30 39 38 0D 0A 42 20 61 97 a06 8098..B a
000180: 30 36 20 33 30 30 32 20 33 30 30 32 20 61 30 36 06 3002 3002 a06
000190: 20 38 30 39 38 0D 0A 42 20 61 30 37 20 33 35 31 8098..B a07 351
0001A0: 20 33 35 39 20 61 30 37 20 37 38 33 39 0D 0A 42 359 a07 7839..B
0001B0: 20 61 30 37 20 32 31 38 34 20 32 31 39 32 20 61 a07 2184 2192 a
0001C0: 30 37 20 37 38 33 39 0D 0A 42 20 61 30 37 20 34 07 7839..B a07 4
0001D0: 32 31 34 20 34 32 32 32 20 61 30 37 20 39 31 33 214 4222 a07 913
0001E0: 30 0D 0A 42 20 61 30 38 20 35 34 39 20 35 35 36 0..B a08 549 556
0001F0: 20 61 30 38 20 31 30 33 33 33 0D 0A 42 20 61 30 a08 10333..B a0
Size : 512 (Real : 512)
000000: ED 5B DD A1 CD 99 01 7D B4 CA D5 09 2A DF A1 CD .[.....}....*...
000010: 4B 02 22 DD A1 21 DF A1 01 FE FF CD 72 02 18 CC K."..!......r...
000020: 2A DD A1 C3 BE 00 18 FB 6C 69 6E 6B 62 61 73 65 *.......linkbase
000030: 2E 74 78 74 00 68 65 6C 70 2E 74 78 74 00 6D 65 .txt.help.txt.me
000040: 73 73 61 67 65 73 2E 74 78 74 00 21 00 00 CD 8F ssages.txt.!....
000050: 00 DD 6E 04 DD 66 05 11 03 00 19 11 04 00 CD 50 ..n..f.........P
000060: 01 11 01 00 19 22 40 A1 2A F0 A1 22 42 A1 11 00 ....."@.*.."B...
000070: 00 CD 88 01 7D B4 CA 5E 0A 21 D9 63 22 42 A1 22 ....}..^.!.c"B."
000080: F0 A1 2A 42 A1 11 00 00 19 E5 2A 42 A1 CD 6A 02 ..*B......*B..j.
000090: 2A 42 A1 11 02 00 19 E5 21 59 0F CD 6A 02 2A 42 *B......!Y..j.*B
0000A0: A1 11 00 00 19 CD 4B 02 22 44 A1 21 01 00 7D B4 ......K."D.!..}.
0000B0: CA 3C 0B 2A 44 A1 11 02 00 19 CD 4B 02 ED 5B 40 .<.*D......K..[@
0000C0: A1 CD B6 01 7D B4 CA 12 0B 2A 44 A1 11 02 00 19 ....}....*D.....
0000D0: CD 4B 02 ED 5B 40 A1 CD 88 01 7D B4 CA B7 0A 2A .K..[@....}....*
0000E0: 42 A1 11 00 00 19 E5 2A 44 A1 11 00 00 19 CD 4B B......*D......K
0000F0: 02 CD 6A 02 C3 F2 0A 2A 44 A1 11 02 00 19 E5 CD ..j....*D.......
000100: 4B 02 ED 5B 40 A1 B7 ED 52 CD 6A 02 2A 44 A1 11 K..[@...R.j.*D..
000110: 02 00 19 CD 4B 02 11 04 00 CD 0B 01 EB 2A 44 A1 ....K........*D.
000120: 19 22 44 A1 2A 44 A1 11 02 00 19 E5 2A 40 A1 CD ."D.*D......*@..
000130: 6A 02 2A 42 A1 22 F0 A1 2A 46 A1 ED 5B 40 A1 B7 j.*B."..*F..[@..
000140: ED 52 22 46 A1 2A 44 A1 11 04 00 19 11 02 00 C3 .R"F.*D.........
000150: C4 00 2A 44 A1 ED 5B F0 A1 CD 88 01 7D B4 CA 26 ..*D..[.....}..&
000160: 0B 21 00 00 18 E6 2A 44 A1 22 42 A1 2A 44 A1 11 .!....*D."B.*D..
000170: 00 00 19 CD 4B 02 22 44 A1 C3 6B 0A 18 CE 21 FC ....K."D..k...!.
000180: FF CD 8F 00 DD 6E 06 DD 66 07 11 04 00 B7 ED 52 .....n..f......R
000190: 11 02 00 19 CD 4B 02 DD 75 FE DD 74 FF DD 6E 04 .....K..u..t..n.
0001A0: DD 66 05 E5 CD 0B 0A DD 75 FC DD 74 FD DD 6E FC .f......u..t..n.
0001B0: DD 66 FD 11 00 00 CD 88 01 7D B4 CA 87 0B 21 00 .f.......}....!.
0001C0: 00 11 04 00 C3 C4 00 DD 6E FC DD 66 FD E5 DD 6E ........n..f...n
0001D0: 06 DD 66 07 E5 DD 6E FE DD 66 FF 11 01 00 B7 ED ..f...n..f......
0001E0: 52 11 04 00 CD 0B 01 E5 CD 2E 02 DD 6E 06 DD 66 R...........n..f
0001F0: 07 E5 CD 92 36 DD 6E FC DD 66 FD 18 C4 18 C2 21 ....6.n..f.....!
Size : 512 (Real : 512)
000000: D1 E5 F5 21 00 00 7B C9 CD BE 01 CD 88 00 D0 23 ...!..{........#
000010: C9 CD BE 01 CD DD 01 D8 18 0F CD BE 01 FE 41 3F ..............A?
000020: D0 FE 5B D0 23 C9 CD BE 01 C6 E0 18 F0 CD BE 01 ..[.#...........
000030: CD F6 01 C0 23 C9 FE 20 C8 FE 0A C8 FE 09 C9 CD ....#.. ........
000040: BE 01 CD DD 01 EB D0 C6 20 6F C9 CD BE 01 CD E9 ........ o......
000050: 01 EB D0 6F C9 EB 21 00 00 1A B7 C8 13 23 18 F9 ...o..!......#..
000060: F1 C1 D1 E1 F5 1A ED A0 2B 77 23 E0 18 F7 F1 C1 ........+w#.....
000070: E1 D1 F5 78 B1 C8 ED 52 19 38 03 ED B0 C9 0B 09 ...x...R.8......
000080: EB 09 EB 03 ED B8 C9 DD E5 C1 09 7E 23 66 6F C9 ...........~#fo.
000090: DD E5 C1 09 6E 26 00 C9 DD E5 C1 EB 09 73 23 72 ....n&.......s#r
0000A0: EB C9 DD E5 C1 EB 09 73 EB C9 D1 EB E3 73 23 72 .......s.....s#r
0000B0: EB C9 5E 23 56 EB 09 EB 72 2B 73 EB C9 5E 23 56 ..^#V...r+s..^#V
0000C0: D5 EB 09 EB 72 2B 73 E1 C9 EB E1 CD 4B 02 4E 23 ....r+s.....K.N#
0000D0: 46 23 78 B1 28 0C 7E 23 BB 7E 23 20 F1 BA 20 EE F#x.(.~#.~# .. .
0000E0: 60 69 E9 19 C9 B7 ED 52 C9 21 00 00 1A CD 88 00 `i.....R.!......
0000F0: D0 D6 30 13 D5 29 5D 54 29 29 19 5F 16 00 19 D1 ..0..)]T))._....
000100: 18 EA D5 59 50 CD 50 01 E3 7B C6 30 FE 3A 38 02 ...YP.P..{.0.:8.
000110: C6 07 2B 77 E3 7D B4 20 EA E1 C9 E5 CB 7C 28 03 ..+w.}. .....|(.
000120: CD FB 00 CD C2 02 D1 CB 7A C8 2B 36 2D C9 E5 D5 ........z.+6-...
000130: C5 6F E5 2A 81 08 E5 CD 4C 00 C1 D1 E1 C9 E5 2A .o.*....L......*
000140: 81 08 77 23 22 81 08 E1 C9 21 FE 02 18 03 21 EE ..w#"....!....!.
000150: 02 CD 28 04 18 0B 21 82 00 22 7F 08 D1 E1 E5 D5 ..(...!.."......
000160: 39 C5 5E 23 56 2B 2B E5 3E C3 32 7E 08 1A 13 B7 9.^#V++.>.2~....
000170: 28 0F FE 25 20 06 1A FE 25 20 12 13 CD 7E 08 18 (..% ...% ...~..
000180: EC 2A 7F 08 3E FE 95 CC FE 02 C3 11 05 D5 21 20 .*..>.........!
000190: 06 22 6F 08 AF 6F 67 22 71 08 1A FE 2D 3E 01 20 ."o..og"q...->.
0001A0: 02 AF 13 32 6E 08 1A FE 30 20 05 13 32 6F 08 1A ...2n...0 ..2o..
0001B0: CD 88 00 30 03 CD A9 02 22 73 08 1A FE 2E 20 0A ...0...."s.... .
0001C0: 32 72 08 13 CD A9 02 22 70 08 CD 3D 04 21 7D 08 2r....."p..=.!}.
0001D0: F5 70 EB FE 64 28 1F FE 75 28 28 0B 0B FE 6F 28 .p..d(..u((...o(
0001E0: 22 01 10 00 FE 78 28 1B FE 73 28 1A FE 63 28 0B "....x(..s(..c(.
0001F0: D1 D1 D1 C3 2D 03 CD DB 02 18 0B 1B EB 73 11 01 ....-........s..
Size : 512 (Real : 512)
000000: FC FF CD 8F 00 21 00 00 DD 75 FE DD 74 FF DD 6E .....!...u..t..n
000010: FE DD 66 FF 11 0C 00 CD 99 01 7D B4 CA 25 0C C3 ..f.......}..%..
000020: F1 0B 21 FE FF DD E5 C1 09 01 01 00 CD 7D 02 18 ..!..........}..
000030: DD 21 00 00 DD 75 FC DD 74 FD DD 6E 04 DD 66 05 .!...u..t..n..f.
000040: EB DD 6E FC DD 66 FD CD 99 01 7D B4 CA 23 0C C3 ..n..f....}..#..
000050: 21 0C 21 FC FF DD E5 C1 09 01 01 00 CD 7D 02 18 !.!..........}..
000060: D9 18 EF 18 BD 11 02 00 C3 C4 00 21 00 00 CD 8F ...........!....
000070: 00 21 1F 00 E5 CD 6D 00 DD 6E 06 DD 66 07 E5 CD .!....m..n..f...
000080: 6D 00 DD 6E 04 DD 66 05 E5 CD 6D 00 11 04 00 C3 m..n..f...m.....
000090: C4 00 21 00 00 CD 8F 00 21 0C 00 E5 CD 6D 00 11 ..!.....!....m..
0000A0: 00 00 C3 C4 00 21 00 00 CD 8F 00 DD 6E 04 DD 66 .....!......n..f
0000B0: 05 11 01 00 CD 88 01 7D B4 CA 82 0C CD 81 BB C3 .......}........
0000C0: 85 0C CD 84 BB 11 02 00 C3 C4 00 21 00 00 CD 8F ...........!....
0000D0: 00 21 0E 00 E5 CD 6D 00 DD 6E 04 DD 66 05 E5 CD .!....m..n..f...
0000E0: 6D 00 11 02 00 C3 C4 00 21 00 00 CD 8F 00 21 0F m.......!.....!.
0000F0: 00 E5 CD 6D 00 DD 6E 04 DD 66 05 E5 CD 6D 00 11 ...m..n..f...m..
000100: 02 00 C3 C4 00 21 00 00 CD 8F 00 21 1A 00 E5 CD .....!.....!....
000110: 6D 00 DD 6E 0A DD 66 0B 11 01 00 B7 ED 52 E5 CD m..n..f......R..
000120: 6D 00 DD 6E 06 DD 66 07 11 01 00 B7 ED 52 E5 CD m..n..f......R..
000130: 6D 00 DD 6E 08 DD 66 09 11 01 00 B7 ED 52 E5 CD m..n..f......R..
000140: 6D 00 DD 6E 04 DD 66 05 11 01 00 B7 ED 52 E5 CD m..n..f......R..
000150: 6D 00 11 08 00 C3 C4 00 21 00 00 CD 8F 00 DD 6E m.......!......n
000160: 04 DD 66 05 7D B4 CA 42 0D C3 30 0D 0A 25 73 00 ..f.}..B..0..%s.
000170: 21 2C 0D E5 2A 58 A1 E5 01 06 00 C5 CD 16 03 CD !,..*X..........
000180: 55 00 C3 01 BF 11 02 00 C3 C4 00 21 00 00 CD 8F U..........!....
000190: 00 DD 6E 06 DD 66 07 6E 26 00 E5 CD 0B 02 E5 DD ..n..f.n&.......
0001A0: 6E 04 DD 66 05 6E 26 00 E5 CD 0B 02 EB E1 CD 88 n..f.n&.........
0001B0: 01 7D B4 CA CE 0D DD 6E 06 DD 66 07 6E 26 00 CD .}.....n..f.n&..
0001C0: 03 01 7D B4 CA B2 0D DD 6E 04 DD 66 05 6E 26 00 ..}.....n..f.n&.
0001D0: CD 03 01 7D B4 CA A4 0D 21 00 00 11 04 00 C3 C4 ...}....!.......
0001E0: 00 C3 B2 0D DD 6E 04 DD 66 05 6E 26 00 CD FB 00 .....n..f.n&....
0001F0: 18 E9 21 06 00 DD E5 C1 09 01 01 00 CD 72 02 21 ..!..........r.!
Size : 512 (Real : 512)
000000: 00 18 0E CD C2 02 E5 AF 11 FF FF 13 BE 23 20 FB .............# .
000010: E1 F1 E5 FE 73 20 13 3A 72 08 B7 28 0D D5 2A 70 ....s .:r..(..*p
000020: 08 E5 CD B0 01 E1 D1 30 01 EB 2A 73 08 2B B7 ED .......0..*s.+..
000030: 52 23 F2 F8 03 21 00 00 44 4D AF 2A 6E 08 B5 C4 R#...!..DM.*n...
000040: 1E 04 E1 7B B2 28 08 1B 7E 23 CD 7E 08 18 F4 2A ...{.(..~#.~...*
000050: 6E 08 B5 CC 1E 04 D1 E1 E1 2B 2B E5 18 95 78 B1 n........++...x.
000060: C8 7C CD 7E 08 0B 18 F6 22 7F 08 D1 F1 E1 E5 F5 .|.~....".......
000070: 39 D5 5E 23 56 ED 53 81 08 2B 2B 2B C9 1A FE 61 9.^#V.S..+++...a
000080: 30 02 C6 20 FE 6C 20 01 13 C1 F1 E1 E5 F5 1A FE 0.. .l .........
000090: 61 30 02 C6 20 13 D5 C5 56 2B 5E 01 0A 00 C9 E5 a0.. ...V+^.....
0000A0: 2A 81 08 7E 23 22 81 08 E1 C9 E5 D5 C5 2A 81 08 *..~#".......*..
0000B0: E5 CD 49 00 7D C1 D1 E1 C9 E5 2A 81 08 2B 77 22 ..I.}.....*..+w"
0000C0: 81 08 E1 C9 E5 D5 C5 6F 26 00 E5 2A 81 08 E5 CD .......o&..*....
0000D0: 6A 00 C1 D1 E1 C9 21 5F 04 11 79 04 18 06 21 6A j.....!_..y...!j
0000E0: 04 11 84 04 ED 53 7C 08 CD 28 04 18 17 21 6A 04 .....S|..(...!j.
0000F0: 22 7F 08 21 84 04 22 7C 08 21 00 00 22 81 08 D1 "..!.."|.!.."...
000100: E1 E5 D5 39 C5 5E 23 56 2B 2B E5 3E C3 32 7E 08 ...9.^#V++.>.2~.
000110: 32 7B 08 21 00 00 22 6E 08 1A 13 B7 28 2F CD F6 2{.!.."n....(/..
000120: 01 20 0D CD 7E 08 CD F6 01 28 F8 CD 7B 08 18 E9 . ..~....(..{...
000130: FE 25 28 27 6F CD 7E 08 BD 28 DE FE FF 20 0B ED .%('o.~..(... ..
000140: 5B 6E 08 7A B3 20 0A 1B 18 07 CD 7B 08 ED 5B 6E [n.z. .....{..[n
000150: 08 E1 C1 E1 E3 39 F1 F9 F5 EB C9 D5 21 FF FF 1A .....9......!...
000160: D6 2A 32 70 08 20 01 13 1A CD 88 00 DC A9 02 22 .*2p. ........."
000170: 71 08 CD 3D 04 FE 68 28 2F FE 64 28 2B 0B 0B FE q..=..h(/.d(+...
000180: 6F 28 25 FE 78 28 0C FE 63 28 65 FE 73 28 6F D1 o(%.x(..c(e.s(o.
000190: D1 18 BA CD 7E 08 FE 30 20 09 CD 7E 08 FE 78 28 ....~..0 ..~..x(
0001A0: 05 FE 58 C4 7B 08 CB 21 F5 D5 50 59 60 68 ED 4B ..X.{..!..PY`h.K
0001B0: 71 08 78 B1 28 27 0B CD 7E 08 F5 D6 30 38 1A FE q.x.('..~...08..
0001C0: 0A 38 0B D6 11 38 12 E6 1F C6 0A BB 30 0B C5 4F .8...8......0..O
0001D0: 42 CD 1D 01 09 C1 F1 18 D9 F1 CD 7B 08 D1 C1 3A B..........{...:
0001E0: 70 08 B7 28 4D EB 73 3E 68 B8 28 36 23 72 18 32 p..(M.s>h.(6#r.2
0001F0: CD 7E 08 6F 3A 70 08 B7 28 38 7D 12 18 24 ED 4B .~.o:p..(8}..$.K
Size : 512 (Real : 512)
000000: 04 00 DD E5 C1 09 01 01 00 CD 72 02 18 83 DD 6E ..........r....n
000010: 06 DD 66 07 6E 26 00 E5 CD 0B 02 E5 DD 6E 04 DD ..f.n&.......n..
000020: 66 05 6E 26 00 E5 CD 0B 02 EB E1 B7 ED 52 18 AB f.n&.........R..
000030: 18 A9 21 00 00 CD 8F 00 DD 6E 04 DD 66 05 22 EE ..!......n..f.".
000040: A1 2A EE A1 CD D4 BC AF CD 1B 00 11 02 00 C3 C4 .*..............
000050: 00 21 00 00 CD 8F 00 DD 6E 04 DD 66 05 22 EE A1 .!......n..f."..
000060: 2A EE A1 7E CD 2B BD 38 08 21 EE A1 36 00 23 36 *..~.+.8.!..6.#6
000070: 00 2A EE A1 11 02 00 C3 C4 00 18 F8 21 00 00 CD .*..........!...
000080: 8F 00 DD 6E 08 DD 66 09 22 D5 63 21 06 00 DD E5 ...n..f.".c!....
000090: C1 09 01 FF FF CD 72 02 11 00 00 CD 98 01 7D B4 ......r.......}.
0000A0: CA 7D 0E DD 6E 04 DD 66 05 E5 CD 49 00 22 D7 63 .}..n..f...I.".c
0000B0: 11 FF 00 CD 91 01 7D B4 28 03 21 01 00 7D B4 CA ......}.(.!..}..
0000C0: 92 0E 2A D7 63 11 0D 00 CD 91 01 7D B4 28 03 21 ..*.c......}.(.!
0000D0: 01 00 7D B4 CA AB 0E 21 D5 63 01 01 00 CD 7D 02 ..}....!.c....}.
0000E0: E5 2A D7 63 D1 7D 12 26 00 18 A0 2A D5 63 E5 21 .*.c.}.&...*.c.!
0000F0: 00 00 D1 7D 12 26 00 2A D7 63 11 0D 00 CD 88 01 ...}.&.*.c......
000100: 7D B4 CA D2 0E DD 6E 04 DD 66 05 E5 CD 49 00 22 }.....n..f...I."
000110: D7 63 2A D7 63 11 FF 00 CD 88 01 7D B4 CA F4 0E .c*.c......}....
000120: DD 6E 08 DD 66 09 EB 2A D5 63 CD 88 01 7D B4 28 .n..f..*.c...}.(
000130: 03 21 01 00 7D B4 CA FF 0E 21 00 00 C3 05 0F DD .!..}....!......
000140: 6E 08 DD 66 09 11 06 00 C3 C4 00 18 F8 21 FE FF n..f.........!..
000150: CD 8F 00 21 0A 00 E5 CD 0B 0A DD 75 FE DD 74 FF ...!.......u..t.
000160: 11 00 00 CD 88 01 7D B4 CA 4B 0F C3 32 0F 25 73 ......}..K..2.%s
000170: 0A 00 21 2E 0F E5 2A 4A A1 E5 01 06 00 C5 CD 16 ..!...*J........
000180: 03 21 01 00 E5 CD 37 38 C3 5C 0F DD 6E FE DD 66 .!....78.\..n..f
000190: FF 11 00 00 19 E5 21 00 00 CD 6A 02 DD 6E FE DD ......!...j..n..
0001A0: 66 FF 11 00 00 C3 C4 00 18 F8 21 FE FF CD 8F 00 f.........!.....
0001B0: 21 0A 00 E5 CD 0B 0A DD 75 FE DD 74 FF 11 00 00 !.......u..t....
0001C0: CD 88 01 7D B4 CA A8 0F C3 8F 0F 25 73 0A 00 21 ...}.......%s..!
0001D0: 8B 0F E5 2A 4C A1 E5 01 06 00 C5 CD 16 03 21 01 ...*L.........!.
0001E0: 00 E5 CD 37 38 C3 93 10 DD 6E FE DD 66 FF 11 02 ...78....n..f...
0001F0: 00 19 E5 DD 6E 0C DD 66 0D 11 02 00 19 CD 4B 02 ....n..f......K.
Size : 512 (Real : 512)
000000: 71 08 CD 7E 08 CD F6 01 20 05 CD 7B 08 18 0F 6F q..~.... ..{...o
000010: 3A 70 08 B7 28 03 7D 12 13 0B 78 B1 20 E4 2E 00 :p..(.}...x. ...
000020: 18 D2 2A 6E 08 23 22 6E 08 D1 E1 E1 2B 2B E5 C3 ..*n.#"n....++..
000030: D9 04 D1 E1 18 F9 00 00 00 21 00 00 E5 CD 49 00 .........!....I.
000040: 7D C9 2A DA 08 7E 23 22 DA 08 6F 26 FF BC C8 24 }.*..~#"..o&...$
000050: B7 C0 06 50 CD 45 06 EB CD 7C 00 FE 7F 28 13 CD ...P.E...|...(..
000060: 82 00 7D 12 13 FE 0A 28 05 3C 28 02 10 EA AF 12 ..}....(.<(.....
000070: 18 D0 3E 50 B8 28 E1 1B 04 3E 08 CD 82 00 3E 10 ..>P.(...>....>.
000080: CD 82 00 18 D3 21 89 08 36 00 22 DA 08 C9 2F C6 .....!..6.".../.
000090: 21 91 63 01 64 3E D1 F9 D5 36 00 5D 54 13 ED B0 !.c.d>...6.]T...
0000A0: 21 30 39 18 02 ED B0 4E 23 46 23 5E 23 56 23 78 !09....N#F#^#V#x
0000B0: B1 20 F2 CD 52 00 CD B8 1F C3 64 00 52 20 50 52 . ..R.....d.R PR
0000C0: F7 A1 F7 A1 1A 13 ED A1 C0 E0 18 F8 C5 DD E5 21 ...............!
0000D0: E5 08 06 0B 36 00 10 FC CD 84 BB CD 7B BB DD E1 ....6.......{...
0000E0: C1 C3 85 00 D1 E1 7D D5 C3 5A BB D1 E1 7D D5 F5 ......}..Z...}..
0000F0: 3E 00 CD 24 08 F1 FE 0A 20 07 3E 0D CD 5A BB 3E >..$.... .>..Z.>
000100: 0A CD 5A BB C9 CD 81 BB CD 06 BB CD 84 BB FE 0D ..Z.............
000110: 20 02 3E 0A 6F 26 00 FE 1A C0 21 FF FF 7D C9 CD .>.o&....!..}..
000120: 06 BB 6F 26 00 C9 CD 09 BB 21 00 00 38 02 AF C9 ..o&.....!..8...
000130: CD 0C BB 2C C9 CD 09 BB 21 00 00 3F D8 FE FC 37 ...,....!..?...7
000140: C0 2C 3F C9 D1 E1 7D E1 D5 B7 FA 4F 07 FE 08 28 .,?...}....O...(
000150: 1C 38 12 FE 09 20 38 7D DD E5 CD 95 BC DD E1 D8 .8... 8}........
000160: CD 92 BC 18 2A CD 24 08 7D CD 5A BB C9 7D CD 2B ....*.$.}.Z..}.+
000170: BD D8 18 F9 E1 D1 7B E5 21 E5 08 5F AF 57 19 BE ......{.!.._.W..
000180: 28 04 5E 77 EB C9 7B B7 CA 02 06 FE 0A 28 04 21 (.^w..{......(.!
000190: FF FF C9 DD E5 CD 80 BC DD E1 6F 26 00 D8 CD 7D ..........o&...}
0001A0: BC 18 EC F1 D1 E1 F5 00 7B FE 0B D0 7A B7 C0 7D ........{...z..}
0001B0: 21 E5 08 19 77 C9 D1 E1 7D D5 21 8A 4C FE 09 28 !...w...}.!.L..(
0001C0: 12 FE 0A 20 CA DD E5 CB 86 CD 7A BC DD E1 30 BF ... ......z...0.
0001D0: B7 18 78 DD E5 CB 8E CB 56 20 02 CB 86 CD 8F BC ..x.....V ......
0001E0: 18 EA AF 21 E5 08 77 21 EF 08 77 21 8A 4C 77 2A ...!..w!..w!.Lw*
0001F0: 80 06 22 82 06 3E 09 CD 7A 07 3E 0A C3 7A 07 F1 .."..>..z.>..z..
Size : 512 (Real : 512)
000000: 2E 6C 6F 67 20 30 0D 0A 42 20 61 32 31 20 31 31 .log 0..B a21 11
000010: 36 39 37 20 31 31 37 30 33 20 61 69 37 2E 6C 6F 697 11703 ai7.lo
000020: 67 20 30 0D 0A 1A 0D 0A 42 20 72 65 61 64 6D 65 g 0.....B readme
000030: 20 31 30 32 39 20 31 30 33 37 20 61 30 31 20 30 1029 1037 a01 0
000040: 0D 0A 42 20 72 65 61 64 6D 65 20 31 30 36 36 20 ..B readme 1066
000050: 31 30 37 34 20 61 30 32 20 30 0D 0A 42 20 72 65 1074 a02 0..B re
000060: 61 64 6D 65 20 31 31 32 35 20 31 31 33 33 20 61 adme 1125 1133 a
000070: 30 33 20 30 0D 0A 42 20 72 65 61 64 6D 65 20 31 03 0..B readme 1
000080: 33 32 20 35 34 30 20 61 31 31 20 39 30 37 39 0D 32 540 a11 9079.
000090: 0A 42 20 61 31 32 20 33 38 31 30 20 33 38 31 38 .B a12 3810 3818
0000A0: 20 61 31 32 20 31 30 35 31 31 0D 0A 42 20 61 31 a12 10511..B a1
0000B0: 32 20 38 34 35 34 20 38 34 36 30 20 61 31 32 20 2 8454 8460 a12
0000C0: 31 31 37 36 38 0D 0A 42 20 61 31 33 20 32 30 37 11768..B a13 207
0000D0: 35 20 32 30 38 33 20 61 31 33 20 36 33 30 32 0D 5 2083 a13 6302.
0000E0: 0A 42 20 61 31 33 20 32 38 30 34 20 32 38 31 31 .B a13 2804 2811
0000F0: 20 61 31 33 20 35 39 37 31 0D 0A 42 20 61 31 34 a13 5971..B a14
000100: 20 31 33 36 34 20 31 33 37 30 20 61 31 34 74 31 1364 1370 a14t1
000110: 20 30 0D 0A 42 20 61 31 35 20 35 30 32 37 20 35 0..B a15 5027 5
000120: 30 33 35 20 34 36 34 72 73 78 2E 62 61 73 20 30 035 464rsx.bas 0
000130: 0D 0A 42 20 61 31 36 20 35 34 33 20 35 34 39 20 ..B a16 543 549
000140: 61 69 31 2E 62 61 73 20 30 0D 0A 42 20 61 31 36 ai1.bas 0..B a16
000150: 20 39 35 32 20 39 35 39 20 61 31 36 20 31 30 35 952 959 a16 105
000160: 31 34 0D 0A 42 20 61 31 36 20 31 30 34 34 34 20 14..B a16 10444
000170: 31 30 34 36 34 20 61 31 36 61 20 30 0D 0A 42 20 10464 a16a 0..B
000180: 61 31 36 61 20 34 36 39 20 34 37 35 20 61 69 32 a16a 469 475 ai2
000190: 2E 62 61 73 20 30 0D 0A 42 20 61 31 37 20 33 37 .bas 0..B a17 37
0001A0: 30 39 20 33 37 31 36 20 61 31 37 20 31 30 39 30 09 3716 a17 1090
0001B0: 35 0D 0A 42 20 61 31 37 20 35 30 31 31 20 35 30 5..B a17 5011 50
0001C0: 31 38 20 61 31 37 20 31 31 35 39 34 0D 0A 42 20 18 a17 11594..B
0001D0: 61 32 31 20 34 33 32 32 20 34 33 32 38 20 61 69 a21 4322 4328 ai
0001E0: 36 2E 6C 6F 67 20 30 0D 0A 42 20 61 32 31 20 34 6.log 0..B a21 4
0001F0: 33 33 34 20 34 33 34 34 20 36 34 6B 62 69 74 73 334 4344 64kbits
Size : 512 (Real : 512)
000000: D1 E1 F5 D5 E5 CD 15 02 45 E1 D1 1A ED 5B 8A 4C ........E....[.L
000010: 16 01 DD E5 FE 72 28 08 15 FE 77 28 13 B7 18 29 .....r(...w(...)
000020: CB 43 20 25 CB C3 D5 ED 5B 80 06 CD 77 BC 18 18 .C %....[...w...
000030: CB 4B 20 15 CB 53 20 06 CB 43 20 0D CB C3 CB CB .K ..S ..C .....
000040: D5 ED 5B 82 06 CD 8C BC D1 DD E1 21 00 00 D0 7B ..[........!...{
000050: 32 8A 4C 3E 09 82 6F C9 D1 E1 D5 22 82 06 21 8A 2.L>..o...."..!.
000060: 4C CB D6 C9 E5 CD B4 BB E1 C9 ED B0 E1 D1 44 4D L.............DM
000070: CD 98 BC C3 A2 07 0E FF 21 3E 08 C3 16 BD 60 69 ........!>....`i
000080: CD 46 39 CD 50 06 C7 C9 DD E5 C1 09 6E 26 00 C9 .F9.P.......n&..
000090: 00 02 00 71 4D 71 4D 02 6C 69 73 74 20 20 20 20 ...qMqM.list
0000A0: 00 BC 4D 00 00 73 23 00 00 00 00 8A 08 63 09 EB ..M..s#......c..
0000B0: 72 2B 73 EB C9 5E 23 56 D5 EB 09 EB 72 2B 73 E1 r+s..^#V....r+s.
0000C0: 01 00 26 00 C3 81 23 FE 36 FF 00 6E 63 6C 75 64 ..&...#.6..nclud
0000D0: 65 0A 00 01 09 D1 CD 89 02 E5 CD 90 01 05 E5 CD e...............
0000E0: E8 22 D1 D1 D1 EB 60 69 73 CD 90 01 09 E5 CD 90 ."....`is.......
0000F0: 01 07 E5 CD 90 01 09 D1 CD 29 02 E5 CD 90 01 05 .........)......
000100: E5 CD E8 22 D1 D1 D1 60 69 6E 26 00 23 26 00 C3 ..."...`in&.#&..
000110: 81 23 EB 21 01 00 39 F9 EB C1 8A 08 21 00 00 39 .#.!..9.....!..9
000120: F9 44 4D 21 04 00 09 6E 26 00 11 D0 FF 19 7C 00 .DM!...n&.....|.
000130: CD AF 01 DA B5 23 21 04 00 09 6E 26 00 11 C6 FF .....#!...n&....
000140: 21 00 00 CD 8F 00 DD 6E 04 DD 66 05 11 02 00 CD !......n..f.....
000150: 34 01 11 01 00 B7 ED 52 22 E7 A1 21 04 00 DD E5 4......R"..!....
000160: C1 09 E5 2A E7 A1 11 02 00 CD 0B 01 EB E1 19 22 ...*..........."
000170: E5 A1 21 01 80 22 E3 A1 21 E7 A1 01 FF FF CD 7D ..!.."..!......}
000180: 02 7D B4 CA 6C 09 2A E5 A1 CD 4B 02 ED 5B E3 A1 .}..l.*...K..[..
000190: CD 98 01 7D B4 CA 61 09 2A E5 A1 CD 4B 02 22 E3 ...}..a.*...K.".
0001A0: A1 21 E5 A1 01 FE FF CD 72 02 18 CC 2A E3 A1 C3 .!......r...*...
0001B0: BE 00 18 FB 21 00 00 CD 8F 00 DD 6E 04 DD 66 05 ....!......n..f.
0001C0: 11 02 00 CD 34 01 11 01 00 B7 ED 52 22 E1 A1 21 ....4......R"..!
0001D0: 04 00 DD E5 C1 09 E5 2A E1 A1 11 02 00 CD 0B 01 .......*........
0001E0: EB E1 19 22 DF A1 21 FF 7F 22 DD A1 21 E1 A1 01 ..."..!.."..!...
0001F0: FF FF CD 7D 02 7D B4 CA E0 09 2A DF A1 CD 4B 02 ...}.}....*...K.
Size : 512 (Real : 512)
000000: 00 4C 4F 4F 4D 20 20 20 20 42 49 4E 00 00 00 00 .LOOM BIN....
000010: 00 00 02 00 00 40 00 00 0B 39 40 00 00 00 00 00 .....@...9@.....
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 0B 39 00 9A 03 59 0F 00 00 FB A1 0E 07 C3 CE BC .9...Y..........
000050: 1A 24 FF 00 FF 26 B1 0A 12 FD A7 86 22 37 67 CC .$...&......"7g.
000060: 80 99 76 6A 33 97 82 02 F3 2C 0F 96 E7 F3 94 3E ..vj3....,.....>
000070: A8 60 99 0F 2A 86 FA 63 80 EA A4 11 53 F3 0D 36 .`..*..c....S..6
000080: CD 36 08 C3 00 00 C3 BF 07 C3 34 07 C3 04 07 C3 .6........4.....
000090: 76 07 C3 8C 06 C3 DF 06 C3 AB 06 C3 E6 06 C3 F9 v...............
0000A0: 05 C3 AB 06 C3 A2 07 C3 F5 06 C3 63 07 C3 A4 06 ...........c....
0000B0: C3 00 09 C3 00 09 C3 00 09 C3 16 03 C3 C5 06 C3 ................
0000C0: C5 06 C3 AF 06 C3 45 06 FE 30 3F D0 FE 3A C9 D1 ......E..0?..:..
0000D0: DD E5 DD 21 00 00 DD 39 39 F9 2A 4E 06 39 30 02 ...!...99.*N.90.
0000E0: EB E9 21 AF 00 E5 21 04 00 E5 CD 79 00 18 91 73 ..!...!....y...s
0000F0: 74 61 63 6B 20 6F 76 65 72 66 6C 6F 77 00 DD 5E tack overflow..^
000100: 04 DD 56 05 DD F9 DD E1 C1 EB 39 F9 EB C5 44 4D ..V.......9...DM
000110: C9 7D B3 6F 7C B2 67 C9 7D AB 6F 7C AA 67 C9 7D .}.o|.g.}.o|.g.}
000120: A3 6F 7C A2 67 C9 1D F8 29 18 FB 1D F8 CB 3C CB .o|.g...).....<.
000130: 1D 18 F8 1D F8 CB 2C CB 1D 18 F8 2B 7C 2F 67 7D ......,....+|/g}
000140: 2F 6F C9 7C B5 21 00 00 C0 23 C9 7C AA F5 AA FC /o.|.!...#.|....
000150: FB 00 7A CD 49 01 CD 1D 01 F1 F0 18 DE C5 06 10 ..z.I...........
000160: 7C 4D 21 00 00 29 38 0A CB 11 17 30 03 19 38 02 |M!..)8....0..8.
000170: 10 F3 C1 C9 7C AA 7C F5 B7 FC FB 00 7A CD 49 01 ....|.|.....z.I.
000180: CD 50 01 F1 F5 FC FB 00 F1 EB B7 FC FB 00 EB C9 .P..............
000190: C5 42 4B 11 00 00 3E 10 29 38 06 3D 20 FA C1 C9 .BK...>.)8.= ...
0001A0: 29 F5 CB 13 CB 12 7B 91 7A 98 FA 72 01 57 7B 91 ).....{.z..r.W{.
0001B0: 5F 2C F1 3D 20 EA C1 C9 CD 34 01 EB C9 CD 50 01 _,.= ....4....P.
0001C0: EB C9 AF ED 52 67 6F C9 CD 82 01 37 23 C8 3F 2B ....Rgo....7#.?+
0001D0: C9 CD 82 01 C8 23 37 C9 EB CD 91 01 C8 FA A3 01 .....#7.........
0001E0: E8 2B 3F E0 2B 3F C9 EB CD 99 01 C0 23 37 C9 EB .+?.+?......#7..
0001F0: CD 82 01 D0 23 C9 EB CD B0 01 C0 23 37 C9 F1 E1 ....#......#7...
Size : 512 (Real : 512)
000000: CD 6A 02 DD 6E FE DD 66 FF 11 04 00 19 E5 DD 6E .j..n..f.......n
000010: 0C DD 66 0D 11 04 00 19 CD 4B 02 CD 6A 02 DD 6E ..f......K..j..n
000020: FE DD 66 FF 11 06 00 19 E5 DD 6E 0C DD 66 0D 11 ..f.......n..f..
000030: 06 00 19 CD 4B 02 CD 6A 02 DD 6E FE DD 66 FF 11 ....K..j..n..f..
000040: 08 00 19 E5 DD 6E 0C DD 66 0D 11 08 00 19 CD 4B .....n..f......K
000050: 02 CD 6A 02 DD 6E FE DD 66 FF 11 00 00 19 E5 DD ..j..n..f.......
000060: 6E 0C DD 66 0D 11 00 00 19 CD 4B 02 CD 6A 02 DD n..f......K..j..
000070: 6E 0C DD 66 0D 11 02 00 19 E5 DD 6E 0A DD 66 0B n..f.......n..f.
000080: CD 6A 02 DD 6E 0C DD 66 0D 11 04 00 19 E5 DD 6E .j..n..f.......n
000090: 08 DD 66 09 CD 6A 02 DD 6E 0C DD 66 0D 11 06 00 ..f..j..n..f....
0000A0: 19 E5 DD 6E 06 DD 66 07 CD 6A 02 DD 6E 0C DD 66 ...n..f..j..n..f
0000B0: 0D 11 08 00 19 E5 DD 6E 04 DD 66 05 CD 6A 02 DD .......n..f..j..
0000C0: 6E 0C DD 66 0D 11 00 00 19 E5 DD 6E FE DD 66 FF n..f.......n..f.
0000D0: CD 6A 02 11 0A 00 C3 C4 00 21 FE FF CD 8F 00 DD .j.......!......
0000E0: 6E 04 DD 66 05 11 00 00 19 CD 4B 02 DD 75 FE DD n..f......K..u..
0000F0: 74 FF DD 6E 04 DD 66 05 11 02 00 19 E5 DD 6E FE t..n..f.......n.
000100: DD 66 FF 11 02 00 19 CD 4B 02 CD 6A 02 DD 6E 04 .f......K..j..n.
000110: DD 66 05 11 04 00 19 E5 DD 6E FE DD 66 FF 11 04 .f.......n..f...
000120: 00 19 CD 4B 02 CD 6A 02 DD 6E 04 DD 66 05 11 06 ...K..j..n..f...
000130: 00 19 E5 DD 6E FE DD 66 FF 11 06 00 19 CD 4B 02 ....n..f......K.
000140: CD 6A 02 DD 6E 04 DD 66 05 11 08 00 19 E5 DD 6E .j..n..f.......n
000150: FE DD 66 FF 11 08 00 19 CD 4B 02 CD 6A 02 DD 6E ..f......K..j..n
000160: 04 DD 66 05 11 00 00 19 E5 DD 6E FE DD 66 FF 11 ..f.......n..f..
000170: 00 00 19 CD 4B 02 CD 6A 02 DD 6E FE DD 66 FF E5 ....K..j..n..f..
000180: CD 92 36 11 02 00 C3 C4 00 21 00 00 CD 8F 00 DD ..6......!......
000190: 6E 0A DD 66 0B E5 DD 6E 0C DD 66 0D 11 02 00 19 n..f...n..f.....
0001A0: CD 4B 02 CD 6A 02 DD 6E 08 DD 66 09 E5 DD 6E 0C .K..j..n..f...n.
0001B0: DD 66 0D 11 04 00 19 CD 4B 02 CD 6A 02 DD 6E 06 .f......K..j..n.
0001C0: DD 66 07 E5 DD 6E 0C DD 66 0D 11 06 00 19 CD 4B .f...n..f......K
0001D0: 02 CD 6A 02 DD 6E 04 DD 66 05 E5 DD 6E 0C DD 66 ..j..n..f...n..f
0001E0: 0D 11 08 00 19 CD 4B 02 CD 6A 02 DD 6E 0C DD 66 ......K..j..n..f
0001F0: 0D E5 CD 99 10 11 0A 00 C3 C4 00 21 00 00 CD 8F ...........!....
Size : 512 (Real : 512)
000000: 00 E5 21 02 00 E5 CD 2B 0C C3 D1 19 25 73 25 63 ..!....+....%s%c
000010: 00 21 CC 19 E5 21 84 A1 E5 21 12 00 E5 01 08 00 .!...!...!......
000020: C5 CD 16 03 21 01 00 E5 CD 70 33 CD 52 0C 21 00 ....!....p3.R.!.
000030: 00 DD 75 FC DD 74 FD 2A DB A1 11 01 00 B7 ED 52 ..u..t.*.......R
000040: EB DD 6E 04 DD 66 05 CD AF 01 7D B4 CA 1E 1A 2A ..n..f....}....*
000050: DB A1 11 01 00 B7 ED 52 DD 75 04 DD 74 05 DD 6E .......R.u..t..n
000060: 04 DD 66 05 ED 5B D3 63 CD AF 01 7D B4 CA 4C 1A ..f..[.c...}..L.
000070: DD 6E 04 DD 66 05 11 01 00 B7 ED 52 6E 26 00 11 .n..f......Rn&..
000080: 00 00 CD 98 01 7D B4 28 03 21 01 00 7D B4 CA 65 .....}.(.!..}..e
000090: 1A C3 63 1A 21 04 00 DD E5 C1 09 01 FF FF CD 7D ..c.!..........}
0000A0: 02 18 BB 18 EF DD 6E 04 DD 66 05 DD 75 FE DD 74 ......n..f..u..t
0000B0: FF DD 6E FE DD 66 FF ED 5B DB A1 CD B0 01 7D B4 ..n..f..[.....}.
0000C0: CA 96 1A DD 6E FC DD 66 FD 11 15 00 CD 99 01 7D ....n..f.......}
0000D0: B4 28 03 21 01 00 7D B4 CA CB 1A C3 BC 1A DD 6E .(.!..}........n
0000E0: FE DD 66 FF E5 CD 02 36 11 01 00 19 EB DD 6E FE ..f....6......n.
0000F0: DD 66 FF 19 DD 75 FE DD 74 FF 18 B5 21 FC FF DD .f...u..t...!...
000100: E5 C1 09 01 01 00 CD 7D 02 18 D3 DD 6E FE DD 66 .......}....n..f
000110: FF ED 5B DB A1 CD 88 01 7D B4 CA EA 1A 21 FC FF ..[.....}....!..
000120: DD E5 C1 09 01 FF FF CD 7D 02 DD 6E 04 DD 66 05 ........}..n..f.
000130: ED 5B D3 63 CD AF 01 7D B4 CA 0F 1B DD 6E FC DD .[.c...}.....n..
000140: 66 FD 11 15 00 CD 99 01 7D B4 28 03 21 01 00 7D f.......}.(.!..}
000150: B4 CA 38 1B C3 26 1B 21 FC FF DD E5 C1 09 01 01 ..8..&.!........
000160: 00 CD 7D 02 18 C4 DD 6E 04 DD 66 05 E5 CD E6 1E ..}....n..f.....
000170: DD 75 04 DD 74 05 18 DF 21 00 00 DD 75 FC DD 74 .u..t...!...u..t
000180: FD DD 6E 04 DD 66 05 DD 75 FE DD 74 FF DD 6E FE ..n..f..u..t..n.
000190: DD 66 FF ED 5B DB A1 CD B0 01 7D B4 CA 72 1B DD .f..[.....}..r..
0001A0: 6E FC DD 66 FD 11 15 00 CD 99 01 7D B4 28 03 21 n..f.......}.(.!
0001B0: 01 00 7D B4 CA C1 1B C3 98 1B DD 6E FE DD 66 FF ..}........n..f.
0001C0: E5 CD 02 36 11 01 00 19 EB DD 6E FE DD 66 FF 19 ...6......n..f..
0001D0: DD 75 FE DD 74 FF 18 B5 C3 A0 1B 25 73 0D 0A 00 .u..t......%s...
0001E0: 21 9B 1B E5 DD 6E FE DD 66 FF E5 01 06 00 C5 CD !....n..f.......
0001F0: 16 03 21 FC FF DD E5 C1 09 01 01 00 CD 7D 02 18 ..!..........}..
Size : 512 (Real : 512)
000000: 00 DD 6E 04 DD 66 05 11 00 00 19 CD 4B 02 11 00 ..n..f......K...
000010: 00 CD 88 01 7D B4 CA E5 11 21 01 00 11 02 00 C3 ....}....!......
000020: C4 00 C3 EA 11 21 00 00 18 F2 18 F0 21 00 00 CD .....!......!...
000030: 8F 00 21 BC 02 E5 CD 0B 0A 22 48 A1 11 00 00 CD ..!......"H.....
000040: 88 01 7D B4 CA 24 12 C3 0E 12 25 73 0A 00 21 0A ..}..$....%s..!.
000050: 12 E5 2A 50 A1 E5 01 06 00 C5 CD 16 03 21 01 00 ..*P.........!..
000060: E5 CD 37 38 11 00 00 C3 C4 00 21 00 00 CD 8F 00 ..78......!.....
000070: 2A D5 A1 11 46 00 CD 88 01 7D B4 CA 5E 12 C3 45 *...F....}..^..E
000080: 12 25 73 0A 00 21 41 12 E5 2A 52 A1 E5 01 06 00 .%s..!A..*R.....
000090: C5 CD 16 03 21 01 00 E5 CD 37 38 C3 3F 15 DD 6E ....!....78.?..n
0000A0: 06 DD 66 07 ED 5B D5 A1 CD 99 01 7D B4 CA AF 12 ..f..[.....}....
0000B0: DD 6E 06 DD 66 07 11 01 00 19 11 0A 00 CD 0B 01 .n..f...........
0000C0: EB 2A 48 A1 19 E5 DD 6E 06 DD 66 07 11 0A 00 CD .*H....n..f.....
0000D0: 0B 01 EB 2A 48 A1 19 E5 DD 6E 06 DD 66 07 EB 2A ...*H....n..f..*
0000E0: D5 A1 B7 ED 52 11 0A 00 CD 0B 01 E5 CD 2E 02 DD ....R...........
0000F0: 6E 06 DD 66 07 11 0A 00 CD 0B 01 EB 2A 48 A1 19 n..f........*H..
000100: 11 00 00 19 E5 DD 6E 04 DD 66 05 11 00 00 19 CD ......n..f......
000110: 4B 02 CD 6A 02 DD 6E 06 DD 66 07 11 0A 00 CD 0B K..j..n..f......
000120: 01 EB 2A 48 A1 19 11 02 00 19 E5 DD 6E 04 DD 66 ..*H........n..f
000130: 05 11 02 00 19 CD 4B 02 CD 6A 02 DD 6E 06 DD 66 ......K..j..n..f
000140: 07 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 08 00 19 ........*H......
000150: E5 DD 6E 04 DD 66 05 11 08 00 19 CD 4B 02 CD 6A ..n..f......K..j
000160: 02 DD 6E 06 DD 66 07 11 0A 00 CD 0B 01 EB 2A 48 ..n..f........*H
000170: A1 19 11 04 00 19 E5 DD 6E 04 DD 66 05 11 04 00 ........n..f....
000180: 19 CD 4B 02 E5 CD 02 36 11 01 00 19 E5 CD 0B 0A ..K....6........
000190: CD 6A 02 11 00 00 CD 88 01 7D B4 C2 9A 13 DD 6E .j.......}.....n
0001A0: 06 DD 66 07 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 ..f........*H...
0001B0: 06 00 19 E5 DD 6E 04 DD 66 05 11 06 00 19 CD 4B .....n..f......K
0001C0: 02 E5 CD 02 36 11 01 00 19 E5 CD 0B 0A CD 6A 02 ....6.........j.
0001D0: 11 00 00 CD 88 01 7D B4 28 03 21 01 00 7D B4 CA ......}.(.!..}..
0001E0: BF 13 C3 A9 13 25 73 0A 00 21 A5 13 E5 2A 54 A1 .....%s..!...*T.
0001F0: E5 01 06 00 C5 CD 16 03 21 01 00 E5 CD 37 38 DD ........!....78.
Size : 512 (Real : 512)
000000: B9 DD 6E FE DD 66 FF ED 5B DB A1 CD B0 01 7D B4 ..n..f..[.....}.
000010: CA EB 1B C3 D9 1B 25 73 00 21 D6 1B E5 DD 6E FE ......%s.!....n.
000020: DD 66 FF E5 01 06 00 C5 CD 16 03 DD 6E 04 DD 66 .f..........n..f
000030: 05 E5 21 00 00 E5 21 16 00 E5 CD 0B 1C DD 6E 04 ..!...!.......n.
000040: DD 66 05 11 02 00 C3 C4 00 18 F8 21 A4 FF CD 8F .f.........!....
000050: 00 21 00 00 E5 CD A8 0C 21 01 00 E5 CD 8B 0C 2A .!......!......*
000060: D5 A1 11 00 00 CD 98 01 7D B4 CA 4C 1E 2A D9 A1 ........}..L.*..
000070: E5 DD 6E 08 DD 66 09 ED 5B D3 63 B7 ED 52 E5 CD ..n..f..[.c..R..
000080: 45 15 DD 75 A8 DD 74 A9 DD 6E 08 DD 66 09 DD 75 E..u..t..n..f..u
000090: A6 DD 74 A7 DD 6E A8 DD 66 A9 ED 5B D5 A1 CD 99 ..t..n..f..[....
0000A0: 01 7D B4 CA 93 1C DD 6E A8 DD 66 A9 11 0A 00 CD .}.....n..f.....
0000B0: 0B 01 EB 2A 48 A1 19 11 04 00 19 CD 4B 02 E5 2A ...*H.......K..*
0000C0: D9 A1 E5 CD 4B 0D 11 00 00 CD 88 01 7D B4 28 03 ....K.......}.(.
0000D0: 21 01 00 7D B4 CA AC 1C DD 6E A6 DD 66 A7 ED 5B !..}.....n..f..[
0000E0: DB A1 CD B0 01 7D B4 28 03 21 01 00 7D B4 CA C8 .....}.(.!..}...
0000F0: 1C DD 6E 04 DD 66 05 EB DD 6E 06 DD 66 07 CD 99 ..n..f...n..f...
000100: 01 7D B4 28 03 21 01 00 7D B4 CA 4C 1E C3 EF 1C .}.(.!..}..L....
000110: DD 6E A6 DD 66 A7 E5 CD 02 36 11 01 00 19 EB DD .n..f....6......
000120: 6E A6 DD 66 A7 19 DD 75 A6 DD 74 A7 C3 54 1C DD n..f...u..t..T..
000130: 6E A8 DD 66 A9 ED 5B D5 A1 CD 99 01 7D B4 CA 2E n..f..[.....}...
000140: 1D DD 6E A8 DD 66 A9 11 0A 00 CD 0B 01 EB 2A 48 ..n..f........*H
000150: A1 19 11 04 00 19 CD 4B 02 E5 2A D9 A1 E5 CD 4B .......K..*....K
000160: 0D 11 00 00 CD 88 01 7D B4 28 03 21 01 00 7D B4 .......}.(.!..}.
000170: CA 71 1D DD 6E A8 DD 66 A9 11 0A 00 CD 0B 01 EB .q..n..f........
000180: 2A 48 A1 19 11 00 00 19 E5 DD 6E A6 DD 66 A7 E5 *H........n..f..
000190: CD 02 36 EB DD 6E A6 DD 66 A7 19 ED 5B D3 63 B7 ..6..n..f...[.c.
0001A0: ED 52 EB E1 CD 4B 02 CD B0 01 7D B4 28 03 21 01 .R...K....}.(.!.
0001B0: 00 7D B4 CA 3C 1E DD 6E A8 DD 66 A9 11 0A 00 CD .}..<..n..f.....
0001C0: 0B 01 EB 2A 48 A1 19 11 00 00 19 CD 4B 02 ED 5B ...*H.......K..[
0001D0: D3 63 19 EB DD 6E A6 DD 66 A7 EB B7 ED 52 DD 75 .c...n..f....R.u
0001E0: AA DD 74 AB DD 6E AA DD 66 AB 11 01 00 19 E5 DD ..t..n..f.......
0001F0: 6E 06 DD 66 07 11 01 00 19 E5 CD 2B 0C DD 6E A8 n..f.......+..n.
Size : 512 (Real : 512)
000000: 6E 06 DD 66 07 11 00 00 CD 98 01 7D B4 CA 0D 14 n..f.......}....
000010: DD 6E 06 DD 66 07 11 01 00 B7 ED 52 11 0A 00 CD .n..f......R....
000020: 0B 01 EB 2A 48 A1 19 11 04 00 19 CD 4B 02 E5 DD ...*H.......K...
000030: 6E 04 DD 66 05 11 04 00 19 CD 4B 02 E5 CD 4B 0D n..f......K...K.
000040: 11 00 00 CD 88 01 7D B4 28 03 21 01 00 7D B4 CA ......}.(.!..}..
000050: 68 14 DD 6E 06 DD 66 07 11 0A 00 CD 0B 01 EB 2A h..n..f........*
000060: 48 A1 19 11 04 00 19 CD 4B 02 E5 CD 92 36 DD 6E H.......K....6.n
000070: 06 DD 66 07 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 ..f........*H...
000080: 04 00 19 E5 DD 6E 06 DD 66 07 11 01 00 B7 ED 52 .....n..f......R
000090: 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 04 00 19 CD .......*H.......
0000A0: 4B 02 CD 6A 02 C3 92 14 DD 6E 06 DD 66 07 11 0A K..j.....n..f...
0000B0: 00 CD 0B 01 EB 2A 48 A1 19 11 04 00 19 CD 4B 02 .....*H.......K.
0000C0: E5 DD 6E 04 DD 66 05 11 04 00 19 CD 4B 02 E5 CD ..n..f......K...
0000D0: BF 35 DD 6E 04 DD 66 05 11 04 00 19 CD 4B 02 E5 .5.n..f......K..
0000E0: DD 6E 04 DD 66 05 11 06 00 19 CD 4B 02 E5 CD 4B .n..f......K...K
0000F0: 0D 11 00 00 CD 88 01 7D B4 CA 0C 15 DD 6E 06 DD .......}.....n..
000100: 66 07 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 06 00 f........*H.....
000110: 19 CD 4B 02 E5 CD 92 36 DD 6E 06 DD 66 07 11 0A ..K....6.n..f...
000120: 00 CD 0B 01 EB 2A 48 A1 19 11 06 00 19 E5 DD 6E .....*H........n
000130: 06 DD 66 07 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 ..f........*H...
000140: 04 00 19 CD 4B 02 CD 6A 02 C3 36 15 DD 6E 06 DD ....K..j..6..n..
000150: 66 07 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 06 00 f........*H.....
000160: 19 CD 4B 02 E5 DD 6E 04 DD 66 05 11 06 00 19 CD ..K...n..f......
000170: 4B 02 E5 CD BF 35 21 D5 A1 01 01 00 CD 7D 02 11 K....5!......}..
000180: 04 00 C3 C4 00 21 FE FF CD 8F 00 21 00 00 DD 75 .....!.....!...u
000190: FE DD 74 FF DD 6E FE DD 66 FF ED 5B D5 A1 CD 99 ..t..n..f..[....
0001A0: 01 7D B4 CA 96 15 DD 6E FE DD 66 FF 11 0A 00 CD .}.....n..f.....
0001B0: 0B 01 EB 2A 48 A1 19 11 04 00 19 CD 4B 02 E5 DD ...*H.......K...
0001C0: 6E 06 DD 66 07 E5 CD 4B 0D 11 00 00 CD 99 01 7D n..f...K.......}
0001D0: B4 28 03 21 01 00 7D B4 CA AA 15 21 FE FF DD E5 .(.!..}....!....
0001E0: C1 09 01 01 00 CD 7D 02 18 AA DD 6E FE DD 66 FF ......}....n..f.
0001F0: ED 5B D5 A1 CD 99 01 7D B4 CA EC 15 DD 6E FE DD .[.....}.....n..
Size : 512 (Real : 512)
000000: DD 66 A9 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 00 .f........*H....
000010: 00 19 CD 4B 02 DD 75 A4 DD 74 A5 DD 6E A8 DD 66 ...K..u..t..n..f
000020: A9 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 02 00 19 ........*H......
000030: CD 4B 02 11 01 00 19 EB DD 6E A4 DD 66 A5 CD B0 .K.......n..f...
000040: 01 7D B4 CA 2C 1E C3 18 1E 21 A4 FF DD E5 C1 09 .}..,....!......
000050: 01 01 00 CD 7D 02 18 C3 DD 6E A4 DD 66 A5 EB 2A ....}....n..f..*
000060: D3 63 19 6E 26 00 E5 CD 6D 00 18 DD 21 A8 FF DD .c.n&...m...!...
000070: E5 C1 09 01 01 00 CD 7D 02 C3 EF 1C 21 06 00 DD .......}....!...
000080: E5 C1 09 01 01 00 CD 7D 02 C3 D0 1C 21 01 00 E5 .......}....!...
000090: CD 70 33 11 06 00 C3 C4 00 21 00 00 CD 8F 00 DD .p3......!......
0000A0: 6E 06 DD 66 07 ED 5B DB A1 CD B6 01 7D B4 CA 7A n..f..[.....}..z
0000B0: 1E 21 00 00 11 04 00 C3 C4 00 DD 6E 04 DD 66 05 .!.........n..f.
0000C0: 11 01 00 19 E5 DD 6E 06 DD 66 07 E5 CD 02 36 EB ......n..f....6.
0000D0: E1 CD AF 01 7D B4 CA 9E 1E 21 00 00 18 D6 21 01 ....}....!....!.
0000E0: 00 18 D1 18 CF 21 00 00 CD 8F 00 DD 6E 06 DD 66 .....!......n..f
0000F0: 07 E5 DD 6E 04 DD 66 05 E5 CD 59 1E CD 03 01 7D ...n..f...Y....}
000100: B4 CA CD 1E 21 FF FF 11 04 00 C3 C4 00 DD 6E 04 ....!.........n.
000110: DD 66 05 EB DD 6E 06 DD 66 07 19 ED 5B D3 63 B7 .f...n..f...[.c.
000120: ED 52 18 E3 18 E1 21 00 00 CD 8F 00 DD 6E 04 DD .R....!......n..
000130: 66 05 ED 5B D3 63 CD AF 01 7D B4 CA 5F 1F 21 04 f..[.c...}.._.!.
000140: 00 DD E5 C1 09 01 FF FF CD 7D 02 DD 6E 04 DD 66 .........}..n..f
000150: 05 ED 5B DB A1 CD B0 01 7D B4 CA 5F 1F DD 6E 04 ..[.....}.._..n.
000160: DD 66 05 ED 5B D3 63 CD AF 01 7D B4 CA 4B 1F DD .f..[.c...}..K..
000170: 6E 04 DD 66 05 11 01 00 B7 ED 52 6E 26 00 11 00 n..f......Rn&...
000180: 00 CD 98 01 7D B4 28 03 21 01 00 7D B4 CA 5F 1F ....}.(.!..}.._.
000190: 21 04 00 DD E5 C1 09 01 FF FF CD 7D 02 18 BE DD !..........}....
0001A0: 6E 04 DD 66 05 11 02 00 C3 C4 00 18 F8 21 00 00 n..f.........!..
0001B0: CD 8F 00 DD 6E 04 DD 66 05 ED 5B DB A1 CD B0 01 ....n..f..[.....
0001C0: 7D B4 CA 9D 1F DD 6E 04 DD 66 05 E5 CD 02 36 EB }.....n..f....6.
0001D0: DD 6E 04 DD 66 05 19 DD 75 04 DD 74 05 21 04 00 .n..f...u..t.!..
0001E0: DD E5 C1 09 01 01 00 CD 7D 02 DD 6E 04 DD 66 05 ........}..n..f.
0001F0: 11 02 00 C3 C4 00 18 F8 21 FB FF CD 8F 00 21 00 ........!.....!.
Size : 512 (Real : 512)
000000: 66 FF 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 04 00 f........*H.....
000010: 19 CD 4B 02 E5 DD 6E 06 DD 66 07 E5 CD 4B 0D 11 ..K...n..f...K..
000020: 00 00 CD 88 01 7D B4 28 03 21 01 00 7D B4 CA 1B .....}.(.!..}...
000030: 16 DD 6E FE DD 66 FF 11 0A 00 CD 0B 01 EB 2A 48 ..n..f........*H
000040: A1 19 11 00 00 19 CD 4B 02 EB DD 6E 04 DD 66 05 .......K...n..f.
000050: EB CD B0 01 7D B4 28 03 21 01 00 7D B4 CA 30 16 ....}.(.!..}..0.
000060: 21 FE FF DD E5 C1 09 01 01 00 CD 7D 02 C3 AA 15 !..........}....
000070: DD 6E FE DD 66 FF 11 04 00 C3 C4 00 18 F8 21 00 .n..f.........!.
000080: 00 CD 8F 00 DD 6E 04 DD 66 05 11 00 00 CD A7 01 .....n..f.......
000090: 7D B4 CA 69 16 DD 6E 04 DD 66 05 ED 5B D5 A1 CD }..i..n..f..[...
0000A0: 99 01 7D B4 28 03 21 01 00 7D B4 CA 9E 16 DD 6E ..}.(.!..}.....n
0000B0: 08 DD 66 09 E5 DD 6E 04 DD 66 05 11 0A 00 CD 0B ..f...n..f......
0000C0: 01 EB 2A 48 A1 19 11 04 00 19 CD 4B 02 E5 CD 4B ..*H.......K...K
0000D0: 0D 11 00 00 CD 88 01 7D B4 28 03 21 01 00 7D B4 .......}.(.!..}.
0000E0: CA CD 16 DD 6E 04 DD 66 05 11 0A 00 CD 0B 01 EB ....n..f........
0000F0: 2A 48 A1 19 11 00 00 19 CD 4B 02 EB DD 6E 06 DD *H.......K...n..
000100: 66 07 EB CD B7 01 7D B4 28 03 21 01 00 7D B4 CA f.....}.(.!..}..
000110: FC 16 DD 6E 04 DD 66 05 11 0A 00 CD 0B 01 EB 2A ...n..f........*
000120: 48 A1 19 11 02 00 19 CD 4B 02 EB DD 6E 06 DD 66 H.......K...n..f
000130: 07 EB CD B6 01 7D B4 28 03 21 01 00 7D B4 CA 0A .....}.(.!..}...
000140: 17 21 01 00 11 06 00 C3 C4 00 21 00 00 18 F5 18 .!........!.....
000150: F3 21 00 00 CD 8F 00 21 00 32 E5 CD 0B 0A 22 D3 .!.....!.2....".
000160: 63 11 00 00 CD 88 01 7D B4 CA 49 17 C3 33 17 25 c......}..I..3.%
000170: 73 0A 00 21 2F 17 E5 2A 56 A1 E5 01 06 00 C5 CD s..!/..*V.......
000180: 16 03 21 01 00 E5 CD 37 38 11 00 00 C3 C4 00 21 ..!....78......!
000190: F9 FF CD 8F 00 DD 6E 04 DD 66 05 E5 C3 61 17 72 ......n..f...a.r
0001A0: 00 21 5F 17 E5 CD 46 00 DD 75 FE DD 74 FF 11 00 .!_...F..u..t...
0001B0: 00 CD 88 01 7D B4 CA 82 17 21 FF FF 11 02 00 C3 ....}....!......
0001C0: C4 00 21 00 00 7D 32 84 A1 26 00 DD 6E FE DD 66 ..!..}2..&..n..f
0001D0: FF E5 CD 49 00 DD 75 FD 26 00 DD 6E FD 26 00 11 ...I..u.&..n.&..
0001E0: 23 00 CD 88 01 7D B4 CA CB 17 21 84 A1 E5 21 42 #....}....!...!B
0001F0: 00 E5 DD 6E FE DD 66 FF E5 CD 3C 0E DD 6E FE DD ...n..f...<..n..
Size : 512 (Real : 512)
000000: 00 DD 75 FF 26 00 21 C2 63 E5 21 E8 09 E5 CD BF ..u.&.!.c.!.....
000010: 35 21 B5 63 E5 21 F5 09 E5 CD BF 35 21 00 00 7D 5!.c.!.....5!..}
000020: 32 B4 63 26 00 2A D1 63 6E 26 00 11 01 00 CD 88 2.c&.*.cn&......
000030: 01 7D B4 CA 02 20 C3 FB 1F C2 00 21 F9 1F E5 CD .}... .....!....
000040: F2 0D 21 B4 63 22 D9 A1 CD F5 34 CD 0D 0F 22 CF ..!.c"....4...".
000050: 63 CD EC 11 CD 11 17 CD 78 29 CD 10 2E 2A D3 63 c.......x)...*.c
000060: E5 CD B1 19 22 A1 63 2A A1 63 22 9F 63 21 01 00 ....".c*.c".c!..
000070: E5 21 01 00 E5 CD 2B 0C DD 6E FF 26 00 11 51 00 .!....+..n.&..Q.
000080: CD 91 01 7D B4 CA 64 28 21 01 00 E5 CD 65 0C CD ...}..d(!....e..
000090: 55 00 E5 CD 0B 02 DD 75 FF 26 00 21 00 00 E5 CD U......u.&.!....
0000A0: 65 0C 21 02 00 E5 CD 70 33 21 0C 00 E5 CD 6D 00 e.!....p3!....m.
0000B0: 21 01 00 E5 CD 70 33 2A A5 63 E5 2A A3 63 E5 CD !....p3*.c.*.c..
0000C0: 2B 0C DD 6E FF 26 00 CD 89 02 FF 27 C3 61 28 CD +..n.&.....'.a(.
0000D0: 26 2A C3 61 28 21 B5 63 E5 CD D8 31 7D B4 CA BD &*.a(!.c...1}...
0000E0: 20 2A D3 63 E5 CD B1 19 22 A1 63 2A A1 63 22 9F *.c....".c*.c".
0000F0: 63 21 01 00 22 A3 63 21 01 00 22 A5 63 2A A5 63 c!..".c!..".c*.c
000100: E5 2A A3 63 E5 CD 2B 0C C3 61 28 21 02 00 E5 CD .*.c..+..a(!....
000110: 70 33 C3 DB 20 25 73 20 25 64 00 21 D5 20 E5 2A p3.. %s %d.!. .*
000120: 5C A1 E5 2A 46 A1 E5 01 08 00 C5 CD 16 03 21 01 \..*F.........!.
000130: 00 E5 CD 70 33 2A A5 63 E5 2A A3 63 E5 CD 2B 0C ...p3*.c.*.c..+.
000140: C3 61 28 CD 78 29 2A A1 63 E5 CD B1 19 2A A5 63 .a(.x)*.c....*.c
000150: E5 2A A3 63 E5 CD 2B 0C C3 61 28 21 02 00 E5 CD .*.c..+..a(!....
000160: 70 33 CD 07 19 21 01 00 E5 CD 70 33 2A A5 63 E5 p3...!....p3*.c.
000170: 2A A3 63 E5 CD 2B 0C C3 61 28 CD 4D 2B C3 61 28 *.c..+..a(.M+.a(
000180: CD CD 2B C3 61 28 2A A3 63 11 01 00 CD 88 01 7D ..+.a(*.c......}
000190: B4 CA 7A 21 2A A1 63 ED 5B D3 63 CD AF 01 7D B4 ..z!*.c.[.c...}.
0001A0: CA 77 21 CD CC 28 2A A1 63 22 9F 63 2A A5 63 E5 .w!..(*.c".c*.c.
0001B0: 21 01 00 E5 CD 2B 0C C3 95 21 2A A5 63 E5 21 A3 !....+...!*.c.!.
0001C0: 63 01 FF FF CD 72 02 E5 CD 2B 0C 2A 9F 63 E5 CD c....r...+.*.c..
0001D0: E6 1E 22 9F 63 C3 61 28 2A A3 63 11 16 00 CD 88 ..".c.a(*.c.....
0001E0: 01 7D B4 CA E6 21 2A 9F 63 E5 CD 02 36 EB 2A 9F .}...!*.c...6.*.
0001F0: 63 19 11 01 00 19 ED 5B DB A1 CD B0 01 7D B4 CA c......[.....}..
Size : 512 (Real : 512)
000000: 66 FF E5 CD 49 00 DD 75 FD 26 00 2A D3 63 22 DB f...I..u.&.*.c".
000010: A1 21 00 00 DD 75 F9 DD 74 FA DD 6E FD 26 00 11 .!...u..t..n.&..
000020: FF 00 CD 91 01 7D B4 CA 05 18 2A D3 63 11 00 32 .....}....*.c..2
000030: 19 11 01 00 B7 ED 52 EB 2A DB A1 CD B0 01 7D B4 ......R.*.....}.
000040: 28 03 21 01 00 7D B4 CA C7 18 DD 6E FD 26 00 CD (.!..}.....n.&..
000050: 89 02 A5 18 C3 B5 18 21 DB A1 01 01 00 CD 7D 02 .......!......}.
000060: E5 21 20 00 D1 7D 12 26 00 21 F9 FF DD E5 C1 09 .! ..}.&.!......
000070: 01 01 00 CD 7D 02 2A D3 63 11 00 32 19 EB 2A DB ....}.*.c..2..*.
000080: A1 CD B0 01 7D B4 CA 5C 18 DD 6E F9 DD 66 FA 11 ....}..\..n..f..
000090: 08 00 CD 78 01 7D B4 28 03 21 01 00 7D B4 20 B7 ...x.}.(.!..}. .
0000A0: C3 B5 18 21 DB A1 01 01 00 CD 7D 02 E5 21 00 00 ...!......}..!..
0000B0: D1 7D 12 26 00 21 00 00 DD 75 F9 DD 74 FA C3 B5 .}.&.!...u..t...
0000C0: 18 21 DB A1 01 01 00 CD 7D 02 E5 DD 6E FD 26 00 .!......}...n.&.
0000D0: D1 7D 12 26 00 21 F9 FF DD E5 C1 09 01 01 00 CD .}.&.!..........
0000E0: 7D 02 C3 B5 18 14 18 0D 00 17 18 09 00 63 18 0A }............c..
0000F0: 00 00 00 18 CC DD 6E FE DD 66 FF E5 CD 49 00 DD ......n..f...I..
000100: 75 FD 26 00 C3 DA 17 DD 6E FE DD 66 FF E5 CD 4F u.&.....n..f...O
000110: 00 DD 6E FD 26 00 CD 89 02 FC 18 21 DB A1 01 01 ..n.&......!....
000120: 00 CD 7D 02 E5 21 00 00 D1 7D 12 26 00 21 00 00 ..}..!...}.&.!..
000130: C3 7C 17 21 FE FF C3 7C 17 C3 04 19 DB 18 FF 00 .|.!...|........
000140: 00 00 18 EF C3 7C 17 21 FE FF CD 8F 00 21 84 A1 .....|.!.....!..
000150: E5 CD 37 34 7D B4 C2 30 19 C3 1F 19 0A 0A 00 21 ..74}..0.......!
000160: 1C 19 E5 CD 11 0E 11 00 00 CD 88 01 7D B4 28 03 ............}.(.
000170: 21 01 00 7D B4 CA 41 19 21 00 00 11 00 00 C3 C4 !..}..A.!.......
000180: 00 2A D3 63 DD 75 FE DD 74 FF DD 6E FE DD 66 FF .*.c.u..t..n..f.
000190: ED 5B DB A1 CD B0 01 7D B4 CA AF 19 C3 7D 19 DD .[.....}.....}..
0001A0: 6E FE DD 66 FF E5 CD 02 36 11 01 00 19 EB DD 6E n..f....6......n
0001B0: FE DD 66 FF 19 DD 75 FE DD 74 FF 18 CD DD 6E FE ..f...u..t....n.
0001C0: DD 66 FF E5 CD 37 34 7D B4 C2 A2 19 C3 91 19 0A .f...74}........
0001D0: 00 21 8F 19 E5 CD 11 0E 11 00 00 CD 88 01 7D B4 .!............}.
0001E0: 28 03 21 01 00 7D B4 CA AD 19 C3 AF 19 18 B0 18 (.!..}..........
0001F0: 8A 21 FC FF CD 8F 00 21 00 00 E5 CD 70 33 21 01 .!.....!....p3!.
Size : 512 (Real : 512)
000000: 29 2A A3 63 11 01 00 CD 88 01 7D B4 CA E5 27 2A )*.c......}...'*
000010: 9F 63 E5 CD 02 36 11 01 00 19 EB 2A 9F 63 19 22 .c...6.....*.c."
000020: 9F 63 C3 EE 27 21 A3 63 01 FF FF CD 7D 02 2A A5 .c..'!.c....}.*.
000030: 63 E5 2A A3 63 E5 CD 2B 0C C3 61 28 C3 61 28 8C c.*.c..+..a(.a(.
000040: 20 51 00 8F 20 3C 00 8F 20 2C 00 8F 20 42 00 95 Q.. <.. ,.. B..
000050: 20 48 00 CB 20 46 00 03 21 0C 00 1B 21 50 00 3A H.. F..!...!P.:
000060: 21 4F 00 40 21 0D 00 46 21 F0 00 98 21 F1 00 21 !O.@!..F!...!..!
000070: 22 F2 00 47 22 F3 00 6B 22 F6 00 D1 23 F7 00 49 "..G"..k"...#..I
000080: 25 F8 00 F6 25 F9 00 A7 26 1B 00 E0 26 1D 00 23 %...%...&...&..#
000090: 27 FA 00 37 27 FB 00 6B 27 F4 00 AF 27 F5 00 00 '..7'..k'...'...
0000A0: 00 C3 38 20 21 00 00 E5 CD 37 38 11 00 00 C3 C4 ..8 !....78.....
0000B0: 00 21 FC FF CD 8F 00 2A A1 63 DD 75 FC DD 74 FD .!.....*.c.u..t.
0000C0: 21 00 00 DD 75 FE DD 74 FF DD 6E FE DD 66 FF 11 !...u..t..n..f..
0000D0: 16 00 CD 99 01 7D B4 CA BE 28 C3 AC 28 21 FE FF .....}...(..(!..
0000E0: DD E5 C1 09 01 01 00 CD 7D 02 18 DD DD 6E FC DD ........}....n..
0000F0: 66 FD E5 CD 6D 1F DD 75 FC DD 74 FD 18 DF DD 6E f...m..u..t....n
000100: FC DD 66 FD 11 00 00 C3 C4 00 18 F8 21 00 00 CD ..f.........!...
000110: 8F 00 2A A1 63 E5 CD E6 1E 22 A1 63 21 01 00 E5 ..*.c....".c!...
000120: 21 01 00 E5 CD 2B 0C 21 0B 00 E5 CD 6D 00 C3 F5 !....+.!....m...
000130: 28 0D 25 73 00 21 F1 28 E5 2A A1 63 E5 01 06 00 (.%s.!.(.*.c....
000140: C5 CD 16 03 2A A1 63 E5 21 00 00 E5 21 01 00 E5 ....*.c.!...!...
000150: CD 0B 1C 11 00 00 C3 C4 00 21 FE FF CD 8F 00 21 .........!.....!
000160: 01 00 E5 21 16 00 E5 CD 2B 0C CD 71 28 DD 75 FE ...!....+..q(.u.
000170: DD 74 FF C3 3B 29 0A 0D 25 73 00 21 36 29 E5 DD .t..;)..%s.!6)..
000180: 6E FE DD 66 FF E5 01 06 00 C5 CD 16 03 DD 6E FE n..f..........n.
000190: DD 66 FF E5 21 15 00 E5 21 16 00 E5 CD 0B 1C 2A .f..!...!......*
0001A0: A1 63 E5 CD 02 36 11 01 00 19 EB 2A A1 63 19 22 .c...6.....*.c."
0001B0: A1 63 11 00 00 C3 C4 00 21 00 00 CD 8F 00 21 04 .c......!.....!.
0001C0: 00 E5 CD 6D 00 21 02 00 E5 CD 6D 00 21 44 00 E5 ...m.!....m.!D..
0001D0: 21 01 00 E5 21 50 00 E5 21 02 00 E5 CD C5 0C 21 !...!P..!......!
0001E0: 00 00 E5 CD A8 0C 21 01 00 E5 CD 8B 0C CD 52 0C ......!.......R.
0001F0: C3 CF 29 25 63 4C 6F 6F 6D 20 76 33 2E 32 20 62 ..)%cLoom v3.2 b
Size : 512 (Real : 512)
000000: CD 88 01 7D B4 CA CF 31 21 00 00 E5 CD 37 38 CD ...}...1!....78.
000010: 52 0C 11 00 00 C3 C4 00 21 F8 FF CD 8F 00 2A D9 R.......!.....*.
000020: A1 E5 DD 6E 04 DD 66 05 E5 CD 4B 0D 11 00 00 CD ...n..f...K.....
000030: 88 01 7D B4 CA 1E 32 21 03 00 E5 CD 70 33 2A CF ..}...2!....p3*.
000040: 63 E5 2A D9 A1 E5 2A A5 63 E5 2A A3 63 E5 2A A1 c.*...*.c.*.c.*.
000050: 63 E5 CD 6A 0F 21 01 00 11 02 00 C3 C4 00 21 00 c..j.!........!.
000060: 00 DD 75 F8 DD 74 F9 21 02 00 E5 CD 70 33 C3 38 ..u..t.!....p3.8
000070: 32 0C 25 73 20 25 73 00 21 31 32 E5 2A 6C A1 E5 2.%s %s.!12.*l..
000080: DD 6E 04 DD 66 05 E5 01 08 00 C5 CD 16 03 21 03 .n..f.........!.
000090: 00 E5 CD 70 33 DD 6E 04 DD 66 05 DD 75 FE DD 74 ...p3.n..f..u..t
0000A0: FF DD 6E FE DD 66 FF E5 CD CF 30 DD 75 FC DD 74 ..n..f....0.u..t
0000B0: FD DD 6E FC DD 66 FD CD 89 02 3A 33 21 01 00 DD ..n..f....:3!...
0000C0: 75 F8 DD 74 F9 C3 48 33 21 00 00 DD 75 FA DD 74 u..t..H3!...u..t
0000D0: FB C3 97 32 25 73 00 21 94 32 E5 2A 80 A1 E5 01 ...2%s.!.2.*....
0000E0: 06 00 C5 CD 16 03 C3 AC 32 59 4E 00 21 A9 32 E5 ........2YN.!.2.
0000F0: CD 55 00 E5 CD 0B 02 DD 75 FA DD 74 FB E5 CD 3C .U......u..t...<
000100: 36 11 00 00 CD 88 01 7D B4 CA CE 32 18 D8 DD 6E 6......}...2...n
000110: FA DD 66 FB 11 4E 00 CD 88 01 7D B4 CA EF 32 21 ..f..N....}...2!
000120: 00 00 DD 75 FC DD 74 FD 2A A1 63 E5 CD B1 19 C3 ...u..t.*.c.....
000130: 48 33 C3 FB 32 25 73 0D 0A 20 00 21 F5 32 E5 2A H3..2%s.. .!.2.*
000140: 82 A1 E5 01 06 00 C5 CD 16 03 2A D9 A1 22 D7 A1 ..........*.."..
000150: 21 B4 63 22 D9 A1 2A D7 A1 E5 CD D8 31 2A CF 63 !.c"..*.....1*.c
000160: E5 CD 99 10 21 00 00 DD 75 FC DD 74 FD 2A A1 63 ....!...u..t.*.c
000170: E5 CD B1 19 C3 48 33 C3 48 33 7C 32 00 00 88 32 .....H3.H3|2...2
000180: 01 00 F2 32 02 00 00 00 DD 6E FC DD 66 FD 7D B4 ...2.....n..f.}.
000190: C2 61 32 21 02 00 E5 CD 70 33 CD 52 0C 21 01 00 .a2!....p3.R.!..
0001A0: E5 CD 70 33 DD 6E F8 DD 66 F9 C3 18 32 C3 18 32 ..p3.n..f...2..2
0001B0: 21 00 00 CD 8F 00 DD 6E 04 DD 66 05 CD 89 02 1F !......n..f.....
0001C0: 34 21 01 00 E5 21 01 00 E5 21 43 00 E5 21 02 00 4!...!...!C..!..
0001D0: E5 CD C5 0C 21 00 00 E5 CD A8 0C 21 01 00 E5 CD ....!......!....
0001E0: 8B 0C C3 31 34 21 01 00 E5 21 03 00 E5 21 50 00 ...14!...!...!P.
0001F0: E5 21 18 00 E5 CD C5 0C 21 01 00 E5 CD A8 0C 21 .!......!......!
Size : 512 (Real : 512)
000000: 79 25 63 53 2E 20 50 68 69 6C 6C 69 70 73 00 21 y%cS. Phillips.!
000010: B3 29 E5 21 D3 00 E5 21 D3 00 E5 01 08 00 C5 CD .).!...!........
000020: 16 03 21 00 00 E5 CD 70 33 21 01 00 E5 CD A8 0C ..!....p3!......
000030: 21 00 00 E5 CD 8B 0C C3 FD 29 25 73 00 21 FA 29 !........)%s.!.)
000040: E5 2A 5E A1 E5 01 06 00 C5 CD 16 03 21 01 00 E5 .*^.........!...
000050: CD 70 33 CD 52 0C 21 02 00 E5 CD 70 33 CD 52 0C .p3.R.!....p3.R.
000060: 11 00 00 C3 C4 00 21 F8 FF CD 8F 00 2A CF 63 E5 ......!.....*.c.
000070: CD BB 11 7D B4 CA 5F 2A 21 02 00 E5 CD 70 33 C3 ...}.._*!....p3.
000080: 46 2A 0C 25 73 00 21 42 2A E5 2A 60 A1 E5 01 06 F*.%s.!B*.*`....
000090: 00 C5 CD 16 03 21 01 00 E5 CD 70 33 C3 3C 2B 2A .....!....p3.<+*
0000A0: CF 63 E5 21 FE FF DD E5 C1 09 E5 21 FC FF DD E5 .c.!.......!....
0000B0: C1 09 E5 21 FA FF DD E5 C1 09 E5 21 F8 FF DD E5 ...!.......!....
0000C0: C1 09 E5 CD 49 11 DD 6E FE DD 66 FF E5 CD D8 31 ....I..n..f....1
0000D0: 7D B4 CA 19 2B DD 6E FC DD 66 FD 22 A5 63 DD 6E }...+.n..f.".c.n
0000E0: FA DD 66 FB 22 A3 63 DD 6E F8 DD 66 F9 22 A1 63 ..f.".c.n..f.".c
0000F0: 2A A1 63 22 9F 63 2A A1 63 22 9F 63 DD 6E FA DD *.c".c*.c".c.n..
000100: 66 FB 11 01 00 CD 98 01 7D B4 CA 08 2B C3 DF 2A f.......}...+..*
000110: 21 FA FF DD E5 C1 09 01 FF FF CD 7D 02 18 DD 2A !..........}...*
000120: 9F 63 ED 5B DB A1 CD B0 01 7D B4 CA FD 2A 2A 9F .c.[.....}...**.
000130: 63 E5 CD 02 36 EB 2A 9F 63 19 22 9F 63 21 9F 63 c...6.*.c.".c!.c
000140: 01 01 00 CD 7D 02 18 C8 2A CF 63 E5 CD 99 10 2A ....}...*.c....*
000150: A1 63 E5 CD B1 19 C3 3C 2B 2A CF 63 E5 DD 6E FE .c.....<+*.c..n.
000160: DD 66 FF E5 DD 6E FC DD 66 FD E5 DD 6E FA DD 66 .f...n..f...n..f
000170: FB E5 DD 6E F8 DD 66 F9 E5 CD 6A 0F 2A A5 63 E5 ...n..f...j.*.c.
000180: 2A A3 63 E5 CD 2B 0C 11 00 00 C3 C4 00 21 FE FF *.c..+.......!..
000190: CD 8F 00 21 02 00 E5 CD 70 33 2A 9F 63 E5 2A A5 ...!....p3*.c.*.
0001A0: 63 11 01 00 B7 ED 52 E5 CD A5 1E DD 75 FE DD 74 c.....R.....u..t
0001B0: FF 11 FF FF CD 88 01 7D B4 CA 95 2B C3 83 2B 0C .......}...+..+.
0001C0: 25 73 00 21 7F 2B E5 2A 62 A1 E5 01 06 00 C5 CD %s.!.+.*b.......
0001D0: 16 03 C3 B5 2B C3 9F 2B 0C 25 73 20 25 64 00 21 ....+..+.%s %d.!
0001E0: 98 2B E5 2A 64 A1 E5 DD 6E FE DD 66 FF E5 01 08 .+.*d...n..f....
0001F0: 00 C5 CD 16 03 21 01 00 E5 CD 70 33 2A A5 63 E5 .....!....p3*.c.
Size : 512 (Real : 512)
000000: E3 21 2A 9F 63 E5 CD 02 36 11 01 00 19 EB 2A 9F .!*.c...6.....*.
000010: 63 19 22 9F 63 CD 19 29 2A A5 63 E5 21 16 00 E5 c.".c..)*.c.!...
000020: CD 2B 0C C3 1E 22 2A A5 63 E5 21 A3 63 01 01 00 .+..."*.c.!.c...
000030: CD 72 02 E5 CD 2B 0C 2A 9F 63 ED 5B DB A1 CD B0 .r...+.*.c.[....
000040: 01 7D B4 CA 15 22 2A 9F 63 E5 CD 02 36 EB 2A 9F .}..."*.c...6.*.
000050: 63 19 22 9F 63 21 9F 63 01 01 00 CD 7D 02 C3 61 c.".c!.c....}..a
000060: 28 2A A5 63 11 01 00 B7 ED 52 E5 21 01 00 E5 01 (*.c.....R.!....
000070: 06 00 C5 CD 00 09 22 A5 63 2A A5 63 E5 2A A3 63 ......".c*.c.*.c
000080: E5 CD 2B 0C C3 61 28 2A A5 63 11 01 00 19 E5 21 ..+..a(*.c.....!
000090: 50 00 E5 01 06 00 C5 CD 74 09 22 A5 63 2A A5 63 P.......t.".c*.c
0000A0: E5 2A A3 63 E5 CD 2B 0C C3 61 28 2A A5 63 11 01 .*.c..+..a(*.c..
0000B0: 00 CD 88 01 7D B4 CA 9F 22 2A A3 63 11 01 00 CD ....}..."*.c....
0000C0: 98 01 7D B4 C2 95 22 2A A1 63 ED 5B D3 63 CD AF ..}..."*.c.[.c..
0000D0: 01 7D B4 28 03 21 01 00 7D B4 28 03 21 01 00 7D .}.(.!..}.(.!..}
0000E0: B4 CA FA 22 2A A3 63 11 01 00 CD 88 01 7D B4 CA ..."*.c......}..
0000F0: BE 22 CD CC 28 2A A1 63 22 9F 63 C3 D1 22 21 A3 ."..(*.c".c.."!.
000100: 63 01 FF FF CD 7D 02 2A 9F 63 E5 CD E6 1E 22 9F c....}.*.c....".
000110: 63 2A 9F 63 ED 5B DB A1 CD B6 01 7D B4 CA E9 22 c*.c.[.....}..."
000120: 21 01 00 22 A5 63 C3 F7 22 2A 9F 63 E5 CD 02 36 !..".c.."*.c...6
000130: 11 01 00 19 22 A5 63 C3 C3 23 2A A5 63 11 01 00 ....".c..#*.c...
000140: CD 98 01 7D B4 CA C3 23 2A 9F 63 ED 5B DB A1 CD ...}...#*.c.[...
000150: B6 01 7D B4 CA 20 23 21 01 00 22 A5 63 C3 C3 23 ..}.. #!..".c..#
000160: 2A 9F 63 E5 CD 02 36 11 01 00 19 EB 2A A5 63 CD *.c...6.....*.c.
000170: AF 01 7D B4 CA 48 23 2A 9F 63 E5 CD 02 36 11 01 ..}..H#*.c...6..
000180: 00 19 22 A5 63 C3 C3 23 21 A5 63 01 FF FF CD 72 ..".c..#!.c....r
000190: 02 11 01 00 B7 ED 52 EB 2A 9F 63 19 6E 26 00 11 ......R.*.c.n&..
0001A0: 20 00 CD 88 01 7D B4 CA 7A 23 2A A5 63 11 01 00 ....}..z#*.c...
0001B0: CD 98 01 7D B4 28 03 21 01 00 7D B4 CA 81 23 18 ...}.(.!..}...#.
0001C0: C7 21 A5 63 01 FF FF CD 72 02 11 01 00 B7 ED 52 .!.c....r......R
0001D0: EB 2A 9F 63 19 6E 26 00 11 20 00 CD 91 01 7D B4 .*.c.n&.. ....}.
0001E0: CA B3 23 2A A5 63 11 00 00 CD 98 01 7D B4 28 03 ..#*.c......}.(.
0001F0: 21 01 00 7D B4 CA BA 23 18 C7 21 A5 63 01 01 00 !..}...#..!.c...
Size : 512 (Real : 512)
000000: 2A A3 63 E5 CD 2B 0C 11 00 00 C3 C4 00 21 FE FF *.c..+.......!..
000010: CD 8F 00 21 02 00 E5 CD 70 33 2A 9F 63 E5 2A A5 ...!....p3*.c.*.
000020: 63 11 01 00 B7 ED 52 E5 CD 59 1E 7D B4 CA B3 2C c.....R..Y.}...,
000030: 2A D9 A1 E5 2A 9F 63 E5 2A A5 63 11 01 00 B7 ED *...*.c.*.c.....
000040: 52 E5 CD A5 1E E5 CD 45 15 DD 75 FE DD 74 FF DD R......E..u..t..
000050: 6E FE DD 66 FF 11 0A 00 CD 0B 01 EB 2A 48 A1 19 n..f........*H..
000060: 11 04 00 19 CD 4B 02 E5 2A D9 A1 E5 CD 4B 0D 11 .....K..*....K..
000070: 00 00 CD 91 01 7D B4 C2 6D 2C DD 6E FE DD 66 FF .....}..m,.n..f.
000080: 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 00 00 19 E5 .......*H.......
000090: 2A 9F 63 E5 2A A5 63 11 01 00 B7 ED 52 E5 CD A5 *.c.*.c.....R...
0000A0: 1E EB E1 CD 4B 02 CD AF 01 7D B4 28 03 21 01 00 ....K....}.(.!..
0000B0: 7D B4 CA 88 2C DD 6E FE DD 66 FF 11 00 00 CD 98 }...,.n..f......
0000C0: 01 7D B4 28 03 21 01 00 7D B4 C2 9E 2C DD 6E FE .}.(.!..}...,.n.
0000D0: DD 66 FF ED 5B D5 A1 CD 88 01 7D B4 28 03 21 01 .f..[.....}.(.!.
0000E0: 00 7D B4 CA B3 2C 21 FE FF DD E5 C1 09 01 FF FF .}...,!.........
0000F0: CD 7D 02 2A 9F 63 E5 2A A5 63 11 01 00 B7 ED 52 .}.*.c.*.c.....R
000100: E5 CD 59 1E CD 03 01 7D B4 C2 F6 2C 2A D9 A1 E5 ..Y....}...,*...
000110: 2A 9F 63 E5 2A A5 63 11 01 00 B7 ED 52 E5 CD A5 *.c.*.c.....R...
000120: 1E E5 DD 6E FE DD 66 FF E5 CD 3E 16 11 00 00 CD ...n..f...>.....
000130: 88 01 7D B4 28 03 21 01 00 7D B4 CA 17 2D C3 05 ..}.(.!..}...-..
000140: 2D 0C 25 73 00 21 01 2D E5 2A 66 A1 E5 01 06 00 -.%s.!.-.*f.....
000150: C5 CD 16 03 C3 21 2D DD 6E FE DD 66 FF E5 CD 39 .....!-.n..f...9
000160: 2D 21 01 00 E5 CD 70 33 2A A5 63 E5 2A A3 63 E5 -!....p3*.c.*.c.
000170: CD 2B 0C 11 00 00 C3 C4 00 21 00 00 CD 8F 00 DD .+.......!......
000180: 6E 04 DD 66 05 11 0A 00 CD 0B 01 EB 2A 48 A1 19 n..f........*H..
000190: 11 06 00 19 CD 4B 02 E5 CD D8 31 7D B4 CA 0A 2E .....K....1}....
0001A0: DD 6E 04 DD 66 05 11 0A 00 CD 0B 01 EB 2A 48 A1 .n..f........*H.
0001B0: 19 11 08 00 19 5E 23 56 2A D3 63 19 E5 CD B1 19 .....^#V*.c.....
0001C0: 22 A1 63 2A A1 63 22 9F 63 21 01 00 22 A3 63 2A ".c*.c".c!..".c*
0001D0: 9F 63 E5 CD 02 36 EB 2A 9F 63 19 E5 DD 6E 04 DD .c...6.*.c...n..
0001E0: 66 05 11 0A 00 CD 0B 01 EB 2A 48 A1 19 11 08 00 f........*H.....
0001F0: 19 5E 23 56 2A D3 63 19 EB E1 CD B7 01 7D B4 CA .^#V*.c......}..
Size : 512 (Real : 512)
000000: CD 7D 02 2A A5 63 E5 2A A3 63 E5 CD 2B 0C C3 61 .}.*.c.*.c..+..a
000010: 28 2A 9F 63 ED 5B DB A1 CD B6 01 7D B4 CA EC 23 (*.c.[.....}...#
000020: 21 00 00 DD 75 FB DD 74 FC C3 F9 23 2A 9F 63 E5 !...u..t...#*.c.
000030: CD 02 36 DD 75 FB DD 74 FC DD 6E FB DD 66 FC 11 ..6.u..t..n..f..
000040: 01 00 19 EB 2A A5 63 CD A7 01 7D B4 CA 42 24 2A ....*.c...}..B$*
000050: A3 63 11 16 00 CD 99 01 7D B4 C2 38 24 2A 9F 63 .c......}..8$*.c
000060: E5 CD 02 36 EB 2A 9F 63 19 11 01 00 19 ED 5B DB ...6.*.c......[.
000070: A1 CD B0 01 7D B4 28 03 21 01 00 7D B4 28 03 21 ....}.(.!..}.(.!
000080: 01 00 7D B4 CA A7 24 2A A3 63 11 16 00 CD 88 01 ..}...$*.c......
000090: 7D B4 CA 6E 24 2A 9F 63 E5 CD 02 36 11 01 00 19 }..n$*.c...6....
0000A0: EB 2A 9F 63 19 22 9F 63 CD 19 29 C3 9E 24 21 A3 .*.c.".c..)..$!.
0000B0: 63 01 01 00 CD 7D 02 2A 9F 63 ED 5B DB A1 CD B0 c....}.*.c.[....
0000C0: 01 7D B4 CA 95 24 2A 9F 63 E5 CD 02 36 EB 2A 9F .}...$*.c...6.*.
0000D0: 63 19 22 9F 63 21 9F 63 01 01 00 CD 7D 02 21 01 c.".c!.c....}.!.
0000E0: 00 22 A5 63 C3 3B 25 DD 6E FB DD 66 FC 11 01 00 .".c.;%.n..f....
0000F0: 19 EB 2A A5 63 CD 99 01 7D B4 CA 3B 25 DD 6E FB ..*.c...}..;%.n.
000100: DD 66 FC EB 2A A5 63 CD 99 01 7D B4 CA F3 24 21 .f..*.c...}...$!
000110: A5 63 01 01 00 CD 72 02 11 01 00 B7 ED 52 EB 2A .c....r......R.*
000120: 9F 63 19 6E 26 00 11 20 00 CD 91 01 7D B4 28 03 .c.n&.. ....}.(.
000130: 21 01 00 7D B4 CA FA 24 18 C3 21 A5 63 01 01 00 !..}...$..!.c...
000140: CD 72 02 11 01 00 B7 ED 52 EB 2A 9F 63 19 6E 26 .r......R.*.c.n&
000150: 00 11 20 00 CD 88 01 7D B4 CA 34 25 DD 6E FB DD .. ....}..4%.n..
000160: 66 FC 11 01 00 19 EB 2A A5 63 CD 99 01 7D B4 28 f......*.c...}.(
000170: 03 21 01 00 7D B4 CA 3B 25 18 BF 2A A5 63 E5 2A .!..}..;%..*.c.*
000180: A3 63 E5 CD 2B 0C C3 61 28 2A A1 63 ED 5B D3 63 .c..+..a(*.c.[.c
000190: CD 88 01 7D B4 CA 67 25 2A A1 63 22 9F 63 21 01 ...}..g%*.c".c!.
0001A0: 00 22 A3 63 C3 E8 25 21 01 00 DD 75 FB DD 74 FC .".c..%!...u..t.
0001B0: DD 6E FB DD 66 FC 11 16 00 CD 99 01 7D B4 CA 9F .n..f.......}...
0001C0: 25 C3 93 25 21 FB FF DD E5 C1 09 01 01 00 CD 7D %..%!..........}
0001D0: 02 18 DD 2A A1 63 E5 CD E6 1E 22 A1 63 18 E5 2A ...*.c....".c..*
0001E0: A1 63 E5 CD B1 19 22 A1 63 2A A1 63 22 9F 63 21 .c....".c*.c".c!
0001F0: 01 00 DD 75 FB DD 74 FC DD 6E FB DD 66 FC ED 5B ...u..t..n..f..[
Size : 512 (Real : 512)
000000: E0 2D 2A 9F 63 E5 CD 02 36 11 01 00 19 EB 2A 9F .-*.c...6.....*.
000010: 63 19 22 9F 63 21 A3 63 01 01 00 CD 7D 02 18 AF c.".c!.c....}...
000020: DD 6E 04 DD 66 05 11 0A 00 CD 0B 01 EB 2A 48 A1 .n..f........*H.
000030: 19 11 08 00 19 5E 23 56 2A D3 63 19 11 01 00 19 .....^#V*.c.....
000040: ED 5B 9F 63 B7 ED 52 22 A5 63 11 02 00 C3 C4 00 .[.c..R".c......
000050: 21 F1 FF CD 8F 00 21 03 00 E5 CD 70 33 21 0D 00 !.....!....p3!..
000060: E5 CD 0B 0A DD 75 F8 DD 74 F9 11 00 00 CD 88 01 .....u..t.......
000070: 7D B4 C2 4C 2E 21 0D 00 E5 CD 0B 0A DD 75 FA DD }..L.!.......u..
000080: 74 FB 11 00 00 CD 88 01 7D B4 28 03 21 01 00 7D t.......}.(.!..}
000090: B4 CA 73 2E C3 5A 2E 25 73 00 21 57 2E E5 2A 6A ..s..Z.%s.!W..*j
0000A0: A1 E5 01 06 00 C5 CD 16 03 21 01 00 E5 CD 37 38 .........!....78
0000B0: C3 99 2E 21 C2 63 E5 C3 7C 2E 72 00 21 7A 2E E5 ...!.c..|.r.!z..
0000C0: CD 46 00 DD 75 FE DD 74 FF 11 00 00 CD 88 01 7D .F..u..t.......}
0000D0: B4 CA 99 2E CD 64 31 18 DA 21 02 00 E5 CD 70 33 .....d1..!....p3
0000E0: C3 A9 2E 25 73 20 25 73 00 21 A3 2E E5 2A 6C A1 ...%s %s.!...*l.
0000F0: E5 21 C2 63 E5 01 08 00 C5 CD 16 03 21 03 00 E5 .!.c........!...
000100: CD 70 33 DD 6E FE DD 66 FF E5 CD 49 00 E5 CD 0B .p3.n..f...I....
000110: 02 DD 75 F3 26 00 11 FF 00 CD 91 01 7D B4 CA 68 ..u.&.......}..h
000120: 30 DD 6E F3 26 00 CD 89 02 59 30 DD 6E FE DD 66 0.n.&....Y0.n..f
000130: FF E5 C3 FE 2E 20 25 31 32 73 20 0D 20 00 21 F5 ..... %12s . .!.
000140: 2E E5 21 A7 63 E5 01 08 00 C5 CD 9E 04 11 01 00 ..!.c...........
000150: CD 91 01 7D B4 CA 39 2F C3 23 2F 25 73 20 25 73 ...}..9/.#/%s %s
000160: 0A 0D 00 21 1B 2F E5 2A 6E A1 E5 2A 70 A1 E5 01 ...!./.*n..*p...
000170: 08 00 C5 CD 16 03 C3 94 2F 21 00 00 DD 75 F1 DD ......../!...u..
000180: 74 F2 DD 6E F1 DD 66 F2 11 0C 00 CD 99 01 7D B4 t..n..f.......}.
000190: CA 94 2F C3 65 2F 21 F1 FF DD E5 C1 09 01 01 00 ../.e/!.........
0001A0: CD 7D 02 18 DD DD 6E F1 DD 66 F2 EB 21 A7 63 19 .}....n..f..!.c.
0001B0: 6E 26 00 11 0D 00 CD 88 01 7D B4 CA 92 2F DD 6E n&.......}.../.n
0001C0: F1 DD 66 F2 EB 21 A7 63 19 E5 21 00 00 D1 7D 12 ..f..!.c..!...}.
0001D0: 26 00 18 C2 C3 65 30 DD 6E FE DD 66 FF E5 C3 B8 &....e0.n..f....
0001E0: 2F 20 25 31 32 73 20 25 64 20 25 64 20 25 31 32 / %12s %d %d %12
0001F0: 73 20 25 64 20 0D 20 00 21 A1 2F E5 DD 6E F8 DD s %d . .!./..n..
Size : 512 (Real : 512)
000000: A3 63 CD 99 01 7D B4 CA E8 25 C3 DC 25 21 FB FF .c...}...%..%!..
000010: DD E5 C1 09 01 01 00 CD 7D 02 18 DC 2A 9F 63 E5 ........}...*.c.
000020: CD 6D 1F 22 9F 63 18 E5 2A A5 63 E5 2A A3 63 E5 .m.".c..*.c.*.c.
000030: CD 2B 0C C3 61 28 CD 71 28 ED 5B DB A1 CD B6 01 .+..a(.q(.[.....
000040: 7D B4 CA 18 26 21 16 00 22 A3 63 CD 71 28 E5 CD }...&!..".c.q(..
000050: E6 1E 22 9F 63 C3 99 26 21 01 00 DD 75 FB DD 74 ..".c..&!...u..t
000060: FC DD 6E FB DD 66 FC 11 16 00 CD 99 01 7D B4 CA ..n..f.......}..
000070: 50 26 C3 44 26 21 FB FF DD E5 C1 09 01 01 00 CD P&.D&!..........
000080: 7D 02 18 DD 2A A1 63 E5 CD 6D 1F 22 A1 63 18 E5 }...*.c..m.".c..
000090: 2A A1 63 E5 CD B1 19 22 A1 63 2A A1 63 22 9F 63 *.c....".c*.c".c
0000A0: 21 01 00 DD 75 FB DD 74 FC DD 6E FB DD 66 FC ED !...u..t..n..f..
0000B0: 5B A3 63 CD 99 01 7D B4 CA 99 26 C3 8D 26 21 FB [.c...}...&..&!.
0000C0: FF DD E5 C1 09 01 01 00 CD 7D 02 18 DC 2A 9F 63 .........}...*.c
0000D0: E5 CD 6D 1F 22 9F 63 18 E5 2A A5 63 E5 2A A3 63 ..m.".c..*.c.*.c
0000E0: E5 CD 2B 0C C3 61 28 21 01 00 22 A5 63 21 01 00 ..+..a(!..".c!..
0000F0: 22 A3 63 2A A1 63 ED 5B D3 63 CD 91 01 7D B4 CA ".c*.c.[.c...}..
000100: CC 26 2A D3 63 E5 CD B1 19 22 A1 63 2A A1 63 22 .&*.c....".c*.c"
000110: 9F 63 2A A5 63 E5 2A A3 63 E5 CD 2B 0C C3 61 28 .c*.c.*.c..+..a(
000120: 21 01 00 22 A5 63 CD 71 28 ED 5B DB A1 CD B0 01 !..".c.q(.[.....
000130: 7D B4 CA 05 27 2A DB A1 11 01 00 B7 ED 52 E5 CD }...'*.......R..
000140: B1 19 22 A1 63 CD 71 28 E5 CD E6 1E 22 9F 63 21 ..".c.q(....".c!
000150: 16 00 22 A3 63 2A A5 63 E5 2A A3 63 E5 CD 2B 0C ..".c*.c.*.c..+.
000160: C3 61 28 21 01 00 22 A5 63 2A A5 63 E5 2A A3 63 .a(!..".c*.c.*.c
000170: E5 CD 2B 0C C3 61 28 2A 9F 63 ED 5B DB A1 CD B6 ..+..a(*.c.[....
000180: 01 7D B4 CA 4F 27 21 01 00 22 A5 63 C3 5D 27 2A .}..O'!..".c.]'*
000190: 9F 63 E5 CD 02 36 11 01 00 19 22 A5 63 2A A5 63 .c...6....".c*.c
0001A0: E5 2A A3 63 E5 CD 2B 0C C3 61 28 2A A1 63 ED 5B .*.c..+..a(*.c.[
0001B0: D3 63 CD AF 01 7D B4 CA AC 27 CD CC 28 2A A3 63 .c...}...'..(*.c
0001C0: 11 16 00 CD 88 01 7D B4 CA 98 27 2A 9F 63 E5 CD ......}...'*.c..
0001D0: E6 1E 22 9F 63 C3 A1 27 21 A3 63 01 01 00 CD 7D ..".c..'!.c....}
0001E0: 02 2A A5 63 E5 2A A3 63 E5 CD 2B 0C C3 61 28 CD .*.c.*.c..+..a(.
0001F0: 71 28 ED 5B DB A1 CD B0 01 7D B4 CA F9 27 CD 19 q(.[.....}...'..
Size : 512 (Real : 512)
000000: 66 F9 E5 21 F4 FF DD E5 C1 09 E5 21 F6 FF DD E5 f..!.......!....
000010: C1 09 E5 DD 6E FA DD 66 FB E5 21 FC FF DD E5 C1 ....n..f..!.....
000020: 09 E5 01 10 00 C5 CD 9E 04 11 05 00 CD 91 01 7D ...............}
000030: B4 CA 15 30 C3 FF 2F 25 73 20 25 73 0A 0D 00 21 ...0../%s %s...!
000040: F7 2F E5 2A 6E A1 E5 2A 72 A1 E5 01 08 00 C5 CD ./.*n..*r.......
000050: 16 03 C3 32 30 DD 6E F8 DD 66 F9 E5 DD 6E F4 DD ...20.n..f...n..
000060: 66 F5 E5 CD 45 15 E5 21 F4 FF DD E5 C1 09 E5 CD f...E..!........
000070: 2A 12 C3 65 30 C3 40 30 25 73 20 25 73 0A 0D 00 *..e0.@0%s %s...
000080: 21 38 30 E5 2A 6E A1 E5 2A 74 A1 E5 01 08 00 C5 !80.*n..*t......
000090: CD 16 03 C3 65 30 C3 65 30 EB 2E 46 00 97 2F 42 ....e0.e0..F../B
0000A0: 00 00 00 18 D0 C3 C3 2E DD 6E FE DD 66 FF E5 CD .........n..f...
0000B0: 4F 00 DD 6E F8 DD 66 F9 E5 CD 92 36 DD 6E FA DD O..n..f....6.n..
0000C0: 66 FB E5 CD 92 36 2A A7 63 26 00 7D B4 CA BF 30 f....6*.c&.}...0
0000D0: 21 A7 63 E5 CD CF 30 7D B4 CA B8 30 C3 A2 30 25 !.c...0}...0..0%
0000E0: 73 00 21 9F 30 E5 2A 76 A1 E5 01 06 00 C5 CD 16 s.!.0.*v........
0000F0: 03 21 01 00 E5 CD 37 38 2A CF 63 E5 CD 99 10 21 .!....78*.c....!
000100: 02 00 E5 CD 70 33 CD 52 0C 11 00 00 C3 C4 00 21 ....p3.R.......!
000110: FE FF CD 8F 00 DD 6E 04 DD 66 05 E5 CD 4F 17 DD ......n..f...O..
000120: 75 FE DD 74 FF DD 6E FE DD 66 FF CD 89 02 56 31 u..t..n..f....V1
000130: C3 F8 30 25 73 20 20 00 21 F3 30 E5 2A 78 A1 E5 ..0%s .!.0.*x..
000140: 01 06 00 C5 CD 16 03 21 01 00 11 02 00 C3 C4 00 .......!........
000150: C3 1A 31 0A 0D 25 73 20 20 00 21 13 31 E5 2A 7A ..1..%s .!.1.*z
000160: A1 E5 01 06 00 C5 CD 16 03 21 02 00 18 DC 2A CF .........!....*.
000170: 63 E5 2A D9 A1 E5 2A A5 63 E5 2A A3 63 E5 2A A1 c.*...*.c.*.c.*.
000180: 63 E5 CD 6A 0F DD 6E 04 DD 66 05 22 D9 A1 21 00 c..j..n..f."..!.
000190: 00 18 B7 C3 62 31 F0 30 FF FF 10 31 FE FF 00 00 ....b1.0...1....
0001A0: 18 CC 18 A6 21 FF FF CD 8F 00 C3 7A 31 0A 0D 25 ....!......z1..%
0001B0: 73 20 25 73 0A 0D 0A 25 73 00 21 6D 31 E5 2A 7C s %s...%s.!m1.*|
0001C0: A1 E5 21 C2 63 E5 2A 7E A1 E5 01 0A 00 C5 CD 16 ..!.c.*~........
0001D0: 03 C3 97 31 52 51 00 21 94 31 E5 CD 55 00 E5 CD ...1RQ.!.1..U...
0001E0: 0B 02 DD 75 FF 26 00 E5 CD 3C 36 11 00 00 CD 88 ...u.&...<6.....
0001F0: 01 7D B4 CA B8 31 18 D9 DD 6E FF 26 00 11 51 00 .}...1...n.&..Q.
Size : 512 (Real : 512)
000000: 00 00 CD 8F 00 DD 6E 06 DD 66 07 22 9D 63 21 9D ......n..f.".c!.
000010: 63 01 01 00 CD 7D 02 E5 21 04 00 DD E5 C1 09 01 c....}..!.......
000020: 01 00 CD 7D 02 6E 26 00 D1 7D 12 26 00 7D B4 CA ...}.n&..}.&.}..
000030: F4 35 18 DA DD 6E 06 DD 66 07 11 04 00 C3 C4 00 .5...n..f.......
000040: 18 F8 21 00 00 CD 8F 00 DD 6E 04 DD 66 05 22 9B ..!......n..f.".
000050: 63 21 9B 63 01 01 00 CD 7D 02 6E 26 00 7D B4 20 c!.c....}.n&.}.
000060: F0 DD 6E 04 DD 66 05 EB 2A 9B 63 B7 ED 52 11 01 ..n..f..*.c..R..
000070: 00 B7 ED 52 11 02 00 C3 C4 00 18 F8 21 00 00 CD ...R........!...
000080: 8F 00 DD 6E 06 DD 66 07 6E 26 00 EB DD 6E 04 26 ...n..f.n&...n.&
000090: 00 EB CD 88 01 7D B4 CA 66 36 DD 6E 06 DD 66 07 .....}..f6.n..f.
0000A0: 11 04 00 C3 C4 00 DD 6E 06 DD 66 07 6E 26 00 CD .......n..f.n&..
0000B0: 03 01 7D B4 CA 7C 36 21 00 00 18 E4 21 06 00 DD ..}..|6!....!...
0000C0: E5 C1 09 01 01 00 CD 72 02 21 01 00 7D B4 20 B2 .......r.!..}. .
0000D0: 18 CE 21 00 00 CD 8F 00 DD 6E 04 DD 66 05 11 04 ..!......n..f...
0000E0: 00 B7 ED 52 22 99 63 2A 99 63 11 02 00 19 5E 23 ...R".c*.c....^#
0000F0: 56 2A 46 A1 19 22 46 A1 2A F0 A1 22 97 63 2A 99 V*F.."F.*..".c*.
000100: 63 ED 5B 97 63 CD AF 01 7D B4 CA E4 36 2A 97 63 c.[.c...}...6*.c
000110: 11 00 00 19 5E 23 56 2A 99 63 CD B0 01 7D B4 28 ....^#V*.c...}.(
000120: 03 21 01 00 CD 03 01 7D B4 CA 4A 37 C3 FE 36 2A .!.....}..J7..6*
000130: 97 63 11 00 00 19 CD 4B 02 22 97 63 18 C0 2A 97 .c.....K.".c..*.
000140: 63 11 00 00 19 5E 23 56 2A 97 63 CD B6 01 7D B4 c....^#V*.c...}.
000150: CA 40 37 2A 99 63 ED 5B 97 63 CD AF 01 7D B4 C2 .@7*.c.[.c...}..
000160: 36 37 2A 97 63 11 00 00 19 5E 23 56 2A 99 63 CD 67*.c....^#V*.c.
000170: B0 01 7D B4 28 03 21 01 00 7D B4 28 03 21 01 00 ..}.(.!..}.(.!..
000180: 7D B4 CA 48 37 C3 4A 37 18 A5 2A 99 63 11 02 00 }..H7.J7..*.c...
000190: 19 CD 4B 02 11 04 00 CD 0B 01 EB 2A 99 63 19 E5 ..K........*.c..
0001A0: 2A 97 63 11 00 00 19 5E 23 56 E1 CD 88 01 7D B4 *.c....^#V....}.
0001B0: CA B4 37 2A 99 63 11 02 00 19 E5 E5 2A 97 63 11 ..7*.c......*.c.
0001C0: 00 00 19 CD 4B 02 11 02 00 19 5E 23 56 E1 CD 4B ....K.....^#V..K
0001D0: 02 19 CD 6A 02 2A 99 63 11 00 00 19 E5 2A 97 63 ...j.*.c.....*.c
0001E0: 11 00 00 19 CD 4B 02 11 00 00 19 CD 4B 02 CD 6A .....K......K..j
0001F0: 02 C3 C9 37 2A 99 63 11 00 00 19 E5 2A 97 63 11 ...7*.c.....*.c.
Size : 512 (Real : 512)
000000: 55 6E 61 62 6C 65 20 74 6F 20 69 6E 69 74 69 61 Unable to initia
000010: 6C 69 73 65 20 73 74 61 63 6B 2E 0D 0A 4E 6F 20 lise stack...No
000020: 6D 6F 72 65 20 73 70 61 63 65 20 6F 6E 20 73 74 more space on st
000030: 61 63 6B 2E 0D 0A 4E 6F 20 6D 6F 72 65 20 72 6F ack...No more ro
000040: 6F 6D 20 66 6F 72 20 73 74 72 69 6E 67 20 6F 6E om for string on
000050: 20 73 74 61 63 6B 2E 0D 0A 55 6E 61 62 6C 65 20 stack...Unable
000060: 74 6F 20 69 6E 69 74 69 61 6C 69 73 65 20 6C 69 to initialise li
000070: 73 74 2E 0D 0A 55 6E 61 62 6C 65 20 74 6F 20 61 st...Unable to a
000080: 64 64 20 74 6F 20 6C 69 73 74 2E 0D 0A 4E 6F 20 dd to list...No
000090: 72 6F 6F 6D 20 66 6F 72 20 73 74 72 69 6E 67 20 room for string
0000A0: 69 6E 20 6C 69 73 74 2E 0D 0A 55 6E 61 62 6C 65 in list...Unable
0000B0: 20 74 6F 20 69 6E 69 74 69 61 6C 69 73 65 20 74 to initialise t
0000C0: 65 78 74 20 62 75 66 66 65 72 2E 0D 0A 50 72 65 ext buffer...Pre
0000D0: 73 73 20 61 6E 79 20 6B 65 79 20 74 6F 20 71 75 ss any key to qu
0000E0: 69 74 2E 0D 0A 50 72 69 6E 74 65 72 20 6E 6F 74 it...Printer not
0000F0: 20 72 65 61 64 79 2E 0D 0A 46 72 65 65 3A 0D 0A ready...Free:..
000100: 20 20 45 4E 54 45 52 20 2D 20 66 6F 6C 6C 6F 77 ENTER - follow
000110: 20 6C 69 6E 6B 2C 20 42 20 2D 20 67 6F 20 62 61 link, B - go ba
000120: 63 6B 2C 20 50 20 2D 20 70 72 69 6E 74 2C 20 48 ck, P - print, H
000130: 20 2D 20 68 65 6C 70 2C 20 51 20 2D 20 71 75 69 - help, Q - qui
000140: 74 20 20 0D 0A 59 6F 75 20 63 61 6E 6E 6F 74 20 t ..You cannot
000150: 67 6F 20 66 75 72 74 68 65 72 20 62 61 63 6B 2E go further back.
000160: 0D 0A 59 6F 75 20 61 72 65 20 6F 75 74 73 69 64 ..You are outsid
000170: 65 20 74 68 65 20 74 65 78 74 20 61 72 65 61 2E e the text area.
000180: 0D 0A 50 6F 73 69 74 69 6F 6E 3A 0D 0A 54 68 65 ..Position:..The
000190: 72 65 20 69 73 20 6E 6F 20 6C 69 6E 6B 20 74 68 re is no link th
0001A0: 65 72 65 2E 0D 0A 6C 69 6E 6B 73 20 68 65 72 65 ere...links here
0001B0: 2E 0D 0A 4F 75 74 20 6F 66 20 6D 65 6D 6F 72 79 ...Out of memory
0001C0: 20 77 68 65 6E 20 6C 6F 61 64 69 6E 67 20 6C 69 when loading li
0001D0: 6E 6B 62 61 73 65 2E 0D 0A 4C 6F 61 64 69 6E 67 nkbase...Loading
0001E0: 0D 0A 45 72 72 6F 72 20 69 6E 20 6C 69 6E 6B 62 ..Error in linkb
0001F0: 61 73 65 3A 0D 0A 46 20 63 6F 6D 6D 61 6E 64 20 ase:..F command
Size : 512 (Real : 512)
000000: 00 00 19 CD 4B 02 CD 6A 02 2A 97 63 11 02 00 19 ....K..j.*.c....
000010: CD 4B 02 11 04 00 CD 0B 01 EB 2A 97 63 19 ED 5B .K........*.c..[
000020: 99 63 CD 88 01 7D B4 CA 1D 38 2A 97 63 11 02 00 .c...}...8*.c...
000030: 19 E5 E5 2A 99 63 11 02 00 19 5E 23 56 E1 CD 4B ...*.c....^#V..K
000040: 02 19 CD 6A 02 2A 97 63 11 00 00 19 E5 2A 99 63 ...j.*.c.....*.c
000050: 11 00 00 19 CD 4B 02 CD 6A 02 C3 2B 38 2A 97 63 .....K..j..+8*.c
000060: 11 00 00 19 E5 2A 99 63 CD 6A 02 2A 97 63 22 F0 .....*.c.j.*.c".
000070: A1 11 02 00 C3 C4 00 21 00 00 CD 8F 00 21 09 00 .......!.....!..
000080: E5 CD 4F 00 21 0A 00 E5 CD 4F 00 DD 6E 04 DD 66 ..O.!....O..n..f
000090: 05 E5 CD 18 0D 11 02 00 C3 C4 00 0A 45 52 52 4F ............ERRO
0000A0: 52 20 45 58 49 54 20 25 64 00 0A 45 58 49 54 20 R EXIT %d..EXIT
0000B0: 4F 4B 00 0A 50 6C 65 61 73 65 20 70 72 65 73 73 OK..Please press
0000C0: 20 61 6E 79 20 6B 65 79 00 26 00 03 44 CB 15 03 any key.&..D...
0000D0: 44 CD 00 03 44 06 00 03 44 28 00 03 44 30 00 03 D...D...D(..D0..
0000E0: 44 04 00 03 44 DD E5 03 44 DD E1 03 44 FD E5 03 D...D...D...D...
0000F0: 44 FD E1 03 44 CD 00 03 44 F3 00 03 44 FB 00 03 D...D...D...D...
000100: 44 FF 00 03 44 4F 00 03 44 16 00 03 22 E8 09 03 D...DO..D..."...
000110: 22 F5 09 03 22 FE 09 03 44 1D 00 03 44 46 00 03 "..."...D...DF..
000120: 44 0D 00 03 4C 64 02 03 44 67 3D 00 00 11 FF 69 D...Ld..Dg=....i
000130: 6E 74 20 20 20 20 20 00 00 12 FF 6C 6F 6E 67 20 nt ....long
000140: 20 20 20 00 00 13 FF 72 65 67 69 73 74 65 72 00 ....register.
000150: 00 14 FF 72 65 74 75 72 6E 20 20 00 00 15 FF 73 ...return ....s
000160: 68 6F 72 74 20 20 20 00 00 16 FF 73 69 7A 65 6F hort ....sizeo
000170: 03 00 A3 63 01 00 01 01 00 D2 63 BF 02 00 46 A1 ...c......c...F.
000180: 59 0F 00 00 FB A1 0E 07 C3 CE BC 1A 24 FF 00 FF Y...........$...
000190: 26 B1 0A 12 FD A7 86 22 37 67 CC 80 99 76 6A 33 &......"7g...vj3
0001A0: 97 82 02 F3 2C 0F 96 E7 F3 94 3E A8 60 99 0F 2A ....,.....>.`..*
0001B0: 86 FA 63 80 EA A4 11 53 F3 0D 36 84 C2 AE DD 4D ..c....S..6....M
0001C0: B3 28 F4 6A 2C A1 F8 55 A5 FE 87 FA DB A6 21 AB .(.j,..U......!.
0001D0: 2B 20 A3 5D 76 9A DF 5E B7 D4 9C 12 B3 D0 E3 1B + .]v..^........
0001E0: 69 4F 5E 8E 57 86 95 A4 FC 8D 0E 41 32 B9 15 18 iO^.W......A2...
0001F0: 86 36 1D 38 8D C8 B4 C3 F0 D9 FB B0 34 9D 9E 37 .6.8........4..7
Size : 512 (Real : 512)
000000: 74 61 6B 65 73 20 6F 6E 65 20 70 61 72 61 6D 65 takes one parame
000010: 74 65 72 2E 0D 0A 42 20 63 6F 6D 6D 61 6E 64 20 ter...B command
000020: 74 61 6B 65 73 20 66 69 76 65 20 70 61 72 61 6D takes five param
000030: 65 74 65 72 73 2E 0D 0A 75 6E 6B 6E 6F 77 6E 20 eters...unknown
000040: 63 6F 6D 6D 61 6E 64 2E 0D 0A 46 61 69 6C 65 64 command...Failed
000050: 20 74 6F 20 6C 6F 61 64 20 66 69 72 73 74 20 66 to load first f
000060: 69 6C 65 2E 0D 0A 46 69 6C 65 20 65 72 72 6F 72 ile...File error
000070: 2E 0D 0A 4D 65 6D 6F 72 79 20 65 78 68 61 75 73 ...Memory exhaus
000080: 74 65 64 2E 0D 0A 43 6F 75 6C 64 20 6E 6F 74 20 ted...Could not
000090: 66 69 6E 64 0D 0A 28 52 29 65 74 72 79 2C 20 6F find..(R)etry, o
0000A0: 72 20 28 51 29 75 69 74 3F 0D 0A 54 72 79 20 61 r (Q)uit?..Try a
0000B0: 67 61 69 6E 3F 20 28 59 2F 4E 29 0D 0A 52 65 2D gain? (Y/N)..Re-
0000C0: 6C 6F 61 64 69 6E 67 20 6F 6C 64 20 66 69 6C 65 loading old file
0000D0: 2E 0D 0A 1A 63 6B 2E 0D 0A 55 6E 61 62 6C 65 20 ....ck...Unable
0000E0: 74 6F 20 69 6E 69 74 69 61 6C 69 73 65 20 6C 69 to initialise li
0000F0: 73 74 2E 0D 0A 55 6E 61 62 6C 65 20 74 6F 20 61 st...Unable to a
000100: 65 20 31 0D 0A 1A 20 20 20 20 24 24 24 FF 00 FF e 1... $$$...
000110: 50 41 54 43 48 20 35 0D 0A 20 20 20 42 79 20 53 PATCH 5.. By S
000120: 74 65 70 68 65 6E 20 61 6E 64 20 4D 61 74 74 68 tephen and Matth
000130: 65 77 20 50 68 69 6C 6C 69 70 73 0D 0A 0D 0A 20 ew Phillips....
000140: 20 20 57 68 61 74 20 67 61 73 74 72 6F 6E 6F 6D What gastronom
000150: 69 63 20 64 65 6C 69 67 68 74 73 20 61 77 61 69 ic delights awai
000160: 74 20 75 73 20 20 66 6F 72 20 20 74 68 65 20 20 t us for the
000170: 66 69 6E 61 6C 20 20 63 6F 75 72 73 65 3F 20 20 final course?
000180: 20 43 48 52 24 28 32 31 35 29 3B 3A 70 3D 28 78 CHR$(215);:p=(x
000190: 5C 31 36 30 29 2A 32 30 2B 31 3A 71 3D 28 34 30 \160)*20+1:q=(40
0001A0: 30 2D 79 29 5C 31 36 2B 31 3A 4C 4F 43 41 54 45 0-y)\16+1:LOCATE
0001B0: 20 70 2C 71 3A 0D 0A 20 20 20 43 41 4C 4C 20 61 p,q:.. CALL a
0001C0: 2C 40 66 24 3A 57 45 4E 44 3A 54 41 47 4F 46 46 ,@f$:WEND:TAGOFF
0001D0: 3A 49 46 20 4D 49 44 24 28 66 24 2C 39 2C 31 29 :IF MID$(f$,9,1)
0001E0: 3D 22 2E 22 20 54 48 45 4E 20 4D 45 4D 4F 52 59 ="." THEN MEMORY
0001F0: 20 48 49 4D 45 4D 2B 33 34 3A 43 41 4C 4C 20 26 HIMEM+34:CALL &
Size : 512 (Real : 512)
000000: D6 98 27 36 55 1D 91 8F 8A DF 7A 15 65 F7 3B DF ..'6U.....z.e.;.
000010: B4 27 CE A1 DE 24 3B 09 70 5B CD 83 10 33 6B 4D .'...$;.p[...3kM
000020: 67 45 40 CA A3 9D AD CE 19 90 12 A8 60 91 3D 08 gE@.........`.=.
000030: EA AC ED C3 D2 44 1B FD 90 0E C9 E8 B4 9E 99 3B .....D.........;
000040: B9 A6 B7 A7 9A B3 7A 93 0A A1 D4 A3 1F A0 BE F0 ......z.........
000050: 85 57 91 80 12 93 1E EE F7 CE 96 BC D0 D4 1C 68 .W.............h
000060: 18 7E 0F AC 5D 16 D6 69 4C 9A 8C 86 73 C0 51 76 .~..]..iL...s.Qv
000070: 85 4B 0A 73 8F E9 B4 C2 8D BF 52 4F 0C 5E 9A AC .K.s......RO.^..
000080: B3 89 C7 5A 0F 26 3D EC 82 12 31 0E 2A D0 6D 38 ...Z.&=...1.*.m8
000090: 0F 45 E8 3B 6F 3A 96 C4 59 D4 AF 92 DD 30 73 6E .E.;o:..Y....0sn
0000A0: F0 D9 E3 3D E8 6A E9 50 7D 5F 39 82 D0 EB E1 41 ...=.j.P}_9....A
0000B0: E8 97 A6 45 E0 2A 52 42 F3 1F D0 25 E6 C2 AB 6F ...E.*RB...%...o
0000C0: 93 11 8A 49 7A 53 CA 6C C2 80 23 E3 AD E9 E3 C8 ...IzS.l..#.....
0000D0: 3A 34 5C 36 F6 C4 04 4F C8 F4 BC 0B 7E 8E 1E 79 :4\6...O....~..y
0000E0: 01 20 35 37 3C A4 78 CE FE 58 30 08 71 73 13 66 . 57<.x..X0.qs.f
0000F0: 85 36 A7 BE A6 66 D6 D3 F0 0B 81 C2 7D 9F 15 FC .6...f......}...
000100: A9 06 43 89 7D 35 3F F5 56 94 78 1D 3F D4 A0 FE ..C.}5?.V.x.?...
000110: 05 AF 29 BF BC 40 62 7A C3 19 01 0B DC 4D DE FA ..)..@bz.....M..
000120: C6 B4 28 5E 03 7A 96 E4 AE 16 E6 82 D0 EB E1 41 ..(^.z.........A
000130: E8 97 1D 83 9C 65 FC 18 F1 06 04 82 AF EA 14 0E .....e..........
000140: 82 08 D4 73 C9 98 B7 44 D1 99 EE 90 62 88 51 66 ...s...D....b.Qf
000150: 41 36 9F 0C 28 C4 04 4F C8 F4 BC 0B 56 EF AC 0B A6..(..O....V...
000160: CC 4A 2E D0 D9 C5 97 54 5D 8A F3 32 98 07 70 56 .J.....T]..2..pV
000170: 85 36 73 D4 8C E9 BC C2 15 C6 D7 0F 17 97 D8 73 .6s............s
000180: 66 63 ED 37 02 33 E2 8A 9E 3A B7 14 36 C5 6F F5 fc.7.3...:..6.o.
000190: C7 80 03 1B 9A 0B DD 6E 21 5A 89 DB 94 64 4A 15 .......n!Z...dJ.
0001A0: B7 8F 08 B5 38 22 C0 C4 F8 B8 03 A2 30 E4 95 22 ....8"......0.."
0001B0: 9B EB 63 D0 B8 E1 42 20 D3 7E A7 91 8D AB DF 14 ..c...B .~......
0001C0: 93 22 D7 2E 3B B2 04 63 AF 99 ED CD 89 C3 50 EF ."..;..c......P.
0001D0: E0 21 5F 6B DE EE A9 68 DF F4 BF 56 9B C5 1F 2C .!_k...h...V...,
0001E0: 31 20 2F BE 73 A6 B6 E0 21 7E F2 76 86 22 73 33 1 /.s...!~.v."s3
0001F0: 78 D3 BD 1F 71 29 B6 86 3D 0B 9B 4B C5 9D DB D2 x...q)..=..K....
Size : 512 (Real : 512)
000000: 23 57 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 #Welcome to the
000010: 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 74 Programmers' Pat
000020: 63 68 20 64 69 73 63 0D 0A 50 52 4F 47 52 41 4D ch disc..PROGRAM
000030: 4D 45 52 53 27 20 50 41 54 43 48 0D 0A 42 79 20 MERS' PATCH..By
000040: 53 74 65 70 68 65 6E 2C 20 4D 61 74 74 68 65 77 Stephen, Matthew
000050: 20 61 6E 64 20 48 69 6C 61 72 79 20 50 68 69 6C and Hilary Phil
000060: 6C 69 70 73 0D 0A 0D 0A 54 68 65 20 50 72 6F 67 lips....The Prog
000070: 72 61 6D 6D 65 72 73 27 20 50 61 74 63 68 20 64 rammers' Patch d
000080: 69 73 63 20 66 65 61 74 75 72 65 73 20 61 6C 6C isc features all
000090: 20 74 68 65 20 61 72 74 69 63 6C 65 73 20 61 6E the articles an
0000A0: 64 20 70 72 6F 67 72 61 6D 73 20 66 72 6F 6D 20 d programs from
0000B0: 74 68 65 0D 0A 61 63 63 6C 61 69 6D 65 64 20 57 the..acclaimed W
0000C0: 41 43 43 49 20 73 65 72 69 65 73 2E 20 20 54 68 ACCI series. Th
0000D0: 65 20 66 69 6C 65 73 20 6F 6E 20 74 68 69 73 20 e files on this
0000E0: 64 69 73 63 20 61 72 65 20 63 6F 70 79 72 69 67 disc are copyrig
0000F0: 68 74 20 53 74 65 70 68 65 6E 2C 20 4D 61 74 74 ht Stephen, Matt
000100: 68 65 77 0D 0A 61 6E 64 20 48 69 6C 61 72 79 20 hew..and Hilary
000110: 50 68 69 6C 6C 69 70 73 2E 20 20 50 65 72 6D 69 Phillips. Permi
000120: 73 73 69 6F 6E 20 69 73 20 67 72 61 6E 74 65 64 ssion is granted
000130: 20 74 6F 20 64 69 73 74 72 69 62 75 74 65 20 63 to distribute c
000140: 6F 70 69 65 73 20 6F 66 20 74 68 65 0D 0A 63 6F opies of the..co
000150: 6D 70 6C 65 74 65 20 64 69 73 63 2C 20 74 6F 20 mplete disc, to
000160: 70 72 69 6E 74 20 6F 75 74 20 74 68 65 20 61 72 print out the ar
000170: 74 69 63 6C 65 73 20 61 6E 64 20 6C 69 73 74 69 ticles and listi
000180: 6E 67 73 20 66 6F 72 20 70 65 72 73 6F 6E 61 6C ngs for personal
000190: 20 75 73 65 2C 20 61 6E 64 20 74 6F 0D 0A 69 6E use, and to..in
0001A0: 63 6F 72 70 6F 72 61 74 65 20 74 68 65 20 70 72 corporate the pr
0001B0: 6F 67 72 61 6D 6D 69 6E 67 20 65 78 61 6D 70 6C ogramming exampl
0001C0: 65 73 20 69 6E 20 79 6F 75 72 20 6F 77 6E 20 70 es in your own p
0001D0: 72 6F 67 72 61 6D 73 2E 20 20 41 4C 4C 20 4F 54 rograms. ALL OT
0001E0: 48 45 52 20 52 49 47 48 54 53 0D 0A 52 45 53 45 HER RIGHTS..RESE
0001F0: 52 56 45 44 2E 0D 0A 0D 0A 59 6F 75 20 63 61 6E RVED.....You can
Size : 512 (Real : 512)
000000: 50 2C EE AE 93 37 3C A8 D4 DF 79 48 25 D4 6E B1 P,...7<...yH%.n.
000010: 12 44 00 33 37 50 8C 03 86 73 CF A1 23 39 69 74 .D.37P...s..#9it
000020: CE 8F 01 B4 6D 6B 97 A8 D3 F1 00 EC 07 B5 F0 43 ....mk.........C
000030: F9 71 2A CE BE A4 11 73 D3 3F C9 E8 BF 3F D6 02 .q*....s.?...?..
000040: FD 6F F4 4A 0C 92 07 27 D3 66 9C EC C8 AA 20 DF .o.J...'.f.... .
000050: 4E 46 5C 2F 07 11 D8 49 AD 81 CE 7C 93 E5 1C 68 NF\/...I...|...h
000060: 14 DF 5F 92 18 D4 C1 84 DC BB F1 32 4D 3C 03 1E .._........2M<..
000070: FF 53 D1 58 8C 72 D6 C3 F0 0A 9F 0F E6 FE 67 96 .S.X.r........g.
000080: AB 2C ED DA 19 35 3F A4 3A 86 75 0C 3B 2F CC EF .,...5?.:.u.;/..
000090: 16 00 03 22 E8 09 03 22 F5 09 03 22 FE 09 03 44 ..."..."..."...D
0000A0: 1D 00 03 44 0D 00 03 4C 64 02 03 44 67 3D 00 00 ...D...Ld..Dg=..
0000B0: 11 FF 69 6E 74 20 20 20 20 20 00 00 12 FF 6C 6F ..int ....lo
0000C0: 6E 67 20 20 20 20 00 00 13 FF 72 65 67 69 73 74 ng ....regist
0000D0: 65 72 00 00 14 FF 72 65 74 75 72 6E 20 20 00 00 er....return ..
0000E0: 15 FF 73 68 6F 72 74 20 20 20 00 00 16 FF 73 69 ..short ....si
0000F0: 7A 65 6F 03 00 BA 63 01 00 01 07 00 D0 63 BF 00 zeo...c......c..
000100: EF 0F 20 EC 20 0D 00 00 6D 62 E8 F7 10 00 31 00 .. . ...mb....1.
000110: F5 03 95 20 0D 00 00 6D 62 EC 2C 0E 2C 0D 00 00 ... ...mb.,.,...
000120: 6D 63 6F EC 01 AF 20 F5 0D 00 00 6D 62 EC 2C F5 mco... ....mb.,.
000130: 10 F5 28 0D 00 00 6D E4 EF F5 0F 29 F6 12 00 1C ..(...m....)....
000140: 00 F6 03 9E 20 0D 00 00 64 65 6C 61 F9 EF 0E 20 .... ...dela...
000150: EC 20 0D 00 00 6D 64 E5 01 B0 00 06 00 F7 03 B0 . ...md.........
000160: 00 14 00 F8 03 BF 20 FF 03 28 19 17 29 F4 FF 03 ...... ..(..)...
000170: 28 0E 29 3B 00 06 00 F9 03 C9 00 00 00 1A 35 30 (.);..........50
000180: 4F 20 31 34 3A 52 45 41 44 20 61 24 3A 50 4F 4B O 14:READ a$:POK
000190: 45 20 61 2B 78 2C 56 41 4C 28 22 26 22 2B 61 24 E a+x,VAL("&"+a$
0001A0: 29 3A 4E 45 58 54 0D 0A 20 20 20 31 31 30 20 4D ):NEXT.. 110 M
0001B0: 4F 44 45 20 32 3A 50 52 49 4E 54 22 53 69 6C 6C ODE 2:PRINT"Sill
0001C0: 79 20 73 74 72 69 6E 67 22 0D 0A 20 20 20 31 32 y string".. 12
0001D0: 30 20 61 24 3D 22 20 22 3A 4C 4F 43 41 54 45 20 0 a$=" ":LOCATE
0001E0: 31 2C 31 3A 43 41 4C 4C 20 26 39 30 30 30 2C 40 1,1:CALL &9000,@
0001F0: 61 24 0D 0A 20 20 20 31 33 30 20 50 52 49 4E 54 a$.. 130 PRINT
Size : 512 (Real : 512)
000000: 00 00 E5 CD 8B 0C C3 31 34 21 01 00 E5 21 19 00 .......14!...!..
000010: E5 21 50 00 E5 21 19 00 E5 CD C5 0C 21 00 00 E5 .!P..!......!...
000020: CD A8 0C 21 01 00 E5 CD 8B 0C C3 31 34 21 15 00 ...!.......14!..
000030: E5 21 0B 00 E5 21 3C 00 E5 21 0D 00 E5 CD C5 0C .!...!<..!......
000040: 21 00 00 E5 CD A8 0C 21 01 00 E5 CD 8B 0C 21 32 !......!......!2
000050: 00 E5 21 03 00 E5 CD 2B 0C C3 31 34 C3 31 34 81 ..!....+..14.14.
000060: 33 00 00 A5 33 01 00 C9 33 02 00 ED 33 03 00 00 3...3...3...3...
000070: 00 11 02 00 C3 C4 00 21 FF FF CD 8F 00 DD 6E 04 .......!......n.
000080: DD 66 05 6E 26 00 11 00 00 CD 91 01 7D B4 CA EE .f.n&.......}...
000090: 34 DD 6E 04 DD 66 05 E5 CD 11 0E 11 00 00 CD 88 4.n..f..........
0000A0: 01 7D B4 CA DE 34 C3 71 34 0C 25 73 20 20 25 73 .}...4.q4.%s %s
0000B0: 00 21 69 34 E5 2A 5A A1 E5 2A 7E A1 E5 01 08 00 .!i4.*Z..*~.....
0000C0: C5 CD 16 03 C3 8A 34 52 51 00 21 87 34 E5 CD 55 ......4RQ.!.4..U
0000D0: 00 E5 CD 0B 02 DD 75 FF 26 00 E5 CD 3C 36 11 00 ......u.&...<6..
0000E0: 00 CD 88 01 7D B4 CA AB 34 18 D9 CD 52 0C DD 6E ....}...4...R..n
0000F0: FF 26 00 CD 89 02 D4 34 21 04 00 DD E5 C1 09 01 .&.....4!.......
000100: FF FF CD 7D 02 C3 DE 34 21 FF FF 11 02 00 C3 C4 ...}...4!.......
000110: 00 C3 DE 34 B8 34 52 00 C8 34 51 00 00 00 21 04 ...4.4R..4Q...!.
000120: 00 DD E5 C1 09 01 01 00 CD 7D 02 C3 3D 34 21 00 .........}..=4!.
000130: 00 18 D8 18 D6 21 AC FF CD 8F 00 21 FE 09 E5 C3 .....!.....!....
000140: 04 35 72 00 21 02 35 E5 CD 46 00 DD 75 FE DD 74 .5r.!.5..F..u..t
000150: FF 11 00 00 CD 88 01 7D B4 CA 23 35 21 00 00 E5 .......}..#5!...
000160: CD 37 38 21 00 00 DD 75 FC DD 74 FD DD 6E FC DD .78!...u..t..n..
000170: 66 FD 11 1D 00 CD 99 01 7D B4 CA AF 35 C3 4F 35 f.......}...5.O5
000180: 21 FC FF DD E5 C1 09 01 01 00 CD 7D 02 18 DD 21 !..........}...!
000190: AC FF DD E5 C1 09 E5 21 4F 00 E5 DD 6E FE DD 66 .......!O...n..f
0001A0: FF E5 CD 3C 0E DD 6E FC DD 66 FD 11 02 00 CD 0B ...<..n..f......
0001B0: 01 EB 21 4A A1 19 E5 21 AC FF DD E5 C1 09 E5 CD ..!J...!........
0001C0: 02 36 11 01 00 19 E5 CD 0B 0A CD 6A 02 DD 6E FC .6.........j..n.
0001D0: DD 66 FD 11 02 00 CD 0B 01 EB 21 4A A1 19 CD 4B .f........!J...K
0001E0: 02 E5 21 AC FF DD E5 C1 09 E5 CD BF 35 18 91 DD ..!.........5...
0001F0: 6E FE DD 66 FF E5 CD 4F 00 11 00 00 C3 C4 00 21 n..f...O.......!
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 6F 6F 6D 0D 0A 52 45 41 44 4D 45 09 2E 09 74 68 oom..README...th
000010: 69 73 20 66 69 6C 65 0D 0A 0D 0A 4F 74 68 65 72 is file....Other
000020: 20 66 69 6C 65 73 20 6F 6E 20 73 69 64 65 20 41 files on side A
000030: 20 6F 66 20 74 68 65 20 64 69 73 63 3A 0D 0A 0D of the disc:...
000040: 0A 42 53 49 44 45 09 2E 42 41 53 09 74 68 65 20 .BSIDE..BAS.the
000050: 42 53 49 44 45 20 70 72 6F 67 72 61 6D 20 66 6F BSIDE program fo
000060: 72 20 63 6F 70 79 69 6E 67 20 73 69 64 65 20 42 r copying side B
000070: 0D 0A 42 53 49 44 45 09 2E 42 49 4E 09 64 69 74 ..BSIDE..BIN.dit
000080: 74 6F 0D 0A 44 49 53 43 4D 45 4E 55 2E 42 41 53 to..DISCMENU.BAS
000090: 09 74 68 65 20 70 72 6F 67 72 61 6D 20 66 65 61 .the program fea
0000A0: 74 75 72 65 64 20 69 6E 20 61 72 74 69 63 6C 65 tured in article
0000B0: 73 20 31 2C 32 2C 34 20 61 6E 64 20 35 0D 0A 46 s 1,2,4 and 5..F
0000C0: 49 47 31 36 31 09 2E 09 73 75 62 72 6F 75 74 69 IG161...subrouti
0000D0: 6E 65 20 66 65 61 74 75 72 65 64 20 69 6E 20 61 ne featured in a
0000E0: 72 74 69 63 6C 65 20 32 0D 0A 46 49 47 31 36 31 rticle 2..FIG161
0000F0: 38 20 2E 09 61 6E 6F 74 68 65 72 20 73 75 62 72 8 ..another subr
000100: 6F 75 74 69 6E 65 20 66 65 61 74 75 72 65 64 20 outine featured
000110: 69 6E 20 61 72 74 69 63 6C 65 20 32 0D 0A 46 49 in article 2..FI
000120: 47 32 09 2E 09 61 6E 20 65 78 61 6D 70 6C 65 20 G2...an example
000130: 66 72 6F 6D 20 61 72 74 69 63 6C 65 20 33 0D 0A from article 3..
000140: 46 49 47 32 37 09 2E 09 61 6E 6F 74 68 65 72 20 FIG27...another
000150: 65 78 61 6D 70 6C 65 20 66 72 6F 6D 20 61 72 74 example from art
000160: 69 63 6C 65 20 33 0D 0A 46 49 47 32 37 31 09 2E icle 3..FIG271..
000170: 09 61 6E 20 65 78 61 6D 70 6C 65 20 66 72 6F 6D .an example from
000180: 20 61 72 74 69 63 6C 65 73 20 33 20 61 6E 64 20 articles 3 and
000190: 34 0D 0A 46 49 47 32 37 31 38 09 2E 09 61 6E 6F 4..FIG2718...ano
0001A0: 74 68 65 72 20 65 78 61 6D 70 6C 65 20 66 72 6F ther example fro
0001B0: 6D 20 61 72 74 69 63 6C 65 20 34 0D 0A 4D 45 4E m article 4..MEN
0001C0: 55 45 58 31 09 2E 42 41 53 09 74 68 65 20 6C 69 UEX1..BAS.the li
0001D0: 73 74 69 6E 67 20 66 72 6F 6D 20 61 72 74 69 63 sting from artic
0001E0: 6C 65 20 36 0D 0A 4D 45 4E 55 45 58 32 09 2E 42 le 6..MENUEX2..B
0001F0: 41 53 09 6C 69 73 74 69 6E 67 20 31 20 66 72 6F AS.listing 1 fro
Size : 512 (Real : 512)
000000: 20 72 65 61 64 20 74 68 65 20 61 72 74 69 63 6C read the articl
000010: 65 73 20 62 79 20 75 73 69 6E 67 20 74 68 65 20 es by using the
000020: 4C 6F 6F 6D 20 68 79 70 65 72 74 65 78 74 20 76 Loom hypertext v
000030: 69 65 77 65 72 2C 20 77 68 69 63 68 20 77 69 6C iewer, which wil
000040: 6C 20 61 6C 73 6F 0D 0A 70 72 69 6E 74 20 74 68 l also..print th
000050: 65 6D 20 6F 75 74 20 69 66 20 79 6F 75 20 68 61 em out if you ha
000060: 76 65 20 61 20 70 72 69 6E 74 65 72 2E 20 20 54 ve a printer. T
000070: 6F 20 64 6F 20 74 68 69 73 2C 20 6A 75 73 74 20 o do this, just
000080: 52 55 4E 22 44 49 53 43 20 61 6E 64 20 4C 6F 6F RUN"DISC and Loo
000090: 6D 20 77 69 6C 6C 0D 0A 73 74 61 72 74 20 75 70 m will..start up
0000A0: 2E 20 20 54 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 . The following
0000B0: 20 68 65 61 64 69 6E 67 73 20 74 68 65 6E 20 62 headings then b
0000C0: 65 63 6F 6D 65 20 68 79 70 65 72 6C 69 6E 6B 73 ecome hyperlinks
0000D0: 20 77 68 69 63 68 20 63 61 6E 20 62 65 20 66 6F which can be fo
0000E0: 6C 6C 6F 77 65 64 0D 0A 62 79 20 6D 6F 76 69 6E llowed..by movin
0000F0: 67 20 74 68 65 20 63 75 72 73 6F 72 20 6F 76 65 g the cursor ove
000100: 72 20 74 68 65 20 6C 69 6E 6B 20 61 6E 64 20 70 r the link and p
000110: 72 65 73 73 69 6E 67 20 45 4E 54 45 52 2E 0D 0A ressing ENTER...
000120: 0D 0A 54 68 65 20 61 72 74 69 63 6C 65 73 20 63 ..The articles c
000130: 61 6E 20 61 6C 73 6F 20 62 65 20 76 69 65 77 65 an also be viewe
000140: 64 20 77 69 74 68 20 61 20 74 65 78 74 20 65 64 d with a text ed
000150: 69 74 6F 72 20 6F 72 20 77 6F 72 64 70 72 6F 63 itor or wordproc
000160: 65 73 73 6F 72 20 73 75 63 68 20 61 73 0D 0A 50 essor such as..P
000170: 72 6F 74 65 78 74 2E 0D 0A 0D 0A 49 66 20 74 68 rotext.....If th
000180: 69 73 20 68 61 73 20 62 65 65 6E 20 73 75 70 70 is has been supp
000190: 6C 69 65 64 20 6F 6E 20 61 20 33 2E 35 22 20 64 lied on a 3.5" d
0001A0: 69 73 63 20 61 6E 64 20 79 6F 75 20 64 6F 20 6E isc and you do n
0001B0: 6F 74 20 68 61 76 65 20 61 20 73 69 64 65 20 73 ot have a side s
0001C0: 77 69 74 63 68 2C 0D 0A 52 55 4E 22 42 53 49 44 witch,..RUN"BSID
0001D0: 45 20 74 6F 20 63 6F 70 79 20 74 68 65 20 42 20 E to copy the B
0001E0: 73 69 64 65 20 6F 66 20 74 68 65 20 64 69 73 63 side of the disc
0001F0: 20 6F 6E 74 6F 20 61 20 64 69 73 63 20 69 6E 20 onto a disc in
Size : 512 (Real : 512)
000000: 6D 20 61 72 74 69 63 6C 65 20 37 0D 0A 4D 45 4E m article 7..MEN
000010: 55 45 58 33 20 2E 42 41 53 09 6C 69 73 74 69 6E UEX3 .BAS.listin
000020: 67 20 32 20 66 72 6F 6D 20 61 72 74 69 63 6C 65 g 2 from article
000030: 20 37 0D 0A 4D 45 4E 55 45 58 34 20 2E 42 41 53 7..MENUEX4 .BAS
000040: 09 6C 69 73 74 69 6E 67 20 32 20 6D 6F 64 69 66 .listing 2 modif
000050: 69 65 64 20 74 6F 20 75 73 65 20 74 68 65 20 53 ied to use the S
000060: 48 49 46 54 20 6B 65 79 0D 0A 4D 45 4E 55 53 55 HIFT key..MENUSU
000070: 42 20 2E 09 74 68 65 20 6D 65 6E 75 20 73 75 62 B ..the menu sub
000080: 72 6F 75 74 69 6E 65 20 66 65 61 74 75 72 65 64 routine featured
000090: 20 69 6E 20 61 72 74 69 63 6C 65 73 20 36 2D 38 in articles 6-8
0000A0: 0D 0A 4D 49 44 49 31 09 2E 42 41 53 09 6C 69 73 ..MIDI1..BAS.lis
0000B0: 74 69 6E 67 20 66 72 6F 6D 20 61 72 74 69 63 6C ting from articl
0000C0: 65 20 31 30 3A 20 61 20 70 72 6F 67 72 61 6D 20 e 10: a program
0000D0: 74 6F 20 70 6C 61 79 20 61 20 6D 69 64 64 6C 65 to play a middle
0000E0: 20 43 0D 0A 50 45 4C 4D 41 4E 09 2E 42 41 53 09 C..PELMAN..BAS.
0000F0: 74 68 65 20 63 61 72 64 20 67 61 6D 65 20 66 65 the card game fe
000100: 61 74 75 72 65 64 20 69 6E 20 61 72 74 69 63 6C atured in articl
000110: 65 20 39 0D 0A 53 45 4E 44 09 2E 41 53 4D 09 61 e 9..SEND..ASM.a
000120: 73 73 65 6D 62 6C 79 20 6C 69 73 74 69 6E 67 20 ssembly listing
000130: 66 6F 72 20 4D 49 44 49 20 7C 53 45 4E 44 20 52 for MIDI |SEND R
000140: 53 58 0D 0A 53 45 4E 44 09 2E 42 41 53 09 42 41 SX..SEND..BAS.BA
000150: 53 49 43 20 6C 6F 61 64 65 72 20 66 6F 72 20 4D SIC loader for M
000160: 49 44 49 20 7C 53 45 4E 44 20 52 53 58 20 28 73 IDI |SEND RSX (s
000170: 65 65 20 61 72 74 69 63 6C 65 20 31 31 29 0D 0A ee article 11)..
000180: 0D 0A 4F 74 68 65 72 20 66 69 6C 65 73 20 6F 6E ..Other files on
000190: 20 73 69 64 65 20 42 20 6F 66 20 74 68 65 20 64 side B of the d
0001A0: 69 73 63 3A 0D 0A 0D 0A 34 36 34 52 53 58 09 2E isc:....464RSX..
0001B0: 42 41 53 09 6C 69 73 74 69 6E 67 20 31 20 66 72 BAS.listing 1 fr
0001C0: 6F 6D 20 61 72 74 69 63 6C 65 20 31 35 20 77 68 om article 15 wh
0001D0: 69 63 68 20 69 6D 70 72 6F 76 65 73 20 34 36 34 ich improves 464
0001E0: 20 52 53 58 20 68 61 6E 64 6C 69 6E 67 0D 0A 36 RSX handling..6
0001F0: 34 4B 42 49 54 53 09 2E 4C 4F 47 09 4C 6F 67 6F 4KBITS..LOG.Logo
Size : 512 (Real : 512)
000000: 79 6F 75 72 20 41 20 64 72 69 76 65 2E 0D 0A 0D your A drive....
000010: 0A 54 75 72 6E 20 74 68 65 20 64 69 73 63 20 6F .Turn the disc o
000020: 76 65 72 20 62 65 66 6F 72 65 20 66 6F 6C 6C 6F ver before follo
000030: 77 69 6E 67 20 74 68 65 73 65 20 6C 69 6E 6B 73 wing these links
000040: 3A 0D 0A 0D 0A 41 72 74 69 63 6C 65 20 31 20 20 :....Article 1
000050: 2D 20 69 6E 74 72 6F 64 75 63 69 6E 67 20 61 20 - introducing a
000060: 64 69 73 63 20 6D 65 6E 75 0D 0A 41 72 74 69 63 disc menu..Artic
000070: 6C 65 20 32 20 20 20 20 2D 20 6C 69 6E 65 20 34 le 2 - line 4
000080: 30 2C 20 74 65 73 74 69 6E 67 20 6B 65 79 73 20 0, testing keys
000090: 61 6E 64 20 6D 6F 76 69 6E 67 20 74 68 65 20 63 and moving the c
0000A0: 75 72 73 6F 72 0D 0A 41 72 74 69 63 6C 65 20 33 ursor..Article 3
0000B0: 20 20 20 20 2D 20 67 65 74 74 69 6E 67 20 42 41 - getting BA
0000C0: 53 49 43 20 61 6E 64 20 6D 61 63 68 69 6E 65 20 SIC and machine
0000D0: 63 6F 64 65 20 74 6F 20 77 6F 72 6B 20 74 6F 67 code to work tog
0000E0: 65 74 68 65 72 20 28 70 61 72 74 20 31 29 0D 0A ether (part 1)..
0000F0: 41 72 74 69 63 6C 65 20 34 20 20 20 20 2D 20 70 Article 4 - p
000100: 61 72 74 20 32 2C 20 61 6E 64 20 74 68 65 20 6D art 2, and the m
000110: 61 63 68 69 6E 65 20 63 6F 64 65 20 66 72 6F 6D achine code from
000120: 20 74 68 65 20 64 69 73 63 20 6D 65 6E 75 0D 0A the disc menu..
000130: 41 72 74 69 63 6C 65 20 35 20 20 20 20 2D 20 66 Article 5 - f
000140: 69 6E 61 6C 20 61 72 74 69 63 6C 65 20 6F 6E 20 inal article on
000150: 74 68 65 20 64 69 73 63 20 6D 65 6E 75 0D 0A 41 the disc menu..A
000160: 72 74 69 63 6C 65 20 36 20 20 2D 20 61 20 67 65 rticle 6 - a ge
000170: 6E 65 72 61 6C 20 70 75 72 70 6F 73 65 20 6D 65 neral purpose me
000180: 6E 75 20 73 75 62 72 6F 75 74 69 6E 65 0D 0A 41 nu subroutine..A
000190: 72 74 69 63 6C 65 20 37 20 20 20 20 2D 20 68 6F rticle 7 - ho
0001A0: 77 20 74 6F 20 67 65 74 20 74 68 65 20 6D 6F 73 w to get the mos
0001B0: 74 20 6F 75 74 20 6F 66 20 74 68 65 20 6D 65 6E t out of the men
0001C0: 75 20 73 75 62 72 6F 75 74 69 6E 65 0D 0A 41 72 u subroutine..Ar
0001D0: 74 69 63 6C 65 20 38 20 20 20 20 2D 20 68 6F 77 ticle 8 - how
0001E0: 20 74 68 65 20 6D 65 6E 75 20 73 75 62 72 6F 75 the menu subrou
0001F0: 74 69 6E 65 20 77 6F 72 6B 73 0D 0A 41 72 74 69 tine works..Arti
Size : 512 (Real : 512)
000000: 20 64 65 66 69 6E 69 74 69 6F 6E 73 20 66 6F 72 definitions for
000010: 20 74 68 65 20 34 36 34 20 61 6E 64 20 36 36 34 the 464 and 664
000020: 20 28 73 65 65 20 61 72 74 69 63 6C 65 20 32 31 (see article 21
000030: 29 0D 0A 41 31 34 54 31 09 09 74 61 62 6C 65 20 )..A14T1..table
000040: 66 72 6F 6D 20 61 72 74 69 63 6C 65 20 31 34 20 from article 14
000050: 77 69 74 68 20 73 79 6E 74 61 78 20 6F 66 20 42 with syntax of B
000060: 41 53 49 43 20 31 2E 31 20 63 6F 6D 6D 61 6E 64 ASIC 1.1 command
000070: 73 0D 0A 41 49 31 09 2E 42 41 53 09 6C 69 73 74 s..AI1..BAS.list
000080: 69 6E 67 20 66 72 6F 6D 20 61 72 74 69 63 6C 65 ing from article
000090: 20 31 36 0D 0A 41 49 32 09 2E 42 41 53 09 6C 69 16..AI2..BAS.li
0000A0: 73 74 69 6E 67 20 66 72 6F 6D 20 61 72 74 69 63 sting from artic
0000B0: 6C 65 20 31 36 20 77 69 74 68 20 76 6F 63 61 62 le 16 with vocab
0000C0: 75 6C 61 72 79 20 73 61 76 69 6E 67 0D 0A 41 49 ulary saving..AI
0000D0: 33 09 2E 42 41 53 09 69 6D 70 72 6F 76 65 64 20 3..BAS.improved
0000E0: 76 65 72 73 69 6F 6E 20 6F 66 20 41 49 20 66 72 version of AI fr
0000F0: 6F 6D 20 61 72 74 69 63 6C 65 20 31 37 0D 0A 41 om article 17..A
000100: 49 34 09 2E 42 41 53 09 41 49 20 77 69 74 68 20 I4..BAS.AI with
000110: 61 20 62 69 6E 61 72 79 20 74 72 65 65 20 28 73 a binary tree (s
000120: 65 65 20 61 72 74 69 63 6C 65 20 31 39 29 0D 0A ee article 19)..
000130: 41 49 35 09 2E 42 41 53 09 41 49 20 77 69 74 68 AI5..BAS.AI with
000140: 20 61 20 68 61 73 68 20 74 61 62 6C 65 20 28 66 a hash table (f
000150: 72 6F 6D 20 61 72 74 69 63 6C 65 20 32 30 29 0D rom article 20).
000160: 0A 41 49 36 09 2E 4C 4F 47 09 41 49 20 69 6E 20 .AI6..LOG.AI in
000170: 4C 6F 67 6F 20 2D 20 74 68 65 20 76 65 72 73 69 Logo - the versi
000180: 6F 6E 20 70 75 62 6C 69 73 68 65 64 20 69 6E 20 on published in
000190: 57 41 43 43 49 0D 0A 41 49 37 09 2E 4C 4F 47 09 WACCI..AI7..LOG.
0001A0: 41 49 20 69 6E 20 4C 6F 67 6F 20 2D 20 61 6E 20 AI in Logo - an
0001B0: 69 6D 70 72 6F 76 65 64 20 76 65 72 73 69 6F 6E improved version
0001C0: 20 75 73 69 6E 67 20 70 72 6F 70 65 72 74 79 20 using property
0001D0: 6C 69 73 74 73 0D 0A 4C 49 53 54 45 58 09 2E 42 lists..LISTEX..B
0001E0: 41 53 09 65 78 61 6D 70 6C 65 20 6C 69 6E 6B 65 AS.example linke
0001F0: 64 20 6C 69 73 74 20 66 72 6F 6D 20 61 72 74 69 d list from arti
Size : 512 (Real : 512)
000000: 63 6C 65 20 39 20 20 2D 20 61 20 63 61 72 64 20 cle 9 - a card
000010: 67 61 6D 65 0D 0A 41 72 74 69 63 6C 65 20 31 30 game..Article 10
000020: 20 2D 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 61 - programming a
000030: 20 4D 49 44 49 20 69 6E 74 65 72 66 61 63 65 0D MIDI interface.
000040: 0A 41 72 74 69 63 6C 65 20 31 31 20 20 20 2D 20 .Article 11 -
000050: 74 68 65 20 6D 61 69 6E 20 4D 49 44 49 20 6D 65 the main MIDI me
000060: 73 73 61 67 65 73 2C 20 61 6E 64 20 61 6E 20 52 ssages, and an R
000070: 53 58 20 74 6F 20 73 65 6E 64 20 74 68 65 6D 0D SX to send them.
000080: 0A 0D 0A 4C 69 6E 6B 73 20 74 6F 20 61 72 74 69 ...Links to arti
000090: 63 6C 65 73 20 6F 6E 20 74 68 69 73 20 73 69 64 cles on this sid
0000A0: 65 20 6F 66 20 74 68 65 20 64 69 73 63 3A 20 20 e of the disc:
0000B0: 20 20 20 0D 0A 0D 0A 41 72 74 69 63 6C 65 20 31 ....Article 1
0000C0: 32 20 20 20 2D 20 6F 74 68 65 72 20 4D 49 44 49 2 - other MIDI
0000D0: 20 6D 65 73 73 61 67 65 73 2C 20 61 6E 64 20 61 messages, and a
0000E0: 20 70 72 6F 67 72 61 6D 20 74 6F 20 70 6C 61 79 program to play
0000F0: 20 61 20 74 75 6E 65 0D 0A 41 72 74 69 63 6C 65 a tune..Article
000100: 20 31 33 20 2D 20 68 6F 77 20 74 6F 20 61 64 61 13 - how to ada
000110: 70 74 20 36 31 32 38 20 70 72 6F 67 72 61 6D 73 pt 6128 programs
000120: 20 66 6F 72 20 74 68 65 20 34 36 34 2C 20 77 69 for the 464, wi
000130: 74 68 20 61 6E 20 52 53 58 20 74 6F 20 68 65 6C th an RSX to hel
000140: 70 0D 0A 41 72 74 69 63 6C 65 20 31 34 20 20 20 p..Article 14
000150: 2D 20 63 6F 6D 6D 61 6E 64 73 20 61 64 64 65 64 - commands added
000160: 20 69 6E 20 42 41 53 49 43 20 31 2E 31 2C 20 61 in BASIC 1.1, a
000170: 6E 64 20 77 68 61 74 20 74 6F 20 64 6F 20 77 69 nd what to do wi
000180: 74 68 20 6D 6F 73 74 20 6F 66 20 74 68 65 6D 0D th most of them.
000190: 0A 41 72 74 69 63 6C 65 20 31 35 20 20 20 2D 20 .Article 15 -
0001A0: 62 75 67 73 20 69 6E 20 34 36 34 20 42 41 53 49 bugs in 464 BASI
0001B0: 43 2C 20 61 6E 64 20 68 6F 77 20 74 6F 20 64 65 C, and how to de
0001C0: 61 6C 20 77 69 74 68 20 74 68 65 6D 0D 0A 41 72 al with them..Ar
0001D0: 74 69 63 6C 65 20 31 36 20 2D 20 41 49 3A 20 61 ticle 16 - AI: a
0001E0: 6E 20 22 61 72 74 69 66 69 63 69 61 6C 20 69 6E n "artificial in
0001F0: 74 65 6C 6C 69 67 65 6E 63 65 22 20 63 6F 6E 76 telligence" conv
Size : 512 (Real : 512)
000000: 63 6C 65 20 31 38 0D 0A 53 43 41 4E 34 36 34 09 cle 18..SCAN464.
000010: 2E 42 41 53 09 52 53 58 20 74 6F 20 73 63 61 6E .BAS.RSX to scan
000020: 20 66 6F 72 20 34 36 34 2D 75 6E 66 72 69 65 6E for 464-unfrien
000030: 64 6C 79 20 42 41 53 49 43 20 28 73 65 65 20 61 dly BASIC (see a
000040: 72 74 69 63 6C 65 20 31 33 29 0D 0A 53 43 41 4E rticle 13)..SCAN
000050: 34 36 34 09 2E 42 49 4E 09 62 69 6E 61 72 79 20 464..BIN.binary
000060: 66 69 6C 65 20 66 6F 72 20 74 68 65 20 61 62 6F file for the abo
000070: 76 65 0D 0A 53 43 41 4E 36 31 32 38 2E 42 41 53 ve..SCAN6128.BAS
000080: 09 76 65 72 73 69 6F 6E 20 6F 66 20 53 43 41 4E .version of SCAN
000090: 34 36 34 20 74 6F 20 72 75 6E 20 6F 6E 20 42 41 464 to run on BA
0000A0: 53 49 43 20 31 2E 31 20 6D 61 63 68 69 6E 65 73 SIC 1.1 machines
0000B0: 0D 0A 53 43 41 4E 36 31 32 38 2E 42 49 4E 09 62 ..SCAN6128.BIN.b
0000C0: 69 6E 61 72 79 20 66 69 6C 65 20 66 6F 72 20 74 inary file for t
0000D0: 68 65 20 61 62 6F 76 65 0D 0A 54 55 4E 45 09 2E he above..TUNE..
0000E0: 42 41 53 09 70 72 6F 67 72 61 6D 20 74 6F 20 70 BAS.program to p
0000F0: 6C 61 79 20 61 20 74 75 6E 65 20 66 72 6F 6D 20 lay a tune from
000100: 61 72 74 69 63 6C 65 20 31 32 0D 0A 0D 0A 2D 2D article 12....--
000110: 2D 2D 0D 0A 2A 20 53 65 65 20 22 42 6C 61 73 74 --..* See "Blast
000120: 20 66 72 6F 6D 20 74 68 65 20 50 61 73 74 22 2C from the Past",
000130: 20 57 41 43 43 49 20 31 31 38 2C 20 4A 61 6E 20 WACCI 118, Jan
000140: 31 39 39 38 2C 20 70 2E 20 32 37 2D 32 39 2E 0D 1998, p. 27-29..
000150: 0A 1A 6E 64 20 48 69 6C 61 72 79 20 50 68 69 6C ..nd Hilary Phil
000160: 6C 69 70 73 0D 0A 0D 0A 54 68 65 20 50 72 6F 67 lips....The Prog
000170: 72 61 6D 6D 65 72 73 27 20 50 61 74 63 68 20 64 rammers' Patch d
000180: 6F 6E 20 70 75 62 6C 69 73 68 65 64 20 69 6E 20 on published in
000190: 57 41 43 43 49 0D 0A 41 49 37 09 2E 4C 4F 47 09 WACCI..AI7..LOG.
0001A0: 41 49 20 69 6E 20 4C 6F 67 6F 20 2D 20 61 6E 20 AI in Logo - an
0001B0: 69 6D 70 72 6F 76 65 64 20 76 65 72 73 69 6F 6E improved version
0001C0: 20 75 73 69 6E 67 20 70 72 6F 70 65 72 74 79 20 using property
0001D0: 6C 69 73 74 73 0D 0A 4C 49 53 54 45 58 09 2E 42 lists..LISTEX..B
0001E0: 41 53 09 65 78 61 6D 70 6C 65 20 6C 69 6E 6B 65 AS.example linke
0001F0: 64 20 6C 69 73 74 20 66 72 6F 6D 20 61 72 74 69 d list from arti
Size : 512 (Real : 512)
000000: 65 72 73 61 74 69 6F 6E 20 70 72 6F 67 72 61 6D ersation program
000010: 0D 0A 41 72 74 69 63 6C 65 20 31 37 20 20 20 2D ..Article 17 -
000020: 20 69 6D 70 72 6F 76 69 6E 67 20 74 68 65 20 70 improving the p
000030: 72 6F 67 72 61 6D 20 75 73 69 6E 67 20 61 20 6C rogram using a l
000040: 69 6E 6B 65 64 20 6C 69 73 74 0D 0A 41 72 74 69 inked list..Arti
000050: 63 6C 65 20 31 38 20 20 20 2D 20 6D 6F 72 65 20 cle 18 - more
000060: 61 62 6F 75 74 20 6C 69 6E 6B 65 64 20 6C 69 73 about linked lis
000070: 74 73 2C 20 61 6E 64 20 4D 72 20 42 6C 61 63 6B ts, and Mr Black
000080: 20 74 68 65 20 6E 65 77 73 61 67 65 6E 74 0D 0A the newsagent..
000090: 41 72 74 69 63 6C 65 20 31 39 20 20 20 2D 20 69 Article 19 - i
0000A0: 6D 70 72 6F 76 69 6E 67 20 73 65 61 72 63 68 20 mproving search
0000B0: 73 70 65 65 64 73 20 77 69 74 68 20 62 69 6E 61 speeds with bina
0000C0: 72 79 20 74 72 65 65 73 0D 0A 41 72 74 69 63 6C ry trees..Articl
0000D0: 65 20 32 30 20 20 20 2D 20 75 73 69 6E 67 20 68 e 20 - using h
0000E0: 61 73 68 20 74 61 62 6C 65 73 20 74 6F 20 72 65 ash tables to re
0000F0: 64 75 63 65 20 73 65 61 72 63 68 69 6E 67 20 74 duce searching t
000100: 69 6D 65 0D 0A 41 72 74 69 63 6C 65 20 32 31 20 ime..Article 21
000110: 20 20 2D 20 41 49 20 69 6E 20 4C 6F 67 6F 0D 0A - AI in Logo..
000120: 0D 0A 4F 74 68 65 72 20 66 69 6C 65 73 20 6F 6E ..Other files on
000130: 20 62 6F 74 68 20 73 69 64 65 73 20 6F 66 20 74 both sides of t
000140: 68 65 20 64 69 73 63 3A 0D 0A 0D 0A 44 49 53 43 he disc:....DISC
000150: 09 2E 42 41 53 09 72 75 6E 73 20 74 68 65 20 4C ..BAS.runs the L
000160: 6F 6F 6D 20 68 79 70 65 72 74 65 78 74 20 76 69 oom hypertext vi
000170: 65 77 65 72 0D 0A 48 45 4C 50 09 2E 54 58 54 09 ewer..HELP..TXT.
000180: 74 68 65 20 68 65 6C 70 20 74 65 78 74 20 66 6F the help text fo
000190: 72 20 4C 6F 6F 6D 0D 0A 4C 49 4E 4B 42 41 53 45 r Loom..LINKBASE
0001A0: 2E 54 58 54 09 74 68 65 20 6C 69 6E 6B 61 67 65 .TXT.the linkage
0001B0: 20 64 61 74 61 20 66 6F 72 20 4C 6F 6F 6D 0D 0A data for Loom..
0001C0: 4C 4F 4F 4D 09 2E 42 49 4E 09 74 68 65 20 4C 6F LOOM..BIN.the Lo
0001D0: 6F 6D 20 70 72 6F 67 72 61 6D 0D 0A 4D 45 53 53 om program..MESS
0001E0: 41 47 45 53 2E 54 58 54 09 74 68 65 20 6D 65 73 AGES.TXT.the mes
0001F0: 73 61 67 65 20 74 65 78 74 73 20 66 6F 72 20 4C sage texts for L
Size : 512 (Real : 512)
000000: 74 20 6D 6F 6E 74 68 27 73 20 42 6C 61 73 74 20 t month's Blast
000010: 66 72 6F 6D 20 74 68 65 20 50 61 73 74 20 61 72 from the Past ar
000020: 65 20 20 61 6E 79 74 68 69 6E 67 20 74 6F 20 67 e anything to g
000030: 6F 20 62 79 2C 20 77 65 20 68 61 76 65 20 70 6C o by, we have pl
000040: 65 6E 74 79 0D 0A 20 20 20 6F 66 20 72 65 61 73 enty.. of reas
000050: 6F 6E 20 74 6F 20 63 65 6C 65 62 72 61 74 65 2E on to celebrate.
000060: 20 20 54 68 65 6E 20 20 61 67 61 69 6E 2C 20 20 Then again,
000070: 49 20 20 68 61 76 65 20 20 72 75 6E 20 6F 75 74 I have run out
000080: 20 6F 66 20 69 6E 73 70 69 72 61 74 69 6F 6E 20 of inspiration
000090: 66 6F 72 0D 0A 20 20 20 73 75 62 68 65 61 64 73 for.. subheads
0000A0: 20 74 68 69 73 20 6D 6F 6E 74 68 2E 2E 2E 0D 0A this month.....
0000B0: 0D 0A 20 20 20 53 4F 20 57 48 41 54 20 49 53 20 .. SO WHAT IS
0000C0: 4D 49 44 49 20 54 48 45 4E 3F 0D 0A 20 20 20 49 MIDI THEN?.. I
0000D0: 20 73 75 70 70 6F 73 65 20 77 65 20 6F 75 67 68 suppose we ough
0000E0: 74 20 20 74 6F 20 20 73 74 61 72 74 20 20 77 69 t to start wi
0000F0: 74 68 20 20 74 68 65 20 20 6F 62 6C 69 67 61 74 th the obligat
000100: 6F 72 79 20 65 78 70 6C 61 6E 61 74 69 6F 6E 20 ory explanation
000110: 74 68 61 74 20 4D 49 44 49 0D 0A 20 20 20 73 74 that MIDI.. st
000120: 61 6E 64 73 20 66 6F 72 20 4D 75 73 69 63 61 6C ands for Musical
000130: 20 49 6E 73 74 72 75 6D 65 6E 74 20 20 44 69 67 Instrument Dig
000140: 69 74 61 6C 20 20 49 6E 74 65 72 66 61 63 65 2C ital Interface,
000150: 20 20 61 6E 64 20 20 69 73 20 61 20 73 74 61 6E and is a stan
000160: 64 61 72 64 20 66 6F 72 0D 0A 20 20 20 63 6F 6E dard for.. con
000170: 74 72 6F 6C 20 61 6E 64 20 63 6F 6D 6D 75 6E 69 trol and communi
000180: 63 61 74 69 6F 6E 20 64 65 76 65 6C 6F 70 65 64 cation developed
000190: 20 20 62 79 20 20 74 68 65 20 6D 61 6A 6F 72 20 by the major
0001A0: 6B 65 79 62 6F 61 72 64 20 6D 61 6E 75 66 61 63 keyboard manufac
0001B0: 74 75 72 65 72 73 2E 0D 0A 20 20 20 41 6C 6C 20 turers... All
0001C0: 6D 6F 64 65 72 6E 20 6B 65 79 62 6F 61 72 64 73 modern keyboards
0001D0: 20 28 65 78 63 65 70 74 20 20 74 68 65 20 20 63 (except the c
0001E0: 68 65 61 70 65 72 20 20 6D 6F 64 65 6C 73 29 20 heaper models)
0001F0: 20 68 61 76 65 20 4D 49 44 49 20 73 6F 63 6B 65 have MIDI socke
Size : 512 (Real : 512)
000000: 20 6C 65 66 74 20 6F 66 20 20 22 69 73 22 20 20 left of "is"
000010: 69 73 20 20 22 68 6F 77 22 2C 20 20 61 6E 64 20 is "how", and
000020: 20 74 6F 20 74 68 65 20 72 69 67 68 74 20 6F 66 to the right of
000030: 20 22 69 73 22 20 69 73 0D 0A 20 20 20 22 74 72 "is" is.. "tr
000040: 65 65 73 22 2E 0D 0A 0D 0A 20 20 20 43 4C 49 4D ees"..... CLIM
000050: 42 49 4E 47 20 54 52 45 45 53 0D 0A 20 20 20 54 BING TREES.. T
000060: 68 69 73 20 73 74 72 75 63 74 75 72 65 20 6D 65 his structure me
000070: 61 6E 73 20 74 68 61 74 20 77 65 20 63 61 6E 20 ans that we can
000080: 73 65 61 72 63 68 20 20 66 6F 72 20 61 20 77 6F search for a wo
000090: 72 64 20 76 65 72 79 20 71 75 69 63 6B 6C 79 2E rd very quickly.
0000A0: 20 20 53 75 70 70 6F 73 65 0D 0A 20 20 20 77 65 Suppose.. we
0000B0: 20 77 61 6E 74 65 64 20 74 6F 20 73 65 61 72 63 wanted to searc
0000C0: 68 20 66 6F 72 20 74 68 65 20 77 6F 72 64 20 22 h for the word "
0000D0: 68 6F 77 22 2E 20 20 20 53 74 61 72 74 69 6E 67 how". Starting
0000E0: 20 61 74 20 74 68 65 20 74 6F 70 20 6F 66 20 74 at the top of t
0000F0: 68 65 20 74 72 65 65 2C 0D 0A 20 20 20 77 65 20 he tree,.. we
000100: 68 61 76 65 20 74 68 65 20 77 6F 72 64 20 22 54 have the word "T
000110: 68 69 73 22 2E 20 20 57 65 20 6D 6F 76 65 20 20 his". We move
000120: 72 69 67 68 74 2C 20 62 65 63 61 75 73 65 20 22 right, because "
000130: 68 6F 77 22 20 63 6F 6D 65 73 20 61 66 74 65 72 how" comes after
000140: 20 22 54 68 69 73 22 0D 0A 20 20 20 69 6E 20 41 "This".. in A
000150: 53 43 49 49 20 6F 72 64 65 72 2E 20 20 4D 6F 76 SCII order. Mov
000160: 69 6E 67 20 72 69 67 68 74 20 20 77 65 20 20 63 ing right we c
000170: 6F 6D 65 20 20 74 6F 20 20 22 69 73 22 2E 20 20 ome to "is".
000180: 20 54 68 69 73 20 74 69 6D 65 20 22 68 6F 77 22 This time "how"
000190: 20 63 6F 6D 65 73 0D 0A 20 20 20 62 65 66 6F 72 comes.. befor
0001A0: 65 20 74 68 65 20 77 6F 72 64 2C 20 73 6F 20 77 e the word, so w
0001B0: 65 20 20 6D 6F 76 65 20 20 6C 65 66 74 2C 20 20 e move left,
0001C0: 61 6E 64 20 20 66 69 6E 64 20 20 74 68 65 20 20 and find the
0001D0: 77 6F 72 64 20 77 65 20 77 61 6E 74 2E 20 20 54 word we want. T
0001E0: 72 79 20 69 74 0D 0A 20 20 20 79 6F 75 72 73 65 ry it.. yourse
0001F0: 6C 66 20 77 69 74 68 20 6F 6E 65 20 6F 66 20 74 lf with one of t
Size : 512 (Real : 512)
000000: 61 74 20 74 68 65 20 74 6F 70 20 61 6E 64 20 67 at the top and g
000010: 72 6F 77 20 64 6F 77 6E 77 61 72 64 73 2C 0D 0A row downwards,..
000020: 20 20 20 77 69 74 68 20 74 68 65 20 6C 65 61 76 with the leav
000030: 65 73 20 61 74 20 74 68 65 20 62 6F 74 74 6F 6D es at the bottom
000040: 2E 20 20 57 65 20 61 72 65 20 6A 75 73 74 20 67 . We are just g
000050: 6F 69 6E 67 20 74 6F 20 6C 6F 6F 6B 20 61 74 20 oing to look at
000060: 62 69 6E 61 72 79 20 74 72 65 65 73 2C 0D 0A 20 binary trees,..
000070: 20 20 77 68 69 63 68 20 61 72 65 20 74 68 65 20 which are the
000080: 65 61 73 69 65 73 74 20 74 6F 20 75 6E 64 65 72 easiest to under
000090: 73 74 61 6E 64 2E 20 20 20 54 68 65 72 65 20 20 stand. There
0000A0: 61 72 65 20 6F 74 68 65 72 20 73 6F 72 74 73 20 are other sorts
0000B0: 6F 66 20 74 72 65 65 2C 20 62 75 74 0D 0A 20 20 of tree, but..
0000C0: 20 74 68 65 79 20 61 72 65 20 6D 75 63 68 20 68 they are much h
0000D0: 61 72 64 65 72 20 74 6F 20 63 75 6C 74 69 76 61 arder to cultiva
0000E0: 74 65 20 75 73 69 6E 67 20 42 41 53 49 43 2E 0D te using BASIC..
0000F0: 0A 0D 0A 20 20 20 57 65 20 61 72 65 20 67 6F 69 ... We are goi
000100: 6E 67 20 74 6F 20 75 73 65 20 61 20 62 69 6E 61 ng to use a bina
000110: 72 79 20 74 72 65 65 20 20 74 6F 20 6B 65 65 70 ry tree to keep
000120: 20 74 68 65 20 77 6F 72 64 73 20 69 6E 20 41 49 the words in AI
000130: 20 69 6E 20 61 6C 70 68 61 62 65 74 69 63 61 6C in alphabetical
000140: 0D 0A 20 20 20 6F 72 64 65 72 2E 20 20 54 68 65 .. order. The
000150: 20 64 69 61 67 72 61 6D 20 73 68 6F 77 73 20 61 diagram shows a
000160: 20 74 72 65 65 20 77 69 74 68 20 20 66 69 76 65 tree with five
000170: 20 20 77 6F 72 64 73 20 69 6E 20 2D 20 22 54 68 words in - "Th
000180: 69 73 20 69 73 20 68 6F 77 20 74 72 65 65 73 0D is is how trees.
000190: 0A 20 20 20 67 72 6F 77 22 2E 20 20 54 68 65 20 . grow". The
0001A0: 77 6F 72 64 73 20 77 6F 75 6C 64 20 20 62 65 20 words would be
0001B0: 20 73 74 6F 72 65 64 20 20 69 6E 20 20 61 20 20 stored in a
0001C0: 73 74 72 69 6E 67 20 20 61 72 72 61 79 2C 20 20 string array,
0001D0: 28 77 24 20 20 69 6E 20 74 68 65 20 41 49 0D 0A (w$ in the AI..
0001E0: 20 20 20 70 72 6F 67 72 61 6D 29 2C 20 61 6E 64 program), and
0001F0: 20 77 6F 75 6C 64 20 62 65 20 61 74 20 74 68 65 would be at the
Size : 512 (Real : 512)
000000: 68 65 20 6F 74 68 65 72 20 77 6F 72 64 73 20 69 he other words i
000010: 6E 20 74 68 65 20 74 72 65 65 2E 0D 0A 0D 0A 20 n the tree.....
000020: 20 20 57 68 61 74 20 68 61 70 70 65 6E 73 20 77 What happens w
000030: 68 65 6E 20 77 65 20 73 65 61 72 63 68 20 66 6F hen we search fo
000040: 72 20 61 20 77 6F 72 64 20 20 77 68 69 63 68 20 r a word which
000050: 20 69 73 20 6E 6F 74 20 69 6E 20 74 68 65 20 74 is not in the t
000060: 72 65 65 3F 20 20 4C 65 74 20 75 73 0D 0A 20 20 ree? Let us..
000070: 20 74 72 79 20 77 69 74 68 20 74 68 65 20 77 6F try with the wo
000080: 72 64 20 22 6C 65 61 76 65 73 22 2E 20 20 49 74 rd "leaves". It
000090: 20 69 73 20 20 72 69 67 68 74 20 20 6F 66 20 20 is right of
0000A0: 22 54 68 69 73 22 2C 20 73 6F 20 77 65 20 6D 6F "This", so we mo
0000B0: 76 65 20 74 6F 20 22 69 73 22 2E 0D 0A 20 20 20 ve to "is"...
0000C0: 49 74 20 69 73 20 72 69 67 68 74 20 6F 66 20 22 It is right of "
0000D0: 69 73 22 2C 20 73 6F 20 77 65 20 20 6D 6F 76 65 is", so we move
0000E0: 20 20 74 6F 20 20 22 74 72 65 65 73 22 2E 20 20 to "trees".
0000F0: 49 74 20 69 73 20 6C 65 66 74 20 6F 66 20 22 74 It is left of "t
000100: 72 65 65 73 22 2C 20 62 75 74 0D 0A 20 20 20 74 rees", but.. t
000110: 68 65 72 65 20 69 73 6E 27 74 20 61 6E 79 74 68 here isn't anyth
000120: 69 6E 67 20 6C 65 66 74 20 6F 66 20 22 74 72 65 ing left of "tre
000130: 65 73 22 20 62 65 63 61 75 73 65 20 20 6C 65 28 es" because le(
000140: 34 29 20 69 73 20 7A 65 72 6F 2E 20 20 46 72 6F 4) is zero. Fro
000150: 6D 20 74 68 69 73 20 77 65 0D 0A 20 20 20 6B 6E m this we.. kn
000160: 6F 77 20 74 68 61 74 20 22 6C 65 61 76 65 73 22 ow that "leaves"
000170: 20 63 61 6E 6E 6F 74 20 62 65 20 69 6E 20 74 68 cannot be in th
000180: 65 20 74 72 65 65 2E 0D 0A 0D 0A 20 20 20 49 6E e tree..... In
000190: 20 41 49 2C 20 77 65 20 61 64 64 20 6E 65 77 20 AI, we add new
0001A0: 77 6F 72 64 73 20 74 6F 20 20 74 68 65 20 20 76 words to the v
0001B0: 6F 63 61 62 75 6C 61 72 79 2E 20 20 42 79 20 73 ocabulary. By s
0001C0: 65 61 72 63 68 69 6E 67 20 66 6F 72 20 22 6C 65 earching for "le
0001D0: 61 76 65 73 22 20 77 65 0D 0A 20 20 20 68 61 76 aves" we.. hav
0001E0: 65 20 66 6F 75 6E 64 20 74 68 61 74 20 22 6C 65 e found that "le
0001F0: 61 76 65 73 22 20 69 73 20 6E 6F 74 20 69 6E 20 aves" is not in
Size : 512 (Real : 512)
000000: 20 20 70 6F 73 69 74 69 6F 6E 73 20 20 73 68 6F positions sho
000010: 77 6E 20 20 62 79 20 74 68 65 20 6E 75 6D 62 65 wn by the numbe
000020: 72 73 20 61 74 20 74 68 65 20 74 6F 70 0D 0A 20 rs at the top..
000030: 20 20 6C 65 66 74 20 6F 66 20 65 61 63 68 20 62 left of each b
000040: 6F 78 2E 20 20 53 6F 20 77 24 28 32 29 20 77 6F ox. So w$(2) wo
000050: 75 6C 64 20 62 65 20 20 22 69 73 22 2C 20 66 6F uld be "is", fo
000060: 72 20 65 78 61 6D 70 6C 65 2E 0D 0A 0D 0A 20 20 r example.....
000070: 20 57 65 20 61 6C 73 6F 20 68 61 76 65 20 74 77 We also have tw
000080: 6F 20 6E 75 6D 65 72 69 63 20 61 72 72 61 79 73 o numeric arrays
000090: 2C 20 22 6C 65 22 20 20 61 6E 64 20 20 22 72 69 , "le" and "ri
0000A0: 22 2E 20 20 54 68 65 73 65 20 61 72 65 20 75 73 ". These are us
0000B0: 65 64 20 74 6F 20 70 6F 69 6E 74 0D 0A 20 20 20 ed to point..
0000C0: 74 6F 20 74 68 65 20 70 61 72 74 73 20 6F 66 20 to the parts of
0000D0: 74 68 65 20 74 72 65 65 20 77 68 69 63 68 20 61 the tree which a
0000E0: 72 65 20 64 6F 77 6E 20 20 74 6F 20 74 68 65 20 re down to the
0000F0: 6C 65 66 74 20 61 6E 64 20 64 6F 77 6E 20 74 6F left and down to
000100: 20 74 68 65 20 72 69 67 68 74 0D 0A 20 20 20 6F the right.. o
000110: 66 20 74 68 65 20 63 75 72 72 65 6E 74 20 77 6F f the current wo
000120: 72 64 2E 20 20 4C 6F 6F 6B 69 6E 67 20 61 74 20 rd. Looking at
000130: 74 68 65 20 77 6F 72 64 20 22 69 73 22 20 61 74 the word "is" at
000140: 20 77 24 28 32 29 20 61 67 61 69 6E 2C 20 6C 65 w$(2) again, le
000150: 28 32 29 20 69 73 20 33 2C 0D 0A 20 20 20 70 6F (2) is 3,.. po
000160: 69 6E 74 69 6E 67 20 64 6F 77 6E 20 61 6E 64 20 inting down and
000170: 6C 65 66 74 20 74 6F 20 77 24 28 33 29 20 20 77 left to w$(3) w
000180: 68 69 63 68 20 20 69 73 20 20 22 68 6F 77 22 2E hich is "how".
000190: 20 20 44 6F 77 6E 20 61 6E 64 20 74 6F 20 74 68 Down and to th
0001A0: 65 20 72 69 67 68 74 2C 0D 0A 20 20 20 72 69 28 e right,.. ri(
0001B0: 32 29 20 69 73 20 34 2C 20 70 6F 69 6E 74 69 6E 2) is 4, pointin
0001C0: 67 20 74 6F 20 77 24 28 34 29 2C 20 77 68 69 63 g to w$(4), whic
0001D0: 68 20 69 73 20 22 74 72 65 65 73 22 2E 0D 0A 0D h is "trees"....
0001E0: 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 31 ... 1
0001F0: 3A 20 54 68 69 73 0D 0A 20 20 20 20 20 20 20 20 : This..
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 31 39 20 2D 20 57 41 43 43 49 20 31 tch 19 - WACCI 1
000020: 32 38 2C 20 46 65 62 2F 4D 61 72 20 31 39 39 39 28, Feb/Mar 1999
000030: 2C 20 70 2E 20 32 36 2D 32 38 0D 0A 20 20 20 50 , p. 26-28.. P
000040: 52 4F 47 52 41 4D 4D 45 52 53 27 20 50 41 54 43 ROGRAMMERS' PATC
000050: 48 20 31 39 0D 0A 20 20 20 42 79 20 4D 61 74 74 H 19.. By Matt
000060: 68 65 77 20 50 68 69 6C 6C 69 70 73 0D 0A 0D 0A hew Phillips....
000070: 20 20 20 57 65 20 72 65 74 75 72 6E 20 74 6F 20 We return to
000080: 74 68 65 20 63 6F 6D 70 75 74 65 72 20 63 68 61 the computer cha
000090: 74 20 20 70 72 6F 67 72 61 6D 2C 20 20 41 49 2C t program, AI,
0000A0: 20 20 77 68 69 63 68 20 77 65 20 66 69 72 73 74 which we first
0000B0: 20 6C 6F 6F 6B 65 64 20 61 74 20 69 6E 0D 0A 20 looked at in..
0000C0: 20 20 74 68 65 20 4F 63 74 6F 62 65 72 20 69 73 the October is
0000D0: 73 75 65 2E 20 20 57 65 20 61 72 65 20 67 6F 69 sue. We are goi
0000E0: 6E 67 20 74 6F 20 20 61 64 64 20 20 71 75 69 74 ng to add quit
0000F0: 65 20 20 61 20 62 69 74 20 6D 6F 72 65 20 74 6F e a bit more to
000100: 20 74 68 65 20 70 72 6F 67 72 61 6D 0D 0A 20 20 the program..
000110: 20 74 68 69 73 20 6D 6F 6E 74 68 2C 20 73 6F 20 this month, so
000120: 74 68 65 20 77 68 6F 6C 65 20 6C 69 73 74 69 6E the whole listin
000130: 67 20 68 61 73 20 62 65 65 6E 20 72 65 70 72 69 g has been repri
000140: 6E 74 65 64 20 74 6F 20 6D 61 6B 65 20 74 68 69 nted to make thi
000150: 6E 67 73 20 65 61 73 69 65 72 2E 0D 0A 20 20 20 ngs easier...
000160: 3C 3C 49 74 20 69 73 20 73 61 76 65 64 20 6F 6E <<It is saved on
000170: 20 64 69 73 63 20 61 73 20 41 49 34 2E 42 41 53 disc as AI4.BAS
000180: 3E 3E 20 20 20 54 68 65 20 20 6D 61 69 6E 20 63 >> The main c
000190: 68 61 6E 67 65 73 20 61 72 65 20 61 20 63 6F 75 hanges are a cou
0001A0: 70 6C 65 20 6F 66 20 6E 65 77 0D 0A 20 20 20 73 ple of new.. s
0001B0: 75 62 72 6F 75 74 69 6E 65 73 2C 20 61 74 20 38 ubroutines, at 8
0001C0: 30 30 20 61 6E 64 20 39 30 30 2C 20 62 75 74 20 00 and 900, but
0001D0: 61 20 20 66 65 77 20 6F 74 68 65 72 20 6C 69 6E a few other lin
0001E0: 65 73 20 68 61 76 65 20 62 65 65 6E 20 61 6C 74 es have been alt
0001F0: 65 72 65 64 20 74 6F 6F 2C 0D 0A 20 20 20 73 6F ered too,.. so
Size : 512 (Real : 512)
000000: 20 20 20 6C 65 3A 20 30 20 20 20 72 69 3A 20 32 le: 0 ri: 2
000010: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000020: 20 20 20 20 20 20 20 20 20 20 5C 0D 0A 0D 0A 20 \....
000030: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000040: 20 20 20 20 20 20 32 3A 20 69 73 0D 0A 20 20 20 2: is..
000050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000060: 20 20 20 6C 65 3A 20 33 20 20 20 72 69 3A 20 34 le: 3 ri: 4
000070: 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 ....
000080: 20 20 20 20 20 20 20 20 20 20 20 2F 20 20 20 20 /
000090: 20 20 20 20 20 5C 0D 0A 0D 0A 20 20 20 20 20 20 \....
0000A0: 20 20 20 20 20 20 20 20 20 33 3A 20 68 6F 77 20 3: how
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 34 3A 20 74 4: t
0000C0: 72 65 65 73 0D 0A 20 20 20 20 20 20 20 20 20 20 rees..
0000D0: 20 20 20 20 6C 65 3A 20 35 20 20 20 72 69 3A 20 le: 5 ri:
0000E0: 30 20 20 20 20 20 20 6C 65 3A 20 30 20 20 20 72 0 le: 0 r
0000F0: 69 3A 20 30 0D 0A 0D 0A 20 20 20 20 20 20 20 20 i: 0....
000100: 20 20 20 20 20 20 20 2F 0D 0A 0D 0A 20 20 20 20 /....
000110: 20 20 20 35 3A 20 67 72 6F 77 0D 0A 20 20 20 20 5: grow..
000120: 20 20 6C 65 3A 20 30 20 20 20 72 69 3A 20 30 0D le: 0 ri: 0.
000130: 0A 0D 0A 20 20 20 49 66 20 74 68 65 72 65 20 69 ... If there i
000140: 73 20 6E 6F 74 68 69 6E 67 20 66 75 72 74 68 65 s nothing furthe
000150: 72 20 64 6F 77 6E 20 74 68 65 20 74 72 65 65 2C r down the tree,
000160: 20 74 68 65 6E 20 20 77 65 20 73 74 6F 72 65 20 then we store
000170: 30 20 69 6E 20 6C 65 20 6F 72 20 72 69 20 74 6F 0 in le or ri to
000180: 0D 0A 20 20 20 73 68 6F 77 20 74 68 61 74 20 74 .. show that t
000190: 68 65 72 65 20 61 72 65 20 6E 6F 20 66 75 72 74 here are no furt
0001A0: 68 65 72 20 62 72 61 6E 63 68 65 73 20 20 69 6E her branches in
0001B0: 20 74 68 61 74 20 64 69 72 65 63 74 69 6F 6E 2E that direction.
0001C0: 20 20 53 6F 20 6C 65 28 31 29 20 69 73 20 30 0D So le(1) is 0.
0001D0: 0A 20 20 20 74 6F 20 73 68 6F 77 20 74 68 61 74 . to show that
0001E0: 20 74 68 65 72 65 20 69 73 20 6E 6F 74 68 69 6E there is nothin
0001F0: 67 20 64 6F 77 6E 20 74 6F 20 74 68 65 20 6C 65 g down to the le
Size : 512 (Real : 512)
000000: 20 69 66 20 79 6F 75 20 61 72 65 20 67 6F 69 6E if you are goin
000010: 67 20 74 6F 20 6C 6F 61 64 20 75 70 20 20 61 6E g to load up an
000020: 20 6F 6C 64 65 72 20 76 65 72 73 69 6F 6E 20 6F older version o
000030: 66 20 74 68 65 20 70 72 6F 67 72 61 6D 2C 20 6D f the program, m
000040: 61 6B 65 20 73 75 72 65 0D 0A 20 20 20 79 6F 75 ake sure.. you
000050: 20 63 68 65 63 6B 20 61 6C 6C 20 74 68 65 20 6C check all the l
000060: 69 6E 65 73 20 66 6F 72 20 63 68 61 6E 67 65 73 ines for changes
000070: 20 63 61 72 65 66 75 6C 6C 79 2E 0D 0A 0D 0A 20 carefully.....
000080: 20 20 48 49 44 45 20 41 4E 44 20 53 45 45 4B 0D HIDE AND SEEK.
000090: 0A 20 20 20 49 66 20 79 6F 75 20 68 61 76 65 20 . If you have
0000A0: 73 70 65 6E 74 20 61 20 6C 6F 6E 67 20 74 69 6D spent a long tim
0000B0: 65 20 74 61 6C 6B 69 6E 67 20 74 6F 20 74 68 65 e talking to the
0000C0: 20 63 6F 6D 70 75 74 65 72 20 77 69 74 68 20 74 computer with t
0000D0: 68 65 20 41 49 20 70 72 6F 67 72 61 6D 2C 0D 0A he AI program,..
0000E0: 20 20 20 79 6F 75 20 77 69 6C 6C 20 68 61 76 65 you will have
0000F0: 20 66 6F 75 6E 64 20 74 68 61 74 20 74 68 65 20 found that the
000100: 20 63 6F 6D 70 75 74 65 72 20 20 74 61 6B 65 73 computer takes
000110: 20 61 6E 20 69 6E 63 72 65 61 73 69 6E 67 6C 79 an increasingly
000120: 20 6C 6F 6E 67 20 74 69 6D 65 20 74 6F 0D 0A 20 long time to..
000130: 20 20 72 65 73 70 6F 6E 64 20 74 6F 20 65 61 63 respond to eac
000140: 68 20 6E 65 77 20 73 65 6E 74 65 6E 63 65 2E 20 h new sentence.
000150: 20 41 73 20 79 6F 75 20 75 73 65 20 6E 65 77 20 As you use new
000160: 77 6F 72 64 73 2C 20 69 74 73 20 76 6F 63 61 62 words, its vocab
000170: 75 6C 61 72 79 20 67 72 6F 77 73 2C 0D 0A 20 20 ulary grows,..
000180: 20 61 6E 64 20 69 74 20 74 61 6B 65 73 20 6C 6F and it takes lo
000190: 6E 67 65 72 20 74 6F 20 67 6F 20 74 68 72 6F 75 nger to go throu
0001A0: 67 68 20 74 68 65 20 61 72 72 61 79 20 6F 66 20 gh the array of
0001B0: 77 6F 72 64 73 20 74 6F 20 6D 61 74 63 68 20 75 words to match u
0001C0: 70 20 74 68 6F 73 65 20 79 6F 75 0D 0A 20 20 20 p those you..
0001D0: 74 79 70 65 20 77 69 74 68 20 74 68 65 20 6F 6E type with the on
0001E0: 65 73 20 69 74 20 6B 6E 6F 77 73 2E 20 20 49 66 es it knows. If
0001F0: 20 79 6F 75 20 20 68 61 76 65 20 74 61 75 67 68 you have taugh
Size : 512 (Real : 512)
000000: 66 74 20 6F 66 20 22 54 68 69 73 22 2E 0D 0A 0D ft of "This"....
000010: 0A 20 20 20 57 65 20 61 72 65 20 75 73 69 6E 67 . We are using
000020: 20 74 68 65 20 74 72 65 65 20 74 6F 20 6B 65 65 the tree to kee
000030: 70 20 74 68 65 20 77 6F 72 64 73 20 69 6E 20 61 p the words in a
000040: 6C 70 68 61 62 65 74 69 63 61 6C 20 6F 72 64 65 lphabetical orde
000050: 72 2E 20 20 41 63 74 75 61 6C 6C 79 20 49 0D 0A r. Actually I..
000060: 20 20 20 6D 65 61 6E 20 41 53 43 49 49 20 6F 72 mean ASCII or
000070: 64 65 72 2C 20 62 65 63 61 75 73 65 20 74 68 61 der, because tha
000080: 74 27 73 20 20 77 68 61 74 20 20 74 68 65 20 20 t's what the
000090: 63 6F 6D 70 75 74 65 72 20 20 63 61 6E 20 64 6F computer can do
0000A0: 20 6D 6F 73 74 20 65 61 73 69 6C 79 2E 0D 0A 20 most easily...
0000B0: 20 20 54 68 65 20 6D 61 69 6E 20 64 69 66 66 65 The main diffe
0000C0: 72 65 6E 63 65 20 69 73 20 74 68 61 74 20 61 6C rence is that al
0000D0: 6C 20 74 68 65 20 20 63 61 70 69 74 61 6C 20 6C l the capital l
0000E0: 65 74 74 65 72 73 20 63 6F 6D 65 20 62 65 66 6F etters come befo
0000F0: 72 65 20 74 68 65 20 73 6D 61 6C 6C 0D 0A 20 20 re the small..
000100: 20 6C 65 74 74 65 72 73 2C 20 73 6F 20 22 54 68 letters, so "Th
000110: 69 73 22 20 63 6F 6D 65 73 20 62 65 66 6F 72 65 is" comes before
000120: 20 20 22 69 73 22 2E 20 20 20 54 68 65 20 20 74 "is". The t
000130: 72 65 65 20 68 61 73 20 62 65 65 6E 20 63 6F 6E ree has been con
000140: 73 74 72 75 63 74 65 64 20 69 6E 0D 0A 20 20 20 structed in..
000150: 73 75 63 68 20 61 20 77 61 79 20 74 68 61 74 20 such a way that
000160: 69 66 20 79 6F 75 20 6C 6F 6F 6B 20 61 74 20 61 if you look at a
000170: 6E 79 20 20 77 6F 72 64 20 79 6F 75 20 77 69 6C ny word you wil
000180: 6C 20 73 65 65 20 74 68 61 74 20 74 68 65 20 77 l see that the w
000190: 6F 72 64 20 74 6F 20 74 68 65 0D 0A 20 20 20 72 ord to the.. r
0001A0: 69 67 68 74 20 6F 66 20 69 74 20 63 6F 6D 65 73 ight of it comes
0001B0: 20 61 66 74 65 72 20 69 74 20 69 6E 20 41 53 43 after it in ASC
0001C0: 49 49 20 20 6F 72 64 65 72 2C 20 61 6E 64 20 74 II order, and t
0001D0: 68 65 20 77 6F 72 64 20 74 6F 20 74 68 65 20 6C he word to the l
0001E0: 65 66 74 20 63 6F 6D 65 73 0D 0A 20 20 20 62 65 eft comes.. be
0001F0: 66 6F 72 65 20 69 74 2E 20 20 54 6F 20 74 68 65 fore it. To the
Size : 512 (Real : 512)
000000: 74 20 69 74 20 33 30 30 20 77 6F 72 64 73 20 61 t it 300 words a
000010: 6E 64 20 79 6F 75 20 75 73 65 0D 0A 20 20 20 61 nd you use.. a
000020: 20 6E 65 77 20 6F 6E 65 2C 20 69 74 20 77 69 6C new one, it wil
000030: 6C 20 68 61 76 65 20 20 74 6F 20 20 6C 6F 6F 6B l have to look
000040: 20 20 74 68 72 6F 75 67 68 20 20 61 6C 6C 20 20 through all
000050: 74 68 65 20 6F 74 68 65 72 20 33 30 30 20 77 6F the other 300 wo
000060: 72 64 73 20 66 69 72 73 74 0D 0A 20 20 20 62 65 rds first.. be
000070: 66 6F 72 65 20 61 64 64 69 6E 67 20 74 68 65 20 fore adding the
000080: 6E 65 77 20 77 6F 72 64 20 6F 6E 20 74 68 65 20 new word on the
000090: 65 6E 64 2E 0D 0A 0D 0A 20 20 20 57 65 20 6E 65 end..... We ne
0000A0: 65 64 20 61 20 6D 65 74 68 6F 64 20 6F 66 20 73 ed a method of s
0000B0: 65 61 72 63 68 69 6E 67 20 66 6F 72 20 20 77 6F earching for wo
0000C0: 72 64 73 20 20 74 68 61 74 20 77 69 6C 6C 20 77 rds that will w
0000D0: 6F 72 6B 20 71 75 69 63 6B 6C 79 20 65 76 65 6E ork quickly even
0000E0: 20 77 68 65 6E 0D 0A 20 20 20 74 68 65 72 65 20 when.. there
0000F0: 61 72 65 20 61 20 6C 6F 74 20 6F 66 20 77 6F 72 are a lot of wor
000100: 64 73 20 74 6F 20 73 65 61 72 63 68 20 74 68 72 ds to search thr
000110: 6F 75 67 68 2E 0D 0A 0D 0A 20 20 20 4E 55 4D 42 ough..... NUMB
000120: 45 52 20 4F 4E 45 3A 20 54 48 45 20 4C 41 52 43 ER ONE: THE LARC
000130: 48 0D 0A 20 20 20 41 73 20 49 20 68 69 6E 74 65 H.. As I hinte
000140: 64 20 6C 61 73 74 20 74 69 6D 65 2C 20 74 68 69 d last time, thi
000150: 73 20 6D 6F 6E 74 68 20 77 65 20 61 72 65 20 67 s month we are g
000160: 6F 69 6E 67 20 74 6F 20 6C 6F 6F 6B 20 61 74 20 oing to look at
000170: 74 72 65 65 73 2E 20 20 54 68 65 20 74 72 65 65 trees. The tree
000180: 0D 0A 20 20 20 69 73 20 61 20 76 65 72 79 20 75 .. is a very u
000190: 73 65 66 75 6C 20 64 61 74 61 20 73 74 72 75 63 seful data struc
0001A0: 74 75 72 65 2C 20 62 75 74 20 20 66 6F 72 20 20 ture, but for
0001B0: 73 6F 6D 65 20 72 65 61 73 6F 6E 2C 20 61 6C 6C some reason, all
0001C0: 20 74 72 65 65 73 20 67 72 6F 77 6E 20 62 79 0D trees grown by.
0001D0: 0A 20 20 20 63 6F 6D 70 75 74 65 72 20 73 63 69 . computer sci
0001E0: 65 6E 74 69 73 74 73 20 73 74 61 72 74 20 77 69 entists start wi
0001F0: 74 68 20 74 68 65 69 72 20 72 6F 6F 74 73 20 20 th their roots
Size : 512 (Real : 512)
000000: 20 77 68 65 6E 20 73 65 61 72 63 68 69 6E 67 20 when searching
000010: 20 66 6F 72 20 20 61 20 20 6E 65 77 20 20 77 6F for a new wo
000020: 72 64 2C 20 20 62 75 74 20 20 69 6E 20 66 61 63 rd, but in fac
000030: 74 20 69 74 20 77 6F 75 6C 64 0D 0A 20 20 20 70 t it would.. p
000040: 72 6F 62 61 62 6C 79 20 62 65 20 6D 6F 72 65 20 robably be more
000050: 6C 69 6B 65 20 6E 69 6E 65 20 77 6F 72 64 73 21 like nine words!
000060: 20 20 54 68 69 73 20 20 69 73 20 62 65 63 61 75 This is becau
000070: 73 65 20 77 69 74 68 20 65 61 63 68 20 6E 65 77 se with each new
000080: 20 6C 61 79 65 72 20 6F 6E 0D 0A 20 20 20 74 68 layer on.. th
000090: 65 20 74 72 65 65 20 77 65 20 63 61 6E 20 61 64 e tree we can ad
0000A0: 64 20 74 77 69 63 65 20 61 73 20 6D 61 6E 79 20 d twice as many
0000B0: 20 77 6F 72 64 73 20 61 73 20 77 65 72 65 20 69 words as were i
0000C0: 6E 20 74 68 65 20 70 72 65 76 69 6F 75 73 20 6C n the previous l
0000D0: 61 79 65 72 2C 20 73 6F 0D 0A 20 20 20 77 68 69 ayer, so.. whi
0000E0: 6C 65 20 61 20 32 2D 6C 61 79 65 72 20 74 72 65 le a 2-layer tre
0000F0: 65 20 63 61 6E 20 68 61 76 65 20 61 74 20 20 6D e can have at m
000100: 6F 73 74 20 20 33 20 20 77 6F 72 64 73 20 69 6E ost 3 words in
000110: 20 69 74 2C 20 61 20 39 2D 6C 61 79 65 72 20 74 it, a 9-layer t
000120: 72 65 65 20 63 61 6E 0D 0A 20 20 20 68 61 76 65 ree can.. have
000130: 20 35 31 31 2E 20 20 57 68 65 6E 20 73 65 61 72 511. When sear
000140: 63 68 69 6E 67 20 66 6F 72 20 20 61 20 20 77 6F ching for a wo
000150: 72 64 20 20 77 65 20 20 6A 75 73 74 20 20 6D 6F rd we just mo
000160: 76 65 20 20 66 72 6F 6D 20 74 68 65 20 74 6F 70 ve from the top
000170: 20 6C 61 79 65 72 0D 0A 20 20 20 64 6F 77 6E 77 layer.. downw
000180: 61 72 64 73 20 6C 6F 6F 6B 69 6E 67 20 61 74 20 ards looking at
000190: 6F 6E 65 20 77 6F 72 64 20 6F 6E 20 65 61 63 68 one word on each
0001A0: 20 6C 61 79 65 72 2E 0D 0A 0D 0A 20 20 20 43 6F layer..... Co
0001B0: 6D 70 75 74 65 72 20 73 63 69 65 6E 74 69 73 74 mputer scientist
0001C0: 73 20 73 61 79 20 74 68 61 74 20 73 65 61 72 63 s say that searc
0001D0: 68 69 6E 67 20 20 61 20 20 62 69 6E 61 72 79 20 hing a binary
0001E0: 20 74 72 65 65 20 68 61 73 20 22 6F 72 64 65 72 tree has "order
0001F0: 20 6C 6F 67 20 6E 22 2C 0D 0A 20 20 20 77 68 69 log n",.. whi
Size : 512 (Real : 512)
000000: 20 61 6E 64 20 31 36 30 2E 20 20 4C 69 6E 65 20 and 160. Line
000010: 31 35 30 20 75 73 65 64 20 20 74 6F 20 20 68 61 150 used to ha
000020: 76 65 20 61 20 6C 6F 6F 70 20 6C 6F 6F 6B 69 6E ve a loop lookin
000030: 67 20 74 68 72 6F 75 67 68 20 74 68 65 20 77 68 g through the wh
000040: 6F 6C 65 0D 0A 20 20 20 6F 66 20 74 68 65 20 77 ole.. of the w
000050: 24 20 61 72 72 61 79 20 66 6F 72 20 20 74 68 65 $ array for the
000060: 20 20 77 6F 72 64 20 20 69 6E 20 20 71 75 65 73 word in ques
000070: 74 69 6F 6E 2E 20 20 20 49 6E 73 74 65 61 64 20 tion. Instead
000080: 77 65 20 6A 75 73 74 20 47 4F 53 55 42 20 38 30 we just GOSUB 80
000090: 30 2E 0D 0A 20 20 20 4C 69 6E 65 20 31 36 30 20 0... Line 160
0000A0: 75 73 65 73 20 74 68 65 20 69 6E 66 6F 72 6D 61 uses the informa
0000B0: 74 69 6F 6E 20 72 65 74 75 72 6E 65 64 20 20 66 tion returned f
0000C0: 72 6F 6D 20 20 74 68 65 20 73 75 62 72 6F 75 74 rom the subrout
0000D0: 69 6E 65 2E 20 20 49 66 20 63 77 6F 72 64 20 69 ine. If cword i
0000E0: 73 0D 0A 20 20 20 6E 6F 74 20 7A 65 72 6F 2C 20 s.. not zero,
0000F0: 74 68 65 20 63 6F 6D 70 75 74 65 72 20 68 61 64 the computer had
000100: 20 61 6C 72 65 61 64 79 20 6D 65 74 20 20 74 68 already met th
000110: 65 20 20 77 6F 72 64 2E 20 20 57 65 20 70 72 6F e word. We pro
000120: 63 65 65 64 20 74 6F 20 6C 69 6E 65 20 31 37 30 ceed to line 170
000130: 0D 0A 20 20 20 74 6F 20 6D 61 6B 65 20 74 68 65 .. to make the
000140: 20 6C 69 6E 6B 20 61 73 20 62 65 66 6F 72 65 2E link as before.
000150: 20 20 20 49 66 20 20 63 77 6F 72 64 20 20 69 73 If cword is
000160: 20 20 7A 65 72 6F 2C 20 20 69 74 20 20 69 73 20 zero, it is
000170: 61 20 6E 65 77 20 77 6F 72 64 2E 20 20 57 65 0D a new word. We.
000180: 0A 20 20 20 69 6E 63 72 65 61 73 65 20 6E 77 6F . increase nwo
000190: 72 64 73 20 61 6E 64 20 73 74 6F 72 65 20 77 6F rds and store wo
0001A0: 72 64 24 20 69 6E 20 20 74 68 65 20 77 24 20 61 rd$ in the w$ a
0001B0: 72 72 61 79 2C 20 73 65 74 74 69 6E 67 20 6F 74 rray, setting ot
0001C0: 68 65 72 20 76 61 72 69 61 62 6C 65 73 2C 0D 0A her variables,..
0001D0: 20 20 20 69 6E 63 6C 75 64 69 6E 67 20 6C 65 20 including le
0001E0: 61 6E 64 20 72 69 2C 20 74 6F 20 7A 65 72 6F 2E and ri, to zero.
0001F0: 20 20 57 65 20 70 6F 69 6E 74 20 63 77 6F 72 64 We point cword
Size : 512 (Real : 512)
000000: 63 68 20 62 61 73 69 63 61 6C 6C 79 20 6D 65 61 ch basically mea
000010: 6E 73 20 69 74 27 73 20 61 20 47 6F 6F 64 20 54 ns it's a Good T
000020: 68 69 6E 67 2E 0D 0A 0D 0A 20 20 20 46 52 4F 4D hing..... FROM
000030: 20 4C 49 54 54 4C 45 20 41 43 4F 52 4E 53 2E 2E LITTLE ACORNS..
000040: 2E 0D 0A 20 20 20 54 68 65 20 6D 61 69 6E 20 72 ... The main r
000050: 6F 75 74 69 6E 65 20 61 64 64 65 64 20 74 6F 20 outine added to
000060: 74 68 65 20 70 72 6F 67 72 61 6D 20 69 73 20 20 the program is
000070: 66 6F 75 6E 64 20 69 6E 20 6C 69 6E 65 73 20 38 found in lines 8
000080: 30 30 20 74 6F 20 38 33 30 2C 20 77 68 69 63 68 00 to 830, which
000090: 0D 0A 20 20 20 73 65 61 72 63 68 65 73 20 74 68 .. searches th
0000A0: 65 20 74 72 65 65 20 66 6F 72 20 61 20 67 69 76 e tree for a giv
0000B0: 65 6E 20 77 6F 72 64 2E 20 20 20 54 68 65 20 20 en word. The
0000C0: 69 64 65 61 20 69 73 20 74 68 61 74 20 79 6F 75 idea is that you
0000D0: 20 73 74 6F 72 65 20 74 68 65 20 77 6F 72 64 0D store the word.
0000E0: 0A 20 20 20 69 6E 20 74 68 65 20 76 61 72 69 61 . in the varia
0000F0: 62 6C 65 20 22 77 6F 72 64 24 22 2C 20 61 6E 64 ble "word$", and
000100: 20 20 74 68 65 6E 20 20 47 4F 53 55 42 20 20 38 then GOSUB 8
000110: 30 30 20 20 74 6F 20 20 63 61 6C 6C 20 74 68 65 00 to call the
000120: 20 72 6F 75 74 69 6E 65 2E 20 20 54 68 65 0D 0A routine. The..
000130: 20 20 20 72 6F 75 74 69 6E 65 20 73 65 61 72 63 routine searc
000140: 68 65 73 20 74 68 65 20 74 72 65 65 2E 20 20 49 hes the tree. I
000150: 66 20 74 68 65 20 77 6F 72 64 20 20 69 73 20 66 f the word is f
000160: 6F 75 6E 64 2C 20 74 68 65 6E 20 74 68 65 20 76 ound, then the v
000170: 61 72 69 61 62 6C 65 20 63 77 6F 72 64 0D 0A 20 ariable cword..
000180: 20 20 69 73 20 73 65 74 20 74 6F 20 74 68 65 20 is set to the
000190: 6E 75 6D 62 65 72 20 6F 66 20 20 74 68 61 74 20 number of that
0001A0: 20 77 6F 72 64 2E 20 20 20 4F 74 68 65 72 77 69 word. Otherwi
0001B0: 73 65 20 77 68 65 6E 20 74 68 65 20 73 75 62 72 se when the subr
0001C0: 6F 75 74 69 6E 65 20 65 6E 64 73 2C 0D 0A 20 20 outine ends,..
0001D0: 20 63 77 6F 72 64 20 69 73 20 65 71 75 61 6C 20 cword is equal
0001E0: 74 6F 20 7A 65 72 6F 2C 20 61 6E 64 20 20 74 68 to zero, and th
0001F0: 65 20 20 76 61 72 69 61 62 6C 65 20 20 22 70 61 e variable "pa
Size : 512 (Real : 512)
000000: 20 61 74 20 74 68 65 20 6E 65 77 6C 79 20 61 64 at the newly ad
000010: 64 65 64 20 77 6F 72 64 2C 20 61 6E 64 0D 0A 20 ded word, and..
000020: 20 20 47 4F 53 55 42 20 38 34 30 2C 20 61 6E 6F GOSUB 840, ano
000030: 74 68 65 72 20 6E 65 77 20 20 73 75 62 72 6F 75 ther new subrou
000040: 74 69 6E 65 2E 20 20 20 52 65 6D 65 6D 62 65 72 tine. Remember
000050: 20 20 74 68 61 74 20 20 70 61 72 65 6E 74 20 70 that parent p
000060: 6F 69 6E 74 73 20 74 6F 20 74 68 65 0D 0A 20 20 oints to the..
000070: 20 6C 61 73 74 20 77 6F 72 64 20 74 68 61 74 20 last word that
000080: 77 65 20 20 6C 6F 6F 6B 65 64 20 20 61 74 20 20 we looked at
000090: 69 6E 20 20 74 68 65 20 20 74 72 65 65 2E 20 20 in the tree.
0000A0: 20 4F 75 72 20 20 6E 65 77 20 20 77 6F 72 64 20 Our new word
0000B0: 6E 65 65 64 73 20 74 6F 20 62 65 0D 0A 20 20 20 needs to be..
0000C0: 61 74 74 61 63 68 65 64 20 74 6F 20 74 68 65 20 attached to the
0000D0: 74 72 65 65 20 61 74 20 74 68 69 73 20 70 6F 69 tree at this poi
0000E0: 6E 74 20 2D 20 20 74 68 65 20 6F 6E 6C 79 20 71 nt - the only q
0000F0: 75 65 73 74 69 6F 6E 20 69 73 20 77 68 65 74 68 uestion is wheth
000100: 65 72 20 69 74 20 69 73 20 61 0D 0A 20 20 20 6C er it is a.. l
000110: 65 66 74 20 62 72 61 6E 63 68 20 6F 72 20 61 20 eft branch or a
000120: 72 69 67 68 74 20 62 72 61 6E 63 68 2E 20 20 20 right branch.
000130: 4C 69 6E 65 20 20 38 34 30 20 20 63 6F 6D 70 61 Line 840 compa
000140: 72 65 73 20 74 68 65 20 6E 65 77 20 77 6F 72 64 res the new word
000150: 20 77 69 74 68 20 74 68 65 0D 0A 20 20 20 70 61 with the.. pa
000160: 72 65 6E 74 20 77 6F 72 64 2C 20 61 6E 64 20 73 rent word, and s
000170: 65 74 73 20 75 70 20 6C 65 28 70 61 72 65 6E 74 ets up le(parent
000180: 29 20 6F 72 20 72 69 28 70 61 72 65 6E 74 29 20 ) or ri(parent)
000190: 61 73 20 61 70 70 72 6F 70 72 69 61 74 65 2E 0D as appropriate..
0001A0: 0A 0D 0A 20 20 20 49 20 73 61 69 64 20 49 20 77 ... I said I w
0001B0: 6F 75 6C 64 20 65 78 70 6C 61 69 6E 20 74 68 65 ould explain the
0001C0: 20 73 74 61 72 74 20 6F 66 20 6C 69 6E 65 20 20 start of line
0001D0: 38 30 30 2E 20 20 57 68 79 20 64 6F 20 77 65 20 800. Why do we
0001E0: 73 65 74 20 75 70 20 70 61 72 65 6E 74 20 61 73 set up parent as
0001F0: 0D 0A 20 20 20 7A 65 72 6F 20 61 6E 64 20 63 77 .. zero and cw
Size : 512 (Real : 512)
000000: 72 65 6E 74 22 20 70 6F 69 6E 74 73 20 74 6F 20 rent" points to
000010: 74 68 65 20 70 61 72 74 20 6F 66 0D 0A 20 20 20 the part of..
000020: 74 68 65 20 74 72 65 65 20 74 68 61 74 20 74 68 the tree that th
000030: 65 20 77 6F 72 64 20 73 68 6F 75 6C 64 20 62 65 e word should be
000040: 20 61 74 74 61 63 68 65 64 20 74 6F 2E 0D 0A 0D attached to....
000050: 0A 20 20 20 4C 65 74 27 73 20 73 65 65 20 68 6F . Let's see ho
000060: 77 20 69 74 20 64 6F 65 73 20 69 74 2E 20 20 4C w it does it. L
000070: 69 6E 65 20 38 30 30 20 20 73 65 74 73 20 20 75 ine 800 sets u
000080: 70 20 70 61 72 65 6E 74 20 74 6F 20 62 65 20 7A p parent to be z
000090: 65 72 6F 2C 20 61 6E 64 20 63 77 6F 72 64 0D 0A ero, and cword..
0000A0: 20 20 20 74 6F 20 62 65 20 72 69 28 30 29 2E 20 to be ri(0).
0000B0: 20 49 20 77 69 6C 6C 20 65 78 70 6C 61 69 6E 20 I will explain
0000C0: 77 68 79 20 20 6C 61 74 65 72 2C 20 62 75 74 20 why later, but
0000D0: 69 74 20 62 61 73 69 63 61 6C 6C 79 20 6D 65 61 it basically mea
0000E0: 6E 73 20 74 68 61 74 20 63 77 6F 72 64 0D 0A 20 ns that cword..
0000F0: 20 20 73 74 61 72 74 73 20 6F 66 66 20 61 74 20 starts off at
000100: 74 68 65 20 74 6F 70 20 6F 66 20 74 68 65 20 74 the top of the t
000110: 72 65 65 2E 20 20 20 57 65 20 74 68 65 6E 20 68 ree. We then h
000120: 61 76 65 20 61 20 57 48 49 4C 45 2D 57 45 4E 44 ave a WHILE-WEND
000130: 20 6C 6F 6F 70 2C 20 77 68 69 63 68 0D 0A 20 20 loop, which..
000140: 20 6B 65 65 70 73 20 67 6F 69 6E 67 20 75 6E 74 keeps going unt
000150: 69 6C 20 63 77 6F 72 64 3D 30 2E 20 20 4A 75 73 il cword=0. Jus
000160: 74 20 77 69 74 68 69 6E 20 20 74 68 65 20 20 6C t within the l
000170: 6F 6F 70 2C 20 70 61 72 65 6E 74 20 69 73 20 73 oop, parent is s
000180: 65 74 20 74 6F 20 65 71 75 61 6C 0D 0A 20 20 20 et to equal..
000190: 63 77 6F 72 64 2E 20 20 54 68 69 73 20 6D 65 61 cword. This mea
0001A0: 6E 73 20 74 68 61 74 20 70 61 72 65 6E 74 20 69 ns that parent i
0001B0: 73 20 20 6F 6E 65 20 20 73 74 65 70 20 20 62 65 s one step be
0001C0: 68 69 6E 64 20 20 63 77 6F 72 64 20 2D 20 69 74 hind cword - it
0001D0: 20 70 6F 69 6E 74 73 20 74 6F 0D 0A 20 20 20 77 points to.. w
0001E0: 68 61 74 20 63 77 6F 72 64 20 77 61 73 20 6C 61 hat cword was la
0001F0: 73 74 20 74 69 6D 65 20 72 6F 75 6E 64 2E 0D 0A st time round...
Size : 512 (Real : 512)
000000: 6F 72 64 20 61 73 20 72 69 28 30 29 3F 20 20 57 ord as ri(0)? W
000010: 65 6C 6C 2C 20 72 65 6D 65 6D 62 65 72 20 20 74 ell, remember t
000020: 68 61 74 20 74 6F 20 73 74 61 72 74 20 77 69 74 hat to start wit
000030: 68 20 74 68 65 72 65 20 77 69 6C 6C 20 62 65 0D h there will be.
000040: 0A 20 20 20 6E 6F 74 68 69 6E 67 20 69 6E 20 74 . nothing in t
000050: 68 65 20 74 72 65 65 2E 20 20 4F 75 72 20 72 6F he tree. Our ro
000060: 75 74 69 6E 65 20 20 68 61 73 20 20 74 6F 20 20 utine has to
000070: 63 6F 70 65 20 77 69 74 68 20 73 74 61 72 74 69 cope with starti
000080: 6E 67 20 61 20 74 72 65 65 20 66 72 6F 6D 0D 0A ng a tree from..
000090: 20 20 20 73 63 72 61 74 63 68 2E 20 20 4C 65 74 scratch. Let
0000A0: 27 73 20 73 65 65 20 77 68 61 74 20 68 61 70 70 's see what happ
0000B0: 65 6E 73 2E 20 20 54 68 65 20 20 76 61 72 69 61 ens. The varia
0000C0: 62 6C 65 20 72 69 28 30 29 20 73 74 61 72 74 73 ble ri(0) starts
0000D0: 20 61 73 20 7A 65 72 6F 20 77 68 65 6E 0D 0A 20 as zero when..
0000E0: 20 20 77 65 20 66 69 72 73 74 20 72 75 6E 20 74 we first run t
0000F0: 68 65 20 70 72 6F 67 72 61 6D 2E 20 20 54 68 69 he program. Thi
000100: 73 20 20 6D 65 61 6E 73 20 20 74 68 61 74 20 20 s means that
000110: 77 68 65 6E 20 77 65 20 73 65 61 72 63 68 20 66 when we search f
000120: 6F 72 20 74 68 65 20 66 69 72 73 74 0D 0A 20 20 or the first..
000130: 20 77 6F 72 64 20 65 76 65 72 2C 20 74 68 65 20 word ever, the
000140: 6C 6F 6F 70 20 69 6E 20 6C 69 6E 65 20 38 30 30 loop in line 800
000150: 20 20 77 69 6C 6C 20 20 6E 65 76 65 72 20 67 65 will never ge
000160: 74 20 73 74 61 72 74 65 64 2C 20 61 73 20 63 77 t started, as cw
000170: 6F 72 64 20 69 73 20 7A 65 72 6F 0D 0A 20 20 20 ord is zero..
000180: 73 74 72 61 69 67 68 74 20 61 77 61 79 2E 20 20 straight away.
000190: 57 65 20 72 65 74 75 72 6E 20 66 72 6F 6D 20 74 We return from t
0001A0: 68 65 20 20 73 75 62 72 6F 75 74 69 6E 65 20 77 he subroutine w
0001B0: 69 74 68 20 70 61 72 65 6E 74 20 61 6E 64 20 63 ith parent and c
0001C0: 77 6F 72 64 20 65 71 75 61 6C 0D 0A 20 20 20 74 word equal.. t
0001D0: 6F 20 7A 65 72 6F 2E 20 20 4C 69 6E 65 20 31 36 o zero. Line 16
0001E0: 30 20 61 64 64 73 20 74 68 65 20 66 69 72 73 74 0 adds the first
0001F0: 20 77 6F 72 64 20 74 6F 20 74 68 65 20 61 72 72 word to the arr
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 4C 69 6E 65 20 38 31 30 20 69 73 .. Line 810 is
000010: 20 73 74 72 61 69 67 68 74 66 6F 72 77 61 72 64 straightforward
000020: 2E 20 20 49 66 20 74 68 65 20 20 77 6F 72 64 20 . If the word
000030: 20 77 65 20 20 61 72 65 20 6C 6F 6F 6B 69 6E 67 we are looking
000040: 20 66 6F 72 2C 20 77 6F 72 64 24 2C 20 69 73 0D for, word$, is.
000050: 0A 20 20 20 65 71 75 61 6C 20 74 6F 20 74 68 65 . equal to the
000060: 20 77 6F 72 64 20 77 65 20 61 72 65 20 70 6F 69 word we are poi
000070: 6E 74 69 6E 67 20 20 74 6F 20 20 69 6E 20 20 74 nting to in t
000080: 68 65 20 74 72 65 65 2C 20 74 68 65 6E 20 77 65 he tree, then we
000090: 20 65 78 69 74 20 66 72 6F 6D 20 74 68 65 0D 0A exit from the..
0000A0: 20 20 20 73 75 62 72 6F 75 74 69 6E 65 2E 20 20 subroutine.
0000B0: 54 68 69 73 20 6D 65 61 6E 73 20 74 68 61 74 20 This means that
0000C0: 63 77 6F 72 64 20 28 61 6E 64 20 70 61 72 65 6E cword (and paren
0000D0: 74 29 20 61 72 65 20 65 71 75 61 6C 20 74 6F 20 t) are equal to
0000E0: 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 0D 0A 20 the number of..
0000F0: 20 20 74 68 65 20 77 6F 72 64 20 61 73 20 66 6F the word as fo
000100: 75 6E 64 20 69 6E 20 74 68 65 20 77 24 20 61 72 und in the w$ ar
000110: 72 61 79 2E 0D 0A 0D 0A 20 20 20 49 66 20 77 65 ray..... If we
000120: 20 67 65 74 20 74 6F 20 6C 69 6E 65 20 38 32 30 get to line 820
000130: 2C 20 20 74 68 65 6E 20 20 77 6F 72 64 24 20 20 , then word$
000140: 6D 75 73 74 20 20 65 69 74 68 65 72 20 63 6F 6D must either com
000150: 65 20 62 65 66 6F 72 65 20 6F 72 20 61 66 74 65 e before or afte
000160: 72 20 74 68 65 0D 0A 20 20 20 77 6F 72 64 20 69 r the.. word i
000170: 6E 20 74 68 65 20 74 72 65 65 2E 20 20 49 66 20 n the tree. If
000180: 69 74 20 63 6F 6D 65 73 20 62 65 66 6F 72 65 2C it comes before,
000190: 20 20 74 68 65 6E 20 63 77 6F 72 64 20 69 73 20 then cword is
0001A0: 73 65 74 20 74 6F 20 6C 65 28 70 61 72 65 6E 74 set to le(parent
0001B0: 29 20 74 6F 0D 0A 20 20 20 67 6F 20 6C 65 66 74 ) to.. go left
0001C0: 2C 20 6F 74 68 65 72 77 69 73 65 20 77 65 20 67 , otherwise we g
0001D0: 6F 20 72 69 67 68 74 2E 0D 0A 0D 0A 20 20 20 57 o right..... W
0001E0: 65 20 74 68 65 6E 20 63 6F 6D 65 20 74 6F 20 74 e then come to t
0001F0: 68 65 20 57 45 4E 44 2C 20 77 68 69 63 68 20 20 he WEND, which
Size : 512 (Real : 512)
000000: 20 74 68 65 20 20 76 6F 63 61 62 75 6C 61 72 79 the vocabulary
000010: 2C 20 62 75 74 20 77 68 65 6E 20 77 65 20 67 6F , but when we go
000020: 74 20 73 74 75 63 6B 0D 0A 20 20 20 74 72 79 69 t stuck.. tryi
000030: 6E 67 20 74 6F 20 6D 6F 76 65 20 6C 65 66 74 20 ng to move left
000040: 66 72 6F 6D 20 20 22 74 72 65 65 73 22 20 20 77 from "trees" w
000050: 65 20 20 61 6C 73 6F 20 20 66 6F 75 6E 64 20 74 e also found t
000060: 68 65 20 70 6C 61 63 65 20 74 68 61 74 20 22 6C he place that "l
000070: 65 61 76 65 73 22 0D 0A 20 20 20 77 6F 75 6C 64 eaves".. would
000080: 20 67 6F 20 69 6E 20 74 68 65 20 74 72 65 65 2E go in the tree.
000090: 20 20 49 66 20 77 65 20 70 75 74 20 22 6C 65 61 If we put "lea
0000A0: 76 65 73 22 20 69 6E 20 61 74 20 77 24 28 36 29 ves" in at w$(6)
0000B0: 2C 20 77 65 20 63 61 6E 20 73 65 74 20 6C 65 28 , we can set le(
0000C0: 34 29 20 74 6F 0D 0A 20 20 20 36 20 74 6F 20 70 4) to.. 6 to p
0000D0: 6F 69 6E 74 20 66 72 6F 6D 20 22 74 72 65 65 73 oint from "trees
0000E0: 22 20 6C 65 66 74 20 74 6F 20 74 68 65 20 77 6F " left to the wo
0000F0: 72 64 20 22 6C 65 61 76 65 73 22 2E 0D 0A 0D 0A rd "leaves".....
000100: 20 20 20 4E 6F 74 69 63 65 20 74 68 61 74 20 77 Notice that w
000110: 65 20 6F 6E 6C 79 20 6C 6F 6F 6B 65 64 20 61 74 e only looked at
000120: 20 20 74 68 72 65 65 20 20 6F 66 20 20 74 68 65 three of the
000130: 20 20 66 69 76 65 20 77 6F 72 64 73 20 69 6E 20 five words in
000140: 74 68 65 20 74 72 65 65 20 77 68 65 6E 0D 0A 20 the tree when..
000150: 20 20 73 65 61 72 63 68 69 6E 67 20 66 6F 72 20 searching for
000160: 22 6C 65 61 76 65 73 22 2E 20 20 54 68 69 73 20 "leaves". This
000170: 69 6D 70 72 6F 76 65 73 20 20 74 68 65 20 20 73 improves the s
000180: 70 65 65 64 20 6F 66 20 73 65 61 72 63 68 69 6E peed of searchin
000190: 67 20 66 6F 72 20 77 6F 72 64 73 2E 0D 0A 20 20 g for words...
0001A0: 20 49 66 20 77 65 20 68 61 64 20 66 69 76 65 20 If we had five
0001B0: 68 75 6E 64 72 65 64 20 77 6F 72 64 73 2C 20 79 hundred words, y
0001C0: 6F 75 20 20 6D 69 67 68 74 20 20 65 78 70 65 63 ou might expec
0001D0: 74 20 20 74 6F 20 68 61 76 65 20 74 6F 20 6C 6F t to have to lo
0001E0: 6F 6B 20 61 74 20 74 68 72 65 65 0D 0A 20 20 20 ok at three..
0001F0: 68 75 6E 64 72 65 64 20 20 6F 66 20 74 68 65 6D hundred of them
Size : 512 (Real : 512)
000000: 77 69 6C 6C 20 20 72 65 74 75 72 6E 20 20 75 73 will return us
000010: 20 74 6F 20 74 68 65 20 73 74 61 72 74 20 6F 66 to the start of
000020: 20 74 68 65 20 6C 6F 6F 70 0D 0A 20 20 20 70 72 the loop.. pr
000030: 6F 76 69 64 65 64 20 74 68 61 74 20 63 77 6F 72 ovided that cwor
000040: 64 20 69 73 20 6E 6F 74 20 7A 65 72 6F 2E 20 20 d is not zero.
000050: 49 66 20 63 77 6F 72 64 20 69 73 20 7A 65 72 6F If cword is zero
000060: 20 74 68 69 73 20 6D 65 61 6E 73 20 74 68 61 74 this means that
000070: 20 77 65 20 68 61 76 65 0D 0A 20 20 20 63 6F 6D we have.. com
000080: 65 20 74 6F 20 74 68 65 20 65 6E 64 20 6F 66 20 e to the end of
000090: 74 68 65 20 74 72 65 65 2E 20 20 57 65 20 68 61 the tree. We ha
0000A0: 76 65 20 20 6E 6F 74 20 66 6F 75 6E 64 20 74 68 ve not found th
0000B0: 65 20 77 6F 72 64 2C 20 61 6E 64 20 74 68 65 72 e word, and ther
0000C0: 65 20 69 73 20 6E 6F 0D 0A 20 20 20 70 6F 69 6E e is no.. poin
0000D0: 74 20 69 6E 20 73 65 61 72 63 68 69 6E 67 20 20 t in searching
0000E0: 66 75 72 74 68 65 72 2E 20 20 20 54 68 65 20 20 further. The
0000F0: 6C 6F 6F 70 20 20 65 6E 64 73 2C 20 20 61 6E 64 loop ends, and
000100: 20 20 77 65 20 20 52 45 54 55 52 4E 20 20 66 72 we RETURN fr
000110: 6F 6D 20 74 68 65 0D 0A 20 20 20 73 75 62 72 6F om the.. subro
000120: 75 74 69 6E 65 20 77 69 74 68 20 63 77 6F 72 64 utine with cword
000130: 20 65 71 75 61 6C 20 74 6F 20 7A 65 72 6F 2C 20 equal to zero,
000140: 61 6E 64 20 20 70 61 72 65 6E 74 20 70 6F 69 6E and parent poin
000150: 74 69 6E 67 20 74 6F 20 74 68 65 20 6C 61 73 74 ting to the last
000160: 20 77 6F 72 64 0D 0A 20 20 20 74 68 61 74 20 77 word.. that w
000170: 65 20 6C 6F 6F 6B 65 64 20 61 74 20 69 6E 20 74 e looked at in t
000180: 68 65 20 74 72 65 65 2E 0D 0A 0D 0A 20 20 20 2E he tree..... .
000190: 2E 2E 4D 49 47 48 54 59 20 4F 41 4B 53 20 44 4F ..MIGHTY OAKS DO
0001A0: 20 47 52 4F 57 0D 0A 20 20 20 48 6F 77 20 64 6F GROW.. How do
0001B0: 65 73 20 74 68 69 73 20 74 69 65 20 69 6E 20 77 es this tie in w
0001C0: 69 74 68 20 74 68 65 20 6D 61 69 6E 20 70 72 6F ith the main pro
0001D0: 67 72 61 6D 3F 20 20 48 65 72 65 20 74 68 65 20 gram? Here the
0001E0: 6D 61 69 6E 20 6C 69 6E 65 73 20 74 6F 20 63 68 main lines to ch
0001F0: 61 6E 67 65 0D 0A 20 20 20 61 72 65 20 31 35 30 ange.. are 150
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 31 38 20 2D 20 57 41 43 43 49 20 31 tch 18 - WACCI 1
000020: 32 37 2C 20 4A 61 6E 20 31 39 39 39 2C 20 70 2E 27, Jan 1999, p.
000030: 20 32 32 2D 32 34 0D 0A 20 20 20 50 52 4F 47 52 22-24.. PROGR
000040: 41 4D 4D 45 52 53 27 20 50 41 54 43 48 20 31 38 AMMERS' PATCH 18
000050: 0D 0A 20 20 20 42 79 20 4D 61 74 74 68 65 77 20 .. By Matthew
000060: 50 68 69 6C 6C 69 70 73 0D 0A 0D 0A 20 20 20 48 Phillips.... H
000070: 61 76 65 20 79 6F 75 20 65 76 65 72 20 74 68 6F ave you ever tho
000080: 75 67 68 74 20 68 6F 77 20 62 6F 72 69 6E 67 20 ught how boring
000090: 20 79 6F 75 72 20 20 63 6F 6D 70 75 74 65 72 27 your computer'
0000A0: 73 20 20 6D 65 6D 6F 72 79 20 69 73 3F 20 20 54 s memory is? T
0000B0: 6F 20 74 68 65 20 5A 38 30 0D 0A 20 20 20 70 72 o the Z80.. pr
0000C0: 6F 63 65 73 73 6F 72 20 69 74 20 6A 75 73 74 20 ocessor it just
0000D0: 6C 6F 6F 6B 73 20 6C 69 6B 65 20 36 35 35 33 36 looks like 65536
0000E0: 20 62 79 74 65 73 2C 20 6F 6E 65 20 61 66 74 65 bytes, one afte
0000F0: 72 20 74 68 65 20 6F 74 68 65 72 2E 20 20 54 68 r the other. Th
000100: 61 74 27 73 20 61 6C 6C 0D 0A 20 20 20 76 65 72 at's all.. ver
000110: 79 20 77 65 6C 6C 20 66 6F 72 20 73 74 6F 72 69 y well for stori
000120: 6E 67 20 74 68 65 20 4E 61 74 69 6F 6E 61 6C 20 ng the National
000130: 4C 6F 74 74 65 72 79 20 20 72 65 73 75 6C 74 73 Lottery results
000140: 20 66 6F 72 20 74 68 65 20 6E 65 78 74 20 39 30 for the next 90
000150: 20 79 65 61 72 73 2C 0D 0A 20 20 20 62 75 74 20 years,.. but
000160: 74 6F 20 64 6F 20 73 6F 6D 65 74 68 69 6E 67 20 to do something
000170: 20 75 73 65 66 75 6C 20 20 77 69 74 68 20 20 69 useful with i
000180: 74 2C 20 20 77 65 20 20 68 61 76 65 20 20 74 6F t, we have to
000190: 20 20 69 6D 70 6F 73 65 20 20 73 6F 6D 65 20 73 impose some s
0001A0: 6F 72 74 20 6F 66 0D 0A 20 20 20 73 74 72 75 63 ort of.. struc
0001B0: 74 75 72 65 20 73 6F 20 74 68 61 74 20 77 65 20 ture so that we
0001C0: 20 63 61 6E 20 20 73 74 6F 72 65 2C 20 20 72 65 can store, re
0001D0: 74 72 69 65 76 65 20 20 61 6E 64 20 20 6D 61 6E trieve and man
0001E0: 69 70 75 6C 61 74 65 20 63 6F 6D 70 6C 65 78 20 ipulate complex
0001F0: 64 61 74 61 2E 0D 0A 20 20 20 52 65 61 64 20 6F data... Read o
Size : 512 (Real : 512)
000000: 61 79 20 61 74 20 77 24 28 31 29 2C 20 63 77 6F ay at w$(1), cwo
000010: 72 64 20 69 73 20 73 65 74 0D 0A 20 20 20 74 6F rd is set.. to
000020: 20 31 2C 20 61 6E 64 20 77 65 20 47 4F 53 55 42 1, and we GOSUB
000030: 20 38 34 30 2E 20 20 54 68 65 20 20 6E 65 77 20 840. The new
000040: 20 77 6F 72 64 20 69 73 20 63 6F 6D 70 61 72 65 word is compare
000050: 64 20 77 69 74 68 20 77 24 28 70 61 72 65 6E 74 d with w$(parent
000060: 29 2C 20 77 68 69 63 68 0D 0A 20 20 20 69 73 20 ), which.. is
000070: 77 24 28 30 29 2C 20 61 6E 64 20 61 6C 77 61 79 w$(0), and alway
000080: 73 20 74 68 65 20 65 6D 70 74 79 20 73 74 72 69 s the empty stri
000090: 6E 67 2E 20 20 20 54 68 65 20 6E 65 77 20 77 6F ng. The new wo
0000A0: 72 64 20 69 73 20 74 68 65 72 65 66 6F 72 65 20 rd is therefore
0000B0: 67 72 65 61 74 65 72 0D 0A 20 20 20 74 68 61 6E greater.. than
0000C0: 20 77 24 28 70 61 72 65 6E 74 29 2C 20 61 6E 64 w$(parent), and
0000D0: 20 73 6F 20 72 69 28 30 29 20 69 73 20 73 65 74 so ri(0) is set
0000E0: 20 74 6F 20 31 2C 20 74 68 65 20 76 61 6C 75 65 to 1, the value
0000F0: 20 6F 66 20 63 77 6F 72 64 2E 0D 0A 0D 0A 20 20 of cword.....
000100: 20 41 6E 64 20 74 68 61 74 27 73 20 61 6C 6C 20 And that's all
000110: 74 68 65 72 65 20 69 73 20 74 6F 20 69 74 3A 20 there is to it:
000120: 20 6E 65 78 74 20 20 74 69 6D 65 20 38 30 30 20 next time 800
000130: 69 73 20 63 61 6C 6C 65 64 2C 20 63 77 6F 72 64 is called, cword
000140: 20 77 69 6C 6C 20 73 74 61 72 74 0D 0A 20 20 20 will start..
000150: 6F 66 66 20 61 73 20 31 2C 20 74 68 65 20 74 6F off as 1, the to
000160: 70 20 6F 66 20 74 68 65 20 74 72 65 65 2C 20 61 p of the tree, a
000170: 6E 64 20 65 76 65 72 79 74 68 69 6E 67 20 77 69 nd everything wi
000180: 6C 6C 20 77 6F 72 6B 20 61 73 20 64 65 73 63 72 ll work as descr
000190: 69 62 65 64 2E 0D 0A 0D 0A 20 20 20 42 4F 4E 53 ibed..... BONS
0001A0: 41 49 20 42 45 45 43 48 0D 0A 20 20 20 54 68 65 AI BEECH.. The
0001B0: 20 6F 74 68 65 72 20 61 6C 74 65 72 61 74 69 6F other alteratio
0001C0: 6E 73 20 74 6F 20 74 68 65 20 70 72 6F 67 72 61 ns to the progra
0001D0: 6D 20 69 6E 63 6C 75 64 65 20 20 6C 69 6E 65 73 m include lines
0001E0: 20 36 32 30 20 61 6E 64 20 36 32 35 2C 20 77 68 620 and 625, wh
0001F0: 69 63 68 20 61 72 65 0D 0A 20 20 20 70 61 72 74 ich are.. part
Size : 512 (Real : 512)
000000: 6E 20 74 6F 20 6C 65 61 72 6E 20 61 62 6F 75 74 n to learn about
000010: 20 4D 72 20 42 6C 61 63 6B 20 20 74 68 65 20 20 Mr Black the
000020: 6E 65 77 73 61 67 65 6E 74 20 61 6E 64 20 68 69 newsagent and hi
000030: 73 20 69 6D 61 67 69 6E 61 74 69 76 65 20 75 73 s imaginative us
000040: 65 20 6F 66 0D 0A 20 20 20 61 72 72 61 79 73 20 e of.. arrays
000050: 61 6E 64 20 6C 69 6E 6B 65 64 20 6C 69 73 74 73 and linked lists
000060: 2E 0D 0A 0D 0A 20 20 20 45 4E 54 4F 4D 4F 4C 4F ..... ENTOMOLO
000070: 47 59 20 43 4F 52 4E 45 52 0D 0A 20 20 20 57 65 GY CORNER.. We
000080: 6C 6C 2C 20 49 20 70 72 6F 6D 69 73 65 64 20 61 ll, I promised a
000090: 6E 20 61 6E 73 77 65 72 20 74 6F 20 74 68 65 20 n answer to the
0000A0: 70 75 7A 7A 6C 65 20 49 20 73 65 74 20 6C 61 73 puzzle I set las
0000B0: 74 20 6D 6F 6E 74 68 2E 20 20 54 68 65 20 70 72 t month. The pr
0000C0: 6F 67 72 61 6D 20 61 73 0D 0A 20 20 20 69 74 20 ogram as.. it
0000D0: 73 74 6F 6F 64 20 63 6F 6E 74 61 69 6E 65 64 20 stood contained
0000E0: 61 20 62 75 67 2C 20 77 68 69 63 68 20 63 6F 75 a bug, which cou
0000F0: 6C 64 20 62 65 20 63 75 72 65 64 20 62 79 20 61 ld be cured by a
000100: 64 64 69 6E 67 20 74 68 65 73 65 20 63 6F 6D 6D dding these comm
000110: 61 6E 64 73 20 74 6F 0D 0A 20 20 20 74 68 65 20 ands to.. the
000120: 65 6E 64 20 6F 66 20 6C 69 6E 65 20 34 33 35 3A end of line 435:
000130: 0D 0A 0D 0A 20 20 20 20 20 77 24 28 6E 77 6F 72 .... w$(nwor
000140: 64 73 29 3D 22 22 3A 6C 6B 28 6E 77 6F 72 64 73 ds)="":lk(nwords
000150: 2C 30 29 3D 30 0D 0A 0D 0A 20 20 20 49 74 20 6D ,0)=0.... It m
000160: 69 67 68 74 20 73 65 65 6D 20 75 6E 6E 65 63 63 ight seem unnecc
000170: 65 73 73 61 72 79 20 74 6F 20 73 65 74 20 61 20 essary to set a
000180: 20 70 72 65 76 69 6F 75 73 6C 79 20 75 6E 75 73 previously unus
000190: 65 64 20 65 6C 65 6D 65 6E 74 20 6F 66 20 61 20 ed element of a
0001A0: 73 74 72 69 6E 67 0D 0A 20 20 20 61 72 72 61 79 string.. array
0001B0: 20 74 6F 20 74 68 65 20 20 65 6D 70 74 79 20 20 to the empty
0001C0: 73 74 72 69 6E 67 2C 20 20 61 6E 64 20 20 74 6F string, and to
0001D0: 20 20 73 65 74 20 20 61 20 20 70 72 65 76 69 6F set a previo
0001E0: 75 73 6C 79 20 75 6E 75 73 65 64 20 6E 75 6D 65 usly unused nume
0001F0: 72 69 63 61 6C 0D 0A 20 20 20 76 61 72 69 61 62 rical.. variab
Size : 512 (Real : 512)
000000: 20 6F 66 20 74 68 65 20 6C 6F 61 64 69 6E 67 20 of the loading
000010: 72 6F 75 74 69 6E 65 2E 20 20 57 68 65 6E 20 6C routine. When l
000020: 6F 61 64 69 6E 67 20 61 20 73 61 76 65 64 20 76 oading a saved v
000030: 6F 63 61 62 75 6C 61 72 79 20 66 72 6F 6D 20 64 ocabulary from d
000040: 69 73 63 20 77 65 0D 0A 20 20 20 68 61 76 65 20 isc we.. have
000050: 74 6F 20 62 75 69 6C 64 20 75 70 20 74 68 65 20 to build up the
000060: 74 72 65 65 20 70 72 6F 70 65 72 6C 79 2E 20 20 tree properly.
000070: 49 74 20 75 73 65 73 20 74 68 65 20 73 61 6D 65 It uses the same
000080: 20 72 6F 75 74 69 6E 65 73 2C 20 62 75 74 20 63 routines, but c
000090: 61 6E 20 62 65 0D 0A 20 20 20 73 69 6D 70 6C 65 an be.. simple
0000A0: 72 20 62 65 63 61 75 73 65 20 77 65 20 6B 6E 6F r because we kno
0000B0: 77 20 74 68 61 74 20 65 61 63 68 20 20 77 6F 72 w that each wor
0000C0: 64 20 20 72 65 61 64 20 20 69 6E 20 20 66 72 6F d read in fro
0000D0: 6D 20 64 69 73 63 20 77 69 6C 6C 20 62 65 20 61 m disc will be a
0000E0: 20 6E 65 77 0D 0A 20 20 20 6F 6E 65 2E 0D 0A 0D new.. one....
0000F0: 0A 20 20 20 49 20 68 61 76 65 20 61 6C 73 6F 20 . I have also
000100: 61 64 64 65 64 20 61 20 73 75 62 72 6F 75 74 69 added a subrouti
000110: 6E 65 20 61 74 20 39 30 30 2C 20 77 68 69 63 68 ne at 900, which
000120: 20 69 73 20 63 61 6C 6C 65 64 20 62 79 20 6C 69 is called by li
000130: 6E 65 20 34 33 2E 20 20 49 66 20 79 6F 75 0D 0A ne 43. If you..
000140: 20 20 20 74 79 70 65 20 22 2A 53 48 4F 57 54 52 type "*SHOWTR
000150: 45 45 22 20 69 6E 73 74 65 61 64 20 6F 66 20 20 EE" instead of
000160: 61 20 20 73 65 6E 74 65 6E 63 65 2C 20 20 74 68 a sentence, th
000170: 65 20 20 73 75 62 72 6F 75 74 69 6E 65 20 20 77 e subroutine w
000180: 69 6C 6C 20 64 69 73 70 6C 61 79 20 61 0D 0A 20 ill display a..
000190: 20 20 72 65 70 72 65 73 65 6E 74 61 74 69 6F 6E representation
0001A0: 20 6F 66 20 74 68 65 20 66 69 72 73 74 20 66 69 of the first fi
0001B0: 76 65 20 6C 61 79 65 72 73 20 20 6F 66 20 20 74 ve layers of t
0001C0: 68 65 20 20 74 72 65 65 20 6F 6E 20 73 63 72 65 he tree on scre
0001D0: 65 6E 2E 20 20 59 6F 75 20 63 61 6E 0D 0A 20 20 en. You can..
0001E0: 20 75 73 65 20 74 68 69 73 20 74 6F 20 73 65 65 use this to see
0001F0: 20 68 6F 77 20 74 68 65 20 74 72 65 65 20 67 72 how the tree gr
Size : 512 (Real : 512)
000000: 6C 65 20 74 6F 20 7A 65 72 6F 2C 20 62 65 63 61 le to zero, beca
000010: 75 73 65 20 77 68 65 6E 20 79 6F 75 20 20 64 69 use when you di
000020: 6D 65 6E 73 69 6F 6E 20 20 61 72 72 61 79 73 20 mension arrays
000030: 69 6E 20 42 41 53 49 43 20 74 68 61 74 20 69 73 in BASIC that is
000040: 20 68 6F 77 0D 0A 20 20 20 74 68 65 20 76 61 72 how.. the var
000050: 69 61 62 6C 65 73 20 73 74 61 72 74 20 6F 75 74 iables start out
000060: 2E 20 20 49 6E 20 66 61 63 74 2C 20 20 69 74 20 . In fact, it
000070: 20 77 6F 75 6C 64 20 62 65 20 75 6E 6E 65 63 63 would be unnecc
000080: 65 73 61 72 79 2C 20 62 75 74 20 74 68 65 72 65 esary, but there
000090: 20 69 73 0D 0A 20 20 20 6F 6E 65 20 63 69 72 63 is.. one circ
0000A0: 75 6D 73 74 61 6E 63 65 20 69 6E 20 77 68 69 63 umstance in whic
0000B0: 68 20 74 68 65 73 65 20 76 61 72 69 61 62 6C 65 h these variable
0000C0: 73 20 20 6D 69 67 68 74 20 68 61 76 65 20 62 65 s might have be
0000D0: 65 6E 20 75 73 65 64 20 62 65 66 6F 72 65 20 61 en used before a
0000E0: 6E 64 0D 0A 20 20 20 6D 69 67 68 74 20 68 61 76 nd.. might hav
0000F0: 65 20 61 63 71 75 69 72 65 64 20 64 69 66 66 65 e acquired diffe
000100: 72 65 6E 74 20 76 61 6C 75 65 73 2E 0D 0A 0D 0A rent values.....
000110: 20 20 20 4E 6F 72 6D 61 6C 6C 79 20 74 68 65 20 Normally the
000120: 76 61 6C 75 65 20 6F 66 20 6E 77 6F 72 64 73 20 value of nwords
000130: 77 69 6C 6C 20 6A 75 73 74 20 69 6E 63 72 65 61 will just increa
000140: 73 65 2C 20 20 62 75 74 20 69 66 20 77 65 20 68 se, but if we h
000150: 61 64 20 62 75 69 6C 74 20 75 70 20 61 0D 0A 20 ad built up a..
000160: 20 20 6C 61 72 67 65 20 76 6F 63 61 62 75 6C 61 large vocabula
000170: 72 79 20 69 6E 20 6D 65 6D 6F 72 79 2C 20 61 6E ry in memory, an
000180: 64 20 20 74 68 65 6E 20 20 6C 6F 61 64 65 64 20 d then loaded
000190: 20 61 6E 20 6F 6C 64 65 72 20 73 6D 61 6C 6C 65 an older smalle
0001A0: 72 20 76 6F 63 61 62 75 6C 61 72 79 0D 0A 20 20 r vocabulary..
0001B0: 20 66 69 6C 65 20 66 72 6F 6D 20 64 69 73 63 2C file from disc,
0001C0: 20 6E 77 6F 72 64 73 20 77 6F 75 6C 64 20 64 65 nwords would de
0001D0: 63 72 65 61 73 65 2E 20 20 41 6C 6C 20 20 74 68 crease. All th
0001E0: 65 20 65 78 74 72 61 20 77 6F 72 64 73 20 77 65 e extra words we
0001F0: 20 68 61 64 20 74 61 75 67 68 74 0D 0A 20 20 20 had taught..
Size : 512 (Real : 512)
000000: 6F 77 73 20 20 61 73 20 79 6F 75 20 61 64 64 20 ows as you add
000010: 6E 65 77 20 73 65 6E 74 65 6E 63 65 73 2E 20 20 new sentences.
000020: 54 72 79 20 69 74 20 77 69 74 68 0D 0A 20 20 20 Try it with..
000030: 22 54 68 69 73 20 69 73 20 68 6F 77 20 74 72 65 "This is how tre
000040: 65 73 20 67 72 6F 77 22 2C 20 20 61 6E 64 20 20 es grow", and
000050: 79 6F 75 20 20 73 68 6F 75 6C 64 20 20 67 65 74 you should get
000060: 20 20 74 68 65 20 20 73 61 6D 65 20 74 72 65 65 the same tree
000070: 20 61 73 20 69 6E 20 74 68 65 0D 0A 20 20 20 64 as in the.. d
000080: 69 61 67 72 61 6D 2E 0D 0A 1A 24 24 24 FF 00 FF iagram....$$$...
000090: 50 41 54 43 48 0D 0A 20 20 20 42 79 20 4D 61 74 PATCH.. By Mat
0000A0: 74 68 65 77 20 50 68 69 6C 6C 69 70 73 0D 0A 0D thew Phillips...
0000B0: 0A 20 20 20 57 65 20 72 65 74 75 72 6E 20 74 6F . We return to
0000C0: 20 74 68 65 20 63 6F 6D 70 75 74 65 72 20 63 68 the computer ch
0000D0: 61 74 20 20 70 72 6F 67 72 61 6D 2C 20 20 41 49 at program, AI
0000E0: 2C 20 20 77 68 69 63 68 20 77 65 20 66 69 72 73 , which we firs
0000F0: 74 20 6C 6F 6F 6B 65 64 20 61 74 20 69 6E 0D 0A t looked at in..
000100: 61 64 64 65 64 20 61 20 73 75 62 72 6F 75 74 69 added a subrouti
000110: 6E 65 20 61 74 20 39 30 30 2C 20 77 68 69 63 68 ne at 900, which
000120: 20 69 73 20 63 61 6C 6C 65 64 20 62 79 20 6C 69 is called by li
000130: 6E 65 20 34 33 2E 20 20 49 66 20 79 6F 75 0D 0A ne 43. If you..
000140: 20 20 20 74 79 70 65 20 22 2A 53 48 4F 57 54 52 type "*SHOWTR
000150: 45 45 22 20 69 6E 73 74 65 61 64 20 6F 66 20 20 EE" instead of
000160: 61 20 20 73 65 6E 74 65 6E 63 65 2C 20 20 74 68 a sentence, th
000170: 65 20 20 73 75 62 72 6F 75 74 69 6E 65 20 20 77 e subroutine w
000180: 69 6C 6C 20 64 69 73 70 6C 61 79 20 61 0D 0A 20 ill display a..
000190: 20 20 72 65 70 72 65 73 65 6E 74 61 74 69 6F 6E representation
0001A0: 20 6F 66 20 74 68 65 20 66 69 72 73 74 20 66 69 of the first fi
0001B0: 76 65 20 6C 61 79 65 72 73 20 20 6F 66 20 20 74 ve layers of t
0001C0: 68 65 20 20 74 72 65 65 20 6F 6E 20 73 63 72 65 he tree on scre
0001D0: 65 6E 2E 20 20 59 6F 75 20 63 61 6E 0D 0A 20 20 en. You can..
0001E0: 20 75 73 65 20 74 68 69 73 20 74 6F 20 73 65 65 use this to see
0001F0: 20 68 6F 77 20 74 68 65 20 74 72 65 65 20 67 72 how the tree gr
Size : 512 (Real : 512)
000000: 69 74 20 77 6F 75 6C 64 20 73 74 69 6C 6C 20 62 it would still b
000010: 65 20 74 68 65 72 65 20 20 69 6E 20 20 6D 65 6D e there in mem
000020: 6F 72 79 2C 20 20 62 75 74 20 20 61 72 65 20 20 ory, but are
000030: 6E 6F 74 20 20 6C 6F 6F 6B 65 64 20 61 74 20 62 not looked at b
000040: 65 63 61 75 73 65 20 74 68 65 0D 0A 20 20 20 70 ecause the.. p
000050: 72 6F 67 72 61 6D 20 6F 6E 6C 79 20 6C 6F 6F 6B rogram only look
000060: 73 20 61 74 20 74 68 65 20 77 24 20 61 6E 64 20 s at the w$ and
000070: 6C 6B 20 20 61 72 72 61 79 73 20 75 70 20 74 6F lk arrays up to
000080: 20 74 68 65 20 70 6F 69 6E 74 20 73 65 74 20 62 the point set b
000090: 79 20 6E 77 6F 72 64 73 2E 0D 0A 20 20 20 49 66 y nwords... If
0000A0: 20 77 65 20 74 68 65 6E 20 74 61 75 67 68 74 20 we then taught
0000B0: 69 74 20 61 20 6E 65 77 20 20 77 6F 72 64 2C 20 it a new word,
0000C0: 20 6F 72 20 20 72 65 71 75 69 72 65 64 20 61 20 or required a
0000D0: 6E 65 77 20 64 75 6D 6D 79 20 6C 69 6E 6B 20 28 new dummy link (
0000E0: 77 68 69 63 68 20 69 73 0D 0A 20 20 20 77 68 61 which is.. wha
0000F0: 74 20 6C 69 6E 65 20 34 33 35 20 69 73 20 64 65 t line 435 is de
000100: 61 6C 69 6E 67 20 77 69 74 68 29 2C 20 20 6E 77 aling with), nw
000110: 6F 72 64 73 20 20 77 6F 75 6C 64 20 69 6E 63 72 ords would incr
000120: 65 61 73 65 20 61 67 61 69 6E 2C 20 61 6E 64 20 ease again, and
000130: 77 65 20 68 61 76 65 0D 0A 20 20 20 74 6F 20 6D we have.. to m
000140: 61 6B 65 20 73 75 72 65 20 74 68 61 74 20 61 6E ake sure that an
000150: 79 20 64 61 74 61 20 72 65 6D 61 69 6E 69 6E 67 y data remaining
000160: 20 20 66 72 6F 6D 20 74 68 65 20 6C 61 72 67 65 from the large
000170: 72 20 76 6F 63 61 62 75 6C 61 72 79 20 61 72 65 r vocabulary are
000180: 20 77 69 70 65 64 0D 0A 20 20 20 73 6F 20 74 68 wiped.. so th
000190: 61 74 20 74 68 65 79 20 64 6F 20 6E 6F 74 20 69 at they do not i
0001A0: 6E 74 65 72 66 65 72 65 20 77 69 74 68 20 74 68 nterfere with th
0001B0: 65 20 63 6F 72 72 65 63 74 20 6F 70 65 72 61 74 e correct operat
0001C0: 69 6F 6E 20 6F 66 20 74 68 65 20 70 72 6F 67 72 ion of the progr
0001D0: 61 6D 2E 0D 0A 0D 0A 20 20 20 54 68 61 74 20 69 am..... That i
0001E0: 73 20 77 68 79 20 77 65 20 6E 65 65 64 20 74 6F s why we need to
0001F0: 20 20 61 64 64 20 20 74 68 6F 73 65 20 20 63 6F add those co
Size : 512 (Real : 512)
000000: 65 20 6A 6F 62 2E 20 20 4C 69 73 74 69 6E 67 20 e job. Listing
000010: 31 20 69 73 20 61 20 70 69 65 63 65 20 20 6F 66 1 is a piece of
000020: 20 20 42 41 53 49 43 20 20 77 68 69 63 68 20 69 BASIC which i
000030: 6E 73 74 61 6C 6C 73 20 61 20 63 6F 75 70 6C 65 nstalls a couple
000040: 20 6F 66 20 52 53 58 0D 0A 20 20 20 63 6F 6D 6D of RSX.. comm
000050: 61 6E 64 73 2C 20 61 6E 64 20 4C 69 73 74 69 6E ands, and Listin
000060: 67 20 32 20 69 73 20 74 68 65 20 61 73 73 65 6D g 2 is the assem
000070: 62 6C 79 20 6C 61 6E 67 75 61 67 65 20 66 6F 72 bly language for
000080: 20 74 68 65 20 52 53 58 73 2E 20 20 3C 3C 54 68 the RSXs. <<Th
000090: 65 79 20 61 72 65 0D 0A 20 20 20 73 61 76 65 64 ey are.. saved
0000A0: 20 6F 6E 20 74 68 65 20 64 69 73 63 20 61 73 20 on the disc as
0000B0: 53 45 4E 44 2E 42 41 53 20 61 6E 64 20 53 45 4E SEND.BAS and SEN
0000C0: 44 2E 41 53 4D 3E 3E 0D 0A 0D 0A 20 20 20 54 6F D.ASM>>.... To
0000D0: 20 75 73 65 20 74 68 65 20 52 53 58 20 63 6F 6D use the RSX com
0000E0: 6D 61 6E 64 73 2C 20 74 79 70 65 20 69 6E 20 4C mands, type in L
0000F0: 69 73 74 69 6E 67 20 20 31 20 20 61 6E 64 20 72 isting 1 and r
000100: 75 6E 20 69 74 2E 20 20 49 66 20 79 6F 75 20 68 un it. If you h
000110: 61 76 65 20 6D 61 64 65 0D 0A 20 20 20 61 6E 79 ave made.. any
000120: 20 6D 69 73 74 61 6B 65 73 20 69 6E 20 20 74 68 mistakes in th
000130: 65 20 20 74 79 70 69 6E 67 2C 20 20 74 68 65 73 e typing, thes
000140: 65 20 20 77 69 6C 6C 20 20 62 65 20 20 73 70 6F e will be spo
000150: 74 74 65 64 20 20 77 68 65 6E 20 20 79 6F 75 20 tted when you
000160: 72 75 6E 20 74 68 65 0D 0A 20 20 20 70 72 6F 67 run the.. prog
000170: 72 61 6D 2E 20 20 4F 6E 63 65 20 74 68 65 20 52 ram. Once the R
000180: 53 58 73 20 61 72 65 20 69 6E 73 74 61 6C 6C 65 SXs are installe
000190: 64 2C 20 79 6F 75 20 20 6E 65 65 64 20 74 6F 20 d, you need to
0001A0: 75 73 65 20 74 68 65 20 7C 43 48 4F 55 54 20 63 use the |CHOUT c
0001B0: 6F 6D 6D 61 6E 64 0D 0A 20 20 20 74 6F 20 73 65 ommand.. to se
0001C0: 6C 65 63 74 20 74 68 65 20 74 79 70 65 20 6F 66 lect the type of
0001D0: 20 4D 49 44 49 20 69 6E 74 65 72 66 61 63 65 20 MIDI interface
0001E0: 79 6F 75 20 61 72 65 20 75 73 69 6E 67 2E 0D 0A you are using...
0001F0: 0D 0A 20 20 20 20 20 7C 43 48 4F 55 54 2C 30 20 .. |CHOUT,0
Size : 512 (Real : 512)
000000: 6D 6D 61 6E 64 73 20 20 74 6F 20 20 74 68 65 20 mmands to the
000010: 65 6E 64 20 6F 66 20 6C 69 6E 65 20 34 33 35 2E end of line 435.
000020: 20 20 49 6E 0D 0A 20 20 20 66 61 63 74 2C 20 74 In.. fact, t
000030: 68 65 72 65 20 69 73 20 61 6E 6F 74 68 65 72 20 here is another
000040: 6C 69 6E 65 20 74 68 61 74 20 6E 65 65 64 73 20 line that needs
000050: 61 6C 74 65 72 69 6E 67 2E 20 20 4C 69 6E 65 20 altering. Line
000060: 31 36 30 20 73 68 6F 75 6C 64 20 72 65 61 64 3A 160 should read:
000070: 0D 0A 0D 0A 20 20 20 31 36 30 20 49 46 20 63 77 .... 160 IF cw
000080: 6F 72 64 3D 30 20 54 48 45 4E 20 6E 77 6F 72 64 ord=0 THEN nword
000090: 73 3D 6E 77 6F 72 64 73 2B 31 3A 77 24 28 6E 77 s=nwords+1:w$(nw
0000A0: 6F 72 64 73 29 3D 77 6F 72 64 24 3A 0D 0A 20 20 ords)=word$:..
0000B0: 20 20 20 20 20 6C 6B 28 6E 77 6F 72 64 73 2C 30 lk(nwords,0
0000C0: 29 3D 30 3A 63 77 6F 72 64 3D 6E 77 6F 72 64 73 )=0:cword=nwords
0000D0: 0D 0A 0D 0A 20 20 20 54 68 65 20 66 75 6C 6C 79 .... The fully
0000E0: 20 64 65 62 75 67 67 65 64 20 76 65 72 73 69 6F debugged versio
0000F0: 6E 20 20 69 73 20 20 6F 6E 20 20 74 68 65 20 20 n is on the
000100: 63 75 72 72 65 6E 74 20 20 50 72 6F 67 72 61 6D current Program
000110: 6D 65 72 73 27 20 50 61 74 63 68 20 64 69 73 63 mers' Patch disc
000120: 2C 0D 0A 20 20 20 57 41 43 43 49 20 50 44 20 39 ,.. WACCI PD 9
000130: 38 2E 20 20 57 68 69 6C 65 20 77 65 20 61 72 65 8. While we are
000140: 20 74 61 6C 6B 69 6E 67 20 61 62 6F 75 74 20 62 talking about b
000150: 75 67 73 2C 20 49 20 75 6E 65 61 72 74 68 65 64 ugs, I unearthed
000160: 20 6F 6E 65 20 69 6E 20 74 68 65 20 53 43 41 4E one in the SCAN
000170: 0D 0A 20 20 20 52 53 58 20 74 68 61 74 20 77 61 .. RSX that wa
000180: 73 20 70 75 62 6C 69 73 68 65 64 20 62 61 63 6B s published back
000190: 20 69 6E 20 20 57 41 43 43 49 20 20 6E 6F 2E 20 in WACCI no.
0001A0: 20 31 32 32 20 20 69 6E 20 4A 75 6E 65 2E 20 20 122 in June.
0001B0: 54 68 65 20 70 72 6F 67 72 61 6D 20 77 61 73 0D The program was.
0001C0: 0A 20 20 20 6D 65 61 6E 74 20 74 6F 20 70 72 69 . meant to pri
0001D0: 6E 74 20 75 70 20 42 41 53 49 43 20 6C 69 6E 65 nt up BASIC line
0001E0: 73 20 20 74 68 61 74 20 20 77 6F 75 6C 64 20 20 s that would
0001F0: 6E 6F 74 20 20 72 75 6E 20 20 6F 6E 20 20 61 20 not run on a
Size : 512 (Real : 512)
000000: 20 66 69 6E 64 20 61 20 76 61 6C 75 65 20 78 20 find a value x
000010: 77 68 65 72 65 20 6E 65 78 74 6E 61 6D 65 28 78 where nextname(x
000020: 29 20 20 69 73 20 20 7A 65 72 6F 2E 20 20 54 68 ) is zero. Th
000030: 69 73 20 69 6E 64 69 63 61 74 65 73 20 74 68 61 is indicates tha
000040: 74 20 74 68 65 72 65 20 61 72 65 0D 0A 20 20 20 t there are..
000050: 6E 6F 20 66 75 72 74 68 65 72 20 65 6E 74 72 69 no further entri
000060: 65 73 20 69 6E 20 74 68 65 20 6C 69 73 74 2E 0D es in the list..
000070: 0A 0D 0A 20 20 20 31 30 20 44 49 4D 20 6E 61 6D ... 10 DIM nam
000080: 65 24 28 35 29 2C 6E 65 78 74 6E 61 6D 65 28 35 e$(5),nextname(5
000090: 29 0D 0A 20 20 20 32 30 20 46 4F 52 20 78 3D 31 ).. 20 FOR x=1
0000A0: 20 54 4F 20 35 0D 0A 20 20 20 33 30 20 52 45 41 TO 5.. 30 REA
0000B0: 44 20 6E 61 6D 65 24 28 78 29 3A 47 4F 53 55 42 D name$(x):GOSUB
0000C0: 20 31 34 30 0D 0A 20 20 20 34 30 20 4E 45 58 54 140.. 40 NEXT
0000D0: 0D 0A 20 20 20 35 30 20 50 52 49 4E 54 22 20 78 .. 50 PRINT" x
0000E0: 20 6E 61 6D 65 24 28 78 29 22 54 41 42 28 31 35 name$(x)"TAB(15
0000F0: 29 22 6E 65 78 74 6E 61 6D 65 28 78 29 22 0D 0A )"nextname(x)"..
000100: 20 20 20 36 30 20 46 4F 52 20 78 3D 30 20 54 4F 60 FOR x=0 TO
000110: 20 35 0D 0A 20 20 20 37 30 20 50 52 49 4E 54 20 5.. 70 PRINT
000120: 78 3B 6E 61 6D 65 24 28 78 29 3B 54 41 42 28 31 x;name$(x);TAB(1
000130: 34 29 3B 6E 65 78 74 6E 61 6D 65 28 78 29 0D 0A 4);nextname(x)..
000140: 20 20 20 38 30 20 4E 45 58 54 0D 0A 20 20 20 39 80 NEXT.. 9
000150: 30 20 50 52 49 4E 54 3A 50 52 49 4E 54 22 49 6E 0 PRINT:PRINT"In
000160: 20 6F 72 64 65 72 3A 22 0D 0A 20 20 20 31 30 30 order:".. 100
000170: 20 78 3D 30 3A 57 48 49 4C 45 20 6E 65 78 74 6E x=0:WHILE nextn
000180: 61 6D 65 28 78 29 3E 30 0D 0A 20 20 20 31 31 30 ame(x)>0.. 110
000190: 20 78 3D 6E 65 78 74 6E 61 6D 65 28 78 29 3A 50 x=nextname(x):P
0001A0: 52 49 4E 54 20 6E 61 6D 65 24 28 78 29 0D 0A 20 RINT name$(x)..
0001B0: 20 20 31 32 30 20 57 45 4E 44 3A 45 4E 44 0D 0A 120 WEND:END..
0001C0: 20 20 20 31 33 30 20 44 41 54 41 20 45 67 62 65 130 DATA Egbe
0001D0: 72 74 2C 41 6C 66 72 65 64 2C 43 68 61 72 6C 69 rt,Alfred,Charli
0001E0: 65 2C 42 65 72 74 72 61 6E 64 2C 44 65 73 6D 6F e,Bertrand,Desmo
0001F0: 6E 64 0D 0A 20 20 20 31 34 30 20 52 45 4D 20 69 nd.. 140 REM i
Size : 512 (Real : 512)
000000: 68 65 72 65 20 69 73 20 61 6E 6F 74 68 65 72 20 here is another
000010: 65 6C 65 6D 65 6E 74 20 69 6E 20 74 68 65 20 6C element in the l
000020: 69 73 74 2C 20 6C 69 6E 65 0D 0A 20 20 20 31 31 ist, line.. 11
000030: 30 20 6D 6F 76 65 73 20 78 20 6F 6E 20 74 6F 20 0 moves x on to
000040: 74 68 65 20 6E 65 78 74 20 65 6C 65 6D 65 6E 74 the next element
000050: 20 61 6E 64 20 70 72 69 6E 74 73 20 69 74 20 75 and prints it u
000060: 70 2E 0D 0A 0D 0A 20 20 20 57 48 41 54 27 53 20 p..... WHAT'S
000070: 49 4E 20 41 20 4C 49 53 54 3F 0D 0A 20 20 20 57 IN A LIST?.. W
000080: 68 61 74 20 61 72 65 20 74 68 65 20 61 64 76 61 hat are the adva
000090: 6E 74 61 67 65 73 20 6F 66 20 20 73 74 6F 72 69 ntages of stori
0000A0: 6E 67 20 20 74 68 69 6E 67 73 20 20 69 6E 20 20 ng things in
0000B0: 6C 69 6E 6B 65 64 20 6C 69 73 74 73 3F 20 20 55 linked lists? U
0000C0: 73 75 61 6C 6C 79 20 69 6E 0D 0A 20 20 20 42 41 sually in.. BA
0000D0: 53 49 43 20 77 65 20 73 74 6F 72 65 20 74 68 65 SIC we store the
0000E0: 20 69 74 65 6D 73 20 69 6E 20 74 68 65 20 72 69 items in the ri
0000F0: 67 68 74 20 6F 72 64 65 72 20 69 6E 20 61 6E 20 ght order in an
000100: 61 72 72 61 79 2E 20 20 54 68 65 20 64 69 73 61 array. The disa
000110: 64 76 61 6E 74 61 67 65 0D 0A 20 20 20 6F 66 20 dvantage.. of
000120: 74 68 69 73 20 61 70 70 72 6F 61 63 68 20 63 6F this approach co
000130: 6D 65 73 20 77 68 65 6E 20 79 6F 75 20 68 61 76 mes when you hav
000140: 65 20 20 74 6F 20 20 69 6E 73 65 72 74 20 61 20 e to insert a
000150: 6E 65 77 20 69 74 65 6D 20 69 6E 74 6F 20 74 68 new item into th
000160: 65 20 61 72 72 61 79 0D 0A 20 20 20 69 6E 20 74 e array.. in t
000170: 68 65 20 72 69 67 68 74 20 70 6F 73 69 74 69 6F he right positio
000180: 6E 2E 20 20 41 6C 6C 20 6F 66 20 74 68 65 20 66 n. All of the f
000190: 6F 6C 6C 6F 77 69 6E 67 20 65 6C 65 6D 65 6E 74 ollowing element
0001A0: 73 20 69 6E 20 74 68 65 20 61 72 72 61 79 20 68 s in the array h
0001B0: 61 76 65 20 74 6F 0D 0A 20 20 20 62 65 20 73 68 ave to.. be sh
0001C0: 75 66 66 6C 65 64 20 64 6F 77 6E 20 74 6F 20 6D uffled down to m
0001D0: 61 6B 65 20 72 6F 6F 6D 2E 20 20 20 49 66 20 20 ake room. If
0001E0: 79 6F 75 20 20 68 61 64 20 20 61 20 20 6C 69 73 you had a lis
0001F0: 74 20 6F 66 20 61 20 68 75 6E 64 72 65 64 20 6E t of a hundred n
Size : 512 (Real : 512)
000000: 6E 73 65 72 74 20 69 6E 74 6F 20 6C 69 73 74 0D nsert into list.
000010: 0A 20 20 20 31 35 30 20 79 3D 6E 65 78 74 6E 61 . 150 y=nextna
000020: 6D 65 28 30 29 3A 70 79 3D 30 0D 0A 20 20 20 31 me(0):py=0.. 1
000030: 36 30 20 57 48 49 4C 45 20 79 3E 30 20 41 4E 44 60 WHILE y>0 AND
000040: 20 6E 61 6D 65 24 28 79 29 3C 6E 61 6D 65 24 28 name$(y)<name$(
000050: 78 29 0D 0A 20 20 20 31 37 30 20 70 79 3D 79 3A x).. 170 py=y:
000060: 79 3D 6E 65 78 74 6E 61 6D 65 28 79 29 0D 0A 20 y=nextname(y)..
000070: 20 20 31 38 30 20 57 45 4E 44 0D 0A 20 20 20 31 180 WEND.. 1
000080: 39 30 20 6E 65 78 74 6E 61 6D 65 28 70 79 29 3D 90 nextname(py)=
000090: 78 3A 6E 65 78 74 6E 61 6D 65 28 78 29 3D 79 0D x:nextname(x)=y.
0000A0: 0A 20 20 20 32 30 30 20 52 45 54 55 52 4E 0D 0A . 200 RETURN..
0000B0: 0D 0A 20 20 20 54 68 65 20 6C 69 73 74 69 6E 67 .. The listing
0000C0: 20 20 3C 3C 73 61 76 65 64 20 6F 6E 20 64 69 73 <<saved on dis
0000D0: 63 20 61 73 20 4C 49 53 54 45 58 2E 42 41 53 3E c as LISTEX.BAS>
0000E0: 3E 20 20 69 6D 70 6C 65 6D 65 6E 74 73 20 20 74 > implements t
0000F0: 68 69 73 20 20 73 74 72 75 63 74 75 72 65 2E 0D his structure..
000100: 0A 20 20 20 46 69 76 65 20 6E 61 6D 65 73 20 20 . Five names
000110: 61 72 65 20 72 65 61 64 20 20 6F 6E 65 20 62 79 are read one by
000120: 20 6F 6E 65 20 66 72 6F 6D 20 20 74 68 65 20 64 one from the d
000130: 61 74 61 20 20 6C 69 6E 65 20 31 33 30 20 20 69 ata line 130 i
000140: 6E 74 6F 20 61 6E 20 20 61 72 72 61 79 2C 0D 0A nto an array,..
000150: 20 20 20 6E 61 6D 65 24 2E 20 20 20 41 66 74 65 name$. Afte
000160: 72 20 72 65 61 64 69 6E 67 20 20 65 61 63 68 20 r reading each
000170: 6F 6E 65 2C 20 74 68 65 20 73 75 62 72 6F 75 74 one, the subrout
000180: 69 6E 65 20 61 74 20 31 34 30 20 20 69 73 20 63 ine at 140 is c
000190: 61 6C 6C 65 64 2C 20 20 77 68 69 63 68 0D 0A 20 alled, which..
0001A0: 20 20 69 6E 73 65 72 74 73 20 65 61 63 68 20 6E inserts each n
0001B0: 65 77 20 6E 61 6D 65 20 69 6E 74 6F 20 20 74 68 ew name into th
0001C0: 65 20 20 63 6F 72 72 65 63 74 20 20 70 6F 73 69 e correct posi
0001D0: 74 69 6F 6E 20 20 69 6E 20 20 74 68 65 20 6C 69 tion in the li
0001E0: 6E 6B 65 64 20 6C 69 73 74 20 62 79 0D 0A 20 20 nked list by..
0001F0: 20 61 6C 70 68 61 62 65 74 69 63 61 6C 20 6F 72 alphabetical or
Size : 512 (Real : 512)
000000: 61 6D 65 73 2C 0D 0A 20 20 20 61 64 64 69 6E 67 ames,.. adding
000010: 20 61 6E 6F 74 68 65 72 20 6E 61 6D 65 20 74 6F another name to
000020: 20 74 68 65 20 61 72 72 61 79 20 20 77 6F 75 6C the array woul
000030: 64 20 20 6F 66 74 65 6E 20 65 6E 74 61 69 6C 20 d often entail
000040: 6D 6F 76 69 6E 67 20 64 6F 77 6E 20 66 69 66 74 moving down fift
000050: 79 20 6F 72 0D 0A 20 20 20 6D 6F 72 65 20 73 74 y or.. more st
000060: 72 69 6E 67 73 2C 20 77 68 65 72 65 61 73 20 69 rings, whereas i
000070: 6E 73 65 72 74 69 6E 67 20 69 6E 20 20 61 20 20 nserting in a
000080: 6C 69 6E 6B 65 64 20 20 6C 69 73 74 20 6A 75 73 linked list jus
000090: 74 20 69 6E 76 6F 6C 76 65 73 20 63 68 61 6E 67 t involves chang
0000A0: 69 6E 67 0D 0A 20 20 20 74 77 6F 20 6E 75 6D 65 ing.. two nume
0000B0: 72 69 63 20 61 72 72 61 79 20 65 6C 65 6D 65 6E ric array elemen
0000C0: 74 73 2E 20 20 49 66 20 79 6F 75 20 20 68 61 76 ts. If you hav
0000D0: 65 20 20 74 6F 20 20 64 6F 20 20 71 75 69 74 65 e to do quite
0000E0: 20 20 61 20 62 69 74 20 6F 66 20 74 68 69 73 2C a bit of this,
0000F0: 20 61 0D 0A 20 20 20 6C 69 6E 6B 65 64 20 6C 69 a.. linked li
000100: 73 74 20 61 70 70 72 6F 61 63 68 20 63 61 6E 20 st approach can
000110: 73 61 76 65 20 61 20 6C 6F 74 20 6F 66 20 74 69 save a lot of ti
000120: 6D 65 2E 0D 0A 0D 0A 20 20 20 41 73 20 77 65 6C me..... As wel
000130: 6C 20 61 73 20 73 74 6F 72 69 6E 67 20 6E 61 6D l as storing nam
000140: 65 73 2C 20 79 6F 75 20 6D 69 67 68 74 20 68 61 es, you might ha
000150: 76 65 20 61 6E 6F 74 68 65 72 20 61 72 72 61 79 ve another array
000160: 20 73 74 6F 72 69 6E 67 20 74 68 65 20 61 64 64 storing the add
000170: 72 65 73 73 0D 0A 20 20 20 6F 66 20 65 61 63 68 ress.. of each
000180: 20 70 65 72 73 6F 6E 2E 20 20 49 66 20 79 6F 75 person. If you
000190: 20 77 61 6E 74 65 64 20 20 74 6F 20 20 6B 65 65 wanted to kee
0001A0: 70 20 20 74 68 65 20 6E 61 6D 65 73 20 69 6E 20 p the names in
0001B0: 6F 72 64 65 72 2C 20 74 68 65 6E 20 77 69 74 68 order, then with
0001C0: 6F 75 74 0D 0A 20 20 20 74 68 65 20 6C 69 6E 6B out.. the link
0001D0: 65 64 20 6C 69 73 74 20 61 70 70 72 6F 61 63 68 ed list approach
0001E0: 20 79 6F 75 20 77 6F 75 6C 64 20 61 6C 73 6F 20 you would also
0001F0: 20 68 61 76 65 20 74 6F 20 6D 6F 76 65 20 74 68 have to move th
Size : 512 (Real : 512)
000000: 64 65 72 2E 20 20 54 68 65 20 65 6C 65 6D 65 6E der. The elemen
000010: 74 20 77 65 20 20 77 61 6E 74 20 74 6F 20 61 64 t we want to ad
000020: 64 20 74 6F 20 74 68 65 20 6C 69 73 74 20 68 61 d to the list ha
000030: 73 20 6A 75 73 74 20 62 65 65 6E 0D 0A 20 20 20 s just been..
000040: 73 74 6F 72 65 64 20 69 6E 20 6E 61 6D 65 24 28 stored in name$(
000050: 78 29 2E 20 20 57 65 20 20 6E 65 65 64 20 20 74 x). We need t
000060: 6F 20 20 6C 6F 6F 6B 20 20 74 68 72 6F 75 67 68 o look through
000070: 20 20 74 68 65 20 65 78 69 73 74 69 6E 67 20 6C the existing l
000080: 69 73 74 20 74 6F 20 73 65 65 0D 0A 20 20 20 77 ist to see.. w
000090: 68 65 72 65 20 69 74 20 66 69 74 73 20 69 6E 2C here it fits in,
0000A0: 20 73 6F 20 77 65 20 73 74 61 72 74 20 20 76 61 so we start va
0000B0: 72 69 61 62 6C 65 20 79 20 6F 66 66 20 70 6F 69 riable y off poi
0000C0: 6E 74 69 6E 67 20 74 6F 20 74 68 65 20 73 74 61 nting to the sta
0000D0: 72 74 20 6F 66 20 74 68 65 0D 0A 20 20 20 6C 69 rt of the.. li
0000E0: 73 74 20 62 79 20 73 65 74 74 69 6E 67 20 69 74 st by setting it
0000F0: 20 74 6F 20 6E 65 78 74 6E 61 6D 65 28 30 29 2E to nextname(0).
000100: 0D 0A 0D 0A 20 20 20 54 68 65 20 69 6D 70 6F 72 .... The impor
000110: 74 61 6E 74 20 6C 69 6E 65 73 20 74 6F 20 6C 6F tant lines to lo
000120: 6F 6B 20 61 74 20 20 61 72 65 20 20 31 36 30 20 ok at are 160
000130: 20 74 6F 20 20 31 38 30 2E 20 20 20 54 68 65 20 to 180. The
000140: 57 48 49 4C 45 20 6C 6F 6F 70 20 69 6E 20 31 36 WHILE loop in 16
000150: 30 0D 0A 20 20 20 63 6F 6E 74 69 6E 75 65 73 20 0.. continues
000160: 61 73 20 6C 6F 6E 67 20 61 73 20 79 3E 30 20 28 as long as y>0 (
000170: 77 68 69 63 68 20 20 6D 65 61 6E 73 20 20 77 65 which means we
000180: 20 20 68 61 76 65 6E 27 74 20 72 65 61 63 68 65 haven't reache
000190: 64 20 74 68 65 20 65 6E 64 20 6F 66 20 74 68 65 d the end of the
0001A0: 0D 0A 20 20 20 6C 69 73 74 29 2C 20 61 6E 64 20 .. list), and
0001B0: 77 68 69 6C 65 20 6E 61 6D 65 24 28 79 29 3C 6E while name$(y)<n
0001C0: 61 6D 65 24 28 78 29 2C 20 74 68 61 74 20 69 73 ame$(x), that is
0001D0: 20 77 68 69 6C 65 20 74 68 65 20 6E 61 6D 65 20 while the name
0001E0: 70 6F 69 6E 74 65 64 20 74 6F 20 62 79 20 79 0D pointed to by y.
0001F0: 0A 20 20 20 63 6F 6D 65 73 20 62 65 66 6F 72 65 . comes before
Size : 512 (Real : 512)
000000: 34 36 34 2C 20 62 75 74 20 61 73 20 69 74 0D 0A 464, but as it..
000010: 20 20 20 73 74 61 6E 64 73 20 69 74 20 61 6C 73 stands it als
000020: 6F 20 70 72 69 6E 74 73 20 75 70 20 61 6E 79 20 o prints up any
000030: 20 6C 69 6E 65 20 20 63 6F 6E 74 61 69 6E 69 6E line containin
000040: 67 20 61 6E 20 52 53 58 20 63 6F 6D 6D 61 6E 64 g an RSX command
000050: 21 20 20 41 20 64 65 62 75 67 67 65 64 0D 0A 20 ! A debugged..
000060: 20 20 76 65 72 73 69 6F 6E 20 69 73 20 6E 6F 77 version is now
000070: 20 6F 6E 20 74 68 65 20 50 72 6F 67 72 61 6D 6D on the Programm
000080: 65 72 73 27 20 20 50 61 74 63 68 20 20 64 69 73 ers' Patch dis
000090: 63 2C 20 77 69 74 68 20 61 6E 20 65 6E 68 61 6E c, with an enhan
0000A0: 63 65 6D 65 6E 74 20 77 68 69 63 68 0D 0A 20 20 cement which..
0000B0: 20 70 72 69 6E 74 73 20 75 70 20 6C 69 6E 65 73 prints up lines
0000C0: 20 63 6F 6E 74 61 69 6E 69 6E 67 20 52 53 58 73 containing RSXs
0000D0: 20 20 77 69 74 68 20 20 64 69 72 65 63 74 20 20 with direct
0000E0: 73 74 72 69 6E 67 20 61 72 67 75 6D 65 6E 74 73 string arguments
0000F0: 2C 20 77 68 69 63 68 20 61 72 65 0D 0A 20 20 20 , which are..
000100: 6E 6F 74 20 61 6C 6C 6F 77 65 64 20 6F 6E 20 74 not allowed on t
000110: 68 65 20 34 36 34 2E 0D 0A 0D 0A 20 20 20 43 4F he 464..... CO
000120: 4E 54 49 4E 55 49 54 59 20 41 4E 4E 4F 55 4E 43 NTINUITY ANNOUNC
000130: 45 4D 45 4E 54 0D 0A 20 20 20 4C 61 73 74 20 6D EMENT.. Last m
000140: 6F 6E 74 68 20 77 65 20 75 73 65 64 20 74 68 65 onth we used the
000150: 20 20 63 6F 6E 63 65 70 74 20 20 6F 66 20 20 74 concept of t
000160: 68 65 20 20 6C 69 6E 6B 65 64 20 20 6C 69 73 74 he linked list
000170: 20 69 6E 20 61 20 72 61 74 68 65 72 20 63 6F 6D in a rather com
000180: 70 6C 65 78 0D 0A 20 20 20 73 69 74 75 61 74 69 plex.. situati
000190: 6F 6E 20 74 6F 20 61 6C 6C 6F 77 20 75 73 20 74 on to allow us t
0001A0: 6F 20 69 6D 70 72 6F 76 65 20 74 68 65 20 41 49 o improve the AI
0001B0: 20 20 70 72 6F 67 72 61 6D 2E 20 20 49 20 74 68 program. I th
0001C0: 6F 75 67 68 74 20 69 74 20 77 6F 75 6C 64 20 62 ought it would b
0001D0: 65 20 61 0D 0A 20 20 20 67 6F 6F 64 20 69 64 65 e a.. good ide
0001E0: 61 20 74 6F 20 67 69 76 65 20 61 20 20 73 68 6F a to give a sho
0001F0: 72 74 20 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 rt programming
Size : 512 (Real : 512)
000000: 20 6E 61 6D 65 24 28 78 29 20 61 6C 70 68 61 62 name$(x) alphab
000010: 65 74 69 63 61 6C 6C 79 2E 20 20 4C 69 6E 65 20 etically. Line
000020: 20 31 37 30 20 20 73 74 6F 72 65 73 20 74 68 65 170 stores the
000030: 20 70 72 65 73 65 6E 74 20 76 61 6C 75 65 0D 0A present value..
000040: 20 20 20 6F 66 20 79 20 69 6E 20 70 79 2C 20 61 of y in py, a
000050: 6E 64 20 74 68 65 6E 20 6D 6F 76 65 73 20 79 20 nd then moves y
000060: 6F 6E 20 74 6F 20 20 74 68 65 20 6E 65 78 74 20 on to the next
000070: 69 74 65 6D 20 69 6E 20 74 68 65 20 6C 69 73 74 item in the list
000080: 20 62 79 20 73 65 74 74 69 6E 67 20 79 0D 0A 20 by setting y..
000090: 20 20 74 6F 20 6E 65 78 74 6E 61 6D 65 28 79 29 to nextname(y)
0000A0: 2E 0D 0A 0D 0A 20 20 20 55 70 6F 6E 20 72 65 61 ..... Upon rea
0000B0: 63 68 69 6E 67 20 6C 69 6E 65 20 31 39 30 2C 20 ching line 190,
0000C0: 20 77 65 20 20 6B 6E 6F 77 20 20 74 68 61 74 20 we know that
0000D0: 20 70 79 20 20 69 73 20 20 70 6F 69 6E 74 69 6E py is pointin
0000E0: 67 20 20 74 6F 20 20 61 20 6E 61 6D 65 20 74 68 g to a name th
0000F0: 61 74 0D 0A 20 20 20 70 72 65 63 65 64 65 73 20 at.. precedes
000100: 6E 61 6D 65 24 28 78 29 20 61 6E 64 20 74 68 61 name$(x) and tha
000110: 74 20 79 20 20 69 73 20 20 65 69 74 68 65 72 20 t y is either
000120: 20 70 6F 69 6E 74 69 6E 67 20 20 74 6F 20 61 20 pointing to a
000130: 6E 61 6D 65 20 74 68 61 74 20 66 6F 6C 6C 6F 77 name that follow
000140: 73 0D 0A 20 20 20 6E 61 6D 65 24 28 78 29 2C 20 s.. name$(x),
000150: 6F 72 20 77 65 20 68 61 76 65 20 20 72 65 61 63 or we have reac
000160: 68 65 64 20 20 74 68 65 20 20 65 6E 64 20 20 6F hed the end o
000170: 66 20 20 74 68 65 20 20 6C 69 73 74 2E 20 20 57 f the list. W
000180: 65 20 68 61 76 65 20 74 68 65 72 65 66 6F 72 65 e have therefore
000190: 0D 0A 20 20 20 72 65 61 63 68 65 64 20 74 68 65 .. reached the
0001A0: 20 63 6F 72 72 65 63 74 20 70 6F 73 69 74 69 6F correct positio
0001B0: 6E 20 74 6F 20 69 6E 73 65 72 74 20 6E 61 6D 65 n to insert name
0001C0: 24 28 78 29 2E 20 20 54 68 69 73 20 69 73 20 64 $(x). This is d
0001D0: 6F 6E 65 20 69 6E 20 6C 69 6E 65 20 31 39 30 0D one in line 190.
0001E0: 0A 20 20 20 62 79 20 73 65 74 74 69 6E 67 20 6E . by setting n
0001F0: 65 78 74 6E 61 6D 65 28 70 79 29 20 74 6F 20 78 extname(py) to x
Size : 512 (Real : 512)
000000: 20 65 78 61 6D 70 6C 65 20 20 6F 66 20 61 20 73 example of a s
000010: 69 6D 70 6C 65 72 20 6C 69 6E 6B 65 64 20 6C 69 impler linked li
000020: 73 74 0D 0A 20 20 20 73 74 72 75 63 74 75 72 65 st.. structure
000030: 2E 20 20 54 68 65 20 73 74 72 75 63 74 75 72 65 . The structure
000040: 20 63 6F 6E 73 69 73 74 73 20 20 6F 66 20 20 61 consists of a
000050: 20 20 73 74 72 69 6E 67 20 20 61 72 72 61 79 2C string array,
000060: 20 20 6E 61 6D 65 24 2C 20 75 73 65 64 20 66 6F name$, used fo
000070: 72 0D 0A 20 20 20 73 74 6F 72 69 6E 67 20 6E 61 r.. storing na
000080: 6D 65 73 2C 20 61 6E 64 20 61 20 6E 75 6D 65 72 mes, and a numer
000090: 69 63 61 6C 20 61 72 72 61 79 2C 20 20 6E 65 78 ical array, nex
0000A0: 74 6E 61 6D 65 2C 20 20 77 68 69 63 68 20 70 6F tname, which po
0000B0: 69 6E 74 73 20 74 6F 20 74 68 65 20 6E 65 78 74 ints to the next
0000C0: 0D 0A 20 20 20 65 6C 65 6D 65 6E 74 20 69 6E 20 .. element in
0000D0: 74 68 65 20 6C 69 73 74 2E 20 20 54 6F 20 66 69 the list. To fi
0000E0: 6E 64 20 74 68 65 20 20 66 69 72 73 74 20 20 65 nd the first e
0000F0: 6C 65 6D 65 6E 74 20 20 69 6E 20 74 68 65 20 6C lement in the l
000100: 69 73 74 2C 20 77 65 20 6C 6F 6F 6B 20 61 74 0D ist, we look at.
000110: 0A 20 20 20 6E 65 78 74 6E 61 6D 65 28 30 29 2E . nextname(0).
000120: 20 20 49 66 20 6E 65 78 74 6E 61 6D 65 28 30 29 If nextname(0)
000130: 20 77 61 73 20 33 2C 20 73 61 79 2C 20 20 74 68 was 3, say, th
000140: 65 6E 20 20 6E 61 6D 65 24 28 33 29 20 69 73 20 en name$(3) is
000150: 74 68 65 20 66 69 72 73 74 20 6E 61 6D 65 0D 0A the first name..
000160: 20 20 20 69 6E 20 74 68 65 20 6C 69 73 74 2E 20 in the list.
000170: 20 54 6F 20 66 69 6E 64 20 74 68 65 20 6E 65 78 To find the nex
000180: 74 20 20 6E 61 6D 65 2C 20 20 77 65 20 6C 6F 6F t name, we loo
000190: 6B 20 61 74 20 6E 65 78 74 6E 61 6D 65 28 33 29 k at nextname(3)
0001A0: 2E 20 20 54 68 61 74 20 6D 69 67 68 74 0D 0A 20 . That might..
0001B0: 20 20 62 65 20 31 2C 20 69 6E 20 77 68 69 63 68 be 1, in which
0001C0: 20 63 61 73 65 20 6E 61 6D 65 24 28 31 29 20 66 case name$(1) f
0001D0: 6F 6C 6C 6F 77 73 20 20 6E 61 6D 65 24 28 33 29 ollows name$(3)
0001E0: 20 69 6E 20 74 68 65 20 6C 69 73 74 2E 20 20 45 in the list. E
0001F0: 76 65 6E 74 75 61 6C 6C 79 20 77 65 0D 0A 20 20 ventually we..
Size : 512 (Real : 512)
000000: 2C 20 20 73 6F 20 20 74 68 61 74 20 20 6E 61 6D , so that nam
000010: 65 24 28 78 29 20 66 6F 6C 6C 6F 77 73 20 6E 61 e$(x) follows na
000020: 6D 65 24 28 70 79 29 20 69 6E 20 74 68 65 0D 0A me$(py) in the..
000030: 20 20 20 6C 69 73 74 2C 20 61 6E 64 20 20 73 65 list, and se
000040: 74 74 69 6E 67 20 20 6E 65 78 74 6E 61 6D 65 28 tting nextname(
000050: 78 29 20 20 74 6F 20 20 79 2C 20 20 6D 61 6B 69 x) to y, maki
000060: 6E 67 20 20 77 68 61 74 65 76 65 72 20 20 75 73 ng whatever us
000070: 65 64 20 20 74 6F 20 66 6F 6C 6C 6F 77 0D 0A 20 ed to follow..
000080: 20 20 6E 61 6D 65 24 28 70 79 29 20 66 6F 6C 6C name$(py) foll
000090: 6F 77 20 6E 61 6D 65 24 28 78 29 2E 0D 0A 0D 0A ow name$(x).....
0000A0: 20 20 20 41 66 74 65 72 20 6C 69 6E 65 73 20 32 After lines 2
0000B0: 30 20 74 6F 20 34 30 20 68 61 76 65 20 72 65 61 0 to 40 have rea
0000C0: 64 20 69 6E 20 20 74 68 65 20 20 64 61 74 61 20 d in the data
0000D0: 61 6E 64 20 69 6E 73 65 72 74 65 64 20 74 68 65 and inserted the
0000E0: 20 6E 61 6D 65 73 20 69 6E 20 74 68 65 0D 0A 20 names in the..
0000F0: 20 20 6C 69 73 74 2C 20 6C 69 6E 65 73 20 35 30 list, lines 50
000100: 20 74 6F 20 38 30 20 67 6F 20 20 74 68 72 6F 75 to 80 go throu
000110: 67 68 20 20 74 68 65 20 20 61 72 72 61 79 20 20 gh the array
000120: 70 72 69 6E 74 69 6E 67 20 75 70 20 74 68 65 20 printing up the
000130: 63 6F 6E 74 65 6E 74 73 2C 20 73 6F 0D 0A 20 20 contents, so..
000140: 20 74 68 61 74 20 79 6F 75 20 63 61 6E 20 73 65 that you can se
000150: 65 20 68 6F 77 20 69 74 20 61 6C 6C 20 77 6F 72 e how it all wor
000160: 6B 73 2E 20 20 46 6F 6C 6C 6F 77 20 74 68 65 20 ks. Follow the
000170: 6C 69 6E 6B 73 20 74 68 72 6F 75 67 68 20 74 6F links through to
000180: 20 63 68 65 63 6B 20 74 68 61 74 0D 0A 20 20 20 check that..
000190: 69 74 20 77 6F 72 6B 73 2E 20 20 54 68 65 6E 20 it works. Then
0001A0: 6C 69 6E 65 73 20 39 30 20 74 6F 20 31 32 30 20 lines 90 to 120
0001B0: 70 72 69 6E 74 20 20 75 70 20 20 74 68 65 20 6C print up the l
0001C0: 69 73 74 20 69 6E 20 6F 72 64 65 72 2E 20 20 57 ist in order. W
0001D0: 65 20 73 74 61 72 74 20 62 79 0D 0A 20 20 20 73 e start by.. s
0001E0: 65 74 74 69 6E 67 20 78 20 74 6F 20 62 65 20 7A etting x to be z
0001F0: 65 72 6F 2C 20 61 6E 64 20 77 68 69 6C 65 20 74 ero, and while t
Size : 512 (Real : 512)
000000: 69 6E 20 20 6F 72 64 65 72 20 20 6F 66 20 20 74 in order of t
000010: 68 65 69 72 20 20 62 69 72 74 68 64 61 79 73 20 heir birthdays
000020: 20 74 68 72 6F 75 67 68 20 20 74 68 65 20 79 65 through the ye
000030: 61 72 2E 0D 0A 20 20 20 49 6E 73 65 72 74 69 6E ar... Insertin
000040: 67 20 61 20 6E 65 77 20 6E 61 6D 65 20 20 69 6E g a new name in
000050: 20 20 74 68 65 20 20 6C 69 73 74 20 20 77 6F 75 the list wou
000060: 6C 64 20 20 69 6E 76 6F 6C 76 65 20 20 70 75 74 ld involve put
000070: 74 69 6E 67 20 74 68 65 6D 20 69 6E 74 6F 20 74 ting them into t
000080: 68 65 0D 0A 20 20 20 63 6F 72 72 65 63 74 20 70 he.. correct p
000090: 6F 73 69 74 69 6F 6E 20 69 6E 20 20 74 68 65 20 osition in the
0000A0: 20 6E 65 78 74 6E 61 6D 65 20 20 61 72 72 61 79 nextname array
0000B0: 20 20 61 63 63 6F 72 64 69 6E 67 20 20 74 6F 20 according to
0000C0: 20 74 68 65 20 61 6C 70 68 61 62 65 74 69 63 61 the alphabetica
0000D0: 6C 0D 0A 20 20 20 70 6F 73 69 74 69 6F 6E 20 6F l.. position o
0000E0: 66 20 20 74 68 65 20 20 6E 61 6D 65 2C 20 20 61 f the name, a
0000F0: 6E 64 20 20 69 6E 74 6F 20 20 6E 65 78 74 62 69 nd into nextbi
000100: 72 74 68 64 61 79 20 20 61 63 63 6F 72 64 69 6E rthday accordin
000110: 67 20 20 74 6F 20 20 74 68 65 20 64 61 74 65 2E g to the date.
000120: 0D 0A 20 20 20 44 65 70 65 6E 64 69 6E 67 20 6F .. Depending o
000130: 6E 20 74 68 65 20 61 72 72 61 6E 67 65 6D 65 6E n the arrangemen
000140: 74 20 6F 66 20 20 74 68 65 20 20 72 65 70 6F 72 t of the repor
000150: 74 20 20 74 68 61 74 20 20 79 6F 75 20 72 65 71 t that you req
000160: 75 69 72 65 64 20 79 6F 75 20 77 6F 75 6C 64 0D uired you would.
000170: 0A 20 20 20 65 69 74 68 65 72 20 75 73 65 20 6E . either use n
000180: 65 78 74 6E 61 6D 65 20 6F 72 20 6E 65 78 74 62 extname or nextb
000190: 69 72 74 68 64 61 79 20 20 74 6F 20 20 72 75 6E irthday to run
0001A0: 20 20 74 68 72 6F 75 67 68 20 74 68 65 20 64 61 through the da
0001B0: 74 61 20 61 6E 64 20 64 69 73 70 6C 61 79 0D 0A ta and display..
0001C0: 20 20 20 69 74 2E 0D 0A 0D 0A 20 20 20 53 6F 20 it..... So
0001D0: 66 61 72 20 74 68 65 20 66 69 72 73 74 20 65 6C far the first el
0001E0: 65 6D 65 6E 74 20 69 6E 20 74 68 65 20 6C 69 73 ement in the lis
0001F0: 74 20 68 61 73 20 62 65 65 6E 20 70 6F 69 6E 74 t has been point
Size : 512 (Real : 512)
000000: 68 61 73 20 61 20 6C 69 6E 6B 65 64 20 6C 69 73 has a linked lis
000010: 74 20 63 61 6C 6C 65 64 0D 0A 20 20 20 6E 65 78 t called.. nex
000020: 74 64 65 62 74 20 73 6F 20 68 65 20 6B 6E 6F 77 tdebt so he know
000030: 73 20 77 68 6F 20 6E 65 78 74 20 74 6F 20 74 61 s who next to ta
000040: 6B 65 20 74 6F 20 74 68 65 20 73 6D 61 6C 6C 20 ke to the small
000050: 63 6C 61 69 6D 73 20 63 6F 75 72 74 2E 0D 0A 0D claims court....
000060: 0A 20 20 20 44 4F 55 42 4C 45 20 44 55 54 43 48 . DOUBLE DUTCH
000070: 0D 0A 20 20 20 54 68 65 72 65 20 61 72 65 20 6C .. There are l
000080: 6F 74 73 20 6D 6F 72 65 20 70 6F 73 73 69 62 69 ots more possibi
000090: 6C 69 74 69 65 73 20 66 6F 72 20 20 6C 69 6E 6B lities for link
0000A0: 65 64 20 20 6C 69 73 74 73 2E 20 20 4F 6E 65 20 ed lists. One
0000B0: 69 6D 70 6F 72 74 61 6E 74 20 6F 6E 65 20 49 0D important one I.
0000C0: 0A 20 20 20 6F 75 67 68 74 20 74 6F 20 6D 65 6E . ought to men
0000D0: 74 69 6F 6E 20 69 73 20 74 68 65 20 20 64 6F 75 tion is the dou
0000E0: 62 6C 79 2D 6C 69 6E 6B 65 64 20 20 6C 69 73 74 bly-linked list
0000F0: 2E 20 20 20 49 74 20 20 69 73 20 20 65 61 73 79 . It is easy
000100: 20 65 6E 6F 75 67 68 20 69 6E 20 74 68 65 0D 0A enough in the..
000110: 20 20 20 65 78 61 6D 70 6C 65 20 77 65 20 68 61 example we ha
000120: 76 65 20 6C 6F 6F 6B 65 64 20 61 74 20 74 6F 20 ve looked at to
000130: 66 69 6E 64 20 74 68 65 20 6E 65 78 74 20 69 74 find the next it
000140: 65 6D 20 69 6E 20 74 68 65 20 6C 69 73 74 2C 20 em in the list,
000150: 62 75 74 20 73 6F 6D 65 74 69 6D 65 73 0D 0A 20 but sometimes..
000160: 20 20 69 74 20 69 73 20 75 73 65 66 75 6C 20 74 it is useful t
000170: 6F 20 67 6F 20 75 70 20 61 6E 64 20 64 6F 77 6E o go up and down
000180: 20 74 68 65 20 20 6C 69 73 74 2E 20 20 20 49 66 the list. If
000190: 20 74 68 65 20 6C 69 73 74 20 69 73 20 6C 6F 6E the list is lon
0001A0: 67 20 69 74 20 69 73 20 6D 6F 73 74 0D 0A 20 20 g it is most..
0001B0: 20 65 66 66 69 63 69 65 6E 74 20 74 6F 20 68 61 efficient to ha
0001C0: 76 65 20 61 20 73 65 63 6F 6E 64 20 6C 69 6E 6B ve a second link
0001D0: 65 64 20 20 6C 69 73 74 20 20 77 68 69 63 68 20 ed list which
0001E0: 20 68 6F 6C 64 73 20 74 68 65 20 69 74 65 6D 73 holds the items
0001F0: 20 69 6E 20 72 65 76 65 72 73 65 0D 0A 20 20 20 in reverse..
Size : 512 (Real : 512)
000000: 65 64 20 74 6F 20 66 72 6F 6D 20 6E 65 78 74 6E ed to from nextn
000010: 61 6D 65 28 30 29 2C 0D 0A 20 20 20 61 6E 64 20 ame(0),.. and
000020: 74 68 65 20 6C 69 6E 6B 65 64 20 6C 69 73 74 20 the linked list
000030: 68 61 73 20 20 69 6E 63 6C 75 64 65 64 20 20 61 has included a
000040: 6C 6C 20 20 74 68 65 20 20 65 6C 65 6D 65 6E 74 ll the element
000050: 73 20 20 69 6E 20 74 68 65 20 6E 61 6D 65 24 20 s in the name$
000060: 61 72 72 61 79 2E 0D 0A 20 20 20 4C 69 6E 6B 65 array... Linke
000070: 64 20 6C 69 73 74 73 20 68 61 76 65 20 6D 75 63 d lists have muc
000080: 68 20 77 69 64 65 72 20 61 70 70 6C 69 63 61 74 h wider applicat
000090: 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 54 48 45 20 ions..... THE
0000A0: 54 41 4C 45 20 4F 46 20 4D 52 20 42 4C 41 43 4B TALE OF MR BLACK
0000B0: 0D 0A 20 20 20 4D 72 20 42 6C 61 63 6B 20 74 68 .. Mr Black th
0000C0: 65 20 6E 65 77 73 61 67 65 6E 74 20 68 61 73 20 e newsagent has
0000D0: 31 32 30 38 20 20 63 75 73 74 6F 6D 65 72 73 2E 1208 customers.
0000E0: 20 20 54 68 65 69 72 20 6E 61 6D 65 73 20 61 6E Their names an
0000F0: 64 20 61 64 64 72 65 73 73 65 73 20 61 72 65 0D d addresses are.
000100: 0A 20 20 20 73 74 6F 72 65 64 20 20 69 6E 20 20 . stored in
000110: 74 68 65 20 20 73 74 72 69 6E 67 20 20 61 72 72 the string arr
000120: 61 79 73 20 20 20 6E 61 6D 65 24 20 20 20 61 6E ays name$ an
000130: 64 20 20 61 64 64 72 65 73 73 24 2E 20 20 20 54 d address$. T
000140: 68 65 69 72 20 20 64 65 6C 69 76 65 72 79 0D 0A heir delivery..
000150: 20 20 20 72 65 71 75 69 72 65 6D 65 6E 74 73 20 requirements
000160: 61 72 65 20 20 73 74 6F 72 65 64 20 20 69 6E 20 are stored in
000170: 20 74 68 65 20 20 77 68 69 63 68 70 61 70 65 72 the whichpaper
000180: 24 20 20 61 72 72 61 79 2E 20 20 20 4D 72 20 20 $ array. Mr
000190: 42 6C 61 63 6B 20 65 6D 70 6C 6F 79 73 0D 0A 20 Black employs..
0001A0: 20 20 73 65 76 65 72 61 6C 20 6E 65 77 73 70 61 several newspa
0001B0: 70 65 72 20 20 64 65 6C 69 76 65 72 79 20 20 6F per delivery o
0001C0: 70 65 72 61 74 69 76 65 73 20 20 77 68 6F 73 65 peratives whose
0001D0: 20 20 6E 61 6D 65 73 20 20 61 72 65 20 20 73 74 names are st
0001E0: 6F 72 65 64 20 20 69 6E 20 74 68 65 0D 0A 20 20 ored in the..
0001F0: 20 70 61 70 65 72 62 6F 79 24 20 61 72 72 61 79 paperboy$ array
Size : 512 (Real : 512)
000000: 6F 72 64 65 72 2E 20 20 57 65 20 63 6F 75 6C 64 order. We could
000010: 20 63 61 6C 6C 20 74 68 69 73 20 70 72 65 76 69 call this previ
000020: 6F 75 73 6E 61 6D 65 2E 0D 0A 0D 0A 20 20 20 44 ousname..... D
000030: 4F 55 42 4C 45 20 47 49 4E 0D 0A 20 20 20 54 68 OUBLE GIN.. Th
000040: 61 74 20 73 6F 75 6E 64 73 20 61 20 67 6F 6F 64 at sounds a good
000050: 20 69 64 65 61 21 20 20 53 65 65 20 79 6F 75 20 idea! See you
000060: 6E 65 78 74 20 6D 6F 6E 74 68 20 66 6F 72 20 61 next month for a
000070: 20 73 70 6F 74 20 6F 66 20 61 72 62 6F 72 69 63 spot of arboric
000080: 75 6C 74 75 72 65 2E 0D 0A 1A 24 24 24 FF 00 FF ulture....$$$...
000090: 74 63 68 20 31 38 20 2D 20 57 41 43 43 49 20 31 tch 18 - WACCI 1
0000A0: 32 37 0D 0A 20 20 20 50 52 4F 47 52 41 4D 4D 45 27.. PROGRAMME
0000B0: 52 53 27 20 50 41 54 43 48 0D 0A 20 20 20 42 79 RS' PATCH.. By
0000C0: 20 4D 61 74 74 68 65 77 20 50 68 69 6C 6C 69 70 Matthew Phillip
0000D0: 73 0D 0A 0D 0A 20 20 20 48 61 76 65 20 79 6F 75 s.... Have you
0000E0: 20 65 76 65 72 20 74 68 6F 75 67 68 74 20 68 6F ever thought ho
0000F0: 77 20 62 6F 72 69 6E 67 20 20 79 6F 75 72 20 20 w boring your
000100: 20 65 6E 6F 75 67 68 20 69 6E 20 74 68 65 0D 0A enough in the..
000110: 20 20 20 65 78 61 6D 70 6C 65 20 77 65 20 68 61 example we ha
000120: 76 65 20 6C 6F 6F 6B 65 64 20 61 74 20 74 6F 20 ve looked at to
000130: 66 69 6E 64 20 74 68 65 20 6E 65 78 74 20 69 74 find the next it
000140: 65 6D 20 69 6E 20 74 68 65 20 6C 69 73 74 2C 20 em in the list,
000150: 62 75 74 20 73 6F 6D 65 74 69 6D 65 73 0D 0A 20 but sometimes..
000160: 20 20 69 74 20 69 73 20 75 73 65 66 75 6C 20 74 it is useful t
000170: 6F 20 67 6F 20 75 70 20 61 6E 64 20 64 6F 77 6E o go up and down
000180: 20 74 68 65 20 20 6C 69 73 74 2E 20 20 20 49 66 the list. If
000190: 20 74 68 65 20 6C 69 73 74 20 69 73 20 6C 6F 6E the list is lon
0001A0: 67 20 69 74 20 69 73 20 6D 6F 73 74 0D 0A 20 20 g it is most..
0001B0: 20 65 66 66 69 63 69 65 6E 74 20 74 6F 20 68 61 efficient to ha
0001C0: 76 65 20 61 20 73 65 63 6F 6E 64 20 6C 69 6E 6B ve a second link
0001D0: 65 64 20 20 6C 69 73 74 20 20 77 68 69 63 68 20 ed list which
0001E0: 20 68 6F 6C 64 73 20 74 68 65 20 69 74 65 6D 73 holds the items
0001F0: 20 69 6E 20 72 65 76 65 72 73 65 0D 0A 20 20 20 in reverse..
Size : 512 (Real : 512)
000000: 2E 20 20 41 20 6E 75 6D 65 72 69 63 20 61 72 72 . A numeric arr
000010: 61 79 2C 20 63 61 6C 6C 65 64 20 20 70 61 70 65 ay, called pape
000020: 72 72 6F 75 6E 64 2C 20 70 6F 69 6E 74 73 20 74 rround, points t
000030: 6F 20 74 68 65 20 66 69 72 73 74 0D 0A 20 20 20 o the first..
000040: 61 64 64 72 65 73 73 20 6F 6E 20 61 20 70 61 70 address on a pap
000050: 65 72 20 62 6F 79 27 73 20 72 6F 75 6E 64 2E 0D er boy's round..
000060: 0A 0D 0A 20 20 20 46 6F 72 20 65 78 61 6D 70 6C ... For exampl
000070: 65 2C 20 70 61 70 65 72 62 6F 79 24 28 36 29 20 e, paperboy$(6)
000080: 69 73 20 20 4A 69 6D 2E 20 20 20 54 68 65 20 20 is Jim. The
000090: 6E 75 6D 62 65 72 20 20 61 74 20 70 61 70 65 72 number at paper
0000A0: 72 6F 75 6E 64 28 36 29 20 69 73 20 34 32 33 2C round(6) is 423,
0000B0: 0D 0A 20 20 20 77 68 69 63 68 20 6D 65 61 6E 73 .. which means
0000C0: 20 74 68 61 74 20 4A 69 6D 20 6D 75 73 74 20 73 that Jim must s
0000D0: 74 61 72 74 20 20 68 69 73 20 20 72 6F 75 6E 64 tart his round
0000E0: 20 61 74 20 61 64 64 72 65 73 73 24 28 34 32 33 at address$(423
0000F0: 29 2C 20 6E 75 6D 62 65 72 20 34 20 54 68 65 0D ), number 4 The.
000100: 0A 20 20 20 4F 76 61 6C 2C 20 20 64 65 6C 69 76 . Oval, deliv
000110: 65 72 69 6E 67 20 20 77 68 69 63 68 70 61 70 65 ering whichpape
000120: 72 24 28 34 32 33 29 2E 20 20 20 48 65 20 20 64 r$(423). He d
000130: 6F 65 73 20 20 6E 6F 74 20 20 6E 65 65 64 20 20 oes not need
000140: 74 6F 20 20 6B 6E 6F 77 20 20 74 68 61 74 0D 0A to know that..
000150: 20 20 20 6E 61 6D 65 24 28 34 32 33 29 20 69 73 name$(423) is
000160: 20 4D 72 20 50 68 69 6C 69 70 20 53 70 72 6F 75 Mr Philip Sprou
000170: 74 2E 20 20 57 68 61 74 20 20 68 65 20 20 64 6F t. What he do
000180: 65 73 20 20 6E 65 65 64 20 20 74 6F 20 6B 6E 6F es need to kno
000190: 77 20 69 73 20 74 68 65 20 6E 65 78 74 0D 0A 20 w is the next..
0001A0: 20 20 61 64 64 72 65 73 73 20 6F 6E 20 74 68 65 address on the
0001B0: 20 70 61 70 65 72 20 20 72 6F 75 6E 64 2E 20 20 paper round.
0001C0: 20 54 68 69 73 20 20 69 73 20 20 73 74 6F 72 65 This is store
0001D0: 64 20 20 69 6E 20 74 68 65 20 61 72 72 61 79 20 d in the array
0001E0: 6E 65 78 74 61 64 64 72 65 73 73 2C 0D 0A 20 20 nextaddress,..
0001F0: 20 77 68 69 63 68 20 20 63 6F 6E 74 61 69 6E 73 which contains
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 31 32 20 2D 20 57 41 43 43 49 20 31 tch 12 - WACCI 1
000020: 32 31 2C 20 4D 61 79 20 31 39 39 38 2C 20 70 2E 21, May 1998, p.
000030: 20 32 33 2D 32 35 0D 0A 20 20 20 50 52 4F 47 52 23-25.. PROGR
000040: 41 4D 4D 45 52 53 27 20 50 41 54 43 48 20 31 32 AMMERS' PATCH 12
000050: 0D 0A 20 20 20 42 79 20 4D 61 74 74 68 65 77 20 .. By Matthew
000060: 50 68 69 6C 6C 69 70 73 0D 0A 0D 0A 20 20 20 49 Phillips.... I
000070: 74 27 73 20 61 20 77 65 74 20 61 6E 64 20 77 69 t's a wet and wi
000080: 6E 64 79 20 6E 69 67 68 74 2C 20 20 61 6E 64 20 ndy night, and
000090: 20 49 20 20 61 6D 20 20 73 69 74 74 69 6E 67 20 I am sitting
0000A0: 20 69 6E 20 66 72 6F 6E 74 20 6F 66 20 74 68 65 in front of the
0000B0: 20 63 6F 6D 70 75 74 65 72 0D 0A 20 20 20 74 72 computer.. tr
0000C0: 79 69 6E 67 20 74 6F 20 74 68 69 6E 6B 20 6F 66 ying to think of
0000D0: 20 61 20 67 6F 6F 64 20 20 62 65 67 69 6E 6E 69 a good beginni
0000E0: 6E 67 20 20 74 6F 20 20 74 68 65 20 61 72 74 69 ng to the arti
0000F0: 63 6C 65 2E 20 20 57 68 61 74 20 77 69 6C 6C 20 cle. What will
000100: 67 72 61 62 20 74 68 65 0D 0A 20 20 20 61 74 74 grab the.. att
000110: 65 6E 74 69 6F 6E 20 6F 66 20 74 68 65 20 57 41 ention of the WA
000120: 43 43 49 20 72 65 61 64 65 72 20 61 6E 64 20 65 CCI reader and e
000130: 6E 74 69 63 65 20 65 76 65 6E 20 74 68 65 20 6D ntice even the m
000140: 6F 73 74 20 74 69 6D 69 64 20 70 72 6F 67 72 61 ost timid progra
000150: 6D 6D 65 72 20 74 6F 0D 0A 20 20 20 72 65 61 64 mmer to.. read
000160: 20 61 20 6C 6F 61 64 20 6F 66 20 74 65 63 68 6E a load of techn
000170: 69 63 61 6C 20 69 6E 66 6F 72 6D 61 74 69 6F 6E ical information
000180: 20 6F 6E 20 74 68 65 20 64 75 6C 6C 65 73 74 20 on the dullest
000190: 61 73 70 65 63 74 73 20 6F 66 20 4D 49 44 49 3F aspects of MIDI?
0001A0: 20 20 57 65 6C 6C 0D 0A 20 20 20 74 68 69 73 20 Well.. this
0001B0: 77 6F 6E 27 74 20 66 6F 72 20 73 75 72 65 2E 2E won't for sure..
0001C0: 2E 0D 0A 0D 0A 20 20 20 4D 4F 52 45 20 53 54 41 ..... MORE STA
0001D0: 54 55 53 20 43 4F 44 45 53 0D 0A 20 20 20 4C 61 TUS CODES.. La
0001E0: 73 74 20 6D 6F 6E 74 68 20 49 20 77 65 6E 74 20 st month I went
0001F0: 74 68 72 6F 75 67 68 20 6D 6F 73 74 20 6F 66 20 through most of
Size : 512 (Real : 512)
000000: 20 20 61 20 20 6C 69 6E 6B 65 64 20 20 20 6C 69 a linked li
000010: 73 74 20 20 20 66 6F 72 20 20 20 65 61 63 68 20 st for each
000020: 20 20 70 61 70 65 72 20 20 62 6F 79 2E 20 20 20 paper boy.
000030: 4C 6F 6F 6B 69 6E 67 20 20 61 74 0D 0A 20 20 20 Looking at..
000040: 6E 65 78 74 61 64 64 72 65 73 73 28 34 32 33 29 nextaddress(423)
000050: 2C 20 77 65 20 66 69 6E 64 20 74 68 61 74 20 69 , we find that i
000060: 74 20 69 73 20 32 37 2C 20 20 61 6E 64 20 61 64 t is 27, and ad
000070: 64 72 65 73 73 24 28 32 37 29 20 69 73 20 6E 75 dress$(27) is nu
000080: 6D 62 65 72 20 35 20 54 68 65 0D 0A 20 20 20 4F mber 5 The.. O
000090: 76 61 6C 2C 20 77 68 69 63 68 20 68 61 70 70 65 val, which happe
0000A0: 6E 73 20 74 6F 20 62 65 20 20 74 68 65 20 20 68 ns to be the h
0000B0: 6F 75 73 65 20 20 6E 65 78 74 20 64 6F 6F 72 2E ouse next door.
0000C0: 20 20 4E 65 78 74 61 64 64 72 65 73 73 28 32 37 Nextaddress(27
0000D0: 29 20 69 73 20 36 37 38 2C 0D 0A 20 20 20 61 6E ) is 678,.. an
0000E0: 64 20 61 64 64 72 65 73 73 24 28 36 37 38 29 20 d address$(678)
0000F0: 69 73 20 38 20 51 75 65 65 6E 27 73 20 47 61 72 is 8 Queen's Gar
000100: 64 65 6E 73 2C 20 6A 75 73 74 20 61 63 72 6F 73 dens, just acros
000110: 73 20 74 68 65 20 72 6F 61 64 2E 0D 0A 0D 0A 20 s the road.....
000120: 20 20 57 68 65 6E 20 68 65 20 67 65 74 73 20 74 When he gets t
000130: 6F 20 74 68 65 20 6C 61 73 74 20 20 61 64 64 72 o the last addr
000140: 65 73 73 2C 20 73 74 6F 72 65 64 20 69 6E 20 61 ess, stored in a
000150: 64 64 72 65 73 73 24 28 36 37 29 2C 20 6E 65 78 ddress$(67), nex
000160: 74 61 64 64 72 65 73 73 28 36 37 29 0D 0A 20 20 taddress(67)..
000170: 20 69 73 20 7A 65 72 6F 2C 20 77 68 69 63 68 20 is zero, which
000180: 6D 65 61 6E 73 20 68 65 20 68 61 73 20 72 65 61 means he has rea
000190: 63 68 65 64 20 74 68 65 20 65 6E 64 20 6F 66 20 ched the end of
0001A0: 74 68 65 20 70 61 70 65 72 20 72 6F 75 6E 64 2E the paper round.
0001B0: 20 20 54 68 69 73 20 69 73 20 61 0D 0A 20 20 20 This is a..
0001C0: 67 6F 6F 64 20 74 68 69 6E 67 2C 20 61 73 20 68 good thing, as h
0001D0: 69 73 20 62 61 67 20 69 73 20 65 6D 70 74 79 2E is bag is empty.
0001E0: 0D 0A 0D 0A 20 20 20 4E 6F 77 2C 20 74 68 65 20 .... Now, the
0001F0: 6F 6E 6C 79 20 76 61 6C 75 65 73 20 6F 66 20 6E only values of n
Size : 512 (Real : 512)
000000: 65 20 61 64 64 72 65 73 73 65 73 20 61 72 6F 75 e addresses arou
000010: 6E 64 0D 0A 20 20 20 77 68 65 6E 20 69 6E 73 65 nd.. when inse
000020: 72 74 69 6E 67 20 61 20 6E 65 77 20 6E 61 6D 65 rting a new name
000030: 20 69 6E 20 74 68 65 20 61 72 72 61 79 2E 20 20 in the array.
000040: 54 68 65 20 6C 69 6E 6B 65 64 20 6C 69 73 74 20 The linked list
000050: 6D 65 74 68 6F 64 20 6D 65 61 6E 73 20 74 68 61 method means tha
000060: 74 0D 0A 20 20 20 74 68 69 73 20 61 73 73 6F 63 t.. this assoc
000070: 69 61 74 65 64 20 64 61 74 61 20 63 61 6E 20 73 iated data can s
000080: 74 61 79 20 70 75 74 2E 20 20 20 54 68 65 20 20 tay put. The
000090: 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 20 6F 6E 20 information on
0000A0: 74 68 65 20 6F 72 64 65 72 20 6F 66 20 74 68 65 the order of the
0000B0: 0D 0A 20 20 20 65 6C 65 6D 65 6E 74 73 20 68 61 .. elements ha
0000C0: 73 20 62 65 65 6E 20 74 72 61 6E 73 66 65 72 72 s been transferr
0000D0: 65 64 20 66 72 6F 6D 20 74 68 65 20 61 72 72 61 ed from the arra
0000E0: 79 20 74 6F 20 74 68 65 20 6C 69 6E 6B 65 64 20 y to the linked
0000F0: 6C 69 73 74 2E 0D 0A 0D 0A 20 20 20 55 73 69 6E list..... Usin
000100: 67 20 6C 69 6E 6B 65 64 20 6C 69 73 74 73 20 74 g linked lists t
000110: 6F 20 6B 65 65 70 20 74 68 69 6E 67 73 20 20 69 o keep things i
000120: 6E 20 20 6F 72 64 65 72 20 20 6D 65 61 6E 73 20 n order means
000130: 20 79 6F 75 20 63 61 6E 20 73 74 6F 72 65 20 64 you can store d
000140: 61 74 61 20 69 6E 0D 0A 20 20 20 73 65 76 65 72 ata in.. sever
000150: 61 6C 20 64 69 66 66 65 72 65 6E 74 20 20 6F 72 al different or
000160: 64 65 72 73 20 20 61 74 20 20 6F 6E 63 65 2E 20 ders at once.
000170: 20 20 49 66 20 20 79 6F 75 20 20 69 6E 74 72 6F If you intro
000180: 64 75 63 65 20 20 61 6E 6F 74 68 65 72 20 20 61 duce another a
000190: 72 72 61 79 2C 0D 0A 20 20 20 22 6E 65 78 74 62 rray,.. "nextb
0001A0: 69 72 74 68 64 61 79 22 20 66 6F 72 20 65 78 61 irthday" for exa
0001B0: 6D 70 6C 65 2C 20 74 68 65 6E 20 74 68 61 74 20 mple, then that
0001C0: 20 63 6F 75 6C 64 20 20 62 65 20 20 75 73 65 64 could be used
0001D0: 20 20 74 6F 20 72 75 6E 20 74 68 72 6F 75 67 68 to run through
0001E0: 20 74 68 65 0D 0A 20 20 20 6E 61 6D 65 73 20 6F the.. names o
0001F0: 66 20 20 74 68 65 20 20 70 65 6F 70 6C 65 20 20 f the people
Size : 512 (Real : 512)
000000: 65 78 74 61 64 64 72 65 73 73 20 20 77 65 20 20 extaddress we
000010: 68 61 76 65 20 20 6C 6F 6F 6B 65 64 20 61 74 20 have looked at
000020: 61 72 65 20 74 68 6F 73 65 20 66 6F 72 20 74 68 are those for th
000030: 65 0D 0A 20 20 20 61 64 64 72 65 73 73 65 73 20 e.. addresses
000040: 6F 6E 20 4A 69 6D 27 73 20 72 6F 75 6E 64 2C 20 on Jim's round,
000050: 77 68 69 63 68 20 6D 65 61 6E 73 20 74 68 65 20 which means the
000060: 20 6F 74 68 65 72 20 65 6C 65 6D 65 6E 74 73 20 other elements
000070: 6F 66 20 74 68 65 20 61 72 72 61 79 20 63 61 6E of the array can
000080: 0D 0A 20 20 20 62 65 20 75 73 65 64 20 74 6F 20 .. be used to
000090: 73 74 6F 72 65 20 74 68 65 20 6C 69 6E 6B 65 64 store the linked
0000A0: 20 6C 69 73 74 73 20 66 6F 72 20 20 74 68 65 20 lists for the
0000B0: 6F 74 68 65 72 20 70 61 70 65 72 20 62 6F 79 73 other paper boys
0000C0: 2E 20 20 53 69 6E 63 65 20 6E 6F 20 74 77 6F 0D . Since no two.
0000D0: 0A 20 20 20 6F 66 20 74 68 65 6D 20 64 65 6C 69 . of them deli
0000E0: 76 65 72 20 74 6F 20 74 68 65 20 73 61 6D 65 20 ver to the same
0000F0: 61 64 64 72 65 73 73 2C 20 20 74 68 65 72 65 20 address, there
000100: 69 73 20 6E 6F 20 70 72 6F 62 6C 65 6D 2E 20 20 is no problem.
000110: 46 6F 72 20 65 61 63 68 20 70 61 70 65 72 0D 0A For each paper..
000120: 20 20 20 62 6F 79 20 70 61 70 65 72 62 6F 79 24 boy paperboy$
000130: 28 6E 29 2C 20 70 61 70 65 72 72 6F 75 6E 64 28 (n), paperround(
000140: 6E 29 20 70 6F 69 6E 74 73 20 74 6F 20 74 68 65 n) points to the
000150: 20 20 61 64 64 72 65 73 73 20 61 74 20 74 68 65 address at the
000160: 20 73 74 61 72 74 20 6F 66 20 74 68 65 0D 0A 20 start of the..
000170: 20 20 72 6F 75 6E 64 2E 0D 0A 0D 0A 20 20 20 4D round..... M
000180: 72 20 42 6C 61 63 6B 20 61 6C 73 6F 20 68 61 73 r Black also has
000190: 20 61 6E 6F 74 68 65 72 20 6C 69 6E 6B 65 64 20 another linked
0001A0: 6C 69 73 74 2C 20 6E 65 78 74 6E 61 6D 65 2C 20 list, nextname,
0001B0: 61 6E 64 20 68 65 20 75 73 65 73 20 74 68 69 73 and he uses this
0001C0: 20 74 6F 20 70 72 69 6E 74 0D 0A 20 20 20 75 70 to print.. up
0001D0: 20 74 68 65 20 6E 61 6D 65 73 20 6F 66 20 68 69 the names of hi
0001E0: 73 20 63 75 73 74 6F 6D 65 72 73 20 69 6E 20 6F s customers in o
0001F0: 72 64 65 72 2E 20 20 20 48 65 20 61 6C 73 6F 20 rder. He also
Size : 512 (Real : 512)
000000: 65 20 20 69 6E 20 20 74 77 6F 20 76 61 72 69 65 e in two varie
000010: 74 69 65 73 2C 20 73 79 73 74 65 6D 20 63 6F 6D ties, system com
000020: 6D 6F 6E 20 6D 65 73 73 61 67 65 73 2C 0D 0A 20 mon messages,..
000030: 20 20 66 72 6F 6D 20 26 46 30 20 74 6F 20 26 46 from &F0 to &F
000040: 37 2C 20 61 6E 64 20 73 79 73 74 65 6D 20 72 65 7, and system re
000050: 61 6C 2D 74 69 6D 65 20 20 6D 65 73 73 61 67 65 al-time message
000060: 73 2C 20 26 46 38 20 74 6F 20 26 46 46 2E 20 20 s, &F8 to &FF.
000070: 53 79 73 74 65 6D 20 72 65 61 6C 2D 0D 0A 20 20 System real-..
000080: 20 74 69 6D 65 20 6D 65 73 73 61 67 65 73 20 68 time messages h
000090: 61 76 65 20 74 68 65 20 20 75 6E 69 71 75 65 20 ave the unique
0000A0: 20 70 72 6F 70 65 72 74 79 20 20 74 68 61 74 20 property that
0000B0: 20 74 68 65 79 20 20 63 61 6E 20 20 62 65 20 20 they can be
0000C0: 73 65 6E 74 20 61 74 20 61 6E 79 0D 0A 20 20 20 sent at any..
0000D0: 6D 6F 6D 65 6E 74 2C 20 65 76 65 6E 20 69 6E 20 moment, even in
0000E0: 74 68 65 20 6D 69 64 64 6C 65 20 6F 66 20 61 6E the middle of an
0000F0: 6F 74 68 65 72 20 6D 65 73 73 61 67 65 2E 0D 0A other message...
000100: 0D 0A 20 20 20 54 68 65 20 6D 6F 73 74 20 63 6F .. The most co
000110: 6D 6D 6F 6E 20 6F 66 20 74 68 65 73 65 20 20 6D mmon of these m
000120: 65 73 73 61 67 65 73 20 20 69 73 20 20 74 68 65 essages is the
000130: 20 20 74 69 6D 69 6E 67 20 63 6C 6F 63 6B 2C 20 timing clock,
000140: 63 6F 64 65 20 26 46 38 2E 20 20 54 68 69 73 0D code &F8. This.
000150: 0A 20 20 20 73 69 67 6E 61 6C 20 69 73 20 73 65 . signal is se
000160: 6E 74 20 6F 75 74 20 32 34 20 74 69 6D 65 73 20 nt out 24 times
000170: 69 6E 20 65 76 65 72 79 20 63 72 6F 74 63 68 65 in every crotche
000180: 74 20 74 6F 20 6B 65 65 70 20 61 6C 6C 20 74 68 t to keep all th
000190: 65 20 65 71 75 69 70 6D 65 6E 74 20 69 6E 0D 0A e equipment in..
0001A0: 20 20 20 73 79 6E 63 68 2E 20 20 20 57 68 65 6E synch. When
0001B0: 20 20 74 68 65 20 20 6D 75 73 69 63 20 20 73 6C the music sl
0001C0: 6F 77 73 20 20 64 6F 77 6E 20 20 74 68 65 20 20 ows down the
0001D0: 63 6C 6F 63 6B 20 20 73 69 67 6E 61 6C 20 20 69 clock signal i
0001E0: 73 20 20 73 65 6E 74 20 20 6C 65 73 73 0D 0A 20 s sent less..
0001F0: 20 20 66 72 65 71 75 65 6E 74 6C 79 2E 20 20 54 frequently. T
Size : 512 (Real : 512)
000000: 74 68 65 20 20 4D 49 44 49 20 73 74 61 74 75 73 the MIDI status
000010: 20 63 6F 64 65 73 20 79 6F 75 20 61 72 65 20 6C codes you are l
000020: 69 6B 65 6C 79 20 74 6F 0D 0A 20 20 20 6D 65 65 ikely to.. mee
000030: 74 2E 20 20 54 68 65 72 65 20 61 72 65 20 61 20 t. There are a
000040: 66 65 77 20 6D 6F 72 65 20 20 74 68 61 74 20 20 few more that
000050: 61 72 65 20 20 77 6F 72 74 68 20 6B 6E 6F 77 69 are worth knowi
000060: 6E 67 20 61 62 6F 75 74 2E 20 20 53 6F 6D 65 20 ng about. Some
000070: 79 6F 75 20 6D 61 79 0D 0A 20 20 20 77 61 6E 74 you may.. want
000080: 20 74 6F 20 73 65 6E 64 20 74 6F 20 61 20 6B 65 to send to a ke
000090: 79 62 6F 61 72 64 20 20 66 6F 72 20 20 73 70 65 yboard for spe
0000A0: 63 69 61 6C 20 20 65 66 66 65 63 74 73 2E 20 20 cial effects.
0000B0: 4F 74 68 65 72 20 6D 65 73 73 61 67 65 73 20 79 Other messages y
0000C0: 6F 75 20 6D 61 79 0D 0A 20 20 20 6D 65 65 74 20 ou may.. meet
0000D0: 77 68 65 6E 20 72 65 63 65 69 76 69 6E 67 20 64 when receiving d
0000E0: 61 74 61 20 66 72 6F 6D 20 61 20 20 6B 65 79 62 ata from a keyb
0000F0: 6F 61 72 64 2C 20 20 69 6E 20 20 77 68 69 63 68 oard, in which
000100: 20 63 61 73 65 20 69 74 20 69 73 20 75 73 65 66 case it is usef
000110: 75 6C 20 74 6F 0D 0A 20 20 20 6B 6E 6F 77 20 77 ul to.. know w
000120: 68 61 74 20 69 74 20 69 73 20 73 61 66 65 20 74 hat it is safe t
000130: 6F 20 69 67 6E 6F 72 65 2E 0D 0A 0D 0A 20 20 20 o ignore.....
000140: 46 69 72 73 74 20 77 65 20 68 61 76 65 20 43 6F First we have Co
000150: 6E 74 72 6F 6C 20 43 68 61 6E 67 65 2C 20 77 69 ntrol Change, wi
000160: 74 68 20 73 74 61 74 75 73 20 63 6F 64 65 20 26 th status code &
000170: 42 78 2C 20 77 68 65 72 65 20 78 20 69 73 20 74 Bx, where x is t
000180: 68 65 20 63 68 61 6E 6E 65 6C 0D 0A 20 20 20 28 he channel.. (
000190: 30 20 74 6F 20 46 20 66 6F 72 20 63 68 61 6E 6E 0 to F for chann
0001A0: 65 6C 73 20 31 20 74 6F 20 20 31 36 29 2E 20 20 els 1 to 16).
0001B0: 20 54 68 69 73 20 20 61 6C 6C 6F 77 73 20 20 79 This allows y
0001C0: 6F 75 20 74 6F 20 63 68 61 6E 67 65 20 61 6C 6C ou to change all
0001D0: 20 73 6F 72 74 73 20 6F 66 0D 0A 20 20 20 74 68 sorts of.. th
0001E0: 69 6E 67 73 2E 20 20 49 74 20 69 73 20 66 6F 6C ings. It is fol
0001F0: 6C 6F 77 65 64 20 62 79 20 74 77 6F 20 62 79 74 lowed by two byt
Size : 512 (Real : 512)
000000: 68 65 20 72 65 61 73 6F 6E 20 69 74 20 69 73 20 he reason it is
000010: 20 73 65 6E 74 20 20 32 34 20 20 74 69 6D 65 73 sent 24 times
000020: 20 20 69 6E 20 20 61 20 20 63 72 6F 74 63 68 65 in a crotche
000030: 74 20 69 73 20 74 6F 20 6D 61 6B 65 0D 0A 20 20 t is to make..
000040: 20 74 69 6D 69 6E 67 20 74 72 69 70 6C 65 74 73 timing triplets
000050: 20 70 6F 73 73 69 62 6C 65 2E 0D 0A 0D 0A 20 20 possible.....
000060: 20 41 6E 6F 74 68 65 72 20 69 6D 70 6F 72 74 61 Another importa
000070: 6E 74 20 73 79 73 74 65 6D 20 6D 65 73 73 61 67 nt system messag
000080: 65 20 69 73 20 74 68 65 20 73 79 73 74 65 6D 20 e is the system
000090: 65 78 63 6C 75 73 69 76 65 20 6D 65 73 73 61 67 exclusive messag
0000A0: 65 2E 20 20 54 68 69 73 20 69 73 0D 0A 20 20 20 e. This is..
0000B0: 75 73 65 64 20 74 6F 20 73 65 6E 64 20 73 70 65 used to send spe
0000C0: 63 69 61 6C 20 64 61 74 61 20 73 70 65 63 69 66 cial data specif
0000D0: 69 63 20 74 6F 20 20 61 20 70 61 72 74 69 63 75 ic to a particu
0000E0: 6C 61 72 20 74 79 70 65 20 6F 66 20 6B 65 79 62 lar type of keyb
0000F0: 6F 61 72 64 2E 20 20 54 68 65 0D 0A 20 20 20 6D oard. The.. m
000100: 65 73 73 61 67 65 20 73 74 61 72 74 73 20 77 69 essage starts wi
000110: 74 68 20 26 46 30 20 61 6E 64 20 69 73 20 66 6F th &F0 and is fo
000120: 6C 6C 6F 77 65 64 20 20 62 79 20 64 61 74 61 20 llowed by data
000130: 62 79 74 65 73 2C 20 74 68 65 20 66 69 72 73 74 bytes, the first
000140: 20 6F 66 20 77 68 69 63 68 0D 0A 20 20 20 69 6E of which.. in
000150: 64 69 63 61 74 65 73 20 74 68 65 20 6D 61 6E 75 dicates the manu
000160: 66 61 63 74 75 72 65 72 20 6F 66 20 74 68 65 20 facturer of the
000170: 6B 65 79 62 6F 61 72 64 20 20 28 65 2E 67 2E 20 keyboard (e.g.
000180: 36 35 20 66 6F 72 20 52 6F 6C 61 6E 64 29 2E 20 65 for Roland).
000190: 20 54 68 65 20 65 6E 64 0D 0A 20 20 20 6F 66 20 The end.. of
0001A0: 74 68 65 20 64 61 74 61 20 62 79 74 65 73 20 69 the data bytes i
0001B0: 73 20 6D 61 72 6B 65 64 20 20 62 79 20 20 26 46 s marked by &F
0001C0: 37 2E 20 20 20 53 79 73 74 65 6D 20 65 78 63 6C 7. System excl
0001D0: 75 73 69 76 65 20 6D 65 73 73 61 67 65 73 20 61 usive messages a
0001E0: 72 65 20 75 73 65 64 0D 0A 20 20 20 66 6F 72 20 re used.. for
0001F0: 61 6C 6C 20 73 6F 72 74 73 20 6F 66 20 70 75 72 all sorts of pur
Size : 512 (Real : 512)
000000: 65 73 2C 20 74 68 65 20 20 66 69 72 73 74 20 6F es, the first o
000010: 66 20 77 68 69 63 68 20 69 73 20 74 68 65 20 6E f which is the n
000020: 75 6D 62 65 72 20 6F 66 0D 0A 20 20 20 74 68 65 umber of.. the
000030: 20 63 6F 6E 74 72 6F 6C 20 74 6F 20 63 68 61 6E control to chan
000040: 67 65 2C 20 61 6E 64 20 74 68 65 20 73 65 63 6F ge, and the seco
000050: 6E 64 20 20 69 73 20 20 74 68 65 20 6E 65 77 20 nd is the new
000060: 76 61 6C 75 65 20 66 6F 72 20 74 68 61 74 20 63 value for that c
000070: 6F 6E 74 72 6F 6C 2E 0D 0A 20 20 20 46 6F 72 20 ontrol... For
000080: 65 78 61 6D 70 6C 65 2C 20 74 6F 20 74 75 72 6E example, to turn
000090: 20 74 68 65 20 73 75 73 74 61 69 6E 69 6E 67 20 the sustaining
0000A0: 70 65 64 61 6C 20 6F 6E 20 66 6F 72 20 63 68 61 pedal on for cha
0000B0: 6E 6E 65 6C 20 31 20 79 6F 75 20 6D 69 67 68 74 nnel 1 you might
0000C0: 20 64 6F 3A 0D 0A 0D 0A 20 20 20 20 20 7C 53 45 do:.... |SE
0000D0: 4E 44 2C 26 42 30 2C 36 34 2C 31 32 37 0D 0A 0D ND,&B0,64,127...
0000E0: 0A 20 20 20 61 6E 64 20 7C 53 45 4E 44 2C 26 42 . and |SEND,&B
0000F0: 30 2C 36 34 2C 30 20 77 6F 75 6C 64 20 74 75 72 0,64,0 would tur
000100: 6E 20 69 74 20 6F 66 66 20 61 67 61 69 6E 2E 20 n it off again.
000110: 20 54 68 65 20 73 75 73 74 61 69 6E 69 6E 67 20 The sustaining
000120: 70 65 64 61 6C 20 69 73 20 6F 66 74 65 6E 0D 0A pedal is often..
000130: 20 20 20 63 6F 6E 74 72 6F 6C 20 6E 6F 2E 20 36 control no. 6
000140: 34 2E 20 20 54 68 65 72 65 20 61 72 65 20 6C 6F 4. There are lo
000150: 74 73 20 6F 66 20 20 6F 74 68 65 72 20 20 63 6F ts of other co
000160: 6E 74 72 6F 6C 20 6E 75 6D 62 65 72 73 2C 20 62 ntrol numbers, b
000170: 75 74 20 6E 6F 74 20 61 6C 6C 20 6F 66 0D 0A 20 ut not all of..
000180: 20 20 74 68 65 6D 20 61 72 65 20 61 70 70 6C 69 them are appli
000190: 65 64 20 69 6E 20 61 20 73 74 61 6E 64 61 72 64 ed in a standard
0001A0: 20 77 61 79 20 66 72 6F 6D 20 6F 6E 65 20 6B 65 way from one ke
0001B0: 79 62 6F 61 72 64 20 74 6F 20 61 6E 6F 74 68 65 yboard to anothe
0001C0: 72 2E 0D 0A 0D 0A 20 20 20 50 72 6F 62 61 62 6C r..... Probabl
0001D0: 79 20 74 68 65 20 6D 6F 73 74 20 75 73 65 66 75 y the most usefu
0001E0: 6C 20 63 6F 6E 74 72 6F 6C 20 20 69 73 20 20 42 l control is B
0001F0: 61 6E 6B 20 20 53 65 6C 65 63 74 2C 20 77 68 69 ank Select, whi
Size : 512 (Real : 512)
000000: 70 6F 73 65 73 2C 20 62 75 74 20 20 6D 6F 73 74 poses, but most
000010: 20 20 66 72 65 71 75 65 6E 74 6C 79 20 20 66 6F frequently fo
000020: 72 20 73 61 76 69 6E 67 20 64 61 74 61 20 66 72 r saving data fr
000030: 6F 6D 20 74 68 65 0D 0A 20 20 20 6D 65 6D 6F 72 om the.. memor
000040: 79 20 6F 66 20 74 68 65 20 6B 65 79 62 6F 61 72 y of the keyboar
000050: 64 2E 20 20 4D 6F 73 74 20 6B 65 79 62 6F 61 72 d. Most keyboar
000060: 64 73 20 20 63 61 6E 20 20 74 72 61 6E 73 6D 69 ds can transmi
000070: 74 20 74 68 65 69 72 20 64 72 75 6D 2C 20 74 75 t their drum, tu
000080: 6E 65 20 6F 72 0D 0A 20 20 20 73 61 6D 70 6C 65 ne or.. sample
000090: 20 6D 65 6D 6F 72 79 20 61 73 20 61 20 73 79 73 memory as a sys
0000A0: 74 65 6D 20 65 78 63 6C 75 73 69 76 65 20 20 6D tem exclusive m
0000B0: 65 73 73 61 67 65 2C 20 20 77 68 69 63 68 20 63 essage, which c
0000C0: 61 6E 20 74 68 65 6E 20 62 65 20 70 69 63 6B 65 an then be picke
0000D0: 64 20 75 70 0D 0A 20 20 20 62 79 20 74 68 65 20 d up.. by the
0000E0: 63 6F 6D 70 75 74 65 72 20 61 6E 64 20 73 61 76 computer and sav
0000F0: 65 64 20 74 6F 20 64 69 73 63 2E 0D 0A 0D 0A 20 ed to disc.....
000100: 20 20 50 4C 41 59 49 4E 47 20 41 20 54 55 4E 45 PLAYING A TUNE
000110: 0D 0A 20 20 20 57 65 6C 6C 2C 20 49 20 70 72 6F .. Well, I pro
000120: 6D 69 73 65 64 20 61 20 70 72 6F 67 72 61 6D 20 mised a program
000130: 20 74 6F 20 20 70 6C 61 79 20 20 61 20 20 74 75 to play a tu
000140: 6E 65 2C 20 20 61 6E 64 20 20 68 65 72 65 20 20 ne, and here
000150: 69 74 20 69 73 2E 20 20 54 79 70 65 20 69 6E 0D it is. Type in.
000160: 0A 20 20 20 4C 69 73 74 69 6E 67 20 31 2C 20 77 . Listing 1, w
000170: 69 74 68 20 6C 69 6E 65 20 33 30 30 20 61 64 6A ith line 300 adj
000180: 75 73 74 65 64 20 20 74 6F 20 20 74 68 65 20 6E usted to the n
000190: 75 6D 62 65 72 20 61 70 70 72 6F 70 72 69 61 74 umber appropriat
0001A0: 65 20 74 6F 20 79 6F 75 72 20 4D 49 44 49 0D 0A e to your MIDI..
0001B0: 20 20 20 69 6E 74 65 72 66 61 63 65 2E 20 20 59 interface. Y
0001C0: 6F 75 20 77 69 6C 6C 20 6E 65 65 64 20 74 6F 20 ou will need to
0001D0: 72 75 6E 20 4C 69 73 74 69 6E 67 20 31 20 66 72 run Listing 1 fr
0001E0: 6F 6D 20 6C 61 73 74 20 6D 6F 6E 74 68 27 73 20 om last month's
0001F0: 61 72 74 69 63 6C 65 20 66 69 72 73 74 0D 0A 20 article first..
Size : 512 (Real : 512)
000000: 63 68 20 69 73 20 63 6F 6E 74 72 6F 6C 20 7A 65 ch is control ze
000010: 72 6F 2E 0D 0A 20 20 20 54 68 69 73 20 61 6C 6C ro... This all
000020: 6F 77 73 20 79 6F 75 20 74 6F 20 20 63 68 6F 6F ows you to choo
000030: 73 65 20 20 61 20 20 62 61 6E 6B 20 20 6F 66 20 se a bank of
000040: 20 69 6E 73 74 72 75 6D 65 6E 74 73 2E 20 20 20 instruments.
000050: 52 65 6D 65 6D 62 65 72 20 74 68 61 74 20 26 43 Remember that &C
000060: 78 2C 0D 0A 20 20 20 50 72 6F 67 72 61 6D 6D 65 x,.. Programme
000070: 20 43 68 61 6E 67 65 2C 20 61 6C 6C 6F 77 73 20 Change, allows
000080: 75 73 20 74 6F 20 63 68 6F 6F 73 65 20 61 6E 20 us to choose an
000090: 69 6E 73 74 72 75 6D 65 6E 74 20 66 6F 72 20 74 instrument for t
0000A0: 68 65 20 63 68 61 6E 6E 65 6C 20 6F 75 74 20 6F he channel out o
0000B0: 66 0D 0A 20 20 20 31 32 38 20 20 64 69 66 66 65 f.. 128 diffe
0000C0: 72 65 6E 74 20 20 69 6E 73 74 72 75 6D 65 6E 74 rent instrument
0000D0: 73 2E 20 20 20 49 66 20 20 79 6F 75 72 20 20 20 s. If your
0000E0: 6B 65 79 62 6F 61 72 64 20 20 68 61 73 20 20 6D keyboard has m
0000F0: 6F 72 65 20 20 69 6E 73 74 72 75 6D 65 6E 74 73 ore instruments
000100: 0D 0A 20 20 20 61 76 61 69 6C 61 62 6C 65 2C 20 .. available,
000110: 42 61 6E 6B 20 53 65 6C 65 63 74 20 69 73 20 75 Bank Select is u
000120: 73 65 64 20 74 6F 20 73 77 61 70 20 20 69 6E 20 sed to swap in
000130: 61 20 64 69 66 66 65 72 65 6E 74 20 73 65 74 2E a different set.
000140: 20 20 41 63 74 75 61 6C 6C 79 20 42 61 6E 6B 0D Actually Bank.
000150: 0A 20 20 20 53 65 6C 65 63 74 20 6F 63 63 75 70 . Select occup
000160: 69 65 73 20 63 6F 6E 74 72 6F 6C 73 20 30 20 61 ies controls 0 a
000170: 6E 64 20 20 33 32 2C 20 20 61 6E 64 20 20 74 68 nd 32, and th
000180: 65 20 20 74 77 6F 20 20 76 61 6C 75 65 73 20 61 e two values a
000190: 72 65 20 63 6F 6D 62 69 6E 65 64 20 74 6F 0D 0A re combined to..
0001A0: 20 20 20 61 6C 6C 6F 77 20 79 6F 75 20 74 6F 20 allow you to
0001B0: 63 68 6F 6F 73 65 20 66 72 6F 6D 20 31 36 33 38 choose from 1638
0001C0: 34 20 62 61 6E 6B 73 20 6F 66 20 73 6F 75 6E 64 4 banks of sound
0001D0: 73 2C 20 65 61 63 68 20 77 69 74 68 20 31 32 38 s, each with 128
0001E0: 20 69 6E 73 74 72 75 6D 65 6E 74 73 21 0D 0A 20 instruments!..
0001F0: 20 20 49 66 20 6D 20 69 73 20 74 68 65 20 62 61 If m is the ba
Size : 512 (Real : 512)
000000: 20 20 74 6F 20 69 6E 73 74 61 6C 6C 20 74 68 65 to install the
000010: 20 52 53 58 20 63 6F 6D 6D 61 6E 64 73 2C 20 6F RSX commands, o
000020: 72 20 79 6F 75 20 20 63 61 6E 20 20 74 79 70 65 r you can type
000030: 20 74 68 69 73 20 6D 6F 6E 74 68 27 73 20 6C 69 this month's li
000040: 73 74 69 6E 67 20 6F 6E 20 74 68 65 0D 0A 20 20 sting on the..
000050: 20 65 6E 64 20 6F 66 20 6C 61 73 74 20 6D 6F 6E end of last mon
000060: 74 68 27 73 20 61 6E 64 20 72 75 6E 20 74 68 65 th's and run the
000070: 6D 20 62 6F 74 68 20 20 74 6F 67 65 74 68 65 72 m both together
000080: 2E 20 20 49 66 20 79 6F 75 20 63 68 6F 6F 73 65 . If you choose
000090: 20 74 6F 20 64 6F 20 74 68 61 74 0D 0A 20 20 20 to do that..
0000A0: 74 68 65 6E 20 61 64 64 20 61 6E 20 65 78 74 72 then add an extr
0000B0: 61 20 6C 69 6E 65 3A 0D 0A 0D 0A 20 20 20 20 20 a line:....
0000C0: 35 20 49 46 20 50 45 45 4B 28 26 39 44 30 30 29 5 IF PEEK(&9D00)
0000D0: 3D 31 20 54 48 45 4E 20 33 30 30 0D 0A 0D 0A 20 =1 THEN 300....
0000E0: 20 20 54 68 69 73 20 77 69 6C 6C 20 73 61 76 65 This will save
0000F0: 20 74 68 65 20 20 52 53 58 73 20 20 62 65 69 6E the RSXs bein
000100: 67 20 20 69 6E 73 74 61 6C 6C 65 64 20 20 61 67 g installed ag
000110: 61 69 6E 20 20 69 66 20 20 79 6F 75 20 72 75 6E ain if you run
000120: 20 74 68 65 20 70 72 6F 67 72 61 6D 0D 0A 20 20 the program..
000130: 20 73 65 76 65 72 61 6C 20 74 69 6D 65 73 2E 20 several times.
000140: 20 49 6E 73 74 61 6C 6C 69 6E 67 20 52 53 58 73 Installing RSXs
000150: 20 74 77 69 63 65 20 77 69 74 68 6F 75 74 20 72 twice without r
000160: 65 73 65 74 74 69 6E 67 20 74 68 65 20 6D 61 63 esetting the mac
000170: 68 69 6E 65 20 63 61 75 73 65 73 0D 0A 20 20 20 hine causes..
000180: 70 72 6F 62 6C 65 6D 73 2E 20 20 3C 3C 54 68 69 problems. <<Thi
000190: 73 20 63 6F 6D 62 69 6E 65 64 20 6C 69 73 74 69 s combined listi
0001A0: 6E 67 20 69 73 20 73 61 76 65 64 20 61 73 20 54 ng is saved as T
0001B0: 55 4E 45 2E 42 41 53 20 6F 6E 20 74 68 65 20 64 UNE.BAS on the d
0001C0: 69 73 63 2E 3E 3E 0D 0A 0D 0A 20 20 20 57 68 65 isc.>>.... Whe
0001D0: 6E 20 79 6F 75 20 72 75 6E 20 74 68 65 20 70 72 n you run the pr
0001E0: 6F 67 72 61 6D 20 79 6F 75 20 20 73 68 6F 75 6C ogram you shoul
0001F0: 64 20 20 67 65 74 20 20 74 68 65 20 20 66 69 72 d get the fir
Size : 512 (Real : 512)
000000: 6E 6B 20 6E 75 6D 62 65 72 2C 20 74 68 65 6E 20 nk number, then
000010: 79 6F 75 20 73 65 6C 65 63 74 20 69 74 20 62 79 you select it by
000020: 20 73 65 6E 64 69 6E 67 3A 0D 0A 0D 0A 20 20 20 sending:....
000030: 20 20 7C 53 45 4E 44 2C 26 42 78 2C 30 2C 61 2C |SEND,&Bx,0,a,
000040: 26 42 78 2C 33 32 2C 62 0D 0A 0D 0A 20 20 20 77 &Bx,32,b.... w
000050: 68 65 72 65 0D 0A 0D 0A 20 20 20 20 20 61 3D 6D here.... a=m
000060: 5C 31 32 38 0D 0A 20 20 20 20 20 62 3D 6D 20 4D \128.. b=m M
000070: 4F 44 20 31 32 38 0D 0A 0D 0A 20 20 20 61 6E 64 OD 128.... and
000080: 20 78 20 69 73 20 30 20 74 6F 20 46 20 20 66 6F x is 0 to F fo
000090: 72 20 20 74 68 65 20 20 63 68 61 6E 6E 65 6C 20 r the channel
0000A0: 20 6E 75 6D 62 65 72 2E 20 20 20 52 75 6E 6E 69 number. Runni
0000B0: 6E 67 20 73 74 61 74 75 73 20 6D 61 79 20 61 6C ng status may al
0000C0: 6C 6F 77 20 74 68 65 0D 0A 20 20 20 73 65 63 6F low the.. seco
0000D0: 6E 64 20 26 42 78 20 62 79 74 65 20 74 6F 20 62 nd &Bx byte to b
0000E0: 65 20 6D 69 73 73 65 64 20 6F 75 74 2C 20 62 75 e missed out, bu
0000F0: 74 20 20 49 20 20 61 6D 20 6E 6F 74 20 73 75 72 t I am not sur
000100: 65 20 61 62 6F 75 74 20 74 68 61 74 2E 20 20 49 e about that. I
000110: 20 64 6F 75 62 74 0D 0A 20 20 20 74 68 65 72 65 doubt.. there
000120: 20 69 73 20 61 6E 79 20 6B 65 79 62 6F 61 72 64 is any keyboard
000130: 20 61 76 61 69 6C 61 62 6C 65 20 77 69 74 68 20 available with
000140: 6F 76 65 72 20 32 20 6D 69 6C 6C 69 6F 6E 20 69 over 2 million i
000150: 6E 73 74 72 75 6D 65 6E 74 20 73 6F 75 6E 64 73 nstrument sounds
000160: 2C 20 62 75 74 0D 0A 20 20 20 74 68 65 72 65 20 , but.. there
000170: 77 65 20 61 72 65 2E 2E 2E 0D 0A 0D 0A 20 20 20 we are.......
000180: 53 59 53 54 45 4D 20 4D 45 53 53 41 47 45 53 0D SYSTEM MESSAGES.
000190: 0A 20 20 20 54 68 65 20 6F 74 68 65 72 20 62 69 . The other bi
0001A0: 67 20 73 65 74 20 6F 66 20 20 6D 65 73 73 61 67 g set of messag
0001B0: 65 73 20 20 61 72 65 20 20 74 68 65 20 73 79 73 es are the sys
0001C0: 74 65 6D 20 6D 65 73 73 61 67 65 73 2C 20 6F 63 tem messages, oc
0001D0: 63 75 70 79 69 6E 67 20 73 74 61 74 75 73 0D 0A cupying status..
0001E0: 20 20 20 62 79 74 65 73 20 26 46 30 20 74 6F 20 bytes &F0 to
0001F0: 26 46 46 2E 20 20 54 68 65 73 65 20 20 63 6F 6D &FF. These com
Size : 512 (Real : 512)
000000: 73 74 20 68 61 6C 66 20 6F 66 20 61 20 77 65 6C st half of a wel
000010: 6C 20 6B 6E 6F 77 6E 0D 0A 20 20 20 74 75 6E 65 l known.. tune
000020: 20 70 6C 61 79 65 64 20 6F 6E 20 79 6F 75 72 20 played on your
000030: 6B 65 79 62 6F 61 72 64 20 69 6E 20 62 65 61 75 keyboard in beau
000040: 74 69 66 75 6C 20 74 68 72 65 65 20 70 61 72 74 tiful three part
000050: 20 68 61 72 6D 6F 6E 79 2E 0D 0A 0D 0A 20 20 20 harmony.....
000060: 54 68 65 20 70 72 6F 67 72 61 6D 20 69 74 73 65 The program itse
000070: 6C 66 20 69 73 20 71 75 69 74 65 20 73 69 6D 70 lf is quite simp
000080: 6C 65 2E 20 20 20 4C 69 6E 65 20 20 33 32 30 20 le. Line 320
000090: 73 65 74 73 20 75 70 20 61 6E 20 69 6E 74 65 72 sets up an inter
0000A0: 72 75 70 74 20 77 68 69 63 68 0D 0A 20 20 20 69 rupt which.. i
0000B0: 73 20 63 61 6C 6C 65 64 20 65 76 65 72 79 20 31 s called every 1
0000C0: 32 2F 35 30 74 68 73 20 6F 66 20 20 61 20 20 73 2/50ths of a s
0000D0: 65 63 6F 6E 64 2E 20 20 20 41 6C 74 65 72 20 20 econd. Alter
0000E0: 74 68 65 20 20 6E 75 6D 62 65 72 20 74 6F 20 63 the number to c
0000F0: 68 61 6E 67 65 20 74 68 65 0D 0A 20 20 20 73 70 hange the.. sp
000100: 65 65 64 20 6F 66 20 74 68 65 20 6D 75 73 69 63 eed of the music
000110: 2E 20 20 20 4C 69 6E 65 20 20 33 33 30 20 20 74 . Line 330 t
000120: 68 65 6E 20 20 6A 75 73 74 20 20 68 61 6E 67 73 hen just hangs
000130: 20 20 61 72 6F 75 6E 64 20 77 61 69 74 69 6E 67 around waiting
000140: 20 66 6F 72 20 74 68 65 0D 0A 20 20 20 73 69 67 for the.. sig
000150: 6E 61 6C 20 74 68 61 74 20 74 68 65 20 6D 75 73 nal that the mus
000160: 69 63 20 68 61 73 20 73 74 6F 70 70 65 64 2E 0D ic has stopped..
000170: 0A 0D 0A 20 20 20 54 68 65 20 73 75 62 72 6F 75 ... The subrou
000180: 74 69 6E 65 20 61 74 20 34 30 30 20 69 73 20 77 tine at 400 is w
000190: 68 65 72 65 20 20 61 6C 6C 20 20 74 68 65 20 20 here all the
0001A0: 77 6F 72 6B 20 69 73 20 64 6F 6E 65 2E 20 20 54 work is done. T
0001B0: 68 65 20 70 72 6F 67 72 61 6D 20 72 65 61 64 73 he program reads
0001C0: 0D 0A 20 20 20 74 68 65 20 64 61 74 61 20 69 6E .. the data in
0001D0: 20 6C 69 6E 65 73 20 35 30 30 20 6F 6E 77 61 72 lines 500 onwar
0001E0: 64 73 2E 20 20 41 6C 6C 20 20 6F 66 20 74 68 65 ds. All of the
0001F0: 20 70 6F 73 69 74 69 76 65 20 64 61 74 61 20 6E positive data n
Size : 512 (Real : 512)
000000: 20 20 6C 69 6E 65 73 20 6F 66 20 64 61 74 61 2E lines of data.
000010: 20 20 49 6E 20 6C 69 6E 65 20 35 30 30 20 77 65 In line 500 we
000020: 20 20 74 75 72 6E 20 20 6F 6E 20 20 61 20 20 6E turn on a n
000030: 6F 74 65 20 6F 6E 20 63 68 61 6E 6E 65 6C 20 31 ote on channel 1
000040: 2C 20 62 79 20 73 65 6E 64 69 6E 67 0D 0A 20 20 , by sending..
000050: 20 26 39 30 2C 36 34 2C 35 30 2E 20 20 54 68 69 &90,64,50. Thi
000060: 73 20 70 6C 61 79 73 20 61 6E 20 45 20 61 74 20 s plays an E at
000070: 61 20 20 6D 65 64 69 75 6D 20 20 76 6F 6C 75 6D a medium volum
000080: 65 2E 20 20 54 77 6F 20 6E 6F 74 65 73 20 61 72 e. Two notes ar
000090: 65 20 74 75 72 6E 65 64 20 6F 6E 0D 0A 20 20 20 e turned on..
0000A0: 6F 6E 20 63 68 61 6E 6E 65 6C 20 32 3A 20 26 39 on channel 2: &9
0000B0: 31 2C 35 32 2C 34 30 2C 35 35 2C 34 30 2E 20 20 1,52,40,55,40.
0000C0: 50 69 74 63 68 20 20 35 32 20 20 69 73 20 20 61 Pitch 52 is a
0000D0: 6E 20 20 45 20 20 61 6E 20 6F 63 74 61 76 65 20 n E an octave
0000E0: 6C 6F 77 65 72 20 74 68 61 6E 0D 0A 20 20 20 62 lower than.. b
0000F0: 65 66 6F 72 65 2C 20 61 6E 64 20 35 35 20 69 73 efore, and 55 is
000100: 20 61 20 47 2E 20 20 20 54 68 65 20 20 76 65 6C a G. The vel
000110: 6F 63 69 74 79 20 20 76 61 6C 75 65 73 20 20 6F ocity values o
000120: 66 20 20 34 30 20 6D 65 61 6E 20 74 68 65 79 20 f 40 mean they
000130: 73 68 6F 75 6C 64 20 62 65 0D 0A 20 20 20 73 6C should be.. sl
000140: 69 67 68 74 6C 79 20 71 75 69 65 74 65 72 20 74 ightly quieter t
000150: 68 61 6E 20 74 68 65 20 6E 6F 74 65 20 6F 6E 20 han the note on
000160: 63 68 61 6E 6E 65 6C 20 20 31 2E 20 20 20 54 68 channel 1. Th
000170: 65 20 20 2D 34 20 69 73 20 61 20 73 69 67 6E 61 e -4 is a signa
000180: 6C 20 74 6F 20 73 61 79 0D 0A 20 20 20 22 6E 6F l to say.. "no
000190: 77 20 77 61 69 74 20 66 6F 75 72 20 62 65 61 74 w wait four beat
0001A0: 73 20 62 65 66 6F 72 65 20 77 65 20 73 65 6E 64 s before we send
0001B0: 20 61 6E 79 20 6D 6F 72 65 20 64 61 74 61 22 2E any more data".
0001C0: 0D 0A 0D 0A 20 20 20 54 68 65 20 6E 65 78 74 20 .... The next
0001D0: 20 6C 69 6E 65 2C 20 20 35 31 30 2C 20 20 6A 75 line, 510, ju
0001E0: 73 74 20 20 74 75 72 6E 73 20 20 6F 66 66 20 20 st turns off
0001F0: 74 68 65 20 20 45 20 20 6F 6E 20 20 63 68 61 6E the E on chan
Size : 512 (Real : 512)
000000: 66 72 6F 6D 20 20 74 68 65 20 20 4D 49 44 49 20 from the MIDI
000010: 20 69 6E 74 65 72 66 61 63 65 20 20 69 6E 20 20 interface in
000020: 42 41 53 49 43 20 20 69 73 20 20 6E 6F 74 20 20 BASIC is not
000030: 72 65 61 6C 6C 79 20 76 65 72 79 0D 0A 20 20 20 really very..
000040: 70 72 61 63 74 69 63 61 6C 2C 20 61 73 20 4D 49 practical, as MI
000050: 44 49 20 6F 70 65 72 61 74 65 73 20 61 74 20 20 DI operates at
000060: 33 31 32 35 30 20 20 62 61 75 64 2C 20 20 77 68 31250 baud, wh
000070: 69 63 68 20 69 73 20 66 61 73 74 2E 20 20 45 76 ich is fast. Ev
000080: 65 6E 20 6D 61 63 68 69 6E 65 0D 0A 20 20 20 63 en machine.. c
000090: 6F 64 65 20 63 6F 75 6C 64 20 68 61 76 65 20 74 ode could have t
0000A0: 72 6F 75 62 6C 65 20 6B 65 65 70 69 6E 67 20 75 rouble keeping u
0000B0: 70 2E 20 20 54 68 65 20 20 6F 6E 6C 79 20 73 6F p. The only so
0000C0: 66 74 77 61 72 65 20 49 20 68 61 76 65 20 77 72 ftware I have wr
0000D0: 69 74 74 65 6E 20 66 6F 72 0D 0A 20 20 20 72 65 itten for.. re
0000E0: 63 65 69 76 69 6E 67 20 4D 49 44 49 20 64 61 74 ceiving MIDI dat
0000F0: 61 20 75 73 65 64 20 20 72 61 74 68 65 72 20 20 a used rather
000100: 73 70 65 63 69 61 6C 69 73 65 64 20 20 66 65 61 specialised fea
000110: 74 75 72 65 73 20 20 6F 66 20 20 74 68 65 20 52 tures of the R
000120: 41 4D 20 4D 75 73 69 63 0D 0A 20 20 20 4D 61 63 AM Music.. Mac
000130: 68 69 6E 65 2C 20 73 6F 20 73 6F 6D 65 20 70 72 hine, so some pr
000140: 61 63 74 69 63 61 6C 20 65 78 61 6D 70 6C 65 73 actical examples
000150: 20 20 6F 66 20 20 72 65 63 65 69 76 69 6E 67 20 of receiving
000160: 20 64 61 74 61 20 77 69 6C 6C 20 68 61 76 65 20 data will have
000170: 74 6F 20 77 61 69 74 0D 0A 20 20 20 75 6E 74 69 to wait.. unti
000180: 6C 20 49 20 68 61 76 65 20 68 61 64 20 74 68 65 l I have had the
000190: 20 6F 70 70 6F 72 74 75 6E 69 74 79 20 74 6F 20 opportunity to
0001A0: 64 6F 20 61 20 6C 69 74 74 6C 65 20 6D 6F 72 65 do a little more
0001B0: 20 65 78 70 65 72 69 6D 65 6E 74 69 6E 67 2E 0D experimenting..
0001C0: 0A 0D 0A 20 20 20 41 20 4C 4F 4F 4B 20 54 4F 20 ... A LOOK TO
0001D0: 54 48 45 20 46 55 54 55 52 45 0D 0A 20 20 20 59 THE FUTURE.. Y
0001E0: 6F 75 20 77 69 6C 6C 20 62 65 20 72 65 6C 69 65 ou will be relie
0001F0: 76 65 64 20 74 6F 20 72 65 61 64 20 74 68 61 74 ved to read that
Size : 512 (Real : 512)
000000: 6E 65 6C 20 20 31 2C 20 20 61 6E 64 20 74 68 65 nel 1, and the
000010: 6E 0D 0A 20 20 20 69 6D 6D 65 64 69 61 74 65 6C n.. immediatel
000020: 79 20 73 74 61 72 74 73 20 61 6E 6F 74 68 65 72 y starts another
000030: 20 45 2E 20 20 57 65 20 74 68 65 6E 20 20 77 61 E. We then wa
000040: 69 74 20 20 74 77 6F 20 62 65 61 74 73 20 62 65 it two beats be
000050: 66 6F 72 65 20 72 65 61 64 69 6E 67 20 74 68 65 fore reading the
000060: 0D 0A 20 20 20 64 61 74 61 20 6F 6E 20 6C 69 6E .. data on lin
000070: 65 20 35 32 30 2E 20 20 54 68 69 73 20 74 75 72 e 520. This tur
000080: 6E 73 20 20 6F 66 66 20 20 74 68 65 20 20 45 20 ns off the E
000090: 20 61 67 61 69 6E 2C 20 20 61 6E 64 20 61 6C 73 again, and als
0000A0: 6F 20 74 75 72 6E 73 20 6F 66 66 20 74 68 65 0D o turns off the.
0000B0: 0A 20 20 20 6E 6F 74 65 73 20 6F 6E 20 63 68 61 . notes on cha
0000C0: 6E 6E 65 6C 20 32 2C 20 77 68 69 63 68 20 68 61 nnel 2, which ha
0000D0: 76 65 20 6C 61 73 74 65 64 20 61 20 74 6F 74 61 ve lasted a tota
0000E0: 6C 20 6F 66 20 73 69 78 20 62 65 61 74 73 20 73 l of six beats s
0000F0: 69 6E 63 65 20 74 68 65 20 73 74 61 72 74 0D 0A ince the start..
000100: 20 20 20 6F 66 20 6C 69 6E 65 20 35 30 30 2E 20 of line 500.
000110: 20 54 68 65 72 65 20 69 73 20 6E 6F 20 6E 65 67 There is no neg
000120: 61 74 69 76 65 20 20 6E 75 6D 62 65 72 20 20 61 ative number a
000130: 74 20 20 74 68 65 20 65 6E 64 20 6F 66 20 6C 69 t the end of li
000140: 6E 65 20 35 32 30 2C 20 73 6F 20 77 65 0D 0A 20 ne 520, so we..
000150: 20 20 72 65 61 64 20 74 68 65 20 64 61 74 61 20 read the data
000160: 6F 6E 20 6C 69 6E 65 20 20 35 32 35 20 20 73 74 on line 525 st
000170: 72 61 69 67 68 74 20 20 61 77 61 79 2E 20 20 20 raight away.
000180: 54 68 69 73 20 73 74 61 72 74 73 20 74 68 72 65 This starts thre
000190: 65 20 6D 6F 72 65 20 6E 6F 74 65 73 0D 0A 20 20 e more notes..
0001A0: 20 70 6C 61 79 69 6E 67 2E 0D 0A 0D 0A 20 20 20 playing.....
0001B0: 57 65 20 63 6F 75 6C 64 20 68 61 76 65 20 6D 69 We could have mi
0001C0: 73 73 65 64 20 6F 75 74 20 74 68 65 20 26 39 30 ssed out the &90
0001D0: 20 20 66 72 6F 6D 20 20 74 68 65 20 20 73 74 61 from the sta
0001E0: 72 74 20 6F 66 20 6C 69 6E 65 20 35 32 30 2C 20 rt of line 520,
0001F0: 61 73 20 72 75 6E 6E 69 6E 67 0D 0A 20 20 20 73 as running.. s
Size : 512 (Real : 512)
000000: 20 6E 65 78 74 20 6D 6F 6E 74 68 20 77 65 20 77 next month we w
000010: 69 6C 6C 20 62 65 20 67 6F 69 6E 67 20 62 61 63 ill be going bac
000020: 6B 20 74 6F 20 73 6F 6D 65 0D 0A 20 20 20 6F 72 k to some.. or
000030: 64 69 6E 61 72 79 20 70 72 6F 67 72 61 6D 6D 69 dinary programmi
000040: 6E 67 20 61 6E 64 20 6C 65 61 76 69 6E 67 20 4D ng and leaving M
000050: 49 44 49 20 61 6C 6F 6E 65 20 66 6F 72 20 20 61 IDI alone for a
000060: 20 62 69 74 2E 20 20 49 20 68 61 76 65 20 63 6F bit. I have co
000070: 6D 70 69 6C 65 64 20 61 0D 0A 20 20 20 76 65 72 mpiled a.. ver
000080: 79 20 73 68 6F 72 74 20 6C 69 73 74 20 6F 66 20 y short list of
000090: 62 6F 6F 6B 73 20 74 68 61 74 20 20 49 20 20 66 books that I f
0000A0: 6F 75 6E 64 20 20 69 6E 20 20 6D 79 20 6C 6F 63 ound in my loc
0000B0: 61 6C 20 6C 69 62 72 61 72 79 20 77 68 69 63 68 al library which
0000C0: 20 6D 61 79 20 62 65 0D 0A 20 20 20 75 73 65 66 may be.. usef
0000D0: 75 6C 20 69 66 20 79 6F 75 20 77 61 6E 74 20 20 ul if you want
0000E0: 74 6F 20 20 6C 65 61 72 6E 20 20 6D 6F 72 65 20 to learn more
0000F0: 20 61 62 6F 75 74 20 20 4D 49 44 49 2E 20 20 20 about MIDI.
000100: 59 6F 75 72 20 20 6C 69 62 72 61 72 79 20 6D 61 Your library ma
000110: 79 20 68 61 76 65 0D 0A 20 20 20 73 69 6D 69 6C y have.. simil
000120: 61 72 20 62 6F 6F 6B 73 2C 20 62 75 74 20 69 66 ar books, but if
000130: 20 74 68 65 79 20 68 61 76 65 6E 27 74 20 67 6F they haven't go
000140: 74 20 61 6E 79 74 68 69 6E 67 20 75 73 65 66 75 t anything usefu
000150: 6C 20 74 68 65 79 20 73 68 6F 75 6C 64 20 62 65 l they should be
000160: 20 61 62 6C 65 0D 0A 20 20 20 74 6F 20 67 65 74 able.. to get
000170: 20 73 6F 6D 65 20 6F 66 20 74 68 65 73 65 20 6F some of these o
000180: 6E 20 69 6E 74 65 72 2D 6C 69 62 72 61 72 79 20 n inter-library
000190: 6C 6F 61 6E 20 66 6F 72 20 79 6F 75 2E 0D 0A 0D loan for you....
0001A0: 0A 20 20 20 49 66 20 61 6E 79 20 6F 66 20 79 6F . If any of yo
0001B0: 75 20 77 6F 75 6C 64 20 6C 69 6B 65 20 75 73 20 u would like us
0001C0: 74 6F 20 20 63 6F 76 65 72 20 20 61 6E 79 20 6F to cover any o
0001D0: 74 68 65 72 20 61 73 70 65 63 74 73 20 6F 66 20 ther aspects of
0001E0: 4D 49 44 49 2C 20 77 72 69 74 65 20 69 6E 0D 0A MIDI, write in..
0001F0: 20 20 20 74 6F 20 46 61 69 72 20 43 6F 6D 6D 65 to Fair Comme
Size : 512 (Real : 512)
000000: 74 61 74 75 73 20 6D 65 61 6E 73 20 74 68 61 74 tatus means that
000010: 20 69 74 20 77 6F 75 6C 64 20 20 73 74 69 6C 6C it would still
000020: 20 20 62 65 20 20 69 6E 20 20 66 6F 72 63 65 20 be in force
000030: 20 62 65 63 61 75 73 65 20 20 69 74 20 77 61 73 because it was
000040: 20 74 68 65 20 6C 61 73 74 0D 0A 20 20 20 73 74 the last.. st
000050: 61 74 75 73 20 62 79 74 65 20 75 73 65 64 2C 20 atus byte used,
000060: 62 75 74 20 69 74 20 69 73 20 70 72 6F 62 61 62 but it is probab
000070: 6C 79 20 6D 6F 72 65 20 72 65 61 64 61 62 6C 65 ly more readable
000080: 20 77 69 74 68 20 69 74 20 69 6E 2E 0D 0A 0D 0A with it in.....
000090: 20 20 20 4F 66 20 63 6F 75 72 73 65 20 74 68 65 Of course the
0000A0: 72 65 20 69 73 20 61 20 6C 6F 74 20 6F 66 20 73 re is a lot of s
0000B0: 63 6F 70 65 20 20 66 6F 72 20 20 69 6D 70 72 6F cope for impro
0000C0: 76 65 6D 65 6E 74 20 2D 20 74 68 65 20 72 65 73 vement - the res
0000D0: 74 20 6F 66 20 74 68 65 20 74 75 6E 65 0D 0A 20 t of the tune..
0000E0: 20 20 63 6F 75 6C 64 20 62 65 20 61 64 64 65 64 could be added
0000F0: 20 66 6F 72 20 61 20 73 74 61 72 74 21 20 20 20 for a start!
000100: 59 6F 75 20 20 63 61 6E 20 20 61 6C 73 6F 20 75 You can also u
000110: 73 65 20 6F 74 68 65 72 20 4D 49 44 49 20 63 6F se other MIDI co
000120: 6D 6D 61 6E 64 73 20 61 70 61 72 74 0D 0A 20 20 mmands apart..
000130: 20 66 72 6F 6D 20 4E 6F 74 65 20 4F 6E 2E 20 20 from Note On.
000140: 46 6F 72 20 65 78 61 6D 70 6C 65 2C 20 61 64 64 For example, add
000150: 69 6E 67 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E ing the followin
000160: 67 20 64 61 74 61 20 74 6F 20 74 68 65 20 73 74 g data to the st
000170: 61 72 74 20 6F 66 20 6C 69 6E 65 0D 0A 20 20 20 art of line..
000180: 35 30 30 20 77 6F 75 6C 64 20 63 68 6F 6F 73 65 500 would choose
000190: 20 74 68 65 20 69 6E 73 74 72 75 6D 65 6E 74 73 the instruments
0001A0: 20 66 6F 72 20 74 68 65 20 74 77 6F 20 63 68 61 for the two cha
0001B0: 6E 6E 65 6C 73 3A 0D 0A 0D 0A 20 20 20 20 20 26 nnels:.... &
0001C0: 43 30 2C 34 31 2C 26 43 31 2C 31 0D 0A 0D 0A 20 C0,41,&C1,1....
0001D0: 20 20 59 6F 75 20 63 6F 75 6C 64 20 20 61 64 64 You could add
0001E0: 20 20 6D 6F 72 65 20 20 6F 66 20 20 74 68 65 73 more of thes
0001F0: 65 20 20 74 79 70 65 73 20 20 6F 66 20 20 4D 49 e types of MI
Size : 512 (Real : 512)
000000: 75 6D 62 65 72 73 20 61 72 65 20 72 65 61 64 0D umbers are read.
000010: 0A 20 20 20 61 6E 64 20 73 65 6E 74 20 74 6F 20 . and sent to
000020: 74 68 65 20 4D 49 44 49 20 69 6E 74 65 72 66 61 the MIDI interfa
000030: 63 65 2E 20 20 57 68 65 6E 20 20 61 20 6E 65 67 ce. When a neg
000040: 61 74 69 76 65 20 6E 75 6D 62 65 72 20 69 73 20 ative number is
000050: 72 65 61 63 68 65 64 20 28 65 67 20 61 74 0D 0A reached (eg at..
000060: 20 20 20 74 68 65 20 65 6E 64 20 6F 66 20 6C 69 the end of li
000070: 6E 65 20 35 30 30 29 2C 20 69 74 20 69 73 20 6E ne 500), it is n
000080: 6F 74 20 20 73 65 6E 74 20 20 74 6F 20 74 68 65 ot sent to the
000090: 20 69 6E 74 65 72 66 61 63 65 2E 20 20 49 6E 73 interface. Ins
0000A0: 74 65 61 64 20 74 20 69 73 20 73 65 74 0D 0A 20 tead t is set..
0000B0: 20 20 74 6F 20 74 68 65 20 65 71 75 69 76 61 6C to the equival
0000C0: 65 6E 74 20 70 6F 73 69 74 69 76 65 20 6E 75 6D ent positive num
0000D0: 62 65 72 2E 20 20 54 68 69 73 20 20 69 6E 64 69 ber. This indi
0000E0: 63 61 74 65 73 20 20 74 68 65 20 61 6D 6F 75 6E cates the amoun
0000F0: 74 20 6F 66 20 74 69 6D 65 20 74 6F 0D 0A 20 20 t of time to..
000100: 20 77 61 69 74 20 62 65 66 6F 72 65 20 72 65 61 wait before rea
000110: 64 69 6E 67 20 74 68 65 20 20 6E 65 78 74 20 20 ding the next
000120: 62 61 74 63 68 20 20 6F 66 20 20 64 61 74 61 2E batch of data.
000130: 20 20 20 4C 69 6E 65 20 20 34 30 30 20 20 69 73 Line 400 is
000140: 20 77 68 65 72 65 20 74 20 69 73 0D 0A 20 20 20 where t is..
000150: 67 72 61 64 75 61 6C 6C 79 20 64 65 63 72 65 61 gradually decrea
000160: 73 65 64 20 75 6E 74 69 6C 20 69 74 20 69 73 20 sed until it is
000170: 7A 65 72 6F 20 61 67 61 69 6E 2C 20 61 6E 64 20 zero again, and
000180: 20 6F 6E 6C 79 20 77 68 65 6E 20 74 20 69 73 20 only when t is
000190: 7A 65 72 6F 20 64 6F 20 77 65 0D 0A 20 20 20 72 zero do we.. r
0001A0: 65 61 64 20 74 68 65 20 6E 65 78 74 20 73 65 74 ead the next set
0001B0: 20 6F 66 20 64 61 74 61 2E 0D 0A 0D 0A 20 20 20 of data.....
0001C0: 54 68 65 20 76 61 6C 75 65 20 2D 31 30 30 20 69 The value -100 i
0001D0: 6E 64 69 63 61 74 65 73 20 74 68 61 74 20 74 68 ndicates that th
0001E0: 65 20 65 6E 64 20 6F 66 20 74 68 65 20 70 69 65 e end of the pie
0001F0: 63 65 20 68 61 73 20 62 65 65 6E 20 72 65 61 63 ce has been reac
Size : 512 (Real : 512)
000000: 44 49 20 20 63 6F 6D 6D 61 6E 64 20 20 74 6F 20 DI command to
000010: 20 63 68 61 6E 67 65 20 20 74 68 65 0D 0A 20 20 change the..
000020: 20 69 6E 73 74 72 75 6D 65 6E 74 73 20 64 75 72 instruments dur
000030: 69 6E 67 20 74 68 65 20 70 69 65 63 65 2E 0D 0A ing the piece...
000040: 0D 0A 20 20 20 52 45 43 45 49 56 49 4E 47 20 4D .. RECEIVING M
000050: 49 44 49 20 44 41 54 41 0D 0A 20 20 20 55 70 20 IDI DATA.. Up
000060: 74 69 6C 6C 20 6E 6F 77 20 77 65 20 68 61 76 65 till now we have
000070: 20 20 63 6F 6E 63 65 6E 74 72 61 74 65 64 20 20 concentrated
000080: 65 6E 74 69 72 65 6C 79 20 20 6F 6E 20 20 73 65 entirely on se
000090: 6E 64 69 6E 67 20 20 64 61 74 61 20 74 6F 20 74 nding data to t
0000A0: 68 65 20 4D 49 44 49 0D 0A 20 20 20 69 6E 74 65 he MIDI.. inte
0000B0: 72 66 61 63 65 2C 20 62 75 74 20 69 74 20 69 73 rface, but it is
0000C0: 20 61 6C 73 6F 20 20 70 6F 73 73 69 62 6C 65 20 also possible
0000D0: 20 74 6F 20 20 72 65 63 65 69 76 65 20 20 64 61 to receive da
0000E0: 74 61 20 20 73 65 6E 74 20 62 79 20 6F 74 68 65 ta sent by othe
0000F0: 72 20 4D 49 44 49 0D 0A 20 20 20 64 65 76 69 63 r MIDI.. devic
000100: 65 73 2E 0D 0A 0D 0A 20 20 20 42 69 74 20 7A 65 es..... Bit ze
000110: 72 6F 20 6F 6E 20 74 68 65 20 4D 49 44 49 20 69 ro on the MIDI i
000120: 6E 74 65 72 66 61 63 65 20 20 73 74 61 74 75 73 nterface status
000130: 20 20 70 6F 72 74 20 20 69 6E 64 69 63 61 74 65 port indicate
000140: 73 20 77 68 65 74 68 65 72 20 61 20 62 79 74 65 s whether a byte
000150: 20 68 61 73 0D 0A 20 20 20 62 65 65 6E 20 72 65 has.. been re
000160: 63 65 69 76 65 64 2C 20 61 74 20 77 68 69 63 68 ceived, at which
000170: 20 70 6F 69 6E 74 20 74 68 65 20 62 79 74 65 20 point the byte
000180: 20 63 61 6E 20 20 62 65 20 72 65 61 64 20 6F 6E can be read on
000190: 20 74 68 65 20 64 61 74 61 20 72 65 61 64 20 70 the data read p
0001A0: 6F 72 74 0D 0A 20 20 20 6F 66 20 74 68 65 20 69 ort.. of the i
0001B0: 6E 74 65 72 66 61 63 65 2E 20 20 53 65 65 20 54 nterface. See T
0001C0: 61 62 6C 65 20 31 20 20 66 6F 72 20 20 74 68 65 able 1 for the
0001D0: 20 70 6F 72 74 20 61 64 64 72 65 73 73 65 73 2E port addresses.
0001E0: 20 20 46 6F 72 20 65 78 61 6D 70 6C 65 2C 20 74 For example, t
0001F0: 68 65 0D 0A 20 20 20 66 6F 6C 6C 6F 77 69 6E 67 he.. following
Size : 512 (Real : 512)
000000: 68 65 64 2C 20 73 6F 20 69 66 0D 0A 20 20 20 79 hed, so if.. y
000010: 6F 75 20 77 61 6E 74 20 74 6F 20 73 61 76 65 20 ou want to save
000020: 74 79 70 69 6E 67 20 79 6F 75 20 63 6F 75 6C 64 typing you could
000030: 20 70 75 74 20 2D 31 30 30 20 61 74 20 74 68 65 put -100 at the
000040: 20 65 6E 64 20 6F 66 20 6C 69 6E 65 20 35 37 30 end of line 570
000050: 20 61 6E 64 20 73 74 6F 70 0D 0A 20 20 20 74 68 and stop.. th
000060: 65 72 65 2E 0D 0A 0D 0A 20 20 20 48 6F 77 20 64 ere..... How d
000070: 6F 65 73 20 74 68 65 20 64 61 74 61 20 77 6F 72 oes the data wor
000080: 6B 3F 20 20 57 65 6C 6C 20 62 61 73 69 63 61 6C k? Well basical
000090: 6C 79 20 69 74 20 20 69 73 20 61 20 6C 6F 61 64 ly it is a load
0000A0: 20 6F 66 20 4D 49 44 49 20 63 6F 6D 6D 61 6E 64 of MIDI command
0000B0: 73 2C 20 61 73 0D 0A 20 20 20 65 78 70 6C 61 69 s, as.. explai
0000C0: 6E 65 64 20 6C 61 73 74 20 6D 6F 6E 74 68 2E 20 ned last month.
0000D0: 20 54 68 65 79 20 20 61 72 65 20 20 61 6C 6C 20 They are all
0000E0: 20 4E 6F 74 65 20 20 4F 6E 20 20 63 6F 6D 6D 61 Note On comma
0000F0: 6E 64 73 2C 20 20 61 70 61 72 74 20 66 72 6F 6D nds, apart from
000100: 20 6F 6E 65 0D 0A 20 20 20 50 6F 6C 79 70 68 6F one.. Polypho
000110: 6E 69 63 20 4B 65 79 20 50 72 65 73 73 75 72 65 nic Key Pressure
000120: 20 69 6E 20 20 74 68 65 20 20 6D 69 64 64 6C 65 in the middle
000130: 20 20 6F 66 20 20 6C 69 6E 65 20 20 36 35 30 2E of line 650.
000140: 20 20 54 75 72 6E 69 6E 67 20 6E 6F 74 65 73 20 Turning notes
000150: 6F 66 66 0D 0A 20 20 20 61 67 61 69 6E 20 68 61 off.. again ha
000160: 73 20 62 65 65 6E 20 64 6F 6E 65 20 62 79 20 75 s been done by u
000170: 73 69 6E 67 20 20 4E 6F 74 65 20 20 4F 6E 20 20 sing Note On
000180: 63 6F 6D 6D 61 6E 64 73 20 20 77 69 74 68 20 61 commands with a
000190: 20 76 65 6C 6F 63 69 74 79 20 76 61 6C 75 65 20 velocity value
0001A0: 6F 66 0D 0A 20 20 20 7A 65 72 6F 2E 0D 0A 0D 0A of.. zero.....
0001B0: 20 20 20 4A 75 73 74 20 74 6F 20 67 65 74 20 61 Just to get a
0001C0: 20 66 65 65 6C 20 66 6F 72 20 77 68 61 74 20 20 feel for what
0001D0: 69 73 20 20 68 61 70 70 65 6E 69 6E 67 2C 20 20 is happening,
0001E0: 6C 65 74 20 20 75 73 20 67 6F 20 6F 76 65 72 20 let us go over
0001F0: 74 68 65 20 66 69 72 73 74 20 66 65 77 0D 0A 20 the first few..
Size : 512 (Real : 512)
000000: 20 6C 69 74 74 6C 65 20 70 72 6F 67 72 61 6D 20 little program
000010: 77 6F 75 6C 64 20 77 61 69 74 20 66 6F 72 20 20 would wait for
000020: 61 20 20 62 79 74 65 20 20 74 6F 20 62 65 20 72 a byte to be r
000030: 65 63 65 69 76 65 64 20 61 6E 64 20 70 72 69 6E eceived and prin
000040: 74 0D 0A 20 20 20 74 68 65 20 68 65 78 20 76 61 t.. the hex va
000050: 6C 75 65 20 6F 6E 20 74 68 65 20 73 63 72 65 65 lue on the scree
000060: 6E 3A 0D 0A 0D 0A 20 20 20 20 20 31 30 20 57 48 n:.... 10 WH
000070: 49 4C 45 20 28 49 4E 50 28 26 46 38 45 45 29 20 ILE (INP(&F8EE)
000080: 41 4E 44 20 31 29 3D 30 3A 57 45 4E 44 0D 0A 20 AND 1)=0:WEND..
000090: 20 20 20 20 32 30 20 50 52 49 4E 54 20 48 45 58 20 PRINT HEX
0000A0: 24 28 49 4E 50 28 26 46 38 45 46 29 29 0D 0A 0D $(INP(&F8EF))...
0000B0: 0A 20 20 20 54 68 65 20 57 48 49 4C 45 20 57 45 . The WHILE WE
0000C0: 4E 44 20 6C 6F 6F 70 20 63 6F 75 6C 64 20 20 62 ND loop could b
0000D0: 65 20 20 72 65 70 6C 61 63 65 64 20 20 62 79 20 e replaced by
0000E0: 20 61 6E 20 65 78 61 6D 70 6C 65 20 6F 66 20 74 an example of t
0000F0: 68 65 20 6C 69 74 74 6C 65 2D 75 73 65 64 0D 0A he little-used..
000100: 20 20 20 57 41 49 54 20 63 6F 6D 6D 61 6E 64 3A WAIT command:
000110: 0D 0A 0D 0A 20 20 20 20 20 31 30 20 57 41 49 54 .... 10 WAIT
000120: 20 26 46 38 45 45 2C 31 0D 0A 0D 0A 20 20 20 62 &F8EE,1.... b
000130: 75 74 20 69 66 20 6E 6F 74 68 69 6E 67 20 69 73 ut if nothing is
000140: 20 72 65 63 65 69 76 65 64 2C 20 79 6F 75 20 68 received, you h
000150: 61 76 65 20 74 6F 20 72 65 73 65 74 20 74 68 65 ave to reset the
000160: 20 63 6F 6D 70 75 74 65 72 20 74 6F 20 62 72 65 computer to bre
000170: 61 6B 20 6F 75 74 20 6F 66 0D 0A 20 20 20 69 74 ak out of.. it
000180: 21 20 20 54 68 65 20 70 6F 72 74 20 76 61 6C 75 ! The port valu
000190: 65 73 20 61 72 65 20 74 68 6F 73 65 20 66 6F 72 es are those for
0001A0: 20 74 68 65 20 52 41 4D 20 4D 75 73 69 63 20 4D the RAM Music M
0001B0: 61 63 68 69 6E 65 20 2D 20 6A 75 73 74 20 63 68 achine - just ch
0001C0: 61 6E 67 65 20 74 68 65 0D 0A 20 20 20 6E 75 6D ange the.. num
0001D0: 62 65 72 73 20 61 63 63 6F 72 64 69 6E 67 20 74 bers according t
0001E0: 6F 20 54 61 62 6C 65 20 31 2E 0D 0A 0D 0A 20 20 o Table 1.....
0001F0: 20 52 65 61 64 69 6E 67 20 62 79 74 65 73 20 20 Reading bytes
Size : 512 (Real : 512)
000000: 61 64 20 28 72 65 61 64 20 6F 6E 6C 79 29 20 20 ad (read only)
000010: 20 20 20 26 46 38 45 46 20 20 20 26 46 38 46 33 &F8EF &F8F3
000020: 20 20 20 26 46 38 45 31 0D 0A 20 20 20 64 61 74 &F8E1.. dat
000030: 61 20 77 72 69 74 65 20 28 77 72 69 74 65 20 6F a write (write o
000040: 6E 6C 79 29 20 20 20 26 46 38 45 44 20 20 20 26 nly) &F8ED &
000050: 46 38 46 33 20 20 20 26 46 38 45 31 0D 0A 1A 20 F8F3 &F8E1...
000060: 73 69 74 74 69 6E 67 20 20 69 6E 20 66 72 6F 6E sitting in fron
000070: 74 20 6F 66 20 74 68 65 20 63 6F 6D 70 75 74 65 t of the compute
000080: 32 30 45 36 30 46 43 36 33 30 43 33 45 43 39 30 20E60FC630C3EC90
000090: 43 36 39 30 32 37 43 45 36 39 35 0D 0A 20 31 31 C69027CE695.. 11
0000A0: 34 30 20 44 41 54 41 20 34 30 32 37 43 33 45 43 40 DATA 4027C3EC
0000B0: 39 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 9000000000000000
0000C0: 32 41 36 0D 0A 1A 77 6E 20 20 6F 6E 20 20 74 68 2A6...wn on th
0000D0: 65 20 20 77 69 64 65 20 20 64 65 73 65 72 74 20 e wide desert
0000E0: 20 70 6C 61 69 6E 73 20 20 6F 66 20 20 4D 65 78 plains of Mex
0000F0: 69 63 6F 2E 20 20 4A 75 61 6E 20 43 61 72 6C 6F ico. Juan Carlo
000100: 45 45 43 39 42 31 43 38 37 36 36 0D 0A 20 31 30 EEC9B1C8766.. 10
000110: 34 30 20 44 41 54 41 20 30 45 32 30 45 36 30 46 40 DATA 0E20E60F
000120: 46 35 43 44 44 43 39 34 46 31 43 39 37 45 42 37 F5CDDC94F1C97EB7
000130: 37 34 34 0D 0A 20 31 30 35 30 20 44 41 54 41 20 744.. 1050 DATA
000140: 43 38 32 33 46 45 32 32 32 30 46 38 43 39 37 45 C823FE2220F8C97E
000150: 42 37 43 38 32 33 46 35 37 30 31 0D 0A 20 31 30 B7C823F5701.. 10
000160: 36 30 20 44 41 54 41 20 43 44 45 43 39 30 46 31 60 DATA CDEC90F1
000170: 46 45 32 32 32 30 46 33 43 39 37 45 32 33 42 37 FE2220F3C97E23B7
000180: 37 38 45 0D 0A 20 31 30 37 30 20 44 41 54 41 20 78E.. 1070 DATA
000190: 46 32 38 39 39 34 43 39 37 45 32 33 42 37 46 41 F28994C97E23B7FA
0001A0: 39 44 39 34 46 45 30 39 37 36 32 0D 0A 20 31 30 9D94FE09762.. 10
0001B0: 38 30 20 44 41 54 41 20 43 34 45 43 39 30 31 38 80 DATA C4EC9018
0001C0: 46 33 45 36 37 46 43 33 45 43 39 30 30 36 30 34 F3E67FC3EC900604
0001D0: 36 46 39 0D 0A 20 31 30 39 30 20 44 41 54 41 20 6F9.. 1090 DATA
0001E0: 30 45 30 30 44 44 32 31 43 39 39 34 44 44 35 45 0E00DD21C994DD5E
0001F0: 30 30 44 44 35 36 30 31 34 44 38 0D 0A 20 31 31 00DD56014D8.. 11
Size : 512 (Real : 512)
000000: 69 6E 67 20 6E 6F 0D 0A 20 20 20 67 6F 6F 64 20 ing no.. good
000010: 66 6F 72 20 4D 49 44 49 2E 0D 0A 0D 0A 0D 0A 20 for MIDI.......
000020: 20 20 41 64 76 61 6E 63 65 64 20 4D 49 44 49 20 Advanced MIDI
000030: 75 73 65 72 27 73 20 67 75 69 64 65 20 62 79 20 user's guide by
000040: 52 2E 41 2E 20 50 65 6E 66 6F 6C 64 2C 20 32 6E R.A. Penfold, 2n
000050: 64 20 65 64 2E 2C 20 50 43 20 50 75 62 6C 69 73 d ed., PC Publis
000060: 68 69 6E 67 2C 20 31 39 39 35 0D 0A 20 20 20 49 hing, 1995.. I
000070: 53 42 4E 20 31 2D 38 37 30 37 37 35 2D 33 39 2D SBN 1-870775-39-
000080: 32 0D 0A 20 20 20 4E 6F 74 20 73 6F 20 75 73 65 2.. Not so use
000090: 66 75 6C 20 61 73 20 74 68 65 20 20 50 72 61 63 ful as the Prac
0000A0: 74 69 63 61 6C 20 20 4D 49 44 49 20 20 68 61 6E tical MIDI han
0000B0: 64 62 6F 6F 6B 2C 20 20 62 75 74 20 6D 61 79 20 dbook, but may
0000C0: 62 65 20 77 6F 72 74 68 20 64 69 70 70 69 6E 67 be worth dipping
0000D0: 0D 0A 20 20 20 69 6E 74 6F 20 69 66 20 79 6F 75 .. into if you
0000E0: 20 63 6F 6D 65 20 61 63 72 6F 73 73 20 61 20 63 come across a c
0000F0: 6F 70 79 2E 0D 0A 0D 0A 0D 0A 20 20 20 4D 75 73 opy....... Mus
000100: 69 63 20 74 65 63 68 6E 6F 6C 6F 67 79 20 72 65 ic technology re
000110: 66 65 72 65 6E 63 65 20 62 6F 6F 6B 20 62 79 20 ference book by
000120: 50 65 74 65 72 20 42 75 69 63 6B 20 61 6E 64 20 Peter Buick and
000130: 56 69 63 20 4C 65 6E 6E 61 72 64 2C 20 50 43 0D Vic Lennard, PC.
000140: 0A 20 20 20 50 75 62 6C 69 73 68 69 6E 67 2C 20 . Publishing,
000150: 31 39 39 35 0D 0A 20 20 20 49 53 42 4E 20 31 2D 1995.. ISBN 1-
000160: 38 37 30 37 37 35 2D 33 34 2D 31 0D 0A 20 20 20 870775-34-1..
000170: 46 75 6C 6C 20 6F 66 20 74 65 63 68 6E 69 63 61 Full of technica
000180: 6C 20 64 65 74 61 69 6C 20 75 73 65 66 75 6C 20 l detail useful
000190: 66 6F 72 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 for programming
0001A0: 4D 49 44 49 20 73 6F 66 74 77 61 72 65 2E 20 20 MIDI software.
0001B0: 57 65 6C 6C 20 77 6F 72 74 68 0D 0A 20 20 20 72 Well worth.. r
0001C0: 65 61 64 69 6E 67 20 69 66 20 79 6F 75 20 77 61 eading if you wa
0001D0: 6E 74 20 74 6F 20 66 69 6E 64 20 20 6F 75 74 20 nt to find out
0001E0: 20 74 68 65 20 20 64 65 74 61 69 6C 73 20 20 6F the details o
0001F0: 66 20 74 68 65 20 61 72 65 61 73 20 49 20 68 61 f the areas I ha
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 76 65 20 73 6B 61 74 65 64 0D 0A 20 20 20 6F 76 ve skated.. ov
000010: 65 72 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 4C 49 er......... LI
000020: 53 54 49 4E 47 20 31 0D 0A 0D 0A 20 20 20 33 30 STING 1.... 30
000030: 30 20 7C 43 48 4F 55 54 2C 30 3A 52 45 4D 20 31 0 |CHOUT,0:REM 1
000040: 20 66 6F 72 20 45 4D 52 2C 20 32 20 66 6F 72 20 for EMR, 2 for
000050: 44 48 43 50 0D 0A 20 20 20 33 31 30 20 52 45 53 DHCP.. 310 RES
000060: 54 4F 52 45 20 35 30 30 3A 74 3D 31 3A 47 4F 53 TORE 500:t=1:GOS
000070: 55 42 20 34 30 30 0D 0A 20 20 20 33 32 30 20 45 UB 400.. 320 E
000080: 56 45 52 59 20 31 32 20 47 4F 53 55 42 20 34 30 VERY 12 GOSUB 40
000090: 30 0D 0A 20 20 20 33 33 30 20 57 48 49 4C 45 20 0.. 330 WHILE
0000A0: 74 3C 3E 31 30 30 3A 57 45 4E 44 0D 0A 20 20 20 t<>100:WEND..
0000B0: 33 34 30 20 45 4E 44 0D 0A 20 20 20 34 30 30 20 340 END.. 400
0000C0: 74 3D 74 2D 31 3A 49 46 20 74 3E 30 20 54 48 45 t=t-1:IF t>0 THE
0000D0: 4E 20 52 45 54 55 52 4E 0D 0A 20 20 20 34 31 30 N RETURN.. 410
0000E0: 20 44 49 3A 52 45 41 44 20 61 0D 0A 20 20 20 34 DI:READ a.. 4
0000F0: 32 30 20 57 48 49 4C 45 20 61 3E 3D 30 3A 7C 53 20 WHILE a>=0:|S
000100: 45 4E 44 2C 61 0D 0A 20 20 20 34 33 30 20 52 45 END,a.. 430 RE
000110: 41 44 20 61 3A 57 45 4E 44 0D 0A 20 20 20 34 34 AD a:WEND.. 44
000120: 30 20 74 3D 2D 61 0D 0A 20 20 20 34 35 30 20 45 0 t=-a.. 450 E
000130: 49 3A 52 45 54 55 52 4E 0D 0A 20 20 20 35 30 30 I:RETURN.. 500
000140: 20 44 41 54 41 20 26 39 30 2C 36 34 2C 35 30 2C DATA &90,64,50,
000150: 26 39 31 2C 35 32 2C 34 30 2C 35 35 2C 34 30 2C &91,52,40,55,40,
000160: 2D 34 0D 0A 20 20 20 35 31 30 20 44 41 54 41 20 -4.. 510 DATA
000170: 26 39 30 2C 36 34 2C 30 2C 36 34 2C 35 30 2C 2D &90,64,0,64,50,-
000180: 32 0D 0A 20 20 20 35 32 30 20 44 41 54 41 20 26 2.. 520 DATA &
000190: 39 30 2C 36 34 2C 30 2C 26 39 31 2C 35 32 2C 30 90,64,0,&91,52,0
0001A0: 2C 35 35 2C 30 0D 0A 20 20 20 35 32 35 20 44 41 ,55,0.. 525 DA
0001B0: 54 41 20 26 39 30 2C 37 31 2C 35 30 2C 26 39 31 TA &90,71,50,&91
0001C0: 2C 35 32 2C 34 30 2C 35 35 2C 34 30 2C 2D 34 0D ,52,40,55,40,-4.
0001D0: 0A 20 20 20 35 33 30 20 44 41 54 41 20 26 39 30 . 530 DATA &90
0001E0: 2C 37 31 2C 30 2C 37 31 2C 35 30 2C 2D 32 0D 0A ,71,0,71,50,-2..
0001F0: 20 20 20 35 34 30 20 44 41 54 41 20 26 39 30 2C 540 DATA &90,
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 31 33 20 2D 20 57 41 43 43 49 20 31 tch 13 - WACCI 1
000020: 32 32 2C 20 4A 75 6E 65 20 31 39 39 38 2C 20 70 22, June 1998, p
000030: 2E 20 32 32 2D 32 34 0D 0A 20 20 20 50 52 4F 47 . 22-24.. PROG
000040: 52 41 4D 4D 45 52 53 27 20 50 41 54 43 48 20 31 RAMMERS' PATCH 1
000050: 33 0D 0A 20 20 20 42 79 20 4D 61 74 74 68 65 77 3.. By Matthew
000060: 20 50 68 69 6C 6C 69 70 73 0D 0A 0D 0A 20 20 20 Phillips....
000070: 54 68 65 20 73 75 6E 20 62 65 61 74 20 64 6F 77 The sun beat dow
000080: 6E 20 20 6F 6E 20 20 74 68 65 20 20 77 69 64 65 n on the wide
000090: 20 20 64 65 73 65 72 74 20 20 70 6C 61 69 6E 73 desert plains
0000A0: 20 20 6F 66 20 20 4D 65 78 69 63 6F 2E 20 20 4A of Mexico. J
0000B0: 75 61 6E 20 43 61 72 6C 6F 73 0D 0A 20 20 20 62 uan Carlos.. b
0000C0: 72 65 61 74 68 65 64 20 61 20 68 65 61 76 79 20 reathed a heavy
0000D0: 20 73 69 67 68 20 20 61 73 20 20 68 65 20 20 73 sigh as he s
0000E0: 75 72 76 65 79 65 64 20 20 74 68 65 20 20 61 72 urveyed the ar
0000F0: 69 64 20 20 6C 61 6E 64 73 63 61 70 65 2E 20 20 id landscape.
000100: 48 69 73 20 68 6F 72 73 65 0D 0A 20 20 20 73 6E His horse.. sn
000110: 6F 72 74 65 64 2E 20 20 54 68 65 79 20 68 61 64 orted. They had
000120: 20 77 61 69 74 65 64 20 61 20 6C 6F 6E 67 20 74 waited a long t
000130: 69 6D 65 2E 20 20 20 4C 65 73 73 65 72 20 6D 65 ime. Lesser me
000140: 6E 20 77 6F 75 6C 64 20 68 61 76 65 20 74 75 72 n would have tur
000150: 6E 65 64 20 62 61 63 6B 0D 0A 20 20 20 62 79 20 ned back.. by
000160: 6E 6F 77 2C 20 20 62 75 74 20 4A 75 61 6E 20 43 now, but Juan C
000170: 61 72 6C 6F 73 20 68 61 64 20 64 65 74 65 72 6D arlos had determ
000180: 69 6E 61 74 69 6F 6E 2E 20 20 20 48 65 20 77 6F ination. He wo
000190: 75 6C 64 20 73 65 65 20 69 74 20 74 68 72 6F 75 uld see it throu
0001A0: 67 68 2E 20 20 41 74 0D 0A 20 20 20 6C 61 73 74 gh. At.. last
0001B0: 20 68 65 20 73 65 6E 73 65 64 20 69 6E 20 74 68 he sensed in th
0001C0: 65 20 64 69 73 74 61 6E 63 65 20 61 20 20 73 6C e distance a sl
0001D0: 69 67 68 74 20 64 69 73 74 75 72 62 61 6E 63 65 ight disturbance
0001E0: 20 69 6E 20 74 68 65 20 61 69 72 2E 20 20 41 6E in the air. An
0001F0: 64 20 74 68 65 6E 0D 0A 20 20 20 74 68 65 20 64 d then.. the d
Size : 512 (Real : 512)
000000: 37 31 2C 30 2C 26 39 31 2C 35 32 2C 30 2C 35 35 71,0,&91,52,0,55
000010: 2C 30 0D 0A 20 20 20 35 34 35 20 44 41 54 41 20 ,0.. 545 DATA
000020: 26 39 30 2C 36 36 2C 35 30 2C 26 39 31 2C 35 30 &90,66,50,&91,50
000030: 2C 34 30 2C 35 37 2C 34 30 2C 2D 33 0D 0A 20 20 ,40,57,40,-3..
000040: 20 35 35 30 20 44 41 54 41 20 26 39 30 2C 36 36 550 DATA &90,66
000050: 2C 30 2C 36 37 2C 35 30 2C 2D 31 0D 0A 20 20 20 ,0,67,50,-1..
000060: 35 36 30 20 44 41 54 41 20 26 39 30 2C 36 37 2C 560 DATA &90,67,
000070: 30 2C 36 36 2C 35 30 2C 2D 32 0D 0A 20 20 20 35 0,66,50,-2.. 5
000080: 37 30 20 44 41 54 41 20 26 39 30 2C 36 36 2C 30 70 DATA &90,66,0
000090: 2C 26 39 31 2C 35 30 2C 30 2C 35 37 2C 30 0D 0A ,&91,50,0,57,0..
0000A0: 20 20 20 35 37 35 20 44 41 54 41 20 26 39 30 2C 575 DATA &90,
0000B0: 36 34 2C 35 30 2C 26 39 31 2C 35 32 2C 34 30 2C 64,50,&91,52,40,
0000C0: 35 35 2C 34 30 2C 2D 36 0D 0A 20 20 20 35 38 30 55,40,-6.. 580
0000D0: 20 44 41 54 41 20 26 39 30 2C 36 34 2C 30 2C 26 DATA &90,64,0,&
0000E0: 39 31 2C 35 32 2C 30 2C 35 35 2C 30 2C 35 35 2C 91,52,0,55,0,55,
0000F0: 34 35 2C 2D 32 0D 0A 20 20 20 35 39 30 20 44 41 45,-2.. 590 DA
000100: 54 41 20 26 39 30 2C 37 31 2C 37 30 2C 2D 32 0D TA &90,71,70,-2.
000110: 0A 20 20 20 36 30 30 20 44 41 54 41 20 26 39 30 . 600 DATA &90
000120: 2C 37 31 2C 30 2C 26 39 31 2C 35 35 2C 30 0D 0A ,71,0,&91,55,0..
000130: 20 20 20 36 30 35 20 44 41 54 41 20 26 39 30 2C 605 DATA &90,
000140: 37 34 2C 37 35 2C 26 39 31 2C 35 34 2C 35 30 2C 74,75,&91,54,50,
000150: 35 37 2C 35 30 2C 2D 32 0D 0A 20 20 20 36 31 30 57,50,-2.. 610
000160: 20 44 41 54 41 20 26 39 30 2C 37 34 2C 30 2C 26 DATA &90,74,0,&
000170: 39 31 2C 35 34 2C 30 2C 35 37 2C 30 0D 0A 20 20 91,54,0,57,0..
000180: 20 36 31 35 20 44 41 54 41 20 26 39 30 2C 37 36 615 DATA &90,76
000190: 2C 38 30 2C 26 39 31 2C 35 32 2C 35 35 2C 26 39 ,80,&91,52,55,&9
0001A0: 31 2C 35 35 2C 35 35 2C 2D 34 0D 0A 20 20 20 36 1,55,55,-4.. 6
0001B0: 32 30 20 44 41 54 41 20 26 39 30 2C 37 36 2C 30 20 DATA &90,76,0
0001C0: 2C 26 39 31 2C 35 32 2C 30 2C 26 39 30 2C 37 34 ,&91,52,0,&90,74
0001D0: 2C 37 35 2C 26 39 31 2C 35 32 2C 36 30 2C 2D 32 ,75,&91,52,60,-2
0001E0: 0D 0A 20 20 20 36 33 30 20 44 41 54 41 20 26 39 .. 630 DATA &9
0001F0: 30 2C 37 34 2C 30 2C 26 39 31 2C 35 32 2C 30 2C 0,74,0,&91,52,0,
Size : 512 (Real : 512)
000000: 75 73 74 20 63 6C 6F 75 64 20 61 70 70 72 6F 61 ust cloud approa
000010: 63 68 69 6E 67 2C 20 61 6E 64 20 20 66 69 6E 61 ching, and fina
000020: 6C 6C 79 20 20 74 68 65 20 73 6F 75 6E 64 20 6F lly the sound o
000030: 66 20 68 6F 6F 76 65 73 2E 20 20 46 6C 61 6D 69 f hooves. Flami
000040: 6E 67 75 65 7A 0D 0A 20 20 20 68 61 64 20 63 6F nguez.. had co
000050: 6D 65 2E 20 20 54 68 65 20 67 61 75 6E 74 2C 20 me. The gaunt,
000060: 62 65 61 72 64 65 64 20 20 6D 65 73 73 65 6E 67 bearded messeng
000070: 65 72 20 20 74 68 72 75 73 74 20 20 61 20 70 61 er thrust a pa
000080: 63 6B 65 74 20 69 6E 74 6F 20 68 69 73 20 68 61 cket into his ha
000090: 6E 64 73 2E 0D 0A 20 20 20 43 61 72 6C 6F 73 20 nds... Carlos
0000A0: 74 6F 72 65 20 69 74 20 6F 70 65 6E 2E 20 20 48 tore it open. H
0000B0: 65 72 65 20 69 74 20 77 61 73 20 2D 20 74 68 65 ere it was - the
0000C0: 20 4A 75 6E 65 20 69 73 73 75 65 20 6F 66 20 57 June issue of W
0000D0: 41 43 43 49 20 61 74 20 6C 61 73 74 2E 0D 0A 0D ACCI at last....
0000E0: 0A 20 20 20 42 41 43 4B 20 32 20 42 41 53 49 43 . BACK 2 BASIC
0000F0: 53 0D 0A 20 20 20 20 20 4F 6E 65 20 6F 66 20 74 S.. One of t
000100: 68 65 20 67 72 65 61 74 20 74 68 69 6E 67 73 20 he great things
000110: 61 62 6F 75 74 20 57 41 43 43 49 20 69 73 20 20 about WACCI is
000120: 74 68 65 20 50 44 20 6C 69 62 72 61 72 79 2E 20 the PD library.
000130: 20 54 68 65 72 65 20 69 73 20 73 75 63 68 20 61 There is such a
000140: 0D 0A 20 20 20 76 61 72 69 65 74 79 20 6F 66 20 .. variety of
000150: 20 67 61 6D 65 73 20 20 61 6E 64 20 20 75 74 69 games and uti
000160: 6C 69 74 69 65 73 2E 20 20 20 4D 6F 73 74 20 20 lities. Most
000170: 6F 66 20 20 74 68 65 20 20 64 69 73 63 73 20 20 of the discs
000180: 68 61 76 65 20 20 73 6F 6D 65 74 68 69 6E 67 0D have something.
000190: 0A 20 20 20 65 6E 74 65 72 74 61 69 6E 69 6E 67 . entertaining
0001A0: 20 6F 6E 2C 20 65 76 65 6E 20 69 66 20 69 74 20 on, even if it
0001B0: 69 73 6E 27 74 20 20 61 6C 6C 20 20 66 69 72 73 isn't all firs
0001C0: 74 20 20 63 6C 61 73 73 2E 20 20 54 68 65 20 6F t class. The o
0001D0: 6E 6C 79 20 70 72 6F 62 6C 65 6D 20 69 66 0D 0A nly problem if..
0001E0: 20 20 20 79 6F 75 20 61 72 65 20 61 20 34 36 34 you are a 464
0001F0: 20 75 73 65 72 20 6C 69 6B 65 20 6D 65 20 69 73 user like me is
Size : 512 (Real : 512)
000000: 35 35 2C 30 0D 0A 20 20 20 36 33 35 20 44 41 54 55,0.. 635 DAT
000010: 41 20 26 39 30 2C 37 31 2C 37 30 2C 26 39 31 2C A &90,71,70,&91,
000020: 35 35 2C 36 35 2C 36 32 2C 36 35 2C 2D 32 0D 0A 55,65,62,65,-2..
000030: 20 20 20 36 34 30 20 44 41 54 41 20 26 39 30 2C 640 DATA &90,
000040: 37 31 2C 30 2C 26 39 31 2C 35 35 2C 30 2C 36 32 71,0,&91,55,0,62
000050: 2C 30 0D 0A 20 20 20 36 34 35 20 44 41 54 41 20 ,0.. 645 DATA
000060: 26 39 30 2C 37 33 2C 36 30 2C 26 39 31 2C 35 37 &90,73,60,&91,57
000070: 2C 36 35 2C 36 34 2C 37 30 2C 2D 32 0D 0A 20 20 ,65,64,70,-2..
000080: 20 36 35 30 20 44 41 54 41 20 26 39 30 2C 37 33 650 DATA &90,73
000090: 2C 30 2C 36 39 2C 35 30 2C 26 41 31 2C 35 37 2C ,0,69,50,&A1,57,
0000A0: 36 30 2C 26 41 31 2C 36 34 2C 36 35 2C 2D 32 0D 60,&A1,64,65,-2.
0000B0: 0A 20 20 20 36 36 30 20 44 41 54 41 20 26 39 30 . 660 DATA &90
0000C0: 2C 36 39 2C 30 2C 26 39 31 2C 35 37 2C 30 2C 36 ,69,0,&91,57,0,6
0000D0: 34 2C 30 0D 0A 20 20 20 36 36 35 20 44 41 54 41 4,0.. 665 DATA
0000E0: 20 26 39 30 2C 37 31 2C 34 30 2C 26 39 31 2C 35 &90,71,40,&91,5
0000F0: 32 2C 34 30 2C 36 37 2C 34 30 2C 2D 36 0D 0A 20 2,40,67,40,-6..
000100: 20 20 36 37 30 20 44 41 54 41 20 26 39 30 2C 37 670 DATA &90,7
000110: 31 2C 30 2C 26 39 31 2C 35 32 2C 30 2C 36 37 2C 1,0,&91,52,0,67,
000120: 30 2C 2D 31 30 30 0D 0A 0D 0A 0D 0A 0D 0A 20 20 0,-100........
000130: 20 54 41 42 4C 45 20 31 3A 20 4D 49 44 49 20 69 TABLE 1: MIDI i
000140: 6E 74 65 72 66 61 63 65 20 70 6F 72 74 20 61 64 nterface port ad
000150: 64 72 65 73 73 65 73 0D 0A 0D 0A 20 20 20 20 20 dresses....
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 20 20 20 20 20 20 20 52 41 4D 20 20 20 20 20 RAM
000180: 45 4D 52 20 20 20 20 20 44 48 43 50 0D 0A 20 20 EMR DHCP..
000190: 20 73 74 61 74 75 73 20 28 72 65 61 64 20 6F 6E status (read on
0001A0: 6C 79 29 20 20 20 20 20 20 20 20 26 46 38 45 45 ly) &F8EE
0001B0: 20 20 20 26 46 38 46 32 20 20 20 26 46 38 45 30 &F8F2 &F8E0
0001C0: 0D 0A 20 20 20 63 6F 6E 74 72 6F 6C 20 28 77 72 .. control (wr
0001D0: 69 74 65 20 6F 6E 6C 79 29 20 20 20 20 20 20 26 ite only) &
0001E0: 46 38 45 43 20 20 20 26 46 38 46 32 20 20 20 26 F8EC &F8F2 &
0001F0: 46 38 45 30 0D 0A 20 20 20 64 61 74 61 20 72 65 F8E0.. data re
Size : 512 (Real : 512)
000000: 6E 74 20 61 6E 64 20 6C 65 74 20 75 73 20 6B 6E nt and let us kn
000010: 6F 77 2E 20 20 20 49 6E 20 20 66 61 63 74 2C 20 ow. In fact,
000020: 77 72 69 74 65 20 69 6E 20 77 69 74 68 20 61 6E write in with an
000030: 79 20 73 75 67 67 65 73 74 69 6F 6E 73 0D 0A 20 y suggestions..
000040: 20 20 6F 6E 20 77 68 61 74 20 79 6F 75 20 77 6F on what you wo
000050: 75 6C 64 20 6C 69 6B 65 20 75 73 20 74 6F 20 63 uld like us to c
000060: 6F 76 65 72 20 20 69 6E 20 50 72 6F 67 72 61 6D over in Program
000070: 6D 65 72 73 27 20 50 61 74 63 68 2C 20 61 6E 64 mers' Patch, and
000080: 20 77 65 20 77 69 6C 6C 20 73 65 65 0D 0A 20 20 we will see..
000090: 20 77 68 61 74 20 77 65 20 63 61 6E 20 64 6F 21 what we can do!
0000A0: 0D 0A 0D 0A 0D 0A 20 20 20 55 53 45 46 55 4C 20 ...... USEFUL
0000B0: 42 4F 4F 4B 53 0D 0A 0D 0A 20 20 20 50 72 61 63 BOOKS.... Prac
0000C0: 74 69 63 61 6C 20 4D 49 44 49 20 68 61 6E 64 62 tical MIDI handb
0000D0: 6F 6F 6B 2C 20 62 79 20 52 2E 41 2E 20 50 65 6E ook, by R.A. Pen
0000E0: 66 6F 6C 64 2C 20 33 72 64 20 65 64 2E 2C 20 50 fold, 3rd ed., P
0000F0: 43 20 50 75 62 6C 69 73 68 69 6E 67 2C 20 31 39 C Publishing, 19
000100: 39 35 0D 0A 20 20 20 49 53 42 4E 20 31 2D 38 37 95.. ISBN 1-87
000110: 30 37 37 35 2D 33 36 2D 38 0D 0A 20 20 20 41 20 0775-36-8.. A
000120: 67 6F 6F 64 20 67 65 6E 65 72 61 6C 20 69 6E 74 good general int
000130: 72 6F 64 75 63 74 69 6F 6E 20 74 6F 20 61 6C 6C roduction to all
000140: 20 20 61 73 70 65 63 74 73 20 20 6F 66 20 4D 49 aspects of MI
000150: 44 49 2E 20 20 50 65 72 68 61 70 73 20 67 65 61 DI. Perhaps gea
000160: 72 65 64 20 6D 6F 72 65 0D 0A 20 20 20 74 6F 77 red more.. tow
000170: 61 72 64 73 20 74 68 65 20 6D 75 73 69 63 69 61 ards the musicia
000180: 6E 20 74 68 61 6E 20 20 74 68 65 20 20 63 6F 6D n than the com
000190: 70 75 74 65 72 20 20 75 73 65 72 2E 20 20 20 49 puter user. I
0001A0: 74 20 20 65 76 65 6E 20 20 6D 65 6E 74 69 6F 6E t even mention
0001B0: 73 20 38 20 62 69 74 0D 0A 20 20 20 63 6F 6D 70 s 8 bit.. comp
0001C0: 75 74 65 72 73 2C 20 62 75 74 20 64 6F 6E 27 74 uters, but don't
0001D0: 20 62 65 6C 69 65 76 65 20 77 68 61 74 20 20 69 believe what i
0001E0: 74 20 20 73 61 79 73 20 20 61 62 6F 75 74 20 74 t says about t
0001F0: 68 65 20 41 72 63 68 69 6D 65 64 65 73 20 62 65 he Archimedes be
Size : 512 (Real : 512)
000000: 75 20 63 61 6E 20 6D 61 6B 65 20 74 68 65 20 46 u can make the F
000010: 52 41 4D 45 0D 0A 20 20 20 63 6F 6D 6D 61 6E 64 RAME.. command
000020: 20 64 6F 20 61 6E 79 74 68 69 6E 67 20 79 6F 75 do anything you
000030: 20 6C 69 6B 65 20 73 69 6D 70 6C 79 20 62 79 20 like simply by
000040: 70 61 74 63 68 69 6E 67 20 74 68 65 20 26 42 44 patching the &BD
000050: 31 39 20 76 65 63 74 6F 72 21 0D 0A 0D 0A 20 20 19 vector!....
000060: 20 43 4C 45 41 52 20 49 4E 50 55 54 0D 0A 20 20 CLEAR INPUT..
000070: 20 20 20 54 68 65 72 65 20 61 72 65 20 76 61 72 There are var
000080: 69 6F 75 73 20 77 61 79 73 20 6F 66 20 63 6C 65 ious ways of cle
000090: 61 72 69 6E 67 20 74 68 65 20 20 6B 65 79 62 6F aring the keybo
0000A0: 61 72 64 20 62 75 66 66 65 72 2E 20 20 54 68 65 ard buffer. The
0000B0: 20 6F 6E 65 20 49 20 6C 69 6B 65 0D 0A 20 20 20 one I like..
0000C0: 74 6F 20 75 73 65 20 69 73 0D 0A 0D 0A 20 20 20 to use is....
0000D0: 20 20 57 48 49 4C 45 20 49 4E 4B 45 59 24 3C 3E WHILE INKEY$<>
0000E0: 22 22 3A 57 45 4E 44 0D 0A 0D 0A 20 20 20 62 75 "":WEND.... bu
0000F0: 74 20 79 6F 75 20 6D 61 79 20 77 61 6E 74 20 73 t you may want s
000100: 6F 6D 65 74 68 69 6E 67 20 73 68 6F 72 74 65 72 omething shorter
000110: 2C 20 69 6E 20 20 77 68 69 63 68 20 63 61 73 65 , in which case
000120: 20 74 72 79 20 43 41 4C 4C 20 26 42 42 30 33 20 try CALL &BB03
000130: 69 6E 73 74 65 61 64 2E 0D 0A 20 20 20 54 68 69 instead... Thi
000140: 73 20 63 61 6C 6C 20 68 61 73 20 74 68 65 20 73 s call has the s
000150: 69 64 65 20 65 66 66 65 63 74 20 20 6F 66 20 72 ide effect of r
000160: 65 73 65 74 74 69 6E 67 20 74 68 65 20 65 78 70 esetting the exp
000170: 61 6E 73 69 6F 6E 20 63 68 61 72 61 63 74 65 72 ansion character
000180: 73 2E 20 20 46 6F 72 0D 0A 20 20 20 65 78 61 6D s. For.. exam
000190: 70 6C 65 2C 20 69 66 20 79 6F 75 20 68 61 76 65 ple, if you have
0001A0: 20 61 20 20 64 69 73 63 20 20 64 72 69 76 65 20 a disc drive
0001B0: 20 61 6E 64 20 20 50 72 6F 74 65 78 74 20 20 6F and Protext o
0001C0: 6E 20 52 4F 4D 2C 20 43 54 52 4C 2B 45 4E 54 45 n ROM, CTRL+ENTE
0001D0: 52 20 77 69 6C 6C 0D 0A 20 20 20 70 72 6F 64 75 R will.. produ
0001E0: 63 65 20 52 55 4E 22 44 49 53 43 2C 20 62 75 74 ce RUN"DISC, but
0001F0: 20 61 66 74 65 72 20 63 61 6C 6C 69 6E 67 20 26 after calling &
Size : 512 (Real : 512)
000000: 74 68 65 20 65 78 74 72 61 0D 0A 20 20 20 42 41 the extra.. BA
000010: 53 49 43 20 31 2E 31 20 63 6F 6D 6D 61 6E 64 73 SIC 1.1 commands
000020: 20 64 69 73 70 6C 61 79 65 64 20 63 6F 72 72 65 displayed corre
000030: 63 74 6C 79 21 20 20 59 6F 75 20 63 61 6E 20 74 ctly! You can t
000040: 68 65 6E 20 67 6F 20 74 68 72 6F 75 67 68 20 61 hen go through a
000050: 6E 64 20 61 6C 74 65 72 0D 0A 20 20 20 74 68 65 nd alter.. the
000060: 73 65 20 6C 69 6E 65 73 20 73 6F 20 74 68 61 74 se lines so that
000070: 20 74 68 65 79 20 77 6F 72 6B 20 6F 6E 20 20 74 they work on t
000080: 68 65 20 20 34 36 34 2C 20 74 79 70 69 6E 67 20 he 464, typing
000090: 7C 53 43 41 4E 20 66 72 6F 6D 20 74 69 6D 65 20 |SCAN from time
0000A0: 74 6F 20 74 69 6D 65 0D 0A 20 20 20 74 6F 20 73 to time.. to s
0000B0: 65 65 20 69 66 20 74 68 65 72 65 20 61 72 65 20 ee if there are
0000C0: 61 6E 79 20 6D 6F 72 65 20 6C 65 66 74 2E 20 20 any more left.
0000D0: 20 52 65 6D 65 6D 62 65 72 20 74 68 61 74 20 79 Remember that y
0000E0: 6F 75 20 77 69 6C 6C 20 6E 6F 74 20 62 65 20 61 ou will not be a
0000F0: 62 6C 65 20 74 6F 0D 0A 20 20 20 75 73 65 20 45 ble to.. use E
000100: 44 49 54 20 69 66 20 74 68 65 72 65 20 69 73 20 DIT if there is
000110: 61 20 42 41 53 49 43 20 31 2E 31 20 20 63 6F 6D a BASIC 1.1 com
000120: 6D 61 6E 64 20 20 69 6E 20 74 68 65 20 6C 69 6E mand in the lin
000130: 65 2E 20 20 55 73 65 20 7C 53 43 41 4E 20 74 6F e. Use |SCAN to
000140: 20 6C 69 73 74 0D 0A 20 20 20 74 68 65 20 6C 69 list.. the li
000150: 6E 65 2C 20 61 6E 64 20 74 68 65 6E 20 74 79 70 ne, and then typ
000160: 65 20 61 20 72 65 70 6C 61 63 65 6D 65 6E 74 20 e a replacement
000170: 73 74 72 61 69 67 68 74 20 69 6E 74 6F 20 74 68 straight into th
000180: 65 20 6D 61 63 68 69 6E 65 2E 0D 0A 0D 0A 20 20 e machine.....
000190: 20 20 20 54 68 65 20 7C 4C 49 53 54 20 63 6F 6D The |LIST com
0001A0: 6D 61 6E 64 20 6C 69 73 74 73 20 61 6C 6C 20 6F mand lists all o
0001B0: 66 20 20 74 68 65 20 20 6C 69 6E 65 73 20 74 6F f the lines to
0001C0: 20 74 68 65 20 73 63 72 65 65 6E 2C 20 64 69 73 the screen, dis
0001D0: 70 6C 61 79 69 6E 67 20 74 68 65 0D 0A 20 20 20 playing the..
0001E0: 65 78 74 72 61 20 31 2E 31 20 63 6F 6D 6D 61 6E extra 1.1 comman
0001F0: 64 73 20 70 72 6F 70 65 72 6C 79 2E 20 20 50 65 ds properly. Pe
Size : 512 (Real : 512)
000000: 20 20 74 68 61 74 20 20 73 6F 6D 65 20 20 6F 66 that some of
000010: 20 74 68 65 20 50 44 20 73 74 75 66 66 20 64 6F the PD stuff do
000020: 65 73 6E 27 74 20 77 6F 72 6B 20 6F 6E 0D 0A 20 esn't work on..
000030: 20 20 74 68 65 20 43 50 43 20 34 36 34 2E 20 20 the CPC 464.
000040: 49 66 20 69 74 20 72 65 71 75 69 72 65 73 20 31 If it requires 1
000050: 32 38 4B 20 6F 66 20 52 41 4D 2C 20 74 68 65 6E 28K of RAM, then
000060: 20 49 20 61 6D 20 61 6C 6C 20 72 69 67 68 74 2C I am all right,
000070: 20 61 73 20 49 20 68 61 76 65 20 61 0D 0A 20 20 as I have a..
000080: 20 64 6B 27 74 72 6F 6E 69 63 73 20 52 41 4D 20 dk'tronics RAM
000090: 70 61 63 6B 2C 20 62 75 74 20 69 66 20 69 74 20 pack, but if it
0000A0: 20 75 73 65 73 20 20 63 65 72 74 61 69 6E 20 20 uses certain
0000B0: 63 6F 6D 6D 61 6E 64 73 2C 20 74 68 65 6E 20 74 commands, then t
0000C0: 68 69 6E 67 73 20 67 65 74 20 61 0D 0A 20 20 20 hings get a..
0000D0: 62 69 74 20 6D 6F 72 65 20 74 72 69 63 6B 79 2E bit more tricky.
0000E0: 0D 0A 0D 0A 20 20 20 20 20 54 68 65 20 42 41 53 .... The BAS
0000F0: 49 43 20 69 6E 20 74 68 65 20 34 36 34 20 69 73 IC in the 464 is
000100: 20 20 76 65 72 73 69 6F 6E 20 20 31 2E 30 2C 20 version 1.0,
000110: 20 77 68 65 72 65 61 73 20 20 74 68 65 20 76 65 whereas the ve
000120: 72 73 69 6F 6E 20 69 6E 20 74 68 65 20 36 36 34 rsion in the 664
000130: 2C 0D 0A 20 20 20 36 31 32 38 2C 20 61 6E 64 20 ,.. 6128, and
000140: 74 68 65 20 50 6C 75 73 20 6D 61 63 68 69 6E 65 the Plus machine
000150: 73 20 28 49 20 74 68 69 6E 6B 29 20 20 69 73 20 s (I think) is
000160: 20 42 41 53 49 43 20 31 2E 31 2E 20 20 54 68 69 BASIC 1.1. Thi
000170: 73 20 61 64 64 73 20 61 20 66 65 77 20 6E 65 77 s adds a few new
000180: 0D 0A 20 20 20 63 6F 6D 6D 61 6E 64 73 20 74 6F .. commands to
000190: 20 42 41 53 49 43 2C 20 61 6E 64 20 61 6C 74 65 BASIC, and alte
0001A0: 72 73 20 68 6F 77 20 61 20 20 66 65 77 20 6F 74 rs how a few ot
0001B0: 68 65 72 73 20 77 6F 72 6B 2E 20 20 4D 6F 73 74 hers work. Most
0001C0: 20 6F 66 20 74 68 65 20 63 68 61 6E 67 65 73 0D of the changes.
0001D0: 0A 20 20 20 61 72 65 20 69 6E 20 67 72 61 70 68 . are in graph
0001E0: 69 63 73 20 63 6F 6D 6D 61 6E 64 73 2E 0D 0A 0D ics commands....
0001F0: 0A 20 20 20 20 20 57 69 74 68 20 61 20 73 6D 61 . With a sma
Size : 512 (Real : 512)
000000: 72 68 61 70 73 20 6D 6F 72 65 20 20 75 73 65 66 rhaps more usef
000010: 75 6C 20 61 72 65 20 74 68 65 20 76 61 72 69 61 ul are the varia
000020: 6E 74 73 20 7C 4C 49 53 54 50 0D 0A 20 20 20 61 nts |LISTP.. a
000030: 6E 64 20 7C 4C 49 53 54 46 2E 20 20 54 68 65 20 nd |LISTF. The
000040: 66 6F 72 6D 65 72 20 6C 69 73 74 73 20 74 68 65 former lists the
000050: 20 77 68 6F 6C 65 20 20 70 72 6F 67 72 61 6D 20 whole program
000060: 74 6F 20 74 68 65 20 70 72 69 6E 74 65 72 20 69 to the printer i
000070: 6E 73 74 65 61 64 20 6F 66 0D 0A 20 20 20 74 68 nstead of.. th
000080: 65 20 73 63 72 65 65 6E 2C 20 61 6E 64 20 74 68 e screen, and th
000090: 65 20 6C 61 74 74 65 72 20 6C 69 73 74 73 20 74 e latter lists t
0000A0: 6F 20 61 20 66 69 6C 65 2E 20 20 46 6F 72 20 65 o a file. For e
0000B0: 78 61 6D 70 6C 65 3A 0D 0A 0D 0A 20 20 20 20 20 xample:....
0000C0: 61 24 3D 22 66 69 6C 65 6E 61 6D 65 22 3A 7C 4C a$="filename":|L
0000D0: 49 53 54 46 2C 40 61 24 0D 0A 0D 0A 20 20 20 77 ISTF,@a$.... w
0000E0: 6F 75 6C 64 20 6C 69 73 74 20 74 68 65 20 77 68 ould list the wh
0000F0: 6F 6C 65 20 70 72 6F 67 72 61 6D 20 74 6F 20 61 ole program to a
000100: 20 66 69 6C 65 20 63 61 6C 6C 65 64 20 22 66 69 file called "fi
000110: 6C 65 6E 61 6D 65 22 20 28 73 69 6C 6C 79 20 6E lename" (silly n
000120: 61 6D 65 20 66 6F 72 20 61 0D 0A 20 20 20 66 69 ame for a.. fi
000130: 6C 65 29 2E 20 20 59 6F 75 20 63 6F 75 6C 64 20 le). You could
000140: 74 68 65 6E 20 6C 6F 61 64 20 74 68 65 20 66 69 then load the fi
000150: 6C 65 20 20 69 6E 74 6F 20 20 61 6E 20 65 64 69 le into an edi
000160: 74 6F 72 20 6C 69 6B 65 20 50 72 6F 74 65 78 74 tor like Protext
000170: 20 61 6E 64 20 75 73 65 0D 0A 20 20 20 74 68 65 and use.. the
000180: 20 73 65 61 72 63 68 20 61 6E 64 20 72 65 70 6C search and repl
000190: 61 63 65 20 66 61 63 69 6C 69 74 69 65 73 20 74 ace facilities t
0001A0: 6F 20 63 6F 72 72 65 63 74 20 74 68 65 20 6C 69 o correct the li
0001B0: 6E 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 49 20 68 nes..... I h
0001C0: 61 76 65 20 61 6C 73 6F 20 70 72 6F 76 69 64 65 ave also provide
0001D0: 64 20 7C 53 43 41 4E 50 20 61 6E 64 20 7C 53 43 d |SCANP and |SC
0001E0: 41 4E 46 20 77 68 69 63 68 20 77 6F 72 6B 20 69 ANF which work i
0001F0: 6E 20 61 20 73 69 6D 69 6C 61 72 20 77 61 79 2E n a similar way.
Size : 512 (Real : 512)
000000: 6C 6C 20 61 6D 6F 75 6E 74 20 6F 66 20 77 6F 72 ll amount of wor
000010: 6B 2C 20 20 6D 61 6E 79 20 20 6F 66 20 20 74 68 k, many of th
000020: 65 73 65 20 20 42 41 53 49 43 20 31 2E 31 20 70 ese BASIC 1.1 p
000030: 72 6F 67 72 61 6D 73 20 63 61 6E 20 62 65 0D 0A rograms can be..
000040: 20 20 20 65 64 69 74 65 64 20 74 6F 20 72 75 6E edited to run
000050: 20 6F 6E 20 61 20 34 36 34 2E 20 20 54 68 65 20 on a 464. The
000060: 20 6D 61 69 6E 20 20 70 72 6F 62 6C 65 6D 20 20 main problem
000070: 69 73 20 74 68 61 74 20 69 66 20 61 20 70 72 6F is that if a pro
000080: 67 72 61 6D 20 63 6F 6E 74 61 69 6E 73 0D 0A 20 gram contains..
000090: 20 20 61 6E 79 20 6F 66 20 74 68 65 20 65 78 74 any of the ext
0000A0: 72 61 20 63 6F 6D 6D 61 6E 64 73 20 61 64 64 65 ra commands adde
0000B0: 64 20 20 69 6E 20 20 42 41 53 49 43 20 20 31 2E d in BASIC 1.
0000C0: 31 2C 20 74 68 65 6E 20 79 6F 75 20 63 61 6E 6E 1, then you cann
0000D0: 6F 74 20 65 76 65 6E 20 6C 69 73 74 0D 0A 20 20 ot even list..
0000E0: 20 74 68 65 20 6C 69 6E 65 73 20 6F 6E 20 61 20 the lines on a
0000F0: 34 36 34 20 20 74 6F 20 20 73 65 65 20 20 77 68 464 to see wh
000100: 61 74 20 20 74 68 65 20 20 70 72 6F 62 6C 65 6D at the problem
000110: 20 20 69 73 21 20 20 20 54 68 69 73 20 69 73 20 is! This is
000120: 62 65 63 61 75 73 65 20 74 68 65 0D 0A 20 20 20 because the..
000130: 63 6F 6D 70 75 74 65 72 20 73 74 6F 72 65 73 20 computer stores
000140: 79 6F 75 72 20 70 72 6F 67 72 61 6D 73 20 69 6E your programs in
000150: 20 20 61 20 20 73 70 65 63 69 61 6C 20 20 77 61 a special wa
000160: 79 20 77 68 69 63 68 20 69 6E 76 6F 6C 76 65 73 y which involves
000170: 20 72 65 70 6C 61 63 69 6E 67 0D 0A 20 20 20 74 replacing.. t
000180: 68 65 20 63 6F 6D 6D 61 6E 64 73 20 77 69 74 68 he commands with
000190: 20 74 6F 6B 65 6E 73 2E 20 20 53 69 6E 63 65 20 tokens. Since
0001A0: 74 68 65 20 34 36 34 20 20 64 6F 65 73 20 6E 6F the 464 does no
0001B0: 74 20 68 61 76 65 20 74 68 65 20 65 78 74 72 61 t have the extra
0001C0: 20 63 6F 6D 6D 61 6E 64 73 0D 0A 20 20 20 69 6E commands.. in
0001D0: 20 42 41 53 49 43 20 31 2E 31 2C 20 69 74 20 68 BASIC 1.1, it h
0001E0: 61 73 20 6E 6F 20 69 64 65 61 20 77 68 61 74 20 as no idea what
0001F0: 74 68 65 20 74 6F 6B 65 6E 73 20 6D 65 61 6E 20 the tokens mean
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 20 20 54 68 69 73 20 70 72 .... This pr
000010: 6F 67 72 61 6D 20 6F 6E 6C 79 20 77 6F 72 6B 73 ogram only works
000020: 20 6F 6E 20 74 68 65 20 34 36 34 20 20 62 79 20 on the 464 by
000030: 20 74 68 65 20 20 77 61 79 2E 20 20 20 49 66 20 the way. If
000040: 79 6F 75 20 68 61 76 65 20 61 20 36 36 34 20 6F you have a 664 o
000050: 72 0D 0A 20 20 20 36 31 32 38 2C 20 74 68 65 6E r.. 6128, then
000060: 20 20 74 68 65 72 65 20 20 69 73 20 20 61 6E 6F there is ano
000070: 74 68 65 72 20 20 70 72 6F 67 72 61 6D 20 20 6F ther program o
000080: 6E 20 20 74 68 65 20 20 50 72 6F 67 72 61 6D 6D n the Programm
000090: 65 72 73 27 20 20 50 61 74 63 68 20 64 69 73 63 ers' Patch disc
0000A0: 0D 0A 20 20 20 73 70 65 63 69 61 6C 6C 79 20 66 .. specially f
0000B0: 6F 72 20 79 6F 75 2E 20 20 20 3C 3C 4A 75 73 74 or you. <<Just
0000C0: 20 20 52 55 4E 22 53 43 41 4E 36 31 32 38 22 20 RUN"SCAN6128"
0000D0: 20 74 6F 20 20 6C 6F 61 64 20 20 61 6E 64 20 20 to load and
0000E0: 69 6E 73 74 61 6C 6C 20 74 68 65 20 52 53 58 0D install the RSX.
0000F0: 0A 20 20 20 63 6F 6D 6D 61 6E 64 73 2E 3E 3E 20 . commands.>>
000100: 20 59 6F 75 20 63 61 6E 20 75 73 65 20 69 74 20 You can use it
000110: 20 74 6F 20 20 69 64 65 6E 74 69 66 79 20 20 77 to identify w
000120: 68 69 63 68 20 6C 69 6E 65 73 20 77 69 6C 6C 20 hich lines will
000130: 63 61 75 73 65 20 70 72 6F 62 6C 65 6D 73 0D 0A cause problems..
000140: 20 20 20 66 6F 72 20 34 36 34 20 75 73 65 72 73 for 464 users
000150: 2C 20 61 6E 64 20 72 65 77 72 69 74 65 20 20 74 , and rewrite t
000160: 68 65 6D 20 20 69 66 20 20 70 6F 73 73 69 62 6C hem if possibl
000170: 65 2E 20 20 20 54 68 65 20 70 72 6F 67 72 61 6D e. The program
000180: 20 6F 6E 6C 79 20 68 61 73 20 74 68 65 0D 0A 20 only has the..
000190: 20 20 73 63 61 6E 6E 69 6E 67 20 63 6F 6D 6D 61 scanning comma
0001A0: 6E 64 73 2C 20 6E 6F 74 20 74 68 65 20 6C 69 73 nds, not the lis
0001B0: 74 69 6E 67 20 6F 6E 65 73 2C 20 20 61 6E 64 20 ting ones, and
0001C0: 6A 75 73 74 20 64 69 73 70 6C 61 79 73 20 74 68 just displays th
0001D0: 65 20 6E 75 6D 62 65 72 73 20 6F 66 0D 0A 20 20 e numbers of..
0001E0: 20 74 68 65 20 6C 69 6E 65 73 20 74 68 61 74 20 the lines that
0001F0: 77 6F 75 6C 64 20 6F 66 66 65 6E 64 20 20 61 20 would offend a
Size : 512 (Real : 512)
000000: 65 69 74 68 65 72 2E 0D 0A 0D 0A 20 20 20 49 27 either..... I'
000010: 56 45 20 47 4F 54 20 41 20 4C 49 54 54 4C 45 20 VE GOT A LITTLE
000020: 4C 49 53 54 0D 0A 20 20 20 20 20 54 6F 20 73 6F LIST.. To so
000030: 6C 76 65 20 74 68 69 73 20 70 72 6F 62 6C 65 6D lve this problem
000040: 2C 20 49 20 68 61 76 65 20 63 6F 6D 65 20 20 75 , I have come u
000050: 70 20 77 69 74 68 20 61 20 6C 69 74 74 6C 65 20 p with a little
000060: 70 72 6F 67 72 61 6D 2C 20 70 72 69 6E 74 65 64 program, printed
000070: 20 61 73 0D 0A 20 20 20 4C 69 73 74 69 6E 67 20 as.. Listing
000080: 31 2E 20 20 41 63 74 75 61 6C 6C 79 20 69 74 20 1. Actually it
000090: 69 73 20 61 20 76 65 72 79 20 6C 6F 6E 67 20 20 is a very long
0000A0: 70 72 6F 67 72 61 6D 2C 20 61 6E 64 20 73 6F 20 program, and so
0000B0: 77 65 20 68 61 76 65 20 64 65 63 69 64 65 64 20 we have decided
0000C0: 74 6F 0D 0A 20 20 20 63 6F 6D 70 69 6C 65 20 61 to.. compile a
0000D0: 20 73 70 65 63 69 61 6C 20 50 72 6F 67 72 61 6D special Program
0000E0: 6D 65 72 73 27 20 50 61 74 63 68 20 50 44 20 64 mers' Patch PD d
0000F0: 69 73 63 2E 20 20 20 54 68 65 20 64 69 73 63 20 isc. The disc
000100: 77 69 6C 6C 20 68 61 76 65 20 61 6C 6C 20 74 68 will have all th
000110: 65 0D 0A 20 20 20 70 72 6F 67 72 61 6D 73 20 66 e.. programs f
000120: 72 6F 6D 20 74 68 65 20 73 65 72 69 65 73 20 6F rom the series o
000130: 6E 20 20 69 74 2C 20 20 69 6E 63 6C 75 64 69 6E n it, includin
000140: 67 20 20 74 68 69 73 20 20 6D 6F 6E 74 68 27 73 g this month's
000150: 2C 20 61 6E 64 20 61 20 66 65 77 20 6D 6F 72 65 , and a few more
000160: 0D 0A 20 20 20 62 65 73 69 64 65 73 2E 20 20 4F .. besides. O
000170: 72 64 65 72 20 79 6F 75 72 20 63 6F 70 79 20 66 rder your copy f
000180: 72 6F 6D 20 44 61 76 65 20 20 53 74 69 74 73 6F rom Dave Stitso
000190: 6E 20 20 6E 6F 77 2E 20 20 3C 3C 54 68 65 20 76 n now. <<The v
0001A0: 65 72 73 69 6F 6E 20 73 61 76 65 64 20 6F 6E 0D ersion saved on.
0001B0: 0A 20 20 20 74 68 65 20 64 69 73 63 20 69 73 20 . the disc is
0001C0: 61 20 76 65 72 73 69 6F 6E 20 6F 66 20 4C 69 73 a version of Lis
0001D0: 74 69 6E 67 20 31 20 6F 6D 69 74 74 69 6E 67 20 ting 1 omitting
0001E0: 73 6F 6D 65 20 62 75 67 73 2C 20 61 6E 64 20 63 some bugs, and c
0001F0: 6F 6E 73 69 73 74 73 20 6F 66 20 74 68 65 0D 0A onsists of the..
Size : 512 (Real : 512)
000000: 20 34 36 34 2C 20 20 72 61 74 68 65 72 20 20 74 464, rather t
000010: 68 61 6E 20 6C 69 73 74 69 6E 67 20 74 68 65 6D han listing them
000020: 2E 20 20 59 6F 75 20 68 61 76 65 0D 0A 20 20 20 . You have..
000030: 79 6F 75 72 20 6F 77 6E 20 62 75 69 6C 74 20 69 your own built i
000040: 6E 20 4C 49 53 54 20 63 6F 6D 6D 61 6E 64 20 74 n LIST command t
000050: 6F 20 64 6F 20 74 68 61 74 21 0D 0A 0D 0A 20 20 o do that!....
000060: 20 51 55 49 43 4B 20 46 49 58 0D 0A 20 20 20 20 QUICK FIX..
000070: 20 48 61 76 69 6E 67 20 69 64 65 6E 74 69 66 69 Having identifi
000080: 65 64 20 74 68 65 20 6C 69 6E 65 73 20 77 68 69 ed the lines whi
000090: 63 68 20 20 77 69 6C 6C 20 20 63 61 75 73 65 20 ch will cause
0000A0: 20 70 72 6F 62 6C 65 6D 73 2C 20 77 68 61 74 20 problems, what
0000B0: 63 61 6E 20 77 65 20 64 6F 0D 0A 20 20 20 61 62 can we do.. ab
0000C0: 6F 75 74 20 74 68 65 6D 3F 20 20 54 68 65 72 65 out them? There
0000D0: 20 69 73 6E 27 74 20 6D 75 63 68 20 73 70 61 63 isn't much spac
0000E0: 65 20 6C 65 66 74 20 20 74 68 69 73 20 6D 6F 6E e left this mon
0000F0: 74 68 2C 20 73 6F 20 77 65 27 6C 6C 20 64 65 61 th, so we'll dea
000100: 6C 20 77 69 74 68 20 61 0D 0A 20 20 20 66 65 77 l with a.. few
000110: 20 65 61 73 79 20 6F 6E 65 73 2E 0D 0A 0D 0A 20 easy ones.....
000120: 20 20 46 52 41 4D 45 0D 0A 20 20 20 20 20 54 68 FRAME.. Th
000130: 69 73 20 63 6F 6D 6D 61 6E 64 20 63 61 6E 20 62 is command can b
000140: 65 20 72 65 70 6C 61 63 65 64 20 20 77 69 74 68 e replaced with
000150: 20 20 43 41 4C 4C 20 20 26 42 44 31 39 2E 20 20 CALL &BD19.
000160: 54 68 65 20 46 52 41 4D 45 20 63 6F 6D 6D 61 6E The FRAME comman
000170: 64 20 6A 75 73 74 0D 0A 20 20 20 70 6F 69 6E 74 d just.. point
000180: 73 20 74 6F 20 74 68 65 20 26 42 44 31 39 20 76 s to the &BD19 v
000190: 65 63 74 6F 72 2E 20 20 46 52 41 4D 45 20 69 73 ector. FRAME is
0001A0: 20 20 69 6E 20 66 61 63 74 20 74 68 65 20 6F 6E in fact the on
0001B0: 6C 79 20 42 41 53 49 43 20 63 6F 6D 6D 61 6E 64 ly BASIC command
0001C0: 20 74 68 61 74 0D 0A 20 20 20 68 61 73 20 69 74 that.. has it
0001D0: 73 20 65 78 65 63 75 74 69 6F 6E 20 61 64 64 72 s execution addr
0001E0: 65 73 73 20 69 6E 20 52 41 4D 2E 20 20 54 68 69 ess in RAM. Thi
0001F0: 73 20 20 6D 65 61 6E 73 20 74 68 61 74 20 79 6F s means that yo
Size : 512 (Real : 512)
000000: 20 20 20 66 69 6C 65 73 20 53 43 41 4E 34 36 34 files SCAN464
000010: 2E 42 41 53 20 61 6E 64 20 53 43 41 4E 34 36 34 .BAS and SCAN464
000020: 2E 42 49 4E 2E 20 20 4A 75 73 74 20 20 52 55 4E .BIN. Just RUN
000030: 22 53 43 41 4E 34 36 34 22 20 20 74 6F 20 69 6E "SCAN464" to in
000040: 73 74 61 6C 6C 20 74 68 65 20 52 53 58 0D 0A 20 stall the RSX..
000050: 20 20 63 6F 6D 6D 61 6E 64 73 2E 3E 3E 0D 0A 0D commands.>>...
000060: 0A 20 20 20 20 20 54 68 65 20 70 72 6F 67 72 61 . The progra
000070: 6D 20 69 6E 73 74 61 6C 6C 73 20 73 6F 6D 65 20 m installs some
000080: 52 53 58 20 63 6F 6D 6D 61 6E 64 73 2E 20 20 54 RSX commands. T
000090: 68 65 20 20 69 64 65 61 20 69 73 20 74 68 61 74 he idea is that
0000A0: 20 79 6F 75 20 74 68 65 6E 20 6C 6F 61 64 0D 0A you then load..
0000B0: 20 20 20 74 68 65 20 70 69 65 63 65 20 6F 66 20 the piece of
0000C0: 42 41 53 49 43 20 77 68 69 63 68 20 77 69 6C 6C BASIC which will
0000D0: 20 6E 6F 74 20 20 72 75 6E 20 20 6F 6E 20 74 68 not run on th
0000E0: 65 20 34 36 34 2C 20 61 6E 64 20 75 73 65 20 74 e 464, and use t
0000F0: 68 65 73 65 20 63 6F 6D 6D 61 6E 64 73 0D 0A 20 hese commands..
000100: 20 20 74 6F 20 64 69 61 67 6E 6F 73 65 20 74 68 to diagnose th
000110: 65 20 70 72 6F 62 6C 65 6D 2E 0D 0A 0D 0A 20 20 e problem.....
000120: 20 20 20 57 68 61 74 20 61 72 65 20 74 68 65 20 What are the
000130: 63 6F 6D 6D 61 6E 64 73 3F 20 20 41 20 73 75 6D commands? A sum
000140: 6D 61 72 79 20 20 69 73 20 20 69 6E 20 20 74 68 mary is in th
000150: 65 20 62 6F 78 20 6D 61 72 6B 65 64 20 46 69 67 e box marked Fig
000160: 75 72 65 20 31 2E 20 20 54 68 65 0D 0A 20 20 20 ure 1. The..
000170: 6D 6F 73 74 20 75 73 65 66 75 6C 20 6F 6E 65 20 most useful one
000180: 69 73 20 7C 53 43 41 4E 2E 20 20 54 68 69 73 20 is |SCAN. This
000190: 77 69 6C 6C 20 20 73 63 61 6E 20 74 68 65 20 70 will scan the p
0001A0: 72 6F 67 72 61 6D 20 66 6F 72 20 6C 69 6E 65 73 rogram for lines
0001B0: 20 74 68 61 74 20 77 69 6C 6C 0D 0A 20 20 20 6E that will.. n
0001C0: 6F 74 20 77 6F 72 6B 20 6F 6E 20 74 68 65 20 34 ot work on the 4
0001D0: 36 34 2C 20 61 6E 64 20 6C 69 73 74 73 20 74 68 64, and lists th
0001E0: 65 6D 20 74 6F 20 74 68 65 20 73 63 72 65 65 6E em to the screen
0001F0: 2C 20 63 6F 6D 70 6C 65 74 65 20 77 69 74 68 20 , complete with
Size : 512 (Real : 512)
000000: 20 35 30 20 50 4F 4B 45 20 61 64 64 72 2C 61 25 50 POKE addr,a%
000010: 3A 63 68 6B 25 3D 63 68 6B 25 2B 61 25 3A 61 64 :chk%=chk%+a%:ad
000020: 64 72 3D 61 64 64 72 2B 31 3A 4E 45 58 54 0D 0A dr=addr+1:NEXT..
000030: 20 36 30 20 49 46 20 63 68 6B 25 3C 3E 56 41 4C 60 IF chk%<>VAL
000040: 28 22 26 22 2B 52 49 47 48 54 24 28 63 6F 64 24 ("&"+RIGHT$(cod$
000050: 2C 33 29 29 20 54 48 45 4E 20 50 52 49 4E 54 22 ,3)) THEN PRINT"
000060: 45 72 72 6F 72 20 69 6E 20 6C 69 6E 65 22 3B 69 Error in line";i
000070: 25 2A 31 30 2B 31 30 30 3A 65 72 3D 2D 31 0D 0A %*10+100:er=-1..
000080: 20 37 30 20 4E 45 58 54 3A 49 46 20 65 72 20 54 70 NEXT:IF er T
000090: 48 45 4E 20 45 4E 44 0D 0A 20 38 30 20 43 41 4C HEN END.. 80 CAL
0000A0: 4C 20 26 39 30 30 30 0D 0A 20 39 30 20 50 52 49 L &9000.. 90 PRI
0000B0: 4E 54 22 4D 61 63 68 69 6E 65 20 63 6F 64 65 20 NT"Machine code
0000C0: 69 6E 73 74 61 6C 6C 65 64 22 0D 0A 20 31 30 30 installed".. 100
0000D0: 20 44 41 54 41 20 30 31 30 44 39 30 32 31 30 39 DATA 010D902109
0000E0: 39 30 43 33 44 31 42 43 30 30 30 30 30 30 33 41 90C3D1BC0000003A
0000F0: 38 0D 0A 20 31 31 30 20 44 41 54 41 20 30 30 32 8.. 110 DATA 002
000100: 31 39 30 43 33 33 45 39 30 43 33 34 33 39 30 43 190C33E90C34390C
000110: 33 34 38 39 30 35 37 33 0D 0A 20 31 32 30 20 44 34890573.. 120 D
000120: 41 54 41 20 43 33 35 33 39 30 43 33 35 38 39 30 ATA C35390C35890
000130: 43 33 35 44 39 30 35 33 34 33 34 31 35 44 38 0D C35D905343415D8.
000140: 0A 20 31 33 30 20 44 41 54 41 20 43 45 35 33 34 . 130 DATA CE534
000150: 33 34 31 34 45 43 36 35 33 34 33 34 31 34 45 44 3414EC65343414ED
000160: 30 34 43 34 46 41 0D 0A 20 31 34 30 20 44 41 54 04C4FA.. 140 DAT
000170: 41 20 34 39 35 33 44 34 34 43 34 39 35 33 35 34 A 4953D44C495354
000180: 43 36 34 43 34 39 35 33 35 34 34 41 45 0D 0A 20 C64C4953544AE..
000190: 31 35 30 20 44 41 54 41 20 44 30 30 30 43 44 39 150 DATA D000CD9
0001A0: 36 39 30 31 38 30 38 43 44 41 41 39 30 31 38 30 6901808CDAA90180
0001B0: 33 35 30 35 0D 0A 20 31 36 30 20 44 41 54 41 20 3505.. 160 DATA
0001C0: 43 44 39 42 39 30 32 31 35 31 39 31 32 32 39 32 CD9B902151912292
0001D0: 39 30 31 38 32 30 43 44 35 34 34 0D 0A 20 31 37 901820CD544.. 17
0001E0: 30 20 44 41 54 41 20 39 36 39 30 31 38 30 38 43 0 DATA 96901808C
0001F0: 44 41 41 39 30 31 38 30 33 43 44 39 42 39 30 35 DAA901803CD9B905
Size : 512 (Real : 512)
000000: 30 38 35 45 32 33 35 36 32 33 45 35 45 42 31 38 085E235623E5EB18
000010: 45 41 35 31 30 0D 0A 20 37 31 30 20 44 41 54 41 EA510.. 710 DATA
000020: 20 46 45 31 42 32 30 32 37 33 45 32 36 43 44 45 FE1B20273E26CDE
000030: 43 39 30 33 45 35 38 43 44 35 37 30 0D 0A 20 37 C903E58CD570.. 7
000040: 32 30 20 44 41 54 41 20 45 43 39 30 35 45 32 33 20 DATA EC905E23
000050: 35 36 32 33 30 45 30 30 30 36 30 38 43 44 35 33 56230E000608CD53
000060: 33 42 32 0D 0A 20 37 33 30 20 44 41 54 41 20 39 3B2.. 730 DATA 9
000070: 34 30 36 30 37 35 33 43 44 35 33 39 34 41 46 43 4060753CD5394AFC
000080: 42 31 32 31 37 43 36 35 31 31 0D 0A 20 37 34 30 B1217C6511.. 740
000090: 20 44 41 54 41 20 33 30 43 44 45 43 39 30 43 33 DATA 30CDEC90C3
0000A0: 36 44 39 32 46 45 31 43 32 30 32 39 33 45 35 44 6D92FE1C20293E5D
0000B0: 43 0D 0A 20 37 35 30 20 44 41 54 41 20 32 36 43 C.. 750 DATA 26C
0000C0: 44 45 43 39 30 30 45 30 30 41 46 32 33 45 44 36 DEC900E00AF23ED6
0000D0: 46 43 44 36 36 35 44 45 0D 0A 20 37 36 30 20 44 FCD665DE.. 760 D
0000E0: 41 54 41 20 39 34 45 44 36 46 43 44 36 36 39 34 ATA 94ED6FCD6694
0000F0: 45 44 36 46 32 42 45 44 36 46 43 44 37 36 37 0D ED6F2BED6FCD767.
000100: 0A 20 37 37 30 20 44 41 54 41 20 36 36 39 34 45 . 770 DATA 6694E
000110: 44 36 46 30 45 32 30 43 44 36 36 39 34 45 44 36 D6F0E20CD6694ED6
000120: 46 32 33 35 43 41 0D 0A 20 37 38 30 20 44 41 54 F235CA.. 780 DAT
000130: 41 20 32 33 43 33 36 44 39 32 46 45 31 44 32 30 A 23C36D92FE1D20
000140: 31 30 35 45 32 33 35 36 32 33 34 32 41 0D 0A 20 105E23562342A..
000150: 37 39 30 20 44 41 54 41 20 45 35 45 42 32 33 32 790 DATA E5EB232
000160: 33 32 33 35 45 32 33 35 36 45 42 43 33 43 36 39 3235E2356EBC3C69
000170: 32 36 31 36 0D 0A 20 38 30 30 20 44 41 54 41 20 2616.. 800 DATA
000180: 46 45 31 46 32 30 32 35 31 31 43 32 42 30 30 31 FE1F202511C2B001
000190: 30 35 30 30 45 44 42 30 34 38 38 0D 0A 20 38 31 0500EDB0488.. 81
0001A0: 30 20 44 41 54 41 20 33 45 30 35 33 32 43 31 42 0 DATA 3E0532C1B
0001B0: 30 45 35 30 45 30 30 43 44 30 46 42 39 43 35 35 0E50E00CD0FB9C55
0001C0: 33 33 0D 0A 20 38 32 30 20 44 41 54 41 20 43 44 33.. 820 DATA CD
0001D0: 39 44 45 45 43 31 43 44 31 38 42 39 32 31 35 45 9DEEC1CD18B9215E
0001E0: 41 45 43 44 37 42 37 32 43 0D 0A 20 38 33 30 20 AECD7B72C.. 830
0001F0: 44 41 54 41 20 39 34 45 31 43 33 36 44 39 32 46 DATA 94E1C36D92F
Size : 512 (Real : 512)
000000: 36 30 0D 0A 20 31 38 30 20 44 41 54 41 20 32 31 60.. 180 DATA 21
000010: 35 46 39 32 32 32 39 32 39 30 31 38 30 42 33 45 5F92229290180B3E
000020: 34 32 30 36 46 43 33 46 42 0D 0A 20 31 39 30 20 4206FC3FB.. 190
000030: 44 41 54 41 20 43 44 32 37 42 42 30 30 43 33 38 DATA CD27BB00C38
000040: 46 42 43 32 41 45 39 39 34 35 45 32 33 35 45 35 FBC2AE9945E235E5
000050: 0D 0A 20 32 30 30 20 44 41 54 41 20 35 36 32 42 .. 200 DATA 562B
000060: 37 41 42 33 32 38 45 41 45 35 31 39 32 32 45 39 7AB328EAE51922E9
000070: 39 34 45 31 36 33 45 0D 0A 20 32 31 30 20 44 41 94E163E.. 210 DA
000080: 54 41 20 32 33 32 33 35 45 32 33 35 36 32 33 45 TA 23235E235623E
000090: 44 35 33 45 35 39 34 32 32 45 37 35 30 32 0D 0A D53E59422E7502..
0000A0: 20 32 32 30 20 44 41 54 41 20 39 34 43 44 35 46 220 DATA 94CD5F
0000B0: 39 32 31 38 44 44 32 31 32 42 39 31 31 38 30 33 9218DD212B911803
0000C0: 32 31 34 36 30 0D 0A 20 32 33 30 20 44 41 54 41 21460.. 230 DATA
0000D0: 20 45 46 39 30 43 44 43 45 39 30 32 32 45 44 39 EF90CDCE9022ED9
0000E0: 30 33 45 43 39 33 32 36 46 36 46 31 0D 0A 20 32 03EC9326F6F1.. 2
0000F0: 34 30 20 44 41 54 41 20 39 30 43 39 43 44 43 45 40 DATA 90C9CDCE
000100: 39 30 32 31 34 38 39 31 32 32 45 44 39 30 33 44 9021489122ED903D
000110: 36 35 41 0D 0A 20 32 35 30 20 44 41 54 41 20 32 65A.. 250 DATA 2
000120: 30 35 45 33 32 36 46 39 30 44 44 36 45 30 30 44 05E326F90DD6E00D
000130: 44 36 36 30 31 34 36 34 38 34 0D 0A 20 32 36 30 D660146484.. 260
000140: 20 44 41 54 41 20 32 33 35 45 32 33 35 36 45 42 DATA 235E2356EB
000150: 31 31 45 46 39 34 43 44 38 43 42 43 44 38 36 36 11EF94CD8CBCD866
000160: 36 0D 0A 20 32 37 30 20 44 41 54 41 20 31 38 34 6.. 270 DATA 184
000170: 36 44 31 43 31 45 44 37 33 45 44 39 34 43 35 44 6D1C1ED73ED94C5D
000180: 35 31 31 37 30 36 45 43 0D 0A 20 32 38 30 20 44 511706EC.. 280 D
000190: 41 54 41 20 30 31 45 44 35 33 45 39 39 34 46 35 ATA 01ED53E994F5
0001A0: 45 35 33 45 34 32 30 36 43 30 43 44 36 41 42 0D E53E4206C0CD6AB.
0001B0: 0A 20 32 39 30 20 44 41 54 41 20 32 37 42 42 43 . 290 DATA 27BBC
0001C0: 44 34 38 42 42 45 31 46 31 43 39 43 33 45 46 39 D48BBE1F1C9C3EF9
0001D0: 30 43 35 38 35 34 0D 0A 20 33 30 30 20 44 41 54 0C5854.. 300 DAT
0001E0: 41 20 34 37 43 44 32 42 42 44 37 38 43 31 33 38 A 47CD2BBD78C138
0001F0: 33 36 46 35 43 44 38 41 42 42 36 41 41 0D 0A 20 36F5CD8ABB6AA..
Size : 512 (Real : 512)
000000: 45 32 32 32 30 30 39 43 44 45 43 39 30 36 43 39 E222009CDEC906C9
000010: 0D 0A 20 38 34 30 20 44 41 54 41 20 43 44 37 42 .. 840 DATA CD7B
000020: 39 34 43 33 36 44 39 32 46 45 37 43 33 30 30 36 94C36D92FE7C3006
000030: 43 44 45 43 37 30 37 0D 0A 20 38 35 30 20 44 41 CDEC707.. 850 DA
000040: 54 41 20 39 30 43 33 36 44 39 32 32 30 30 41 43 TA 90C36D92200AC
000050: 44 45 43 39 30 32 33 43 44 39 30 36 34 35 0D 0A DEC9023CD90645..
000060: 20 38 36 30 20 44 41 54 41 20 39 34 43 33 36 44 860 DATA 94C36D
000070: 39 32 46 45 46 46 32 30 30 32 37 45 32 33 46 45 92FEFF20027E23FE
000080: 43 30 36 44 34 0D 0A 20 38 37 30 20 44 41 54 41 C06D4.. 870 DATA
000090: 20 32 30 31 30 33 45 32 37 43 44 45 43 39 30 37 20103E27CDEC907
0000A0: 45 42 37 43 41 36 44 39 32 35 44 43 0D 0A 20 38 EB7CA6D925DC.. 8
0000B0: 38 30 20 44 41 54 41 20 32 33 43 44 45 43 39 30 80 DATA 23CDEC90
0000C0: 31 38 46 35 46 45 43 35 32 30 30 41 45 35 32 31 18F5FEC5200AE521
0000D0: 36 36 43 0D 0A 20 38 39 30 20 44 41 54 41 20 31 66C.. 890 DATA 1
0000E0: 35 39 34 43 44 39 30 39 34 45 31 31 38 45 37 45 594CD9094E118E7E
0000F0: 35 32 31 31 46 39 34 36 33 33 0D 0A 20 39 30 30 5211F94633.. 900
000100: 20 44 41 54 41 20 42 45 32 33 33 38 31 33 32 30 DATA BE23381320
000110: 30 37 43 44 39 30 39 34 45 31 43 33 36 44 35 35 07CD9094E1C36D55
000120: 35 0D 0A 20 39 31 30 20 44 41 54 41 20 39 32 46 5.. 910 DATA 92F
000130: 35 37 45 32 33 45 36 38 30 32 38 46 41 46 31 31 57E23E68028FAF11
000140: 38 45 39 30 45 36 42 30 0D 0A 20 39 32 30 20 44 8E90E6B0.. 920 D
000150: 41 54 41 20 30 30 46 35 43 44 30 46 42 39 46 31 ATA 00F5CD0FB9F1
000160: 43 35 30 36 31 42 32 31 38 38 45 33 35 45 44 0D C5061B2188E35ED.
000170: 0A 20 39 33 30 20 44 41 54 41 20 45 35 46 35 37 . 930 DATA E5F57
000180: 45 32 33 42 37 32 38 32 34 31 38 30 33 37 45 32 E23B7282418037E2
000190: 33 42 37 34 46 31 0D 0A 20 39 34 30 20 44 41 54 3B74F1.. 940 DAT
0001A0: 41 20 46 32 45 44 39 33 46 31 42 45 32 38 30 34 A F2ED93F1BE2804
0001B0: 44 31 32 33 31 38 45 39 37 38 36 42 41 0D 0A 20 D12318E9786BA..
0001C0: 39 35 30 20 44 41 54 41 20 43 36 33 46 46 45 34 950 DATA C63FFE4
0001D0: 30 43 34 45 43 39 30 45 31 43 44 39 30 39 34 43 0C4EC90E1CD9094C
0001E0: 31 38 31 36 0D 0A 20 39 36 30 20 44 41 54 41 20 1816.. 960 DATA
0001F0: 43 44 31 38 42 39 45 31 43 33 36 44 39 32 46 31 CD18B9E1C36D92F1
Size : 512 (Real : 512)
000000: 33 31 30 20 44 41 54 41 20 43 44 31 42 42 42 33 310 DATA CD1BBB3
000010: 30 31 41 46 45 43 30 32 30 31 36 43 44 38 44 42 01AFEC02016CD8DB
000020: 42 35 46 36 0D 0A 20 33 32 30 20 44 41 54 41 20 B5F6.. 320 DATA
000030: 32 31 35 41 42 42 32 32 45 44 39 30 32 31 31 38 215ABB22ED902118
000040: 39 34 43 44 39 30 39 34 35 39 33 0D 0A 20 33 33 94CD9094593.. 33
000050: 30 20 44 41 54 41 20 45 44 37 42 45 44 39 34 43 0 DATA ED7BED94C
000060: 33 36 38 39 30 43 44 32 45 42 44 33 38 44 43 37 36890CD2EBD38DC7
000070: 37 30 0D 0A 20 33 34 30 20 44 41 54 41 20 43 44 70.. 340 DATA CD
000080: 38 44 42 42 46 31 46 35 43 44 33 31 42 44 46 31 8DBBF1F5CD31BDF1
000090: 31 38 30 33 43 44 37 38 46 0D 0A 20 33 35 30 20 1803CD78F.. 350
0000A0: 44 41 54 41 20 35 41 42 42 46 45 30 41 43 30 43 DATA 5ABBFE0AC0C
0000B0: 44 31 42 42 42 44 30 46 45 43 30 43 30 37 43 45 D1BBBD0FEC0C07CE
0000C0: 0D 0A 20 33 36 30 20 44 41 54 41 20 43 44 38 41 .. 360 DATA CD8A
0000D0: 42 42 43 44 31 38 42 42 46 35 43 44 38 44 42 42 BBCD18BBF5CD8DBB
0000E0: 46 31 46 45 38 41 42 0D 0A 20 33 37 30 20 44 41 F1FE8AB.. 370 DA
0000F0: 54 41 20 43 30 43 30 31 38 43 30 43 44 39 35 42 TA C0C018C0CD95B
000100: 43 44 38 43 44 39 32 42 43 31 38 37 38 31 0D 0A CD8CD92BC18781..
000110: 20 33 38 30 20 44 41 54 41 20 43 33 45 44 37 33 380 DATA C3ED73
000120: 45 42 39 34 37 45 42 37 43 38 32 33 46 45 43 35 EB947EB7C823FEC5
000130: 43 38 38 34 44 0D 0A 20 33 39 30 20 44 41 54 41 C884D.. 390 DATA
000140: 20 46 45 43 30 43 38 46 45 38 36 32 30 30 41 43 FEC0C8FE86200AC
000150: 44 43 38 39 31 46 45 41 33 37 46 42 0D 0A 20 34 DC891FEA37FB.. 4
000160: 30 30 20 44 41 54 41 20 43 41 35 46 39 32 31 38 00 DATA CA5F9218
000170: 30 43 46 45 42 33 32 30 30 44 43 44 43 38 39 31 0CFEB3200DCDC891
000180: 35 45 33 0D 0A 20 34 31 30 20 44 41 54 41 20 46 5E3.. 410 DATA F
000190: 45 38 42 43 41 35 46 39 32 43 44 43 46 39 31 31 E8BCA5F92CDCF911
0001A0: 38 44 37 46 45 39 34 37 46 32 0D 0A 20 34 32 30 8D7FE947F2.. 420
0001B0: 20 44 41 54 41 20 32 38 30 43 46 45 39 35 32 38 DATA 280CFE9528
0001C0: 30 38 46 45 42 43 32 38 30 34 46 45 42 44 35 39 08FEBC2804FEBD59
0001D0: 38 0D 0A 20 34 33 30 20 44 41 54 41 20 32 30 30 8.. 430 DATA 200
0001E0: 42 43 44 43 46 39 31 37 39 46 45 30 34 44 32 35 BCDCF9179FE04D25
0001F0: 46 39 32 31 38 35 41 45 0D 0A 20 34 34 30 20 44 F92185AE.. 440 D
Size : 512 (Real : 512)
000000: 42 42 30 33 20 20 69 74 20 20 77 69 6C 6C 20 67 BB03 it will g
000010: 6F 20 62 61 63 6B 20 74 6F 20 52 55 4E 22 2E 20 o back to RUN".
000020: 20 54 68 69 73 0D 0A 20 20 20 6D 61 79 20 63 61 This.. may ca
000030: 75 73 65 20 70 72 6F 62 6C 65 6D 73 2C 20 6F 72 use problems, or
000040: 20 69 74 20 6D 61 79 20 6E 6F 74 2E 0D 0A 0D 0A it may not.....
000050: 20 20 20 4F 4E 20 42 52 45 41 4B 20 43 4F 4E 54 ON BREAK CONT
000060: 0D 0A 20 20 20 20 20 54 68 69 73 20 69 73 20 65 .. This is e
000070: 61 73 69 6C 79 20 72 65 70 6C 61 63 65 64 20 62 asily replaced b
000080: 79 20 4F 4E 20 42 52 45 41 4B 20 47 4F 53 55 42 y ON BREAK GOSUB
000090: 20 78 78 78 2C 20 77 68 65 72 65 20 78 78 78 20 xxx, where xxx
0000A0: 69 73 20 61 20 6C 69 6E 65 20 77 68 69 63 68 0D is a line which.
0000B0: 0A 20 20 20 73 69 6D 70 6C 79 20 73 61 79 73 20 . simply says
0000C0: 52 45 54 55 52 4E 2E 20 20 59 6F 75 20 6D 61 79 RETURN. You may
0000D0: 20 6E 6F 74 20 77 61 6E 74 20 74 6F 20 6B 65 65 not want to kee
0000E0: 70 20 74 68 65 20 63 6F 6D 6D 61 6E 64 20 69 6E p the command in
0000F0: 20 61 6E 79 77 61 79 2C 20 61 73 20 69 74 0D 0A anyway, as it..
000100: 20 20 20 73 74 6F 70 73 20 79 6F 75 20 66 72 6F stops you fro
000110: 6D 20 75 73 69 6E 67 20 74 68 65 20 65 73 63 61 m using the esca
000120: 70 65 20 6B 65 79 20 74 6F 20 62 72 65 61 6B 20 pe key to break
000130: 69 6E 74 6F 20 74 68 65 20 70 72 6F 67 72 61 6D into the program
000140: 2E 0D 0A 0D 0A 20 20 20 41 4E 44 20 4E 45 58 54 ..... AND NEXT
000150: 20 54 49 4D 45 2C 20 49 4E 20 45 50 49 53 4F 44 TIME, IN EPISOD
000160: 45 20 54 57 4F 2E 2E 2E 0D 0A 20 20 20 20 20 4D E TWO..... M
000170: 6F 73 74 20 6F 66 20 74 68 65 20 72 65 73 74 20 ost of the rest
000180: 6F 66 20 74 68 65 20 63 6F 6D 6D 61 6E 64 73 20 of the commands
000190: 20 72 65 6C 61 74 65 20 20 74 6F 20 67 72 61 70 relate to grap
0001A0: 68 69 63 73 2C 20 61 6E 64 20 77 65 27 6C 6C 20 hics, and we'll
0001B0: 6C 6F 6F 6B 20 61 74 0D 0A 20 20 20 74 68 65 6D look at.. them
0001C0: 20 6E 65 78 74 20 6D 6F 6E 74 68 2E 20 20 43 61 next month. Ca
0001D0: 6E 20 79 6F 75 20 77 61 69 74 20 74 68 61 74 20 n you wait that
0001E0: 6C 6F 6E 67 3F 20 20 4A 75 61 6E 20 43 61 72 6C long? Juan Carl
0001F0: 6F 73 20 63 61 6E 2E 0D 0A 0D 0A 20 20 20 46 49 os can..... FI
Size : 512 (Real : 512)
000000: 41 54 41 20 42 43 46 45 41 45 32 38 30 34 46 45 ATA BCFEAE2804FE
000010: 41 46 32 30 30 42 43 44 43 46 39 31 36 39 39 0D AF200BCDCF91699.
000020: 0A 20 34 35 30 20 44 41 54 41 20 37 39 46 45 30 . 450 DATA 79FE0
000030: 33 44 32 35 46 39 32 31 38 41 39 46 45 42 42 32 3D25F9218A9FEBB2
000040: 30 31 32 35 45 39 0D 0A 20 34 36 30 20 44 41 54 0125E9.. 460 DAT
000050: 41 20 43 44 43 38 39 31 46 45 32 33 32 38 45 41 A CDC891FE2328EA
000060: 43 44 43 46 39 31 37 39 46 45 37 46 44 0D 0A 20 CDCF9179FE7FD..
000070: 34 37 30 20 44 41 54 41 20 30 32 44 32 35 46 39 470 DATA 02D25F9
000080: 32 31 38 39 33 32 42 43 44 43 46 39 31 31 38 38 218932BCDCF91188
000090: 44 35 36 44 0D 0A 20 34 38 30 20 44 41 54 41 20 D56D.. 480 DATA
0000A0: 37 45 46 45 32 30 43 30 32 33 31 38 46 39 30 45 7EFE20C02318F90E
0000B0: 30 31 37 45 42 37 43 38 35 39 43 0D 0A 20 34 39 017EB7C859C.. 49
0000C0: 30 20 44 41 54 41 20 32 33 46 45 30 31 43 38 46 0 DATA 23FE01C8F
0000D0: 45 32 38 32 30 30 44 43 44 46 39 39 31 46 45 36 E28200DCDF991FE6
0000E0: 39 32 0D 0A 20 35 30 30 20 44 41 54 41 20 32 39 92.. 500 DATA 29
0000F0: 32 38 45 45 45 44 37 42 45 42 39 34 31 38 37 36 28EEED7BEB941876
000100: 46 45 32 39 32 38 36 30 33 0D 0A 20 35 31 30 20 FE2928603.. 510
000110: 44 41 54 41 20 46 36 46 45 32 43 32 30 30 33 30 DATA F6FE2C20030
000120: 43 31 38 44 44 43 44 31 31 39 32 31 38 34 43 43 C18DDCD1192184CC
000130: 0D 0A 20 35 32 30 20 44 41 54 41 20 44 38 37 45 .. 520 DATA D87E
000140: 42 37 43 38 46 45 30 31 43 38 32 33 46 45 32 39 B7C8FE01C823FE29
000150: 43 38 46 45 37 41 43 0D 0A 20 35 33 30 20 44 41 C8FE7AC.. 530 DA
000160: 54 41 20 32 38 32 30 30 35 43 44 46 39 39 31 31 TA 282005CDF9911
000170: 38 45 44 43 44 31 31 39 32 31 38 35 33 31 0D 0A 8EDCD119218531..
000180: 20 35 34 30 20 44 41 54 41 20 45 38 46 45 30 45 540 DATA E8FE0E
000190: 33 30 30 36 32 33 32 33 43 44 38 39 39 34 43 39 30062323CD8994C9
0001A0: 46 45 36 32 31 0D 0A 20 35 35 30 20 44 41 54 41 FE621.. 550 DATA
0001B0: 20 31 38 44 38 32 33 46 45 31 39 43 38 32 33 46 18D823FE19C823F
0001C0: 45 31 46 44 38 32 30 30 34 35 32 45 0D 0A 20 35 E1FD8200452E.. 5
0001D0: 36 30 20 44 41 54 41 20 32 33 32 33 32 33 43 39 60 DATA 232323C9
0001E0: 32 42 32 42 46 45 32 32 32 30 30 33 43 33 37 32 2B2BFE222003C372
0001F0: 34 30 30 0D 0A 20 35 37 30 20 44 41 54 41 20 39 400.. 570 DATA 9
Size : 512 (Real : 512)
000000: 47 55 52 45 20 31 0D 0A 0D 0A 20 20 20 7C 53 43 GURE 1.... |SC
000010: 41 4E 20 2D 20 6C 69 73 74 20 74 6F 20 74 68 65 AN - list to the
000020: 20 73 63 72 65 65 6E 20 6C 69 6E 65 73 20 74 68 screen lines th
000030: 61 74 20 77 69 6C 6C 20 6E 6F 74 20 77 6F 72 6B at will not work
000040: 20 6F 6E 20 74 68 65 20 34 36 34 0D 0A 20 20 20 on the 464..
000050: 7C 53 43 41 4E 50 20 2D 20 64 69 74 74 6F 2C 20 |SCANP - ditto,
000060: 62 75 74 20 6C 69 73 74 69 6E 67 20 74 6F 20 74 but listing to t
000070: 68 65 20 70 72 69 6E 74 65 72 0D 0A 20 20 20 7C he printer.. |
000080: 53 43 41 4E 46 2C 40 61 24 20 2D 20 73 61 6D 65 SCANF,@a$ - same
000090: 20 61 67 61 69 6E 2C 20 62 75 74 20 73 61 76 69 again, but savi
0000A0: 6E 67 20 74 6F 20 74 68 65 20 66 69 6C 65 20 61 ng to the file a
0000B0: 24 0D 0A 0D 0A 20 20 20 7C 4C 49 53 54 20 2D 20 $.... |LIST -
0000C0: 6C 69 73 74 20 74 68 65 20 77 68 6F 6C 65 20 70 list the whole p
0000D0: 72 6F 67 72 61 6D 20 74 6F 20 74 68 65 20 73 63 rogram to the sc
0000E0: 72 65 65 6E 0D 0A 20 20 20 7C 4C 49 53 54 50 20 reen.. |LISTP
0000F0: 2D 20 64 69 74 74 6F 2C 20 62 75 74 20 6C 69 73 - ditto, but lis
000100: 74 69 6E 67 20 74 6F 20 74 68 65 20 70 72 69 6E ting to the prin
000110: 74 65 72 0D 0A 20 20 20 7C 4C 49 53 54 46 2C 40 ter.. |LISTF,@
000120: 61 24 20 2D 20 73 61 6D 65 20 61 67 61 69 6E 2C a$ - same again,
000130: 20 62 75 74 20 73 61 76 69 6E 67 20 74 6F 20 74 but saving to t
000140: 68 65 20 66 69 6C 65 20 61 24 0D 0A 0D 0A 0D 0A he file a$......
000150: 0D 0A 20 4C 49 53 54 49 4E 47 20 31 0D 0A 0D 0A .. LISTING 1....
000160: 20 31 30 20 53 59 4D 42 4F 4C 20 41 46 54 45 52 10 SYMBOL AFTER
000170: 20 32 35 36 3A 4D 45 4D 4F 52 59 20 26 38 46 46 256:MEMORY &8FF
000180: 46 0D 0A 20 32 30 20 52 45 53 54 4F 52 45 20 31 F.. 20 RESTORE 1
000190: 30 30 3A 65 72 3D 30 3A 61 64 64 72 3D 48 49 4D 00:er=0:addr=HIM
0001A0: 45 4D 2B 31 0D 0A 20 33 30 20 46 4F 52 20 69 25 EM+1.. 30 FOR i%
0001B0: 3D 30 20 54 4F 20 31 30 34 3A 52 45 41 44 20 63 =0 TO 104:READ c
0001C0: 6F 64 24 3A 63 68 6B 25 3D 30 0D 0A 20 34 30 20 od$:chk%=0.. 40
0001D0: 46 4F 52 20 6A 25 3D 30 20 54 4F 20 31 31 3A 61 FOR j%=0 TO 11:a
0001E0: 25 3D 56 41 4C 28 22 26 22 2B 4D 49 44 24 28 63 %=VAL("&"+MID$(c
0001F0: 6F 64 24 2C 6A 25 2A 32 2B 31 2C 32 29 29 0D 0A od$,j%*2+1,2))..
Size : 512 (Real : 512)
000000: 34 46 45 37 43 44 38 32 30 30 36 45 44 37 42 45 4FE7CD82006ED7BE
000010: 42 39 34 31 38 31 46 36 32 41 0D 0A 20 35 38 30 B94181F62A.. 580
000020: 20 44 41 54 41 20 46 45 46 46 32 30 30 32 37 45 DATA FEFF20027E
000030: 32 33 45 35 43 44 34 43 39 32 45 31 43 39 36 46 23E5CD4C92E1C96F
000040: 41 0D 0A 20 35 39 30 20 44 41 54 41 20 32 31 31 A.. 590 DATA 211
000050: 46 39 34 42 45 32 38 30 39 44 38 32 33 46 35 43 F94BE2809D823F5C
000060: 44 38 39 39 34 35 39 44 0D 0A 20 36 30 30 20 44 D899459D.. 600 D
000070: 41 54 41 20 46 31 31 38 46 34 45 44 37 42 45 42 ATA F118F4ED7BEB
000080: 39 34 32 41 45 35 39 34 43 44 41 32 37 46 36 0D 942AE594CDA27F6.
000090: 0A 20 36 31 30 20 44 41 54 41 20 39 34 33 45 32 . 610 DATA 943E2
0000A0: 30 43 44 45 43 39 30 32 41 45 37 39 34 37 45 42 0CDEC902AE7947EB
0000B0: 37 32 30 36 33 35 0D 0A 20 36 32 30 20 44 41 54 720635.. 620 DAT
0000C0: 41 20 30 41 33 45 30 44 43 44 45 43 39 30 33 45 A 0A3E0DCDEC903E
0000D0: 30 41 43 33 45 43 39 30 32 33 35 34 38 0D 0A 20 0AC3EC9023548..
0000E0: 36 33 30 20 44 41 54 41 20 46 45 30 31 32 30 31 630 DATA FE01201
0000F0: 34 37 45 32 33 46 45 39 37 43 41 39 41 39 33 46 47E23FE97CA9A93F
000100: 45 36 35 45 0D 0A 20 36 34 30 20 44 41 54 41 20 E65E.. 640 DATA
000110: 43 30 43 41 39 41 39 33 32 42 33 45 33 41 43 44 C0CA9A932B3E3ACD
000120: 45 43 39 30 31 38 44 39 36 39 34 0D 0A 20 36 35 EC9018D9694.. 65
000130: 30 20 44 41 54 41 20 46 45 30 34 32 30 30 32 33 0 DATA FE0420023
000140: 43 33 43 46 45 30 45 33 30 31 33 34 37 32 33 33 C3CFE0E301347233
000150: 35 35 0D 0A 20 36 36 30 20 44 41 54 41 20 32 33 55.. 660 DATA 23
000160: 43 44 39 30 39 34 37 38 46 45 30 37 33 30 43 34 CD909478FE0730C4
000170: 33 45 32 37 39 30 35 37 41 0D 0A 20 36 37 30 20 3E279057A.. 670
000180: 44 41 54 41 20 43 44 45 43 39 30 31 38 42 43 46 DATA CDEC9018BCF
000190: 45 31 38 33 30 30 37 43 36 32 32 43 44 36 31 46 E183007C622CD61F
0001A0: 0D 0A 20 36 38 30 20 44 41 54 41 20 45 43 39 30 .. 680 DATA EC90
0001B0: 31 38 42 31 46 45 31 39 32 30 30 43 37 45 32 33 18B1FE19200C7E23
0001C0: 45 35 36 46 35 37 44 0D 0A 20 36 39 30 20 44 41 E56F57D.. 690 DA
0001D0: 54 41 20 32 36 30 30 43 44 41 32 39 34 45 31 31 TA 2600CDA294E11
0001E0: 38 41 31 46 45 31 41 32 38 30 34 35 30 37 0D 0A 8A1FE1A2804507..
0001F0: 20 37 30 30 20 44 41 54 41 20 46 45 31 45 32 30 700 DATA FE1E20
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 34 44 44 35 45 30 30 44 44 35 36 30 31 34 44 38 4DD5E00DD56014D8
000010: 0D 0A 20 31 31 30 30 20 44 41 54 41 20 44 44 32 .. 1100 DATA DD2
000020: 33 44 44 32 33 41 46 45 44 35 32 33 43 33 30 46 3DD23AFED523C30F
000030: 42 31 39 33 44 35 41 42 0D 0A 20 31 31 31 30 20 B193D5AB.. 1110
000040: 44 41 54 41 20 44 44 45 35 43 44 44 31 39 34 44 DATA DDE5CDD194D
000050: 44 45 31 31 30 45 35 37 44 43 33 44 37 38 42 45 DE110E57DC3D78BE
000060: 0D 0A 20 31 31 32 30 20 44 41 54 41 20 39 34 31 .. 1120 DATA 941
000070: 30 32 37 45 38 30 33 36 34 30 30 30 41 30 30 42 027E80364000A00B
000080: 31 43 38 30 45 33 41 42 0D 0A 20 31 31 33 30 20 1C80E3AB.. 1130
000090: 44 41 54 41 20 32 30 45 36 30 46 43 36 33 30 43 DATA 20E60FC630C
0000A0: 33 45 43 39 30 43 36 39 30 32 37 43 45 36 39 35 3EC90C69027CE695
0000B0: 0D 0A 20 31 31 34 30 20 44 41 54 41 20 34 30 32 .. 1140 DATA 402
0000C0: 37 43 33 45 43 39 30 30 30 30 30 30 30 30 30 30 7C3EC90000000000
0000D0: 30 30 30 30 30 32 41 36 0D 0A 1A 74 74 68 65 77 000002A6...tthew
0000E0: 20 50 68 69 6C 6C 69 70 73 0D 0A 0D 0A 20 20 20 Phillips....
0000F0: 54 68 65 20 73 75 6E 20 62 65 61 74 20 64 6F 77 The sun beat dow
000100: 44 41 54 41 20 45 36 30 31 43 36 33 30 43 44 45 DATA E601C630CDE
000110: 43 39 30 31 30 45 45 43 39 42 31 43 38 37 36 36 C9010EEC9B1C8766
000120: 0D 0A 20 31 30 34 30 20 44 41 54 41 20 30 45 32 .. 1040 DATA 0E2
000130: 30 45 36 30 46 46 35 43 44 44 43 39 34 46 31 43 0E60FF5CDDC94F1C
000140: 39 37 45 42 37 37 34 34 0D 0A 20 31 30 35 30 20 97EB7744.. 1050
000150: 44 41 54 41 20 43 38 32 33 46 45 32 32 32 30 46 DATA C823FE2220F
000160: 38 43 39 37 45 42 37 43 38 32 33 46 35 37 30 31 8C97EB7C823F5701
000170: 0D 0A 20 31 30 36 30 20 44 41 54 41 20 43 44 45 .. 1060 DATA CDE
000180: 43 39 30 46 31 46 45 32 32 32 30 46 33 43 39 37 C90F1FE2220F3C97
000190: 45 32 33 42 37 37 38 45 0D 0A 20 31 30 37 30 20 E23B778E.. 1070
0001A0: 44 41 54 41 20 46 32 38 39 39 34 43 39 37 45 32 DATA F28994C97E2
0001B0: 33 42 37 46 41 39 44 39 34 46 45 30 39 37 36 32 3B7FA9D94FE09762
0001C0: 0D 0A 20 31 30 38 30 20 44 41 54 41 20 43 34 45 .. 1080 DATA C4E
0001D0: 43 39 30 31 38 46 33 45 36 37 46 43 33 45 43 39 C9018F3E67FC3EC9
0001E0: 30 30 36 30 34 36 46 39 0D 0A 20 31 30 39 30 20 006046F9.. 1090
0001F0: 44 41 54 41 20 30 45 30 30 44 44 32 31 43 39 39 DATA 0E00DD21C99
Size : 512 (Real : 512)
000000: 31 30 20 44 45 46 49 4E 54 20 61 2D 7A 3A 4F 50 10 DEFINT a-z:OP
000010: 45 4E 4F 55 54 22 64 22 3A 4D 45 4D 4F 52 59 20 ENOUT"d":MEMORY
000020: 48 49 4D 45 4D 2D 31 3A 43 4C 4F 53 45 4F 55 54 HIMEM-1:CLOSEOUT
000030: 0D 0A 32 30 20 6D 77 6F 72 64 73 3D 31 30 30 30 ..20 mwords=1000
000040: 3A 6D 6C 69 6E 6B 73 3D 36 3A 6E 77 6F 72 64 73 :mlinks=6:nwords
000050: 3D 30 0D 0A 33 30 20 44 49 4D 20 77 24 28 6D 77 =0..30 DIM w$(mw
000060: 6F 72 64 73 29 2C 6C 65 28 6D 77 6F 72 64 73 29 ords),le(mwords)
000070: 2C 72 69 28 6D 77 6F 72 64 73 29 2C 6C 6B 28 6D ,ri(mwords),lk(m
000080: 77 6F 72 64 73 2C 6D 6C 69 6E 6B 73 29 2C 74 65 words,mlinks),te
000090: 6D 70 77 24 28 31 32 38 29 2C 73 74 61 63 6B 28 mpw$(128),stack(
0000A0: 35 29 0D 0A 33 35 20 4D 4F 44 45 20 32 0D 0A 34 5)..35 MODE 2..4
0000B0: 30 20 4C 49 4E 45 20 49 4E 50 55 54 22 22 2C 61 0 LINE INPUT"",a
0000C0: 24 0D 0A 34 31 20 49 46 20 55 50 50 45 52 24 28 $..41 IF UPPER$(
0000D0: 4C 45 46 54 24 28 61 24 2C 35 29 29 3D 22 2A 4C LEFT$(a$,5))="*L
0000E0: 4F 41 44 22 20 54 48 45 4E 20 47 4F 53 55 42 20 OAD" THEN GOSUB
0000F0: 36 30 30 3A 47 4F 54 4F 20 34 30 0D 0A 34 32 20 600:GOTO 40..42
000100: 49 46 20 55 50 50 45 52 24 28 4C 45 46 54 24 28 IF UPPER$(LEFT$(
000110: 61 24 2C 35 29 29 3D 22 2A 53 41 56 45 22 20 54 a$,5))="*SAVE" T
000120: 48 45 4E 20 47 4F 53 55 42 20 37 30 30 3A 47 4F HEN GOSUB 700:GO
000130: 54 4F 20 34 30 0D 0A 34 33 20 49 46 20 55 50 50 TO 40..43 IF UPP
000140: 45 52 24 28 4C 45 46 54 24 28 61 24 2C 39 29 29 ER$(LEFT$(a$,9))
000150: 3D 22 2A 53 48 4F 57 54 52 45 45 22 20 54 48 45 ="*SHOWTREE" THE
000160: 4E 20 47 4F 53 55 42 20 39 30 30 3A 50 52 49 4E N GOSUB 900:PRIN
000170: 54 3A 47 4F 54 4F 20 34 30 0D 0A 35 30 20 77 63 T:GOTO 40..50 wc
000180: 6F 75 6E 74 3D 30 3A 47 4F 53 55 42 20 33 30 30 ount=0:GOSUB 300
000190: 3A 49 46 20 61 24 3C 3E 22 22 20 54 48 45 4E 20 :IF a$<>"" THEN
0001A0: 47 4F 53 55 42 20 31 30 30 0D 0A 36 30 20 49 46 GOSUB 100..60 IF
0001B0: 20 6E 77 6F 72 64 73 20 54 48 45 4E 20 47 4F 53 nwords THEN GOS
0001C0: 55 42 20 32 30 30 0D 0A 37 30 20 47 4F 54 4F 20 UB 200..70 GOTO
0001D0: 34 30 0D 0A 31 30 30 20 57 48 49 4C 45 20 49 4E 40..100 WHILE IN
0001E0: 53 54 52 28 61 24 2C 22 20 22 29 3E 30 3A 61 3D STR(a$," ")>0:a=
0001F0: 49 4E 53 54 52 28 61 24 2C 22 20 22 29 0D 0A 31 INSTR(a$," ")..1
Size : 512 (Real : 512)
000000: 23 48 65 6C 70 20 66 6F 72 20 4C 6F 6F 6D 20 68 #Help for Loom h
000010: 79 70 65 72 74 65 78 74 20 72 65 61 64 65 72 20 ypertext reader
000020: 76 33 2E 32 0D 0A 4C 6F 6F 6D 20 69 73 20 61 20 v3.2..Loom is a
000030: 73 79 73 74 65 6D 20 66 6F 72 20 76 69 65 77 69 system for viewi
000040: 6E 67 20 68 79 70 65 72 74 65 78 74 3A 20 61 20 ng hypertext: a
000050: 73 65 74 20 6F 66 20 6F 72 64 69 6E 61 72 79 20 set of ordinary
000060: 74 65 78 74 20 66 69 6C 65 73 20 77 69 74 68 20 text files with
000070: 6C 69 6E 6B 73 0D 0A 62 65 74 77 65 65 6E 20 74 links..between t
000080: 68 65 6D 2E 20 20 41 6E 79 20 74 65 78 74 20 77 hem. Any text w
000090: 68 69 63 68 20 69 73 20 68 69 67 68 6C 69 67 68 hich is highligh
0000A0: 74 65 64 20 69 73 20 61 20 6C 69 6E 6B 2E 20 20 ted is a link.
0000B0: 55 73 65 20 74 68 65 20 63 75 72 73 6F 72 20 6B Use the cursor k
0000C0: 65 79 73 20 74 6F 0D 0A 70 6F 73 69 74 69 6F 6E eys to..position
0000D0: 20 74 68 65 20 63 75 72 73 6F 72 20 6F 76 65 72 the cursor over
0000E0: 20 61 20 6C 69 6E 6B 2C 20 61 6E 64 20 70 72 65 a link, and pre
0000F0: 73 73 20 74 68 65 20 45 4E 54 45 52 20 6F 72 20 ss the ENTER or
000100: 52 45 54 55 52 4E 20 6B 65 79 20 61 6E 64 20 79 RETURN key and y
000110: 6F 75 20 77 69 6C 6C 0D 0A 62 65 20 74 61 6B 65 ou will..be take
000120: 6E 20 74 6F 20 74 68 65 20 61 70 70 72 6F 70 72 n to the appropr
000130: 69 61 74 65 20 70 6C 61 63 65 20 65 69 74 68 65 iate place eithe
000140: 72 20 65 6C 73 65 77 68 65 72 65 20 69 6E 20 74 r elsewhere in t
000150: 68 65 20 73 61 6D 65 20 66 69 6C 65 2C 20 6F 72 he same file, or
000160: 20 69 6E 20 61 0D 0A 64 69 66 66 65 72 65 6E 74 in a..different
000170: 20 66 69 6C 65 20 65 6E 74 69 72 65 6C 79 2E 0D file entirely..
000180: 0A 0D 0A 54 68 65 72 65 20 61 72 65 20 71 75 69 ...There are qui
000190: 63 6B 20 63 75 72 73 6F 72 20 6D 6F 76 65 6D 65 ck cursor moveme
0001A0: 6E 74 73 20 73 69 6D 69 6C 61 72 20 74 6F 20 50 nts similar to P
0001B0: 72 6F 74 65 78 74 3A 0D 0A 0D 0A 53 48 49 46 54 rotext:....SHIFT
0001C0: 20 6C 65 66 74 20 2B 20 72 69 67 68 74 09 4D 6F left + right.Mo
0001D0: 76 65 20 6C 65 66 74 20 6F 72 20 72 69 67 68 74 ve left or right
0001E0: 20 61 20 77 6F 72 64 20 61 74 20 61 20 74 69 6D a word at a tim
0001F0: 65 0D 0A 43 54 52 4C 20 6C 65 66 74 20 2B 20 72 e..CTRL left + r
Size : 512 (Real : 512)
000000: 31 30 20 74 65 6D 70 77 24 28 77 63 6F 75 6E 74 10 tempw$(wcount
000010: 29 3D 4C 45 46 54 24 28 61 24 2C 61 2D 31 29 3A )=LEFT$(a$,a-1):
000020: 61 24 3D 4D 49 44 24 28 61 24 2C 61 2B 31 29 0D a$=MID$(a$,a+1).
000030: 0A 31 32 30 20 77 63 6F 75 6E 74 3D 77 63 6F 75 .120 wcount=wcou
000040: 6E 74 2B 31 3A 47 4F 53 55 42 20 33 30 30 3A 57 nt+1:GOSUB 300:W
000050: 45 4E 44 0D 0A 31 33 30 20 49 46 20 61 24 3C 3E END..130 IF a$<>
000060: 22 22 20 54 48 45 4E 20 74 65 6D 70 77 24 28 77 "" THEN tempw$(w
000070: 63 6F 75 6E 74 29 3D 61 24 3A 77 63 6F 75 6E 74 count)=a$:wcount
000080: 3D 77 63 6F 75 6E 74 2B 31 0D 0A 31 34 30 20 70 =wcount+1..140 p
000090: 77 6F 72 64 3D 30 3A 46 4F 52 20 69 3D 30 20 54 word=0:FOR i=0 T
0000A0: 4F 20 77 63 6F 75 6E 74 2D 31 3A 77 6F 72 64 24 O wcount-1:word$
0000B0: 3D 74 65 6D 70 77 24 28 69 29 0D 0A 31 35 30 20 =tempw$(i)..150
0000C0: 47 4F 53 55 42 20 38 30 30 0D 0A 31 36 30 20 49 GOSUB 800..160 I
0000D0: 46 20 63 77 6F 72 64 3D 30 20 54 48 45 4E 20 6E F cword=0 THEN n
0000E0: 77 6F 72 64 73 3D 6E 77 6F 72 64 73 2B 31 3A 77 words=nwords+1:w
0000F0: 24 28 6E 77 6F 72 64 73 29 3D 77 6F 72 64 24 3A $(nwords)=word$:
000100: 6C 6B 28 6E 77 6F 72 64 73 2C 30 29 3D 30 3A 6C lk(nwords,0)=0:l
000110: 65 28 6E 77 6F 72 64 73 29 3D 30 3A 72 69 28 6E e(nwords)=0:ri(n
000120: 77 6F 72 64 73 29 3D 30 3A 63 77 6F 72 64 3D 6E words)=0:cword=n
000130: 77 6F 72 64 73 3A 47 4F 53 55 42 20 38 34 30 0D words:GOSUB 840.
000140: 0A 31 37 30 20 47 4F 53 55 42 20 34 30 30 3A 70 .170 GOSUB 400:p
000150: 77 6F 72 64 3D 63 77 6F 72 64 3A 4E 45 58 54 0D word=cword:NEXT.
000160: 0A 31 38 30 20 63 77 6F 72 64 3D 30 3A 47 4F 53 .180 cword=0:GOS
000170: 55 42 20 34 30 30 0D 0A 31 39 30 20 52 45 54 55 UB 400..190 RETU
000180: 52 4E 0D 0A 32 30 30 20 70 77 6F 72 64 3D 30 3A RN..200 pword=0:
000190: 47 4F 53 55 42 20 35 30 30 0D 0A 32 31 30 20 57 GOSUB 500..210 W
0001A0: 48 49 4C 45 20 70 77 6F 72 64 3E 30 3A 50 52 49 HILE pword>0:PRI
0001B0: 4E 54 20 77 24 28 70 77 6F 72 64 29 22 20 22 3B NT w$(pword)" ";
0001C0: 3A 47 4F 53 55 42 20 35 30 30 3A 57 45 4E 44 0D :GOSUB 500:WEND.
0001D0: 0A 32 32 30 20 50 52 49 4E 54 20 43 48 52 24 28 .220 PRINT CHR$(
0001E0: 38 29 3B 22 2E 22 3A 50 52 49 4E 54 0D 0A 32 33 8);".":PRINT..23
0001F0: 30 20 52 45 54 55 52 4E 0D 0A 33 30 30 20 57 48 0 RETURN..300 WH
Size : 512 (Real : 512)
000000: 69 67 68 74 3A 09 4D 6F 76 65 20 74 6F 20 73 74 ight:.Move to st
000010: 61 72 74 20 6F 72 20 65 6E 64 20 6F 66 20 6C 69 art or end of li
000020: 6E 65 0D 0A 53 48 49 46 54 20 75 70 20 2B 20 64 ne..SHIFT up + d
000030: 6F 77 6E 3A 09 53 63 72 6F 6C 6C 20 73 63 72 65 own:.Scroll scre
000040: 65 6E 20 75 70 20 6F 72 20 64 6F 77 6E 20 6F 6E en up or down on
000050: 65 20 6C 69 6E 65 0D 0A 43 54 52 4C 20 75 70 20 e line..CTRL up
000060: 2B 20 64 6F 77 6E 3A 09 09 4D 6F 76 65 20 75 70 + down:..Move up
000070: 20 6F 72 20 64 6F 77 6E 20 61 20 77 68 6F 6C 65 or down a whole
000080: 20 70 61 67 65 0D 0A 43 54 52 4C 20 5B 20 2B 20 page..CTRL [ +
000090: 5D 09 09 4D 6F 76 65 20 74 6F 20 74 6F 70 20 6F ]..Move to top o
0000A0: 72 20 62 6F 74 74 6F 6D 20 6F 66 20 64 6F 63 75 r bottom of docu
0000B0: 6D 65 6E 74 0D 0A 0D 0A 55 73 65 20 74 68 65 20 ment....Use the
0000C0: 45 4E 54 45 52 20 6F 72 20 52 45 54 55 52 4E 20 ENTER or RETURN
0000D0: 6B 65 79 20 74 6F 20 66 6F 6C 6C 6F 77 20 61 20 key to follow a
0000E0: 6C 69 6E 6B 2E 20 20 4F 6E 63 65 20 79 6F 75 20 link. Once you
0000F0: 68 61 76 65 20 66 6F 6C 6C 6F 77 65 64 20 61 20 have followed a
000100: 6C 69 6E 6B 2C 0D 0A 70 72 65 73 73 20 74 68 65 link,..press the
000110: 20 22 3C 22 20 6B 65 79 20 6F 72 20 74 68 65 20 "<" key or the
000120: 22 42 22 20 6B 65 79 20 74 6F 20 72 65 74 75 72 "B" key to retur
000130: 6E 20 74 6F 20 77 68 65 72 65 20 79 6F 75 20 63 n to where you c
000140: 61 6D 65 20 66 72 6F 6D 2E 0D 0A 0D 0A 54 6F 20 ame from.....To
000150: 71 75 69 74 20 4C 6F 6F 6D 2C 20 70 72 65 73 73 quit Loom, press
000160: 20 22 51 22 2E 20 20 20 20 20 20 20 20 20 20 20 "Q".
000170: 20 20 20 20 20 20 54 6F 20 6C 65 61 76 65 20 74 To leave t
000180: 68 69 73 20 68 65 6C 70 20 73 63 72 65 65 6E 2C his help screen,
000190: 20 70 72 65 73 73 20 22 42 22 0D 0A 2D 2D 2D 2D press "B"..----
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A 4F 72 69 -----------..Ori
0001F0: 67 69 6E 61 6C 20 76 65 72 73 69 6F 6E 20 28 63 ginal version (c
Size : 512 (Real : 512)
000000: 00 53 43 41 4E 34 36 34 20 42 41 53 00 00 00 00 .SCAN464 BAS....
000010: 00 00 00 00 00 70 01 00 D3 01 00 00 00 00 00 00 .....p..........
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: D3 01 00 D2 04 74 20 74 6F 20 74 68 65 20 70 72 .....t to the pr
000050: 69 6E 74 65 72 22 00 39 00 5A 00 BF 22 7C 4C 49 inter".9.Z.."|LI
000060: 53 54 46 2C 40 66 69 6C 65 6E 61 6D 65 24 20 20 STF,@filename$
000070: 2D 20 64 69 74 74 6F 2C 20 77 69 74 68 20 6F 75 - ditto, with ou
000080: 21 00 0A 00 AD 20 10 01 AA 20 1C FF 8F 01 A8 22 !.... ... ....."
000090: 73 63 61 6E 34 36 34 2E 62 69 6E 22 2C 1C 00 90 scan464.bin",...
0000A0: 00 53 00 14 00 83 20 1C 00 90 01 BF 22 53 63 61 .S.... ....."Sca
0000B0: 6E 20 34 36 34 20 6C 6F 61 64 65 64 20 61 6E 64 n 464 loaded and
0000C0: 20 69 6E 73 74 61 6C 6C 65 64 20 2D 20 66 6F 72 installed - for
0000D0: 20 75 73 65 20 6F 6E 20 74 68 65 20 41 6D 73 74 use on the Amst
0000E0: 72 61 64 20 43 50 43 20 34 36 34 20 6F 6E 6C 79 rad CPC 464 only
0000F0: 22 01 BF 00 4F 00 1E 00 BF 22 7C 53 43 41 4E 20 "...O...."|SCAN
000100: 20 2D 20 6C 69 73 74 20 74 6F 20 74 68 65 20 73 - list to the s
000110: 63 72 65 65 6E 20 74 68 6F 73 65 20 6C 69 6E 65 creen those line
000120: 73 20 74 68 61 74 20 77 69 6C 6C 20 6E 6F 74 20 s that will not
000130: 77 6F 72 6B 20 69 6E 20 42 41 53 49 43 20 31 2E work in BASIC 1.
000140: 30 22 00 32 00 28 00 BF 22 7C 53 43 41 4E 50 20 0".2.(.."|SCANP
000150: 2D 20 64 69 74 74 6F 2C 20 77 69 74 68 20 6F 75 - ditto, with ou
000160: 74 70 75 74 20 74 6F 20 74 68 65 20 70 72 69 6E tput to the prin
000170: 74 65 72 22 00 39 00 32 00 BF 22 7C 53 43 41 4E ter".9.2.."|SCAN
000180: 46 2C 40 66 69 6C 65 6E 61 6D 65 24 20 20 2D 20 F,@filename$ -
000190: 64 69 74 74 6F 2C 20 77 69 74 68 20 6F 75 74 70 ditto, with outp
0001A0: 75 74 20 74 6F 20 61 20 66 69 6C 65 22 00 06 00 ut to a file"...
0001B0: 3C 00 BF 00 2C 00 46 00 BF 22 7C 4C 49 53 54 20 <...,.F.."|LIST
0001C0: 20 2D 20 6C 69 73 74 20 61 6C 6C 20 6C 69 6E 65 - list all line
0001D0: 73 20 74 6F 20 74 68 65 20 73 63 72 65 65 6E 00 s to the screen.
0001E0: 32 00 50 00 BF 22 7C 4C 49 53 54 50 20 2D 20 64 2.P.."|LISTP - d
0001F0: 69 74 74 6F 2C 20 77 69 74 68 20 6F 75 74 70 75 itto, with outpu
Size : 512 (Real : 512)
000000: 29 20 53 74 65 70 68 65 6E 20 50 68 69 6C 6C 69 ) Stephen Philli
000010: 70 73 20 31 39 39 35 0D 0A 41 6D 73 74 72 61 64 ps 1995..Amstrad
000020: 20 43 50 43 20 76 65 72 73 69 6F 6E 20 28 63 29 CPC version (c)
000030: 20 4D 61 74 74 68 65 77 20 61 6E 64 20 53 74 65 Matthew and Ste
000040: 70 68 65 6E 20 50 68 69 6C 6C 69 70 73 20 31 39 phen Phillips 19
000050: 39 37 0D 0A 57 72 69 74 74 65 6E 20 75 73 69 6E 97..Written usin
000060: 67 20 74 68 65 20 48 69 53 6F 66 74 20 43 20 63 g the HiSoft C c
000070: 6F 6D 70 69 6C 65 72 2E 20 20 52 75 6E 74 69 6D ompiler. Runtim
000080: 65 20 72 6F 75 74 69 6E 65 73 20 28 63 29 20 48 e routines (c) H
000090: 69 53 6F 66 74 20 31 39 38 38 1A 61 64 65 72 20 iSoft 1988.ader
0000A0: 76 33 2E 32 0D 0A 4C 6F 6F 6D 20 69 73 20 61 20 v3.2..Loom is a
0000B0: 73 79 73 74 65 6D 20 66 6F 72 20 76 69 65 77 69 system for viewi
0000C0: 6E 67 20 68 79 70 65 72 74 65 78 74 3A 20 61 20 ng hypertext: a
0000D0: 73 65 74 20 6F 66 20 6F 72 64 69 6E 61 72 79 20 set of ordinary
0000E0: 74 65 78 74 20 66 69 6C 65 73 20 77 69 74 68 20 text files with
0000F0: 6C 69 6E 6B 73 0D 0A 62 65 74 77 65 65 6E 20 74 links..between t
000100: 6C 69 6E 6B 2C 0D 0A 70 72 65 73 73 20 74 68 65 link,..press the
000110: 20 22 3C 22 20 6B 65 79 20 6F 72 20 74 68 65 20 "<" key or the
000120: 22 42 22 20 6B 65 79 20 74 6F 20 72 65 74 75 72 "B" key to retur
000130: 6E 20 74 6F 20 77 68 65 72 65 20 79 6F 75 20 63 n to where you c
000140: 61 6D 65 20 66 72 6F 6D 2E 0D 0A 0D 0A 54 6F 20 ame from.....To
000150: 71 75 69 74 20 4C 6F 6F 6D 2C 20 70 72 65 73 73 quit Loom, press
000160: 20 22 51 22 2E 20 20 20 20 20 20 20 20 20 20 20 "Q".
000170: 20 20 20 20 20 20 54 6F 20 6C 65 61 76 65 20 74 To leave t
000180: 68 69 73 20 68 65 6C 70 20 73 63 72 65 65 6E 2C his help screen,
000190: 20 70 72 65 73 73 20 22 42 22 0D 0A 2D 2D 2D 2D press "B"..----
0001A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001E0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A 4F 72 69 -----------..Ori
0001F0: 67 69 6E 61 6C 20 76 65 72 73 69 6F 6E 20 28 63 ginal version (c
Size : 512 (Real : 512)
000000: 44 31 31 30 44 31 31 38 36 46 43 0D 0A 20 39 37 D110D1186FC.. 97
000010: 30 20 44 41 54 41 20 46 32 35 32 34 35 43 44 34 0 DATA F25245CD4
000020: 32 37 32 36 35 36 31 36 42 30 44 38 41 34 39 35 27265616B0D8A495
000030: 31 42 0D 0A 20 39 38 30 20 44 41 54 41 20 34 34 1B.. 980 DATA 44
000040: 34 35 35 32 44 32 37 32 34 34 34 35 34 33 41 34 4552D272444543A4
000050: 37 45 34 33 34 46 34 39 46 0D 0A 20 39 39 30 20 7E434F49F.. 990
000060: 44 41 54 41 20 35 30 35 39 34 33 34 38 35 32 41 DATA 5059434852A
000070: 34 44 44 34 36 34 39 34 43 43 43 44 45 35 38 43 4DD46494CCCDE58C
000080: 0D 0A 20 31 30 30 30 20 44 41 54 41 20 34 37 35 .. 1000 DATA 475
000090: 32 34 31 35 30 34 38 34 39 34 33 44 33 44 46 34 24150484943D3DF4
0000A0: 44 34 31 35 33 34 39 31 0D 0A 20 31 30 31 30 20 D4153491.. 1010
0000B0: 44 41 54 41 20 43 42 45 30 34 36 35 32 34 31 34 DATA CBE04652414
0000C0: 44 43 35 45 31 34 33 35 35 35 32 35 33 35 42 34 DC5E1435552535B4
0000D0: 0D 0A 20 31 30 32 30 20 44 41 54 41 20 34 46 44 .. 1020 DATA 4FD
0000E0: 32 46 46 41 46 43 42 31 32 31 37 42 31 32 38 30 2FFAFCB1217B1280
0000F0: 39 30 45 30 32 34 42 35 0D 0A 20 31 30 33 30 20 90E024B5.. 1030
000100: 44 41 54 41 20 45 36 30 31 43 36 33 30 43 44 45 DATA E601C630CDE
000110: 43 39 30 31 30 45 45 43 39 42 31 43 38 37 36 36 C9010EEC9B1C8766
000120: 0D 0A 20 31 30 34 30 20 44 41 54 41 20 30 45 32 .. 1040 DATA 0E2
000130: 30 45 36 30 46 46 35 43 44 44 43 39 34 46 31 43 0E60FF5CDDC94F1C
000140: 39 37 45 42 37 37 34 34 0D 0A 20 31 30 35 30 20 97EB7744.. 1050
000150: 44 41 54 41 20 43 38 32 33 46 45 32 32 32 30 46 DATA C823FE2220F
000160: 38 43 39 37 45 42 37 43 38 32 33 46 35 37 30 31 8C97EB7C823F5701
000170: 0D 0A 20 31 30 36 30 20 44 41 54 41 20 43 44 45 .. 1060 DATA CDE
000180: 43 39 30 46 31 46 45 32 32 32 30 46 33 43 39 37 C90F1FE2220F3C97
000190: 45 32 33 42 37 37 38 45 0D 0A 20 31 30 37 30 20 E23B778E.. 1070
0001A0: 44 41 54 41 20 46 32 38 39 39 34 43 39 37 45 32 DATA F28994C97E2
0001B0: 33 42 37 46 41 39 44 39 34 46 45 30 39 37 36 32 3B7FA9D94FE09762
0001C0: 0D 0A 20 31 30 38 30 20 44 41 54 41 20 43 34 45 .. 1080 DATA C4E
0001D0: 43 39 30 31 38 46 33 45 36 37 46 43 33 45 43 39 C9018F3E67FC3EC9
0001E0: 30 30 36 30 34 36 46 39 0D 0A 20 31 30 39 30 20 006046F9.. 1090
0001F0: 44 41 54 41 20 30 45 30 30 44 44 32 31 43 39 39 DATA 0E00DD21C99
Size : 512 (Real : 512)
000000: ED 6F 2B ED 6F CD C8 94 ED 6F 0E 20 CD C8 94 ED .o+.o....o. ....
000010: 6F 23 23 C3 CF 92 FE 1D 20 10 5E 23 56 23 E5 EB o##..... .^#V#..
000020: 23 23 23 5E 23 56 EB C3 28 93 FE 1F 20 25 11 C2 ###^#V..(... %..
000030: B0 01 05 00 ED B0 3E 05 32 C1 B0 E5 0E 00 CD 0F ......>.2.......
000040: B9 C5 CD 9D EE C1 CD 18 B9 21 5E AE CD DD 94 E1 .........!^.....
000050: C3 CF 92 FE 22 20 09 CD EC 90 CD DD 94 C3 CF 92 ...." ..........
000060: FE 7C 30 06 CD EC 90 C3 CF 92 20 0A CD EC 90 23 .|0....... ....#
000070: CD F2 94 C3 CF 92 FE FF 20 02 7E 23 FE C0 20 10 ........ .~#.. .
000080: 3E 27 CD EC 90 7E B7 CA CF 92 23 CD EC 90 18 F5 >'...~....#.....
000090: FE C5 20 0A E5 21 77 94 CD F2 94 E1 18 E7 E5 21 .. ..!w........!
0000A0: 81 94 BE 23 38 13 20 07 CD F2 94 E1 C3 CF 92 F5 ...#8. .........
0000B0: 7E 23 E6 80 28 FA F1 18 E9 0E 00 F5 CD 0F B9 F1 ~#..(...........
0000C0: C5 06 1B 21 88 E3 E5 F5 7E 23 B7 28 24 18 03 7E ...!....~#.($..~
0000D0: 23 B7 F2 4F 94 F1 BE 28 04 D1 23 18 E9 78 C6 3F #..O...(..#..x.?
0000E0: FE 40 C4 EC 90 E1 CD F2 94 C1 CD 18 B9 E1 C3 CF .@..............
0000F0: 92 F1 D1 10 D1 18 F2 52 45 CD 42 72 65 61 6B 0D .......RE.Break.
000100: 8A 49 44 45 52 D2 72 44 45 43 A4 7E 43 4F 50 59 .IDER.rDEC.~COPY
000110: 43 48 52 A4 DD 46 49 4C CC DE 47 52 41 50 48 49 CHR..FIL..GRAPHI
000120: 43 D3 DF 4D 41 53 CB E0 46 52 41 4D C5 E1 43 55 C..MAS..FRAM..CU
000130: 52 53 4F D2 FF AF CB 12 17 B1 28 09 0E 02 E6 01 RSO.......(.....
000140: C6 30 CD EC 90 10 EE C9 B1 C8 0E 20 E6 0F F5 CD .0......... ....
000150: 3E 95 F1 C9 7E B7 C8 23 FE 22 20 F8 C9 7E B7 C8 >...~..#." ..~..
000160: 23 F5 CD EC 90 F1 FE 22 20 F3 C9 7E 23 B7 F2 EB #......" ..~#...
000170: 94 C9 7E 23 B7 FA FF 94 FE 09 C4 EC 90 18 F3 E6 ..~#............
000180: 7F C3 EC 90 06 04 0E 00 DD 21 2B 95 DD 5E 00 DD .........!+..^..
000190: 56 01 DD 23 DD 23 AF ED 52 3C 30 FB 19 3D DD E5 V..#.#..R<0..=..
0001A0: CD 33 95 DD E1 10 E5 7D C3 39 95 10 27 E8 03 64 .3.....}.9..'..d
0001B0: 00 0A 00 B1 C8 0E 20 E6 0F C6 30 C3 EC 90 C6 90 ...... ...0.....
0001C0: 27 CE 40 27 C3 EC 90 00 00 00 00 00 00 00 00 00 '.@'............
0001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 91 FE 23 28 EA CD AB 91 79 FE 02 D2 8D 92 18 91 ..#(....y.......
000010: FE 7C 20 0B 23 CD E1 92 16 FF CD AB 91 18 82 2B .| .#..........+
000020: 16 00 18 F6 7E FE 20 C0 23 18 F9 0E 01 7E B7 C8 ....~. .#....~..
000030: 23 FE 01 C8 FE 28 20 0E CD 27 92 FE 29 28 EE ED #....( ..'..)(..
000040: 7B 3A 93 C3 8D 92 FE 29 28 F5 FE 2C 20 09 0C A2 {:.....)(.., ...
000050: E5 C4 DC 91 E1 18 D6 CD 3F 92 18 D1 7E B7 C8 23 ........?...~..#
000060: FE 01 C8 FE 28 28 F5 FE 20 28 F1 FE F4 28 ED FE ....((.. (...(..
000070: 22 28 10 FE 03 28 0C FE AC 28 08 FE E4 20 0B 7E "(...(...(... .~
000080: FE 03 C0 ED 7B 3A 93 C3 8D 92 FE FF C0 46 21 1B ....{:.......F!.
000090: 92 7E B8 28 EE 23 7E B7 20 F8 C9 03 11 16 19 1C .~.(.#~. .......
0000A0: 43 71 73 75 79 7B 00 7E B7 C8 FE 01 C8 23 FE 29 Cqsuy{.~.....#.)
0000B0: C8 FE 28 20 05 CD 27 92 18 ED CD 3F 92 18 E8 FE ..( ..'....?....
0000C0: 0E 30 06 23 23 CD E1 92 C9 FE 18 D8 23 FE 19 C8 .0.##.......#...
0000D0: 23 FE 1F D8 20 04 23 23 23 C9 2B 2B FE 22 20 03 #... .###.++." .
0000E0: C3 D8 92 FE 7C D8 20 06 ED 7B 3A 93 18 1F FE FF ....|. ..{:.....
0000F0: 20 02 7E 23 E5 CD 7A 92 E1 C9 21 A4 92 BE 28 09 .~#..z...!...(.
000100: D8 23 F5 CD E1 92 F1 18 F4 ED 7B 3A 93 2A 34 93 .#........{:.*4.
000110: CD FA 92 3E 0D CD B8 90 3E 0A C3 B8 90 42 72 65 ...>....>....Bre
000120: 61 6B 0D 8A 49 44 45 52 D2 72 44 45 43 A4 7E 43 ak..IDER.rDEC.~C
000130: 4F 50 59 43 48 52 A4 DD 46 49 4C CC DE 47 52 41 OPYCHR..FIL..GRA
000140: 50 48 49 43 D3 DF 4D 41 53 CB E0 46 52 41 4D C5 PHIC..MAS..FRAM.
000150: E1 43 55 52 53 4F D2 FF 7E B7 C8 23 FE 22 20 F8 .CURSO..~..#." .
000160: C9 7E 23 B7 F2 E1 92 C9 7E 23 B7 FA F5 92 FE 09 .~#.....~#......
000170: C4 B8 90 18 F3 E6 7F C3 B8 90 06 04 0E 00 DD 21 ...............!
000180: 21 93 DD 5E 00 DD 56 01 DD 23 DD 23 AF ED 52 3C !..^..V..#.#..R<
000190: 30 FB 19 3D DD E5 CD 29 93 DD E1 10 E5 7D C3 2F 0..=...).....}./
0001A0: 93 10 27 E8 03 64 00 0A 00 B1 C8 0E 20 E6 0F C6 ..'..d...... ...
0001B0: 30 C3 B8 90 00 00 00 00 00 00 00 00 00 00 00 00 0...............
0001C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 74 20 74 6F 20 74 68 65 20 70 72 69 6E 74 65 72 t to the printer
000010: 22 00 39 00 5A 00 BF 22 7C 4C 49 53 54 46 2C 40 ".9.Z.."|LISTF,@
000020: 66 69 6C 65 6E 61 6D 65 24 20 20 2D 20 64 69 74 filename$ - dit
000030: 74 6F 2C 20 77 69 74 68 20 6F 75 74 70 75 74 20 to, with output
000040: 74 6F 20 61 20 66 69 6C 65 22 00 06 00 64 00 BF to a file"...d..
000050: 00 00 00 1A 00 00 00 00 00 00 00 00 00 00 00 00 ................
000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000080: 35 39 20 61 30 36 20 38 38 37 39 0D 0A 42 20 61 59 a06 8879..B a
000090: 30 36 20 32 39 39 33 20 32 39 39 37 20 61 30 36 06 2993 2997 a06
0000A0: 20 38 30 39 38 0D 0A 42 20 61 30 36 20 33 30 30 8098..B a06 300
0000B0: 32 20 33 30 30 32 20 61 30 36 20 38 30 39 38 0D 2 3002 a06 8098.
0000C0: 0A 42 20 61 30 37 20 33 35 31 20 33 35 39 20 61 .B a07 351 359 a
0000D0: 30 37 20 37 38 33 39 0D 0A 42 20 61 30 37 20 32 07 7839..B a07 2
0000E0: 31 38 34 20 32 31 39 32 20 61 30 37 20 37 38 33 184 2192 a07 783
0000F0: 39 0D 0A 42 20 61 30 37 20 34 32 31 34 20 34 32 9..B a07 4214 42
000100: 32 32 20 61 30 37 20 39 31 33 30 0D 0A 42 20 61 22 a07 9130..B a
000110: 30 38 20 35 34 39 20 35 35 36 20 61 30 38 20 31 08 549 556 a08 1
000120: 30 33 33 33 0D 0A 42 20 61 30 38 20 36 31 34 20 0333..B a08 614
000130: 36 31 38 20 61 30 38 20 39 34 33 31 0D 0A 42 20 618 a08 9431..B
000140: 61 30 39 20 35 39 36 20 36 32 31 20 61 30 39 20 a09 596 621 a09
000150: 38 34 37 33 0D 0A 42 20 61 31 30 20 34 38 35 32 8473..B a10 4852
000160: 20 34 38 35 38 20 61 31 30 20 39 38 32 38 0D 0A 4858 a10 9828..
000170: 42 20 61 31 30 20 39 32 38 32 20 39 32 39 34 20 B a10 9282 9294
000180: 61 31 30 20 31 30 31 30 31 0D 0A 42 20 61 31 31 a10 10101..B a11
000190: 20 34 35 31 20 34 35 39 20 61 31 31 20 38 31 33 451 459 a11 813
0001A0: 31 0D 0A 42 20 61 31 31 20 35 33 32 20 35 34 30 1..B a11 532 540
0001B0: 20 61 31 31 20 39 30 37 39 0D 0A 42 20 61 31 32 a11 9079..B a12
0001C0: 20 33 38 31 30 20 33 38 31 38 20 61 31 32 20 31 3810 3818 a12 1
0001D0: 30 35 31 31 0D 0A 42 20 61 31 32 20 38 34 35 34 0511..B a12 8454
0001E0: 20 38 34 36 30 20 61 31 32 20 31 31 37 36 38 0D 8460 a12 11768.
0001F0: 0A 42 20 61 31 33 20 32 30 37 35 20 32 30 38 33 .B a13 2075 2083
Size : 512 (Real : 512)
000000: 00 53 43 41 4E 36 31 32 38 42 41 53 00 00 00 00 .SCAN6128BAS....
000010: 00 00 00 00 00 70 01 00 37 01 00 00 00 00 00 00 .....p..7.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 37 01 00 AD 03 4E 46 2C 40 66 69 6C 65 6E 61 6D 7....NF,@filenam
000050: 65 24 20 20 2D 20 64 69 74 74 6F 2C 20 77 69 74 e$ - ditto, wit
000060: 68 20 6F 75 74 70 75 74 20 74 6F 20 61 20 66 69 h output to a fi
000070: 6C 65 22 00 06 00 3C 00 BF 00 00 00 1A E1 10 E5 le"...<.........
000080: 22 00 0A 00 AD 20 10 01 AA 20 1C FF 8F 01 A8 22 ".... ... ....."
000090: 73 63 61 6E 36 31 32 38 2E 62 69 6E 22 2C 1C 00 scan6128.bin",..
0000A0: 90 00 4B 00 14 00 83 20 1C 00 90 01 BF 22 53 63 ..K.... ....."Sc
0000B0: 61 6E 20 36 31 32 38 20 6C 6F 61 64 65 64 20 61 an 6128 loaded a
0000C0: 6E 64 20 69 6E 73 74 61 6C 6C 65 64 20 2D 20 66 nd installed - f
0000D0: 6F 72 20 75 73 65 20 6F 6E 20 61 6E 79 20 41 6D or use on any Am
0000E0: 73 74 72 61 64 20 43 50 43 22 01 BF 00 57 00 1E strad CPC"...W..
0000F0: 00 BF 22 7C 53 43 41 4E 20 20 2D 20 70 72 69 6E .."|SCAN - prin
000100: 74 73 20 74 68 65 20 6C 69 6E 65 20 6E 75 6D 62 ts the line numb
000110: 65 72 73 20 6F 66 20 74 68 6F 73 65 20 6C 69 6E ers of those lin
000120: 65 73 20 74 68 61 74 20 77 69 6C 6C 20 6E 6F 74 es that will not
000130: 20 77 6F 72 6B 20 69 6E 20 42 41 53 49 43 20 31 work in BASIC 1
000140: 2E 30 22 00 32 00 28 00 BF 22 7C 53 43 41 4E 50 .0".2.(.."|SCANP
000150: 20 2D 20 64 69 74 74 6F 2C 20 77 69 74 68 20 6F - ditto, with o
000160: 75 74 70 75 74 20 74 6F 20 74 68 65 20 70 72 69 utput to the pri
000170: 6E 74 65 72 22 00 39 00 32 00 BF 22 7C 53 43 41 nter".9.2.."|SCA
000180: 4E 46 2C 40 66 69 6C 65 6E 61 6D 65 24 20 20 2D NF,@filename$ -
000190: 20 64 69 74 74 6F 2C 20 77 69 74 68 20 6F 75 74 ditto, with out
0001A0: 70 75 74 20 74 6F 20 61 20 66 69 6C 65 22 00 06 put to a file"..
0001B0: 00 3C 00 BF 00 00 00 1A E1 10 E5 7D C3 CD 92 10 .<.........}....
0001C0: 27 E8 03 64 00 0A 00 B1 C8 0E 20 E6 0F C6 30 C3 '..d...... ...0.
0001D0: B8 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Size : 512 (Real : 512)
000000: 00 53 43 41 4E 34 36 34 20 42 49 4E 00 00 00 00 .SCAN464 BIN....
000010: 00 00 02 00 00 00 90 00 52 05 00 00 00 00 00 00 ........R.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 52 05 00 FC 03 00 00 00 00 00 00 00 00 00 00 00 R...............
000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000080: 01 0D 90 21 09 90 C3 D1 BC 00 00 00 00 21 90 C3 ...!.........!..
000090: 3E 90 C3 43 90 C3 48 90 C3 53 90 C3 58 90 C3 5D >..C..H..S..X..]
0000A0: 90 53 43 41 CE 53 43 41 4E C6 53 43 41 4E D0 4C .SCA.SCAN.SCAN.L
0000B0: 49 53 D4 4C 49 53 54 C6 4C 49 53 54 D0 00 CD 96 IS.LIST.LIST....
0000C0: 90 18 08 CD AA 90 18 03 CD 9B 90 21 51 91 22 92 ...........!Q.".
0000D0: 90 18 20 CD 96 90 18 08 CD AA 90 18 03 CD 9B 90 .. .............
0000E0: 21 C1 92 22 92 90 18 0B 3E 42 06 FC CD 27 BB 00 !.."....>B...'..
0000F0: C3 8F BC 2A 4B 95 5E 23 56 2B 7A B3 28 EA E5 19 ...*K.^#V+z.(...
000100: 22 4B 95 E1 23 23 5E 23 56 23 ED 53 47 95 22 49 "K..##^#V#.SG."I
000110: 95 CD C1 92 18 DD 21 2B 91 18 03 21 EF 90 CD CE ......!+...!....
000120: 90 22 ED 90 3E C9 32 6F 90 C9 CD CE 90 21 48 91 ."..>.2o.....!H.
000130: 22 ED 90 3D 20 5E 32 6F 90 DD 6E 00 DD 66 01 46 "..= ^2o..n..f.F
000140: 23 5E 23 56 EB 11 51 95 CD 8C BC D8 18 46 D1 C1 #^#V..Q......F..
000150: ED 73 4F 95 C5 D5 11 70 01 ED 53 4B 95 F5 E5 3E .sO....p..SK...>
000160: 42 06 C0 CD 27 BB CD 48 BB E1 F1 C9 C3 EF 90 C5 B...'..H........
000170: 47 CD 2B BD 78 C1 38 36 F5 CD 8A BB CD 1B BB 30 G.+.x.86.......0
000180: 1A FE C0 20 16 CD 8D BB 21 5A BB 22 ED 90 21 7A ... ....!Z."..!z
000190: 94 CD F2 94 ED 7B 4F 95 C3 68 90 CD 2E BD 38 DC .....{O..h....8.
0001A0: CD 8D BB F1 F5 CD 31 BD F1 18 03 CD 5A BB FE 0A ......1.....Z...
0001B0: C0 CD 1B BB D0 FE C0 C0 CD 8A BB CD 18 BB F5 CD ................
0001C0: 8D BB F1 FE C0 C0 18 C0 CD 95 BC D8 CD 92 BC 18 ................
0001D0: C3 ED 73 4D 95 16 00 7E B7 C8 23 FE C5 C8 FE C0 ..sM...~..#.....
0001E0: C8 FE 86 20 0A CD D8 91 FE A3 CA C1 92 18 0C FE ... ............
0001F0: B3 20 0D CD D8 91 FE 8B CA C1 92 CD DF 91 18 D5 . ..............
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: FE 94 28 0C FE 95 28 08 FE BC 28 04 FE BD 20 0B ..(...(...(... .
000010: CD DF 91 79 FE 04 D2 C1 92 18 BA FE AE 28 04 FE ...y.........(..
000020: AF 20 0B CD DF 91 79 FE 03 D2 C1 92 18 A7 FE BB . ....y.........
000030: 20 12 CD D8 91 FE 23 28 EA CD DF 91 79 FE 02 D2 .....#(....y...
000040: C1 92 18 91 FE 7C 20 0B 23 CD EB 94 16 FF CD DF .....| .#.......
000050: 91 18 82 2B 16 00 18 F6 7E FE 20 C0 23 18 F9 0E ...+....~. .#...
000060: 01 7E B7 C8 23 FE 01 C8 FE 28 20 0E CD 5B 92 FE .~..#....( ..[..
000070: 29 28 EE ED 7B 4D 95 C3 C1 92 FE 29 28 F5 FE 2C )(..{M.....)(..,
000080: 20 09 0C A2 E5 C4 10 92 E1 18 D6 CD 73 92 18 D1 ...........s...
000090: 7E B7 C8 23 FE 01 C8 FE 28 28 F5 FE 20 28 F1 FE ~..#....((.. (..
0000A0: F4 28 ED FE 22 28 10 FE 03 28 0C FE AC 28 08 FE .(.."(...(...(..
0000B0: E4 20 0B 7E FE 03 C0 ED 7B 4D 95 C3 C1 92 FE FF . .~....{M......
0000C0: C0 46 21 4F 92 7E B8 28 EE 23 7E B7 20 F8 C9 03 .F!O.~.(.#~. ...
0000D0: 11 16 19 1C 43 71 73 75 79 7B 00 7E B7 C8 FE 01 ....Cqsuy{.~....
0000E0: C8 23 FE 29 C8 FE 28 20 05 CD 5B 92 18 ED CD 73 .#.)..( ..[....s
0000F0: 92 18 E8 FE 0E 30 06 23 23 CD EB 94 C9 FE 18 D8 .....0.##.......
000100: 23 FE 19 C8 23 FE 1F D8 20 04 23 23 23 C9 2B 2B #...#... .###.++
000110: FE 22 20 03 C3 D4 94 FE 7C D8 20 06 ED 7B 4D 95 ." .....|. ..{M.
000120: 18 1F FE FF 20 02 7E 23 E5 CD AE 92 E1 C9 21 81 .... .~#......!.
000130: 94 BE 28 09 D8 23 F5 CD EB 94 F1 18 F4 ED 7B 4D ..(..#........{M
000140: 95 2A 47 95 CD 04 95 3E 20 CD EC 90 2A 49 95 7E .*G....> ...*I.~
000150: B7 20 0A 3E 0D CD EC 90 3E 0A C3 EC 90 23 FE 01 . .>....>....#..
000160: 20 14 7E 23 FE 97 CA FC 93 FE C0 CA FC 93 2B 3E .~#..........+>
000170: 3A CD EC 90 18 D9 FE 04 20 02 3C 3C FE 0E 30 13 :....... .<<..0.
000180: 47 23 23 CD F2 94 78 FE 07 30 C4 3E 27 90 CD EC G##...x..0.>'...
000190: 90 18 BC FE 18 30 07 C6 22 CD EC 90 18 B1 FE 19 .....0..".......
0001A0: 20 0C 7E 23 E5 6F 26 00 CD 04 95 E1 18 A1 FE 1A .~#.o&.........
0001B0: 28 04 FE 1E 20 08 5E 23 56 23 E5 EB 18 EA FE 1B (... .^#V#......
0001C0: 20 27 3E 26 CD EC 90 3E 58 CD EC 90 5E 23 56 23 '>&...>X...^#V#
0001D0: 0E 00 06 08 CD B5 94 06 07 53 CD B5 94 AF CB 12 .........S......
0001E0: 17 C6 30 CD EC 90 C3 CF 92 FE 1C 20 29 3E 26 CD ..0........ )>&.
0001F0: EC 90 0E 00 AF 23 ED 6F CD C8 94 ED 6F CD C8 94 .....#.o....o...
Size : 512 (Real : 512)
000000: 00 53 43 41 4E 36 31 32 38 42 49 4E 00 00 00 00 .SCAN6128BIN....
000010: 00 00 02 00 00 00 90 00 3F 03 00 00 00 00 00 00 ........?.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 3F 03 00 E5 03 00 00 00 00 00 00 00 00 00 00 00 ?...............
000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000080: 01 0D 90 21 09 90 C3 D1 BC 00 00 00 00 18 90 C3 ...!............
000090: 32 90 C3 37 90 C3 3C 90 53 43 41 CE 53 43 41 4E 2..7..<.SCA.SCAN
0000A0: C6 53 43 41 4E D0 00 3E 42 06 FC CD 27 BB 00 C3 .SCAN..>B...'...
0000B0: 8F BC CD 62 90 18 08 CD 76 90 18 03 CD 67 90 2A ...b....v....g.*
0000C0: 38 93 5E 23 56 2B 7A B3 28 DD E5 19 22 38 93 E1 8.^#V+z.(..."8..
0000D0: 23 23 5E 23 56 23 ED 53 34 93 22 36 93 CD 1D 91 ##^#V#.S4."6....
0000E0: 18 DD 21 F7 90 18 03 21 BB 90 CD 9A 90 22 B9 90 ..!....!....."..
0000F0: 3E C9 32 2E 90 C9 CD 9A 90 21 14 91 22 B9 90 3D >.2......!.."..=
000100: 20 5E 32 2E 90 DD 6E 00 DD 66 01 46 23 5E 23 56 ^2...n..f.F#^#V
000110: EB 11 3E 93 CD 8C BC D8 18 46 D1 C1 ED 73 3C 93 ..>......F...s<.
000120: C5 D5 11 70 01 ED 53 38 93 F5 E5 3E 42 06 C0 CD ...p..S8...>B...
000130: 27 BB CD 48 BB E1 F1 C9 C3 BB 90 C5 47 CD 2B BD '..H........G.+.
000140: 78 C1 38 36 F5 CD 8A BB CD 1B BB 30 1A FE C0 20 x.86.......0...
000150: 16 CD 8D BB 21 5A BB 22 B9 90 21 9D 92 CD E8 92 ....!Z."..!.....
000160: ED 7B 3C 93 C3 27 90 CD 2E BD 38 DC CD 8D BB F1 .{<..'....8.....
000170: F5 CD 31 BD F1 18 03 CD 5A BB FE 0A C0 CD 1B BB ..1.....Z.......
000180: D0 FE C0 C0 CD 8A BB CD 18 BB F5 CD 8D BB F1 FE ................
000190: C0 C0 18 C0 CD 95 BC D8 CD 92 BC 18 C3 ED 73 3A ..............s:
0001A0: 93 16 00 7E B7 C8 23 FE C5 C8 FE C0 C8 FE 86 20 ...~..#........
0001B0: 0A CD A4 91 FE A3 CA 8D 92 18 0C FE B3 20 0D CD ............. ..
0001C0: A4 91 FE 8B CA 8D 92 CD AB 91 18 D5 FE 94 28 0C ..............(.
0001D0: FE 95 28 08 FE BC 28 04 FE BD 20 0B CD AB 91 79 ..(...(... ....y
0001E0: FE 04 D2 8D 92 18 BA FE AE 28 04 FE AF 20 0B CD .........(... ..
0001F0: AB 91 79 FE 03 D2 8D 92 18 A7 FE BB 20 12 CD A4 ..y......... ...
Size : 512 (Real : 512)
000000: 00 54 55 4E 45 20 20 20 20 42 41 53 00 00 00 00 .TUNE BAS....
000010: 00 00 00 00 00 70 01 00 63 07 00 00 00 00 00 00 .....p..c.......
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 63 07 00 D7 03 00 94 02 8C 20 26 39 30 2C 36 39 c........ &90,69
000050: 2C 30 2C 26 39 31 2C 35 37 2C 30 2C 36 34 2C 30 ,0,&91,57,0,64,0
000060: 00 23 00 99 02 8C 20 26 39 30 2C 37 31 2C 34 30 .#.... &90,71,40
000070: 2C 26 39 31 2C 35 32 2C 34 30 2C 36 37 2C 34 30 ,&91,52,40,67,40
000080: 16 00 05 00 A1 20 FF 12 28 1C 00 9D 29 EF 0F 20 ..... ..(...)..
000090: EB 20 1E 2C 01 00 12 00 0A 00 CF 20 80 20 1A 00 . .,....... . ..
0000A0: 01 01 AA 20 1C FF 9C 00 1F 00 14 00 C7 20 1E 64 ... ......... .d
0000B0: 00 01 0D 00 00 65 F2 EF 0E 01 0D 00 00 61 64 64 .....e.......add
0000C0: F2 EF FF 42 F4 0F 00 24 00 1E 00 9E 20 02 00 00 ...B...$.... ...
0000D0: E9 EF 0E 20 EC 20 19 0E 01 C3 20 03 00 00 63 6F ... . .... ...co
0000E0: E4 01 02 00 00 63 68 EB EF 0E 00 34 00 28 00 9E .....ch....4.(..
0000F0: 20 02 00 00 EA EF 0E 20 EC 20 19 0B 01 02 00 00 ...... . ......
000100: E1 EF FF 1D 28 22 26 22 F4 AC 28 03 00 00 63 6F ....("&"..(...co
000110: E4 2C 02 00 00 EA F6 10 F4 0F 2C 10 29 29 00 3A .,........,.)).:
000120: 00 32 00 BE 20 0D 00 00 61 64 64 F2 2C 02 00 00 .2.. ...add.,...
000130: E1 01 02 00 00 63 68 EB EF 02 00 00 63 68 EB F4 .....ch.....ch..
000140: 02 00 00 E1 01 0D 00 00 61 64 64 F2 EF 0D 00 00 ........add.....
000150: 61 64 64 F2 F4 0F 01 B0 00 49 00 3C 00 A1 20 02 add......I.<.. .
000160: 00 00 63 68 EB F2 FF 1D 28 22 26 22 F4 FF 79 28 ..ch....("&"..y(
000170: 03 00 00 63 6F E4 2C 11 29 29 20 EB 20 BF 22 45 ...co.,.)) . ."E
000180: 72 72 6F 72 20 69 6E 20 6C 69 6E 65 22 3B 02 00 rror in line";..
000190: 00 E9 F6 19 0A F4 19 64 01 0D 00 00 65 F2 EF F5 .......d....e...
0001A0: 0F 00 12 00 46 00 B0 01 A1 20 0D 00 00 65 F2 20 ....F.... ...e.
0001B0: EB 20 98 00 0B 00 50 00 83 20 FF 42 F4 0F 00 23 . ....P.. .B...#
0001C0: 00 5A 00 BF 22 7C 43 48 4F 55 54 20 61 6E 64 20 .Z.."|CHOUT and
0001D0: 7C 53 45 4E 44 20 69 6E 73 74 61 6C 6C 65 64 2E |SEND installed.
0001E0: 22 00 22 00 64 00 8C 20 30 31 30 39 39 44 32 31 ".".d.. 01099D21
0001F0: 31 42 39 44 43 33 44 31 42 43 31 31 39 44 43 33 1B9DC3D1BC119DC3
Size : 512 (Real : 512)
000000: 20 57 52 49 54 45 23 39 2C 6C 6B 28 79 2C 78 29 WRITE#9,lk(y,x)
000010: 3A 79 3D 6C 6B 28 79 2C 78 29 3A 78 3D 31 0D 0A :y=lk(y,x):x=1..
000020: 37 33 36 20 57 45 4E 44 3A 4E 45 58 54 0D 0A 37 736 WEND:NEXT..7
000030: 34 30 20 43 4C 4F 53 45 4F 55 54 3A 52 45 54 55 40 CLOSEOUT:RETU
000040: 52 4E 0D 0A 38 30 30 20 70 61 72 65 6E 74 3D 30 RN..800 parent=0
000050: 3A 63 77 6F 72 64 3D 72 69 28 30 29 3A 57 48 49 :cword=ri(0):WHI
000060: 4C 45 20 63 77 6F 72 64 3E 30 3A 70 61 72 65 6E LE cword>0:paren
000070: 74 3D 63 77 6F 72 64 0D 0A 38 31 30 20 49 46 20 t=cword..810 IF
000080: 77 6F 72 64 24 3D 77 24 28 70 61 72 65 6E 74 29 word$=w$(parent)
000090: 20 54 48 45 4E 20 52 45 54 55 52 4E 0D 0A 38 32 THEN RETURN..82
0000A0: 30 20 49 46 20 77 6F 72 64 24 3C 77 24 28 70 61 0 IF word$<w$(pa
0000B0: 72 65 6E 74 29 20 54 48 45 4E 20 63 77 6F 72 64 rent) THEN cword
0000C0: 3D 6C 65 28 70 61 72 65 6E 74 29 20 45 4C 53 45 =le(parent) ELSE
0000D0: 20 63 77 6F 72 64 3D 72 69 28 70 61 72 65 6E 74 cword=ri(parent
0000E0: 29 0D 0A 38 33 30 20 57 45 4E 44 3A 52 45 54 55 )..830 WEND:RETU
0000F0: 52 4E 0D 0A 38 34 30 20 49 46 20 77 6F 72 64 24 RN..840 IF word$
000100: 3C 77 24 28 70 61 72 65 6E 74 29 20 54 48 45 4E <w$(parent) THEN
000110: 20 6C 65 28 70 61 72 65 6E 74 29 3D 63 77 6F 72 le(parent)=cwor
000120: 64 20 45 4C 53 45 20 72 69 28 70 61 72 65 6E 74 d ELSE ri(parent
000130: 29 3D 63 77 6F 72 64 0D 0A 38 35 30 20 52 45 54 )=cword..850 RET
000140: 55 52 4E 0D 0A 39 30 30 20 6C 65 76 65 6C 3D 30 URN..900 level=0
000150: 3A 73 74 61 63 6B 28 6C 65 76 65 6C 29 3D 72 69 :stack(level)=ri
000160: 28 30 29 3A 64 24 3D 22 22 0D 0A 39 31 30 20 50 (0):d$=""..910 P
000170: 52 49 4E 54 20 54 41 42 28 6C 65 76 65 6C 2A 31 RINT TAB(level*1
000180: 36 2B 31 29 3B 64 24 3B 4C 45 46 54 24 28 77 24 6+1);d$;LEFT$(w$
000190: 28 73 74 61 63 6B 28 6C 65 76 65 6C 29 29 2C 31 (stack(level)),1
0001A0: 33 29 3B 0D 0A 39 32 30 20 49 46 20 6C 65 76 65 3);..920 IF leve
0001B0: 6C 3D 34 20 54 48 45 4E 20 39 35 30 0D 0A 39 33 l=4 THEN 950..93
0001C0: 30 20 49 46 20 6C 65 28 73 74 61 63 6B 28 6C 65 0 IF le(stack(le
0001D0: 76 65 6C 29 29 3C 3E 30 20 54 48 45 4E 20 64 24 vel))<>0 THEN d$
0001E0: 3D 22 4C 3A 22 3A 6C 65 76 65 6C 3D 6C 65 76 65 ="L:":level=leve
0001F0: 6C 2B 31 3A 73 74 61 63 6B 28 6C 65 76 65 6C 29 l+1:stack(level)
Size : 512 (Real : 512)
000000: 35 34 31 00 22 00 6E 00 8C 20 39 38 39 44 43 33 541.".n.. 989DC3
000010: 37 37 39 44 35 33 34 35 34 45 43 34 34 33 34 38 779D53454EC44348
000020: 34 46 35 39 30 00 22 00 78 00 8C 20 35 35 44 34 4F590.".x.. 55D4
000030: 30 30 30 30 30 30 30 30 30 30 43 33 33 37 39 44 0000000000C3379D
000040: 43 33 35 34 33 44 37 00 22 00 82 00 8C 20 39 44 C3543D7.".... 9D
000050: 43 33 33 37 39 44 43 33 35 34 39 44 43 33 34 33 C3379DC3549DC343
000060: 39 44 43 33 36 33 36 42 31 00 22 00 8C 00 8C 20 9DC3636B1."....
000070: 39 44 43 33 34 46 39 44 43 33 37 32 39 44 30 31 9DC34F9DC3729D01
000080: 45 43 46 38 33 45 30 33 36 34 34 00 22 00 96 00 ECF83E03644."...
000090: 8C 20 45 44 37 39 33 45 31 35 45 44 37 39 43 39 . ED793E15ED79C9
0000A0: 30 31 46 32 46 38 33 45 30 33 36 31 34 00 22 00 01F2F83E03614.".
0000B0: A0 00 8C 20 45 44 37 39 33 45 31 36 45 44 37 39 ... ED793E16ED79
0000C0: 43 39 30 31 45 30 46 38 31 38 46 32 36 43 43 00 C901E0F818F26CC.
0000D0: 22 00 AA 00 8C 20 30 31 45 45 46 38 46 35 45 44 ".... 01EEF8F5ED
0000E0: 37 38 45 36 30 32 32 38 46 41 46 31 30 44 37 34 78E60228FAF10D74
0000F0: 39 00 22 00 B4 00 8C 20 45 44 37 39 43 39 30 31 9.".... ED79C901
000100: 46 32 46 38 46 35 45 44 37 38 45 36 30 32 32 38 F2F8F5ED78E60228
000110: 37 38 34 00 22 00 BE 00 8C 20 46 41 46 31 30 43 784.".... FAF10C
000120: 45 44 37 39 43 39 30 31 45 30 46 38 31 38 45 46 ED79C901E0F818EF
000130: 46 45 38 30 34 00 22 00 C8 00 8C 20 30 31 43 30 FE804.".... 01C0
000140: 44 44 37 45 30 30 31 31 31 46 39 44 30 31 30 36 DD7E00111F9D0106
000150: 30 30 32 31 33 31 31 00 22 00 D2 00 8C 20 32 35 0021311.".... 25
000160: 39 44 42 37 32 30 30 34 45 44 42 30 31 38 39 32 9DB72004EDB01892
000170: 33 44 32 31 32 42 34 36 44 00 22 00 DC 00 8C 20 3D212B46D."....
000180: 39 44 32 38 46 36 32 31 33 31 39 44 31 38 46 31 9D28F621319D18F1
000190: 34 46 43 42 30 31 30 36 34 44 34 00 22 00 E6 00 4FCB01064D4."...
0001A0: 8C 20 30 30 44 44 30 39 34 37 44 44 32 42 44 44 . 00DD0947DD2BDD
0001B0: 32 42 44 44 37 45 30 30 43 35 35 35 44 00 22 00 2BDD7E00C555D.".
0001C0: F0 00 8C 20 43 44 32 32 39 44 43 31 31 30 46 32 ... CD229DC110F2
0001D0: 43 39 30 30 30 30 30 30 30 30 30 30 34 31 38 00 C90000000000418.
0001E0: 26 00 2C 01 7C 00 43 48 4F 55 D4 2C 0E 01 C5 20 &.,.|.CHOU.,...
0001F0: 31 20 66 6F 72 20 45 4D 52 2C 20 32 20 66 6F 72 1 for EMR, 2 for
Size : 512 (Real : 512)
000000: 3D 6C 65 28 73 74 61 63 6B 28 6C 65 76 65 6C 2D =le(stack(level-
000010: 31 29 29 3A 47 4F 53 55 42 20 39 31 30 0D 0A 39 1)):GOSUB 910..9
000020: 34 30 20 49 46 20 72 69 28 73 74 61 63 6B 28 6C 40 IF ri(stack(l
000030: 65 76 65 6C 29 29 3C 3E 30 20 54 48 45 4E 20 64 evel))<>0 THEN d
000040: 24 3D 22 52 3A 22 3A 6C 65 76 65 6C 3D 6C 65 76 $="R:":level=lev
000050: 65 6C 2B 31 3A 73 74 61 63 6B 28 6C 65 76 65 6C el+1:stack(level
000060: 29 3D 72 69 28 73 74 61 63 6B 28 6C 65 76 65 6C )=ri(stack(level
000070: 2D 31 29 29 3A 47 4F 53 55 42 20 39 31 30 0D 0A -1)):GOSUB 910..
000080: 39 35 30 20 6C 65 76 65 6C 3D 6C 65 76 65 6C 2D 950 level=level-
000090: 31 3A 52 45 54 55 52 4E 0D 0A 1A 00 00 00 00 00 1:RETURN........
0000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000C0: 06 0B 00 2E 02 54 55 52 4E 0D 0A 1A 20 20 20 24 .....TURN... $
0000D0: 24 24 FF 00 FF 00 00 0A 00 00 FE 0C 00 12 32 00 $$............2.
0000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000100: 3C 77 24 28 70 61 72 65 6E 74 29 20 54 48 45 4E <w$(parent) THEN
000110: 20 6C 65 28 70 61 72 65 6E 74 29 3D 63 77 6F 72 le(parent)=cwor
000120: 64 20 45 4C 53 45 20 72 69 28 70 61 72 65 6E 74 d ELSE ri(parent
000130: 29 3D 63 77 6F 72 64 0D 0A 38 35 30 20 52 45 54 )=cword..850 RET
000140: 55 52 4E 0D 0A 39 30 30 20 6C 65 76 65 6C 3D 30 URN..900 level=0
000150: 3A 73 74 61 63 6B 28 6C 65 76 65 6C 29 3D 72 69 :stack(level)=ri
000160: 28 30 29 3A 64 24 3D 22 22 0D 0A 39 31 30 20 50 (0):d$=""..910 P
000170: 52 49 4E 54 20 54 41 42 28 6C 65 76 65 6C 2A 31 RINT TAB(level*1
000180: 36 2B 31 29 3B 64 24 3B 4C 45 46 54 24 28 77 24 6+1);d$;LEFT$(w$
000190: 28 73 74 61 63 6B 28 6C 65 76 65 6C 29 29 2C 31 (stack(level)),1
0001A0: 33 29 3B 0D 0A 39 32 30 20 49 46 20 6C 65 76 65 3);..920 IF leve
0001B0: 6C 3D 34 20 54 48 45 4E 20 39 35 30 0D 0A 39 33 l=4 THEN 950..93
0001C0: 30 20 49 46 20 6C 65 28 73 74 61 63 6B 28 6C 65 0 IF le(stack(le
0001D0: 76 65 6C 29 29 3C 3E 30 20 54 48 45 4E 20 64 24 vel))<>0 THEN d$
0001E0: 3D 22 4C 3A 22 3A 6C 65 76 65 6C 3D 6C 65 76 65 ="L:":level=leve
0001F0: 6C 2B 31 3A 73 74 61 63 6B 28 6C 65 76 65 6C 29 l+1:stack(level)
Size : 512 (Real : 512)
000000: 20 44 48 43 50 00 17 00 36 01 C7 20 1E F4 01 01 DHCP...6.. ....
000010: 0D 00 00 F4 EF 0F 01 9F 20 1E 90 01 00 0F 00 40 ........ ......@
000020: 01 9D 20 19 0C 20 9F 20 1E 90 01 00 10 00 4A 01 .. .. . ......J.
000030: D6 20 0D 00 00 F4 F2 19 64 01 D5 00 06 00 54 01 . ......d.....T.
000040: 98 00 1D 00 90 01 0D 00 00 F4 EF 0D 00 00 F4 F5 ................
000050: 0F 01 A1 20 0D 00 00 F4 EE 0E 20 EB 20 C9 00 0D ... ...... . ...
000060: 00 9A 01 DB 01 C3 20 0D 00 00 E1 00 19 00 A4 01 ...... .........
000070: D6 20 0D 00 00 E1 F0 0E 01 7C 00 53 45 4E C4 2C . .......|.SEN.,
000080: 0D 00 00 E1 00 0D 00 AE 01 C3 20 0D 00 00 E1 01 .......... .....
000090: D5 00 0F 00 B8 01 0D 00 00 F4 EF F5 0D 00 00 E1 ................
0000A0: 00 08 00 C2 01 DC 01 C9 00 23 00 F4 01 8C 20 26 .........#.... &
0000B0: 39 30 2C 36 34 2C 35 30 2C 26 39 31 2C 35 32 2C 90,64,50,&91,52,
0000C0: 34 30 2C 35 35 2C 34 30 2C 2D 34 00 18 00 FE 01 40,55,40,-4.....
0000D0: 8C 20 26 39 30 2C 36 34 2C 30 2C 36 34 2C 35 30 . &90,64,0,64,50
0000E0: 2C 2D 32 00 1D 00 08 02 8C 20 26 39 30 2C 36 34 ,-2...... &90,64
0000F0: 2C 30 2C 26 39 31 2C 35 32 2C 30 2C 35 35 2C 30 ,0,&91,52,0,55,0
000100: 00 23 00 0D 02 8C 20 26 39 30 2C 37 31 2C 35 30 .#.... &90,71,50
000110: 2C 26 39 31 2C 35 32 2C 34 30 2C 35 35 2C 34 30 ,&91,52,40,55,40
000120: 2C 2D 34 00 18 00 12 02 8C 20 26 39 30 2C 37 31 ,-4...... &90,71
000130: 2C 30 2C 37 31 2C 35 30 2C 2D 32 00 1D 00 1C 02 ,0,71,50,-2.....
000140: 8C 20 26 39 30 2C 37 31 2C 30 2C 26 39 31 2C 35 . &90,71,0,&91,5
000150: 32 2C 30 2C 35 35 2C 30 00 23 00 21 02 8C 20 26 2,0,55,0.#.!.. &
000160: 39 30 2C 36 36 2C 35 30 2C 26 39 31 2C 35 30 2C 90,66,50,&91,50,
000170: 34 30 2C 35 37 2C 34 30 2C 2D 33 00 18 00 26 02 40,57,40,-3...&.
000180: 8C 20 26 39 30 2C 36 36 2C 30 2C 36 37 2C 35 30 . &90,66,0,67,50
000190: 2C 2D 31 00 18 00 30 02 8C 20 26 39 30 2C 36 37 ,-1...0.. &90,67
0001A0: 2C 30 2C 36 36 2C 35 30 2C 2D 32 00 1D 00 3A 02 ,0,66,50,-2...:.
0001B0: 8C 20 26 39 30 2C 36 36 2C 30 2C 26 39 31 2C 35 . &90,66,0,&91,5
0001C0: 30 2C 30 2C 35 37 2C 30 00 23 00 3F 02 8C 20 26 0,0,57,0.#.?.. &
0001D0: 39 30 2C 36 34 2C 35 30 2C 26 39 31 2C 35 32 2C 90,64,50,&91,52,
0001E0: 34 30 2C 35 35 2C 34 30 2C 2D 36 00 26 00 44 02 40,55,40,-6.&.D.
0001F0: 8C 20 26 39 30 2C 36 34 2C 30 2C 26 39 31 2C 35 . &90,64,0,&91,5
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 32 30 20 2D 20 57 41 43 43 49 20 31 tch 20 - WACCI 1
000020: 32 39 2C 20 41 70 72 69 6C 20 31 39 39 39 0D 0A 29, April 1999..
000030: 20 20 20 50 52 4F 47 52 41 4D 4D 45 52 53 27 20 PROGRAMMERS'
000040: 50 41 54 43 48 20 32 30 0D 0A 20 20 20 42 79 20 PATCH 20.. By
000050: 4D 61 74 74 68 65 77 20 50 68 69 6C 6C 69 70 73 Matthew Phillips
000060: 0D 0A 0D 0A 20 20 20 49 66 20 77 65 20 77 61 6E .... If we wan
000070: 74 65 64 20 74 6F 20 67 65 6E 65 72 61 74 65 20 ted to generate
000080: 6E 75 6D 62 65 72 73 20 20 66 72 6F 6D 20 20 74 numbers from t
000090: 68 65 20 41 49 20 70 72 6F 67 72 61 6D 2C 20 74 he AI program, t
0000A0: 68 65 20 66 75 6E 63 74 69 6F 6E 20 63 6F 6D 65 he function come
0000B0: 73 0D 0A 20 20 20 69 6E 20 6F 75 72 20 61 72 72 s.. in our arr
0000C0: 61 79 20 6F 66 20 70 72 6F 62 61 62 69 6C 69 74 ay of probabilit
0000D0: 79 2E 20 20 20 59 6F 75 20 20 77 69 6C 6C 20 20 y. You will
0000E0: 67 65 6E 65 72 61 74 65 20 20 6E 75 6D 62 65 72 generate number
0000F0: 73 20 66 72 6F 6D 20 74 68 65 20 66 69 72 73 74 s from the first
000100: 0D 0A 20 20 20 6C 65 74 74 65 72 20 69 6E 20 61 .. letter in a
000110: 6C 70 68 61 62 65 74 69 63 61 6C 20 6F 72 64 65 lphabetical orde
000120: 72 20 74 6F 20 70 75 74 20 69 74 20 20 69 6E 20 r to put it in
000130: 61 20 66 75 6E 63 74 69 6F 6E 2E 20 20 4F 66 20 a function. Of
000140: 63 6F 75 72 73 65 2C 20 61 73 20 65 61 63 68 0D course, as each.
000150: 0A 20 20 20 77 6F 72 64 20 69 73 2C 20 69 74 20 . word is, it
000160: 6E 65 65 64 73 20 74 6F 20 6F 75 72 20 77 6F 72 needs to our wor
000170: 64 73 2E 20 20 20 45 76 65 72 79 20 20 74 69 6D ds. Every tim
000180: 65 20 77 65 20 73 74 6F 72 65 20 6D 6F 72 65 20 e we store more
000190: 6F 66 74 65 6E 20 74 68 61 6E 20 6E 6F 74 0D 0A often than not..
0001A0: 20 20 20 74 68 65 20 75 73 65 72 27 73 20 73 65 the user's se
0001B0: 6E 74 65 6E 63 65 73 2E 20 20 4C 69 6E 65 20 38 ntences. Line 8
0001C0: 30 30 20 69 73 20 71 75 69 74 65 20 20 63 6F 6D 00 is quite com
0001D0: 70 6C 69 63 61 74 65 64 2C 20 62 75 74 20 69 74 plicated, but it
0001E0: 20 68 61 73 20 74 6F 20 73 74 6F 72 65 0D 0A 20 has to store..
0001F0: 20 20 74 68 65 20 77 6F 72 64 73 20 69 6E 20 6F the words in o
Size : 512 (Real : 512)
000000: 49 4C 45 20 4C 45 46 54 24 28 61 24 2C 31 29 3D ILE LEFT$(a$,1)=
000010: 22 20 22 3A 61 24 3D 4D 49 44 24 28 61 24 2C 32 " ":a$=MID$(a$,2
000020: 29 3A 57 45 4E 44 3A 52 45 54 55 52 4E 0D 0A 34 ):WEND:RETURN..4
000030: 30 30 20 6A 3D 6C 6B 28 70 77 6F 72 64 2C 30 29 00 j=lk(pword,0)
000040: 3A 78 3D 31 3A 79 3D 70 77 6F 72 64 0D 0A 34 31 :x=1:y=pword..41
000050: 30 20 57 48 49 4C 45 20 6A 3E 30 20 41 4E 44 20 0 WHILE j>0 AND
000060: 63 77 6F 72 64 3C 3E 6C 6B 28 79 2C 78 29 3A 6A cword<>lk(y,x):j
000070: 3D 6A 2D 31 3A 78 3D 78 2B 31 0D 0A 34 31 35 20 =j-1:x=x+1..415
000080: 49 46 20 78 3D 6D 6C 69 6E 6B 73 20 54 48 45 4E IF x=mlinks THEN
000090: 20 79 3D 6C 6B 28 79 2C 78 29 3A 78 3D 31 0D 0A y=lk(y,x):x=1..
0000A0: 34 32 30 20 57 45 4E 44 3A 49 46 20 6A 3E 30 20 420 WEND:IF j>0
0000B0: 54 48 45 4E 20 34 34 30 0D 0A 34 33 30 20 6C 6B THEN 440..430 lk
0000C0: 28 70 77 6F 72 64 2C 30 29 3D 6C 6B 28 70 77 6F (pword,0)=lk(pwo
0000D0: 72 64 2C 30 29 2B 31 3A 6C 6B 28 79 2C 78 29 3D rd,0)+1:lk(y,x)=
0000E0: 63 77 6F 72 64 0D 0A 34 33 35 20 49 46 20 78 3D cword..435 IF x=
0000F0: 6D 6C 69 6E 6B 73 2D 31 20 54 48 45 4E 20 6E 77 mlinks-1 THEN nw
000100: 6F 72 64 73 3D 6E 77 6F 72 64 73 2B 31 3A 6C 6B ords=nwords+1:lk
000110: 28 79 2C 6D 6C 69 6E 6B 73 29 3D 6E 77 6F 72 64 (y,mlinks)=nword
000120: 73 3A 6C 6B 28 6E 77 6F 72 64 73 2C 30 29 3D 30 s:lk(nwords,0)=0
000130: 3A 77 24 28 6E 77 6F 72 64 73 29 3D 22 22 0D 0A :w$(nwords)=""..
000140: 34 34 30 20 52 45 54 55 52 4E 0D 0A 35 30 30 20 440 RETURN..500
000150: 69 3D 49 4E 54 28 52 4E 44 2A 6C 6B 28 70 77 6F i=INT(RND*lk(pwo
000160: 72 64 2C 30 29 2B 31 29 0D 0A 35 30 35 20 57 48 rd,0)+1)..505 WH
000170: 49 4C 45 20 69 3E 3D 6D 6C 69 6E 6B 73 3A 69 3D ILE i>=mlinks:i=
000180: 31 2B 69 2D 6D 6C 69 6E 6B 73 3A 70 77 6F 72 64 1+i-mlinks:pword
000190: 3D 6C 6B 28 70 77 6F 72 64 2C 6D 6C 69 6E 6B 73 =lk(pword,mlinks
0001A0: 29 3A 57 45 4E 44 0D 0A 35 31 30 20 70 77 6F 72 ):WEND..510 pwor
0001B0: 64 3D 6C 6B 28 70 77 6F 72 64 2C 69 29 3A 52 45 d=lk(pword,i):RE
0001C0: 54 55 52 4E 0D 0A 36 30 30 20 66 69 6C 65 24 3D TURN..600 file$=
0001D0: 4D 49 44 24 28 61 24 2C 37 29 3A 49 46 20 66 69 MID$(a$,7):IF fi
0001E0: 6C 65 24 3D 22 22 20 54 48 45 4E 20 66 69 6C 65 le$="" THEN file
0001F0: 24 3D 22 56 4F 43 41 42 22 0D 0A 36 31 30 20 4F $="VOCAB"..610 O
Size : 512 (Real : 512)
000000: 72 64 65 72 2E 20 20 59 65 73 2C 20 69 74 20 73 rder. Yes, it s
000010: 65 65 6D 73 20 74 6F 20 74 65 6C 6C 20 75 73 20 eems to tell us
000020: 61 20 62 69 72 74 68 64 61 79 2E 0D 0A 0D 0A 20 a birthday.....
000030: 20 20 44 4F 4E 27 54 20 47 4F 20 41 57 41 59 21 DON'T GO AWAY!
000040: 0D 0A 20 20 20 49 66 20 20 79 6F 75 20 20 64 69 .. If you di
000050: 64 6E 27 74 20 20 66 6F 6C 6C 6F 77 20 20 74 68 dn't follow th
000060: 61 74 2C 20 20 64 6F 6E 27 74 20 20 77 6F 72 72 at, don't worr
000070: 79 20 20 2D 20 20 49 20 20 64 69 64 6E 27 74 20 y - I didn't
000080: 20 65 69 74 68 65 72 2E 20 20 20 54 68 61 74 0D either. That.
000090: 0A 20 20 20 69 6E 74 72 6F 64 75 63 74 69 6F 6E . introduction
0000A0: 20 77 61 73 20 67 65 6E 65 72 61 74 65 64 20 62 was generated b
0000B0: 79 20 74 68 65 20 41 49 20 70 72 6F 67 72 61 6D y the AI program
0000C0: 20 20 77 68 65 6E 20 49 20 66 65 64 20 69 74 20 when I fed it
0000D0: 74 68 65 20 66 69 72 73 74 20 68 61 6C 66 0D 0A the first half..
0000E0: 20 20 20 6F 66 20 74 68 69 73 20 6D 6F 6E 74 68 of this month
0000F0: 27 73 20 61 72 74 69 63 6C 65 2E 20 20 49 66 20 's article. If
000100: 20 79 6F 75 20 20 66 69 6E 64 20 20 74 68 65 20 you find the
000110: 69 6E 74 72 6F 64 75 63 74 69 6F 6E 20 65 61 73 introduction eas
000120: 69 65 72 20 74 6F 20 66 6F 6C 6C 6F 77 0D 0A 20 ier to follow..
000130: 20 20 74 68 61 6E 20 74 68 65 20 72 65 73 74 20 than the rest
000140: 6F 66 20 74 68 65 20 61 72 74 69 63 6C 65 2C 20 of the article,
000150: 74 68 65 6E 20 77 72 69 74 65 20 69 6E 20 74 6F then write in to
000160: 20 46 61 69 72 20 43 6F 6D 6D 65 6E 74 20 74 6F Fair Comment to
000170: 20 61 73 6B 20 4A 6F 68 6E 20 74 6F 0D 0A 20 20 ask John to..
000180: 20 67 69 76 65 20 6D 65 20 74 68 65 20 73 61 63 give me the sac
000190: 6B 21 0D 0A 0D 0A 20 20 20 4C 61 73 74 20 74 69 k!.... Last ti
0001A0: 6D 65 20 77 65 20 61 64 64 65 64 20 61 20 62 69 me we added a bi
0001B0: 6E 61 72 79 20 74 72 65 65 20 73 74 72 75 63 74 nary tree struct
0001C0: 75 72 65 20 74 6F 20 74 68 65 20 41 49 20 63 68 ure to the AI ch
0001D0: 61 74 20 70 72 6F 67 72 61 6D 20 69 6E 20 6F 72 at program in or
0001E0: 64 65 72 0D 0A 20 20 20 74 6F 20 73 70 65 65 64 der.. to speed
0001F0: 20 75 70 20 74 68 65 20 73 65 61 72 63 68 69 6E up the searchin
Size : 512 (Real : 512)
000000: 50 45 4E 49 4E 20 66 69 6C 65 24 3A 49 4E 50 55 PENIN file$:INPU
000010: 54 23 39 2C 6E 77 6F 72 64 73 0D 0A 36 32 30 20 T#9,nwords..620
000020: 46 4F 52 20 69 3D 30 20 54 4F 20 6E 77 6F 72 64 FOR i=0 TO nword
000030: 73 3A 49 4E 50 55 54 23 39 2C 77 24 28 69 29 2C s:INPUT#9,w$(i),
000040: 6C 6B 28 69 2C 30 29 3A 6C 65 28 69 29 3D 30 3A lk(i,0):le(i)=0:
000050: 72 69 28 69 29 3D 30 0D 0A 36 32 35 20 77 6F 72 ri(i)=0..625 wor
000060: 64 24 3D 77 24 28 69 29 3A 49 46 20 77 6F 72 64 d$=w$(i):IF word
000070: 24 3E 22 22 20 54 48 45 4E 20 47 4F 53 55 42 20 $>"" THEN GOSUB
000080: 38 30 30 3A 63 77 6F 72 64 3D 69 3A 47 4F 53 55 800:cword=i:GOSU
000090: 42 20 38 34 30 0D 0A 36 33 30 20 6A 3D 6C 6B 28 B 840..630 j=lk(
0000A0: 69 2C 30 29 3A 79 3D 69 3A 78 3D 31 3A 57 48 49 i,0):y=i:x=1:WHI
0000B0: 4C 45 20 6A 3E 30 3A 6A 3D 6A 2D 31 3A 49 4E 50 LE j>0:j=j-1:INP
0000C0: 55 54 23 39 2C 6C 6B 28 79 2C 78 29 3A 78 3D 78 UT#9,lk(y,x):x=x
0000D0: 2B 31 0D 0A 36 33 35 20 49 46 20 78 3D 6D 6C 69 +1..635 IF x=mli
0000E0: 6E 6B 73 20 54 48 45 4E 20 49 4E 50 55 54 23 39 nks THEN INPUT#9
0000F0: 2C 6C 6B 28 79 2C 78 29 3A 79 3D 6C 6B 28 79 2C ,lk(y,x):y=lk(y,
000100: 78 29 3A 78 3D 31 0D 0A 36 33 36 20 57 45 4E 44 x):x=1..636 WEND
000110: 3A 4E 45 58 54 0D 0A 36 34 30 20 43 4C 4F 53 45 :NEXT..640 CLOSE
000120: 49 4E 3A 52 45 54 55 52 4E 0D 0A 37 30 30 20 66 IN:RETURN..700 f
000130: 69 6C 65 24 3D 4D 49 44 24 28 61 24 2C 37 29 3A ile$=MID$(a$,7):
000140: 49 46 20 66 69 6C 65 24 3D 22 22 20 54 48 45 4E IF file$="" THEN
000150: 20 66 69 6C 65 24 3D 22 56 4F 43 41 42 22 0D 0A file$="VOCAB"..
000160: 37 31 30 20 4F 50 45 4E 4F 55 54 20 66 69 6C 65 710 OPENOUT file
000170: 24 3A 57 52 49 54 45 23 39 2C 6E 77 6F 72 64 73 $:WRITE#9,nwords
000180: 0D 0A 37 32 30 20 46 4F 52 20 69 3D 30 20 54 4F ..720 FOR i=0 TO
000190: 20 6E 77 6F 72 64 73 3A 57 52 49 54 45 23 39 2C nwords:WRITE#9,
0001A0: 77 24 28 69 29 2C 6C 6B 28 69 2C 30 29 0D 0A 37 w$(i),lk(i,0)..7
0001B0: 33 30 20 6A 3D 6C 6B 28 69 2C 30 29 3A 79 3D 69 30 j=lk(i,0):y=i
0001C0: 3A 78 3D 31 3A 57 48 49 4C 45 20 6A 3E 30 3A 6A :x=1:WHILE j>0:j
0001D0: 3D 6A 2D 31 3A 57 52 49 54 45 23 39 2C 6C 6B 28 =j-1:WRITE#9,lk(
0001E0: 79 2C 78 29 3A 78 3D 78 2B 31 0D 0A 37 33 35 20 y,x):x=x+1..735
0001F0: 49 46 20 78 3D 6D 6C 69 6E 6B 73 20 54 48 45 4E IF x=mlinks THEN
Size : 512 (Real : 512)
000000: 49 43 53 20 43 4F 4D 4D 41 4E 44 53 0D 0A 20 20 ICS COMMANDS..
000010: 20 4D 61 6E 79 20 6F 66 20 74 68 65 20 65 6E 68 Many of the enh
000020: 61 6E 63 65 6D 65 6E 74 73 20 61 64 64 65 64 20 ancements added
000030: 69 6E 20 20 42 41 53 49 43 20 20 31 2E 31 20 72 in BASIC 1.1 r
000040: 65 6C 61 74 65 20 74 6F 20 67 72 61 70 68 69 63 elate to graphic
000050: 73 20 68 61 6E 64 6C 69 6E 67 2E 0D 0A 20 20 20 s handling...
000060: 54 68 65 20 4D 4F 56 45 2C 20 4D 4F 56 45 52 2C The MOVE, MOVER,
000070: 20 44 52 41 57 2C 20 20 44 52 41 57 52 2C 20 20 DRAW, DRAWR,
000080: 50 4C 4F 54 20 20 61 6E 64 20 20 50 4C 4F 54 52 PLOT and PLOTR
000090: 20 20 68 61 76 65 20 20 68 61 64 20 65 78 74 72 have had extr
0000A0: 61 20 6F 70 74 69 6F 6E 61 6C 0D 0A 20 20 20 70 a optional.. p
0000B0: 61 72 61 6D 65 74 65 72 73 20 61 64 64 65 64 2C arameters added,
0000C0: 20 77 68 69 63 68 20 79 6F 75 20 77 69 6C 6C 20 which you will
0000D0: 6E 65 65 64 20 20 74 6F 20 20 72 65 6D 6F 76 65 need to remove
0000E0: 20 69 6E 20 6F 72 64 65 72 20 74 6F 20 67 65 74 in order to get
0000F0: 20 70 72 6F 67 72 61 6D 73 0D 0A 20 20 20 74 6F programs.. to
000100: 20 77 6F 72 6B 20 6F 6E 20 74 68 65 20 34 36 34 work on the 464
000110: 2E 0D 0A 0D 0A 20 20 20 4F 6E 20 74 68 65 20 34 ..... On the 4
000120: 36 34 20 74 68 65 20 20 4D 4F 56 45 20 20 63 6F 64 the MOVE co
000130: 6D 6D 61 6E 64 20 20 74 61 6B 65 73 20 20 6F 6E mmand takes on
000140: 6C 79 20 20 74 77 6F 20 20 70 61 72 61 6D 65 74 ly two paramet
000150: 65 72 73 2C 20 20 74 68 65 20 20 78 20 61 6E 64 ers, the x and
000160: 20 79 0D 0A 20 20 20 63 6F 6F 72 64 69 6E 61 74 y.. coordinat
000170: 65 73 20 6F 66 20 74 68 65 20 70 6F 69 6E 74 20 es of the point
000180: 74 6F 20 6D 6F 76 65 20 20 74 68 65 20 20 67 72 to move the gr
000190: 61 70 68 69 63 73 20 63 75 72 73 6F 72 20 74 6F aphics cursor to
0001A0: 2E 20 20 57 69 74 68 20 42 41 53 49 43 20 31 2E . With BASIC 1.
0001B0: 31 0D 0A 20 20 20 79 6F 75 20 63 61 6E 20 73 70 1.. you can sp
0001C0: 65 63 69 66 79 20 61 20 74 68 69 72 64 20 70 61 ecify a third pa
0001D0: 72 61 6D 65 74 65 72 20 74 6F 20 20 73 65 6C 65 rameter to sele
0001E0: 63 74 20 74 68 65 20 67 72 61 70 68 69 63 73 20 ct the graphics
0001F0: 70 65 6E 2C 20 6D 75 63 68 20 61 73 20 79 6F 75 pen, much as you
Size : 512 (Real : 512)
000000: 32 2C 30 2C 35 35 2C 30 2C 35 35 2C 34 35 2C 2D 2,0,55,0,55,45,-
000010: 32 00 13 00 4E 02 8C 20 26 39 30 2C 37 31 2C 37 2...N.. &90,71,7
000020: 30 2C 2D 32 00 18 00 58 02 8C 20 26 39 30 2C 37 0,-2...X.. &90,7
000030: 31 2C 30 2C 26 39 31 2C 35 35 2C 30 00 23 00 5D 1,0,&91,55,0.#.]
000040: 02 8C 20 26 39 30 2C 37 34 2C 37 35 2C 26 39 31 .. &90,74,75,&91
000050: 2C 35 34 2C 35 30 2C 35 37 2C 35 30 2C 2D 32 00 ,54,50,57,50,-2.
000060: 1D 00 62 02 8C 20 26 39 30 2C 37 34 2C 30 2C 26 ..b.. &90,74,0,&
000070: 39 31 2C 35 34 2C 30 2C 35 37 2C 30 00 27 00 67 91,54,0,57,0.'.g
000080: 02 8C 20 26 39 30 2C 37 36 2C 38 30 2C 26 39 31 .. &90,76,80,&91
000090: 2C 35 32 2C 35 35 2C 26 39 31 2C 35 35 2C 35 35 ,52,55,&91,55,55
0000A0: 2C 2D 34 00 2F 00 6C 02 8C 20 26 39 30 2C 37 36 ,-4./.l.. &90,76
0000B0: 2C 30 2C 26 39 31 2C 35 32 2C 30 2C 26 39 30 2C ,0,&91,52,0,&90,
0000C0: 37 34 2C 37 35 2C 26 39 31 2C 35 32 2C 36 30 2C 74,75,&91,52,60,
0000D0: 2D 32 00 1D 00 76 02 8C 20 26 39 30 2C 37 34 2C -2...v.. &90,74,
0000E0: 30 2C 26 39 31 2C 35 32 2C 30 2C 35 35 2C 30 00 0,&91,52,0,55,0.
0000F0: 23 00 7B 02 8C 20 26 39 30 2C 37 31 2C 37 30 2C #.{.. &90,71,70,
000100: 26 39 31 2C 35 35 2C 36 35 2C 36 32 2C 36 35 2C &91,55,65,62,65,
000110: 2D 32 00 1D 00 80 02 8C 20 26 39 30 2C 37 31 2C -2...... &90,71,
000120: 30 2C 26 39 31 2C 35 35 2C 30 2C 36 32 2C 30 00 0,&91,55,0,62,0.
000130: 23 00 85 02 8C 20 26 39 30 2C 37 33 2C 36 30 2C #.... &90,73,60,
000140: 26 39 31 2C 35 37 2C 36 35 2C 36 34 2C 37 30 2C &91,57,65,64,70,
000150: 2D 32 00 2C 00 8A 02 8C 20 26 39 30 2C 37 33 2C -2.,.... &90,73,
000160: 30 2C 36 39 2C 35 30 2C 26 41 31 2C 35 37 2C 36 0,69,50,&A1,57,6
000170: 30 2C 26 41 31 2C 36 34 2C 36 35 2C 2D 32 00 1D 0,&A1,64,65,-2..
000180: 00 94 02 8C 20 26 39 30 2C 36 39 2C 30 2C 26 39 .... &90,69,0,&9
000190: 31 2C 35 37 2C 30 2C 36 34 2C 30 00 23 00 99 02 1,57,0,64,0.#...
0001A0: 8C 20 26 39 30 2C 37 31 2C 34 30 2C 26 39 31 2C . &90,71,40,&91,
0001B0: 35 32 2C 34 30 2C 36 37 2C 34 30 2C 2D 36 00 22 52,40,67,40,-6."
0001C0: 00 9E 02 8C 20 26 39 30 2C 37 31 2C 30 2C 26 39 .... &90,71,0,&9
0001D0: 31 2C 35 32 2C 30 2C 36 37 2C 30 2C 2D 31 30 30 1,52,0,67,0,-100
0001E0: 00 00 00 1A 48 49 4C 45 20 74 3C 3E 31 30 30 3A ....HILE t<>100:
0001F0: 57 45 4E 44 0D 0A 33 34 30 20 45 4E 44 0D 0A 34 WEND..340 END..4
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 64 6F 20 77 69 74 68 20 50 4C 4F .. do with PLO
000010: 54 20 61 6E 64 20 44 52 41 57 2E 20 20 46 6F 72 T and DRAW. For
000020: 20 65 78 61 6D 70 6C 65 0D 0A 0D 0A 20 20 20 20 example....
000030: 20 4D 4F 56 45 20 78 2C 79 2C 33 0D 0A 0D 0A 20 MOVE x,y,3....
000040: 20 20 77 69 6C 6C 20 6D 6F 76 65 20 74 68 65 20 will move the
000050: 67 72 61 70 68 69 63 73 20 63 75 72 73 6F 72 20 graphics cursor
000060: 74 6F 20 20 28 78 2C 79 29 20 20 61 6E 64 20 20 to (x,y) and
000070: 61 6C 73 6F 20 63 68 61 6E 67 65 20 74 68 65 20 also change the
000080: 67 72 61 70 68 69 63 73 20 70 65 6E 0D 0A 20 20 graphics pen..
000090: 20 28 74 68 65 20 63 6F 6C 6F 75 72 20 74 6F 20 (the colour to
0000A0: 70 6C 6F 74 20 69 6E 29 20 74 6F 20 33 2E 20 20 plot in) to 3.
0000B0: 20 54 68 69 73 20 20 66 61 63 69 6C 69 74 79 20 This facility
0000C0: 69 73 20 6D 6F 73 74 20 75 73 65 66 75 6C 20 77 is most useful w
0000D0: 68 65 6E 20 79 6F 75 20 61 72 65 0D 0A 20 20 20 hen you are..
0000E0: 70 72 69 6E 74 69 6E 67 20 63 68 61 72 61 63 74 printing charact
0000F0: 65 72 73 20 61 74 20 74 68 65 20 67 72 61 70 68 ers at the graph
000100: 69 63 73 20 63 75 72 73 6F 72 20 75 73 69 6E 67 ics cursor using
000110: 20 54 41 47 2E 0D 0A 0D 0A 20 20 20 48 6F 77 20 TAG..... How
000120: 79 6F 75 20 72 65 6D 6F 76 65 20 74 68 69 73 20 you remove this
000130: 65 78 74 72 61 20 20 70 61 72 61 6D 65 74 65 72 extra parameter
000140: 20 20 64 65 70 65 6E 64 73 20 6F 6E 20 74 68 65 depends on the
000150: 20 73 69 74 75 61 74 69 6F 6E 2E 20 20 53 6F 6D situation. Som
000160: 65 74 69 6D 65 73 0D 0A 20 20 20 70 65 6F 70 6C etimes.. peopl
000170: 65 20 75 73 65 20 69 74 20 77 68 65 6E 20 69 74 e use it when it
000180: 20 69 73 20 74 6F 74 61 6C 6C 79 20 75 6E 6E 65 is totally unne
000190: 63 65 73 73 61 72 79 2E 20 20 46 6F 72 20 65 78 cessary. For ex
0001A0: 61 6D 70 6C 65 2C 20 61 20 6C 69 6E 65 20 73 61 ample, a line sa
0001B0: 79 69 6E 67 3A 0D 0A 0D 0A 20 20 20 20 20 31 30 ying:.... 10
0001C0: 20 4D 4F 56 45 20 78 2C 79 2C 32 3A 44 52 41 57 MOVE x,y,2:DRAW
0001D0: 52 20 32 33 2C 35 30 0D 0A 0D 0A 20 20 20 63 6F R 23,50.... co
0001E0: 75 6C 64 20 73 69 6D 70 6C 79 20 62 65 20 63 68 uld simply be ch
0001F0: 61 6E 67 65 64 20 74 6F 3A 0D 0A 0D 0A 20 20 20 anged to:....
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 31 34 20 2D 20 57 41 43 43 49 20 31 tch 14 - WACCI 1
000020: 32 33 2C 20 4A 75 6C 79 2F 41 75 67 20 31 39 39 23, July/Aug 199
000030: 38 2C 20 70 2E 20 32 33 2D 32 36 0D 0A 20 20 20 8, p. 23-26..
000040: 50 52 4F 47 52 41 4D 4D 45 52 53 27 20 50 41 54 PROGRAMMERS' PAT
000050: 43 48 20 31 34 0D 0A 20 20 20 62 79 20 4D 61 74 CH 14.. by Mat
000060: 74 68 65 77 20 50 68 69 6C 6C 69 70 73 0D 0A 0D thew Phillips...
000070: 0A 20 20 20 54 68 65 20 73 75 6E 20 62 65 61 74 . The sun beat
000080: 20 64 6F 77 6E 20 6F 6E 20 20 74 68 65 20 20 77 down on the w
000090: 69 64 65 20 20 64 65 73 65 72 74 20 20 70 6C 61 ide desert pla
0000A0: 69 6E 73 20 20 6F 66 20 20 4D 65 78 69 63 6F 2E ins of Mexico.
0000B0: 20 20 54 68 65 20 73 6F 75 6E 64 20 6F 66 0D 0A The sound of..
0000C0: 20 20 20 68 6F 72 73 65 27 73 20 68 6F 6F 76 65 horse's hoove
0000D0: 73 20 68 61 64 20 66 61 64 65 64 20 61 73 20 20 s had faded as
0000E0: 46 6C 61 6D 69 6E 67 75 65 7A 20 20 64 69 73 61 Flaminguez disa
0000F0: 70 70 65 61 72 65 64 20 69 6E 74 6F 20 74 68 65 ppeared into the
000100: 20 64 69 73 74 61 6E 63 65 2C 20 61 73 0D 0A 20 distance, as..
000110: 20 20 73 77 69 66 74 6C 79 20 61 73 20 68 65 20 swiftly as he
000120: 68 61 64 20 61 72 72 69 76 65 64 2E 20 20 20 4A had arrived. J
000130: 75 61 6E 20 20 43 61 72 6C 6F 73 20 20 73 63 61 uan Carlos sca
000140: 6E 6E 65 64 20 20 74 68 65 20 70 61 67 65 73 20 nned the pages
000150: 6F 66 20 74 68 65 20 76 69 74 61 6C 0D 0A 20 20 of the vital..
000160: 20 64 6F 63 75 6D 65 6E 74 20 69 6E 74 65 6E 74 document intent
000170: 6C 79 2E 20 20 48 65 20 66 72 6F 77 6E 65 64 20 ly. He frowned
000180: 61 73 20 68 65 20 74 72 69 65 64 20 20 74 6F 20 as he tried to
000190: 67 72 61 73 70 20 74 68 65 20 68 69 64 64 65 6E grasp the hidden
0001A0: 20 6D 65 61 6E 69 6E 67 20 6F 66 0D 0A 20 20 20 meaning of..
0001B0: 74 68 65 20 77 6F 72 64 73 20 62 65 66 6F 72 65 the words before
0001C0: 20 68 69 6D 2E 20 20 57 61 73 20 74 68 65 72 65 him. Was there
0001D0: 20 6E 6F 20 6F 74 68 65 72 20 20 77 61 79 3F 20 no other way?
0001E0: 20 48 65 20 68 61 64 20 66 65 61 72 65 64 20 69 He had feared i
0001F0: 74 20 6D 69 67 68 74 20 62 65 0D 0A 20 20 20 73 t might be.. s
Size : 512 (Real : 512)
000000: 20 20 31 30 20 4D 4F 56 45 20 78 2C 79 3A 44 52 10 MOVE x,y:DR
000010: 41 57 52 20 32 33 2C 35 30 2C 32 0D 0A 0D 0A 20 AWR 23,50,2....
000020: 20 20 54 68 65 20 67 72 61 70 68 69 63 73 20 70 The graphics p
000030: 65 6E 20 73 65 74 74 69 6E 67 20 68 61 73 20 62 en setting has b
000040: 65 65 6E 20 6D 6F 76 65 64 20 66 72 6F 6D 20 74 een moved from t
000050: 68 65 20 4D 4F 56 45 20 63 6F 6D 6D 61 6E 64 20 he MOVE command
000060: 74 6F 20 74 68 65 20 44 52 41 57 52 0D 0A 20 20 to the DRAWR..
000070: 20 63 6F 6D 6D 61 6E 64 2E 20 20 49 66 20 74 68 command. If th
000080: 65 20 44 52 41 57 52 20 63 6F 6D 6D 61 6E 64 20 e DRAWR command
000090: 77 61 73 20 6F 6E 20 20 74 68 65 20 20 6E 65 78 was on the nex
0000A0: 74 20 6C 69 6E 65 20 74 68 6F 75 67 68 2C 20 69 t line though, i
0000B0: 74 20 6D 69 67 68 74 20 6E 6F 74 0D 0A 20 20 20 t might not..
0000C0: 62 65 20 73 61 66 65 20 74 6F 20 75 73 65 20 74 be safe to use t
0000D0: 68 69 73 20 61 70 70 72 6F 61 63 68 2E 20 20 49 his approach. I
0000E0: 74 20 20 6D 61 79 20 20 62 65 20 20 74 68 61 74 t may be that
0000F0: 20 74 68 61 74 20 6C 69 6E 65 20 69 73 20 72 65 that line is re
000100: 61 63 68 65 64 20 66 72 6F 6D 0D 0A 20 20 20 65 ached from.. e
000110: 6C 73 65 77 68 65 72 65 20 69 6E 20 74 68 65 20 lsewhere in the
000120: 20 70 72 6F 67 72 61 6D 20 20 77 68 65 72 65 20 program where
000130: 20 74 68 65 20 20 67 72 61 70 68 69 63 73 20 20 the graphics
000140: 70 65 6E 20 20 69 73 20 20 73 65 74 20 74 6F 20 pen is set to
000150: 73 6F 6D 65 74 68 69 6E 67 0D 0A 20 20 20 64 69 something.. di
000160: 66 66 65 72 65 6E 74 2E 0D 0A 0D 0A 20 20 20 54 fferent..... T
000170: 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 61 70 70 he following app
000180: 72 6F 61 63 68 20 77 69 6C 6C 20 61 6C 77 61 79 roach will alway
000190: 73 20 77 6F 72 6B 3A 0D 0A 0D 0A 20 20 20 20 20 s work:....
0001A0: 31 30 20 50 4C 4F 54 20 2D 38 2C 30 2C 32 3A 4D 10 PLOT -8,0,2:M
0001B0: 4F 56 45 20 78 2C 79 3A 44 52 41 57 52 20 32 33 OVE x,y:DRAWR 23
0001C0: 2C 35 30 0D 0A 0D 0A 20 20 20 57 65 20 75 73 65 ,50.... We use
0001D0: 20 74 68 65 20 61 62 69 6C 69 74 79 20 6F 66 20 the ability of
0001E0: 20 74 68 65 20 20 50 4C 4F 54 20 20 63 6F 6D 6D the PLOT comm
0001F0: 61 6E 64 20 20 74 6F 20 20 63 68 61 6E 67 65 20 and to change
Size : 512 (Real : 512)
000000: 6F 2C 20 62 75 74 20 6E 6F 77 20 68 65 20 77 61 o, but now he wa
000010: 73 20 63 65 72 74 61 69 6E 2E 20 20 48 65 20 77 s certain. He w
000020: 6F 75 6C 64 20 20 68 61 76 65 20 74 6F 20 61 73 ould have to as
000030: 6B 20 46 6C 61 6D 69 6E 67 75 65 7A 20 74 6F 20 k Flaminguez to
000040: 62 72 69 6E 67 20 68 69 6D 0D 0A 20 20 20 61 20 bring him.. a
000050: 43 50 43 20 61 73 20 77 65 6C 6C 20 6E 65 78 74 CPC as well next
000060: 20 74 69 6D 65 2E 0D 0A 0D 0A 20 20 20 4C 61 73 time..... Las
000070: 74 20 6D 6F 6E 74 68 20 77 65 20 73 74 61 72 74 t month we start
000080: 65 64 20 20 6C 6F 6F 6B 69 6E 67 20 20 61 74 20 ed looking at
000090: 20 74 68 65 20 20 64 69 66 66 65 72 65 6E 63 65 the difference
0000A0: 73 20 20 62 65 74 77 65 65 6E 20 42 41 53 49 43 s between BASIC
0000B0: 20 31 2E 30 20 61 73 0D 0A 20 20 20 66 6F 75 6E 1.0 as.. foun
0000C0: 64 20 6F 6E 20 74 68 65 20 43 50 43 20 34 36 34 d on the CPC 464
0000D0: 2C 20 61 6E 64 20 20 42 41 53 49 43 20 20 31 2E , and BASIC 1.
0000E0: 31 20 6F 6E 20 6C 61 74 65 72 20 6D 61 63 68 69 1 on later machi
0000F0: 6E 65 73 2E 20 20 54 68 65 20 50 72 6F 67 72 61 nes. The Progra
000100: 6D 6D 65 72 73 27 0D 0A 20 20 20 50 61 74 63 68 mmers'.. Patch
000110: 20 64 69 73 63 20 28 77 68 69 63 68 20 79 6F 75 disc (which you
000120: 20 63 61 6E 20 6F 72 64 65 72 20 20 66 72 6F 6D can order from
000130: 20 20 44 61 76 65 20 20 53 74 69 74 73 6F 6E 2C Dave Stitson,
000140: 20 50 44 20 64 69 73 63 20 39 38 29 20 69 6E 63 PD disc 98) inc
000150: 6C 75 64 65 73 0D 0A 20 20 20 73 6F 6D 65 20 52 ludes.. some R
000160: 53 58 73 20 74 6F 20 68 65 6C 70 20 79 6F 75 20 SXs to help you
000170: 20 74 6F 20 20 69 64 65 6E 74 69 66 79 20 20 77 to identify w
000180: 68 69 63 68 20 20 6C 69 6E 65 73 20 20 6F 66 20 hich lines of
000190: 61 20 70 72 6F 67 72 61 6D 20 77 69 6C 6C 20 63 a program will c
0001A0: 61 75 73 65 0D 0A 20 20 20 70 72 6F 62 6C 65 6D ause.. problem
0001B0: 73 20 66 6F 72 20 34 36 34 20 75 73 65 72 73 2E s for 464 users.
0001C0: 20 20 49 20 68 6F 70 65 20 20 74 68 61 74 20 20 I hope that
0001D0: 34 36 34 20 20 75 73 65 72 73 20 77 69 6C 6C 20 464 users will
0001E0: 66 69 6E 64 20 74 68 65 73 65 20 61 72 74 69 63 find these artic
0001F0: 6C 65 73 0D 0A 20 20 20 75 73 65 66 75 6C 20 77 les.. useful w
Size : 512 (Real : 512)
000000: 20 74 68 65 20 67 72 61 70 68 69 63 73 20 70 65 the graphics pe
000010: 6E 20 62 79 0D 0A 20 20 20 70 6C 6F 74 74 69 6E n by.. plottin
000020: 67 20 61 20 70 6F 69 6E 74 20 77 68 69 63 68 20 g a point which
000030: 69 73 20 6F 66 66 20 20 73 63 72 65 65 6E 2C 20 is off screen,
000040: 20 61 6E 64 20 20 74 68 65 6E 20 64 6F 20 74 68 and then do th
000050: 65 20 4D 4F 56 45 20 63 6F 6D 6D 61 6E 64 2E 20 e MOVE command.
000060: 20 4F 66 0D 0A 20 20 20 63 6F 75 72 73 65 2C 20 Of.. course,
000070: 69 66 20 4F 52 49 47 49 4E 20 68 61 73 20 62 65 if ORIGIN has be
000080: 65 6E 20 75 73 65 64 20 20 74 6F 20 20 6D 6F 76 en used to mov
000090: 65 20 74 68 65 20 67 72 61 70 68 69 63 73 20 6F e the graphics o
0000A0: 72 69 67 69 6E 2C 20 74 68 65 6E 20 28 2D 38 2C rigin, then (-8,
0000B0: 30 29 0D 0A 20 20 20 6D 61 79 20 6C 69 65 20 6F 0).. may lie o
0000C0: 6E 20 73 63 72 65 65 6E 20 2D 20 61 64 6A 75 73 n screen - adjus
0000D0: 74 20 61 73 20 6E 65 63 65 73 73 61 72 79 2E 0D t as necessary..
0000E0: 0A 0D 0A 20 20 20 54 68 65 20 4D 4F 56 45 52 20 ... The MOVER
0000F0: 63 6F 6D 6D 61 6E 64 20 68 61 73 20 61 6C 73 6F command has also
000100: 20 20 68 61 64 20 20 74 68 69 73 20 20 74 68 69 had this thi
000110: 72 64 20 6F 70 74 69 6F 6E 61 6C 20 70 61 72 61 rd optional para
000120: 6D 65 74 65 72 20 61 64 64 65 64 2C 20 61 6E 64 meter added, and
000130: 0D 0A 20 20 20 63 61 6E 20 62 65 20 64 65 61 6C .. can be deal
000140: 74 20 77 69 74 68 20 69 6E 20 74 68 65 20 73 61 t with in the sa
000150: 6D 65 20 77 61 79 2E 0D 0A 0D 0A 20 20 20 47 52 me way..... GR
000160: 41 50 48 49 43 53 20 49 4E 4B 20 4D 4F 44 45 0D APHICS INK MODE.
000170: 0A 20 20 20 41 6C 6C 20 73 69 78 20 63 6F 6D 6D . All six comm
000180: 61 6E 64 73 2C 20 44 52 41 57 2C 20 44 52 41 57 ands, DRAW, DRAW
000190: 52 2C 20 4D 4F 56 45 2C 20 4D 4F 56 45 52 2C 20 R, MOVE, MOVER,
0001A0: 50 4C 4F 54 2C 20 50 4C 4F 54 52 2C 20 68 61 76 PLOT, PLOTR, hav
0001B0: 65 20 68 61 64 20 61 20 66 6F 75 72 74 68 0D 0A e had a fourth..
0001C0: 20 20 20 6F 70 74 69 6F 6E 61 6C 20 70 61 72 61 optional para
0001D0: 6D 65 74 65 72 20 61 64 64 65 64 20 69 6E 20 20 meter added in
0001E0: 42 41 53 49 43 20 20 31 2E 31 2E 20 20 20 54 68 BASIC 1.1. Th
0001F0: 69 73 20 20 70 61 72 61 6D 65 74 65 72 20 73 65 is parameter se
Size : 512 (Real : 512)
000000: 68 65 6E 20 74 72 79 69 6E 67 20 74 6F 20 63 6F hen trying to co
000010: 6E 76 65 72 74 20 70 72 6F 67 72 61 6D 73 20 20 nvert programs
000020: 74 6F 20 20 72 75 6E 20 6F 6E 20 74 68 65 69 72 to run on their
000030: 20 6D 61 63 68 69 6E 65 73 2C 20 61 6E 64 20 61 machines, and a
000040: 6C 6C 0D 0A 20 20 20 79 6F 75 20 36 36 34 2F 36 ll.. you 664/6
000050: 31 32 38 20 75 73 65 72 73 20 73 68 6F 75 6C 64 128 users should
000060: 20 68 61 76 65 20 61 20 72 65 61 64 20 20 74 6F have a read to
000070: 6F 2C 20 20 61 73 20 69 74 20 69 73 20 77 6F 72 o, as it is wor
000080: 74 68 20 62 65 69 6E 67 20 61 77 61 72 65 20 6F th being aware o
000090: 66 0D 0A 20 20 20 77 68 61 74 20 77 69 6C 6C 20 f.. what will
0000A0: 63 61 75 73 65 20 70 72 6F 62 6C 65 6D 73 20 6F cause problems o
0000B0: 6E 20 74 68 65 20 34 36 34 2E 20 20 49 6E 20 20 n the 464. In
0000C0: 6D 61 6E 79 20 63 61 73 65 73 20 79 6F 75 20 77 many cases you w
0000D0: 69 6C 6C 20 6F 6E 6C 79 20 6E 65 65 64 20 74 6F ill only need to
0000E0: 0D 0A 20 20 20 6D 61 6B 65 20 61 20 66 65 77 20 .. make a few
0000F0: 61 6C 74 65 72 61 74 69 6F 6E 73 20 74 6F 20 65 alterations to e
000100: 6E 61 62 6C 65 20 79 6F 75 72 20 20 70 72 6F 67 nable your prog
000110: 72 61 6D 73 20 20 74 6F 20 72 75 6E 20 6F 6E 20 rams to run on
000120: 61 6C 6C 20 74 68 65 20 41 6D 73 74 72 61 64 0D all the Amstrad.
000130: 0A 20 20 20 43 50 43 73 2E 0D 0A 0D 0A 20 20 20 . CPCs.....
000140: 57 65 20 68 61 76 65 20 70 72 69 6E 74 65 64 20 We have printed
000150: 61 20 20 6C 69 73 74 20 20 6F 66 20 20 61 6C 6C a list of all
000160: 20 20 74 68 65 20 20 63 6F 6D 6D 61 6E 64 73 20 the commands
000170: 20 77 68 69 63 68 20 20 68 61 76 65 20 62 65 65 which have bee
000180: 6E 20 61 64 64 65 64 20 6F 72 0D 0A 20 20 20 61 n added or.. a
000190: 6C 74 65 72 65 64 20 66 6F 72 20 42 41 53 49 43 ltered for BASIC
0001A0: 20 31 2E 31 20 69 6E 20 54 61 62 6C 65 20 31 2E 1.1 in Table 1.
0001B0: 20 20 20 57 65 20 20 63 6F 76 65 72 65 64 20 46 We covered F
0001C0: 52 41 4D 45 2C 20 43 4C 45 41 52 20 49 4E 50 55 RAME, CLEAR INPU
0001D0: 54 2C 20 61 6E 64 20 4F 4E 0D 0A 20 20 20 42 52 T, and ON.. BR
0001E0: 45 41 4B 20 43 4F 4E 54 20 6C 61 73 74 20 6D 6F EAK CONT last mo
0001F0: 6E 74 68 2E 0D 0A 0D 0A 20 20 20 47 52 41 50 48 nth..... GRAPH
Size : 512 (Real : 512)
000000: 6C 65 63 74 73 20 74 68 65 20 69 6E 6B 0D 0A 20 lects the ink..
000010: 20 20 70 6C 6F 74 74 69 6E 67 20 6D 6F 64 65 2E plotting mode.
000020: 20 20 49 74 20 69 73 20 30 20 66 6F 72 20 6E 6F It is 0 for no
000030: 72 6D 61 6C 2C 20 31 20 20 66 6F 72 20 20 58 4F rmal, 1 for XO
000040: 52 20 6D 6F 64 65 2C 20 32 20 66 6F 72 20 41 4E R mode, 2 for AN
000050: 44 2C 20 61 6E 64 20 33 20 66 6F 72 0D 0A 20 20 D, and 3 for..
000060: 20 4F 52 20 6D 6F 64 65 2E 20 20 54 68 65 72 65 OR mode. There
000070: 20 61 72 65 20 20 61 20 20 63 6F 75 70 6C 65 20 are a couple
000080: 20 6F 66 20 20 77 61 79 73 20 20 74 6F 20 20 63 of ways to c
000090: 6F 70 65 20 20 77 69 74 68 20 20 74 68 69 73 20 ope with this
0000A0: 6F 6E 20 74 68 65 20 34 36 34 2E 0D 0A 20 20 20 on the 464...
0000B0: 53 75 70 70 6F 73 65 20 74 68 65 20 63 6F 6D 6D Suppose the comm
0000C0: 61 6E 64 20 77 61 73 0D 0A 0D 0A 20 20 20 20 20 and was....
0000D0: 44 52 41 57 20 31 30 30 2C 32 30 30 2C 31 2C 33 DRAW 100,200,1,3
0000E0: 0D 0A 0D 0A 20 20 20 54 68 69 73 20 63 61 6E 20 .... This can
0000F0: 62 65 20 72 65 70 6C 61 63 65 64 20 77 69 74 68 be replaced with
000100: 0D 0A 0D 0A 20 20 20 20 20 50 52 49 4E 54 20 43 .... PRINT C
000110: 48 52 24 28 32 33 29 3B 43 48 52 24 28 33 29 3B HR$(23);CHR$(3);
000120: 3A 44 52 41 57 20 31 30 30 2C 32 30 30 2C 31 0D :DRAW 100,200,1.
000130: 0A 0D 0A 20 20 20 42 65 20 63 61 72 65 66 75 6C ... Be careful
000140: 20 74 6F 20 69 6E 63 6C 75 64 65 20 74 68 65 20 to include the
000150: 73 65 6D 69 63 6F 6C 6F 6E 73 2C 20 20 6F 72 20 semicolons, or
000160: 79 6F 75 20 6D 69 67 68 74 20 67 65 74 20 75 6E you might get un
000170: 77 61 6E 74 65 64 20 6C 69 6E 65 66 65 65 64 73 wanted linefeeds
000180: 0D 0A 20 20 20 68 61 70 70 65 6E 69 6E 67 2E 20 .. happening.
000190: 20 54 68 69 73 20 6D 65 74 68 6F 64 20 77 69 6C This method wil
0001A0: 6C 20 6E 6F 74 20 20 77 6F 72 6B 20 20 69 66 20 l not work if
0001B0: 20 54 41 47 20 20 68 61 73 20 62 65 65 6E 20 75 TAG has been u
0001C0: 73 65 64 20 74 6F 20 72 65 64 69 72 65 63 74 0D sed to redirect.
0001D0: 0A 20 20 20 74 65 78 74 20 63 68 61 72 61 63 74 . text charact
0001E0: 65 72 73 20 74 6F 20 74 68 65 20 67 72 61 70 68 ers to the graph
0001F0: 69 63 73 20 63 75 72 73 6F 72 2E 20 20 59 6F 75 ics cursor. You
Size : 512 (Real : 512)
000000: 64 64 65 64 20 74 6F 20 63 6F 6E 74 72 6F 6C 20 dded to control
000010: 74 68 65 20 64 69 73 70 6C 61 79 20 6F 66 20 74 the display of t
000020: 68 65 20 74 65 78 74 20 63 75 72 73 6F 72 2E 20 he text cursor.
000030: 20 54 68 65 20 43 55 52 53 4F 52 20 63 6F 6D 6D The CURSOR comm
000040: 61 6E 64 20 74 61 6B 65 73 0D 0A 20 20 20 74 77 and takes.. tw
000050: 6F 20 70 61 72 61 6D 65 74 65 72 73 2C 20 65 61 o parameters, ea
000060: 63 68 20 6F 66 20 77 68 69 63 68 20 73 68 6F 75 ch of which shou
000070: 6C 64 20 20 62 65 20 20 65 69 74 68 65 72 20 30 ld be either 0
000080: 20 6F 72 20 31 2E 20 20 45 69 74 68 65 72 20 70 or 1. Either p
000090: 61 72 61 6D 65 74 65 72 0D 0A 20 20 20 6D 61 79 arameter.. may
0000A0: 20 62 65 20 6F 6D 69 74 74 65 64 2E 20 20 54 6F be omitted. To
0000B0: 20 73 68 6F 77 20 68 6F 77 20 74 6F 20 64 65 61 show how to dea
0000C0: 6C 20 77 69 74 68 20 74 68 69 73 20 63 6F 6D 6D l with this comm
0000D0: 61 6E 64 20 77 65 20 68 61 76 65 20 61 20 73 65 and we have a se
0000E0: 72 69 65 73 20 6F 66 0D 0A 20 20 20 65 78 61 6D ries of.. exam
0000F0: 70 6C 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 42 41 ples:.... BA
000100: 53 49 43 20 31 2E 31 20 20 20 20 20 20 20 20 20 SIC 1.1
000110: 20 20 42 41 53 49 43 20 31 2E 30 0D 0A 0D 0A 20 BASIC 1.0....
000120: 20 20 20 20 43 55 52 53 4F 52 20 30 20 20 20 20 CURSOR 0
000130: 20 20 20 20 20 20 20 20 43 41 4C 4C 20 26 42 42 CALL &BB
000140: 38 34 0D 0A 20 20 20 20 20 43 55 52 53 4F 52 20 84.. CURSOR
000150: 31 20 20 20 20 20 20 20 20 20 20 20 20 43 41 4C 1 CAL
000160: 4C 20 26 42 42 38 31 0D 0A 20 20 20 20 20 43 55 L &BB81.. CU
000170: 52 53 4F 52 20 2C 30 20 20 20 20 20 20 20 20 20 RSOR ,0
000180: 20 20 43 41 4C 4C 20 26 42 42 37 45 0D 0A 20 20 CALL &BB7E..
000190: 20 20 20 43 55 52 53 4F 52 20 2C 31 20 20 20 20 CURSOR ,1
0001A0: 20 20 20 20 20 20 20 43 41 4C 4C 20 26 42 42 37 CALL &BB7
0001B0: 42 0D 0A 20 20 20 20 20 43 55 52 53 4F 52 20 31 B.. CURSOR 1
0001C0: 2C 30 20 20 20 20 20 20 20 20 20 20 43 41 4C 4C ,0 CALL
0001D0: 20 26 42 42 38 31 3A 43 41 4C 4C 20 26 42 42 37 &BB81:CALL &BB7
0001E0: 45 0D 0A 20 20 20 20 20 43 55 52 53 4F 52 20 61 E.. CURSOR a
0001F0: 2C 62 20 20 20 20 20 20 20 20 20 20 43 41 4C 4C ,b CALL
Size : 512 (Real : 512)
000000: 68 65 20 67 72 61 70 68 69 63 73 20 69 6E 6B 20 he graphics ink
000010: 6D 6F 64 65 20 77 65 20 63 6F 75 6C 64 20 70 75 mode we could pu
000020: 74 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 t the following
000030: 6C 69 6E 65 20 69 6E 3A 0D 0A 0D 0A 20 20 20 31 line in:.... 1
000040: 20 69 6E 6B 6D 6F 64 65 3D 48 49 4D 45 4D 2D 35 inkmode=HIMEM-5
000050: 3A 4D 45 4D 4F 52 59 20 48 49 4D 45 4D 2D 36 3A :MEMORY HIMEM-6:
000060: 46 4F 52 20 67 3D 30 20 54 4F 20 35 3A 52 45 41 FOR g=0 TO 5:REA
000070: 44 20 64 3A 50 4F 4B 45 20 69 6E 6B 6D 6F 64 65 D d:POKE inkmode
000080: 2B 67 2C 64 3A 4E 45 58 54 0D 0A 20 20 20 20 20 +g,d:NEXT..
000090: 3A 44 41 54 41 20 26 44 44 2C 26 37 45 2C 30 2C :DATA &DD,&7E,0,
0000A0: 26 43 33 2C 26 35 39 2C 26 42 43 0D 0A 0D 0A 20 &C3,&59,&BC....
0000B0: 20 20 54 68 65 6E 20 63 6F 6D 6D 61 6E 64 73 20 Then commands
0000C0: 6C 69 6B 65 0D 0A 0D 0A 20 20 20 20 20 44 52 41 like.... DRA
0000D0: 57 20 31 30 30 2C 32 30 30 2C 31 2C 78 0D 0A 0D W 100,200,1,x...
0000E0: 0A 20 20 20 63 61 6E 20 62 65 20 72 65 70 6C 61 . can be repla
0000F0: 63 65 64 20 62 79 0D 0A 0D 0A 20 20 20 20 20 43 ced by.... C
000100: 41 4C 4C 20 69 6E 6B 6D 6F 64 65 2C 78 3A 44 52 ALL inkmode,x:DR
000110: 41 57 20 31 30 30 2C 32 30 30 2C 31 0D 0A 0D 0A AW 100,200,1....
000120: 20 20 20 57 65 20 63 61 6E 20 64 65 61 6C 20 77 We can deal w
000130: 69 74 68 20 74 68 65 20 63 6F 6D 6D 61 6E 64 20 ith the command
000140: 20 47 52 41 50 48 49 43 53 20 20 50 41 50 45 52 GRAPHICS PAPER
000150: 20 20 69 6E 20 20 6D 75 63 68 20 74 68 65 20 73 in much the s
000160: 61 6D 65 20 77 61 79 2E 20 20 54 68 65 0D 0A 20 ame way. The..
000170: 20 20 66 69 72 6D 77 61 72 65 20 72 6F 75 74 69 firmware routi
000180: 6E 65 20 47 52 41 20 53 45 54 20 50 41 50 45 52 ne GRA SET PAPER
000190: 20 69 73 20 20 61 74 20 26 42 42 45 34 2E 20 20 is at &BBE4.
0001A0: 41 6E 20 61 6C 74 65 72 6E 61 74 69 76 65 20 6D An alternative m
0001B0: 65 74 68 6F 64 2C 20 77 68 69 63 68 0D 0A 20 20 ethod, which..
0001C0: 20 77 61 73 20 76 65 72 79 20 70 6F 70 75 6C 61 was very popula
0001D0: 72 20 69 6E 20 6C 69 73 74 69 6E 67 73 20 69 6E r in listings in
0001E0: 20 20 74 68 65 20 20 6D 61 67 61 7A 69 6E 65 20 the magazine
0001F0: 43 6F 6D 70 75 74 69 6E 67 20 77 69 74 68 20 74 Computing with t
Size : 512 (Real : 512)
000000: 20 26 42 42 38 34 2D 33 2A 61 3A 43 41 4C 4C 20 &BB84-3*a:CALL
000010: 26 42 42 37 45 2D 33 2A 62 0D 0A 0D 0A 20 20 20 &BB7E-3*b....
000020: 55 73 75 61 6C 6C 79 20 74 68 65 20 43 55 52 53 Usually the CURS
000030: 4F 52 20 63 6F 6D 6D 61 6E 64 20 69 73 20 20 6E OR command is n
000040: 6F 74 20 20 75 73 65 64 20 20 77 69 74 68 20 20 ot used with
000050: 76 61 72 69 61 62 6C 65 73 2C 20 20 61 73 20 69 variables, as i
000060: 6E 20 74 68 65 20 6C 61 73 74 0D 0A 20 20 20 65 n the last.. e
000070: 78 61 6D 70 6C 65 2C 20 62 75 74 20 69 66 20 69 xample, but if i
000080: 74 20 20 69 73 2C 20 20 74 68 69 73 20 20 69 73 t is, this is
000090: 20 20 6F 6E 65 20 20 77 61 79 20 20 74 6F 20 20 one way to
0000A0: 64 65 61 6C 20 20 77 69 74 68 20 69 74 2E 20 20 deal with it.
0000B0: 4E 6F 74 65 20 74 68 61 74 0D 0A 20 20 20 68 6F Note that.. ho
0000C0: 72 72 69 62 6C 65 20 74 68 69 6E 67 73 20 6D 61 rrible things ma
0000D0: 79 20 68 61 70 70 65 6E 20 69 66 20 61 20 6F 72 y happen if a or
0000E0: 20 62 20 61 72 65 20 61 6E 79 20 76 61 6C 75 65 b are any value
0000F0: 20 6F 74 68 65 72 20 74 68 61 6E 20 30 20 6F 72 other than 0 or
000100: 20 31 2E 0D 0A 0D 0A 20 20 20 47 52 41 50 48 49 1..... GRAPHI
000110: 43 53 20 50 45 4E 20 41 4E 44 20 50 41 50 45 52 CS PEN AND PAPER
000120: 0D 0A 20 20 20 54 77 6F 20 6D 6F 72 65 20 63 6F .. Two more co
000130: 6D 6D 61 6E 64 73 20 69 6E 74 72 6F 64 75 63 65 mmands introduce
000140: 64 20 77 69 74 68 20 42 41 53 49 43 20 20 31 2E d with BASIC 1.
000150: 31 20 61 72 65 20 47 52 41 50 48 49 43 53 20 50 1 are GRAPHICS P
000160: 45 4E 20 61 6E 64 20 47 52 41 50 48 49 43 53 0D EN and GRAPHICS.
000170: 0A 20 20 20 50 41 50 45 52 2C 20 77 68 69 63 68 . PAPER, which
000180: 20 61 72 65 20 75 73 65 64 20 74 6F 20 20 73 65 are used to se
000190: 74 20 20 74 68 65 20 20 67 72 61 70 68 69 63 73 t the graphics
0001A0: 20 20 70 65 6E 20 20 61 6E 64 20 67 72 61 70 68 pen and graph
0001B0: 69 63 73 20 70 61 70 65 72 20 28 6E 6F 2C 0D 0A ics paper (no,..
0001C0: 20 20 20 72 65 61 6C 6C 79 2E 2E 2E 29 2E 20 20 really...).
0001D0: 53 65 74 74 69 6E 67 20 74 68 65 20 67 72 61 70 Setting the grap
0001E0: 68 69 63 73 20 70 65 6E 20 63 61 6E 20 20 62 65 hics pen can be
0001F0: 20 20 64 6F 6E 65 20 62 79 20 70 6C 6F 74 74 69 done by plotti
Size : 512 (Real : 512)
000000: 20 63 6F 75 6C 64 20 61 6C 73 6F 20 64 6F 0D 0A could also do..
000010: 0D 0A 20 20 20 20 20 43 41 4C 4C 20 26 42 43 35 .. CALL &BC5
000020: 39 2C 31 2C 31 2C 31 3A 44 52 41 57 20 31 30 30 9,1,1,1:DRAW 100
000030: 2C 32 30 30 2C 31 0D 0A 0D 0A 20 20 20 54 68 69 ,200,1.... Thi
000040: 73 20 73 6E 65 61 6B 79 20 6D 65 74 68 6F 64 20 s sneaky method
000050: 75 73 65 73 20 74 68 65 20 66 69 72 6D 77 61 72 uses the firmwar
000060: 65 20 20 63 61 6C 6C 20 20 53 43 52 20 20 41 43 e call SCR AC
000070: 43 45 53 53 20 77 68 69 63 68 20 73 65 74 73 20 CESS which sets
000080: 74 68 65 20 69 6E 6B 0D 0A 20 20 20 6D 6F 64 65 the ink.. mode
000090: 2E 20 20 49 74 20 64 6F 65 73 20 74 68 69 73 20 . It does this
0000A0: 6F 6E 20 74 68 65 20 62 61 73 69 73 20 6F 66 20 on the basis of
0000B0: 20 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 the contents of
0000C0: 20 74 68 65 20 41 20 72 65 67 69 73 74 65 72 2E the A register.
0000D0: 20 20 57 68 65 6E 0D 0A 20 20 20 77 65 20 64 6F When.. we do
0000E0: 20 61 20 43 41 4C 4C 20 66 72 6F 6D 20 42 41 53 a CALL from BAS
0000F0: 49 43 2C 20 74 68 65 20 41 20 20 72 65 67 69 73 IC, the A regis
000100: 74 65 72 20 20 69 73 20 73 65 74 20 74 6F 20 69 ter is set to i
000110: 6E 64 69 63 61 74 65 20 74 68 65 20 6E 75 6D 62 ndicate the numb
000120: 65 72 20 6F 66 0D 0A 20 20 20 70 61 72 61 6D 65 er of.. parame
000130: 74 65 72 73 20 61 66 74 65 72 20 74 68 65 20 43 ters after the C
000140: 41 4C 4C 2C 20 73 6F 20 70 75 74 74 69 6E 67 20 ALL, so putting
000150: 20 74 68 72 65 65 20 70 61 72 61 6D 65 74 65 72 three parameter
000160: 73 20 28 69 74 20 64 6F 65 73 6E 27 74 20 6D 61 s (it doesn't ma
000170: 74 74 65 72 0D 0A 20 20 20 77 68 61 74 20 74 68 tter.. what th
000180: 65 79 20 61 72 65 29 20 67 69 76 65 73 20 69 6E ey are) gives in
000190: 6B 20 6D 6F 64 65 20 33 2C 20 74 68 65 20 4F 52 k mode 3, the OR
0001A0: 20 6D 6F 64 65 2E 0D 0A 0D 0A 20 20 20 20 20 43 mode..... C
0001B0: 41 4C 4C 20 26 42 43 35 39 20 20 20 20 20 20 20 ALL &BC59
0001C0: 20 2D 20 63 68 6F 6F 73 65 73 20 4E 6F 72 6D 61 - chooses Norma
0001D0: 6C 20 6D 6F 64 65 0D 0A 20 20 20 20 20 43 41 4C l mode.. CAL
0001E0: 4C 20 26 42 43 35 39 2C 31 20 20 20 20 20 20 2D L &BC59,1 -
0001F0: 20 63 68 6F 6F 73 65 73 20 58 4F 52 20 6D 6F 64 chooses XOR mod
Size : 512 (Real : 512)
000000: 6E 67 20 6F 66 66 20 73 63 72 65 65 6E 0D 0A 20 ng off screen..
000010: 20 20 69 6E 20 74 68 61 74 20 63 6F 6C 6F 75 72 in that colour
000020: 2E 20 20 46 6F 72 20 65 78 61 6D 70 6C 65 2C 0D . For example,.
000030: 0A 0D 0A 20 20 20 20 20 50 4C 4F 54 20 2D 38 2C ... PLOT -8,
000040: 30 2C 61 0D 0A 0D 0A 20 20 20 63 61 6E 20 62 65 0,a.... can be
000050: 20 75 73 65 64 20 69 6E 20 70 6C 61 63 65 20 6F used in place o
000060: 66 20 47 52 41 50 48 49 43 53 20 50 45 4E 20 20 f GRAPHICS PEN
000070: 61 2E 20 20 48 6F 77 65 76 65 72 2C 20 74 68 69 a. However, thi
000080: 73 20 64 6F 65 73 20 68 61 76 65 20 74 68 65 20 s does have the
000090: 73 69 64 65 0D 0A 20 20 20 65 66 66 65 63 74 20 side.. effect
0000A0: 6F 66 20 6D 6F 76 69 6E 67 20 74 68 65 20 67 72 of moving the gr
0000B0: 61 70 68 69 63 73 20 20 63 75 72 73 6F 72 2C 20 aphics cursor,
0000C0: 20 77 68 69 63 68 20 20 6D 61 79 20 20 62 65 20 which may be
0000D0: 69 6E 63 6F 6E 76 65 6E 69 65 6E 74 20 69 66 20 inconvenient if
0000E0: 79 6F 75 0D 0A 20 20 20 63 61 6E 6E 6F 74 20 77 you.. cannot w
0000F0: 6F 72 6B 20 6F 75 74 20 77 68 65 72 65 20 74 6F ork out where to
000100: 20 4D 4F 56 45 20 69 74 20 62 61 63 6B 20 20 74 MOVE it back t
000110: 6F 21 20 20 41 6E 6F 74 68 65 72 20 77 61 79 20 o! Another way
000120: 72 6F 75 6E 64 20 69 74 20 69 73 20 74 6F 20 75 round it is to u
000130: 73 65 0D 0A 20 20 20 74 68 65 20 66 69 72 6D 77 se.. the firmw
000140: 61 72 65 20 72 6F 75 74 69 6E 65 20 47 52 41 20 are routine GRA
000150: 53 45 54 20 50 45 4E 2E 20 20 49 66 20 20 74 68 SET PEN. If th
000160: 65 20 70 61 72 61 6D 65 74 65 72 20 74 6F 20 47 e parameter to G
000170: 52 41 50 48 49 43 53 20 50 45 4E 20 69 73 20 61 RAPHICS PEN is a
000180: 6E 0D 0A 20 20 20 61 62 73 6F 6C 75 74 65 20 76 n.. absolute v
000190: 61 6C 75 65 20 79 6F 75 20 63 61 6E 20 75 73 65 alue you can use
0001A0: 20 20 74 68 65 20 20 73 61 6D 65 20 20 74 72 69 the same tri
0001B0: 63 6B 20 20 61 73 20 20 62 65 66 6F 72 65 20 61 ck as before a
0001C0: 6E 64 20 64 6F 20 43 41 4C 4C 20 26 42 42 44 45 nd do CALL &BBDE
0001D0: 0D 0A 20 20 20 66 6F 6C 6C 6F 77 65 64 20 62 79 .. followed by
0001E0: 20 74 68 65 20 72 69 67 68 74 20 6E 75 6D 62 65 the right numbe
0001F0: 72 20 6F 66 20 70 61 72 61 6D 65 74 65 72 73 2E r of parameters.
Size : 512 (Real : 512)
000000: 65 0D 0A 20 20 20 20 20 43 41 4C 4C 20 26 42 43 e.. CALL &BC
000010: 35 39 2C 31 2C 31 20 20 20 20 2D 20 63 68 6F 6F 59,1,1 - choo
000020: 73 65 73 20 41 4E 44 20 6D 6F 64 65 0D 0A 20 20 ses AND mode..
000030: 20 20 20 43 41 4C 4C 20 26 42 43 35 39 2C 31 2C CALL &BC59,1,
000040: 31 2C 31 20 20 2D 20 63 68 6F 6F 73 65 73 20 58 1,1 - chooses X
000050: 4F 52 20 6D 6F 64 65 0D 0A 0D 0A 20 20 20 54 68 OR mode.... Th
000060: 69 73 20 69 73 20 6E 6F 20 20 67 6F 6F 64 20 20 is is no good
000070: 69 66 20 20 74 68 65 20 20 44 52 41 57 20 20 63 if the DRAW c
000080: 6F 6D 6D 61 6E 64 20 20 68 61 73 20 20 61 20 20 ommand has a
000090: 76 61 72 69 61 62 6C 65 20 20 66 6F 72 20 74 68 variable for th
0000A0: 65 20 66 6F 75 72 74 68 0D 0A 20 20 20 70 61 72 e fourth.. par
0000B0: 61 6D 65 74 65 72 2E 20 20 46 6F 72 20 74 68 61 ameter. For tha
0000C0: 74 20 79 6F 75 20 73 68 6F 75 6C 64 20 75 73 65 t you should use
0000D0: 20 74 68 65 20 50 52 49 4E 54 20 43 48 52 24 28 the PRINT CHR$(
0000E0: 32 33 29 20 6D 65 74 68 6F 64 2E 0D 0A 0D 0A 20 23) method.....
0000F0: 20 20 41 53 20 43 4C 45 41 52 20 41 53 20 43 52 AS CLEAR AS CR
000100: 59 53 54 41 4C 0D 0A 20 20 20 41 6E 20 65 78 74 YSTAL.. An ext
000110: 72 61 20 70 61 72 61 6D 65 74 65 72 20 68 61 73 ra parameter has
000120: 20 62 65 65 6E 20 20 61 64 64 65 64 20 20 74 6F been added to
000130: 20 20 74 68 65 20 20 50 45 4E 20 20 63 6F 6D 6D the PEN comm
000140: 61 6E 64 20 74 6F 6F 2C 20 69 6E 20 6F 72 64 65 and too, in orde
000150: 72 20 74 6F 0D 0A 20 20 20 73 65 6C 65 63 74 20 r to.. select
000160: 74 68 65 20 20 74 65 78 74 20 20 62 61 63 6B 67 the text backg
000170: 72 6F 75 6E 64 20 20 6D 6F 64 65 2C 20 20 77 68 round mode, wh
000180: 69 63 68 20 20 69 73 20 20 30 20 20 66 6F 72 20 ich is 0 for
000190: 20 6F 70 61 71 75 65 20 20 61 6E 64 20 20 31 20 opaque and 1
0001A0: 66 6F 72 0D 0A 20 20 20 74 72 61 6E 73 70 61 72 for.. transpar
0001B0: 65 6E 74 2E 20 20 46 6F 72 20 20 65 78 61 6D 70 ent. For examp
0001C0: 6C 65 2C 20 20 50 45 4E 20 20 31 2C 31 20 20 77 le, PEN 1,1 w
0001D0: 69 6C 6C 20 20 73 65 6C 65 63 74 20 20 70 65 6E ill select pen
0001E0: 20 20 31 20 20 61 6E 64 20 20 73 65 74 20 20 74 1 and set t
0001F0: 68 65 0D 0A 20 20 20 62 61 63 6B 67 72 6F 75 6E he.. backgroun
Size : 512 (Real : 512)
000000: 20 20 55 73 69 6E 67 20 74 68 69 73 20 6D 65 74 Using this met
000010: 68 6F 64 0D 0A 0D 0A 20 20 20 20 20 43 41 4C 4C hod.... CALL
000020: 20 26 42 42 44 45 2C 31 2C 31 0D 0A 0D 0A 20 20 &BBDE,1,1....
000030: 20 68 61 73 20 74 68 65 20 73 61 6D 65 20 65 66 has the same ef
000040: 66 65 63 74 20 61 73 20 20 47 52 41 50 48 49 43 fect as GRAPHIC
000050: 53 20 20 50 45 4E 20 20 32 2C 20 20 62 65 63 61 S PEN 2, beca
000060: 75 73 65 20 20 74 68 65 72 65 20 61 72 65 20 32 use there are 2
000070: 20 70 61 72 61 6D 65 74 65 72 73 0D 0A 20 20 20 parameters..
000080: 61 66 74 65 72 20 74 68 65 20 43 41 4C 4C 2E 20 after the CALL.
000090: 20 49 66 20 79 6F 75 72 20 70 61 72 61 6D 65 74 If your paramet
0000A0: 65 72 20 20 69 73 20 20 61 20 20 76 61 72 69 61 er is a varia
0000B0: 62 6C 65 20 61 6E 64 20 74 68 65 20 50 4C 4F 54 ble and the PLOT
0000C0: 20 6D 65 74 68 6F 64 20 69 73 0D 0A 20 20 20 69 method is.. i
0000D0: 6E 63 6F 6E 76 65 6E 69 65 6E 74 2C 20 74 68 65 nconvenient, the
0000E0: 6E 20 61 20 6C 69 74 74 6C 65 20 62 69 74 20 20 n a little bit
0000F0: 6F 66 20 20 6D 61 63 68 69 6E 65 20 20 63 6F 64 of machine cod
000100: 65 20 63 61 6E 20 77 6F 72 6B 20 77 6F 6E 64 65 e can work wonde
000110: 72 73 2E 20 20 4A 75 73 74 0D 0A 20 20 20 69 6E rs. Just.. in
000120: 73 65 72 74 20 74 68 65 20 66 6F 6C 6C 6F 77 69 sert the followi
000130: 6E 67 20 6C 69 6E 65 20 6E 65 61 72 20 20 74 68 ng line near th
000140: 65 20 20 62 65 67 69 6E 6E 69 6E 67 20 20 6F 66 e beginning of
000150: 20 20 74 68 65 20 70 72 6F 67 72 61 6D 2C 20 61 the program, a
000160: 66 74 65 72 20 61 6E 79 0D 0A 20 20 20 53 59 4D fter any.. SYM
000170: 42 4F 4C 20 41 46 54 45 52 20 63 6F 6D 6D 61 6E BOL AFTER comman
000180: 64 20 69 66 20 74 68 65 72 65 20 69 73 20 6F 6E d if there is on
000190: 65 3A 0D 0A 0D 0A 20 20 20 31 20 67 70 65 6E 3D e:.... 1 gpen=
0001A0: 48 49 4D 45 4D 2D 35 3A 4D 45 4D 4F 52 59 20 48 HIMEM-5:MEMORY H
0001B0: 49 4D 45 4D 2D 36 3A 46 4F 52 20 67 3D 30 20 54 IMEM-6:FOR g=0 T
0001C0: 4F 20 35 3A 52 45 41 44 20 64 3A 50 4F 4B 45 20 O 5:READ d:POKE
0001D0: 67 70 65 6E 2B 67 2C 64 3A 4E 45 58 54 3A 44 41 gpen+g,d:NEXT:DA
0001E0: 54 41 0D 0A 20 20 20 20 20 26 44 44 2C 26 37 45 TA.. &DD,&7E
0001F0: 2C 30 2C 26 43 33 2C 26 44 45 2C 26 42 42 0D 0A ,0,&C3,&DE,&BB..
Size : 512 (Real : 512)
000000: 64 20 74 6F 20 74 72 61 6E 73 70 61 72 65 6E 74 d to transparent
000010: 2E 20 20 54 68 65 20 73 74 72 61 6E 67 65 2D 6C . The strange-l
000020: 6F 6F 6B 69 6E 67 20 63 6F 6D 6D 61 6E 64 20 50 ooking command P
000030: 45 4E 20 2C 30 20 77 69 6C 6C 20 73 65 6C 65 63 EN ,0 will selec
000040: 74 0D 0A 20 20 20 6F 70 61 71 75 65 20 62 61 63 t.. opaque bac
000050: 6B 67 72 6F 75 6E 64 20 6D 6F 64 65 20 62 75 74 kground mode but
000060: 20 6E 6F 74 20 61 6C 74 65 72 20 74 68 65 20 20 not alter the
000070: 70 65 6E 20 73 65 6C 65 63 74 65 64 2E 20 20 54 pen selected. T
000080: 6F 20 64 65 61 6C 20 77 69 74 68 20 74 68 69 73 o deal with this
000090: 0D 0A 20 20 20 70 61 72 61 6D 65 74 65 72 20 6F .. parameter o
0000A0: 6E 20 74 68 65 20 34 36 34 2C 20 79 6F 75 20 6E n the 464, you n
0000B0: 65 65 64 20 63 6F 6E 74 72 6F 6C 20 63 6F 64 65 eed control code
0000C0: 20 32 32 2E 0D 0A 0D 0A 20 20 20 20 20 50 45 4E 22..... PEN
0000D0: 20 31 2C 61 0D 0A 0D 0A 20 20 20 63 61 6E 20 62 1,a.... can b
0000E0: 65 20 72 65 70 6C 61 63 65 64 20 62 79 0D 0A 0D e replaced by...
0000F0: 0A 20 20 20 20 20 50 45 4E 20 31 3A 50 52 49 4E . PEN 1:PRIN
000100: 54 20 43 48 52 24 28 32 32 29 43 48 52 24 28 61 T CHR$(22)CHR$(a
000110: 29 3B 0D 0A 0D 0A 20 20 20 6F 72 20 79 6F 75 20 );.... or you
000120: 20 63 61 6E 20 20 75 73 65 20 20 61 20 20 73 69 can use a si
000130: 6D 69 6C 61 72 20 20 66 69 72 6D 77 61 72 65 20 milar firmware
000140: 20 74 72 69 63 6B 2C 20 20 61 6E 64 20 20 64 6F trick, and do
000150: 20 20 43 41 4C 4C 20 20 26 42 42 39 46 2C 31 20 CALL &BB9F,1
000160: 66 6F 72 0D 0A 20 20 20 74 72 61 6E 73 70 61 72 for.. transpar
000170: 65 6E 74 20 6F 72 20 43 41 4C 4C 20 26 42 42 39 ent or CALL &BB9
000180: 46 20 66 6F 72 20 6F 70 61 71 75 65 2E 0D 0A 0D F for opaque....
000190: 0A 20 20 20 54 48 45 20 43 55 52 53 45 20 4F 46 . THE CURSE OF
0001A0: 20 54 48 45 20 43 55 52 53 4F 52 0D 0A 20 20 20 THE CURSOR..
0001B0: 57 68 69 6C 65 20 77 65 20 61 72 65 20 6F 6E 20 While we are on
0001C0: 74 68 65 20 20 73 75 62 6A 65 63 74 20 20 6F 66 the subject of
0001D0: 20 20 74 65 78 74 20 20 70 72 69 6E 74 69 6E 67 text printing
0001E0: 2C 20 61 6E 6F 74 68 65 72 20 63 6F 6D 6D 61 6E , another comman
0001F0: 64 20 68 61 73 20 62 65 65 6E 0D 0A 20 20 20 61 d has been.. a
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 59 6F 75 20 63 61 6E 20 74 68 65 .. You can the
000010: 6E 20 72 65 70 6C 61 63 65 20 47 52 41 50 48 49 n replace GRAPHI
000020: 43 53 20 50 45 4E 20 63 6F 6D 6D 61 6E 64 73 20 CS PEN commands
000030: 73 75 63 68 20 61 73 0D 0A 0D 0A 20 20 20 20 20 such as....
000040: 47 52 41 50 48 49 43 53 20 50 45 4E 20 78 0D 0A GRAPHICS PEN x..
000050: 0D 0A 20 20 20 77 69 74 68 0D 0A 0D 0A 20 20 20 .. with....
000060: 20 20 43 41 4C 4C 20 67 70 65 6E 2C 78 0D 0A 0D CALL gpen,x...
000070: 0A 20 20 20 59 6F 75 20 6D 61 79 20 6E 6F 74 69 . You may noti
000080: 63 65 20 74 68 61 74 20 74 68 65 20 20 6C 61 73 ce that the las
000090: 74 20 20 74 77 6F 20 20 62 79 74 65 73 20 20 6F t two bytes o
0000A0: 66 20 20 64 61 74 61 20 20 69 6E 20 20 74 68 61 f data in tha
0000B0: 74 20 6C 69 6E 65 20 61 72 65 20 74 68 65 0D 0A t line are the..
0000C0: 20 20 20 66 69 72 6D 77 61 72 65 20 72 6F 75 74 firmware rout
0000D0: 69 6E 65 20 61 64 64 72 65 73 73 20 66 6F 72 20 ine address for
0000E0: 47 52 41 20 53 45 54 20 50 45 4E 2C 20 20 62 75 GRA SET PEN, bu
0000F0: 74 20 74 6F 20 67 65 74 20 74 68 65 20 61 64 64 t to get the add
000100: 72 65 73 73 20 69 6E 74 6F 20 74 68 65 0D 0A 20 ress into the..
000110: 20 20 66 6F 72 6D 20 74 68 65 20 5A 38 30 20 6C form the Z80 l
000120: 69 6B 65 73 20 69 74 20 68 61 73 20 20 62 65 65 ikes it has bee
000130: 6E 20 20 63 68 6F 70 70 65 64 20 20 69 6E 20 20 n chopped in
000140: 74 77 6F 20 61 6E 64 20 74 68 65 20 73 65 63 6F two and the seco
000150: 6E 64 20 68 61 6C 66 20 28 74 68 65 0D 0A 20 20 nd half (the..
000160: 20 6C 65 61 73 74 20 73 69 67 6E 69 66 69 63 61 least significa
000170: 6E 74 20 62 79 74 65 29 20 69 73 20 70 75 74 20 nt byte) is put
000180: 20 69 6E 20 20 66 69 72 73 74 2E 20 20 20 57 65 in first. We
000190: 20 20 63 61 6E 20 20 75 73 65 20 65 78 61 63 74 can use exact
0001A0: 6C 79 20 74 68 65 20 73 61 6D 65 0D 0A 20 20 20 ly the same..
0001B0: 74 65 63 68 6E 69 71 75 65 20 66 6F 72 20 61 6C technique for al
0001C0: 6C 20 6F 66 20 74 68 65 20 6F 74 68 65 72 20 66 l of the other f
0001D0: 69 72 6D 77 61 72 65 20 72 6F 75 74 69 6E 65 73 irmware routines
0001E0: 20 6D 65 6E 74 69 6F 6E 65 64 20 73 6F 20 66 61 mentioned so fa
0001F0: 72 2E 20 20 54 6F 20 73 65 74 0D 0A 20 20 20 74 r. To set.. t
Size : 512 (Real : 512)
000000: 45 52 52 20 20 66 75 6E 63 74 69 6F 6E 2C 20 20 ERR function,
000010: 61 6E 64 20 74 68 65 20 62 61 63 6B 67 72 6F 75 and the backgrou
000020: 6E 64 20 6D 6F 64 65 0D 0A 20 20 20 70 61 72 61 nd mode.. para
000030: 6D 65 74 65 72 20 6F 66 20 74 68 65 20 47 52 41 meter of the GRA
000040: 50 48 49 43 53 20 50 45 4E 20 63 6F 6D 6D 61 6E PHICS PEN comman
000050: 64 20 20 61 72 65 20 20 72 61 74 68 65 72 20 68 d are rather h
000060: 61 72 64 65 72 20 74 6F 20 64 65 61 6C 20 77 69 arder to deal wi
000070: 74 68 2C 20 61 73 0D 0A 20 20 20 74 68 65 72 65 th, as.. there
000080: 20 69 73 20 6E 6F 20 73 75 70 70 6F 72 74 20 69 is no support i
000090: 6E 20 20 74 68 65 20 20 34 36 34 27 73 20 20 66 n the 464's f
0000A0: 69 72 6D 77 61 72 65 20 20 66 6F 72 20 74 68 65 irmware for the
0000B0: 73 65 20 66 65 61 74 75 72 65 73 2E 20 20 59 6F se features. Yo
0000C0: 75 20 6D 61 79 0D 0A 20 20 20 66 69 6E 64 20 74 u may.. find t
0000D0: 68 61 74 20 74 68 65 20 70 72 6F 67 72 61 6D 20 hat the program
0000E0: 77 6F 72 6B 73 20 20 72 65 61 73 6F 6E 61 62 6C works reasonabl
0000F0: 79 20 20 77 65 6C 6C 20 20 69 66 20 20 79 6F 75 y well if you
000100: 20 6A 75 73 74 20 63 68 6F 70 20 74 68 65 6D 20 just chop them
000110: 6F 75 74 21 0D 0A 20 20 20 45 76 65 6E 20 77 69 out!.. Even wi
000120: 74 68 6F 75 74 20 74 68 65 73 65 2C 20 79 6F 75 thout these, you
000130: 20 77 69 6C 6C 20 62 65 20 61 62 6C 65 20 74 6F will be able to
000140: 20 67 65 74 20 61 20 67 6F 6F 64 20 6E 75 6D 62 get a good numb
000150: 65 72 20 6F 66 20 36 31 32 38 20 70 72 6F 67 72 er of 6128 progr
000160: 61 6D 73 0D 0A 20 20 20 77 6F 72 6B 69 6E 67 20 ams.. working
000170: 6F 6E 20 74 68 65 20 34 36 34 2E 0D 0A 0D 0A 20 on the 464.....
000180: 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 There are a fe
000190: 77 20 6D 6F 72 65 20 73 75 62 74 6C 65 20 20 64 w more subtle d
0001A0: 69 66 66 65 72 65 6E 63 65 73 20 20 62 65 74 77 ifferences betw
0001B0: 65 65 6E 20 42 41 53 49 43 20 31 2E 30 20 61 6E een BASIC 1.0 an
0001C0: 64 20 31 2E 31 2C 20 77 68 69 63 68 0D 0A 20 20 d 1.1, which..
0001D0: 20 61 72 65 20 6D 6F 73 74 6C 79 20 66 69 78 65 are mostly fixe
0001E0: 73 20 66 6F 72 20 62 75 67 73 2E 20 20 57 65 20 s for bugs. We
0001F0: 20 77 69 6C 6C 20 20 68 61 76 65 20 20 61 20 20 will have a
Size : 512 (Real : 512)
000000: 75 20 63 61 6E 20 72 65 70 6C 61 63 65 20 69 74 u can replace it
000010: 20 77 69 74 68 0D 0A 0D 0A 20 20 20 20 20 61 24 with.... a$
000020: 3D 43 48 52 24 28 30 29 3A 43 41 4C 4C 20 63 6F =CHR$(0):CALL co
000030: 70 79 63 68 72 2C 40 61 24 0D 0A 0D 0A 20 20 20 pychr,@a$....
000040: 42 65 63 61 75 73 65 20 43 4F 50 59 43 48 52 24 Because COPYCHR$
000050: 20 69 73 20 61 20 66 75 6E 63 74 69 6F 6E 2C 20 is a function,
000060: 79 6F 75 20 63 6F 75 6C 64 20 67 65 74 20 69 74 you could get it
000070: 20 63 6F 6D 69 6E 67 20 75 70 20 69 6E 20 61 6C coming up in al
000080: 6C 20 73 6F 72 74 73 20 6F 66 0D 0A 20 20 20 61 l sorts of.. a
000090: 77 6B 77 61 72 64 20 73 69 74 75 61 74 69 6F 6E wkward situation
0000A0: 73 2E 20 20 46 6F 72 20 65 78 61 6D 70 6C 65 2C s. For example,
0000B0: 20 79 6F 75 20 6D 69 67 68 74 20 68 61 76 65 0D you might have.
0000C0: 0A 0D 0A 20 20 20 20 20 78 24 3D 78 24 2B 55 50 ... x$=x$+UP
0000D0: 50 45 52 24 28 43 4F 50 59 43 48 52 24 28 23 30 PER$(COPYCHR$(#0
0000E0: 29 29 0D 0A 0D 0A 20 20 20 69 6E 20 77 68 69 63 )).... in whic
0000F0: 68 20 63 61 73 65 20 79 6F 75 20 77 6F 75 6C 64 h case you would
000100: 20 68 61 76 65 20 74 6F 20 64 6F 20 73 6F 6D 65 have to do some
000110: 74 68 69 6E 67 20 6C 69 6B 65 0D 0A 0D 0A 20 20 thing like....
000120: 20 20 20 61 24 3D 43 48 52 24 28 30 29 3A 43 41 a$=CHR$(0):CA
000130: 4C 4C 20 63 6F 70 79 63 68 72 2C 40 61 24 3A 78 LL copychr,@a$:x
000140: 24 3D 78 24 2B 55 50 50 45 52 24 28 61 24 29 0D $=x$+UPPER$(a$).
000150: 0A 0D 0A 20 20 20 59 6F 75 20 77 6F 75 6C 64 20 ... You would
000160: 68 61 76 65 20 74 6F 20 6D 61 6B 65 20 73 75 72 have to make sur
000170: 65 20 74 68 61 74 20 20 74 68 65 20 20 76 61 72 e that the var
000180: 69 61 62 6C 65 20 20 61 24 20 77 61 73 20 6E 6F iable a$ was no
000190: 74 20 62 65 69 6E 67 20 75 73 65 64 20 66 6F 72 t being used for
0001A0: 0D 0A 20 20 20 61 6E 79 74 68 69 6E 67 20 65 6C .. anything el
0001B0: 73 65 20 69 6E 20 74 68 69 73 20 63 61 73 65 2E se in this case.
0001C0: 0D 0A 0D 0A 20 20 20 54 68 65 20 6D 61 63 68 69 .... The machi
0001D0: 6E 65 20 63 6F 64 65 20 49 20 20 68 61 76 65 20 ne code I have
0001E0: 20 6A 75 73 74 20 20 67 69 76 65 6E 20 20 64 69 just given di
0001F0: 66 66 65 72 73 20 20 69 6E 20 20 74 77 6F 20 20 ffers in two
Size : 512 (Real : 512)
000000: 6C 6F 6F 6B 20 20 61 74 20 73 6F 6D 65 20 6F 66 look at some of
000010: 20 74 68 65 73 65 20 6E 65 78 74 0D 0A 20 20 20 these next..
000020: 6D 6F 6E 74 68 2C 20 61 73 20 73 6F 6D 65 20 6F month, as some o
000030: 66 20 74 68 65 6D 20 6D 61 6B 65 20 71 75 69 74 f them make quit
000040: 65 20 61 20 62 69 67 20 64 69 66 66 65 72 65 6E e a big differen
000050: 63 65 20 74 6F 20 68 6F 77 20 63 65 72 74 61 69 ce to how certai
000060: 6E 20 63 6F 6D 6D 61 6E 64 73 0D 0A 20 20 20 77 n commands.. w
000070: 6F 72 6B 2E 0D 0A 1A 68 65 20 73 75 6E 20 62 65 ork....he sun be
000080: 20 69 73 20 6E 6F 20 73 75 70 70 6F 72 74 20 69 is no support i
000090: 6E 20 20 74 68 65 20 20 34 36 34 27 73 20 20 66 n the 464's f
0000A0: 69 72 6D 77 61 72 65 20 20 66 6F 72 20 74 68 65 irmware for the
0000B0: 73 65 20 66 65 61 74 75 72 65 73 2E 20 20 59 6F se features. Yo
0000C0: 75 20 6D 61 79 0D 0A 20 20 20 66 69 6E 64 20 74 u may.. find t
0000D0: 68 61 74 20 74 68 65 20 70 72 6F 67 72 61 6D 20 hat the program
0000E0: 77 6F 72 6B 73 20 20 72 65 61 73 6F 6E 61 62 6C works reasonabl
0000F0: 79 20 20 77 65 6C 6C 20 20 69 66 20 20 79 6F 75 y well if you
000100: 20 6A 75 73 74 20 63 68 6F 70 20 74 68 65 6D 20 just chop them
000110: 6F 75 74 21 0D 0A 20 20 20 45 76 65 6E 20 77 69 out!.. Even wi
000120: 74 68 6F 75 74 20 74 68 65 73 65 2C 20 79 6F 75 thout these, you
000130: 20 77 69 6C 6C 20 62 65 20 61 62 6C 65 20 74 6F will be able to
000140: 20 67 65 74 20 61 20 67 6F 6F 64 20 6E 75 6D 62 get a good numb
000150: 65 72 20 6F 66 20 36 31 32 38 20 70 72 6F 67 72 er of 6128 progr
000160: 61 6D 73 0D 0A 20 20 20 77 6F 72 6B 69 6E 67 20 ams.. working
000170: 6F 6E 20 74 68 65 20 34 36 34 2E 0D 0A 0D 0A 20 on the 464.....
000180: 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 There are a fe
000190: 77 20 6D 6F 72 65 20 73 75 62 74 6C 65 20 20 64 w more subtle d
0001A0: 69 66 66 65 72 65 6E 63 65 73 20 20 62 65 74 77 ifferences betw
0001B0: 65 65 6E 20 42 41 53 49 43 20 31 2E 30 20 61 6E een BASIC 1.0 an
0001C0: 64 20 31 2E 31 2C 20 77 68 69 63 68 0D 0A 20 20 d 1.1, which..
0001D0: 20 61 72 65 20 6D 6F 73 74 6C 79 20 66 69 78 65 are mostly fixe
0001E0: 73 20 66 6F 72 20 62 75 67 73 2E 20 20 57 65 20 s for bugs. We
0001F0: 20 77 69 6C 6C 20 20 68 61 76 65 20 20 61 20 20 will have a
Size : 512 (Real : 512)
000000: 72 65 73 70 65 63 74 73 20 66 72 6F 6D 20 74 68 respects from th
000010: 65 0D 0A 20 20 20 43 4F 50 59 43 48 52 24 20 20 e.. COPYCHR$
000020: 66 75 6E 63 74 69 6F 6E 2E 20 20 20 49 66 20 20 function. If
000030: 74 68 65 20 20 63 68 61 72 61 63 74 65 72 20 20 the character
000040: 72 65 61 64 20 20 66 72 6F 6D 20 20 74 68 65 20 read from the
000050: 20 73 63 72 65 65 6E 20 20 69 73 20 20 6E 6F 74 screen is not
000060: 0D 0A 20 20 20 72 65 63 6F 67 6E 69 73 65 64 2C .. recognised,
000070: 20 74 68 65 20 43 4F 50 59 43 48 52 24 20 66 75 the COPYCHR$ fu
000080: 6E 63 74 69 6F 6E 20 20 72 65 74 75 72 6E 73 20 nction returns
000090: 20 61 6E 20 20 65 6D 70 74 79 20 20 73 74 72 69 an empty stri
0000A0: 6E 67 2C 20 77 68 65 72 65 61 73 20 74 68 65 0D ng, whereas the.
0000B0: 0A 20 20 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 . machine code
0000C0: 20 77 69 6C 6C 20 72 65 74 75 72 6E 20 43 48 52 will return CHR
0000D0: 24 28 30 29 2E 20 20 49 66 20 79 6F 75 20 20 6E $(0). If you n
0000E0: 65 65 64 20 20 74 6F 20 74 65 73 74 20 66 6F 72 eed to test for
0000F0: 20 74 68 69 73 2C 20 69 74 20 77 69 6C 6C 0D 0A this, it will..
000100: 20 20 20 6E 6F 74 20 63 61 75 73 65 20 74 6F 6F not cause too
000110: 20 6D 75 63 68 20 74 72 6F 75 62 6C 65 2C 20 61 much trouble, a
000120: 73 20 20 43 48 52 24 28 30 29 20 20 69 73 20 76 s CHR$(0) is v
000130: 65 72 79 20 72 61 72 65 6C 79 20 70 72 69 6E 74 ery rarely print
000140: 65 64 20 6F 6E 20 73 63 72 65 65 6E 2C 0D 0A 20 ed on screen,..
000150: 20 20 73 6F 20 79 6F 75 20 61 72 65 20 6E 6F 74 so you are not
000160: 20 6C 69 6B 65 6C 79 20 74 6F 20 20 6A 75 6D 70 likely to jump
000170: 20 20 74 6F 20 20 74 68 65 20 77 72 6F 6E 67 20 to the wrong
000180: 63 6F 6E 63 6C 75 73 69 6F 6E 73 2E 20 20 41 6C conclusions. Al
000190: 73 6F 2C 20 43 4F 50 59 43 48 52 24 0D 0A 20 20 so, COPYCHR$..
0001A0: 20 61 6C 6C 6F 77 73 20 79 6F 75 20 74 6F 20 73 allows you to s
0001B0: 70 65 63 69 66 79 20 77 68 69 63 68 20 20 77 69 pecify which wi
0001C0: 6E 64 6F 77 20 20 74 6F 20 20 72 65 61 64 20 20 ndow to read
0001D0: 66 72 6F 6D 2C 20 77 68 69 6C 65 20 6D 79 20 6D from, while my m
0001E0: 61 63 68 69 6E 65 20 63 6F 64 65 0D 0A 20 20 20 achine code..
0001F0: 61 6C 77 61 79 73 20 72 65 61 64 73 20 66 72 6F always reads fro
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 6D 20 77 69 6E 64 6F 77 20 30 2E 20 20 49 66 20 m window 0. If
000010: 79 6F 75 20 63 6F 6D 65 20 61 63 72 6F 73 73 20 you come across
000020: 43 4F 50 59 43 48 52 24 28 23 33 29 2C 20 66 6F COPYCHR$(#3), fo
000030: 72 20 65 78 61 6D 70 6C 65 2C 0D 0A 20 20 20 6A r example,.. j
000040: 75 73 74 20 70 6F 70 20 69 6E 20 61 20 57 49 4E ust pop in a WIN
000050: 44 4F 57 20 53 57 41 50 20 20 30 2C 33 20 20 62 DOW SWAP 0,3 b
000060: 65 66 6F 72 65 20 20 61 6E 64 20 20 61 66 74 65 efore and afte
000070: 72 20 74 68 65 20 63 61 6C 6C 20 74 6F 20 74 68 r the call to th
000080: 65 20 6D 61 63 68 69 6E 65 0D 0A 20 20 20 63 6F e machine.. co
000090: 64 65 2E 0D 0A 0D 0A 20 20 20 4C 4F 43 4F 4D 4F de..... LOCOMO
0000A0: 54 49 56 45 20 46 41 49 4C 55 52 45 0D 0A 20 20 TIVE FAILURE..
0000B0: 20 54 68 65 20 44 45 43 24 20 66 75 6E 63 74 69 The DEC$ functi
0000C0: 6F 6E 20 69 73 20 20 71 75 69 74 65 20 20 61 6E on is quite an
0000D0: 20 20 69 6E 74 65 72 65 73 74 69 6E 67 20 20 6F interesting o
0000E0: 6E 65 2C 20 20 62 65 63 61 75 73 65 20 69 74 20 ne, because it
0000F0: 69 73 20 61 63 74 75 61 6C 6C 79 0D 0A 20 20 20 is actually..
000100: 70 72 65 73 65 6E 74 20 69 6E 20 34 36 34 20 42 present in 464 B
000110: 41 53 49 43 2E 20 20 54 68 65 20 20 72 65 61 73 ASIC. The reas
000120: 6F 6E 20 20 69 74 20 20 69 73 6E 27 74 20 20 61 on it isn't a
000130: 64 76 65 72 74 69 73 65 64 20 69 6E 20 74 68 65 dvertised in the
000140: 20 6D 61 6E 75 61 6C 20 69 73 0D 0A 20 20 20 74 manual is.. t
000150: 68 61 74 20 74 68 65 72 65 20 69 73 20 61 20 6D hat there is a m
000160: 69 6E 6F 72 20 62 75 67 20 69 6E 20 69 74 2E 20 inor bug in it.
000170: 20 59 6F 75 20 73 69 6D 70 6C 79 20 68 61 76 65 You simply have
000180: 20 74 6F 20 69 6E 63 6C 75 64 65 20 61 6E 20 65 to include an e
000190: 78 74 72 61 20 6C 65 66 74 0D 0A 20 20 20 62 72 xtra left.. br
0001A0: 61 63 6B 65 74 20 61 66 74 65 72 20 74 68 65 20 acket after the
0001B0: 6E 61 6D 65 20 6F 66 20 74 68 65 20 66 75 6E 63 name of the func
0001C0: 74 69 6F 6E 20 77 68 65 6E 20 79 6F 75 20 75 73 tion when you us
0001D0: 65 20 69 74 21 20 20 54 72 79 0D 0A 0D 0A 20 20 e it! Try....
0001E0: 20 20 20 50 52 49 4E 54 20 44 45 43 24 28 28 34 PRINT DEC$((4
0001F0: 35 36 37 2C 22 23 23 23 23 2C 22 29 0D 0A 0D 0A 567,"####,")....
Size : 512 (Real : 512)
000000: 68 65 20 41 6D 73 74 72 61 64 2C 0D 0A 20 20 20 he Amstrad,..
000010: 77 61 73 20 74 6F 20 75 73 65 20 74 68 65 20 43 was to use the C
000020: 4C 47 20 20 63 6F 6D 6D 61 6E 64 20 20 77 68 69 LG command whi
000030: 63 68 20 20 63 6C 65 61 72 73 20 20 74 68 65 20 ch clears the
000040: 67 72 61 70 68 69 63 73 20 77 69 6E 64 6F 77 2C graphics window,
000050: 20 62 75 74 20 66 69 72 73 74 0D 0A 20 20 20 72 but first.. r
000060: 65 64 65 66 69 6E 69 6E 67 20 74 68 65 20 67 72 edefining the gr
000070: 61 70 68 69 63 73 20 77 69 6E 64 6F 77 20 73 6F aphics window so
000080: 20 74 68 61 74 20 69 74 20 77 61 73 20 6F 66 66 that it was off
000090: 20 73 63 72 65 65 6E 2E 0D 0A 0D 0A 20 20 20 20 screen.....
0000A0: 20 47 52 41 50 48 49 43 53 20 50 41 50 45 52 20 GRAPHICS PAPER
0000B0: 78 0D 0A 0D 0A 20 20 20 77 6F 75 6C 64 20 62 65 x.... would be
0000C0: 20 72 65 70 6C 61 63 65 64 20 62 79 0D 0A 0D 0A replaced by....
0000D0: 20 20 20 20 20 4F 52 49 47 49 4E 20 31 30 30 30 ORIGIN 1000
0000E0: 2C 31 30 30 30 2C 31 30 30 30 2C 32 30 30 30 2C ,1000,1000,2000,
0000F0: 33 30 30 30 2C 34 30 30 30 3A 43 4C 47 20 78 3A 3000,4000:CLG x:
000100: 4F 52 49 47 49 4E 20 30 2C 30 2C 30 2C 36 34 30 ORIGIN 0,0,0,640
000110: 2C 30 2C 34 30 30 0D 0A 0D 0A 20 20 20 54 68 65 ,0,400.... The
000120: 20 6F 6E 6C 79 20 70 72 6F 62 6C 65 6D 20 77 69 only problem wi
000130: 74 68 20 74 68 69 73 20 69 73 20 74 68 61 74 20 th this is that
000140: 20 69 74 20 20 64 6F 65 73 6E 27 74 20 77 6F 72 it doesn't wor
000150: 6B 20 71 75 69 74 65 20 61 73 20 69 6E 74 65 6E k quite as inten
000160: 64 65 64 2C 20 61 73 0D 0A 20 20 20 61 20 73 6D ded, as.. a sm
000170: 61 6C 6C 20 70 69 65 63 65 20 6F 66 20 74 68 65 all piece of the
000180: 20 74 6F 70 20 72 69 67 68 74 20 6F 66 20 74 68 top right of th
000190: 65 20 73 63 72 65 65 6E 20 63 68 61 6E 67 65 73 e screen changes
0001A0: 20 63 6F 6C 6F 75 72 21 0D 0A 0D 0A 20 20 20 52 colour!.... R
0001B0: 45 41 44 49 4E 47 20 46 52 4F 4D 20 54 48 45 20 EADING FROM THE
0001C0: 53 43 52 45 45 4E 0D 0A 20 20 20 54 68 65 20 43 SCREEN.. The C
0001D0: 4F 50 59 43 48 52 24 20 66 75 6E 63 74 69 6F 6E OPYCHR$ function
0001E0: 20 63 61 6E 20 62 65 20 71 75 69 74 65 20 75 73 can be quite us
0001F0: 65 66 75 6C 2C 20 62 75 74 20 66 6F 72 74 75 6E eful, but fortun
Size : 512 (Real : 512)
000000: 20 20 20 61 6E 64 20 79 6F 75 20 77 6F 6E 27 74 and you won't
000010: 20 67 65 74 20 61 20 73 79 6E 74 61 78 20 65 72 get a syntax er
000020: 72 6F 72 2E 0D 0A 0D 0A 20 20 20 54 68 65 20 66 ror..... The f
000030: 6F 72 6D 61 74 20 73 70 65 63 69 66 69 65 72 20 ormat specifier
000040: 77 6F 72 6B 73 20 69 6E 20 74 68 65 20 20 73 61 works in the sa
000050: 6D 65 20 20 77 61 79 20 20 61 73 20 20 74 68 61 me way as tha
000060: 74 20 66 6F 72 20 74 68 65 20 50 52 49 4E 54 20 t for the PRINT
000070: 55 53 49 4E 47 0D 0A 20 20 20 63 6F 6D 6D 61 6E USING.. comman
000080: 64 2E 20 20 54 68 65 72 65 20 69 73 20 61 6E 6F d. There is ano
000090: 74 68 65 72 20 20 73 6D 61 6C 6C 20 20 64 69 66 ther small dif
0000A0: 66 65 72 65 6E 63 65 20 20 62 65 74 77 65 65 6E ference between
0000B0: 20 20 42 41 53 49 43 20 20 31 2E 30 20 61 6E 64 BASIC 1.0 and
0000C0: 20 31 2E 31 0D 0A 20 20 20 68 65 72 65 2C 20 61 1.1.. here, a
0000D0: 73 20 42 41 53 49 43 20 31 2E 31 20 61 6C 6C 6F s BASIC 1.1 allo
0000E0: 77 73 20 79 6F 75 20 74 6F 20 20 75 73 65 20 20 ws you to use
0000F0: 74 68 65 20 70 6F 75 6E 64 20 73 69 67 6E 20 69 the pound sign i
000100: 6E 20 66 6F 72 6D 61 74 20 73 70 65 63 69 66 69 n format specifi
000110: 65 72 73 0D 0A 20 20 20 61 73 20 61 6E 20 61 6C ers.. as an al
000120: 74 65 72 6E 61 74 69 76 65 20 74 6F 20 74 68 65 ternative to the
000130: 20 64 6F 6C 6C 61 72 2E 0D 0A 0D 0A 20 20 20 49 dollar..... I
000140: 66 20 79 6F 75 20 77 61 6E 74 20 74 68 65 20 70 f you want the p
000150: 72 6F 67 72 61 6D 20 74 6F 20 77 6F 72 6B 20 6F rogram to work o
000160: 6E 20 61 6C 6C 20 6F 66 20 74 68 65 20 43 50 43 n all of the CPC
000170: 73 2C 20 79 6F 75 20 77 69 6C 6C 20 68 61 76 65 s, you will have
000180: 20 74 6F 20 61 76 6F 69 64 0D 0A 20 20 20 74 68 to avoid.. th
000190: 65 20 44 45 43 24 20 63 6F 6D 6D 61 6E 64 20 61 e DEC$ command a
0001A0: 6E 64 20 72 65 77 72 69 74 65 20 69 74 20 73 6F nd rewrite it so
0001B0: 6D 65 20 6F 74 68 65 72 20 77 61 79 2E 0D 0A 0D me other way....
0001C0: 0A 20 20 20 4D 49 53 53 49 4F 4E 20 41 20 42 49 . MISSION A BI
0001D0: 54 20 48 41 52 44 45 52 0D 0A 20 20 20 54 68 65 T HARDER.. The
0001E0: 20 46 49 4C 4C 20 61 6E 64 20 4D 41 53 4B 20 63 FILL and MASK c
0001F0: 6F 6D 6D 61 6E 64 73 2C 20 20 74 68 65 20 20 44 ommands, the D
Size : 512 (Real : 512)
000000: 61 74 65 6C 79 20 69 74 20 69 73 20 63 6F 6E 74 ately it is cont
000010: 61 69 6E 65 64 0D 0A 20 20 20 69 6E 20 74 68 65 ained.. in the
000020: 20 31 2E 30 20 66 69 72 6D 77 61 72 65 20 61 6E 1.0 firmware an
000030: 64 20 73 6F 20 77 65 20 63 61 6E 20 64 6F 20 69 d so we can do i
000040: 74 20 71 75 69 74 65 20 65 61 73 69 6C 79 20 6F t quite easily o
000050: 6E 20 74 68 65 20 34 36 34 2E 20 20 49 74 20 6E n the 464. It n
000060: 65 65 64 73 0D 0A 20 20 20 61 20 62 69 74 20 6F eeds.. a bit o
000070: 66 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 61 f machine code a
000080: 67 61 69 6E 2C 20 61 6E 64 20 20 74 68 65 20 20 gain, and the
000090: 73 79 6E 74 61 78 20 69 73 20 61 20 62 69 74 20 syntax is a bit
0000A0: 64 69 66 66 65 72 65 6E 74 2E 20 20 50 75 74 20 different. Put
0000B0: 74 68 65 0D 0A 20 20 20 66 6F 6C 6C 6F 77 69 6E the.. followin
0000C0: 67 20 6C 69 6E 65 20 61 74 20 20 74 68 65 20 20 g line at the
0000D0: 73 74 61 72 74 20 20 6F 66 20 20 74 68 65 20 20 start of the
0000E0: 70 72 6F 67 72 61 6D 20 20 28 61 66 74 65 72 20 program (after
0000F0: 20 61 6E 79 20 20 53 59 4D 42 4F 4C 20 41 46 54 any SYMBOL AFT
000100: 45 52 0D 0A 20 20 20 63 6F 6D 6D 61 6E 64 29 3A ER.. command):
000110: 0D 0A 0D 0A 20 20 20 31 20 63 6F 70 79 63 68 72 .... 1 copychr
000120: 3D 48 49 4D 45 4D 2D 31 37 3A 4D 45 4D 4F 52 59 =HIMEM-17:MEMORY
000130: 20 48 49 4D 45 4D 2D 31 38 3A 46 4F 52 20 67 3D HIMEM-18:FOR g=
000140: 30 20 54 4F 20 31 37 3A 52 45 41 44 20 64 3A 50 0 TO 17:READ d:P
000150: 4F 4B 45 20 63 6F 70 79 63 68 72 2B 67 2C 64 3A OKE copychr+g,d:
000160: 0D 0A 20 20 20 20 20 4E 45 58 54 3A 44 41 54 41 .. NEXT:DATA
000170: 20 26 44 44 2C 26 36 45 2C 30 2C 26 44 44 2C 26 &DD,&6E,0,&DD,&
000180: 36 36 2C 31 2C 26 37 45 2C 26 42 37 2C 26 43 38 66,1,&7E,&B7,&C8
000190: 2C 26 43 44 2C 26 36 30 2C 26 42 42 2C 26 32 33 ,&CD,&60,&BB,&23
0001A0: 2C 26 35 45 2C 26 32 33 2C 26 35 36 2C 0D 0A 20 ,&5E,&23,&56,..
0001B0: 20 20 20 20 26 31 32 2C 26 43 39 0D 0A 0D 0A 20 &12,&C9....
0001C0: 20 20 49 66 20 79 6F 75 20 68 61 76 65 20 61 20 If you have a
0001D0: 63 6F 6D 6D 61 6E 64 20 73 75 63 68 20 61 73 0D command such as.
0001E0: 0A 0D 0A 20 20 20 20 20 61 24 3D 43 4F 50 59 43 ... a$=COPYC
0001F0: 48 52 24 28 23 30 29 0D 0A 0D 0A 20 20 20 79 6F HR$(#0).... yo
Size : 512 (Real : 512)
000000: 23 43 6F 6D 6D 61 6E 64 73 20 69 6E 74 72 6F 64 #Commands introd
000010: 75 63 65 64 20 6F 72 20 61 6C 74 65 72 65 64 20 uced or altered
000020: 69 6E 20 42 41 53 49 43 20 31 2E 31 0D 0A 20 0D in BASIC 1.1.. .
000030: 0A 20 20 20 43 4C 45 41 52 20 49 4E 50 55 54 0D . CLEAR INPUT.
000040: 0A 20 20 20 20 20 43 6C 65 61 72 73 20 74 68 65 . Clears the
000050: 20 6B 65 79 62 6F 61 72 64 20 69 6E 70 75 74 20 keyboard input
000060: 62 75 66 66 65 72 2E 0D 0A 0D 0A 20 20 20 43 4F buffer..... CO
000070: 50 59 43 48 52 24 28 23 3C 73 74 72 65 61 6D 20 PYCHR$(#<stream
000080: 65 78 70 72 65 73 73 69 6F 6E 3E 29 0D 0A 20 20 expression>)..
000090: 20 20 20 46 75 6E 63 74 69 6F 6E 20 72 65 74 75 Function retu
0000A0: 72 6E 69 6E 67 20 74 68 65 20 63 68 61 72 61 63 rning the charac
0000B0: 74 65 72 20 66 6F 75 6E 64 20 61 74 20 74 68 65 ter found at the
0000C0: 20 63 75 72 72 65 6E 74 20 63 75 72 73 6F 72 20 current cursor
0000D0: 70 6F 73 69 74 69 6F 6E 20 69 6E 0D 0A 20 20 20 position in..
0000E0: 20 20 74 68 65 20 73 63 72 65 65 6E 20 77 69 6E the screen win
0000F0: 64 6F 77 20 73 70 65 63 69 66 69 65 64 2C 20 6F dow specified, o
000100: 72 20 61 20 6E 75 6C 6C 20 73 74 72 69 6E 67 20 r a null string
000110: 69 66 20 69 74 20 69 73 20 6E 6F 74 20 72 65 63 if it is not rec
000120: 6F 67 6E 69 7A 65 64 2E 0D 0A 0D 0A 20 20 20 20 ognized.....
000130: 20 4C 4F 43 41 54 45 20 31 2C 31 3A 61 24 3D 43 LOCATE 1,1:a$=C
000140: 4F 50 59 43 48 52 24 28 23 30 29 0D 0A 20 20 20 OPYCHR$(#0)..
000150: 20 20 72 65 61 64 73 20 74 68 65 20 63 68 61 72 reads the char
000160: 61 63 74 65 72 20 66 72 6F 6D 20 74 68 65 20 74 acter from the t
000170: 6F 70 20 6C 65 66 74 20 63 6F 72 6E 65 72 20 6F op left corner o
000180: 66 20 77 69 6E 64 6F 77 20 30 2E 0D 0A 0D 0A 20 f window 0.....
000190: 20 20 43 55 52 53 4F 52 20 5B 3C 73 79 73 74 65 CURSOR [<syste
0001A0: 6D 20 73 77 69 74 63 68 3E 5D 5B 2C 3C 75 73 65 m switch>][,<use
0001B0: 72 20 73 77 69 74 63 68 3E 5D 0D 0A 20 20 20 20 r switch>]..
0001C0: 20 53 65 74 73 20 74 68 65 20 73 77 69 74 63 68 Sets the switch
0001D0: 65 73 20 74 68 61 74 20 63 6F 6E 74 72 6F 6C 20 es that control
0001E0: 74 68 65 20 64 69 73 70 6C 61 79 20 6F 66 20 74 the display of t
0001F0: 68 65 20 63 75 72 73 6F 72 20 62 6C 6F 62 20 6F he cursor blob o
Size : 512 (Real : 512)
000000: 20 20 31 2E 20 20 20 45 69 74 68 65 72 20 20 70 1. Either p
000010: 61 72 61 6D 65 74 65 72 20 20 6D 61 79 20 62 65 arameter may be
000020: 20 6F 6D 69 74 74 65 64 2C 20 62 75 74 20 6E 6F omitted, but no
000030: 74 0D 0A 20 20 20 20 20 62 6F 74 68 2E 0D 0A 0D t.. both....
000040: 0A 20 20 20 4D 4F 56 45 0D 0A 20 20 20 4D 4F 56 . MOVE.. MOV
000050: 45 52 0D 0A 20 20 20 20 20 41 73 20 6F 6E 20 74 ER.. As on t
000060: 68 65 20 20 34 36 34 20 20 62 75 74 20 20 77 69 he 464 but wi
000070: 74 68 20 20 74 77 6F 20 20 65 78 74 72 61 20 20 th two extra
000080: 6F 70 74 69 6F 6E 61 6C 20 20 70 61 72 61 6D 65 optional parame
000090: 74 65 72 73 20 20 6F 66 20 3C 69 6E 6B 3E 20 74 ters of <ink> t
0000A0: 6F 0D 0A 20 20 20 20 20 63 68 61 6E 67 65 20 74 o.. change t
0000B0: 68 65 20 67 72 61 70 68 69 63 73 20 70 65 6E 2C he graphics pen,
0000C0: 20 61 6E 64 20 3C 69 6E 6B 20 6D 6F 64 65 3E 2C and <ink mode>,
0000D0: 20 20 66 72 6F 6D 20 20 30 20 20 74 6F 20 33 2E from 0 to 3.
0000E0: 20 20 30 20 69 73 20 6E 6F 72 6D 61 6C 2C 20 31 0 is normal, 1
0000F0: 0D 0A 20 20 20 20 20 58 4F 52 2C 20 32 20 41 4E .. XOR, 2 AN
000100: 44 2C 20 33 20 4F 52 2E 0D 0A 0D 0A 20 20 20 4F D, 3 OR..... O
000110: 4E 20 42 52 45 41 4B 20 43 4F 4E 54 0D 0A 20 20 N BREAK CONT..
000120: 20 20 20 50 72 65 76 65 6E 74 73 20 74 68 65 20 Prevents the
000130: 70 72 6F 67 72 61 6D 20 62 65 69 6E 67 20 62 72 program being br
000140: 6F 6B 65 6E 20 69 6E 74 6F 20 77 68 65 6E 20 45 oken into when E
000150: 53 43 20 69 73 20 70 72 65 73 73 65 64 20 74 77 SC is pressed tw
000160: 69 63 65 2E 0D 0A 0D 0A 20 20 20 50 45 4E 0D 0A ice..... PEN..
000170: 20 20 20 20 20 41 73 20 6F 6E 20 74 68 65 20 34 As on the 4
000180: 36 34 2C 20 20 62 75 74 20 20 77 69 74 68 20 20 64, but with
000190: 61 6E 20 20 65 78 74 72 61 20 20 6F 70 74 69 6F an extra optio
0001A0: 6E 61 6C 20 20 70 61 72 61 6D 65 74 65 72 20 20 nal parameter
0001B0: 74 6F 20 73 65 6C 65 63 74 20 74 68 65 0D 0A 20 to select the..
0001C0: 20 20 20 20 62 61 63 6B 67 72 6F 75 6E 64 20 6D background m
0001D0: 6F 64 65 20 66 6F 72 20 74 65 78 74 20 70 72 69 ode for text pri
0001E0: 6E 74 69 6E 67 3A 20 30 20 66 6F 72 20 6F 70 61 nting: 0 for opa
0001F0: 71 75 65 2C 20 31 20 66 6F 72 20 74 72 61 6E 73 que, 1 for trans
Size : 512 (Real : 512)
000000: 6E 20 73 63 72 65 65 6E 2E 0D 0A 20 20 20 20 20 n screen...
000010: 54 68 65 20 70 61 72 61 6D 65 74 65 72 73 20 61 The parameters a
000020: 72 65 20 30 20 66 6F 72 20 6F 66 66 20 61 6E 64 re 0 for off and
000030: 20 20 31 20 20 66 6F 72 20 6F 6E 2E 20 20 54 68 1 for on. Th
000040: 65 20 62 6C 6F 62 20 69 73 20 64 69 73 70 6C 61 e blob is displa
000050: 79 65 64 20 77 68 65 6E 0D 0A 20 20 20 20 20 62 yed when.. b
000060: 6F 74 68 20 73 77 69 74 63 68 65 73 20 61 72 65 oth switches are
000070: 20 6F 6E 2E 20 20 54 68 65 20 73 79 73 74 65 6D on. The system
000080: 20 20 73 77 69 74 63 68 20 69 73 20 74 75 72 6E switch is turn
000090: 65 64 20 6F 6E 20 61 75 74 6F 6D 61 74 69 63 61 ed on automatica
0000A0: 6C 6C 79 20 66 6F 72 0D 0A 20 20 20 20 20 74 68 lly for.. th
0000B0: 65 20 49 4E 50 55 54 20 63 6F 6D 6D 61 6E 64 2C e INPUT command,
0000C0: 20 61 6E 64 20 74 68 65 20 75 73 65 72 20 73 77 and the user sw
0000D0: 69 74 63 68 20 69 73 20 6F 6E 20 62 79 20 64 65 itch is on by de
0000E0: 66 61 75 6C 74 2E 0D 0A 0D 0A 20 20 20 20 20 45 fault..... E
0000F0: 69 74 68 65 72 20 73 77 69 74 63 68 20 70 61 72 ither switch par
000100: 61 6D 65 74 65 72 20 6D 61 79 20 62 65 20 6F 6D ameter may be om
000110: 69 74 74 65 64 2C 20 62 75 74 20 6E 6F 74 20 62 itted, but not b
000120: 6F 74 68 2E 0D 0A 0D 0A 20 20 20 44 45 43 24 28 oth..... DEC$(
000130: 3C 6E 75 6D 65 72 69 63 20 65 78 70 72 65 73 73 <numeric express
000140: 69 6F 6E 3E 2C 3C 66 6F 72 6D 61 74 20 73 74 72 ion>,<format str
000150: 69 6E 67 3E 29 0D 0A 20 20 20 20 20 46 75 6E 63 ing>).. Func
000160: 74 69 6F 6E 20 72 65 74 75 72 6E 69 6E 67 20 61 tion returning a
000170: 20 64 65 63 69 6D 61 6C 20 20 6E 75 6D 62 65 72 decimal number
000180: 20 20 66 6F 72 6D 61 74 74 65 64 20 20 61 63 63 formatted acc
000190: 6F 72 64 69 6E 67 20 74 6F 20 74 68 65 20 66 6F ording to the fo
0001A0: 72 6D 61 74 0D 0A 20 20 20 20 20 73 74 72 69 6E rmat.. strin
0001B0: 67 2C 20 77 68 69 63 68 20 69 73 20 73 70 65 63 g, which is spec
0001C0: 69 66 69 65 64 20 69 6E 20 74 68 65 20 73 61 6D ified in the sam
0001D0: 65 20 77 61 79 20 61 73 20 50 52 49 4E 54 20 55 e way as PRINT U
0001E0: 53 49 4E 47 0D 0A 0D 0A 20 20 20 20 20 61 24 3D SING.... a$=
0001F0: 44 45 43 24 28 34 37 2C 22 23 23 23 2E 23 23 22 DEC$(47,"###.##"
Size : 512 (Real : 512)
000000: 70 61 72 65 6E 74 2E 0D 0A 0D 0A 20 20 20 50 4C parent..... PL
000010: 4F 54 0D 0A 20 20 20 50 4C 4F 54 52 0D 0A 20 20 OT.. PLOTR..
000020: 20 20 20 41 73 20 66 6F 72 20 44 52 41 57 20 61 As for DRAW a
000030: 6E 64 20 44 52 41 57 52 0D 0A 1A 50 55 54 0D 0A nd DRAWR...PUT..
000040: 20 20 20 20 20 43 6C 65 61 72 73 20 74 68 65 20 Clears the
000050: 6B 65 79 62 6F 61 72 64 20 69 6E 70 75 74 20 62 keyboard input b
000060: 75 66 66 65 72 2E 0D 0A 0D 0A 20 20 20 43 4F 50 uffer..... COP
000070: 59 43 48 52 24 28 23 3C 73 74 72 65 61 6D 20 65 YCHR$(#<stream e
000080: 6F 70 74 69 6F 6E 61 6C 20 20 70 61 72 61 6D 65 optional parame
000090: 74 65 72 73 20 20 6F 66 20 3C 69 6E 6B 3E 20 74 ters of <ink> t
0000A0: 6F 0D 0A 20 20 20 20 20 63 68 61 6E 67 65 20 74 o.. change t
0000B0: 68 65 20 67 72 61 70 68 69 63 73 20 70 65 6E 2C he graphics pen,
0000C0: 20 61 6E 64 20 3C 69 6E 6B 20 6D 6F 64 65 3E 2C and <ink mode>,
0000D0: 20 20 66 72 6F 6D 20 20 30 20 20 74 6F 20 33 2E from 0 to 3.
0000E0: 20 20 30 20 69 73 20 6E 6F 72 6D 61 6C 2C 20 31 0 is normal, 1
0000F0: 0D 0A 20 20 20 20 20 58 4F 52 2C 20 32 20 41 4E .. XOR, 2 AN
000100: 44 2C 20 33 20 4F 52 2E 0D 0A 0D 0A 20 20 20 4F D, 3 OR..... O
000110: 4E 20 42 52 45 41 4B 20 43 4F 4E 54 0D 0A 20 20 N BREAK CONT..
000120: 20 20 20 50 72 65 76 65 6E 74 73 20 74 68 65 20 Prevents the
000130: 70 72 6F 67 72 61 6D 20 62 65 69 6E 67 20 62 72 program being br
000140: 6F 6B 65 6E 20 69 6E 74 6F 20 77 68 65 6E 20 45 oken into when E
000150: 53 43 20 69 73 20 70 72 65 73 73 65 64 20 74 77 SC is pressed tw
000160: 69 63 65 2E 0D 0A 0D 0A 20 20 20 50 45 4E 0D 0A ice..... PEN..
000170: 20 20 20 20 20 41 73 20 6F 6E 20 74 68 65 20 34 As on the 4
000180: 36 34 2C 20 20 62 75 74 20 20 77 69 74 68 20 20 64, but with
000190: 61 6E 20 20 65 78 74 72 61 20 20 6F 70 74 69 6F an extra optio
0001A0: 6E 61 6C 20 20 70 61 72 61 6D 65 74 65 72 20 20 nal parameter
0001B0: 74 6F 20 73 65 6C 65 63 74 20 74 68 65 0D 0A 20 to select the..
0001C0: 20 20 20 20 62 61 63 6B 67 72 6F 75 6E 64 20 6D background m
0001D0: 6F 64 65 20 66 6F 72 20 74 65 78 74 20 70 72 69 ode for text pri
0001E0: 6E 74 69 6E 67 3A 20 30 20 66 6F 72 20 6F 70 61 nting: 0 for opa
0001F0: 71 75 65 2C 20 31 20 66 6F 72 20 74 72 61 6E 73 que, 1 for trans
Size : 512 (Real : 512)
000000: 29 0D 0A 20 20 20 20 20 77 69 6C 6C 20 73 65 74 ).. will set
000010: 20 61 24 20 74 6F 20 62 65 20 22 20 34 37 2E 30 a$ to be " 47.0
000020: 30 22 0D 0A 0D 0A 20 20 20 44 45 52 52 0D 0A 20 0".... DERR..
000030: 20 20 20 20 52 65 74 75 72 6E 73 20 74 68 65 20 Returns the
000040: 6C 61 73 74 20 64 69 73 63 20 65 72 72 6F 72 20 last disc error
000050: 6E 75 6D 62 65 72 2E 20 20 46 6F 72 20 65 78 61 number. For exa
000060: 6D 70 6C 65 3A 0D 0A 0D 0A 20 20 20 20 20 78 3D mple:.... x=
000070: 44 45 52 52 0D 0A 20 20 20 20 20 73 65 74 73 20 DERR.. sets
000080: 78 20 65 71 75 61 6C 20 74 6F 20 74 68 65 20 6C x equal to the l
000090: 61 73 74 20 64 69 73 63 20 65 72 72 6F 72 20 6E ast disc error n
0000A0: 75 6D 62 65 72 2E 0D 0A 0D 0A 20 20 20 44 52 41 umber..... DRA
0000B0: 57 0D 0A 20 20 20 44 52 41 57 52 0D 0A 20 20 20 W.. DRAWR..
0000C0: 20 20 41 73 20 6F 6E 20 74 68 65 20 34 36 34 20 As on the 464
0000D0: 62 75 74 20 77 69 74 68 20 61 6E 20 65 78 74 72 but with an extr
0000E0: 61 20 6F 70 74 69 6F 6E 61 6C 20 70 61 72 61 6D a optional param
0000F0: 65 74 65 72 20 6F 66 20 3C 69 6E 6B 20 6D 6F 64 eter of <ink mod
000100: 65 3E 2C 20 66 72 6F 6D 20 30 0D 0A 20 20 20 20 e>, from 0..
000110: 20 74 6F 20 33 2E 20 20 30 20 69 73 20 6E 6F 72 to 3. 0 is nor
000120: 6D 61 6C 2C 20 31 20 58 4F 52 2C 20 32 20 41 4E mal, 1 XOR, 2 AN
000130: 44 2C 20 33 20 4F 52 2E 0D 0A 0D 0A 20 20 20 46 D, 3 OR..... F
000140: 49 4C 4C 20 3C 69 6E 6B 3E 0D 0A 20 20 20 20 20 ILL <ink>..
000150: 46 69 6C 6C 73 20 74 68 65 20 73 63 72 65 65 6E Fills the screen
000160: 20 77 69 74 68 20 3C 69 6E 6B 3E 20 73 74 61 72 with <ink> star
000170: 74 69 6E 67 20 20 66 72 6F 6D 20 74 68 65 20 67 ting from the g
000180: 72 61 70 68 69 63 73 20 63 75 72 73 6F 72 20 70 raphics cursor p
000190: 6F 73 69 74 69 6F 6E 2C 0D 0A 20 20 20 20 20 66 osition,.. f
0001A0: 69 6C 6C 69 6E 67 20 61 20 72 65 67 69 6F 6E 20 illing a region
0001B0: 62 6F 75 6E 64 65 64 20 62 79 20 20 74 68 65 20 bounded by the
0001C0: 20 63 75 72 72 65 6E 74 20 20 67 72 61 70 68 69 current graphi
0001D0: 63 73 20 20 70 65 6E 20 69 6E 6B 20 61 6E 64 20 cs pen ink and
0001E0: 74 68 65 20 69 6E 6B 0D 0A 20 20 20 20 20 62 65 the ink.. be
0001F0: 69 6E 67 20 75 73 65 64 20 74 6F 20 66 69 6C 6C ing used to fill
Size : 512 (Real : 512)
000000: 72 68 61 70 73 20 6D 6F 72 65 20 20 75 73 65 66 rhaps more usef
000010: 75 6C 20 61 72 65 20 74 68 65 20 76 61 72 69 61 ul are the varia
000020: 6E 74 73 20 7C 4C 49 53 54 50 0D 0A 20 20 20 61 nts |LISTP.. a
000030: 6E 64 20 7C 4C 49 53 54 46 2E 20 20 54 68 65 20 nd |LISTF. The
000040: 66 6F 72 6D 65 72 20 6C 69 73 74 73 20 74 68 65 former lists the
000050: 20 77 68 6F 6C 65 20 20 70 72 6F 67 72 61 6D 20 whole program
000060: 74 6F 20 74 68 65 20 70 72 69 6E 74 65 72 20 69 to the printer i
000070: 6E 73 74 65 61 64 20 6F 66 0D 0A 20 20 20 74 68 nstead of.. th
000080: 65 20 73 63 72 65 65 6E 2C 20 61 6E 64 20 74 68 e screen, and th
000090: 65 20 6C 61 74 74 65 72 20 6C 69 73 74 73 20 74 e latter lists t
0000A0: 6F 20 61 20 66 69 6C 65 2E 20 20 46 6F 72 20 65 o a file. For e
0000B0: 78 61 6D 70 6C 65 3A 0D 0A 0D 0A 20 20 20 20 20 xample:....
0000C0: 61 24 3D 22 66 69 6C 65 6E 61 6D 65 22 3A 7C 4C a$="filename":|L
0000D0: 49 53 54 46 2C 40 61 24 0D 0A 0D 0A 20 20 20 77 ISTF,@a$.... w
0000E0: 6F 75 6C 64 20 6C 69 73 74 20 74 68 65 20 77 68 ould list the wh
0000F0: 6F 6C 65 20 70 72 6F 67 72 61 6D 20 74 6F 20 61 ole program to a
000100: 20 66 69 6C 65 20 63 61 6C 6C 65 64 20 22 66 69 file called "fi
000110: 6C 65 6E 61 6D 65 22 20 28 73 69 6C 6C 79 20 6E lename" (silly n
000120: 61 6D 65 20 66 6F 72 20 61 0D 0A 20 20 20 66 69 ame for a.. fi
000130: 6C 65 29 2E 20 20 59 6F 75 20 63 6F 75 6C 64 20 le). You could
000140: 74 68 65 6E 20 6C 6F 61 64 20 74 68 65 20 66 69 then load the fi
000150: 6C 65 20 20 69 6E 74 6F 20 20 61 6E 20 65 64 69 le into an edi
000160: 74 6F 72 20 6C 69 6B 65 20 50 72 6F 74 65 78 74 tor like Protext
000170: 20 61 6E 64 20 75 73 65 0D 0A 20 20 20 74 68 65 and use.. the
000180: 20 73 65 61 72 63 68 20 61 6E 64 20 72 65 70 6C search and repl
000190: 61 63 65 20 66 61 63 69 6C 69 74 69 65 73 20 74 ace facilities t
0001A0: 6F 20 63 6F 72 72 65 63 74 20 74 68 65 20 6C 69 o correct the li
0001B0: 6E 65 73 2E 0D 0A 0D 0A 20 20 20 20 20 49 20 68 nes..... I h
0001C0: 61 76 65 20 61 6C 73 6F 20 70 72 6F 76 69 64 65 ave also provide
0001D0: 64 20 7C 53 43 41 4E 50 20 61 6E 64 20 7C 53 43 d |SCANP and |SC
0001E0: 41 4E 46 20 77 68 69 63 68 20 77 6F 72 6B 20 69 ANF which work i
0001F0: 6E 20 61 20 73 69 6D 69 6C 61 72 20 77 61 79 2E n a similar way.
Size : 512 (Real : 512)
000000: 2E 0D 0A 0D 0A 20 20 20 46 52 41 4D 45 0D 0A 20 ..... FRAME..
000010: 20 20 20 20 57 61 69 74 73 20 66 6F 72 20 74 68 Waits for th
000020: 65 20 66 72 61 6D 65 20 66 6C 79 62 61 63 6B 20 e frame flyback
000030: 69 6E 20 20 61 6E 20 20 61 74 74 65 6D 70 74 20 in an attempt
000040: 74 6F 20 61 76 6F 69 64 20 66 6C 69 63 6B 65 72 to avoid flicker
000050: 79 20 64 69 73 70 6C 61 79 20 6F 66 0D 0A 20 20 y display of..
000060: 20 20 20 63 68 61 6E 67 69 6E 67 20 67 72 61 70 changing grap
000070: 68 69 63 73 2E 20 20 4E 6F 74 20 72 65 61 6C 6C hics. Not reall
000080: 79 20 6D 75 63 68 20 75 73 65 20 66 6F 72 20 42 y much use for B
000090: 41 53 49 43 2E 0D 0A 0D 0A 20 20 20 47 52 41 50 ASIC..... GRAP
0000A0: 48 49 43 53 20 50 41 50 45 52 20 3C 69 6E 6B 3E HICS PAPER <ink>
0000B0: 0D 0A 20 20 20 20 20 53 65 74 73 20 74 68 65 20 .. Sets the
0000C0: 67 72 61 70 68 69 63 73 20 62 61 63 6B 67 72 6F graphics backgro
0000D0: 75 6E 64 20 69 6E 6B 2C 20 75 73 65 64 20 20 66 und ink, used f
0000E0: 6F 72 20 74 68 65 20 62 61 63 6B 67 72 6F 75 6E or the backgroun
0000F0: 64 20 6F 66 20 63 68 61 72 61 63 74 65 72 73 0D d of characters.
000100: 0A 20 20 20 20 20 70 72 69 6E 74 65 64 20 77 69 . printed wi
000110: 74 68 20 54 41 47 2C 20 61 6E 64 20 74 68 65 20 th TAG, and the
000120: 67 61 70 73 20 69 6E 20 64 6F 74 74 65 64 20 6C gaps in dotted l
000130: 69 6E 65 73 20 64 72 61 77 6E 20 77 69 74 68 20 ines drawn with
000140: 4D 41 53 4B 2E 0D 0A 0D 0A 20 20 20 47 52 41 50 MASK..... GRAP
000150: 48 49 43 53 20 50 45 4E 20 5B 3C 69 6E 6B 3E 5D HICS PEN [<ink>]
000160: 5B 2C 3C 62 61 63 6B 67 72 6F 75 6E 64 20 6D 6F [,<background mo
000170: 64 65 3E 5D 0D 0A 20 20 20 20 20 43 68 6F 6F 73 de>].. Choos
000180: 65 73 20 74 68 65 20 69 6E 6B 20 75 73 65 64 20 es the ink used
000190: 66 6F 72 20 64 72 61 77 69 6E 67 20 6C 69 6E 65 for drawing line
0001A0: 73 20 61 6E 64 20 70 72 69 6E 74 69 6E 67 20 63 s and printing c
0001B0: 68 61 72 61 63 74 65 72 73 20 77 69 74 68 20 54 haracters with T
0001C0: 41 47 2E 0D 0A 20 20 20 20 20 54 68 65 20 3C 62 AG... The <b
0001D0: 61 63 6B 67 72 6F 75 6E 64 20 6D 6F 64 65 3E 20 ackground mode>
0001E0: 69 73 20 30 20 66 6F 72 20 6F 70 61 71 75 65 20 is 0 for opaque
0001F0: 61 6E 64 20 31 20 66 6F 72 20 74 72 61 6E 73 70 and 1 for transp
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 31 35 20 2D 20 57 41 43 43 49 20 31 tch 15 - WACCI 1
000020: 32 34 2C 20 53 65 70 74 20 31 39 39 38 2C 20 70 24, Sept 1998, p
000030: 2E 20 32 34 2D 32 36 0D 0A 20 20 20 50 52 4F 47 . 24-26.. PROG
000040: 52 41 4D 4D 45 52 53 27 20 50 41 54 43 48 20 31 RAMMERS' PATCH 1
000050: 35 0D 0A 20 20 20 42 79 20 4D 61 74 74 68 65 77 5.. By Matthew
000060: 20 50 68 69 6C 6C 69 70 73 0D 0A 0D 0A 20 20 20 Phillips....
000070: 54 68 65 20 6C 61 73 74 20 63 6F 75 70 6C 65 20 The last couple
000080: 6F 66 20 20 61 72 74 69 63 6C 65 73 20 20 68 61 of articles ha
000090: 76 65 20 20 6C 6F 6F 6B 65 64 20 20 61 74 20 20 ve looked at
0000A0: 74 68 65 20 22 6F 66 66 69 63 69 61 6C 22 20 64 the "official" d
0000B0: 69 66 66 65 72 65 6E 63 65 73 0D 0A 20 20 20 62 ifferences.. b
0000C0: 65 74 77 65 65 6E 20 42 41 53 49 43 20 31 2E 30 etween BASIC 1.0
0000D0: 20 61 6E 64 20 31 2E 31 2C 20 20 62 75 74 20 20 and 1.1, but
0000E0: 74 68 65 72 65 20 20 61 72 65 20 73 65 76 65 72 there are sever
0000F0: 61 6C 20 6F 74 68 65 72 20 64 69 66 66 65 72 65 al other differe
000100: 6E 63 65 73 20 74 68 61 74 0D 0A 20 20 20 63 6F nces that.. co
000110: 6D 65 20 75 6E 64 65 72 20 74 68 65 20 67 65 6E me under the gen
000120: 65 72 61 6C 20 68 65 61 64 69 6E 67 20 20 6F 66 eral heading of
000130: 20 20 42 75 67 73 2E 20 20 20 54 68 65 73 65 20 Bugs. These
000140: 20 61 72 65 20 74 68 69 6E 67 73 20 74 68 61 74 are things that
000150: 20 77 65 72 65 6E 27 74 0D 0A 20 20 20 6D 65 61 weren't.. mea
000160: 6E 74 20 74 6F 20 68 61 70 70 65 6E 20 62 75 74 nt to happen but
000170: 20 64 69 64 2C 20 61 6E 64 20 74 68 69 73 20 69 did, and this i
000180: 73 20 68 6F 77 20 74 6F 20 64 65 61 6C 20 77 69 s how to deal wi
000190: 74 68 20 74 68 65 6D 2E 0D 0A 0D 0A 20 20 20 41 th them..... A
0001A0: 20 50 52 4F 42 4C 45 4D 20 49 4E 20 54 48 45 20 PROBLEM IN THE
0001B0: 50 52 49 4E 54 20 57 4F 52 4B 53 0D 0A 20 20 20 PRINT WORKS..
0001C0: 4F 6E 63 65 20 49 20 68 61 64 20 66 69 6E 69 73 Once I had finis
0001D0: 68 65 64 20 77 72 69 74 69 6E 67 20 74 68 65 20 hed writing the
0001E0: 7C 53 43 41 4E 20 20 52 53 58 20 20 77 68 69 63 |SCAN RSX whic
0001F0: 68 20 77 61 73 20 70 75 62 6C 69 73 68 65 64 20 h was published
Size : 512 (Real : 512)
000000: 61 72 65 6E 74 2C 20 61 6E 64 20 61 66 66 65 63 arent, and affec
000010: 74 73 0D 0A 20 20 20 20 20 77 68 65 74 68 65 72 ts.. whether
000020: 20 74 68 65 20 62 61 63 6B 67 72 6F 75 6E 64 73 the backgrounds
000030: 20 6F 66 20 20 63 68 61 72 61 63 74 65 72 73 20 of characters
000040: 20 70 72 69 6E 74 65 64 20 20 77 69 74 68 20 54 printed with T
000050: 41 47 20 61 72 65 20 64 69 73 70 6C 61 79 65 64 AG are displayed
000060: 2C 0D 0A 20 20 20 20 20 61 6E 64 20 74 68 65 20 ,.. and the
000070: 67 61 70 73 20 69 6E 20 64 6F 74 74 65 64 20 6C gaps in dotted l
000080: 69 6E 65 73 2E 20 20 20 45 69 74 68 65 72 20 20 ines. Either
000090: 70 61 72 61 6D 65 74 65 72 20 6D 61 79 20 62 65 parameter may be
0000A0: 20 6F 6D 69 74 74 65 64 20 62 75 74 20 6E 6F 74 omitted but not
0000B0: 0D 0A 20 20 20 20 20 62 6F 74 68 2E 0D 0A 0D 0A .. both.....
0000C0: 20 20 20 4D 41 53 4B 20 5B 3C 69 6E 74 65 67 65 MASK [<intege
0000D0: 72 20 65 78 70 72 65 73 73 69 6F 6E 3E 5D 2C 3C r expression>],<
0000E0: 66 69 72 73 74 20 70 6F 69 6E 74 20 73 65 74 74 first point sett
0000F0: 69 6E 67 3E 5D 0D 0A 20 20 20 20 20 54 68 65 20 ing>].. The
000100: 69 6E 74 65 67 65 72 20 65 78 70 72 65 73 73 69 integer expressi
000110: 6F 6E 20 73 68 6F 75 6C 64 20 62 65 20 66 72 6F on should be fro
000120: 6D 20 30 20 20 74 6F 20 20 32 35 35 2C 20 61 6E m 0 to 255, an
000130: 64 20 61 6C 6C 6F 77 73 20 79 6F 75 20 74 6F 20 d allows you to
000140: 64 72 61 77 0D 0A 20 20 20 20 20 64 6F 74 74 65 draw.. dotte
000150: 64 20 6C 69 6E 65 73 2E 20 20 32 35 35 20 69 73 d lines. 255 is
000160: 20 74 68 65 20 73 65 74 74 69 6E 67 20 20 66 6F the setting fo
000170: 72 20 20 6F 72 64 69 6E 61 72 79 20 6C 69 6E 65 r ordinary line
000180: 73 2E 20 20 54 68 65 20 66 69 72 73 74 20 70 6F s. The first po
000190: 69 6E 74 0D 0A 20 20 20 20 20 73 65 74 74 69 6E int.. settin
0001A0: 67 20 73 68 6F 75 6C 64 20 62 65 20 31 20 69 66 g should be 1 if
0001B0: 20 74 68 65 20 66 69 72 73 74 20 70 6F 69 6E 74 the first point
0001C0: 20 6F 66 20 61 20 6C 69 6E 65 20 69 73 20 74 6F of a line is to
0001D0: 20 62 65 20 70 6C 6F 74 74 65 64 2C 20 61 6E 64 be plotted, and
0001E0: 20 30 0D 0A 20 20 20 20 20 69 66 20 6E 6F 74 2E 0.. if not.
0001F0: 20 20 49 74 20 69 73 20 6E 6F 72 6D 61 6C 6C 79 It is normally
Size : 512 (Real : 512)
000000: 61 6C 74 65 72 69 6E 67 0D 0A 20 20 20 74 68 65 altering.. the
000010: 20 4C 4F 43 41 54 45 20 63 6F 6D 6D 61 6E 64 20 LOCATE command
000020: 74 6F 20 70 6F 73 69 74 69 6F 6E 20 69 74 20 61 to position it a
000030: 74 20 33 39 2C 36 20 2D 20 6A 75 73 74 20 61 74 t 39,6 - just at
000040: 20 74 68 65 20 65 6E 64 20 6F 66 20 61 20 6C 69 the end of a li
000050: 6E 65 2E 20 20 49 6E 0D 0A 20 20 20 42 41 53 49 ne. In.. BASI
000060: 43 20 31 2E 31 20 74 68 65 20 62 6F 78 20 77 69 C 1.1 the box wi
000070: 6C 6C 20 70 72 69 6E 74 20 61 74 20 20 74 68 65 ll print at the
000080: 20 20 65 6E 64 20 20 6F 66 20 20 6C 69 6E 65 20 end of line
000090: 36 2C 20 62 75 74 20 69 6E 20 42 41 53 49 43 20 6, but in BASIC
0000A0: 31 2E 30 20 69 74 0D 0A 20 20 20 70 72 69 6E 74 1.0 it.. print
0000B0: 73 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6F s at the start o
0000C0: 66 20 6C 69 6E 65 20 37 2E 0D 0A 0D 0A 20 20 20 f line 7.....
0000D0: 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 This is because
0000E0: 42 41 53 49 43 20 31 2E 30 20 75 73 65 73 20 20 BASIC 1.0 uses
0000F0: 61 20 20 73 69 6D 70 6C 65 72 20 20 6D 65 74 68 a simpler meth
000100: 6F 64 20 66 6F 72 20 64 65 63 69 64 69 6E 67 20 od for deciding
000110: 77 68 65 74 68 65 72 20 74 6F 0D 0A 20 20 20 73 whether to.. s
000120: 74 61 72 74 20 61 20 6E 65 77 20 6C 69 6E 65 2E tart a new line.
000130: 20 20 54 68 65 20 63 6F 6D 70 75 74 65 72 20 20 The computer
000140: 6A 75 73 74 20 20 6C 6F 6F 6B 73 20 20 61 74 20 just looks at
000150: 74 68 65 20 6C 65 6E 67 74 68 20 6F 66 20 74 68 the length of th
000160: 65 20 73 74 72 69 6E 67 2C 0D 0A 20 20 20 61 6E e string,.. an
000170: 64 20 69 66 20 69 74 20 69 73 20 6C 6F 6E 67 65 d if it is longe
000180: 72 20 74 68 61 6E 20 20 74 68 65 20 20 6E 75 6D r than the num
000190: 62 65 72 20 20 6F 66 20 20 63 68 61 72 61 63 74 ber of charact
0001A0: 65 72 73 20 6C 65 66 74 20 6F 6E 20 74 68 65 20 ers left on the
0001B0: 6C 69 6E 65 2C 20 69 74 0D 0A 20 20 20 73 74 61 line, it.. sta
0001C0: 72 74 73 20 61 20 6E 65 77 20 6F 6E 65 20 62 65 rts a new one be
0001D0: 66 6F 72 65 20 70 72 69 6E 74 69 6E 67 2E 20 20 fore printing.
0001E0: 20 42 41 53 49 43 20 20 31 2E 31 20 6C 6F 6F 6B BASIC 1.1 look
0001F0: 73 20 74 68 72 6F 75 67 68 20 74 68 65 20 66 69 s through the fi
Size : 512 (Real : 512)
000000: 79 70 65 0D 0A 0D 0A 20 20 20 20 20 7C 45 52 41 ype.... |ERA
000010: 2C 22 2A 2E 62 61 6B 22 0D 0A 0D 0A 20 20 20 6F ,"*.bak".... o
000020: 6E 20 74 68 65 20 34 36 34 20 79 6F 75 20 68 61 n the 464 you ha
000030: 76 65 20 74 6F 20 75 73 65 20 74 68 65 20 63 75 ve to use the cu
000040: 6D 62 65 72 73 6F 6D 65 0D 0A 0D 0A 20 20 20 20 mbersome....
000050: 20 61 24 3D 22 2A 2E 62 61 6B 22 3A 7C 45 52 41 a$="*.bak":|ERA
000060: 2C 40 61 24 0D 0A 0D 0A 20 20 20 54 68 69 73 20 ,@a$.... This
000070: 69 73 20 61 63 74 75 61 6C 6C 79 20 61 20 62 75 is actually a bu
000080: 67 2C 20 61 73 20 79 6F 75 20 20 77 65 72 65 20 g, as you were
000090: 20 6D 65 61 6E 74 20 20 74 6F 20 20 62 65 20 61 meant to be a
0000A0: 62 6C 65 20 74 6F 20 75 73 65 20 74 68 65 20 64 ble to use the d
0000B0: 69 72 65 63 74 0D 0A 20 20 20 76 65 72 73 69 6F irect.. versio
0000C0: 6E 2C 20 62 75 74 20 4C 6F 63 6F 6D 6F 74 69 76 n, but Locomotiv
0000D0: 65 20 53 6F 66 74 77 61 72 65 20 20 64 69 64 20 e Software did
0000E0: 20 6E 6F 74 20 20 67 65 74 20 20 69 74 20 20 77 not get it w
0000F0: 6F 72 6B 69 6E 67 20 20 66 6F 72 20 74 68 65 20 orking for the
000100: 34 36 34 2E 0D 0A 20 20 20 52 65 6D 65 6D 62 65 464... Remembe
000110: 72 20 74 68 61 74 20 20 6F 6E 20 20 74 68 65 20 r that on the
000120: 20 36 36 34 2F 36 31 32 38 20 20 79 6F 75 20 20 664/6128 you
000130: 63 61 6E 20 20 61 6C 73 6F 20 20 68 61 76 65 20 can also have
000140: 20 72 65 73 75 6C 74 73 20 20 6F 66 20 73 74 72 results of str
000150: 69 6E 67 0D 0A 20 20 20 66 75 6E 63 74 69 6F 6E ing.. function
000160: 73 2C 20 73 75 63 68 20 61 73 20 4C 45 46 54 24 s, such as LEFT$
000170: 2C 20 61 73 20 70 61 72 61 6D 65 74 65 72 73 20 , as parameters
000180: 74 6F 20 43 41 4C 4C 20 6F 72 20 61 6E 20 52 53 to CALL or an RS
000190: 58 2E 0D 0A 0D 0A 20 20 20 54 6F 20 73 6F 6C 76 X..... To solv
0001A0: 65 20 74 68 69 73 20 70 72 6F 62 6C 65 6D 20 79 e this problem y
0001B0: 6F 75 20 63 61 6E 20 70 75 74 20 74 68 65 20 70 ou can put the p
0001C0: 61 72 61 6D 65 74 65 72 73 20 69 6E 74 6F 20 74 arameters into t
0001D0: 65 6D 70 6F 72 61 72 79 20 73 74 72 69 6E 67 73 emporary strings
0001E0: 20 61 73 0D 0A 20 20 20 69 6E 20 74 68 65 20 65 as.. in the e
0001F0: 78 61 6D 70 6C 65 20 61 62 6F 76 65 2C 20 6F 72 xample above, or
Size : 512 (Real : 512)
000000: 72 73 74 20 66 65 77 0D 0A 20 20 20 63 68 61 72 rst few.. char
000010: 61 63 74 65 72 73 20 6F 66 20 74 68 65 20 73 74 acters of the st
000020: 72 69 6E 67 20 74 6F 20 73 65 65 20 69 66 20 20 ring to see if
000030: 74 68 65 72 65 20 61 72 65 20 61 6E 79 20 63 6F there are any co
000040: 6E 74 72 6F 6C 20 63 68 61 72 61 63 74 65 72 73 ntrol characters
000050: 20 61 6D 6F 6E 67 0D 0A 20 20 20 74 68 65 6D 2E among.. them.
000060: 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 28 If there are (
000070: 73 61 79 29 20 73 69 78 20 73 70 61 63 65 73 20 say) six spaces
000080: 6C 65 66 74 20 20 6F 6E 20 74 68 65 20 6C 69 6E left on the lin
000090: 65 20 61 6E 64 20 74 68 65 20 66 69 72 73 74 20 e and the first
0000A0: 73 65 76 65 6E 0D 0A 20 20 20 63 68 61 72 61 63 seven.. charac
0000B0: 74 65 72 73 20 69 6E 20 74 68 65 20 73 74 72 69 ters in the stri
0000C0: 6E 67 20 61 72 65 20 6F 72 64 69 6E 61 72 79 20 ng are ordinary
0000D0: 20 63 68 61 72 61 63 74 65 72 73 20 28 77 69 74 characters (wit
0000E0: 68 20 41 53 43 49 49 20 76 61 6C 75 65 73 20 6F h ASCII values o
0000F0: 66 20 33 32 0D 0A 20 20 20 6F 72 20 61 62 6F 76 f 32.. or abov
000100: 65 29 20 74 68 65 6E 20 61 20 20 6E 65 77 20 20 e) then a new
000110: 6C 69 6E 65 20 20 69 73 20 20 73 74 61 72 74 65 line is starte
000120: 64 20 20 62 65 66 6F 72 65 20 20 70 72 69 6E 74 d before print
000130: 69 6E 67 2E 20 20 4F 74 68 65 72 77 69 73 65 20 ing. Otherwise
000140: 74 68 65 0D 0A 20 20 20 73 74 72 69 6E 67 20 69 the.. string i
000150: 73 20 20 70 72 69 6E 74 65 64 20 20 61 74 20 20 s printed at
000160: 74 68 65 20 20 63 75 72 72 65 6E 74 20 20 63 75 the current cu
000170: 72 73 6F 72 20 20 70 6F 73 69 74 69 6F 6E 2E 20 rsor position.
000180: 20 20 54 68 69 73 20 63 6F 6D 70 6C 69 63 61 74 This complicat
000190: 65 64 0D 0A 20 20 20 62 65 68 61 76 69 6F 75 72 ed.. behaviour
0001A0: 20 6F 66 20 74 68 65 20 50 52 49 4E 54 20 63 6F of the PRINT co
0001B0: 6D 6D 61 6E 64 20 69 6E 20 42 41 53 49 43 20 20 mmand in BASIC
0001C0: 31 2E 31 20 20 69 73 20 6E 6F 74 20 65 78 70 6C 1.1 is not expl
0001D0: 61 69 6E 65 64 20 69 6E 20 74 68 65 20 75 73 65 ained in the use
0001E0: 72 0D 0A 20 20 20 67 75 69 64 65 2E 0D 0A 0D 0A r.. guide.....
0001F0: 20 20 20 45 76 65 6E 20 74 68 61 74 20 69 73 20 Even that is
Size : 512 (Real : 512)
000000: 69 6E 20 4A 75 6E 65 2C 20 49 0D 0A 20 20 20 74 in June, I.. t
000010: 65 73 74 65 64 20 69 74 20 6F 75 74 20 6F 6E 20 ested it out on
000020: 74 68 65 20 43 72 69 62 20 67 61 6D 65 20 20 66 the Crib game f
000030: 72 6F 6D 20 20 57 41 43 43 49 20 20 50 44 20 64 rom WACCI PD d
000040: 69 73 63 20 36 2E 20 20 41 73 20 69 74 20 73 74 isc 6. As it st
000050: 61 6E 64 73 2C 20 74 68 65 0D 0A 20 20 20 67 61 ands, the.. ga
000060: 6D 65 20 64 6F 65 73 20 6E 6F 74 20 77 6F 72 6B me does not work
000070: 20 20 6F 6E 20 20 74 68 65 20 20 34 36 34 2C 20 on the 464,
000080: 20 6D 6F 73 74 6C 79 20 20 62 65 63 61 75 73 65 mostly because
000090: 20 20 6F 66 20 65 78 74 72 61 20 70 61 72 61 6D of extra param
0000A0: 65 74 65 72 73 20 69 6E 0D 0A 20 20 20 67 72 61 eters in.. gra
0000B0: 70 68 69 63 73 20 63 6F 6D 6D 61 6E 64 73 2E 20 phics commands.
0000C0: 20 54 68 65 20 7C 53 43 41 4E 20 52 53 58 20 69 The |SCAN RSX i
0000D0: 64 65 6E 74 69 66 69 65 64 20 61 6C 6C 20 6F 66 dentified all of
0000E0: 20 74 68 65 73 65 2C 20 61 6E 64 20 61 66 74 65 these, and afte
0000F0: 72 20 49 20 68 61 64 0D 0A 20 20 20 61 6C 74 65 r I had.. alte
000100: 72 65 64 20 74 68 65 20 6C 69 6E 65 73 2C 20 49 red the lines, I
000110: 20 72 61 6E 20 74 68 65 20 70 72 6F 67 72 61 6D ran the program
000120: 20 20 65 78 70 65 63 74 69 6E 67 20 69 74 20 74 expecting it t
000130: 6F 20 77 6F 72 6B 2E 20 20 41 6C 61 73 21 20 73 o work. Alas! s
000140: 65 76 65 72 61 6C 0D 0A 20 20 20 63 61 72 64 73 everal.. cards
000150: 20 70 72 69 6E 74 65 64 20 69 6E 20 74 68 65 20 printed in the
000160: 77 72 6F 6E 67 20 70 6C 61 63 65 2C 20 61 6E 64 wrong place, and
000170: 20 74 68 65 20 73 63 72 65 65 6E 20 73 63 72 6F the screen scro
000180: 6C 6C 65 64 20 75 70 2E 0D 0A 0D 0A 20 20 20 54 lled up..... T
000190: 68 69 73 20 77 61 73 20 62 65 63 61 75 73 65 20 his was because
0001A0: 6F 66 20 61 6E 6F 74 68 65 72 20 64 69 66 66 65 of another diffe
0001B0: 72 65 6E 63 65 20 20 62 65 74 77 65 65 6E 20 20 rence between
0001C0: 42 41 53 49 43 20 31 2E 30 20 61 6E 64 20 31 2E BASIC 1.0 and 1.
0001D0: 31 2E 20 20 49 74 20 69 73 0D 0A 20 20 20 6E 6F 1. It is.. no
0001E0: 74 20 61 63 74 75 61 6C 6C 79 20 64 6F 63 75 6D t actually docum
0001F0: 65 6E 74 65 64 20 69 6E 20 74 68 65 20 6D 61 6E ented in the man
Size : 512 (Real : 512)
000000: 6E 6F 74 20 71 75 69 74 65 20 74 68 65 20 77 68 not quite the wh
000010: 6F 6C 65 20 20 73 74 6F 72 79 2C 20 20 61 73 20 ole story, as
000020: 77 68 65 6E 20 6C 6F 6F 6B 69 6E 67 20 61 74 20 when looking at
000030: 74 68 65 20 62 65 67 69 6E 6E 69 6E 67 0D 0A 20 the beginning..
000040: 20 20 6F 66 20 74 68 65 20 73 74 72 69 6E 67 2C of the string,
000050: 20 43 48 52 24 28 31 29 20 69 73 20 74 72 65 61 CHR$(1) is trea
000060: 74 65 64 20 64 69 66 66 65 72 65 6E 74 6C 79 20 ted differently
000070: 66 72 6F 6D 20 74 68 65 20 63 6F 6E 74 72 6F 6C from the control
000080: 20 63 68 61 72 61 63 74 65 72 73 2E 0D 0A 20 20 characters...
000090: 20 43 48 52 24 28 31 29 20 69 74 73 65 6C 66 20 CHR$(1) itself
0000A0: 69 73 20 69 67 6E 6F 72 65 64 20 61 6E 64 20 74 is ignored and t
0000B0: 68 65 20 6E 65 78 74 20 63 68 61 72 61 63 74 65 he next characte
0000C0: 72 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 r is treated as
0000D0: 61 6E 20 6F 72 64 69 6E 61 72 79 0D 0A 20 20 20 an ordinary..
0000E0: 63 68 61 72 61 63 74 65 72 20 72 61 74 68 65 72 character rather
0000F0: 20 74 68 61 6E 20 61 20 63 6F 6E 74 72 6F 6C 20 than a control
000100: 20 63 68 61 72 61 63 74 65 72 2E 20 20 20 54 68 character. Th
000110: 69 73 20 6D 69 72 72 6F 72 73 20 74 68 65 20 65 is mirrors the e
000120: 66 66 65 63 74 20 74 68 61 74 0D 0A 20 20 20 43 ffect that.. C
000130: 48 52 24 28 31 29 20 68 61 73 20 6F 6E 20 70 72 HR$(1) has on pr
000140: 69 6E 74 69 6E 67 2E 0D 0A 0D 0A 20 20 20 48 61 inting..... Ha
000150: 76 69 6E 67 20 67 6F 6E 65 20 69 6E 74 6F 20 61 ving gone into a
000160: 6C 6C 20 74 68 69 73 20 64 65 74 61 69 6C 2C 20 ll this detail,
000170: 74 68 65 20 63 75 72 65 20 66 6F 72 20 74 68 69 the cure for thi
000180: 73 20 64 69 66 66 65 72 65 6E 63 65 20 62 65 74 s difference bet
000190: 77 65 65 6E 20 74 68 65 0D 0A 20 20 20 76 65 72 ween the.. ver
0001A0: 73 69 6F 6E 73 20 6F 66 20 42 41 53 49 43 20 69 sions of BASIC i
0001B0: 73 20 20 75 73 75 61 6C 6C 79 20 20 71 75 69 74 s usually quit
0001C0: 65 20 20 73 69 6D 70 6C 65 2E 20 20 20 49 66 20 e simple. If
0001D0: 20 79 6F 75 20 20 65 6E 63 6F 75 6E 74 65 72 20 you encounter
0001E0: 61 20 50 52 49 4E 54 0D 0A 20 20 20 63 6F 6D 6D a PRINT.. comm
0001F0: 61 6E 64 20 77 68 69 63 68 20 69 73 20 70 72 69 and which is pri
Size : 512 (Real : 512)
000000: 75 61 6C 73 2C 20 61 6E 64 20 20 69 73 20 20 61 uals, and is a
000010: 6C 6C 20 74 6F 20 64 6F 20 77 69 74 68 20 74 68 ll to do with th
000020: 65 20 22 77 6F 72 64 2D 0D 0A 20 20 20 77 72 61 e "word-.. wra
000030: 70 22 20 66 65 61 74 75 72 65 20 6F 66 20 74 68 p" feature of th
000040: 65 20 41 6D 73 74 72 61 64 27 73 20 50 52 49 4E e Amstrad's PRIN
000050: 54 20 63 6F 6D 6D 61 6E 64 2E 20 20 54 72 79 20 T command. Try
000060: 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 3A 0D 0A the following:..
000070: 0D 0A 20 20 20 20 20 42 4F 52 44 45 52 20 32 35 .. BORDER 25
000080: 3A 4D 4F 44 45 20 31 3A 4C 4F 43 41 54 45 20 33 :MODE 1:LOCATE 3
000090: 39 2C 31 3A 50 52 49 4E 54 22 48 65 6C 6C 6F 22 9,1:PRINT"Hello"
0000A0: 0D 0A 0D 0A 20 20 20 54 68 65 20 4C 4F 43 41 54 .... The LOCAT
0000B0: 45 20 63 6F 6D 6D 61 6E 64 20 70 75 74 73 20 74 E command puts t
0000C0: 68 65 20 20 63 75 72 73 6F 72 20 20 6E 65 61 72 he cursor near
0000D0: 20 20 74 68 65 20 20 65 6E 64 20 20 6F 66 20 20 the end of
0000E0: 74 68 65 20 74 6F 70 20 6C 69 6E 65 2C 20 62 75 the top line, bu
0000F0: 74 0D 0A 20 20 20 62 65 63 61 75 73 65 20 74 68 t.. because th
000100: 65 20 73 74 72 69 6E 67 20 22 48 65 6C 6C 6F 22 e string "Hello"
000110: 20 69 73 20 20 74 6F 6F 20 20 6C 6F 6E 67 20 20 is too long
000120: 74 6F 20 20 66 69 74 20 20 6F 6E 20 74 68 65 20 to fit on the
000130: 6C 69 6E 65 2C 20 74 68 65 20 63 75 72 73 6F 72 line, the cursor
000140: 0D 0A 20 20 20 6D 6F 76 65 73 20 64 6F 77 6E 20 .. moves down
000150: 74 6F 20 74 68 65 20 73 74 61 72 74 20 20 6F 66 to the start of
000160: 20 20 74 68 65 20 20 6E 65 78 74 20 20 6C 69 6E the next lin
000170: 65 20 20 74 6F 20 73 74 61 72 74 20 74 68 65 20 e to start the
000180: 70 72 69 6E 74 69 6E 67 2E 20 20 54 68 69 73 0D printing. This.
000190: 0A 20 20 20 66 65 61 74 75 72 65 20 69 73 20 64 . feature is d
0001A0: 6F 63 75 6D 65 6E 74 65 64 20 69 6E 20 74 68 65 ocumented in the
0001B0: 20 6D 61 6E 75 61 6C 73 2C 20 61 6E 64 20 74 6F manuals, and to
0001C0: 20 6F 76 65 72 72 69 64 65 20 69 74 20 79 6F 75 override it you
0001D0: 20 73 68 6F 75 6C 64 20 64 6F 0D 0A 0D 0A 20 20 should do....
0001E0: 20 20 20 50 52 49 4E 54 20 55 53 49 4E 47 22 26 PRINT USING"&
0001F0: 22 3B 22 48 65 6C 6C 6F 22 0D 0A 0D 0A 20 20 20 ";"Hello"....
Size : 512 (Real : 512)
000000: 6E 74 69 6E 67 20 61 20 73 74 72 69 6E 67 20 63 nting a string c
000010: 6F 6E 74 61 69 6E 69 6E 67 20 63 6F 6E 74 72 6F ontaining contro
000020: 6C 20 63 68 61 72 61 63 74 65 72 73 2C 20 74 68 l characters, th
000030: 65 6E 20 79 6F 75 0D 0A 20 20 20 73 68 6F 75 6C en you.. shoul
000040: 64 20 75 73 65 20 50 52 49 4E 54 20 55 53 49 4E d use PRINT USIN
000050: 47 22 26 22 3B 20 69 6E 73 74 65 61 64 2E 20 20 G"&"; instead.
000060: 20 50 72 6F 67 72 61 6D 73 20 20 73 6F 20 61 6C Programs so al
000070: 74 65 72 65 64 20 77 69 6C 6C 20 73 74 69 6C 6C tered will still
000080: 20 77 6F 72 6B 0D 0A 20 20 20 6F 6E 20 74 68 65 work.. on the
000090: 20 36 36 34 2F 36 31 32 38 2E 20 20 54 68 65 72 664/6128. Ther
0000A0: 65 20 6D 61 79 20 62 65 20 65 78 74 72 65 6D 65 e may be extreme
0000B0: 6C 79 20 73 75 62 74 6C 65 20 63 61 73 65 73 20 ly subtle cases
0000C0: 69 6E 20 77 68 69 63 68 20 74 68 69 73 20 6D 65 in which this me
0000D0: 74 68 6F 64 0D 0A 20 20 20 77 6F 6E 27 74 20 77 thod.. won't w
0000E0: 6F 72 6B 2C 20 62 75 74 20 6E 6F 77 20 79 6F 75 ork, but now you
0000F0: 20 6B 6E 6F 77 20 61 6C 6C 20 74 68 65 20 20 64 know all the d
000100: 65 74 61 69 6C 73 20 20 79 6F 75 20 77 69 6C 6C etails you will
000110: 20 62 65 20 61 62 6C 65 20 74 6F 20 73 6F 72 74 be able to sort
000120: 20 69 74 0D 0A 20 20 20 6F 75 74 21 0D 0A 0D 0A it.. out!....
000130: 20 20 20 52 45 4D 41 52 4B 41 42 4C 45 20 52 45 REMARKABLE RE
000140: 4D 53 0D 0A 20 20 20 42 41 53 49 43 20 31 2E 30 MS.. BASIC 1.0
000150: 20 64 6F 65 73 20 6E 6F 74 20 63 6F 70 65 20 61 does not cope a
000160: 74 20 61 6C 6C 20 77 65 6C 6C 20 77 68 65 6E 20 t all well when
000170: 79 6F 75 20 70 75 74 20 63 65 72 74 61 69 6E 20 you put certain
000180: 63 68 61 72 61 63 74 65 72 73 20 69 6E 20 52 45 characters in RE
000190: 4D 0D 0A 20 20 20 73 74 61 74 65 6D 65 6E 74 73 M.. statements
0001A0: 2E 20 20 4D 61 6E 79 20 6F 66 20 20 74 68 65 20 . Many of the
0001B0: 20 63 6F 6E 74 72 6F 6C 20 20 63 68 61 72 61 63 control charac
0001C0: 74 65 72 73 20 20 63 61 75 73 65 20 20 6F 64 64 ters cause odd
0001D0: 20 20 65 66 66 65 63 74 73 2C 20 77 68 69 6C 65 effects, while
0001E0: 0D 0A 20 20 20 63 68 61 72 61 63 74 65 72 73 20 .. characters
0001F0: 6F 76 65 72 20 31 32 37 20 61 72 65 20 20 6D 6F over 127 are mo
Size : 512 (Real : 512)
000000: 46 6F 72 20 6F 72 64 69 6E 61 72 79 20 73 74 72 For ordinary str
000010: 69 6E 67 73 20 74 68 65 20 34 36 34 20 20 61 6E ings the 464 an
000020: 64 20 20 36 36 34 2F 36 31 32 38 20 20 62 65 68 d 664/6128 beh
000030: 61 76 65 20 65 78 61 63 74 6C 79 20 74 68 65 20 ave exactly the
000040: 73 61 6D 65 2E 20 20 54 68 65 0D 0A 20 20 20 64 same. The.. d
000050: 69 66 66 65 72 65 6E 63 65 20 20 63 6F 6D 65 73 ifference comes
000060: 20 20 77 68 65 6E 20 20 79 6F 75 20 20 68 61 76 when you hav
000070: 65 20 20 63 6F 6E 74 72 6F 6C 20 20 63 68 61 72 e control char
000080: 61 63 74 65 72 73 20 20 69 6E 20 20 74 68 65 20 acters in the
000090: 20 73 74 72 69 6E 67 73 2E 0D 0A 20 20 20 43 68 strings... Ch
0000A0: 61 72 61 63 74 65 72 73 20 38 2D 31 31 20 6D 6F aracters 8-11 mo
0000B0: 76 65 20 74 68 65 20 63 75 72 73 6F 72 2C 20 61 ve the cursor, a
0000C0: 6E 64 20 20 69 74 20 20 69 73 20 73 6F 6D 65 74 nd it is somet
0000D0: 69 6D 65 73 20 63 6F 6E 76 65 6E 69 65 6E 74 20 imes convenient
0000E0: 74 6F 20 73 74 6F 72 65 0D 0A 20 20 20 63 6F 6D to store.. com
0000F0: 62 69 6E 61 74 69 6F 6E 73 20 6F 66 20 70 72 69 binations of pri
000100: 6E 74 69 6E 67 20 63 68 61 72 61 63 74 65 72 73 nting characters
000110: 20 61 6E 64 20 63 75 72 73 6F 72 20 6D 6F 76 65 and cursor move
000120: 6D 65 6E 74 73 20 69 6E 20 61 20 73 74 72 69 6E ments in a strin
000130: 67 2E 20 20 46 6F 72 0D 0A 20 20 20 65 78 61 6D g. For.. exam
000140: 70 6C 65 3A 0D 0A 0D 0A 20 20 20 20 20 31 30 20 ple:.... 10
000150: 61 24 3D 63 68 72 24 28 31 33 35 29 2B 63 68 72 a$=chr$(135)+chr
000160: 24 28 31 33 39 29 2B 63 68 72 24 28 31 30 29 2B $(139)+chr$(10)+
000170: 63 68 72 24 28 38 29 2B 63 68 72 24 28 38 29 2B chr$(8)+chr$(8)+
000180: 63 68 72 24 28 31 34 31 29 2B 63 68 72 24 28 31 chr$(141)+chr$(1
000190: 34 32 29 0D 0A 20 20 20 20 20 32 30 20 4D 4F 44 42).. 20 MOD
0001A0: 45 20 31 3A 4C 4F 43 41 54 45 20 35 2C 36 3A 50 E 1:LOCATE 5,6:P
0001B0: 52 49 4E 54 20 61 24 0D 0A 0D 0A 20 20 20 54 68 RINT a$.... Th
0001C0: 69 73 20 6C 69 74 74 6C 65 20 70 72 6F 67 72 61 is little progra
0001D0: 6D 20 70 72 69 6E 74 73 20 61 20 73 71 75 61 72 m prints a squar
0001E0: 65 20 20 62 6F 78 20 20 6F 6E 20 74 68 65 20 73 e box on the s
0001F0: 63 72 65 65 6E 2E 20 20 4E 6F 77 20 74 72 79 20 creen. Now try
Size : 512 (Real : 512)
000000: 73 74 6C 79 20 20 63 6F 6E 76 65 72 74 65 64 20 stly converted
000010: 20 69 6E 74 6F 20 20 42 41 53 49 43 20 6B 65 79 into BASIC key
000020: 77 6F 72 64 73 2E 20 20 54 68 65 20 52 53 58 0D words. The RSX.
000030: 0A 20 20 20 63 68 61 72 61 63 74 65 72 20 22 7C . character "|
000040: 22 20 63 61 75 73 65 73 20 74 68 65 20 20 6E 65 " causes the ne
000050: 78 74 20 20 63 68 61 72 61 63 74 65 72 20 20 69 xt character i
000060: 6E 20 20 74 68 65 20 20 52 45 4D 20 20 74 6F 20 n the REM to
000070: 64 69 73 61 70 70 65 61 72 20 77 68 65 6E 0D 0A disappear when..
000080: 20 20 20 6C 69 73 74 69 6E 67 2E 20 20 54 68 69 listing. Thi
000090: 73 20 64 69 66 66 65 72 65 6E 63 65 20 20 69 73 s difference is
0000A0: 20 20 6E 6F 74 20 20 76 65 72 79 20 20 69 6D 70 not very imp
0000B0: 6F 72 74 61 6E 74 20 20 62 65 63 61 75 73 65 20 ortant because
0000C0: 70 72 6F 67 72 61 6D 73 20 77 69 74 68 0D 0A 20 programs with..
0000D0: 20 20 74 68 65 73 65 20 63 68 61 72 61 63 74 65 these characte
0000E0: 72 73 20 69 6E 20 52 45 4D 20 73 74 61 74 65 6D rs in REM statem
0000F0: 65 6E 74 73 20 20 77 69 6C 6C 20 20 72 75 6E 20 ents will run
000100: 20 61 73 20 20 6E 6F 72 6D 61 6C 2E 20 20 54 68 as normal. Th
000110: 65 79 20 77 69 6C 6C 20 6A 75 73 74 0D 0A 20 20 ey will just..
000120: 20 70 72 6F 64 75 63 65 20 6F 64 64 20 72 65 73 produce odd res
000130: 75 6C 74 73 20 77 68 65 6E 20 6C 69 73 74 69 6E ults when listin
000140: 67 20 74 6F 20 74 68 65 20 73 63 72 65 65 6E 20 g to the screen
000150: 6F 72 20 70 72 69 6E 74 65 72 2E 0D 0A 0D 0A 20 or printer.....
000160: 20 20 43 41 4C 4C 45 44 20 54 4F 20 54 48 45 20 CALLED TO THE
000170: 42 41 52 0D 0A 20 20 20 34 36 34 20 75 73 65 72 BAR.. 464 user
000180: 73 20 77 69 6C 6C 20 62 65 20 20 76 65 72 79 20 s will be very
000190: 20 66 61 6D 69 6C 69 61 72 20 20 77 69 74 68 20 familiar with
0001A0: 20 74 68 65 20 20 72 65 73 74 72 69 63 74 69 6F the restrictio
0001B0: 6E 73 20 6F 6E 20 75 73 69 6E 67 20 73 74 72 69 ns on using stri
0001C0: 6E 67 0D 0A 20 20 20 70 61 72 61 6D 65 74 65 72 ng.. parameter
0001D0: 73 20 69 6E 20 52 53 58 20 63 6F 6D 6D 61 6E 64 s in RSX command
0001E0: 73 2E 20 20 57 68 69 6C 65 20 69 6E 20 42 41 53 s. While in BAS
0001F0: 49 43 20 31 2E 31 20 79 6F 75 20 63 61 6E 20 74 IC 1.1 you can t
Size : 512 (Real : 512)
000000: 20 6E 69 6E 65 0D 0A 20 20 20 6F 66 20 74 68 65 nine.. of the
000010: 73 65 20 62 6C 6F 63 6B 73 20 6F 66 20 74 68 72 se blocks of thr
000020: 65 65 20 62 79 74 65 73 20 66 72 6F 6D 20 20 26 ee bytes from &
000030: 41 43 30 31 20 20 74 6F 20 20 26 41 43 31 42 20 AC01 to &AC1B
000040: 6F 6E 20 74 68 65 20 34 36 34 2C 20 61 6E 64 20 on the 464, and
000050: 74 68 65 79 0D 0A 20 20 20 63 61 6E 20 62 65 20 they.. can be
000060: 75 73 65 64 20 74 6F 20 70 61 74 63 68 20 76 61 used to patch va
000070: 72 69 6F 75 73 20 55 70 70 65 72 20 20 52 4F 4D rious Upper ROM
000080: 20 66 75 6E 63 74 69 6F 6E 73 2E 20 20 54 68 65 functions. The
000090: 72 65 20 69 73 20 6E 6F 20 73 75 63 68 20 62 6C re is no such bl
0000A0: 6F 63 6B 0D 0A 20 20 20 6F 6E 20 74 68 65 20 36 ock.. on the 6
0000B0: 31 32 38 2E 20 20 49 20 68 61 76 65 20 6E 6F 74 128. I have not
0000C0: 20 73 65 65 6E 20 61 6E 20 65 78 70 6C 61 6E 61 seen an explana
0000D0: 74 69 6F 6E 20 6F 66 20 77 68 61 74 20 74 68 65 tion of what the
0000E0: 73 65 20 62 6C 6F 63 6B 73 20 61 72 65 20 66 6F se blocks are fo
0000F0: 72 2C 0D 0A 20 20 20 73 6F 20 63 6F 75 6E 74 20 r,.. so count
000100: 74 68 61 74 20 61 73 20 6D 79 20 72 65 71 75 65 that as my reque
000110: 73 74 20 6F 6E 20 74 68 65 20 61 72 74 69 63 6C st on the articl
000120: 65 20 77 69 73 68 2D 6C 69 73 74 21 0D 0A 0D 0A e wish-list!....
000130: 20 20 20 4C 49 4E 45 20 49 4E 50 55 54 0D 0A 20 LINE INPUT..
000140: 20 20 54 68 65 72 65 20 69 73 20 61 6C 73 6F 20 There is also
000150: 61 20 62 75 67 20 77 69 74 68 20 74 68 65 20 4C a bug with the L
000160: 49 4E 45 20 20 49 4E 50 55 54 20 20 63 6F 6D 6D INE INPUT comm
000170: 61 6E 64 2E 20 20 49 74 20 69 73 20 6D 65 61 6E and. It is mean
000180: 74 20 74 6F 20 77 6F 72 6B 20 69 6E 0D 0A 20 20 t to work in..
000190: 20 74 68 65 20 73 61 6D 65 20 77 61 79 20 61 73 the same way as
0001A0: 20 74 68 65 20 49 4E 50 55 54 20 63 6F 6D 6D 61 the INPUT comma
0001B0: 6E 64 2C 20 69 6E 20 74 68 61 74 0D 0A 0D 0A 20 nd, in that....
0001C0: 20 20 20 20 4C 49 4E 45 20 49 4E 50 55 54 22 4E LINE INPUT"N
0001D0: 61 6D 65 22 3B 61 24 0D 0A 0D 0A 20 20 20 73 68 ame";a$.... sh
0001E0: 6F 75 6C 64 20 70 72 69 6E 74 20 75 70 20 74 68 ould print up th
0001F0: 65 20 70 72 6F 6D 70 74 20 22 4E 61 6D 65 22 20 e prompt "Name"
Size : 512 (Real : 512)
000000: 65 65 73 65 22 20 6F 6E 0D 0A 20 20 20 74 68 65 eese" on.. the
000010: 20 34 36 34 3A 0D 0A 0D 0A 20 20 20 20 20 49 46 464:.... IF
000020: 20 32 35 36 20 54 48 45 4E 20 50 52 49 4E 54 22 256 THEN PRINT"
000030: 43 68 65 65 73 65 22 0D 0A 20 20 20 20 20 70 3D Cheese".. p=
000040: 32 35 36 3A 49 46 20 70 20 41 4E 44 20 32 35 36 256:IF p AND 256
000050: 20 54 48 45 4E 20 50 52 49 4E 54 22 43 68 65 65 THEN PRINT"Chee
000060: 73 65 22 0D 0A 20 20 20 20 20 49 46 20 31 30 32 se".. IF 102
000070: 34 20 54 48 45 4E 20 50 52 49 4E 54 22 43 68 65 4 THEN PRINT"Che
000080: 65 73 65 22 0D 0A 0D 0A 20 20 20 54 68 6F 73 65 ese".... Those
000090: 20 61 72 65 20 6A 75 73 74 20 61 20 66 65 77 20 are just a few
0000A0: 65 78 61 6D 70 6C 65 73 2C 20 61 6E 64 20 20 74 examples, and t
0000B0: 68 65 72 65 20 20 61 72 65 20 6D 61 6E 79 20 6D here are many m
0000C0: 6F 72 65 20 6C 69 6B 65 20 74 68 65 6D 2E 20 20 ore like them.
0000D0: 4E 6F 74 65 2C 0D 0A 20 20 20 68 6F 77 65 76 65 Note,.. howeve
0000E0: 72 2C 20 74 68 61 74 20 74 68 65 20 66 6F 6C 6C r, that the foll
0000F0: 6F 77 69 6E 67 20 74 77 6F 20 73 74 61 74 65 6D owing two statem
000100: 65 6E 74 73 20 64 6F 20 70 72 69 6E 74 20 22 43 ents do print "C
000110: 68 65 65 73 65 22 3A 0D 0A 0D 0A 20 20 20 20 20 heese":....
000120: 49 46 20 32 5E 38 20 54 48 45 4E 20 50 52 49 4E IF 2^8 THEN PRIN
000130: 54 22 43 68 65 65 73 65 22 0D 0A 20 20 20 20 20 T"Cheese"..
000140: 49 46 20 32 35 36 2E 30 20 54 48 45 4E 20 50 52 IF 256.0 THEN PR
000150: 49 4E 54 22 43 68 65 65 73 65 22 0D 0A 0D 0A 20 INT"Cheese"....
000160: 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 This is becaus
000170: 65 20 42 41 53 49 43 20 69 73 20 74 72 65 61 74 e BASIC is treat
000180: 69 6E 67 20 74 68 65 20 6E 75 6D 62 65 72 73 20 ing the numbers
000190: 28 77 68 69 63 68 20 62 6F 74 68 20 77 6F 72 6B (which both work
0001A0: 20 6F 75 74 20 61 73 20 32 35 36 29 0D 0A 20 20 out as 256)..
0001B0: 20 61 73 20 72 65 61 6C 20 76 61 6C 75 65 73 20 as real values
0001C0: 72 61 74 68 65 72 20 74 68 61 6E 20 69 6E 74 65 rather than inte
0001D0: 67 65 72 73 2E 20 20 49 6E 20 20 66 61 63 74 2C gers. In fact,
0001E0: 20 69 66 20 79 6F 75 20 65 6E 74 65 72 20 74 68 if you enter th
0001F0: 65 20 66 6F 6C 6C 6F 77 69 6E 67 0D 0A 20 20 20 e following..
Size : 512 (Real : 512)
000000: 66 6F 6C 6C 6F 77 65 64 20 62 79 20 61 20 71 75 followed by a qu
000010: 65 73 74 69 6F 6E 20 6D 61 72 6B 20 61 6E 64 20 estion mark and
000020: 61 20 73 70 61 63 65 2E 0D 0A 20 20 20 41 20 63 a space... A c
000030: 6F 6D 6D 61 20 69 6E 73 74 65 61 64 20 6F 66 20 omma instead of
000040: 61 20 73 65 6D 69 63 6F 6C 6F 6E 20 73 75 70 70 a semicolon supp
000050: 72 65 73 73 65 73 20 20 74 68 65 20 71 75 65 73 resses the ques
000060: 74 69 6F 6E 20 6D 61 72 6B 2E 20 20 4F 6E 20 74 tion mark. On t
000070: 68 65 20 34 36 34 2C 0D 0A 20 20 20 68 6F 77 65 he 464,.. howe
000080: 76 65 72 2C 20 74 68 65 20 71 75 65 73 74 69 6F ver, the questio
000090: 6E 20 20 6D 61 72 6B 20 20 6E 65 76 65 72 20 20 n mark never
0000A0: 61 70 70 65 61 72 73 2E 20 20 20 54 68 69 73 20 appears. This
0000B0: 20 77 69 6C 6C 20 20 6E 6F 74 20 20 63 61 75 73 will not caus
0000C0: 65 20 6D 61 6E 79 0D 0A 20 20 20 70 72 6F 62 6C e many.. probl
0000D0: 65 6D 73 2C 20 62 75 74 20 74 68 65 20 73 63 72 ems, but the scr
0000E0: 65 65 6E 20 64 69 73 70 6C 61 79 20 6D 61 79 20 een display may
0000F0: 74 75 72 6E 20 20 6F 75 74 20 6E 6F 74 20 71 75 turn out not qu
000100: 69 74 65 20 61 73 20 74 68 65 20 70 72 6F 67 72 ite as the progr
000110: 61 6D 6D 65 72 0D 0A 20 20 20 69 6E 74 65 6E 64 ammer.. intend
000120: 65 64 20 69 74 2E 20 20 49 66 20 79 6F 75 20 61 ed it. If you a
000130: 72 65 20 61 20 36 36 34 2F 36 31 32 38 20 75 73 re a 664/6128 us
000140: 65 72 20 20 77 68 6F 20 77 61 6E 74 73 20 79 6F er who wants yo
000150: 75 72 20 70 72 6F 67 72 61 6D 20 74 6F 20 72 75 ur program to ru
000160: 6E 20 6F 6E 0D 0A 20 20 20 61 20 34 36 34 2C 20 n on.. a 464,
000170: 61 6C 77 61 79 73 20 75 73 65 20 20 74 68 65 20 always use the
000180: 20 63 6F 6D 6D 61 2C 20 20 61 6E 64 20 20 70 72 comma, and pr
000190: 6F 76 69 64 65 20 20 74 68 65 20 20 71 75 65 73 ovide the ques
0001A0: 74 69 6F 6E 20 6D 61 72 6B 20 61 6E 64 20 73 70 tion mark and sp
0001B0: 61 63 65 0D 0A 20 20 20 79 6F 75 72 73 65 6C 66 ace.. yourself
0001C0: 2E 0D 0A 0D 0A 20 20 20 49 66 20 79 6F 75 20 61 ..... If you a
0001D0: 72 65 20 61 20 20 34 36 34 20 20 75 73 65 72 20 re a 464 user
0001E0: 20 79 6F 75 20 20 6D 61 79 20 20 66 69 6E 64 20 you may find
0001F0: 20 77 68 65 6E 20 20 72 75 6E 6E 69 6E 67 20 20 when running
Size : 512 (Real : 512)
000000: 74 77 6F 20 6C 69 6E 65 73 3A 0D 0A 0D 0A 20 20 two lines:....
000010: 20 20 20 31 30 20 49 46 20 32 35 36 20 54 48 45 10 IF 256 THE
000020: 4E 20 50 52 49 4E 54 22 43 68 65 65 73 65 22 0D N PRINT"Cheese".
000030: 0A 20 20 20 20 20 32 30 20 49 46 20 32 35 36 2E . 20 IF 256.
000040: 30 20 54 48 45 4E 20 50 52 49 4E 54 22 43 68 65 0 THEN PRINT"Che
000050: 65 73 65 22 0D 0A 0D 0A 20 20 20 74 68 65 6E 20 ese".... then
000060: 4C 49 53 54 20 74 68 65 20 70 72 6F 67 72 61 6D LIST the program
000070: 2C 20 62 6F 74 68 20 6C 69 6E 65 73 20 77 69 6C , both lines wil
000080: 6C 20 20 64 69 73 70 6C 61 79 20 74 68 65 20 73 l display the s
000090: 61 6D 65 2C 20 62 75 74 20 62 65 63 61 75 73 65 ame, but because
0000A0: 20 6C 69 6E 65 0D 0A 20 20 20 32 30 20 68 61 73 line.. 20 has
0000B0: 20 32 35 36 20 73 74 6F 72 65 64 20 61 73 20 61 256 stored as a
0000C0: 20 72 65 61 6C 20 6E 75 6D 62 65 72 20 69 74 20 real number it
0000D0: 77 69 6C 6C 20 70 72 69 6E 74 20 22 43 68 65 65 will print "Chee
0000E0: 73 65 22 21 0D 0A 0D 0A 20 20 20 49 66 20 79 6F se"!.... If yo
0000F0: 75 20 73 75 73 70 65 63 74 20 62 75 67 73 20 20 u suspect bugs
000100: 69 6E 20 20 61 20 20 70 72 6F 67 72 61 6D 20 20 in a program
000110: 74 6F 20 20 62 65 20 20 64 75 65 20 20 74 6F 20 to be due to
000120: 20 74 68 69 73 20 66 61 75 6C 74 2C 20 6A 75 73 this fault, jus
000130: 74 20 70 75 74 0D 0A 20 20 20 62 72 61 63 6B 65 t put.. bracke
000140: 74 73 20 72 6F 75 6E 64 20 74 68 65 20 77 68 6F ts round the who
000150: 6C 65 20 65 78 70 72 65 73 73 69 6F 6E 20 61 6E le expression an
000160: 64 20 20 22 3C 3E 30 22 20 20 61 66 74 65 72 20 d "<>0" after
000170: 69 74 2E 20 20 54 68 69 73 20 77 69 6C 6C 20 66 it. This will f
000180: 6F 72 63 65 0D 0A 20 20 20 74 68 65 20 63 6F 6D orce.. the com
000190: 70 75 74 65 72 20 74 6F 20 74 72 65 61 74 20 6E puter to treat n
0001A0: 6F 6E 2D 7A 65 72 6F 20 76 61 6C 75 65 73 20 61 on-zero values a
0001B0: 73 20 74 72 75 65 2E 0D 0A 0D 0A 20 20 20 54 68 s true..... Th
0001C0: 65 72 65 20 61 72 65 20 20 73 65 76 65 72 61 6C ere are several
0001D0: 20 20 6F 74 68 65 72 20 20 61 72 69 74 68 6D 65 other arithme
0001E0: 74 69 63 61 6C 20 20 62 75 67 73 20 20 74 68 61 tical bugs tha
0001F0: 74 20 20 61 66 66 65 63 74 20 20 61 6C 6C 20 20 t affect all
Size : 512 (Real : 512)
000000: 79 6F 75 72 20 70 72 6F 67 72 61 6D 73 20 6F 6E your programs on
000010: 20 61 0D 0A 20 20 20 36 36 34 2F 36 31 32 38 20 a.. 664/6128
000020: 74 68 61 74 20 65 78 74 72 61 20 71 75 65 73 74 that extra quest
000030: 69 6F 6E 20 6D 61 72 6B 73 20 77 69 6C 6C 20 61 ion marks will a
000040: 70 70 65 61 72 2E 20 20 59 6F 75 20 73 68 6F 75 ppear. You shou
000050: 6C 64 20 61 6C 77 61 79 73 20 75 73 65 20 74 68 ld always use th
000060: 65 0D 0A 20 20 20 63 6F 6D 6D 61 20 61 73 20 77 e.. comma as w
000070: 65 6C 6C 2E 20 20 54 68 65 20 63 6F 6D 6D 61 6E ell. The comman
000080: 64 20 77 69 74 68 20 6E 6F 20 70 72 6F 6D 70 74 d with no prompt
000090: 3A 0D 0A 0D 0A 20 20 20 20 20 4C 49 4E 45 20 49 :.... LINE I
0000A0: 4E 50 55 54 20 61 24 0D 0A 0D 0A 20 20 20 77 69 NPUT a$.... wi
0000B0: 6C 6C 20 70 72 6F 64 75 63 65 20 61 20 71 75 65 ll produce a que
0000C0: 73 74 69 6F 6E 20 6D 61 72 6B 20 6F 6E 20 74 68 stion mark on th
0000D0: 65 20 20 36 36 34 2F 36 31 32 38 2E 20 20 20 49 e 664/6128. I
0000E0: 66 20 79 6F 75 20 77 61 6E 74 20 74 6F 20 61 76 f you want to av
0000F0: 6F 69 64 20 74 68 69 73 0D 0A 20 20 20 68 61 70 oid this.. hap
000100: 70 65 6E 69 6E 67 2C 20 75 73 65 0D 0A 0D 0A 20 pening, use....
000110: 20 20 20 20 4C 49 4E 45 20 49 4E 50 55 54 22 22 LINE INPUT""
000120: 2C 61 24 0D 0A 0D 0A 20 20 20 54 68 61 6E 6B 73 ,a$.... Thanks
000130: 20 74 6F 20 52 69 63 68 61 72 64 20 20 46 61 69 to Richard Fai
000140: 72 68 75 72 73 74 20 20 66 6F 72 20 20 70 6F 69 rhurst for poi
000150: 6E 74 69 6E 67 20 20 74 68 69 73 20 20 6F 6E 65 nting this one
000160: 20 20 6F 75 74 2C 20 20 77 68 69 63 68 20 20 49 out, which I
000170: 20 77 61 73 0D 0A 20 20 20 63 6F 6D 70 6C 65 74 was.. complet
000180: 65 6C 79 20 75 6E 61 77 61 72 65 20 6F 66 2E 20 ely unaware of.
000190: 20 49 20 77 69 6C 6C 20 6E 6F 77 20 68 61 76 65 I will now have
0001A0: 20 20 74 6F 20 20 67 6F 20 74 68 72 6F 75 67 68 to go through
0001B0: 20 6D 79 20 6F 77 6E 20 70 72 6F 67 72 61 6D 73 my own programs
0001C0: 20 74 6F 0D 0A 20 20 20 63 68 65 63 6B 20 74 68 to.. check th
0001D0: 65 20 4C 49 4E 45 20 49 4E 50 55 54 73 2E 0D 0A e LINE INPUTs...
0001E0: 0D 0A 20 20 20 47 45 54 54 49 4E 47 20 54 48 45 .. GETTING THE
0001F0: 20 53 55 4D 53 20 57 52 4F 4E 47 0D 0A 20 20 20 SUMS WRONG..
Size : 512 (Real : 512)
000000: 74 68 65 20 20 43 50 43 0D 0A 20 20 20 6D 61 63 the CPC.. mac
000010: 68 69 6E 65 73 2C 20 77 68 69 63 68 20 61 72 65 hines, which are
000020: 20 20 6D 6F 73 74 6C 79 20 20 74 68 65 20 20 72 mostly the r
000030: 65 73 75 6C 74 20 20 6F 66 20 20 72 6F 75 6E 64 esult of round
000040: 69 6E 67 20 20 65 72 72 6F 72 73 20 20 77 68 65 ing errors whe
000050: 6E 20 75 73 69 6E 67 0D 0A 20 20 20 66 6C 6F 61 n using.. floa
000060: 74 69 6E 67 20 70 6F 69 6E 74 20 6E 75 6D 62 65 ting point numbe
000070: 72 73 2E 0D 0A 0D 0A 20 20 20 53 57 45 45 50 49 rs..... SWEEPI
000080: 4E 47 20 55 50 20 54 48 45 20 47 41 52 42 41 47 NG UP THE GARBAG
000090: 45 0D 0A 20 20 20 54 68 65 20 34 36 34 20 69 73 E.. The 464 is
0000A0: 20 76 65 72 79 20 73 6C 6F 77 20 6F 6E 20 67 61 very slow on ga
0000B0: 72 62 61 67 65 20 63 6F 6C 6C 65 63 74 69 6F 6E rbage collection
0000C0: 2E 20 20 49 66 20 79 6F 75 20 69 6E 63 72 65 61 . If you increa
0000D0: 73 65 20 74 68 65 20 6C 65 6E 67 74 68 20 6F 66 se the length of
0000E0: 0D 0A 20 20 20 61 20 73 74 72 69 6E 67 2C 20 42 .. a string, B
0000F0: 41 53 49 43 20 73 74 6F 72 65 73 20 74 68 65 20 ASIC stores the
000100: 73 74 72 69 6E 67 20 69 6E 20 20 61 20 6E 65 77 string in a new
000110: 20 61 72 65 61 20 6F 66 20 6D 65 6D 6F 72 79 2C area of memory,
000120: 20 61 6E 64 20 65 76 65 6E 74 75 61 6C 6C 79 0D and eventually.
000130: 0A 20 20 20 74 68 65 20 6F 6C 64 20 63 68 75 6E . the old chun
000140: 6B 20 77 69 6C 6C 20 20 62 65 20 20 72 65 75 73 k will be reus
000150: 65 64 2E 20 20 20 47 61 72 62 61 67 65 20 20 63 ed. Garbage c
000160: 6F 6C 6C 65 63 74 69 6F 6E 20 20 69 73 20 20 77 ollection is w
000170: 68 65 6E 20 42 41 53 49 43 20 67 6F 65 73 0D 0A hen BASIC goes..
000180: 20 20 20 74 68 72 6F 75 67 68 20 6D 65 6D 6F 72 through memor
000190: 79 20 74 69 64 79 69 6E 67 20 75 70 20 61 6C 6C y tidying up all
0001A0: 20 74 68 65 20 20 73 74 72 69 6E 67 20 73 74 6F the string sto
0001B0: 72 61 67 65 2E 20 20 54 68 65 20 73 74 72 69 6E rage. The strin
0001C0: 67 20 68 61 6E 64 6C 69 6E 67 20 6F 6E 0D 0A 20 g handling on..
0001D0: 20 20 74 68 65 20 34 36 34 20 69 73 20 6D 75 63 the 464 is muc
0001E0: 68 20 6C 65 73 73 20 65 66 66 69 63 69 65 6E 74 h less efficient
0001F0: 20 74 68 61 6E 20 74 68 61 74 20 20 6F 66 20 42 than that of B
Size : 512 (Real : 512)
000000: 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 There are a few
000010: 61 72 65 61 73 20 77 68 65 72 65 20 20 74 68 65 areas where the
000020: 20 20 34 36 34 20 69 73 20 22 61 72 69 74 68 6D 464 is "arithm
000030: 65 74 69 63 61 6C 6C 79 20 63 68 61 6C 6C 65 6E etically challen
000040: 67 65 64 22 2E 20 20 46 6F 72 0D 0A 20 20 20 65 ged". For.. e
000050: 78 61 6D 70 6C 65 2C 20 74 72 79 0D 0A 0D 0A 20 xample, try....
000060: 20 20 20 20 50 52 49 4E 54 20 28 2D 31 29 5E 31 PRINT (-1)^1
000070: 0D 0A 0D 0A 20 20 20 4F 6E 20 74 68 65 20 34 36 .... On the 46
000080: 34 20 79 6F 75 20 77 69 6C 6C 20 20 67 65 74 20 4 you will get
000090: 20 22 31 22 20 20 77 68 69 6C 65 20 20 74 68 65 "1" while the
0000A0: 20 20 36 36 34 2F 36 31 32 38 20 77 69 6C 6C 20 664/6128 will
0000B0: 70 72 69 6E 74 20 74 68 65 20 63 6F 72 72 65 63 print the correc
0000C0: 74 0D 0A 20 20 20 61 6E 73 77 65 72 20 6F 66 20 t.. answer of
0000D0: 22 2D 31 22 2E 20 20 54 68 65 20 73 61 6D 65 20 "-1". The same
0000E0: 61 70 70 6C 69 65 73 20 74 6F 20 61 6E 79 20 6F applies to any o
0000F0: 74 68 65 72 20 6E 65 67 61 74 69 76 65 20 6E 75 ther negative nu
000100: 6D 62 65 72 2E 20 20 4F 66 20 63 6F 75 72 73 65 mber. Of course
000110: 0D 0A 20 20 20 74 68 65 72 65 20 69 73 20 6E 6F .. there is no
000120: 74 20 6D 75 63 68 20 70 6F 69 6E 74 20 69 6E 20 t much point in
000130: 20 72 61 69 73 69 6E 67 20 20 73 6F 6D 65 74 68 raising someth
000140: 69 6E 67 20 20 74 6F 20 74 68 65 20 66 69 72 73 ing to the firs
000150: 74 20 70 6F 77 65 72 2C 20 62 75 74 20 69 66 0D t power, but if.
000160: 0A 20 20 20 79 6F 75 20 68 61 64 20 76 61 72 69 . you had vari
000170: 61 62 6C 65 73 20 69 6E 76 6F 6C 76 65 64 20 69 ables involved i
000180: 74 20 63 6F 75 6C 64 20 63 61 75 73 65 20 70 72 t could cause pr
000190: 6F 62 6C 65 6D 73 2E 0D 0A 0D 0A 20 20 20 41 6E oblems..... An
0001A0: 6F 74 68 65 72 20 6D 6F 72 65 20 73 65 72 69 6F other more serio
0001B0: 75 73 20 70 72 6F 62 6C 65 6D 20 61 66 66 65 63 us problem affec
0001C0: 74 73 20 6C 6F 67 69 63 20 20 73 74 61 74 65 6D ts logic statem
0001D0: 65 6E 74 73 20 61 6E 64 20 74 68 65 20 49 46 20 ents and the IF
0001E0: 63 6F 6D 6D 61 6E 64 2E 0D 0A 20 20 20 41 73 20 command... As
0001F0: 77 65 20 65 78 70 6C 61 69 6E 65 64 20 69 6E 20 we explained in
Size : 512 (Real : 512)
000000: 20 69 66 20 74 68 65 72 65 20 61 72 65 20 20 61 if there are a
000010: 20 20 6C 6F 74 20 20 6F 66 20 74 68 65 6D 20 69 lot of them i
000020: 74 20 6D 61 79 20 62 65 20 65 61 73 69 65 72 20 t may be easier
000030: 74 6F 0D 0A 20 20 20 72 75 6E 20 4C 69 73 74 69 to.. run Listi
000040: 6E 67 20 31 2E 20 20 54 68 69 73 20 6C 69 73 74 ng 1. This list
000050: 69 6E 67 20 69 73 20 62 79 20 44 6F 6D 69 6E 69 ing is by Domini
000060: 63 20 57 69 73 65 20 61 6E 64 20 77 61 73 20 70 c Wise and was p
000070: 72 69 6E 74 65 64 20 69 6E 20 41 6D 73 74 72 61 rinted in Amstra
000080: 64 0D 0A 20 20 20 41 63 74 69 6F 6E 20 69 73 73 d.. Action iss
000090: 75 65 20 35 33 2C 20 46 65 62 72 75 61 72 79 20 ue 53, February
0000A0: 31 39 39 30 2E 20 20 28 4C 65 74 27 73 20 68 6F 1990. (Let's ho
0000B0: 70 65 20 74 68 65 79 20 64 6F 6E 27 74 20 6D 69 pe they don't mi
0000C0: 6E 64 20 75 73 20 72 65 70 72 69 6E 74 69 6E 67 nd us reprinting
0000D0: 0D 0A 20 20 20 69 74 2E 2E 2E 29 20 20 54 68 69 .. it...) Thi
0000E0: 73 20 6C 69 73 74 69 6E 67 20 67 69 76 65 73 20 s listing gives
0000F0: 34 36 34 20 75 73 65 72 73 20 20 74 68 65 20 61 464 users the a
000100: 62 69 6C 69 74 79 20 74 6F 20 70 61 73 73 20 73 bility to pass s
000110: 74 72 69 6E 67 73 20 64 69 72 65 63 74 6C 79 0D trings directly.
000120: 0A 20 20 20 74 6F 20 52 53 58 73 20 61 6E 64 20 . to RSXs and
000130: 43 41 4C 4C 20 63 6F 6D 6D 61 6E 64 73 2E 20 20 CALL commands.
000140: 3C 3C 49 74 20 69 73 20 73 61 76 65 64 20 6F 6E <<It is saved on
000150: 20 64 69 73 63 20 61 73 20 34 36 34 52 53 58 2E disc as 464RSX.
000160: 42 41 53 3E 3E 0D 0A 0D 0A 20 20 20 54 68 65 20 BAS>>.... The
000170: 72 65 61 6C 20 74 65 63 68 69 65 73 20 61 6D 6F real techies amo
000180: 6E 67 20 79 6F 75 20 6D 61 79 20 6C 69 6B 65 20 ng you may like
000190: 20 74 6F 20 20 67 65 74 20 6F 75 74 20 79 6F 75 to get out you
0001A0: 72 20 64 69 73 61 73 73 65 6D 62 6C 65 72 20 74 r disassembler t
0001B0: 6F 20 66 69 6E 64 0D 0A 20 20 20 6F 75 74 20 68 o find.. out h
0001C0: 6F 77 20 69 74 20 77 6F 72 6B 73 2E 20 20 49 74 ow it works. It
0001D0: 20 73 65 65 6D 73 20 74 6F 20 75 73 65 20 61 20 seems to use a
0001E0: 70 61 74 63 68 20 62 6C 6F 63 6B 20 61 74 20 26 patch block at &
0001F0: 41 43 30 34 2E 20 20 54 68 65 72 65 20 61 72 65 AC04. There are
Size : 512 (Real : 512)
000000: 4D 61 72 63 68 20 20 31 39 39 37 2C 20 20 61 6C March 1997, al
000010: 6C 20 20 6C 6F 67 69 63 61 6C 20 65 78 70 72 65 l logical expre
000020: 73 73 69 6F 6E 73 20 61 72 65 20 65 76 61 6C 75 ssions are evalu
000030: 61 74 65 64 20 74 6F 0D 0A 20 20 20 67 69 76 65 ated to.. give
000040: 20 61 20 6E 75 6D 62 65 72 2C 20 61 6E 64 20 69 a number, and i
000050: 66 20 74 68 65 20 6E 75 6D 62 65 72 20 20 69 73 f the number is
000060: 20 6E 6F 74 20 7A 65 72 6F 20 74 68 65 20 65 78 not zero the ex
000070: 70 72 65 73 73 69 6F 6E 20 69 73 20 63 6F 6E 73 pression is cons
000080: 69 64 65 72 65 64 0D 0A 20 20 20 74 6F 20 62 65 idered.. to be
000090: 20 74 72 75 65 2E 20 20 46 6F 72 20 65 78 61 6D true. For exam
0000A0: 70 6C 65 2C 0D 0A 0D 0A 20 20 20 20 20 49 46 20 ple,.... IF
0000B0: 37 20 41 4E 44 20 33 20 54 48 45 4E 20 50 52 49 7 AND 3 THEN PRI
0000C0: 4E 54 22 43 68 65 65 73 65 22 0D 0A 0D 0A 20 20 NT"Cheese"....
0000D0: 20 77 69 6C 6C 20 70 72 69 6E 74 20 22 43 68 65 will print "Che
0000E0: 65 73 65 22 20 62 65 63 61 75 73 65 20 37 20 41 ese" because 7 A
0000F0: 4E 44 20 33 20 69 73 20 20 33 20 28 77 68 69 63 ND 3 is 3 (whic
000100: 68 20 69 73 20 6E 6F 74 20 7A 65 72 6F 29 2E 20 h is not zero).
000110: 20 53 61 64 6C 79 2C 20 34 36 34 0D 0A 20 20 20 Sadly, 464..
000120: 42 41 53 49 43 20 68 61 73 20 61 20 62 75 67 20 BASIC has a bug
000130: 62 65 63 61 75 73 65 20 69 66 20 20 74 68 65 20 because if the
000140: 20 65 78 70 72 65 73 73 69 6F 6E 20 20 79 69 65 expression yie
000150: 6C 64 73 20 61 6E 20 69 6E 74 65 67 65 72 20 76 lds an integer v
000160: 61 6C 75 65 20 77 68 65 72 65 0D 0A 20 20 20 74 alue where.. t
000170: 68 65 20 6C 65 61 73 74 20 73 69 67 6E 69 66 69 he least signifi
000180: 63 61 6E 74 20 62 79 74 65 20 69 73 20 7A 65 72 cant byte is zer
000190: 6F 20 20 74 68 65 20 20 65 78 70 72 65 73 73 69 o the expressi
0001A0: 6F 6E 20 77 69 6C 6C 20 6E 6F 74 20 62 65 20 63 on will not be c
0001B0: 6F 6E 73 69 64 65 72 65 64 0D 0A 20 20 20 74 72 onsidered.. tr
0001C0: 75 65 2C 20 65 76 65 6E 20 69 66 20 69 74 20 69 ue, even if it i
0001D0: 73 21 20 20 54 68 65 20 66 6F 6C 6C 6F 77 69 6E s! The followin
0001E0: 67 20 20 73 74 61 74 65 6D 65 6E 74 73 20 77 69 g statements wi
0001F0: 6C 6C 20 6E 6F 74 20 70 72 69 6E 74 20 22 43 68 ll not print "Ch
Size : 512 (Real : 512)
000000: 6C 65 20 69 6E 74 6F 20 6D 65 6D 6F 72 79 2C 0D le into memory,.
000010: 0A 20 20 20 42 41 53 49 43 20 63 72 65 61 74 65 . BASIC create
000020: 73 20 61 20 66 69 6C 65 20 62 75 66 66 65 72 2C s a file buffer,
000030: 20 62 75 74 20 64 6F 65 73 20 6E 6F 74 20 66 72 but does not fr
000040: 65 65 20 74 68 65 20 6D 65 6D 6F 72 79 20 6F 6E ee the memory on
000050: 63 65 20 74 68 65 20 66 69 6C 65 20 69 73 0D 0A ce the file is..
000060: 20 20 20 6C 6F 61 64 65 64 20 61 73 20 69 74 20 loaded as it
000070: 73 68 6F 75 6C 64 20 64 6F 2E 20 20 49 73 73 75 should do. Issu
000080: 69 6E 67 20 20 61 20 43 4C 4F 53 45 49 4E 20 63 ing a CLOSEIN c
000090: 6F 6D 6D 61 6E 64 20 69 6D 6D 65 64 69 61 74 65 ommand immediate
0000A0: 6C 79 20 61 66 74 65 72 77 61 72 64 73 0D 0A 20 ly afterwards..
0000B0: 20 20 77 69 6C 6C 20 63 75 72 65 20 74 68 69 73 will cure this
0000C0: 20 6F 6E 65 2E 0D 0A 0D 0A 20 20 20 4B 45 59 42 one..... KEYB
0000D0: 4F 41 52 44 20 4C 41 59 4F 55 54 0D 0A 20 20 20 OARD LAYOUT..
0000E0: 4F 6E 65 20 6C 61 73 74 20 64 69 66 66 65 72 65 One last differe
0000F0: 6E 63 65 20 62 65 74 77 65 65 6E 20 74 68 65 20 nce between the
000100: 43 50 43 73 20 69 73 20 74 68 65 20 6B 65 79 62 CPCs is the keyb
000110: 6F 61 72 64 20 6C 61 79 6F 75 74 2E 20 20 54 68 oard layout. Th
000120: 65 20 36 31 32 38 20 68 61 73 0D 0A 20 20 20 61 e 6128 has.. a
000130: 20 74 6F 74 61 6C 6C 79 20 64 69 66 66 65 72 65 totally differe
000140: 6E 74 20 6C 61 79 6F 75 74 2C 20 62 75 74 20 66 nt layout, but f
000150: 6F 72 20 20 6F 6E 63 65 20 20 74 68 65 20 20 34 or once the 4
000160: 36 34 20 20 61 6E 64 20 36 36 34 20 68 61 76 65 64 and 664 have
000170: 20 6D 75 63 68 20 74 68 65 0D 0A 20 20 20 73 61 much the.. sa
000180: 6D 65 20 64 65 73 69 67 6E 20 28 61 70 61 72 74 me design (apart
000190: 20 66 72 6F 6D 20 74 68 65 20 20 36 36 34 27 73 from the 664's
0001A0: 20 20 6D 61 6D 6D 6F 74 68 20 20 62 6C 75 65 20 mammoth blue
0001B0: 63 75 72 73 6F 72 20 6B 65 79 73 29 2E 20 20 53 cursor keys). S
0001C0: 6F 6D 65 74 69 6D 65 73 0D 0A 20 20 20 6B 65 79 ometimes.. key
0001D0: 73 20 61 72 65 20 63 68 6F 73 65 6E 20 74 68 61 s are chosen tha
0001E0: 74 20 77 6F 72 6B 20 77 65 6C 6C 20 6F 6E 20 74 t work well on t
0001F0: 68 65 20 36 31 32 38 20 62 75 74 20 6E 6F 74 20 he 6128 but not
Size : 512 (Real : 512)
000000: 41 53 49 43 20 31 2E 31 2C 20 61 6E 64 20 74 68 ASIC 1.1, and th
000010: 69 73 20 63 61 6E 20 63 61 75 73 65 0D 0A 20 20 is can cause..
000020: 20 73 65 76 65 72 65 20 70 72 6F 62 6C 65 6D 73 severe problems
000030: 2E 20 20 53 6F 6D 65 74 69 6D 65 73 20 74 68 65 . Sometimes the
000040: 20 6D 61 63 68 69 6E 65 20 73 65 65 6D 73 20 74 machine seems t
000050: 6F 20 68 61 6E 67 20 75 70 20 66 6F 72 20 61 20 o hang up for a
000060: 66 65 77 20 73 65 63 6F 6E 64 73 0D 0A 20 20 20 few seconds..
000070: 75 6E 65 78 70 65 63 74 65 64 6C 79 2C 20 61 6E unexpectedly, an
000080: 64 20 73 6F 6D 65 74 69 6D 65 73 20 79 6F 75 20 d sometimes you
000090: 72 75 6E 20 6F 75 74 20 6F 66 20 6D 65 6D 6F 72 run out of memor
0000A0: 79 20 61 6C 74 6F 67 65 74 68 65 72 2E 0D 0A 0D y altogether....
0000B0: 0A 20 20 20 4F 6E 65 20 74 68 69 6E 67 20 74 68 . One thing th
0000C0: 61 74 20 63 61 6E 20 73 6F 6D 65 74 69 6D 65 73 at can sometimes
0000D0: 20 68 65 6C 70 20 69 73 20 74 6F 20 20 66 6F 72 help is to for
0000E0: 63 65 20 42 41 53 49 43 20 74 6F 20 64 6F 20 74 ce BASIC to do t
0000F0: 68 65 20 72 6F 75 6E 64 73 20 6D 6F 72 65 0D 0A he rounds more..
000100: 20 20 20 6F 66 74 65 6E 2E 20 20 49 66 20 79 6F often. If yo
000110: 75 20 70 75 74 0D 0A 0D 0A 20 20 20 20 20 64 75 u put.... du
000120: 6D 6D 79 76 61 72 3D 46 52 45 28 22 22 29 0D 0A mmyvar=FRE("")..
000130: 0D 0A 20 20 20 61 74 20 73 74 72 61 74 65 67 69 .. at strategi
000140: 63 20 70 6F 69 6E 74 73 20 69 6E 20 61 20 70 72 c points in a pr
000150: 6F 67 72 61 6D 2C 20 20 74 68 69 73 20 20 63 61 ogram, this ca
000160: 6E 20 73 74 6F 70 20 74 68 65 20 70 72 6F 62 6C n stop the probl
000170: 65 6D 20 62 75 69 6C 64 69 6E 67 20 75 70 2E 0D em building up..
000180: 0A 20 20 20 54 68 65 20 67 61 72 62 61 67 65 20 . The garbage
000190: 63 6F 6C 6C 65 63 74 69 6F 6E 20 69 73 20 6D 6F collection is mo
0001A0: 73 74 20 20 6C 69 6B 65 6C 79 20 20 74 6F 20 20 st likely to
0001B0: 62 65 20 20 6E 65 65 64 65 64 20 77 68 65 6E 20 be needed when
0001C0: 42 41 53 49 43 20 72 65 71 75 69 72 65 73 0D 0A BASIC requires..
0001D0: 20 20 20 76 61 73 74 20 61 6D 6F 75 6E 74 73 20 vast amounts
0001E0: 6F 66 20 6D 65 6D 6F 72 79 20 73 75 64 64 65 6E of memory sudden
0001F0: 6C 79 2E 20 20 57 68 65 6E 65 76 65 72 20 79 6F ly. Whenever yo
Size : 512 (Real : 512)
000000: 6F 6E 20 74 68 65 20 6F 74 68 65 72 73 2C 20 61 on the others, a
000010: 6E 64 20 76 69 63 65 0D 0A 20 20 20 76 65 72 73 nd vice.. vers
000020: 61 2E 20 20 49 74 20 69 73 20 75 73 75 61 6C 6C a. It is usuall
000030: 79 20 65 61 73 79 20 65 6E 6F 75 67 68 20 74 6F y easy enough to
000040: 20 73 6F 72 74 20 69 74 20 6F 75 74 2E 20 20 4F sort it out. O
000050: 6E 65 20 66 65 61 74 75 72 65 20 6F 66 20 74 68 ne feature of th
000060: 65 20 36 31 32 38 0D 0A 20 20 20 69 73 20 74 68 e 6128.. is th
000070: 61 74 20 69 74 20 69 73 20 70 6F 73 73 69 62 6C at it is possibl
000080: 65 20 20 74 6F 20 20 64 6F 20 20 43 54 52 4C 2D e to do CTRL-
000090: 53 48 49 46 54 2D 45 53 43 20 20 77 69 74 68 20 SHIFT-ESC with
0000A0: 20 6F 6E 65 20 20 68 61 6E 64 2E 20 20 49 20 61 one hand. I a
0000B0: 6D 20 6E 6F 74 0D 0A 20 20 20 63 6F 6E 76 69 6E m not.. convin
0000C0: 63 65 64 20 74 68 61 74 20 74 68 69 73 20 69 73 ced that this is
0000D0: 20 61 6E 20 61 64 76 61 6E 74 61 67 65 21 0D 0A an advantage!..
0000E0: 0D 0A 20 20 20 54 68 65 72 65 20 61 72 65 20 64 .. There are d
0000F0: 6F 75 62 74 6C 65 73 73 20 6F 74 68 65 72 20 73 oubtless other s
000100: 6C 69 67 68 74 20 62 75 67 73 20 20 77 69 74 68 light bugs with
000110: 20 20 74 68 65 20 34 36 34 27 73 20 42 41 53 49 the 464's BASI
000120: 43 20 61 6E 64 20 66 69 72 6D 77 61 72 65 2E 0D C and firmware..
000130: 0A 20 20 20 49 66 20 79 6F 75 20 6B 6E 6F 77 20 . If you know
000140: 6F 66 20 61 6E 79 2C 20 77 68 79 20 6E 6F 74 20 of any, why not
000150: 77 72 69 74 65 20 69 6E 20 74 6F 20 46 61 69 72 write in to Fair
000160: 20 43 6F 6D 6D 65 6E 74 20 61 6E 64 20 6C 65 74 Comment and let
000170: 20 75 73 20 6B 6E 6F 77 2E 0D 0A 1A 70 6C 65 20 us know....ple
000180: 6D 65 20 64 65 73 69 67 6E 20 28 61 70 61 72 74 me design (apart
000190: 20 66 72 6F 6D 20 74 68 65 20 20 36 36 34 27 73 from the 664's
0001A0: 20 20 6D 61 6D 6D 6F 74 68 20 20 62 6C 75 65 20 mammoth blue
0001B0: 63 75 72 73 6F 72 20 6B 65 79 73 29 2E 20 20 53 cursor keys). S
0001C0: 6F 6D 65 74 69 6D 65 73 0D 0A 20 20 20 6B 65 79 ometimes.. key
0001D0: 73 20 61 72 65 20 63 68 6F 73 65 6E 20 74 68 61 s are chosen tha
0001E0: 74 20 77 6F 72 6B 20 77 65 6C 6C 20 6F 6E 20 74 t work well on t
0001F0: 68 65 20 36 31 32 38 20 62 75 74 20 6E 6F 74 20 he 6128 but not
Size : 512 (Real : 512)
000000: 75 20 20 6F 70 65 6E 20 61 20 66 69 6C 65 20 66 u open a file f
000010: 6F 72 20 72 65 61 64 69 6E 67 20 6F 72 0D 0A 20 or reading or..
000020: 20 20 77 72 69 74 69 6E 67 2C 20 34 6B 20 6F 66 writing, 4k of
000030: 20 6D 65 6D 6F 72 79 20 69 73 20 6E 65 65 64 65 memory is neede
000040: 64 20 66 6F 72 20 75 73 65 20 61 73 20 62 75 66 d for use as buf
000050: 66 65 72 73 2C 20 61 6E 64 20 77 68 65 6E 20 79 fers, and when y
000060: 6F 75 20 6F 6E 6C 79 20 68 61 76 65 0D 0A 20 20 ou only have..
000070: 20 36 34 6B 20 52 41 4D 2C 20 74 68 69 73 20 69 64k RAM, this i
000080: 73 20 61 20 76 65 72 79 20 6C 61 72 67 65 20 20 s a very large
000090: 61 6D 6F 75 6E 74 20 20 74 6F 20 20 67 65 74 20 amount to get
0000A0: 74 6F 67 65 74 68 65 72 2E 20 20 49 6E 20 6F 72 together. In or
0000B0: 64 65 72 20 74 6F 20 66 69 6E 64 0D 0A 20 20 20 der to find..
0000C0: 74 68 69 73 20 6D 65 6D 6F 72 79 2C 20 42 41 53 this memory, BAS
0000D0: 49 43 20 72 65 61 72 72 61 6E 67 65 73 20 74 68 IC rearranges th
0000E0: 65 20 20 73 74 72 69 6E 67 20 73 74 6F 72 61 67 e string storag
0000F0: 65 20 73 70 61 63 65 2E 20 20 55 6E 66 6F 72 74 e space. Unfort
000100: 75 6E 61 74 65 6C 79 20 69 66 0D 0A 20 20 20 74 unately if.. t
000110: 68 65 20 6E 61 6D 65 20 6F 66 20 74 68 65 20 66 he name of the f
000120: 69 6C 65 20 79 6F 75 20 77 65 72 65 20 20 61 62 ile you were ab
000130: 6F 75 74 20 20 74 6F 20 20 6C 6F 61 64 20 77 61 out to load wa
000140: 73 20 69 6E 20 61 20 73 74 72 69 6E 67 20 76 61 s in a string va
000150: 72 69 61 62 6C 65 2C 20 61 0D 0A 20 20 20 62 75 riable, a.. bu
000160: 67 20 6F 6E 20 74 68 65 20 34 36 34 20 6D 65 61 g on the 464 mea
000170: 6E 73 20 74 68 61 74 20 73 6F 6D 65 74 69 6D 65 ns that sometime
000180: 73 20 20 42 41 53 49 43 20 20 6C 6F 73 65 73 20 s BASIC loses
000190: 74 72 61 63 6B 20 6F 66 20 74 68 65 20 6E 61 6D track of the nam
0001A0: 65 20 6F 66 20 74 68 65 0D 0A 20 20 20 66 69 6C e of the.. fil
0001B0: 65 2C 20 72 65 73 75 6C 74 69 6E 67 20 69 6E 20 e, resulting in
0001C0: 61 20 22 46 69 6C 65 20 6E 6F 74 20 66 6F 75 6E a "File not foun
0001D0: 64 22 20 65 72 72 6F 72 2E 0D 0A 0D 0A 20 20 20 d" error.....
0001E0: 54 68 65 20 62 65 73 74 20 77 61 79 20 74 6F 20 The best way to
0001F0: 67 65 74 20 72 6F 75 6E 64 20 74 68 69 73 20 69 get round this i
Size : 512 (Real : 512)
000000: 36 3A 74 3D 30 0D 0A 20 35 30 20 46 4F 52 20 6D 6:t=0.. 50 FOR m
000010: 3D 30 20 54 4F 20 38 3A 52 45 41 44 20 61 24 3A =0 TO 8:READ a$:
000020: 78 3D 56 41 4C 28 22 26 22 2B 61 24 29 3A 74 3D x=VAL("&"+a$):t=
000030: 74 2B 78 3A 50 4F 4B 45 20 73 74 2B 64 2C 78 3A t+x:POKE st+d,x:
000040: 64 3D 64 2B 31 3A 4E 45 58 54 0D 0A 20 36 30 20 d=d+1:NEXT.. 60
000050: 52 45 41 44 20 61 24 3A 49 46 20 56 41 4C 28 22 READ a$:IF VAL("
000060: 26 22 2B 61 24 29 3D 74 20 54 48 45 4E 20 4E 45 &"+a$)=t THEN NE
000070: 58 54 20 45 4C 53 45 20 50 52 49 4E 54 22 45 72 XT ELSE PRINT"Er
000080: 72 6F 72 20 69 6E 20 6C 69 6E 65 22 31 30 2A 6E ror in line"10*n
000090: 2B 39 30 3A 53 54 4F 50 0D 0A 20 37 30 20 46 4F +90:STOP.. 70 FO
0000A0: 52 20 6E 3D 30 20 54 4F 20 32 3A 50 4F 4B 45 20 R n=0 TO 2:POKE
0000B0: 73 74 2B 32 36 2B 6E 2C 50 45 45 4B 28 26 41 43 st+26+n,PEEK(&AC
0000C0: 30 34 2B 6E 29 3A 4E 45 58 54 0D 0A 20 38 30 20 04+n):NEXT.. 80
0000D0: 43 41 4C 4C 20 73 74 2B 33 39 2C 73 74 3A 43 4C CALL st+39,st:CL
0000E0: 53 3A 50 52 49 4E 54 22 52 53 58 20 73 74 72 69 S:PRINT"RSX stri
0000F0: 6E 67 73 20 75 74 69 6C 69 74 79 20 69 6E 73 74 ngs utility inst
000100: 61 6C 6C 65 64 20 61 74 20 26 22 48 45 58 24 28 alled at &"HEX$(
000110: 73 74 2C 34 29 22 2E 22 0D 0A 20 39 30 20 44 41 st,4)".".. 90 DA
000120: 54 41 20 37 62 2C 66 65 2C 30 64 2C 32 30 2C 31 TA 7b,fe,0d,20,1
000130: 34 2C 65 31 2C 64 31 2C 64 35 2C 65 35 2C 35 32 4,e1,d1,d5,e5,52
000140: 36 0D 0A 31 30 30 20 44 41 54 41 20 32 31 2C 33 6..100 DATA 21,3
000150: 62 2C 30 31 2C 31 39 2C 32 30 2C 30 61 2C 33 65 b,01,19,20,0a,3e
000160: 2C 30 32 2C 33 32 2C 31 31 32 0D 0A 31 31 30 20 ,02,32,112..110
000170: 44 41 54 41 20 63 31 2C 62 30 2C 65 31 2C 32 61 DATA c1,b0,e1,2a
000180: 2C 63 32 2C 62 30 2C 33 37 2C 35 66 2C 63 39 2C ,c2,b0,37,5f,c9,
000190: 35 34 64 0D 0A 31 32 30 20 44 41 54 41 20 63 39 54d..120 DATA c9
0001A0: 2C 63 39 2C 32 31 2C 39 63 2C 62 30 2C 32 32 2C ,c9,21,9c,b0,22,
0001B0: 39 61 2C 62 30 2C 62 37 2C 35 32 32 0D 0A 31 33 9a,b0,b7,522..13
0001C0: 30 20 44 41 54 41 20 30 38 2C 64 39 2C 63 39 2C 0 DATA 08,d9,c9,
0001D0: 33 65 2C 63 33 2C 33 32 2C 30 34 2C 61 63 2C 65 3e,c3,32,04,ac,e
0001E0: 62 2C 34 37 38 0D 0A 31 34 30 20 44 41 54 41 20 b,478..140 DATA
0001F0: 32 32 2C 30 35 2C 61 63 2C 33 65 2C 63 64 2C 33 22,05,ac,3e,cd,3
Size : 512 (Real : 512)
000000: 73 20 74 6F 20 72 65 73 65 72 76 65 20 74 68 65 s to reserve the
000010: 20 66 69 6C 65 20 62 75 66 66 65 72 73 20 61 74 file buffers at
000020: 20 74 68 65 20 73 74 61 72 74 0D 0A 20 20 20 6F the start.. o
000030: 66 20 74 68 65 20 70 72 6F 67 72 61 6D 2C 20 73 f the program, s
000040: 6F 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 o that they are
000050: 20 61 6C 77 61 79 73 20 61 76 61 69 6C 61 62 6C always availabl
000060: 65 20 61 6E 64 20 42 41 53 49 43 20 64 6F 65 73 e and BASIC does
000070: 20 6E 6F 74 20 68 61 76 65 0D 0A 20 20 20 74 6F not have.. to
000080: 20 77 61 73 74 65 20 74 69 6D 65 20 67 61 72 62 waste time garb
000090: 61 67 65 20 63 6F 6C 6C 65 63 74 69 6E 67 20 65 age collecting e
0000A0: 61 63 68 20 74 69 6D 65 20 20 61 20 66 69 6C 65 ach time a file
0000B0: 20 69 73 20 6F 70 65 6E 65 64 2E 20 20 54 6F 20 is opened. To
0000C0: 64 6F 20 74 68 69 73 2C 0D 0A 20 20 20 6A 75 73 do this,.. jus
0000D0: 74 20 69 6E 73 65 72 74 20 74 68 65 20 66 6F 6C t insert the fol
0000E0: 6C 6F 77 69 6E 67 20 63 6F 6D 6D 61 6E 64 73 20 lowing commands
0000F0: 61 74 20 74 68 65 20 73 74 61 72 74 20 6F 66 20 at the start of
000100: 61 20 70 72 6F 67 72 61 6D 3A 0D 0A 0D 0A 20 20 a program:....
000110: 20 20 20 53 59 4D 42 4F 4C 20 41 46 54 45 52 20 SYMBOL AFTER
000120: 32 35 36 3A 4F 50 45 4E 4F 55 54 22 64 22 3A 53 256:OPENOUT"d":S
000130: 59 4D 42 4F 4C 20 41 46 54 45 52 20 32 34 30 3A YMBOL AFTER 240:
000140: 43 4C 4F 53 45 4F 55 54 0D 0A 0D 0A 20 20 20 41 CLOSEOUT.... A
000150: 66 74 65 72 20 20 6F 70 65 6E 69 6E 67 20 20 6F fter opening o
000160: 75 74 20 20 61 20 20 64 75 6D 6D 79 20 20 66 69 ut a dummy fi
000170: 6C 65 2C 20 20 20 77 65 20 20 72 65 69 6E 73 74 le, we reinst
000180: 61 74 65 20 20 74 68 65 20 20 75 73 65 72 20 20 ate the user
000190: 64 65 66 69 6E 61 62 6C 65 0D 0A 20 20 20 63 68 definable.. ch
0001A0: 61 72 61 63 74 65 72 73 2C 20 77 68 69 63 68 20 aracters, which
0001B0: 6C 6F 77 65 72 73 20 74 68 65 20 20 6C 65 76 65 lowers the leve
0001C0: 6C 20 20 6F 66 20 20 48 49 4D 45 4D 2C 20 20 74 l of HIMEM, t
0001D0: 72 61 70 70 69 6E 67 20 20 74 68 65 20 66 69 6C rapping the fil
0001E0: 65 20 62 75 66 66 65 72 0D 0A 20 20 20 61 62 6F e buffer.. abo
0001F0: 76 65 20 69 74 2C 20 73 6F 20 74 68 61 74 20 77 ve it, so that w
Size : 512 (Real : 512)
000000: 20 20 31 20 52 45 4D 20 52 53 58 20 73 74 72 69 1 REM RSX stri
000010: 6E 67 73 20 62 79 20 44 6F 6D 69 6E 69 63 20 57 ngs by Dominic W
000020: 69 73 65 2C 20 41 6D 73 74 72 61 64 20 41 63 74 ise, Amstrad Act
000030: 69 6F 6E 20 35 33 2C 20 34 36 34 20 6F 6E 6C 79 ion 53, 464 only
000040: 0D 0A 20 20 32 20 52 45 4D 20 41 6C 6C 6F 77 73 .. 2 REM Allows
000050: 20 61 6C 6C 20 73 74 72 69 6E 67 20 65 78 70 72 all string expr
000060: 65 73 73 69 6F 6E 73 20 74 6F 20 62 65 20 70 61 essions to be pa
000070: 73 73 65 64 20 74 6F 20 52 53 58 73 20 61 6E 64 ssed to RSXs and
000080: 20 43 41 4C 4C 20 73 74 61 74 65 6D 65 6E 74 73 CALL statements
000090: 0D 0A 20 31 30 20 4D 4F 44 45 20 32 0D 0A 20 32 .. 10 MODE 2.. 2
0000A0: 30 20 49 4E 50 55 54 22 41 73 73 65 6D 62 6C 65 0 INPUT"Assemble
0000B0: 20 74 6F 20 26 42 45 43 30 3F 22 2C 61 24 3A 49 to &BEC0?",a$:I
0000C0: 46 20 55 50 50 45 52 24 28 61 24 29 3D 22 59 22 F UPPER$(a$)="Y"
0000D0: 20 54 48 45 4E 20 73 74 3D 26 42 45 43 30 3A 47 THEN st=&BEC0:G
0000E0: 4F 54 4F 20 34 30 0D 0A 20 33 30 20 49 4E 50 55 OTO 40.. 30 INPU
0000F0: 54 22 41 73 73 65 6D 62 6C 79 20 61 64 64 72 65 T"Assembly addre
000100: 73 73 3F 22 2C 61 24 3A 73 74 3D 56 41 4C 28 61 ss?",a$:st=VAL(a
000110: 24 29 3A 49 46 20 73 74 3C 3D 48 49 4D 45 4D 20 $):IF st<=HIMEM
000120: 74 68 65 6D 20 4D 45 4D 4F 52 59 20 73 74 2D 31 them MEMORY st-1
000130: 0D 0A 20 34 30 20 46 4F 52 20 6E 3D 30 20 54 4F .. 40 FOR n=0 TO
000140: 20 36 3A 74 3D 30 0D 0A 20 35 30 20 46 4F 52 20 6:t=0.. 50 FOR
000150: 6D 3D 30 20 54 4F 20 38 3A 52 45 41 44 20 61 24 m=0 TO 8:READ a$
000160: 3A 78 3D 56 41 4C 28 22 26 22 2B 61 24 29 3A 74 :x=VAL("&"+a$):t
000170: 3D 74 2B 78 3A 50 4F 4B 45 20 73 74 2B 64 2C 78 =t+x:POKE st+d,x
000180: 3A 64 3D 64 2B 31 3A 4E 45 58 54 0D 0A 20 36 30 :d=d+1:NEXT.. 60
000190: 20 52 45 41 44 20 61 24 3A 49 46 20 56 41 4C 28 READ a$:IF VAL(
0001A0: 22 26 22 2B 61 24 29 3D 74 20 54 48 45 4E 20 4E "&"+a$)=t THEN N
0001B0: 45 58 54 20 45 4C 53 45 20 50 52 49 4E 54 22 45 EXT ELSE PRINT"E
0001C0: 72 72 6F 72 20 69 6E 20 6C 69 6E 65 22 31 30 2A rror in line"10*
0001D0: 6E 2B 39 30 3A 53 54 4F 50 0D 0A 20 37 30 20 46 n+90:STOP.. 70 F
0001E0: 4F 52 20 6E 3D 30 20 54 4F 20 32 3A 50 4F 4B 45 OR n=0 TO 2:POKE
0001F0: 20 73 74 2B 32 36 2B 6E 2C 50 45 45 4B 28 26 41 st+26+n,PEEK(&A
Size : 512 (Real : 512)
000000: 68 65 6E 20 20 74 68 65 20 20 43 4C 4F 53 45 4F hen the CLOSEO
000010: 55 54 20 20 63 6F 6D 6D 61 6E 64 20 20 61 72 72 UT command arr
000020: 69 76 65 73 20 42 41 53 49 43 20 69 73 20 75 6E ives BASIC is un
000030: 61 62 6C 65 20 74 6F 0D 0A 20 20 20 72 65 74 75 able to.. retu
000040: 72 6E 20 74 68 65 20 66 69 6C 65 20 62 75 66 66 rn the file buff
000050: 65 72 20 74 6F 20 6E 6F 72 6D 61 6C 20 75 73 65 er to normal use
000060: 2E 20 20 20 49 66 20 20 74 68 65 20 70 72 6F 67 . If the prog
000070: 72 61 6D 20 68 61 73 20 61 20 53 59 4D 42 4F 4C ram has a SYMBOL
000080: 20 41 46 54 45 52 0D 0A 20 20 20 73 74 61 74 65 AFTER.. state
000090: 6D 65 6E 74 20 69 6E 20 69 74 20 61 6C 72 65 61 ment in it alrea
0000A0: 64 79 2C 20 74 68 65 6E 20 79 6F 75 20 63 61 6E dy, then you can
0000B0: 20 20 70 75 74 20 74 68 65 20 4F 50 45 4E 4F 55 put the OPENOU
0000C0: 54 20 61 6E 64 20 43 4C 4F 53 45 4F 55 54 20 61 T and CLOSEOUT a
0000D0: 72 6F 75 6E 64 0D 0A 20 20 20 74 68 61 74 2E 0D round.. that..
0000E0: 0A 0D 0A 20 20 20 54 68 65 20 73 61 6D 65 20 6D ... The same m
0000F0: 65 74 68 6F 64 20 77 6F 72 6B 73 20 6F 6E 20 74 ethod works on t
000100: 68 65 20 36 36 34 2F 36 31 32 38 2C 20 61 6E 64 he 664/6128, and
000110: 20 69 66 20 61 20 70 72 6F 67 72 61 6D 20 6E 65 if a program ne
000120: 65 64 73 20 66 69 6C 65 20 61 63 63 65 73 73 2C eds file access,
000130: 0D 0A 20 20 20 69 74 20 64 6F 65 73 6E 27 74 20 .. it doesn't
000140: 64 6F 20 61 6E 79 20 68 61 72 6D 20 74 6F 20 72 do any harm to r
000150: 65 73 65 72 76 65 20 74 68 65 20 62 75 66 66 65 eserve the buffe
000160: 72 20 69 6E 20 72 65 61 64 69 6E 65 73 73 2E 0D r in readiness..
000170: 0A 0D 0A 20 20 20 41 6E 6F 74 68 65 72 20 62 75 ... Another bu
000180: 67 20 6F 6E 20 74 68 65 20 34 36 34 20 72 65 6C g on the 464 rel
000190: 61 74 65 73 20 20 74 6F 20 20 6C 6F 61 64 69 6E ates to loadin
0001A0: 67 20 20 62 69 6E 61 72 79 20 66 69 6C 65 73 2E g binary files.
0001B0: 20 20 49 66 20 79 6F 75 20 68 61 76 65 6E 27 74 If you haven't
0001C0: 0D 0A 20 20 20 72 65 73 65 72 76 65 64 20 61 20 .. reserved a
0001D0: 66 69 6C 65 20 62 75 66 66 65 72 20 61 73 20 64 file buffer as d
0001E0: 65 73 63 72 69 62 65 64 20 20 61 6E 64 20 20 6C escribed and l
0001F0: 6F 61 64 20 20 61 20 62 69 6E 61 72 79 20 66 69 oad a binary fi
Size : 512 (Real : 512)
000000: 43 30 34 2B 6E 29 3A 4E 45 58 54 0D 0A 20 38 30 C04+n):NEXT.. 80
000010: 20 43 41 4C 4C 20 73 74 2B 33 39 2C 73 74 3A 43 CALL st+39,st:C
000020: 4C 53 3A 50 52 49 4E 54 22 52 53 58 20 73 74 72 LS:PRINT"RSX str
000030: 69 6E 67 73 20 75 74 69 6C 69 74 79 20 69 6E 73 ings utility ins
000040: 74 61 6C 6C 65 64 20 61 74 20 26 22 48 45 58 24 talled at &"HEX$
000050: 28 73 74 2C 34 29 22 2E 22 0D 0A 20 39 30 20 44 (st,4)".".. 90 D
000060: 41 54 41 20 37 62 2C 66 65 2C 30 64 2C 32 30 2C ATA 7b,fe,0d,20,
000070: 31 34 2C 65 31 2C 64 31 2C 64 35 2C 65 35 2C 35 14,e1,d1,d5,e5,5
000080: 32 36 0D 0A 31 30 30 20 44 41 54 41 20 32 31 2C 26..100 DATA 21,
000090: 33 62 2C 30 31 2C 31 39 2C 32 30 2C 30 61 2C 33 3b,01,19,20,0a,3
0000A0: 65 2C 30 32 2C 33 32 2C 31 31 32 0D 0A 31 31 30 e,02,32,112..110
0000B0: 20 44 41 54 41 20 63 31 2C 62 30 2C 65 31 2C 32 DATA c1,b0,e1,2
0000C0: 61 2C 63 32 2C 62 30 2C 33 37 2C 35 66 2C 63 39 a,c2,b0,37,5f,c9
0000D0: 2C 35 34 64 0D 0A 31 32 30 20 44 41 54 41 20 63 ,54d..120 DATA c
0000E0: 39 2C 63 39 2C 32 31 2C 39 63 2C 62 30 2C 32 32 9,c9,21,9c,b0,22
0000F0: 2C 39 61 2C 62 30 2C 62 37 2C 35 32 32 0D 0A 31 ,9a,b0,b7,522..1
000100: 33 30 20 44 41 54 41 20 30 38 2C 64 39 2C 63 39 30 DATA 08,d9,c9
000110: 2C 33 65 2C 63 33 2C 33 32 2C 30 34 2C 61 63 2C ,3e,c3,32,04,ac,
000120: 65 62 2C 34 37 38 0D 0A 31 34 30 20 44 41 54 41 eb,478..140 DATA
000130: 20 32 32 2C 30 35 2C 61 63 2C 33 65 2C 63 64 2C 22,05,ac,3e,cd,
000140: 33 32 2C 61 63 2C 62 39 2C 31 31 2C 33 38 36 0D 32,ac,b9,11,386.
000150: 0A 31 35 30 20 44 41 54 41 20 31 64 2C 30 30 2C .150 DATA 1d,00,
000160: 31 39 2C 32 32 2C 61 64 2C 62 39 2C 63 39 2C 30 19,22,ad,b9,c9,0
000170: 30 2C 30 30 2C 32 38 37 0D 0A 1A 20 61 6E 64 20 0,00,287... and
000180: 3A 64 3D 64 2B 31 3A 4E 45 58 54 0D 0A 20 36 30 :d=d+1:NEXT.. 60
000190: 20 52 45 41 44 20 61 24 3A 49 46 20 56 41 4C 28 READ a$:IF VAL(
0001A0: 22 26 22 2B 61 24 29 3D 74 20 54 48 45 4E 20 4E "&"+a$)=t THEN N
0001B0: 45 58 54 20 45 4C 53 45 20 50 52 49 4E 54 22 45 EXT ELSE PRINT"E
0001C0: 72 72 6F 72 20 69 6E 20 6C 69 6E 65 22 31 30 2A rror in line"10*
0001D0: 6E 2B 39 30 3A 53 54 4F 50 0D 0A 20 37 30 20 46 n+90:STOP.. 70 F
0001E0: 4F 52 20 6E 3D 30 20 54 4F 20 32 3A 50 4F 4B 45 OR n=0 TO 2:POKE
0001F0: 20 73 74 2B 32 36 2B 6E 2C 50 45 45 4B 28 26 41 st+26+n,PEEK(&A
Size : 512 (Real : 512)
000000: 2C 6A 29 3A 4E 45 58 54 3A 4E 45 58 54 0D 0A 37 ,j):NEXT:NEXT..7
000010: 34 30 20 43 4C 4F 53 45 4F 55 54 3A 52 45 54 55 40 CLOSEOUT:RETU
000020: 52 4E 0D 0A 1A 2D 31 3A 43 4C 4F 53 45 4F 55 54 RN...-1:CLOSEOUT
000030: 0D 0A 32 30 20 6D 77 6F 72 64 73 3D 33 30 30 3A ..20 mwords=300:
000040: 6D 6C 69 6E 6B 73 3D 32 30 3A 6E 77 6F 72 64 73 mlinks=20:nwords
000050: 3D 30 0D 0A 33 30 20 44 49 4D 20 77 24 28 6D 77 =0..30 DIM w$(mw
000060: 6F 72 64 73 29 2C 6C 6B 28 6D 77 6F 72 64 73 2C ords),lk(mwords,
000070: 6D 6C 69 6E 6B 73 29 2C 74 65 6D 70 77 24 28 31 mlinks),tempw$(1
000080: 77 6F 72 64 2C 69 29 3A 52 45 54 55 52 4E 0D 0A word,i):RETURN..
000090: 36 30 30 20 66 69 6C 65 24 3D 4D 49 44 24 28 61 600 file$=MID$(a
0000A0: 24 2C 37 29 3A 49 46 20 66 69 6C 65 24 3D 22 22 $,7):IF file$=""
0000B0: 20 54 48 45 4E 20 66 69 6C 65 24 3D 22 56 4F 43 THEN file$="VOC
0000C0: 41 42 22 0D 0A 36 31 30 20 4F 50 45 4E 49 4E 20 AB"..610 OPENIN
0000D0: 66 69 6C 65 24 3A 49 4E 50 55 54 23 39 2C 6E 77 file$:INPUT#9,nw
0000E0: 6F 72 64 73 0D 0A 36 32 30 20 46 4F 52 20 69 3D ords..620 FOR i=
0000F0: 30 20 54 4F 20 6E 77 6F 72 64 73 3A 49 4E 50 55 0 TO nwords:INPU
000100: 54 23 39 2C 77 24 28 69 29 2C 6C 6B 28 69 2C 30 T#9,w$(i),lk(i,0
000110: 29 0D 0A 36 33 30 20 46 4F 52 20 6A 3D 31 20 54 )..630 FOR j=1 T
000120: 4F 20 6C 6B 28 69 2C 30 29 3A 49 4E 50 55 54 23 O lk(i,0):INPUT#
000130: 39 2C 6C 6B 28 69 2C 6A 29 3A 4E 45 58 54 3A 4E 9,lk(i,j):NEXT:N
000140: 45 58 54 0D 0A 36 34 30 20 43 4C 4F 53 45 49 4E EXT..640 CLOSEIN
000150: 3A 52 45 54 55 52 4E 0D 0A 37 30 30 20 66 69 6C :RETURN..700 fil
000160: 65 24 3D 4D 49 44 24 28 61 24 2C 37 29 3A 49 46 e$=MID$(a$,7):IF
000170: 20 66 69 6C 65 24 3D 22 22 20 54 48 45 4E 20 66 file$="" THEN f
000180: 69 6C 65 24 3D 22 56 4F 43 41 42 22 0D 0A 37 31 ile$="VOCAB"..71
000190: 30 20 4F 50 45 4E 4F 55 54 20 66 69 6C 65 24 3A 0 OPENOUT file$:
0001A0: 57 52 49 54 45 23 39 2C 6E 77 6F 72 64 73 0D 0A WRITE#9,nwords..
0001B0: 37 32 30 20 46 4F 52 20 69 3D 30 20 54 4F 20 6E 720 FOR i=0 TO n
0001C0: 77 6F 72 64 73 3A 57 52 49 54 45 23 39 2C 77 24 words:WRITE#9,w$
0001D0: 28 69 29 2C 6C 6B 28 69 2C 30 29 0D 0A 37 33 30 (i),lk(i,0)..730
0001E0: 20 46 4F 52 20 6A 3D 31 20 54 4F 20 6C 6B 28 69 FOR j=1 TO lk(i
0001F0: 2C 30 29 3A 57 52 49 54 45 23 39 2C 6C 6B 28 69 ,0):WRITE#9,lk(i
Size : 512 (Real : 512)
000000: 74 68 65 6D 0D 0A 41 72 74 69 63 6C 65 20 31 32 them..Article 12
000010: 20 20 20 2D 20 6F 74 68 65 72 20 4D 49 44 49 20 - other MIDI
000020: 6D 65 73 73 61 67 65 73 2C 20 61 6E 64 20 61 20 messages, and a
000030: 70 72 6F 67 72 61 6D 20 74 6F 20 70 6C 61 79 20 program to play
000040: 61 20 74 75 6E 65 0D 0A 41 72 74 69 63 6C 65 20 a tune..Article
000050: 31 33 20 2D 20 68 6F 77 20 74 6F 20 61 64 61 70 13 - how to adap
000060: 74 20 36 31 32 38 20 70 72 6F 67 72 61 6D 73 20 t 6128 programs
000070: 66 6F 72 20 74 68 65 20 34 36 34 2C 20 77 69 74 for the 464, wit
000080: 68 20 61 6E 20 52 53 58 20 74 6F 20 68 65 6C 70 h an RSX to help
000090: 0D 0A 41 72 74 69 63 6C 65 20 31 34 20 20 20 2D ..Article 14 -
0000A0: 20 63 6F 6D 6D 61 6E 64 73 20 61 64 64 65 64 20 commands added
0000B0: 69 6E 20 42 41 53 49 43 20 31 2E 31 2C 20 61 6E in BASIC 1.1, an
0000C0: 64 20 77 68 61 74 20 74 6F 20 64 6F 20 77 69 74 d what to do wit
0000D0: 68 20 6D 6F 73 74 20 6F 66 20 74 68 65 6D 0D 0A h most of them..
0000E0: 41 72 74 69 63 6C 65 20 31 35 20 20 20 2D 20 62 Article 15 - b
0000F0: 75 67 73 20 69 6E 20 34 36 34 20 42 41 53 49 43 ugs in 464 BASIC
000100: 2C 20 61 6E 64 20 68 6F 77 20 74 6F 20 64 65 61 , and how to dea
000110: 6C 20 77 69 74 68 20 74 68 65 6D 0D 0A 0D 0A 4F l with them....O
000120: 74 68 65 72 20 66 69 6C 65 73 20 6F 6E 20 62 6F ther files on bo
000130: 74 68 20 73 69 64 65 73 20 6F 66 20 74 68 65 20 th sides of the
000140: 64 69 73 63 3A 0D 0A 0D 0A 44 49 53 43 09 2E 42 disc:....DISC..B
000150: 41 53 09 72 75 6E 73 20 74 68 65 20 4C 6F 6F 6D AS.runs the Loom
000160: 20 68 79 70 65 72 74 65 78 74 20 76 69 65 77 65 hypertext viewe
000170: 72 0D 0A 48 45 4C 50 09 2E 54 58 54 09 74 68 65 r..HELP..TXT.the
000180: 20 68 65 6C 70 20 74 65 78 74 20 66 6F 72 20 4C help text for L
000190: 6F 6F 6D 0D 0A 4C 49 4E 4B 42 41 53 45 2E 54 58 oom..LINKBASE.TX
0001A0: 54 09 74 68 65 20 6C 69 6E 6B 61 67 65 20 64 61 T.the linkage da
0001B0: 74 61 20 66 6F 72 20 4C 6F 6F 6D 0D 0A 4C 4F 4F ta for Loom..LOO
0001C0: 4D 09 2E 42 49 4E 09 74 68 65 20 4C 6F 6F 6D 20 M..BIN.the Loom
0001D0: 70 72 6F 67 72 61 6D 0D 0A 4D 45 53 53 41 47 45 program..MESSAGE
0001E0: 53 2E 54 58 54 09 74 68 65 20 6D 65 73 73 61 67 S.TXT.the messag
0001F0: 65 20 74 65 78 74 73 20 66 6F 72 20 4C 6F 6F 6D e texts for Loom
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 31 36 20 2D 20 57 41 43 43 49 20 31 tch 16 - WACCI 1
000020: 32 35 2C 20 4F 63 74 20 31 39 39 38 2C 20 70 2E 25, Oct 1998, p.
000030: 20 32 32 2D 32 34 0D 0A 20 20 20 50 52 4F 47 52 22-24.. PROGR
000040: 41 4D 4D 45 52 53 27 20 50 41 54 43 48 20 31 36 AMMERS' PATCH 16
000050: 0D 0A 20 20 20 42 79 20 48 69 6C 61 72 79 20 50 .. By Hilary P
000060: 68 69 6C 6C 69 70 73 0D 0A 0D 0A 20 20 20 49 6E hillips.... In
000070: 20 79 6F 75 72 20 6D 6F 72 65 20 69 64 6C 65 20 your more idle
000080: 20 61 6E 64 20 20 6C 6F 6E 65 6C 79 20 20 6D 6F and lonely mo
000090: 6D 65 6E 74 73 20 20 79 6F 75 20 20 6D 61 79 20 ments you may
0000A0: 20 68 61 76 65 20 20 77 61 6E 74 65 64 20 20 74 have wanted t
0000B0: 6F 20 68 6F 6C 64 20 61 0D 0A 20 20 20 63 6F 6E o hold a.. con
0000C0: 76 65 72 73 61 74 69 6F 6E 20 77 69 74 68 20 79 versation with y
0000D0: 6F 75 72 20 20 63 6F 6D 70 75 74 65 72 2E 20 20 our computer.
0000E0: 20 4D 75 63 68 20 20 6F 66 20 20 74 68 65 20 20 Much of the
0000F0: 74 69 6D 65 2C 20 20 68 6F 77 65 76 65 72 2C 20 time, however,
000100: 69 74 20 77 69 6C 6C 0D 0A 20 20 20 73 69 6D 70 it will.. simp
000110: 6C 79 20 20 72 65 73 70 6F 6E 64 20 20 74 6F 20 ly respond to
000120: 20 79 6F 75 72 20 20 72 65 6D 61 72 6B 73 20 20 your remarks
000130: 77 69 74 68 20 20 20 22 53 79 6E 74 61 78 20 20 with "Syntax
000140: 65 72 72 6F 72 22 2E 20 20 20 46 6F 72 20 20 61 error". For a
000150: 20 20 6D 6F 72 65 0D 0A 20 20 20 73 74 69 6D 75 more.. stimu
000160: 6C 61 74 69 6E 67 20 65 78 63 68 61 6E 67 65 20 lating exchange
000170: 20 79 6F 75 20 20 63 6F 75 6C 64 20 20 74 72 79 you could try
000180: 20 20 6F 6E 65 20 20 6F 66 20 20 74 68 65 20 20 one of the
000190: 70 73 79 63 68 69 61 74 72 69 63 20 69 6E 74 65 psychiatric inte
0001A0: 72 76 69 65 77 0D 0A 20 20 20 70 72 6F 67 72 61 rview.. progra
0001B0: 6D 73 20 61 76 61 69 6C 61 62 6C 65 20 69 6E 20 ms available in
0001C0: 74 68 65 20 50 44 20 6C 69 62 72 61 72 79 2C 20 the PD library,
0001D0: 20 62 75 74 20 20 69 66 20 79 6F 75 27 72 65 20 but if you're
0001E0: 61 6E 79 74 68 69 6E 67 20 6C 69 6B 65 20 6D 65 anything like me
0001F0: 20 79 6F 75 0D 0A 20 20 20 67 65 74 20 73 69 63 you.. get sic
Size : 512 (Real : 512)
000000: 31 30 20 44 45 46 49 4E 54 20 61 2D 7A 3A 4F 50 10 DEFINT a-z:OP
000010: 45 4E 4F 55 54 22 64 22 3A 4D 45 4D 4F 52 59 20 ENOUT"d":MEMORY
000020: 48 49 4D 45 4D 2D 31 3A 43 4C 4F 53 45 4F 55 54 HIMEM-1:CLOSEOUT
000030: 0D 0A 32 30 20 6D 77 6F 72 64 73 3D 33 30 30 3A ..20 mwords=300:
000040: 6D 6C 69 6E 6B 73 3D 32 30 3A 6E 77 6F 72 64 73 mlinks=20:nwords
000050: 3D 30 0D 0A 33 30 20 44 49 4D 20 77 24 28 6D 77 =0..30 DIM w$(mw
000060: 6F 72 64 73 29 2C 6C 6B 28 6D 77 6F 72 64 73 2C ords),lk(mwords,
000070: 6D 6C 69 6E 6B 73 29 2C 74 65 6D 70 77 24 28 31 mlinks),tempw$(1
000080: 32 38 29 0D 0A 34 30 20 4C 49 4E 45 20 49 4E 50 28)..40 LINE INP
000090: 55 54 22 22 2C 61 24 0D 0A 34 31 20 49 46 20 55 UT"",a$..41 IF U
0000A0: 50 50 45 52 24 28 4C 45 46 54 24 28 61 24 2C 35 PPER$(LEFT$(a$,5
0000B0: 29 29 3D 22 2A 4C 4F 41 44 22 20 54 48 45 4E 20 ))="*LOAD" THEN
0000C0: 47 4F 53 55 42 20 36 30 30 3A 47 4F 54 4F 20 34 GOSUB 600:GOTO 4
0000D0: 30 0D 0A 34 32 20 49 46 20 55 50 50 45 52 24 28 0..42 IF UPPER$(
0000E0: 4C 45 46 54 24 28 61 24 2C 35 29 29 3D 22 2A 53 LEFT$(a$,5))="*S
0000F0: 41 56 45 22 20 54 48 45 4E 20 47 4F 53 55 42 20 AVE" THEN GOSUB
000100: 37 30 30 3A 47 4F 54 4F 20 34 30 0D 0A 35 30 20 700:GOTO 40..50
000110: 77 63 6F 75 6E 74 3D 30 3A 47 4F 53 55 42 20 33 wcount=0:GOSUB 3
000120: 30 30 3A 49 46 20 61 24 3C 3E 22 22 20 54 48 45 00:IF a$<>"" THE
000130: 4E 20 47 4F 53 55 42 20 31 30 30 0D 0A 36 30 20 N GOSUB 100..60
000140: 47 4F 53 55 42 20 32 30 30 3A 47 4F 54 4F 20 34 GOSUB 200:GOTO 4
000150: 30 0D 0A 31 30 30 20 57 48 49 4C 45 20 49 4E 53 0..100 WHILE INS
000160: 54 52 28 61 24 2C 22 20 22 29 3E 30 3A 61 3D 49 TR(a$," ")>0:a=I
000170: 4E 53 54 52 28 61 24 2C 22 20 22 29 0D 0A 31 31 NSTR(a$," ")..11
000180: 30 20 74 65 6D 70 77 24 28 77 63 6F 75 6E 74 29 0 tempw$(wcount)
000190: 3D 4C 45 46 54 24 28 61 24 2C 61 2D 31 29 3A 61 =LEFT$(a$,a-1):a
0001A0: 24 3D 4D 49 44 24 28 61 24 2C 61 2B 31 29 0D 0A $=MID$(a$,a+1)..
0001B0: 31 32 30 20 77 63 6F 75 6E 74 3D 77 63 6F 75 6E 120 wcount=wcoun
0001C0: 74 2B 31 3A 47 4F 53 55 42 20 33 30 30 3A 57 45 t+1:GOSUB 300:WE
0001D0: 4E 44 0D 0A 31 33 30 20 49 46 20 61 24 3C 3E 22 ND..130 IF a$<>"
0001E0: 22 20 54 48 45 4E 20 74 65 6D 70 77 24 28 77 63 " THEN tempw$(wc
0001F0: 6F 75 6E 74 29 3D 61 24 3A 77 63 6F 75 6E 74 3D ount)=a$:wcount=
Size : 512 (Real : 512)
000000: 31 30 20 44 45 46 49 4E 54 20 61 2D 7A 3A 4F 50 10 DEFINT a-z:OP
000010: 45 4E 4F 55 54 22 64 22 3A 4D 45 4D 4F 52 59 20 ENOUT"d":MEMORY
000020: 48 49 4D 45 4D 2D 31 3A 43 4C 4F 53 45 4F 55 54 HIMEM-1:CLOSEOUT
000030: 0D 0A 32 30 20 6D 77 6F 72 64 73 3D 33 30 30 3A ..20 mwords=300:
000040: 6D 6C 69 6E 6B 73 3D 32 30 3A 6E 77 6F 72 64 73 mlinks=20:nwords
000050: 3D 30 0D 0A 33 30 20 44 49 4D 20 77 24 28 6D 77 =0..30 DIM w$(mw
000060: 6F 72 64 73 29 2C 6C 6B 28 6D 77 6F 72 64 73 2C ords),lk(mwords,
000070: 6D 6C 69 6E 6B 73 29 2C 74 65 6D 70 77 24 28 31 mlinks),tempw$(1
000080: 32 38 29 0D 0A 34 30 20 4C 49 4E 45 20 49 4E 50 28)..40 LINE INP
000090: 55 54 22 22 2C 61 24 0D 0A 35 30 20 77 63 6F 75 UT"",a$..50 wcou
0000A0: 6E 74 3D 30 3A 47 4F 53 55 42 20 33 30 30 3A 49 nt=0:GOSUB 300:I
0000B0: 46 20 61 24 3C 3E 22 22 20 54 48 45 4E 20 47 4F F a$<>"" THEN GO
0000C0: 53 55 42 20 31 30 30 0D 0A 36 30 20 47 4F 53 55 SUB 100..60 GOSU
0000D0: 42 20 32 30 30 3A 47 4F 54 4F 20 34 30 0D 0A 31 B 200:GOTO 40..1
0000E0: 30 30 20 57 48 49 4C 45 20 49 4E 53 54 52 28 61 00 WHILE INSTR(a
0000F0: 24 2C 22 20 22 29 3E 30 3A 61 3D 49 4E 53 54 52 $," ")>0:a=INSTR
000100: 28 61 24 2C 22 20 22 29 0D 0A 31 31 30 20 74 65 (a$," ")..110 te
000110: 6D 70 77 24 28 77 63 6F 75 6E 74 29 3D 4C 45 46 mpw$(wcount)=LEF
000120: 54 24 28 61 24 2C 61 2D 31 29 3A 61 24 3D 4D 49 T$(a$,a-1):a$=MI
000130: 44 24 28 61 24 2C 61 2B 31 29 0D 0A 31 32 30 20 D$(a$,a+1)..120
000140: 77 63 6F 75 6E 74 3D 77 63 6F 75 6E 74 2B 31 3A wcount=wcount+1:
000150: 47 4F 53 55 42 20 33 30 30 3A 57 45 4E 44 0D 0A GOSUB 300:WEND..
000160: 31 33 30 20 49 46 20 61 24 3C 3E 22 22 20 54 48 130 IF a$<>"" TH
000170: 45 4E 20 74 65 6D 70 77 24 28 77 63 6F 75 6E 74 EN tempw$(wcount
000180: 29 3D 61 24 3A 77 63 6F 75 6E 74 3D 77 63 6F 75 )=a$:wcount=wcou
000190: 6E 74 2B 31 0D 0A 31 34 30 20 70 77 6F 72 64 3D nt+1..140 pword=
0001A0: 30 3A 46 4F 52 20 69 3D 30 20 54 4F 20 77 63 6F 0:FOR i=0 TO wco
0001B0: 75 6E 74 2D 31 3A 77 6F 72 64 24 3D 74 65 6D 70 unt-1:word$=temp
0001C0: 77 24 28 69 29 0D 0A 31 35 30 20 63 77 6F 72 64 w$(i)..150 cword
0001D0: 3D 6E 77 6F 72 64 73 3A 57 48 49 4C 45 20 63 77 =nwords:WHILE cw
0001E0: 6F 72 64 3E 30 20 41 4E 44 20 77 6F 72 64 24 3C ord>0 AND word$<
0001F0: 3E 77 24 28 63 77 6F 72 64 29 3A 63 77 6F 72 64 >w$(cword):cword
Size : 512 (Real : 512)
000000: 77 63 6F 75 6E 74 2B 31 0D 0A 31 34 30 20 70 77 wcount+1..140 pw
000010: 6F 72 64 3D 30 3A 46 4F 52 20 69 3D 30 20 54 4F ord=0:FOR i=0 TO
000020: 20 77 63 6F 75 6E 74 2D 31 3A 77 6F 72 64 24 3D wcount-1:word$=
000030: 74 65 6D 70 77 24 28 69 29 0D 0A 31 35 30 20 63 tempw$(i)..150 c
000040: 77 6F 72 64 3D 6E 77 6F 72 64 73 3A 57 48 49 4C word=nwords:WHIL
000050: 45 20 63 77 6F 72 64 3E 30 20 41 4E 44 20 77 6F E cword>0 AND wo
000060: 72 64 24 3C 3E 77 24 28 63 77 6F 72 64 29 3A 63 rd$<>w$(cword):c
000070: 77 6F 72 64 3D 63 77 6F 72 64 2D 31 3A 57 45 4E word=cword-1:WEN
000080: 44 0D 0A 31 36 30 20 49 46 20 63 77 6F 72 64 3D D..160 IF cword=
000090: 30 20 54 48 45 4E 20 6E 77 6F 72 64 73 3D 6E 77 0 THEN nwords=nw
0000A0: 6F 72 64 73 2B 31 3A 77 24 28 6E 77 6F 72 64 73 ords+1:w$(nwords
0000B0: 29 3D 77 6F 72 64 24 3A 63 77 6F 72 64 3D 6E 77 )=word$:cword=nw
0000C0: 6F 72 64 73 0D 0A 31 37 30 20 47 4F 53 55 42 20 ords..170 GOSUB
0000D0: 34 30 30 3A 70 77 6F 72 64 3D 63 77 6F 72 64 3A 400:pword=cword:
0000E0: 4E 45 58 54 0D 0A 31 38 30 20 63 77 6F 72 64 3D NEXT..180 cword=
0000F0: 30 3A 47 4F 53 55 42 20 34 30 30 0D 0A 31 39 30 0:GOSUB 400..190
000100: 20 52 45 54 55 52 4E 0D 0A 32 30 30 20 70 77 6F RETURN..200 pwo
000110: 72 64 3D 30 3A 47 4F 53 55 42 20 35 30 30 0D 0A rd=0:GOSUB 500..
000120: 32 31 30 20 57 48 49 4C 45 20 70 77 6F 72 64 3E 210 WHILE pword>
000130: 30 3A 50 52 49 4E 54 20 77 24 28 70 77 6F 72 64 0:PRINT w$(pword
000140: 29 22 20 22 3B 3A 47 4F 53 55 42 20 35 30 30 3A )" ";:GOSUB 500:
000150: 57 45 4E 44 0D 0A 32 32 30 20 50 52 49 4E 54 20 WEND..220 PRINT
000160: 43 48 52 24 28 38 29 3B 22 2E 22 3A 50 52 49 4E CHR$(8);".":PRIN
000170: 54 0D 0A 32 33 30 20 52 45 54 55 52 4E 0D 0A 33 T..230 RETURN..3
000180: 30 30 20 57 48 49 4C 45 20 4C 45 46 54 24 28 61 00 WHILE LEFT$(a
000190: 24 2C 31 29 3D 22 20 22 3A 61 24 3D 4D 49 44 24 $,1)=" ":a$=MID$
0001A0: 28 61 24 2C 32 29 3A 57 45 4E 44 3A 52 45 54 55 (a$,2):WEND:RETU
0001B0: 52 4E 0D 0A 34 30 30 20 6A 3D 6C 6B 28 70 77 6F RN..400 j=lk(pwo
0001C0: 72 64 2C 30 29 3A 78 3D 31 0D 0A 34 31 30 20 57 rd,0):x=1..410 W
0001D0: 48 49 4C 45 20 6A 3E 30 20 41 4E 44 20 63 77 6F HILE j>0 AND cwo
0001E0: 72 64 3C 3E 6C 6B 28 70 77 6F 72 64 2C 78 29 3A rd<>lk(pword,x):
0001F0: 6A 3D 6A 2D 31 3A 78 3D 78 2B 31 0D 0A 34 32 30 j=j-1:x=x+1..420
Size : 512 (Real : 512)
000000: 3D 63 77 6F 72 64 2D 31 3A 57 45 4E 44 0D 0A 31 =cword-1:WEND..1
000010: 36 30 20 49 46 20 63 77 6F 72 64 3D 30 20 54 48 60 IF cword=0 TH
000020: 45 4E 20 6E 77 6F 72 64 73 3D 6E 77 6F 72 64 73 EN nwords=nwords
000030: 2B 31 3A 77 24 28 6E 77 6F 72 64 73 29 3D 77 6F +1:w$(nwords)=wo
000040: 72 64 24 3A 63 77 6F 72 64 3D 6E 77 6F 72 64 73 rd$:cword=nwords
000050: 0D 0A 31 37 30 20 47 4F 53 55 42 20 34 30 30 3A ..170 GOSUB 400:
000060: 70 77 6F 72 64 3D 63 77 6F 72 64 3A 4E 45 58 54 pword=cword:NEXT
000070: 0D 0A 31 38 30 20 63 77 6F 72 64 3D 30 3A 47 4F ..180 cword=0:GO
000080: 53 55 42 20 34 30 30 0D 0A 31 39 30 20 52 45 54 SUB 400..190 RET
000090: 55 52 4E 0D 0A 32 30 30 20 70 77 6F 72 64 3D 30 URN..200 pword=0
0000A0: 3A 47 4F 53 55 42 20 35 30 30 0D 0A 32 31 30 20 :GOSUB 500..210
0000B0: 57 48 49 4C 45 20 70 77 6F 72 64 3E 30 3A 50 52 WHILE pword>0:PR
0000C0: 49 4E 54 20 77 24 28 70 77 6F 72 64 29 22 20 22 INT w$(pword)" "
0000D0: 3B 3A 47 4F 53 55 42 20 35 30 30 3A 57 45 4E 44 ;:GOSUB 500:WEND
0000E0: 0D 0A 32 32 30 20 50 52 49 4E 54 20 43 48 52 24 ..220 PRINT CHR$
0000F0: 28 38 29 3B 22 2E 22 3A 50 52 49 4E 54 0D 0A 32 (8);".":PRINT..2
000100: 33 30 20 52 45 54 55 52 4E 0D 0A 33 30 30 20 57 30 RETURN..300 W
000110: 48 49 4C 45 20 4C 45 46 54 24 28 61 24 2C 31 29 HILE LEFT$(a$,1)
000120: 3D 22 20 22 3A 61 24 3D 4D 49 44 24 28 61 24 2C =" ":a$=MID$(a$,
000130: 32 29 3A 57 45 4E 44 3A 52 45 54 55 52 4E 0D 0A 2):WEND:RETURN..
000140: 34 30 30 20 6A 3D 6C 6B 28 70 77 6F 72 64 2C 30 400 j=lk(pword,0
000150: 29 3A 78 3D 31 0D 0A 34 31 30 20 57 48 49 4C 45 ):x=1..410 WHILE
000160: 20 6A 3E 30 20 41 4E 44 20 63 77 6F 72 64 3C 3E j>0 AND cword<>
000170: 6C 6B 28 70 77 6F 72 64 2C 78 29 3A 6A 3D 6A 2D lk(pword,x):j=j-
000180: 31 3A 78 3D 78 2B 31 0D 0A 34 32 30 20 57 45 4E 1:x=x+1..420 WEN
000190: 44 3A 49 46 20 6A 3E 30 20 54 48 45 4E 20 34 34 D:IF j>0 THEN 44
0001A0: 30 0D 0A 34 33 30 20 6C 6B 28 70 77 6F 72 64 2C 0..430 lk(pword,
0001B0: 30 29 3D 6C 6B 28 70 77 6F 72 64 2C 30 29 2B 31 0)=lk(pword,0)+1
0001C0: 3A 6C 6B 28 70 77 6F 72 64 2C 78 29 3D 63 77 6F :lk(pword,x)=cwo
0001D0: 72 64 0D 0A 34 34 30 20 52 45 54 55 52 4E 0D 0A rd..440 RETURN..
0001E0: 35 30 30 20 69 3D 49 4E 54 28 52 4E 44 2A 6C 6B 500 i=INT(RND*lk
0001F0: 28 70 77 6F 72 64 2C 30 29 2B 31 29 0D 0A 35 31 (pword,0)+1)..51
Size : 512 (Real : 512)
000000: 20 57 45 4E 44 3A 49 46 20 6A 3E 30 20 54 48 45 WEND:IF j>0 THE
000010: 4E 20 34 34 30 0D 0A 34 33 30 20 6C 6B 28 70 77 N 440..430 lk(pw
000020: 6F 72 64 2C 30 29 3D 6C 6B 28 70 77 6F 72 64 2C ord,0)=lk(pword,
000030: 30 29 2B 31 3A 6C 6B 28 70 77 6F 72 64 2C 78 29 0)+1:lk(pword,x)
000040: 3D 63 77 6F 72 64 0D 0A 34 34 30 20 52 45 54 55 =cword..440 RETU
000050: 52 4E 0D 0A 35 30 30 20 69 3D 49 4E 54 28 52 4E RN..500 i=INT(RN
000060: 44 2A 6C 6B 28 70 77 6F 72 64 2C 30 29 2B 31 29 D*lk(pword,0)+1)
000070: 0D 0A 35 31 30 20 70 77 6F 72 64 3D 6C 6B 28 70 ..510 pword=lk(p
000080: 77 6F 72 64 2C 69 29 3A 52 45 54 55 52 4E 0D 0A word,i):RETURN..
000090: 36 30 30 20 66 69 6C 65 24 3D 4D 49 44 24 28 61 600 file$=MID$(a
0000A0: 24 2C 37 29 3A 49 46 20 66 69 6C 65 24 3D 22 22 $,7):IF file$=""
0000B0: 20 54 48 45 4E 20 66 69 6C 65 24 3D 22 56 4F 43 THEN file$="VOC
0000C0: 41 42 22 0D 0A 36 31 30 20 4F 50 45 4E 49 4E 20 AB"..610 OPENIN
0000D0: 66 69 6C 65 24 3A 49 4E 50 55 54 23 39 2C 6E 77 file$:INPUT#9,nw
0000E0: 6F 72 64 73 0D 0A 36 32 30 20 46 4F 52 20 69 3D ords..620 FOR i=
0000F0: 30 20 54 4F 20 6E 77 6F 72 64 73 3A 49 4E 50 55 0 TO nwords:INPU
000100: 54 23 39 2C 77 24 28 69 29 2C 6C 6B 28 69 2C 30 T#9,w$(i),lk(i,0
000110: 29 0D 0A 36 33 30 20 46 4F 52 20 6A 3D 31 20 54 )..630 FOR j=1 T
000120: 4F 20 6C 6B 28 69 2C 30 29 3A 49 4E 50 55 54 23 O lk(i,0):INPUT#
000130: 39 2C 6C 6B 28 69 2C 6A 29 3A 4E 45 58 54 3A 4E 9,lk(i,j):NEXT:N
000140: 45 58 54 0D 0A 36 34 30 20 43 4C 4F 53 45 49 4E EXT..640 CLOSEIN
000150: 3A 52 45 54 55 52 4E 0D 0A 37 30 30 20 66 69 6C :RETURN..700 fil
000160: 65 24 3D 4D 49 44 24 28 61 24 2C 37 29 3A 49 46 e$=MID$(a$,7):IF
000170: 20 66 69 6C 65 24 3D 22 22 20 54 48 45 4E 20 66 file$="" THEN f
000180: 69 6C 65 24 3D 22 56 4F 43 41 42 22 0D 0A 37 31 ile$="VOCAB"..71
000190: 30 20 4F 50 45 4E 4F 55 54 20 66 69 6C 65 24 3A 0 OPENOUT file$:
0001A0: 57 52 49 54 45 23 39 2C 6E 77 6F 72 64 73 0D 0A WRITE#9,nwords..
0001B0: 37 32 30 20 46 4F 52 20 69 3D 30 20 54 4F 20 6E 720 FOR i=0 TO n
0001C0: 77 6F 72 64 73 3A 57 52 49 54 45 23 39 2C 77 24 words:WRITE#9,w$
0001D0: 28 69 29 2C 6C 6B 28 69 2C 30 29 0D 0A 37 33 30 (i),lk(i,0)..730
0001E0: 20 46 4F 52 20 6A 3D 31 20 54 4F 20 6C 6B 28 69 FOR j=1 TO lk(i
0001F0: 2C 30 29 3A 57 52 49 54 45 23 39 2C 6C 6B 28 69 ,0):WRITE#9,lk(i
Size : 512 (Real : 512)
000000: 30 20 70 77 6F 72 64 3D 6C 6B 28 70 77 6F 72 64 0 pword=lk(pword
000010: 2C 69 29 3A 52 45 54 55 52 4E 0D 0A 1A 52 59 20 ,i):RETURN...RY
000020: 48 49 4D 45 4D 2D 31 3A 43 4C 4F 53 45 4F 55 54 HIMEM-1:CLOSEOUT
000030: 0D 0A 32 30 20 6D 77 6F 72 64 73 3D 33 30 30 3A ..20 mwords=300:
000040: 6D 6C 69 6E 6B 73 3D 32 30 3A 6E 77 6F 72 64 73 mlinks=20:nwords
000050: 3D 30 0D 0A 33 30 20 44 49 4D 20 77 24 28 6D 77 =0..30 DIM w$(mw
000060: 6F 72 64 73 29 2C 6C 6B 28 6D 77 6F 72 64 73 2C ords),lk(mwords,
000070: 6D 6C 69 6E 6B 73 29 2C 74 65 6D 70 77 24 28 31 mlinks),tempw$(1
000080: 53 55 42 20 34 30 30 0D 0A 31 39 30 20 52 45 54 SUB 400..190 RET
000090: 55 52 4E 0D 0A 32 30 30 20 70 77 6F 72 64 3D 30 URN..200 pword=0
0000A0: 3A 47 4F 53 55 42 20 35 30 30 0D 0A 32 31 30 20 :GOSUB 500..210
0000B0: 57 48 49 4C 45 20 70 77 6F 72 64 3E 30 3A 50 52 WHILE pword>0:PR
0000C0: 49 4E 54 20 77 24 28 70 77 6F 72 64 29 22 20 22 INT w$(pword)" "
0000D0: 3B 3A 47 4F 53 55 42 20 35 30 30 3A 57 45 4E 44 ;:GOSUB 500:WEND
0000E0: 0D 0A 32 32 30 20 50 52 49 4E 54 20 43 48 52 24 ..220 PRINT CHR$
0000F0: 28 38 29 3B 22 2E 22 3A 50 52 49 4E 54 0D 0A 32 (8);".":PRINT..2
000100: 33 30 20 52 45 54 55 52 4E 0D 0A 33 30 30 20 57 30 RETURN..300 W
000110: 48 49 4C 45 20 4C 45 46 54 24 28 61 24 2C 31 29 HILE LEFT$(a$,1)
000120: 3D 22 20 22 3A 61 24 3D 4D 49 44 24 28 61 24 2C =" ":a$=MID$(a$,
000130: 32 29 3A 57 45 4E 44 3A 52 45 54 55 52 4E 0D 0A 2):WEND:RETURN..
000140: 34 30 30 20 6A 3D 6C 6B 28 70 77 6F 72 64 2C 30 400 j=lk(pword,0
000150: 29 3A 78 3D 31 0D 0A 34 31 30 20 57 48 49 4C 45 ):x=1..410 WHILE
000160: 20 6A 3E 30 20 41 4E 44 20 63 77 6F 72 64 3C 3E j>0 AND cword<>
000170: 6C 6B 28 70 77 6F 72 64 2C 78 29 3A 6A 3D 6A 2D lk(pword,x):j=j-
000180: 31 3A 78 3D 78 2B 31 0D 0A 34 32 30 20 57 45 4E 1:x=x+1..420 WEN
000190: 44 3A 49 46 20 6A 3E 30 20 54 48 45 4E 20 34 34 D:IF j>0 THEN 44
0001A0: 30 0D 0A 34 33 30 20 6C 6B 28 70 77 6F 72 64 2C 0..430 lk(pword,
0001B0: 30 29 3D 6C 6B 28 70 77 6F 72 64 2C 30 29 2B 31 0)=lk(pword,0)+1
0001C0: 3A 6C 6B 28 70 77 6F 72 64 2C 78 29 3D 63 77 6F :lk(pword,x)=cwo
0001D0: 72 64 0D 0A 34 34 30 20 52 45 54 55 52 4E 0D 0A rd..440 RETURN..
0001E0: 35 30 30 20 69 3D 49 4E 54 28 52 4E 44 2A 6C 6B 500 i=INT(RND*lk
0001F0: 28 70 77 6F 72 64 2C 30 29 2B 31 29 0D 0A 35 31 (pword,0)+1)..51
Size : 512 (Real : 512)
000000: 28 61 2C 31 29 20 20 6C 6B 28 61 2C 32 29 0D 0A (a,1) lk(a,2)..
000010: 09 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D .---------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 0D 0A 09 30 20 20 20 20 20 20 ------...0
000040: 20 20 20 20 20 32 20 20 20 20 20 20 20 20 31 20 2 1
000050: 20 20 20 20 20 20 20 37 0D 0A 09 31 20 20 49 20 7...1 I
000060: 20 20 20 20 20 20 20 31 20 20 20 20 20 20 20 20 1
000070: 32 0D 0A 09 32 20 20 61 6D 20 20 20 20 20 20 20 2...2 am
000080: 31 20 20 20 20 20 20 20 20 33 0D 0A 09 33 20 20 1 3...3
000090: 62 6F 72 65 64 20 20 20 20 32 20 20 20 20 20 20 bored 2
0000A0: 20 20 34 20 20 20 20 20 20 20 20 30 0D 0A 09 34 4 0...4
0000B0: 20 20 77 69 74 68 20 20 20 20 20 31 20 20 20 20 with 1
0000C0: 20 20 20 20 35 0D 0A 09 35 20 20 74 68 69 73 20 5...5 this
0000D0: 20 20 20 20 31 20 20 20 20 20 20 20 20 36 0D 0A 1 6..
0000E0: 09 36 20 20 61 72 74 69 63 6C 65 20 20 31 20 20 .6 article 1
0000F0: 20 20 20 20 20 20 30 0D 0A 09 37 20 20 59 6F 75 0...7 You
000100: 20 20 20 20 20 20 31 20 20 20 20 20 20 20 20 38 1 8
000110: 0D 0A 09 38 20 20 63 61 6E 27 74 20 20 20 20 31 ...8 can't 1
000120: 20 20 20 20 20 20 20 20 39 0D 0A 09 39 20 20 62 9...9 b
000130: 65 20 20 20 20 20 20 20 31 20 20 20 20 20 20 20 e 1
000140: 20 33 0D 0A 0D 0A 20 20 20 41 6C 6C 20 74 68 65 3.... All the
000150: 20 77 6F 72 64 73 20 61 70 61 72 74 20 66 72 6F words apart fro
000160: 6D 20 30 20 61 6E 64 20 33 20 20 63 61 6E 20 6F m 0 and 3 can o
000170: 6E 6C 79 20 62 65 20 66 6F 6C 6C 6F 77 65 64 20 nly be followed
000180: 62 79 20 6F 6E 65 20 6F 74 68 65 72 2E 20 20 57 by one other. W
000190: 6F 72 64 0D 0A 20 20 20 30 2C 20 74 68 65 20 22 ord.. 0, the "
0001A0: 73 74 61 72 74 20 6F 66 20 73 65 6E 74 65 6E 63 start of sentenc
0001B0: 65 22 20 77 6F 72 64 2C 20 20 63 61 6E 20 20 62 e" word, can b
0001C0: 65 20 20 66 6F 6C 6C 6F 77 65 64 20 20 62 79 20 e followed by
0001D0: 74 77 6F 20 77 6F 72 64 73 2C 20 31 20 61 6E 64 two words, 1 and
0001E0: 20 37 0D 0A 20 20 20 28 22 49 22 20 61 6E 64 20 7.. ("I" and
0001F0: 22 59 6F 75 22 29 2E 20 20 57 6F 72 64 20 33 2C "You"). Word 3,
Size : 512 (Real : 512)
000000: 69 67 75 72 65 20 32 2E 0D 0A 0D 0A 20 20 20 48 igure 2..... H
000010: 49 53 54 4F 52 59 20 4C 45 53 53 4F 4E 0D 0A 20 ISTORY LESSON..
000020: 20 20 22 41 49 22 20 28 6F 72 20 22 41 72 74 69 "AI" (or "Arti
000030: 66 69 63 69 61 6C 20 49 6E 74 65 6C 6C 69 67 65 ficial Intellige
000040: 6E 63 65 22 29 20 77 61 73 20 6F 72 69 67 69 6E nce") was origin
000050: 61 6C 6C 79 20 20 77 72 69 74 74 65 6E 20 62 79 ally written by
000060: 20 61 20 66 72 69 65 6E 64 20 6F 66 0D 0A 20 20 a friend of..
000070: 20 4D 61 74 74 68 65 77 27 73 20 66 6F 72 20 74 Matthew's for t
000080: 68 65 20 42 42 43 20 20 6D 69 63 72 6F 2C 20 20 he BBC micro,
000090: 61 64 61 70 74 65 64 20 20 66 6F 72 20 20 75 73 adapted for us
0000A0: 65 20 20 6F 76 65 72 20 20 61 20 6E 65 74 77 6F e over a netwo
0000B0: 72 6B 20 61 6E 64 20 74 68 65 6E 0D 0A 20 20 20 rk and then..
0000C0: 72 65 77 72 69 74 74 65 6E 20 66 6F 72 20 74 68 rewritten for th
0000D0: 65 20 41 6D 73 74 72 61 64 20 62 79 20 4D 61 74 e Amstrad by Mat
0000E0: 74 68 65 77 2E 20 20 4F 6E 63 65 20 77 68 65 6E thew. Once when
0000F0: 20 49 20 77 61 6E 74 65 64 20 74 6F 20 75 73 65 I wanted to use
000100: 20 69 74 20 61 6E 64 20 77 65 0D 0A 20 20 20 77 it and we.. w
000110: 65 72 65 20 75 6E 61 62 6C 65 20 74 6F 20 66 69 ere unable to fi
000120: 6E 64 20 74 68 65 20 20 70 72 6F 67 72 61 6D 20 nd the program
000130: 20 69 74 20 20 77 61 73 20 20 72 65 77 72 69 74 it was rewrit
000140: 74 65 6E 20 6F 6E 63 65 20 61 67 61 69 6E 20 62 ten once again b
000150: 79 20 4D 61 74 74 68 65 77 0D 0A 20 20 20 64 69 y Matthew.. di
000160: 63 74 61 74 69 6E 67 20 69 74 20 74 6F 20 6D 65 ctating it to me
000170: 2E 0D 0A 0D 0A 20 20 20 54 48 45 20 42 41 53 49 ..... THE BASI
000180: 43 20 49 44 45 41 0D 0A 20 20 20 54 6F 20 75 73 C IDEA.. To us
000190: 65 20 74 68 65 20 70 72 6F 67 72 61 6D 2C 20 79 e the program, y
0001A0: 6F 75 20 74 79 70 65 20 20 69 6E 20 20 61 20 20 ou type in a
0001B0: 73 65 6E 74 65 6E 63 65 2E 20 20 20 54 68 65 20 sentence. The
0001C0: 63 6F 6D 70 75 74 65 72 20 6C 6F 6F 6B 73 20 61 computer looks a
0001D0: 74 20 74 68 65 0D 0A 20 20 20 73 65 6E 74 65 6E t the.. senten
0001E0: 63 65 20 61 6E 64 20 73 74 6F 72 65 73 20 74 68 ce and stores th
0001F0: 65 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 20 61 e information a
Size : 512 (Real : 512)
000000: 20 22 62 6F 72 65 64 22 20 63 61 6E 20 62 65 20 "bored" can be
000010: 66 6F 6C 6C 6F 77 65 64 20 62 79 20 34 20 6F 72 followed by 4 or
000020: 20 30 20 28 22 77 69 74 68 22 20 6F 72 20 74 68 0 ("with" or th
000030: 65 0D 0A 20 20 20 22 65 6E 64 20 6F 66 20 73 65 e.. "end of se
000040: 6E 74 65 6E 63 65 22 20 77 6F 72 64 2E 29 0D 0A ntence" word.)..
000050: 0D 0A 20 20 20 49 4E 20 4D 4F 52 45 20 44 45 54 .. IN MORE DET
000060: 41 49 4C 0D 0A 20 20 20 4E 6F 77 20 74 68 61 74 AIL.. Now that
000070: 20 79 6F 75 20 68 61 76 65 20 61 6E 20 69 64 65 you have an ide
000080: 61 20 6F 66 20 68 6F 77 20 20 74 68 65 20 20 64 a of how the d
000090: 61 74 61 20 69 73 20 73 74 6F 72 65 64 20 69 6E ata is stored in
0000A0: 20 74 68 65 20 61 72 72 61 79 73 2C 20 6C 65 74 the arrays, let
0000B0: 27 73 0D 0A 20 20 20 6C 6F 6F 6B 20 61 74 20 74 's.. look at t
0000C0: 68 65 20 70 72 6F 67 72 61 6D 20 69 6E 20 64 65 he program in de
0000D0: 74 61 69 6C 2E 20 20 54 68 65 20 66 69 72 73 74 tail. The first
0000E0: 20 74 68 72 65 65 20 6C 69 6E 65 73 20 73 65 74 three lines set
0000F0: 20 74 68 69 6E 67 73 20 75 70 2E 0D 0A 0D 0A 20 things up.....
000100: 20 20 31 30 20 44 45 46 49 4E 54 20 61 2D 7A 20 10 DEFINT a-z
000110: 73 70 65 65 64 73 20 75 70 20 74 68 65 20 20 63 speeds up the c
000120: 6F 6D 70 75 74 65 72 27 73 20 20 22 74 68 6F 75 omputer's "thou
000130: 67 68 74 22 20 70 72 6F 63 65 73 73 65 73 2E 20 ght" processes.
000140: 20 54 68 65 20 72 65 73 74 20 6F 66 0D 0A 20 20 The rest of..
000150: 20 74 68 65 20 6C 69 6E 65 20 72 65 73 65 72 76 the line reserv
000160: 65 73 20 61 20 64 69 73 63 20 20 62 75 66 66 65 es a disc buffe
000170: 72 2C 20 20 61 73 20 20 6C 61 74 65 72 20 20 77 r, as later w
000180: 65 20 20 6D 61 79 20 20 77 61 6E 74 20 74 6F 20 e may want to
000190: 64 65 76 65 6C 6F 70 20 74 68 65 0D 0A 20 20 20 develop the..
0001A0: 70 72 6F 67 72 61 6D 20 66 75 72 74 68 65 72 20 program further
0001B0: 61 6E 64 20 62 65 20 61 62 6C 65 20 74 6F 20 6C and be able to l
0001C0: 6F 61 64 20 61 6E 64 20 73 61 76 65 20 76 6F 63 oad and save voc
0001D0: 61 62 75 6C 61 72 79 2E 0D 0A 0D 0A 20 20 20 32 abulary..... 2
0001E0: 30 20 73 65 74 73 20 6C 69 6D 69 74 73 20 6F 6E 0 sets limits on
0001F0: 20 74 68 65 20 20 6E 75 6D 62 65 72 20 20 6F 66 the number of
Size : 512 (Real : 512)
000000: 62 6F 75 74 20 20 77 68 69 63 68 20 20 77 6F 72 bout which wor
000010: 64 73 20 63 61 6E 20 66 6F 6C 6C 6F 77 20 77 68 ds can follow wh
000020: 69 63 68 2C 0D 0A 20 20 20 61 6E 64 20 72 65 73 ich,.. and res
000030: 70 6F 6E 64 73 20 77 69 74 68 20 61 20 73 65 6E ponds with a sen
000040: 74 65 6E 63 65 20 20 62 61 73 65 64 20 20 6F 6E tence based on
000050: 20 20 74 68 69 73 20 20 6B 6E 6F 77 6C 65 64 67 this knowledg
000060: 65 2E 20 20 28 55 6E 74 69 6C 20 79 6F 75 20 68 e. (Until you h
000070: 61 76 65 0D 0A 20 20 20 74 61 75 67 68 74 20 69 ave.. taught i
000080: 74 20 61 20 20 66 65 77 20 20 73 65 6E 74 65 6E t a few senten
000090: 63 65 73 20 20 69 74 20 20 69 73 20 20 75 6E 6C ces it is unl
0000A0: 69 6B 65 6C 79 20 20 74 6F 20 20 63 6F 6D 65 20 ikely to come
0000B0: 20 6F 75 74 20 77 69 74 68 20 61 6E 79 74 68 69 out with anythi
0000C0: 6E 67 0D 0A 20 20 20 6F 72 69 67 69 6E 61 6C 2E ng.. original.
0000D0: 29 0D 0A 0D 0A 20 20 20 46 6F 72 20 65 78 61 6D ).... For exam
0000E0: 70 6C 65 3A 0D 0A 0D 0A 20 20 20 48 69 6C 61 72 ple:.... Hilar
0000F0: 79 3A 20 20 20 49 20 61 6D 20 62 6F 72 65 64 20 y: I am bored
000100: 77 69 74 68 20 74 68 69 73 20 61 72 74 69 63 6C with this articl
000110: 65 0D 0A 20 20 20 43 6F 6D 70 75 74 65 72 3A 20 e.. Computer:
000120: 49 20 61 6D 20 62 6F 72 65 64 20 77 69 74 68 20 I am bored with
000130: 74 68 69 73 20 61 72 74 69 63 6C 65 2E 0D 0A 0D this article....
000140: 0A 20 20 20 28 49 74 20 6F 6E 6C 79 20 6B 6E 6F . (It only kno
000150: 77 73 20 74 68 61 74 20 22 49 22 20 63 61 6E 20 ws that "I" can
000160: 62 65 67 69 6E 20 61 20 20 73 65 6E 74 65 6E 63 begin a sentenc
000170: 65 20 61 6E 64 20 74 68 61 74 20 22 49 22 20 63 e and that "I" c
000180: 61 6E 20 62 65 20 66 6F 6C 6C 6F 77 65 64 0D 0A an be followed..
000190: 20 20 20 62 79 20 22 61 6D 22 2C 20 22 61 6D 22 by "am", "am"
0001A0: 20 62 79 20 22 62 6F 72 65 64 22 2C 20 22 62 6F by "bored", "bo
0001B0: 72 65 64 22 20 20 62 79 20 20 22 77 69 74 68 22 red" by "with"
0001C0: 2C 20 22 77 69 74 68 22 20 62 79 20 22 74 68 69 , "with" by "thi
0001D0: 73 22 2C 20 22 74 68 69 73 22 20 62 79 0D 0A 20 s", "this" by..
0001E0: 20 20 22 61 72 74 69 63 6C 65 22 2C 20 61 6E 64 "article", and
0001F0: 20 22 61 72 74 69 63 6C 65 22 20 62 79 20 74 68 "article" by th
Size : 512 (Real : 512)
000000: 20 20 77 6F 72 64 73 20 20 74 68 65 20 20 63 6F words the co
000010: 6D 70 75 74 65 72 20 20 63 61 6E 20 73 74 6F 72 mputer can stor
000020: 65 20 61 6E 64 20 74 68 65 0D 0A 20 20 20 6E 75 e and the.. nu
000030: 6D 62 65 72 20 6F 66 20 6C 69 6E 6B 73 20 69 6E mber of links in
000040: 20 74 68 65 20 6C 69 6E 6B 20 61 72 72 61 79 2C the link array,
000050: 20 20 61 6E 64 20 20 73 65 74 73 20 74 68 65 20 and sets the
000060: 6E 75 6D 62 65 72 20 6F 66 20 77 6F 72 64 73 20 number of words
000070: 6B 6E 6F 77 6E 20 74 6F 0D 0A 20 20 20 7A 65 72 known to.. zer
000080: 6F 2E 0D 0A 0D 0A 20 20 20 33 30 20 54 68 65 20 o..... 30 The
000090: 61 72 72 61 79 73 20 61 72 65 20 64 69 6D 65 6E arrays are dimen
0000A0: 73 69 6F 6E 65 64 20 61 63 63 6F 72 64 69 6E 67 sioned according
0000B0: 6C 79 20 20 61 6E 64 20 20 61 6E 6F 74 68 65 72 ly and another
0000C0: 20 61 72 72 61 79 20 69 73 20 73 65 74 20 75 70 array is set up
0000D0: 20 74 6F 0D 0A 20 20 20 68 6F 6C 64 20 74 68 65 to.. hold the
0000E0: 20 73 65 6E 74 65 6E 63 65 20 74 79 70 65 64 20 sentence typed
0000F0: 69 6E 20 62 79 20 74 68 65 20 75 73 65 72 20 66 in by the user f
000100: 6F 72 20 61 6E 61 6C 79 73 69 73 2E 0D 0A 0D 0A or analysis.....
000110: 20 20 20 34 30 20 57 65 20 77 61 69 74 20 66 6F 40 We wait fo
000120: 72 20 74 68 65 20 75 73 65 72 27 73 20 69 6E 70 r the user's inp
000130: 75 74 20 6F 66 20 61 24 2E 0D 0A 0D 0A 20 20 20 ut of a$.....
000140: 35 30 20 57 65 20 47 4F 53 55 42 20 33 30 30 20 50 We GOSUB 300
000150: 77 68 69 63 68 20 73 74 72 69 70 73 20 73 70 61 which strips spa
000160: 63 65 73 20 66 72 6F 6D 20 74 68 65 20 66 72 6F ces from the fro
000170: 6E 74 20 6F 66 20 61 24 2E 20 20 49 66 20 61 6E nt of a$. If an
000180: 79 74 68 69 6E 67 0D 0A 20 20 20 74 68 65 6E 20 ything.. then
000190: 72 65 6D 61 69 6E 73 20 69 6E 20 61 24 2C 20 77 remains in a$, w
0001A0: 65 20 47 4F 53 55 42 20 20 31 30 30 2C 20 20 77 e GOSUB 100, w
0001B0: 68 69 63 68 20 61 6E 61 6C 79 73 65 73 20 74 68 hich analyses th
0001C0: 65 20 73 65 6E 74 65 6E 63 65 20 61 6E 64 20 73 e sentence and s
0001D0: 74 6F 72 65 73 0D 0A 20 20 20 74 68 65 20 69 6E tores.. the in
0001E0: 66 6F 72 6D 61 74 69 6F 6E 20 69 6E 20 74 68 65 formation in the
0001F0: 20 61 72 72 61 79 73 2E 0D 0A 0D 0A 20 20 20 36 arrays..... 6
Size : 512 (Real : 512)
000000: 65 20 65 6E 64 20 6F 66 20 74 68 65 20 73 65 6E e end of the sen
000010: 74 65 6E 63 65 29 0D 0A 0D 0A 20 20 20 48 69 6C tence).... Hil
000020: 61 72 79 3A 20 20 20 59 6F 75 20 63 61 6E 27 74 ary: You can't
000030: 20 62 65 20 62 6F 72 65 64 0D 0A 20 20 20 43 6F be bored.. Co
000040: 6D 70 75 74 65 72 3A 20 49 20 61 6D 20 62 6F 72 mputer: I am bor
000050: 65 64 2E 0D 0A 0D 0A 20 20 20 28 49 74 20 6B 6E ed..... (It kn
000060: 6F 77 73 20 74 68 61 74 20 22 49 22 20 6F 72 20 ows that "I" or
000070: 22 59 6F 75 22 20 20 63 61 6E 20 20 73 74 61 72 "You" can star
000080: 74 20 20 61 20 73 65 6E 74 65 6E 63 65 20 61 6E t a sentence an
000090: 64 20 63 68 6F 6F 73 65 73 20 22 49 22 2C 20 77 d chooses "I", w
0000A0: 68 69 63 68 0D 0A 20 20 20 68 61 73 20 74 6F 20 hich.. has to
0000B0: 62 65 20 66 6F 6C 6C 6F 77 65 64 20 62 79 20 22 be followed by "
0000C0: 61 6D 22 20 20 61 6E 64 20 20 74 68 65 6E 20 20 am" and then
0000D0: 22 62 6F 72 65 64 22 2C 20 20 62 75 74 20 61 73 "bored", but as
0000E0: 20 22 62 6F 72 65 64 22 20 63 61 6E 20 65 69 74 "bored" can eit
0000F0: 68 65 72 0D 0A 20 20 20 66 69 6E 69 73 68 20 61 her.. finish a
000100: 20 73 65 6E 74 65 6E 63 65 20 6F 72 20 20 62 65 sentence or be
000110: 20 20 66 6F 6C 6C 6F 77 65 64 20 20 62 79 20 20 followed by
000120: 22 77 69 74 68 22 2C 20 20 69 74 20 20 72 61 6E "with", it ran
000130: 64 6F 6D 6C 79 20 6F 70 74 73 20 66 6F 72 20 74 domly opts for t
000140: 68 65 0D 0A 20 20 20 66 6F 72 6D 65 72 20 6F 70 he.. former op
000150: 74 69 6F 6E 2E 29 0D 0A 0D 0A 20 20 20 41 6E 64 tion.).... And
000160: 20 73 6F 20 74 68 65 20 63 6F 6E 76 65 72 73 61 so the conversa
000170: 74 69 6F 6E 20 63 6F 6E 74 69 6E 75 65 73 2E 2E tion continues..
000180: 2E 0D 0A 0D 0A 20 20 20 50 52 4F 47 52 41 4D 20 ..... PROGRAM
000190: 41 4E 41 4C 59 53 49 53 0D 0A 20 20 20 48 6F 77 ANALYSIS.. How
0001A0: 20 64 6F 65 73 20 69 74 20 77 6F 72 6B 2C 20 74 does it work, t
0001B0: 68 65 6E 3F 0D 0A 0D 0A 20 20 20 54 68 65 20 61 hen?.... The a
0001C0: 72 72 61 79 73 20 77 24 20 61 6E 64 20 6C 6B 20 rrays w$ and lk
0001D0: 61 72 65 20 20 75 73 65 64 20 20 74 6F 20 20 73 are used to s
0001E0: 74 6F 72 65 20 20 74 68 65 20 69 6E 66 6F 72 6D tore the inform
0001F0: 61 74 69 6F 6E 20 61 62 6F 75 74 20 77 6F 72 64 ation about word
Size : 512 (Real : 512)
000000: 30 20 57 68 61 74 65 76 65 72 20 74 68 65 20 20 0 Whatever the
000010: 75 73 65 72 20 20 74 79 70 65 64 2C 20 20 77 65 user typed, we
000020: 20 20 74 68 65 6E 20 20 47 4F 53 55 42 20 20 32 then GOSUB 2
000030: 30 30 2C 20 20 77 68 69 63 68 20 20 70 72 69 6E 00, which prin
000040: 74 73 20 75 70 20 74 68 65 0D 0A 20 20 20 63 6F ts up the.. co
000050: 6D 70 75 74 65 72 27 73 20 73 65 6E 74 65 6E 63 mputer's sentenc
000060: 65 2C 20 61 6E 64 20 47 4F 54 4F 20 34 30 20 74 e, and GOTO 40 t
000070: 6F 20 61 77 61 69 74 20 74 68 65 20 75 73 65 72 o await the user
000080: 27 73 20 69 6E 70 75 74 20 61 67 61 69 6E 2E 0D 's input again..
000090: 0A 0D 0A 20 20 20 53 45 4E 54 45 4E 43 45 20 41 ... SENTENCE A
0000A0: 4E 41 4C 59 53 49 53 0D 0A 20 20 20 54 68 65 20 NALYSIS.. The
0000B0: 73 75 62 72 6F 75 74 69 6E 65 20 69 6E 20 6C 69 subroutine in li
0000C0: 6E 65 73 20 31 30 30 2D 31 39 30 20 74 61 6B 65 nes 100-190 take
0000D0: 73 20 74 68 65 20 75 73 65 72 27 73 20 73 65 6E s the user's sen
0000E0: 74 65 6E 63 65 2C 20 68 65 6C 64 20 69 6E 20 61 tence, held in a
0000F0: 24 2C 20 61 6E 64 0D 0A 20 20 20 70 75 6C 6C 73 $, and.. pulls
000100: 20 69 74 20 61 70 61 72 74 2E 0D 0A 0D 0A 20 20 it apart.....
000110: 20 31 30 30 20 57 48 49 4C 45 20 74 68 65 72 65 100 WHILE there
000120: 20 61 72 65 20 61 6E 79 20 73 70 61 63 65 73 20 are any spaces
000130: 69 6E 20 61 24 2C 20 69 2E 65 2E 20 6D 6F 72 65 in a$, i.e. more
000140: 20 74 68 61 6E 20 6F 6E 65 20 77 6F 72 64 2C 20 than one word,
000150: 61 20 69 73 20 73 65 74 20 74 6F 0D 0A 20 20 20 a is set to..
000160: 62 65 20 74 68 65 20 70 6F 73 69 74 69 6F 6E 20 be the position
000170: 6F 66 20 74 68 65 20 66 69 72 73 74 20 73 70 61 of the first spa
000180: 63 65 2E 0D 0A 0D 0A 20 20 20 31 31 30 20 54 68 ce..... 110 Th
000190: 65 20 66 69 72 73 74 20 77 6F 72 64 20 69 73 20 e first word is
0001A0: 70 75 74 20 69 6E 74 6F 20 74 68 65 20 61 72 72 put into the arr
0001B0: 61 79 20 74 65 6D 70 77 24 20 61 6E 64 20 74 61 ay tempw$ and ta
0001C0: 6B 65 6E 20 6F 75 74 20 6F 66 20 61 24 2E 0D 0A ken out of a$...
0001D0: 0D 0A 20 20 20 31 32 30 20 54 68 65 20 77 6F 72 .. 120 The wor
0001E0: 64 20 63 6F 75 6E 74 20 69 73 20 20 69 6E 63 72 d count is incr
0001F0: 65 61 73 65 64 20 20 62 79 20 20 31 20 20 61 6E eased by 1 an
Size : 512 (Real : 512)
000000: 73 20 61 6E 64 0D 0A 20 20 20 77 6F 72 64 20 6F s and.. word o
000010: 72 64 65 72 2E 20 20 41 20 77 6F 72 64 20 69 73 rder. A word is
000020: 20 73 74 6F 72 65 64 20 20 69 6E 20 20 77 24 28 stored in w$(
000030: 61 29 20 20 61 6E 64 20 74 68 65 20 22 6C 69 6E a) and the "lin
000040: 6B 22 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 61 k" information a
000050: 62 6F 75 74 0D 0A 20 20 20 77 68 69 63 68 20 77 bout.. which w
000060: 6F 72 64 20 63 61 6E 20 66 6F 6C 6C 6F 77 20 69 ord can follow i
000070: 74 20 69 6E 20 20 6C 6B 28 61 2C 62 29 2E 20 20 t in lk(a,b).
000080: 20 54 68 65 20 20 66 69 72 73 74 20 6E 75 6D 62 The first numb
000090: 65 72 20 69 6E 20 74 68 65 20 6C 6B 20 61 72 72 er in the lk arr
0000A0: 61 79 2C 0D 0A 20 20 20 6C 6B 28 61 2C 30 29 20 ay,.. lk(a,0)
0000B0: 67 69 76 65 73 20 74 68 65 20 6E 75 6D 62 65 72 gives the number
0000C0: 20 6F 66 20 64 69 66 66 65 72 65 6E 74 20 20 77 of different w
0000D0: 6F 72 64 73 20 20 77 68 69 63 68 20 63 61 6E 20 ords which can
0000E0: 66 6F 6C 6C 6F 77 20 77 6F 72 64 20 61 3B 20 74 follow word a; t
0000F0: 68 65 0D 0A 20 20 20 66 6F 6C 6C 6F 77 69 6E 67 he.. following
000100: 20 6E 75 6D 62 65 72 73 20 70 6F 69 6E 74 20 74 numbers point t
000110: 6F 20 74 68 65 20 77 6F 72 64 73 20 69 6E 20 20 o the words in
000120: 77 24 20 77 68 69 63 68 20 63 61 6E 20 66 6F 6C w$ which can fol
000130: 6C 6F 77 20 77 6F 72 64 20 61 2E 20 20 57 6F 72 low word a. Wor
000140: 64 0D 0A 20 20 20 30 20 69 73 20 62 6C 61 6E 6B d.. 0 is blank
000150: 20 61 6E 64 20 72 65 70 72 65 73 65 6E 74 73 20 and represents
000160: 74 68 65 20 73 74 61 72 74 20 6F 72 20 65 6E 64 the start or end
000170: 20 6F 66 20 61 20 73 65 6E 74 65 6E 63 65 2E 0D of a sentence..
000180: 0A 0D 0A 20 20 20 54 68 65 20 74 61 62 6C 65 20 ... The table
000190: 73 68 6F 77 73 20 74 68 65 20 76 61 6C 75 65 73 shows the values
0001A0: 20 69 6E 20 74 68 65 20 20 61 72 72 61 79 73 20 in the arrays
0001B0: 61 66 74 65 72 20 6C 65 61 72 6E 69 6E 67 20 74 after learning t
0001C0: 68 65 20 74 77 6F 20 73 65 6E 74 65 6E 63 65 73 he two sentences
0001D0: 0D 0A 20 20 20 69 6E 20 6F 75 72 20 65 78 61 6D .. in our exam
0001E0: 70 6C 65 3A 0D 0A 0D 0A 09 61 20 20 77 24 28 61 ple:.....a w$(a
0001F0: 29 20 20 20 20 6C 6B 28 61 2C 30 29 20 20 6C 6B ) lk(a,0) lk
Size : 512 (Real : 512)
000000: 6B 20 6F 66 20 74 68 65 20 69 6E 76 69 74 61 74 k of the invitat
000010: 69 6F 6E 20 74 6F 20 22 54 65 6C 6C 20 6D 65 20 ion to "Tell me
000020: 61 62 6F 75 74 20 79 6F 75 72 20 63 6F 6D 70 75 about your compu
000030: 74 65 72 2E 22 0D 0A 0D 0A 20 20 20 54 68 65 20 ter.".... The
000040: 70 72 6F 67 72 61 6D 20 62 65 6C 6F 77 20 3C 3C program below <<
000050: 73 61 76 65 64 20 6F 6E 20 64 69 73 63 20 61 73 saved on disc as
000060: 20 41 49 31 2E 42 41 53 3E 3E 20 69 73 20 61 20 AI1.BAS>> is a
000070: 73 69 6D 70 6C 65 20 77 61 79 20 6F 66 20 74 65 simple way of te
000080: 61 63 68 69 6E 67 0D 0A 20 20 20 79 6F 75 72 20 aching.. your
000090: 63 6F 6D 70 75 74 65 72 20 74 6F 20 63 6F 6D 6D computer to comm
0000A0: 75 6E 69 63 61 74 65 2E 20 20 49 74 20 68 61 73 unicate. It has
0000B0: 20 6E 6F 20 20 61 70 70 6C 69 63 61 74 69 6F 6E no application
0000C0: 73 20 74 68 61 74 20 49 20 61 6D 20 61 77 61 72 s that I am awar
0000D0: 65 20 6F 66 2C 0D 0A 20 20 20 62 75 74 20 69 74 e of,.. but it
0000E0: 20 69 73 20 71 75 69 74 65 20 65 6E 74 65 72 74 is quite entert
0000F0: 61 69 6E 69 6E 67 20 74 6F 20 20 74 72 79 20 20 aining to try
000100: 6F 75 74 20 20 61 6E 64 20 20 79 6F 75 20 6D 69 out and you mi
000110: 67 68 74 20 6C 65 61 72 6E 20 6D 6F 72 65 20 61 ght learn more a
000120: 62 6F 75 74 0D 0A 20 20 20 75 73 69 6E 67 20 61 bout.. using a
000130: 72 72 61 79 73 20 69 66 20 79 6F 75 20 63 61 6E rrays if you can
000140: 20 66 6F 6C 6C 6F 77 20 20 74 68 65 20 20 65 78 follow the ex
000150: 70 6C 61 6E 61 74 69 6F 6E 2E 20 20 54 68 65 20 planation. The
000160: 62 61 73 69 63 20 6C 69 73 74 69 6E 67 20 69 73 basic listing is
000170: 20 69 6E 0D 0A 20 20 20 46 69 67 75 72 65 20 31 in.. Figure 1
000180: 2C 20 61 6E 64 20 69 74 20 77 69 6C 6C 20 20 67 , and it will g
000190: 72 61 64 75 61 6C 6C 79 20 20 62 65 20 20 69 6D radually be im
0001A0: 70 72 6F 76 65 64 20 20 61 6E 64 20 65 6E 68 61 proved and enha
0001B0: 6E 63 65 64 20 6F 76 65 72 20 74 68 65 20 6E 65 nced over the ne
0001C0: 78 74 0D 0A 20 20 20 61 72 74 69 63 6C 65 20 6F xt.. article o
0001D0: 72 20 74 77 6F 2E 20 20 41 6E 20 65 78 70 6C 61 r two. An expla
0001E0: 6E 61 74 6F 72 79 20 6C 69 73 74 20 6F 66 20 76 natory list of v
0001F0: 61 72 69 61 62 6C 65 73 20 69 73 20 69 6E 20 46 ariables is in F
Size : 512 (Real : 512)
000000: 75 6D 62 65 72 20 20 20 66 72 6F 6D 20 20 20 31 umber from 1
000010: 20 20 20 74 6F 20 20 20 6C 6B 28 70 77 6F 72 64 to lk(pword
000020: 2C 30 29 20 20 20 75 73 69 6E 67 20 20 20 74 68 ,0) using th
000030: 65 20 20 65 78 70 72 65 73 73 69 6F 6E 0D 0A 20 e expression..
000040: 20 20 69 3D 49 4E 54 28 52 4E 44 2A 6C 6B 28 70 i=INT(RND*lk(p
000050: 77 6F 72 64 2C 30 29 2B 31 29 2E 0D 0A 0D 0A 20 word,0)+1).....
000060: 20 20 35 31 30 20 57 65 20 73 65 74 20 70 77 6F 510 We set pwo
000070: 72 64 20 74 6F 20 6C 6B 28 70 77 6F 72 64 2C 69 rd to lk(pword,i
000080: 29 2C 20 77 68 69 63 68 20 20 70 6F 69 6E 74 73 ), which points
000090: 20 20 74 6F 20 61 20 72 61 6E 64 6F 6D 20 77 6F to a random wo
0000A0: 72 64 20 6C 69 6E 6B 65 64 20 74 6F 0D 0A 20 20 rd linked to..
0000B0: 20 62 79 20 74 68 65 20 70 72 65 76 69 6F 75 73 by the previous
0000C0: 20 77 6F 72 64 2C 20 61 6E 64 20 52 45 54 55 52 word, and RETUR
0000D0: 4E 20 74 6F 20 70 72 69 6E 74 20 75 70 20 74 68 N to print up th
0000E0: 65 20 77 6F 72 64 20 77 24 28 70 77 6F 72 64 29 e word w$(pword)
0000F0: 2E 0D 0A 0D 0A 20 20 20 54 48 41 54 27 53 20 41 ..... THAT'S A
000100: 4C 4C 20 46 4F 4C 4B 53 0D 0A 20 20 20 54 68 65 LL FOLKS.. The
000110: 20 6F 6E 6C 79 20 6C 69 6E 65 20 77 68 69 63 68 only line which
000120: 20 49 20 68 61 76 65 6E 27 74 20 6C 6F 6F 6B 65 I haven't looke
000130: 64 20 20 61 74 20 20 66 6F 72 20 20 79 6F 75 20 d at for you
000140: 69 6E 20 64 65 74 61 69 6C 20 69 73 20 33 30 30 in detail is 300
000150: 2C 20 77 68 69 63 68 0D 0A 20 20 20 64 6F 65 73 , which.. does
000160: 20 74 68 65 20 73 70 61 63 65 2D 73 74 72 69 70 the space-strip
000170: 70 69 6E 67 2E 20 20 49 20 74 68 69 6E 6B 20 79 ping. I think y
000180: 6F 75 20 73 68 6F 75 6C 64 20 62 65 20 61 62 6C ou should be abl
000190: 65 20 74 6F 20 73 65 65 20 68 6F 77 20 69 74 20 e to see how it
0001A0: 77 6F 72 6B 73 2E 0D 0A 0D 0A 20 20 20 41 4E 59 works..... ANY
0001B0: 20 51 55 45 53 54 49 4F 4E 53 3F 0D 0A 20 20 20 QUESTIONS?..
0001C0: 57 65 6C 6C 2C 20 68 65 72 65 20 61 72 65 20 74 Well, here are t
0001D0: 77 6F 20 73 69 6D 70 6C 65 20 6F 6E 65 73 20 61 wo simple ones a
0001E0: 6E 73 77 65 72 65 64 3A 0D 0A 0D 0A 20 20 20 57 nswered:.... W
0001F0: 48 41 54 20 41 42 4F 55 54 20 50 55 4E 43 54 55 HAT ABOUT PUNCTU
Size : 512 (Real : 512)
000000: 20 6C 6B 2E 20 20 54 68 65 0D 0A 20 20 20 6E 75 lk. The.. nu
000010: 6D 62 65 72 20 6F 66 20 6C 69 6E 6B 73 20 66 72 mber of links fr
000020: 6F 6D 20 77 6F 72 64 20 70 77 6F 72 64 20 69 73 om word pword is
000030: 20 20 73 74 6F 72 65 64 20 20 69 6E 20 6C 6B 28 stored in lk(
000040: 70 77 6F 72 64 2C 30 29 2E 0D 0A 0D 0A 20 20 20 pword,0).....
000050: 49 6E 20 6C 69 6E 65 73 20 34 30 30 2D 34 34 30 In lines 400-440
000060: 20 77 65 20 63 68 65 63 6B 20 74 68 72 6F 75 67 we check throug
000070: 68 20 74 68 65 20 6C 69 6E 6B 73 20 20 66 72 6F h the links fro
000080: 6D 20 70 77 6F 72 64 20 74 6F 20 73 65 65 20 69 m pword to see i
000090: 66 20 63 77 6F 72 64 20 69 73 0D 0A 20 20 20 61 f cword is.. a
0000A0: 6C 72 65 61 64 79 20 6C 69 73 74 65 64 20 74 68 lready listed th
0000B0: 65 72 65 2C 20 61 6E 64 20 69 66 20 69 74 20 69 ere, and if it i
0000C0: 73 20 6E 6F 74 20 77 65 20 61 64 64 20 69 74 20 s not we add it
0000D0: 6F 6E 20 74 68 65 20 65 6E 64 2E 0D 0A 0D 0A 20 on the end.....
0000E0: 20 20 34 30 30 20 57 65 20 73 65 74 20 6F 75 72 400 We set our
0000F0: 20 63 6F 75 6E 74 65 72 20 6A 20 74 6F 20 20 74 counter j to t
000100: 68 65 20 20 6E 75 6D 62 65 72 20 6F 66 20 6C 69 he number of li
000110: 6E 6B 73 20 66 72 6F 6D 20 70 77 6F 72 64 2C 20 nks from pword,
000120: 6C 6B 28 70 77 6F 72 64 2C 30 29 2E 0D 0A 20 20 lk(pword,0)...
000130: 20 54 68 65 20 76 61 72 69 61 62 6C 65 20 78 20 The variable x
000140: 77 69 6C 6C 20 62 65 20 75 73 65 64 20 66 6F 72 will be used for
000150: 20 20 74 68 65 20 20 73 65 63 6F 6E 64 20 63 6F the second co
000160: 6F 72 64 69 6E 61 74 65 20 69 6E 20 74 68 65 20 ordinate in the
000170: 6C 6B 20 61 72 72 61 79 2E 0D 0A 0D 0A 20 20 20 lk array.....
000180: 34 31 30 20 6A 20 63 6F 75 6E 74 73 20 64 6F 77 410 j counts dow
000190: 6E 20 74 6F 20 7A 65 72 6F 20 74 6F 20 67 6F 20 n to zero to go
0001A0: 20 74 68 72 6F 75 67 68 20 61 6C 6C 20 74 68 65 through all the
0001B0: 20 6C 69 6E 6B 73 2E 20 20 53 74 61 72 74 69 6E links. Startin
0001C0: 67 20 77 69 74 68 20 78 3D 31 0D 0A 20 20 20 61 g with x=1.. a
0001D0: 74 20 74 68 65 20 66 69 72 73 74 20 6C 69 6E 6B t the first link
0001E0: 2C 20 77 65 20 63 68 65 63 6B 20 77 68 65 74 68 , we check wheth
0001F0: 65 72 20 63 77 6F 72 64 20 20 69 73 20 20 74 68 er cword is th
Size : 512 (Real : 512)
000000: 64 20 20 73 70 61 63 65 73 20 61 72 65 20 73 74 d spaces are st
000010: 72 69 70 70 65 64 20 66 72 6F 6D 20 74 68 65 0D ripped from the.
000020: 0A 20 20 20 66 72 6F 6E 74 20 6F 66 20 61 24 20 . front of a$
000030: 61 67 61 69 6E 2E 20 20 57 45 4E 44 20 74 61 6B again. WEND tak
000040: 65 73 20 75 73 20 20 6F 6E 20 20 74 6F 20 20 74 es us on to t
000050: 68 65 20 6E 65 78 74 20 77 6F 72 64 2C 20 75 6E he next word, un
000060: 74 69 6C 20 77 65 20 68 61 76 65 20 6E 6F 0D 0A til we have no..
000070: 20 20 20 73 70 61 63 65 73 20 6C 65 66 74 20 69 spaces left i
000080: 6E 20 61 24 2E 0D 0A 0D 0A 20 20 20 31 33 30 20 n a$..... 130
000090: 49 66 20 74 68 65 72 65 20 69 73 20 61 6E 79 74 If there is anyt
0000A0: 68 69 6E 67 20 6C 65 66 74 20 69 6E 20 20 61 24 hing left in a$
0000B0: 20 20 74 68 65 6E 20 20 69 74 20 20 69 73 20 61 then it is a
0000C0: 6C 73 6F 20 70 75 74 20 69 6E 74 6F 20 74 68 65 lso put into the
0000D0: 20 61 72 72 61 79 0D 0A 20 20 20 74 65 6D 70 77 array.. tempw
0000E0: 24 2E 0D 0A 0D 0A 20 20 20 4E 6F 77 20 77 65 20 $..... Now we
0000F0: 67 6F 20 74 68 72 6F 75 67 68 20 74 68 65 20 61 go through the a
000100: 72 72 61 79 20 74 65 6D 70 77 24 20 6C 6F 6F 6B rray tempw$ look
000110: 69 6E 67 20 20 74 6F 20 73 65 65 20 69 66 20 61 ing to see if a
000120: 6E 79 20 6F 66 20 74 68 65 20 77 6F 72 64 73 20 ny of the words
000130: 61 72 65 0D 0A 20 20 20 61 6C 72 65 61 64 79 20 are.. already
000140: 6B 6E 6F 77 6E 20 28 69 2E 65 2E 20 69 6E 20 77 known (i.e. in w
000150: 24 29 2E 20 20 20 54 68 65 20 20 76 61 72 69 61 $). The varia
000160: 62 6C 65 73 20 20 63 77 6F 72 64 20 20 61 6E 64 bles cword and
000170: 20 70 77 6F 72 64 20 61 72 65 20 75 73 65 64 20 pword are used
000180: 74 6F 0D 0A 20 20 20 70 6F 69 6E 74 20 74 6F 20 to.. point to
000190: 74 68 65 20 70 6F 73 69 74 69 6F 6E 73 20 69 6E the positions in
0001A0: 20 74 68 65 20 20 61 72 72 61 79 20 20 77 24 20 the array w$
0001B0: 20 6F 66 20 74 68 65 20 63 75 72 72 65 6E 74 20 of the current
0001C0: 77 6F 72 64 20 61 6E 64 20 70 72 65 76 69 6F 75 word and previou
0001D0: 73 0D 0A 20 20 20 77 6F 72 64 20 69 6E 20 74 68 s.. word in th
0001E0: 65 20 73 65 6E 74 65 6E 63 65 20 72 65 73 70 65 e sentence respe
0001F0: 63 74 69 76 65 6C 79 2E 0D 0A 0D 0A 20 20 20 31 ctively..... 1
Size : 512 (Real : 512)
000000: 61 74 20 6C 69 6E 6B 2C 20 61 6E 64 20 69 66 20 at link, and if
000010: 69 74 20 69 73 20 6E 6F 74 0D 0A 20 20 20 77 65 it is not.. we
000020: 20 6D 6F 76 65 20 6F 6E 20 74 6F 20 74 68 65 20 move on to the
000030: 6E 65 78 74 20 6C 69 6E 6B 20 62 79 20 69 6E 63 next link by inc
000040: 72 65 61 73 69 6E 67 20 78 2E 0D 0A 0D 0A 20 20 reasing x.....
000050: 20 34 32 30 20 57 45 4E 44 20 69 73 20 72 65 61 420 WEND is rea
000060: 63 68 65 64 20 65 69 74 68 65 72 20 77 68 65 6E ched either when
000070: 20 20 6A 3D 30 20 20 6F 72 20 20 77 68 65 6E 20 j=0 or when
000080: 20 61 20 6D 61 74 63 68 20 69 73 20 66 6F 75 6E a match is foun
000090: 64 2C 20 69 6E 20 77 68 69 63 68 0D 0A 20 20 20 d, in which..
0000A0: 63 61 73 65 20 6A 3E 30 20 61 6E 64 20 20 77 65 case j>0 and we
0000B0: 20 20 67 6F 20 20 74 6F 20 20 34 34 30 20 20 77 go to 440 w
0000C0: 68 69 63 68 20 20 73 69 6D 70 6C 79 20 20 52 45 hich simply RE
0000D0: 54 55 52 4E 73 20 20 75 73 20 20 74 6F 20 20 74 TURNs us to t
0000E0: 68 65 20 31 30 30 2D 31 39 30 0D 0A 20 20 20 73 he 100-190.. s
0000F0: 75 62 72 6F 75 74 69 6E 65 20 61 73 20 6F 75 72 ubroutine as our
000100: 20 61 6E 61 6C 79 73 69 73 20 69 73 20 66 69 6E analysis is fin
000110: 69 73 68 65 64 20 66 6F 72 20 74 68 61 74 20 77 ished for that w
000120: 6F 72 64 2E 0D 0A 0D 0A 20 20 20 34 33 30 20 4E ord..... 430 N
000130: 6F 20 6D 61 74 63 68 20 68 61 73 20 62 65 65 6E o match has been
000140: 20 66 6F 75 6E 64 2C 20 73 6F 20 77 65 20 20 68 found, so we h
000150: 61 76 65 20 20 74 6F 20 61 64 64 20 61 20 6C 69 ave to add a li
000160: 6E 6B 20 66 6F 72 20 63 77 6F 72 64 20 6F 6E 74 nk for cword ont
000170: 6F 20 74 68 65 0D 0A 20 20 20 65 6E 64 20 6F 66 o the.. end of
000180: 20 74 68 65 20 6C 69 73 74 20 6F 66 20 6C 69 6E the list of lin
000190: 6B 73 2E 20 20 20 57 65 20 20 69 6E 63 72 65 61 ks. We increa
0001A0: 73 65 20 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 se the number of
0001B0: 20 6C 69 6E 6B 73 2C 20 6C 6B 28 70 77 6F 72 64 links, lk(pword
0001C0: 2C 30 29 2C 0D 0A 20 20 20 62 79 20 31 20 61 6E ,0),.. by 1 an
0001D0: 64 20 73 65 74 20 6C 6B 28 70 77 6F 72 64 2C 78 d set lk(pword,x
0001E0: 29 2C 20 77 68 69 63 68 20 20 69 73 20 20 74 68 ), which is th
0001F0: 65 20 75 6E 61 6C 6C 6F 63 61 74 65 64 20 6C 69 e unallocated li
Size : 512 (Real : 512)
000000: 34 30 20 57 65 20 67 6F 20 74 68 72 6F 75 67 68 40 We go through
000010: 20 74 68 65 20 77 6F 72 64 73 20 69 6E 20 20 74 the words in t
000020: 65 6D 70 77 24 20 6F 6E 65 20 62 79 20 6F 6E 65 empw$ one by one
000030: 20 73 74 61 72 74 69 6E 67 20 77 69 74 68 20 74 starting with t
000040: 65 6D 70 77 24 28 30 29 2C 0D 0A 20 20 20 74 68 empw$(0),.. th
000050: 65 20 66 69 72 73 74 20 77 6F 72 64 20 69 6E 20 e first word in
000060: 74 68 65 20 20 73 65 6E 74 65 6E 63 65 2C 20 20 the sentence,
000070: 61 6E 64 20 66 69 6E 69 73 68 69 6E 67 20 77 69 and finishing wi
000080: 74 68 20 74 65 6D 70 77 24 28 77 63 6F 75 6E 74 th tempw$(wcount
000090: 2D 31 29 2C 20 74 68 65 0D 0A 20 20 20 6C 61 73 -1), the.. las
0000A0: 74 20 77 6F 72 64 20 69 6E 20 74 68 65 20 73 65 t word in the se
0000B0: 6E 74 65 6E 63 65 2E 20 20 77 6F 72 64 24 20 69 ntence. word$ i
0000C0: 73 20 73 65 74 20 74 6F 20 63 6F 6E 74 61 69 6E s set to contain
0000D0: 20 74 68 65 20 63 75 72 72 65 6E 74 20 77 6F 72 the current wor
0000E0: 64 20 75 6E 64 65 72 0D 0A 20 20 20 63 6F 6E 73 d under.. cons
0000F0: 69 64 65 72 61 74 69 6F 6E 2E 0D 0A 0D 0A 20 20 ideration.....
000100: 20 31 35 30 20 57 65 20 67 6F 20 20 74 68 72 6F 150 We go thro
000110: 75 67 68 20 20 74 68 65 20 20 61 72 72 61 79 20 ugh the array
000120: 20 77 24 20 20 62 61 63 6B 77 61 72 64 73 20 20 w$ backwards
000130: 74 6F 20 20 6D 61 6B 65 20 20 74 68 65 20 6C 6F to make the lo
000140: 6F 70 20 73 69 6D 70 6C 65 72 2E 0D 0A 20 20 20 op simpler...
000150: 53 74 61 72 74 69 6E 67 20 77 69 74 68 20 74 68 Starting with th
000160: 65 20 6C 61 73 74 20 77 6F 72 64 20 69 6E 20 20 e last word in
000170: 74 68 65 20 20 61 72 72 61 79 2C 20 20 77 65 20 the array, we
000180: 20 74 72 79 20 73 65 74 74 69 6E 67 20 63 77 6F try setting cwo
000190: 72 64 20 74 6F 20 74 68 61 74 0D 0A 20 20 20 70 rd to that.. p
0001A0: 6F 73 69 74 69 6F 6E 20 69 6E 20 74 68 65 20 61 osition in the a
0001B0: 72 72 61 79 20 61 6E 64 20 73 65 65 20 69 66 20 rray and see if
0001C0: 74 68 65 20 77 6F 72 64 20 77 6F 72 64 24 20 6D the word word$ m
0001D0: 61 74 63 68 65 73 20 74 68 65 20 77 6F 72 64 20 atches the word
0001E0: 77 24 28 63 77 6F 72 64 29 0D 0A 20 20 20 73 74 w$(cword).. st
0001F0: 6F 72 65 64 20 69 6E 20 74 68 65 20 61 72 72 61 ored in the arra
Size : 512 (Real : 512)
000000: 6E 6B 20 77 68 69 63 68 20 77 65 20 72 65 61 63 nk which we reac
000010: 68 65 64 0D 0A 20 20 20 77 68 65 6E 20 67 6F 69 hed.. when goi
000020: 6E 67 20 74 68 72 6F 75 67 68 20 74 68 65 20 57 ng through the W
000030: 48 49 4C 45 2D 57 45 4E 44 20 6C 6F 6F 70 2C 20 HILE-WEND loop,
000040: 74 6F 20 62 65 20 65 71 75 61 6C 20 74 6F 20 63 to be equal to c
000050: 77 6F 72 64 2E 0D 0A 0D 0A 20 20 20 54 41 4C 4B word..... TALK
000060: 49 4E 47 20 42 41 43 4B 0D 0A 20 20 20 57 65 20 ING BACK.. We
000070: 68 61 76 65 20 64 65 61 6C 74 20 77 69 74 68 20 have dealt with
000080: 20 73 74 6F 72 69 6E 67 20 20 74 68 65 20 20 69 storing the i
000090: 6E 66 6F 72 6D 61 74 69 6F 6E 2E 20 20 20 48 6F nformation. Ho
0000A0: 77 20 20 64 6F 20 20 77 65 20 20 75 73 65 20 69 w do we use i
0000B0: 74 3F 20 20 54 68 65 0D 0A 20 20 20 73 75 62 72 t? The.. subr
0000C0: 6F 75 74 69 6E 65 73 20 69 6E 20 6C 69 6E 65 73 outines in lines
0000D0: 20 32 30 30 2D 32 33 30 20 61 6E 64 20 35 30 30 200-230 and 500
0000E0: 2D 35 31 30 20 70 72 6F 64 75 63 65 20 74 68 65 -510 produce the
0000F0: 20 63 6F 6D 70 75 74 65 72 27 73 20 73 65 6E 74 computer's sent
000100: 65 6E 63 65 2E 0D 0A 0D 0A 20 20 20 32 30 30 20 ence..... 200
000110: 54 6F 20 73 74 61 72 74 20 74 68 65 20 73 65 6E To start the sen
000120: 74 65 6E 63 65 2C 20 77 65 20 73 65 74 20 70 77 tence, we set pw
000130: 6F 72 64 20 74 6F 20 30 20 77 68 69 63 68 20 70 ord to 0 which p
000140: 6F 69 6E 74 73 20 74 6F 20 74 68 65 20 22 73 74 oints to the "st
000150: 61 72 74 20 6F 66 0D 0A 20 20 20 73 65 6E 74 65 art of.. sente
000160: 6E 63 65 22 20 77 6F 72 64 20 69 6E 20 77 24 2E nce" word in w$.
000170: 20 20 20 47 4F 53 55 42 62 69 6E 67 20 20 35 30 GOSUBbing 50
000180: 30 20 20 66 65 74 63 68 65 73 20 20 61 20 20 72 0 fetches a r
000190: 61 6E 64 6F 6D 6C 79 20 73 65 6C 65 63 74 65 64 andomly selected
0001A0: 20 77 6F 72 64 0D 0A 20 20 20 77 68 69 63 68 20 word.. which
0001B0: 63 61 6E 20 73 74 61 72 74 20 61 20 73 65 6E 74 can start a sent
0001C0: 65 6E 63 65 2C 20 61 6E 64 20 73 65 74 73 20 70 ence, and sets p
0001D0: 77 6F 72 64 20 74 6F 20 70 6F 69 6E 74 20 74 6F word to point to
0001E0: 20 74 68 65 20 6E 65 77 20 77 6F 72 64 2E 0D 0A the new word...
0001F0: 0D 0A 20 20 20 32 31 30 20 57 48 49 4C 45 20 70 .. 210 WHILE p
Size : 512 (Real : 512)
000000: 79 2E 20 20 49 66 20 6E 6F 74 2C 20 77 65 20 6C y. If not, we l
000010: 6F 6F 6B 20 20 61 74 20 20 74 68 65 20 70 72 65 ook at the pre
000020: 76 69 6F 75 73 20 77 6F 72 64 20 69 6E 20 77 24 vious word in w$
000030: 2E 20 20 49 66 20 77 65 0D 0A 20 20 20 66 69 6E . If we.. fin
000040: 64 20 61 20 6D 61 74 63 68 2C 20 63 77 6F 72 64 d a match, cword
000050: 20 77 69 6C 6C 20 62 65 20 70 6F 69 6E 74 69 6E will be pointin
000060: 67 20 74 6F 20 6F 75 72 20 77 6F 72 64 20 69 6E g to our word in
000070: 20 77 24 2E 0D 0A 0D 0A 20 20 20 31 36 30 20 49 w$..... 160 I
000080: 66 20 77 65 20 68 61 76 65 20 67 6F 74 20 62 61 f we have got ba
000090: 63 6B 20 74 6F 20 74 68 65 20 20 66 69 72 73 74 ck to the first
0000A0: 20 20 77 6F 72 64 20 20 69 6E 20 77 24 20 77 69 word in w$ wi
0000B0: 74 68 6F 75 74 20 61 20 6D 61 74 63 68 2C 20 77 thout a match, w
0000C0: 65 20 61 64 64 0D 0A 20 20 20 77 6F 72 64 24 20 e add.. word$
0000D0: 6F 6E 74 6F 20 74 68 65 20 65 6E 64 20 6F 66 20 onto the end of
0000E0: 20 74 68 65 20 20 61 72 72 61 79 2C 20 20 69 6E the array, in
0000F0: 63 72 65 61 73 69 6E 67 20 6E 77 6F 72 64 73 20 creasing nwords
000100: 61 63 63 6F 72 64 69 6E 67 6C 79 2C 20 61 6E 64 accordingly, and
000110: 20 73 65 74 0D 0A 20 20 20 63 77 6F 72 64 20 74 set.. cword t
000120: 6F 20 70 6F 69 6E 74 20 74 6F 20 6F 75 72 20 6E o point to our n
000130: 65 77 20 77 6F 72 64 20 69 6E 20 77 24 2E 0D 0A ew word in w$...
000140: 0D 0A 20 20 20 31 37 30 20 54 68 65 20 6E 65 78 .. 170 The nex
000150: 74 20 74 68 69 6E 67 20 77 65 20 64 6F 20 20 69 t thing we do i
000160: 73 20 20 74 6F 20 20 47 4F 53 55 42 20 20 34 30 s to GOSUB 40
000170: 30 20 20 74 6F 20 20 70 75 74 20 69 6E 20 74 68 0 to put in th
000180: 65 20 6C 69 6E 6B 20 66 72 6F 6D 20 74 68 65 0D e link from the.
000190: 0A 20 20 20 70 72 65 76 69 6F 75 73 20 77 6F 72 . previous wor
0001A0: 64 20 69 6E 20 74 68 65 20 73 65 6E 74 65 6E 63 d in the sentenc
0001B0: 65 20 74 6F 20 74 68 65 20 63 75 72 72 65 6E 74 e to the current
0001C0: 20 77 6F 72 64 2E 20 20 49 66 20 77 65 20 61 72 word. If we ar
0001D0: 65 20 6F 6E 20 74 68 65 20 66 69 72 73 74 0D 0A e on the first..
0001E0: 20 20 20 77 6F 72 64 20 6F 66 20 74 68 65 20 73 word of the s
0001F0: 65 6E 74 65 6E 63 65 2C 20 70 77 6F 72 64 20 68 entence, pword h
Size : 512 (Real : 512)
000000: 77 6F 72 64 3E 30 20 77 65 20 68 61 76 65 20 6E word>0 we have n
000010: 6F 74 20 67 6F 74 20 74 6F 20 74 68 65 20 22 65 ot got to the "e
000020: 6E 64 20 6F 66 20 73 65 6E 74 65 6E 63 65 22 20 nd of sentence"
000030: 77 6F 72 64 2E 20 20 57 65 20 70 72 69 6E 74 0D word. We print.
000040: 0A 20 20 20 75 70 20 77 24 28 70 77 6F 72 64 29 . up w$(pword)
000050: 20 66 6F 6C 6C 6F 77 65 64 20 62 79 20 61 20 73 followed by a s
000060: 70 61 63 65 2C 20 61 6E 64 20 20 6C 6F 6F 6B 20 pace, and look
000070: 66 6F 72 20 74 68 65 20 6E 65 78 74 20 77 6F 72 for the next wor
000080: 64 20 62 79 20 47 4F 53 55 42 62 69 6E 67 0D 0A d by GOSUBbing..
000090: 20 20 20 35 30 30 2E 20 20 57 45 4E 44 20 69 73 500. WEND is
0000A0: 20 72 65 61 63 68 65 64 20 77 68 65 6E 20 70 77 reached when pw
0000B0: 6F 72 64 3D 30 2C 20 20 69 2E 65 2E 20 20 77 65 ord=0, i.e. we
0000C0: 20 20 68 61 76 65 20 20 67 6F 74 20 74 6F 20 74 have got to t
0000D0: 68 65 20 65 6E 64 20 6F 66 20 74 68 65 0D 0A 20 he end of the..
0000E0: 20 20 73 65 6E 74 65 6E 63 65 2E 0D 0A 0D 0A 20 sentence.....
0000F0: 20 20 32 32 30 20 57 65 20 77 61 6E 74 20 74 6F 220 We want to
000100: 20 70 75 74 20 61 20 66 75 6C 6C 20 73 74 6F 70 put a full stop
000110: 20 6F 6E 20 20 74 68 65 20 65 6E 64 20 6F 66 20 on the end of
000120: 74 68 65 20 73 65 6E 74 65 6E 63 65 2C 20 73 6F the sentence, so
000130: 20 77 65 20 6D 6F 76 65 20 74 68 65 0D 0A 20 20 we move the..
000140: 20 63 75 72 73 6F 72 20 62 61 63 6B 20 6F 6E 65 cursor back one
000150: 20 61 6E 64 20 70 72 69 6E 74 20 61 20 66 75 6C and print a ful
000160: 6C 20 73 74 6F 70 20 6F 76 65 72 20 74 68 65 20 l stop over the
000170: 6C 61 73 74 20 73 70 61 63 65 2E 0D 0A 0D 0A 20 last space.....
000180: 20 20 48 6F 77 20 64 6F 20 77 65 20 64 65 63 69 How do we deci
000190: 64 65 20 6F 6E 20 61 20 77 6F 72 64 3F 0D 0A 0D de on a word?...
0001A0: 0A 20 20 20 35 30 30 20 57 65 20 6C 6F 6F 6B 20 . 500 We look
0001B0: 61 74 20 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 at the number of
0001C0: 20 6C 69 6E 6B 73 20 66 72 6F 6D 20 70 77 6F 72 links from pwor
0001D0: 64 2C 20 6C 6B 28 70 77 6F 72 64 2C 30 29 20 61 d, lk(pword,0) a
0001E0: 6E 64 20 73 65 74 20 69 20 74 6F 20 62 65 0D 0A nd set i to be..
0001F0: 20 20 20 61 20 20 72 61 6E 64 6F 6D 20 20 20 6E a random n
Size : 512 (Real : 512)
000000: 61 73 20 62 65 65 6E 20 20 73 65 74 20 20 74 6F as been set to
000010: 20 20 30 20 74 6F 20 70 6F 69 6E 74 20 74 6F 20 0 to point to
000020: 74 68 65 20 22 73 74 61 72 74 20 6F 66 0D 0A 20 the "start of..
000030: 20 20 73 65 6E 74 65 6E 63 65 22 20 77 6F 72 64 sentence" word
000040: 20 69 6E 20 77 24 2E 20 20 41 66 74 65 72 20 70 in w$. After p
000050: 75 74 74 69 6E 67 20 20 69 6E 20 20 74 68 65 20 utting in the
000060: 20 6C 69 6E 6B 20 20 77 65 20 6D 6F 76 65 20 6F link we move o
000070: 6E 74 6F 20 74 68 65 20 6E 65 78 74 0D 0A 20 20 nto the next..
000080: 20 77 6F 72 64 20 69 6E 20 74 65 6D 70 77 24 2E word in tempw$.
000090: 0D 0A 0D 0A 20 20 20 31 38 30 20 4F 6E 63 65 20 .... 180 Once
0000A0: 77 65 20 68 61 76 65 20 72 65 61 63 68 65 64 20 we have reached
0000B0: 74 68 65 20 65 6E 64 20 6F 66 20 74 68 65 20 20 the end of the
0000C0: 77 6F 72 64 73 20 69 6E 20 74 65 6D 70 77 24 20 words in tempw$
0000D0: 77 65 20 68 61 76 65 20 74 6F 20 70 75 74 20 69 we have to put i
0000E0: 6E 0D 0A 20 20 20 61 20 6C 69 6E 6B 20 66 72 6F n.. a link fro
0000F0: 6D 20 74 68 65 20 6C 61 73 74 20 77 6F 72 64 20 m the last word
000100: 74 6F 20 74 68 65 20 22 65 6E 64 20 6F 66 20 73 to the "end of s
000110: 65 6E 74 65 6E 63 65 22 20 77 6F 72 64 20 69 6E entence" word in
000120: 20 77 24 2C 20 73 6F 20 63 77 6F 72 64 20 69 73 w$, so cword is
000130: 0D 0A 20 20 20 73 65 74 20 74 6F 20 30 20 28 70 .. set to 0 (p
000140: 77 6F 72 64 20 69 73 20 61 6C 72 65 61 64 79 20 word is already
000150: 70 6F 69 6E 74 69 6E 67 20 20 74 6F 20 20 74 68 pointing to th
000160: 65 20 6C 61 73 74 20 77 6F 72 64 20 66 72 6F 6D e last word from
000170: 20 74 65 6D 70 77 24 29 20 61 6E 64 20 77 65 0D tempw$) and we.
000180: 0A 20 20 20 47 4F 53 55 42 20 34 30 30 20 61 67 . GOSUB 400 ag
000190: 61 69 6E 20 74 6F 20 70 75 74 20 69 6E 20 74 68 ain to put in th
0001A0: 65 20 6C 69 6E 6B 2E 0D 0A 0D 0A 20 20 20 4C 49 e link..... LI
0001B0: 4E 4B 49 4E 47 20 42 49 54 53 0D 0A 20 20 20 54 NKING BITS.. T
0001C0: 68 65 20 6C 69 6E 6B 20 66 72 6F 6D 20 77 6F 72 he link from wor
0001D0: 64 20 70 77 6F 72 64 20 74 6F 20 20 77 6F 72 64 d pword to word
0001E0: 20 20 63 77 6F 72 64 20 20 69 73 20 20 73 74 6F cword is sto
0001F0: 72 65 64 20 69 6E 20 74 68 65 20 61 72 72 61 79 red in the array
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 6D 77 6F 72 64 73 09 6D 61 78 69 .. mwords.maxi
000010: 6D 75 6D 20 6E 75 6D 62 65 72 20 6F 66 20 77 6F mum number of wo
000020: 72 64 73 20 68 65 6C 64 20 69 6E 20 77 24 0D 0A rds held in w$..
000030: 20 20 20 6D 6C 69 6E 6B 73 09 6D 61 78 69 6D 75 mlinks.maximu
000040: 6D 20 6E 75 6D 62 65 72 20 6F 66 20 6C 69 6E 6B m number of link
000050: 73 20 69 6E 20 74 68 65 20 6C 6B 20 61 72 72 61 s in the lk arra
000060: 79 0D 0A 20 20 20 6E 77 6F 72 64 73 09 63 75 72 y.. nwords.cur
000070: 72 65 6E 74 20 74 6F 74 61 6C 20 6E 75 6D 62 65 rent total numbe
000080: 72 20 6F 66 20 77 6F 72 64 73 20 68 65 6C 64 20 r of words held
000090: 69 6E 20 77 24 0D 0A 20 20 20 77 63 6F 75 6E 74 in w$.. wcount
0000A0: 09 63 6F 75 6E 74 65 72 20 66 6F 72 20 77 6F 72 .counter for wor
0000B0: 64 73 20 69 6E 20 74 65 6D 70 77 24 0D 0A 20 20 ds in tempw$..
0000C0: 20 77 6F 72 64 24 09 74 65 6D 70 6F 72 61 72 79 word$.temporary
0000D0: 20 76 61 72 69 61 62 6C 65 20 74 6F 20 68 6F 6C variable to hol
0000E0: 64 20 74 68 65 20 63 75 72 72 65 6E 74 20 77 6F d the current wo
0000F0: 72 64 20 75 6E 64 65 72 20 61 6E 61 6C 79 73 69 rd under analysi
000100: 73 0D 0A 20 20 20 70 77 6F 72 64 09 70 6F 69 6E s.. pword.poin
000110: 74 73 20 74 6F 20 74 68 65 20 70 6F 73 69 74 69 ts to the positi
000120: 6F 6E 20 69 6E 20 77 24 20 6F 66 20 70 72 65 76 on in w$ of prev
000130: 69 6F 75 73 20 77 6F 72 64 20 69 6E 20 74 68 65 ious word in the
000140: 20 73 65 6E 74 65 6E 63 65 0D 0A 20 20 20 63 77 sentence.. cw
000150: 6F 72 64 09 70 6F 69 6E 74 73 20 74 6F 20 74 68 ord.points to th
000160: 65 20 70 6F 73 69 74 69 6F 6E 20 69 6E 20 77 24 e position in w$
000170: 20 6F 66 20 63 75 72 72 65 6E 74 20 77 6F 72 64 of current word
000180: 20 69 6E 20 74 68 65 20 73 65 6E 74 65 6E 63 65 in the sentence
000190: 0D 0A 20 20 20 69 2C 20 6A 09 09 63 6F 75 6E 74 .. i, j..count
0001A0: 65 72 20 76 61 72 69 61 62 6C 65 73 2E 0D 0A 20 er variables...
0001B0: 20 20 78 09 09 76 61 72 69 61 62 6C 65 20 75 73 x..variable us
0001C0: 65 64 20 69 6E 20 67 6F 69 6E 67 20 74 68 72 6F ed in going thro
0001D0: 75 67 68 20 74 68 65 20 6C 69 6E 6B 73 20 61 72 ugh the links ar
0001E0: 72 61 79 0D 0A 1A 20 69 64 6C 65 20 20 61 6E 64 ray... idle and
0001F0: 20 20 6C 6F 6E 65 6C 79 20 20 6D 6F 6D 65 6E 74 lonely moment
Size : 512 (Real : 512)
000000: 65 20 64 6F 6E 65 20 69 74 20 61 6C 6C 2C 20 73 e done it all, s
000010: 6F 20 77 65 20 43 4C 4F 53 45 4F 55 54 20 74 6F o we CLOSEOUT to
000020: 20 66 69 6E 69 73 68 20 77 69 74 68 20 74 68 65 finish with the
000030: 20 66 69 6C 65 2E 0D 0A 0D 0A 20 20 20 4E 6F 74 file..... Not
000040: 65 20 74 68 61 74 20 6C 6F 61 64 69 6E 67 20 69 e that loading i
000050: 6E 20 76 6F 63 61 62 75 6C 61 72 79 20 77 69 6C n vocabulary wil
000060: 6C 20 20 6F 76 65 72 77 72 69 74 65 20 61 6E 79 l overwrite any
000070: 20 65 78 69 73 74 69 6E 67 20 76 6F 63 61 62 75 existing vocabu
000080: 6C 61 72 79 20 69 6E 0D 0A 20 20 20 74 68 65 20 lary in.. the
000090: 61 72 72 61 79 73 2E 0D 0A 0D 0A 20 20 20 53 54 arrays..... ST
0000A0: 49 4C 4C 20 54 4F 20 43 4F 4D 45 0D 0A 20 20 20 ILL TO COME..
0000B0: 4E 65 78 74 20 6D 6F 6E 74 68 20 77 65 20 77 69 Next month we wi
0000C0: 6C 6C 20 6C 6F 6F 6B 20 61 74 20 73 6F 6D 65 20 ll look at some
0000D0: 20 6D 6F 72 65 20 20 77 61 79 73 20 6F 66 20 69 more ways of i
0000E0: 6D 70 72 6F 76 69 6E 67 20 74 68 65 20 70 72 6F mproving the pro
0000F0: 67 72 61 6D 2E 20 20 54 68 65 0D 0A 20 20 20 76 gram. The.. v
000100: 65 72 73 69 6F 6E 20 68 65 72 65 20 69 73 20 76 ersion here is v
000110: 65 72 79 20 62 61 73 69 63 20 62 75 74 20 73 68 ery basic but sh
000120: 6F 75 6C 64 20 6B 65 65 70 20 79 6F 75 20 62 75 ould keep you bu
000130: 73 79 20 66 6F 72 20 61 20 6D 6F 6E 74 68 20 61 sy for a month a
000140: 73 20 6C 6F 6E 67 20 61 73 0D 0A 20 20 20 79 6F s long as.. yo
000150: 75 20 64 6F 6E 27 74 20 68 61 76 65 20 74 6F 6F u don't have too
000160: 20 20 6D 61 6E 79 20 20 62 6F 72 65 64 20 20 6F many bored o
000170: 72 20 20 6C 6F 6E 65 6C 79 20 20 6D 6F 6D 65 6E r lonely momen
000180: 74 73 2E 20 20 20 52 65 6D 65 6D 62 65 72 20 74 ts. Remember t
000190: 68 61 74 20 74 68 69 73 0D 0A 20 20 20 70 72 6F hat this.. pro
0001A0: 67 72 61 6D 20 20 61 6E 64 20 20 61 6C 6C 20 20 gram and all
0001B0: 74 68 65 20 20 6F 74 68 65 72 73 20 20 66 72 6F the others fro
0001C0: 6D 20 20 74 68 65 20 20 73 65 72 69 65 73 20 20 m the series
0001D0: 61 72 65 20 20 61 76 61 69 6C 61 62 6C 65 20 20 are available
0001E0: 6F 6E 20 20 74 68 65 0D 0A 20 20 20 50 72 6F 67 on the.. Prog
0001F0: 72 61 6D 6D 65 72 73 27 20 50 61 74 63 68 20 64 rammers' Patch d
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 31 36 20 63 6F 6E 74 69 6E 75 65 64 tch 16 continued
000020: 0D 0A 20 20 20 41 4E 20 45 4E 48 41 4E 43 45 4D .. AN ENHANCEM
000030: 45 4E 54 20 49 20 50 52 45 50 41 52 45 44 20 45 ENT I PREPARED E
000040: 41 52 4C 49 45 52 0D 0A 20 20 20 49 20 6D 65 6E ARLIER.. I men
000050: 74 69 6F 6E 65 64 20 65 61 72 6C 69 65 72 20 74 tioned earlier t
000060: 68 61 74 20 20 77 65 20 20 6D 69 67 68 74 20 20 hat we might
000070: 77 61 6E 74 20 20 74 6F 20 20 62 65 20 20 61 62 want to be ab
000080: 6C 65 20 20 74 6F 20 20 6C 6F 61 64 20 61 6E 64 le to load and
000090: 20 73 61 76 65 0D 0A 20 20 20 76 6F 63 61 62 75 save.. vocabu
0000A0: 6C 61 72 79 2E 20 20 4F 6E 65 20 77 61 79 20 74 lary. One way t
0000B0: 6F 20 64 6F 20 74 68 69 73 20 20 77 68 69 6C 65 o do this while
0000C0: 20 20 74 68 65 20 20 70 72 6F 67 72 61 6D 20 69 the program i
0000D0: 73 20 72 75 6E 6E 69 6E 67 20 69 73 20 74 6F 20 s running is to
0000E0: 6C 6F 6F 6B 0D 0A 20 20 20 6F 75 74 20 66 6F 72 look.. out for
0000F0: 20 63 6F 6D 6D 61 6E 64 73 20 74 79 70 65 64 20 commands typed
000100: 20 62 79 20 20 74 68 65 20 20 75 73 65 72 20 20 by the user
000110: 77 68 69 63 68 20 20 77 6F 75 6C 64 6E 27 74 20 which wouldn't
000120: 20 62 65 20 20 75 73 65 64 20 69 6E 20 6E 6F 72 be used in nor
000130: 6D 61 6C 0D 0A 20 20 20 73 70 65 65 63 68 2E 20 mal.. speech.
000140: 20 49 66 20 79 6F 75 20 61 64 64 20 69 6E 20 74 If you add in t
000150: 68 65 20 65 78 74 72 61 20 6C 69 6E 65 73 20 20 he extra lines
000160: 34 31 2C 20 34 32 20 61 6E 64 20 36 30 30 2D 37 41, 42 and 600-7
000170: 34 30 20 62 65 6C 6F 77 20 74 68 69 73 20 77 69 40 below this wi
000180: 6C 6C 0D 0A 20 20 20 6D 61 6B 65 20 74 68 65 20 ll.. make the
000190: 63 6F 6D 70 75 74 65 72 20 72 65 73 70 6F 6E 64 computer respond
0001A0: 20 20 64 69 66 66 65 72 65 6E 74 6C 79 20 20 74 differently t
0001B0: 6F 20 20 73 65 6E 74 65 6E 63 65 73 20 62 65 67 o sentences beg
0001C0: 69 6E 6E 69 6E 67 20 77 69 74 68 20 2A 4C 4F 41 inning with *LOA
0001D0: 44 0D 0A 20 20 20 61 6E 64 20 2A 53 41 56 45 2E D.. and *SAVE.
0001E0: 20 20 3C 3C 54 68 69 73 20 76 65 72 73 69 6F 6E <<This version
0001F0: 20 69 73 20 73 61 76 65 64 20 61 73 20 41 49 32 is saved as AI2
Size : 512 (Real : 512)
000000: 69 73 63 2C 20 50 44 20 39 38 2C 20 66 72 6F 6D isc, PD 98, from
000010: 20 44 61 76 65 20 53 74 69 74 73 6F 6E 2E 0D 0A Dave Stitson...
000020: 1A 0A 20 20 20 41 4E 20 45 4E 48 41 4E 43 45 4D .. AN ENHANCEM
000030: 45 4E 54 20 49 20 50 52 45 50 41 52 45 44 20 45 ENT I PREPARED E
000040: 41 52 4C 49 45 52 0D 0A 20 20 20 49 20 6D 65 6E ARLIER.. I men
000050: 74 69 6F 6E 65 64 20 65 61 72 6C 69 65 72 20 74 tioned earlier t
000060: 68 61 74 20 20 77 65 20 20 6D 69 67 68 74 20 20 hat we might
000070: 77 61 6E 74 20 20 74 6F 20 20 62 65 20 20 61 62 want to be ab
000080: 6C 61 72 79 20 69 6E 0D 0A 20 20 20 74 68 65 20 lary in.. the
000090: 61 72 72 61 79 73 2E 0D 0A 0D 0A 20 20 20 53 54 arrays..... ST
0000A0: 49 4C 4C 20 54 4F 20 43 4F 4D 45 0D 0A 20 20 20 ILL TO COME..
0000B0: 4E 65 78 74 20 6D 6F 6E 74 68 20 77 65 20 77 69 Next month we wi
0000C0: 6C 6C 20 6C 6F 6F 6B 20 61 74 20 73 6F 6D 65 20 ll look at some
0000D0: 20 6D 6F 72 65 20 20 77 61 79 73 20 6F 66 20 69 more ways of i
0000E0: 6D 70 72 6F 76 69 6E 67 20 74 68 65 20 70 72 6F mproving the pro
0000F0: 67 72 61 6D 2E 20 20 54 68 65 0D 0A 20 20 20 76 gram. The.. v
000100: 65 72 73 69 6F 6E 20 68 65 72 65 20 69 73 20 76 ersion here is v
000110: 65 72 79 20 62 61 73 69 63 20 62 75 74 20 73 68 ery basic but sh
000120: 6F 75 6C 64 20 6B 65 65 70 20 79 6F 75 20 62 75 ould keep you bu
000130: 73 79 20 66 6F 72 20 61 20 6D 6F 6E 74 68 20 61 sy for a month a
000140: 73 20 6C 6F 6E 67 20 61 73 0D 0A 20 20 20 79 6F s long as.. yo
000150: 75 20 64 6F 6E 27 74 20 68 61 76 65 20 74 6F 6F u don't have too
000160: 20 20 6D 61 6E 79 20 20 62 6F 72 65 64 20 20 6F many bored o
000170: 72 20 20 6C 6F 6E 65 6C 79 20 20 6D 6F 6D 65 6E r lonely momen
000180: 74 73 2E 20 20 20 52 65 6D 65 6D 62 65 72 20 74 ts. Remember t
000190: 68 61 74 20 74 68 69 73 0D 0A 20 20 20 70 72 6F hat this.. pro
0001A0: 67 72 61 6D 20 20 61 6E 64 20 20 61 6C 6C 20 20 gram and all
0001B0: 74 68 65 20 20 6F 74 68 65 72 73 20 20 66 72 6F the others fro
0001C0: 6D 20 20 74 68 65 20 20 73 65 72 69 65 73 20 20 m the series
0001D0: 61 72 65 20 20 61 76 61 69 6C 61 62 6C 65 20 20 are available
0001E0: 6F 6E 20 20 74 68 65 0D 0A 20 20 20 50 72 6F 67 on the.. Prog
0001F0: 72 61 6D 6D 65 72 73 27 20 50 61 74 63 68 20 64 rammers' Patch d
Size : 512 (Real : 512)
000000: 2E 42 41 53 20 6F 6E 20 74 68 65 20 64 69 73 63 .BAS on the disc
000010: 2E 3E 3E 0D 0A 0D 0A 20 20 20 20 20 20 34 31 20 .>>.... 41
000020: 20 49 46 20 55 50 50 45 52 24 28 4C 45 46 54 24 IF UPPER$(LEFT$
000030: 28 61 24 2C 35 29 29 3D 22 2A 4C 4F 41 44 22 20 (a$,5))="*LOAD"
000040: 54 48 45 4E 20 47 4F 53 55 42 20 36 30 30 3A 47 THEN GOSUB 600:G
000050: 4F 54 4F 20 34 30 0D 0A 20 20 20 20 20 20 34 32 OTO 40.. 42
000060: 20 20 49 46 20 55 50 50 45 52 24 28 4C 45 46 54 IF UPPER$(LEFT
000070: 24 28 61 24 2C 35 29 29 3D 22 2A 53 41 56 45 22 $(a$,5))="*SAVE"
000080: 20 54 48 45 4E 20 47 4F 53 55 42 20 37 30 30 3A THEN GOSUB 700:
000090: 47 4F 54 4F 20 34 30 0D 0A 20 20 20 20 20 20 36 GOTO 40.. 6
0000A0: 30 30 20 66 69 6C 65 24 3D 4D 49 44 24 28 61 24 00 file$=MID$(a$
0000B0: 2C 37 29 3A 49 46 20 66 69 6C 65 24 3D 22 22 20 ,7):IF file$=""
0000C0: 54 48 45 4E 20 66 69 6C 65 24 3D 22 56 4F 43 41 THEN file$="VOCA
0000D0: 42 22 0D 0A 20 20 20 20 20 20 36 31 30 20 4F 50 B".. 610 OP
0000E0: 45 4E 49 4E 20 66 69 6C 65 24 3A 49 4E 50 55 54 ENIN file$:INPUT
0000F0: 23 39 2C 6E 77 6F 72 64 73 0D 0A 20 20 20 20 20 #9,nwords..
000100: 20 36 32 30 20 46 4F 52 20 69 3D 30 20 54 4F 20 620 FOR i=0 TO
000110: 6E 77 6F 72 64 73 3A 49 4E 50 55 54 23 39 2C 77 nwords:INPUT#9,w
000120: 24 28 69 29 2C 6C 6B 28 69 2C 30 29 0D 0A 20 20 $(i),lk(i,0)..
000130: 20 20 20 20 36 33 30 20 46 4F 52 20 6A 3D 31 20 630 FOR j=1
000140: 54 4F 20 6C 6B 28 69 2C 30 29 3A 49 4E 50 55 54 TO lk(i,0):INPUT
000150: 23 39 2C 6C 6B 28 69 2C 6A 29 3A 4E 45 58 54 3A #9,lk(i,j):NEXT:
000160: 4E 45 58 54 0D 0A 20 20 20 20 20 20 36 34 30 20 NEXT.. 640
000170: 43 4C 4F 53 45 49 4E 3A 52 45 54 55 52 4E 0D 0A CLOSEIN:RETURN..
000180: 20 20 20 20 20 20 37 30 30 20 66 69 6C 65 24 3D 700 file$=
000190: 4D 49 44 24 28 61 24 2C 37 29 3A 49 46 20 66 69 MID$(a$,7):IF fi
0001A0: 6C 65 24 3D 22 22 20 54 48 45 4E 20 66 69 6C 65 le$="" THEN file
0001B0: 24 3D 22 56 4F 43 41 42 22 0D 0A 20 20 20 20 20 $="VOCAB"..
0001C0: 20 37 31 30 20 4F 50 45 4E 4F 55 54 20 66 69 6C 710 OPENOUT fil
0001D0: 65 24 3A 57 52 49 54 45 23 39 2C 6E 77 6F 72 64 e$:WRITE#9,nword
0001E0: 73 0D 0A 20 20 20 20 20 20 37 32 30 20 46 4F 52 s.. 720 FOR
0001F0: 20 69 3D 30 20 54 4F 20 6E 77 6F 72 64 73 3A 57 i=0 TO nwords:W
Size : 512 (Real : 512)
000000: 41 54 49 4F 4E 3F 0D 0A 20 20 20 49 66 20 79 6F ATION?.. If yo
000010: 75 20 70 75 74 20 61 20 70 75 6E 63 74 75 61 74 u put a punctuat
000020: 69 6F 6E 20 6D 61 72 6B 20 20 6F 6E 20 20 74 68 ion mark on th
000030: 65 20 20 65 6E 64 20 20 6F 66 20 20 61 20 77 6F e end of a wo
000040: 72 64 20 74 68 65 20 63 6F 6D 70 75 74 65 72 20 rd the computer
000050: 77 6F 6E 27 74 0D 0A 20 20 20 72 65 61 6C 69 73 won't.. realis
000060: 65 20 74 68 61 74 20 74 68 65 20 70 75 6E 63 74 e that the punct
000070: 75 61 74 69 6F 6E 20 69 73 20 6E 6F 74 20 20 61 uation is not a
000080: 20 20 70 61 72 74 20 20 6F 66 20 20 74 68 65 20 part of the
000090: 20 77 6F 72 64 20 61 73 20 74 68 65 72 65 20 69 word as there i
0000A0: 73 20 6E 6F 0D 0A 20 20 20 73 70 61 63 65 20 62 s no.. space b
0000B0: 65 74 77 65 65 6E 20 74 68 65 20 77 6F 72 64 20 etween the word
0000C0: 61 6E 64 20 20 74 68 65 20 20 70 75 6E 63 74 75 and the punctu
0000D0: 61 74 69 6F 6E 20 20 6D 61 72 6B 2E 20 20 20 46 ation mark. F
0000E0: 6F 72 20 65 78 61 6D 70 6C 65 2C 20 69 74 20 77 or example, it w
0000F0: 69 6C 6C 0D 0A 20 20 20 74 72 65 61 74 20 22 68 ill.. treat "h
000100: 6F 77 65 76 65 72 22 20 61 6E 64 20 22 68 6F 77 owever" and "how
000110: 65 76 65 72 2C 22 20 61 73 20 74 77 6F 20 64 69 ever," as two di
000120: 66 66 65 72 65 6E 74 20 77 6F 72 64 73 2E 0D 0A fferent words...
000130: 0D 0A 20 20 20 53 6F 20 69 66 20 79 6F 75 20 65 .. So if you e
000140: 6E 64 20 79 6F 75 72 20 73 65 6E 74 65 6E 63 65 nd your sentence
000150: 73 20 77 69 74 68 20 20 61 20 20 66 75 6C 6C 20 s with a full
000160: 73 74 6F 70 2C 20 74 68 65 20 63 6F 6D 70 75 74 stop, the comput
000170: 65 72 20 77 69 6C 6C 20 65 6E 64 20 61 6C 6C 0D er will end all.
000180: 0A 20 20 20 6F 66 20 69 74 73 20 73 65 6E 74 65 . of its sente
000190: 6E 63 65 73 20 77 69 74 68 20 74 77 6F 20 66 75 nces with two fu
0001A0: 6C 6C 20 73 74 6F 70 73 2E 20 20 49 66 20 79 6F ll stops. If yo
0001B0: 75 20 77 61 6E 74 20 74 6F 20 75 73 65 20 70 75 u want to use pu
0001C0: 6E 63 74 75 61 74 69 6F 6E 20 74 68 65 6E 0D 0A nctuation then..
0001D0: 20 20 20 69 74 20 6D 61 79 20 69 6D 70 72 6F 76 it may improv
0001E0: 65 20 74 68 65 20 63 6F 6D 70 75 74 65 72 27 73 e the computer's
0001F0: 20 67 72 61 6D 6D 61 72 2C 20 20 62 75 74 20 20 grammar, but
Size : 512 (Real : 512)
000000: 52 49 54 45 23 39 2C 77 24 28 69 29 2C 6C 6B 28 RITE#9,w$(i),lk(
000010: 69 2C 30 29 0D 0A 20 20 20 20 20 20 37 33 30 20 i,0).. 730
000020: 46 4F 52 20 6A 3D 31 20 54 4F 20 6C 6B 28 69 2C FOR j=1 TO lk(i,
000030: 30 29 3A 57 52 49 54 45 23 39 2C 6C 6B 28 69 2C 0):WRITE#9,lk(i,
000040: 6A 29 3A 4E 45 58 54 3A 4E 45 58 54 0D 0A 20 20 j):NEXT:NEXT..
000050: 20 20 20 20 37 34 30 20 43 4C 4F 53 45 4F 55 54 740 CLOSEOUT
000060: 3A 52 45 54 55 52 4E 0D 0A 0D 0A 20 20 20 4C 69 :RETURN.... Li
000070: 6E 65 73 20 36 30 30 2D 36 34 30 20 64 65 61 6C nes 600-640 deal
000080: 20 77 69 74 68 20 6C 6F 61 64 69 6E 67 20 69 6E with loading in
000090: 20 20 76 6F 63 61 62 75 6C 61 72 79 20 61 6E 64 vocabulary and
0000A0: 20 37 30 30 2D 37 34 30 20 77 69 74 68 20 73 61 700-740 with sa
0000B0: 76 69 6E 67 20 69 74 2E 0D 0A 20 20 20 4C 65 74 ving it... Let
0000C0: 27 73 20 6C 6F 6F 6B 20 61 74 20 74 68 65 20 73 's look at the s
0000D0: 61 76 69 6E 67 20 20 72 6F 75 74 69 6E 65 2E 20 aving routine.
0000E0: 20 20 54 68 65 20 20 6C 6F 61 64 69 6E 67 20 72 The loading r
0000F0: 6F 75 74 69 6E 65 20 77 6F 72 6B 73 20 69 6E 20 outine works in
000100: 65 78 61 63 74 6C 79 0D 0A 20 20 20 74 68 65 20 exactly.. the
000110: 73 61 6D 65 20 77 61 79 2C 20 65 78 63 65 70 74 same way, except
000120: 20 74 68 61 74 20 69 74 20 20 75 73 65 73 20 20 that it uses
000130: 49 4E 50 55 54 23 39 20 20 74 6F 20 69 6E 70 75 INPUT#9 to inpu
000140: 74 20 66 72 6F 6D 20 64 69 73 63 20 69 6E 73 74 t from disc inst
000150: 65 61 64 20 6F 66 0D 0A 20 20 20 57 52 49 54 45 ead of.. WRITE
000160: 23 39 20 74 6F 20 77 72 69 74 65 20 74 6F 20 64 #9 to write to d
000170: 69 73 63 2E 0D 0A 0D 0A 20 20 20 37 30 30 20 57 isc..... 700 W
000180: 65 20 6C 6F 6F 6B 20 74 6F 20 73 65 65 20 69 66 e look to see if
000190: 20 74 68 65 20 75 73 65 72 20 20 68 61 73 20 20 the user has
0001A0: 74 79 70 65 64 20 61 20 66 69 6C 65 6E 61 6D 65 typed a filename
0001B0: 20 61 66 74 65 72 20 2A 53 41 56 45 2C 20 65 2E after *SAVE, e.
0001C0: 67 2E 20 69 66 0D 0A 20 20 20 74 68 65 79 20 68 g. if.. they h
0001D0: 61 76 65 20 74 79 70 65 64 20 2A 53 41 56 45 20 ave typed *SAVE
0001E0: 4F 75 72 57 6F 72 64 73 20 2D 20 69 6E 20 77 68 OurWords - in wh
0001F0: 69 63 68 20 63 61 73 65 20 66 69 6C 65 24 3D 22 ich case file$="
Size : 512 (Real : 512)
000000: 79 6F 75 20 77 69 6C 6C 20 6E 65 65 64 20 74 6F you will need to
000010: 20 69 6E 63 72 65 61 73 65 20 74 68 65 0D 0A 20 increase the..
000020: 20 20 77 6F 72 64 20 6C 69 6D 69 74 20 61 6E 64 word limit and
000030: 20 74 61 6B 65 20 6F 75 74 20 74 68 65 20 6C 69 take out the li
000040: 6E 65 20 20 69 6E 20 20 74 68 65 20 70 72 6F 67 ne in the prog
000050: 72 61 6D 20 77 68 69 63 68 20 70 72 69 6E 74 73 ram which prints
000060: 20 75 70 20 74 68 65 20 66 75 6C 6C 0D 0A 20 20 up the full..
000070: 20 73 74 6F 70 2E 0D 0A 0D 0A 20 20 20 41 4E 44 stop..... AND
000080: 20 43 41 50 49 54 41 4C 20 4C 45 54 54 45 52 53 CAPITAL LETTERS
000090: 3F 0D 0A 20 20 20 54 68 65 20 70 72 6F 67 72 61 ?.. The progra
0000A0: 6D 20 74 72 65 61 74 73 20 61 20 63 61 70 69 74 m treats a capit
0000B0: 61 6C 69 73 65 64 20 20 77 6F 72 64 20 20 64 69 alised word di
0000C0: 66 66 65 72 65 6E 74 6C 79 20 66 72 6F 6D 20 61 fferently from a
0000D0: 20 6E 6F 6E 2D 63 61 70 69 74 61 6C 69 73 65 64 non-capitalised
0000E0: 0D 0A 20 20 20 6F 6E 65 2C 20 65 2E 67 2E 20 69 .. one, e.g. i
0000F0: 74 20 77 69 6C 6C 20 74 68 69 6E 6B 20 74 68 61 t will think tha
000100: 74 20 20 22 59 6F 75 22 20 20 61 6E 64 20 20 22 t "You" and "
000110: 79 6F 75 22 20 61 72 65 20 64 69 66 66 65 72 65 you" are differe
000120: 6E 74 20 77 6F 72 64 73 2E 20 20 54 68 69 73 0D nt words. This.
000130: 0A 20 20 20 77 61 73 20 74 68 65 20 20 6F 6E 6C . was the onl
000140: 79 20 20 77 61 79 20 20 77 65 20 20 63 6F 75 6C y way we coul
000150: 64 20 20 73 65 65 20 20 74 6F 20 20 6D 61 6B 65 d see to make
000160: 20 20 73 75 72 65 20 20 69 74 20 20 63 61 70 69 sure it capi
000170: 74 61 6C 69 73 65 64 20 74 68 69 6E 67 73 0D 0A talised things..
000180: 20 20 20 63 6F 72 72 65 63 74 6C 79 2E 0D 0A 0D correctly....
000190: 0A 61 72 74 69 63 6C 65 20 63 6F 6E 74 69 6E 75 .article continu
0001A0: 65 64 2E 2E 2E 2E 0D 0A 0D 0A 20 20 20 2D 2D 2D ed........ ---
0001B0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
0001D0: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A 20 20 20 46 69 67 --------.. Fig
0001E0: 75 72 65 20 32 0D 0A 0D 0A 20 20 20 54 41 42 4C ure 2.... TABL
0001F0: 45 20 4F 46 20 56 41 52 49 41 42 4C 45 53 0D 0A E OF VARIABLES..
Size : 512 (Real : 512)
000000: 4F 75 72 57 6F 72 64 73 22 2E 20 20 49 66 20 74 OurWords". If t
000010: 68 65 72 65 0D 0A 20 20 20 69 73 20 6E 6F 74 68 here.. is noth
000020: 69 6E 67 20 66 6F 6C 6C 6F 77 69 6E 67 20 74 68 ing following th
000030: 65 20 2A 53 41 56 45 20 63 6F 6D 6D 61 6E 64 20 e *SAVE command
000040: 77 65 20 75 73 65 20 74 68 65 20 64 65 66 61 75 we use the defau
000050: 6C 74 20 66 69 6C 65 6E 61 6D 65 20 56 4F 43 41 lt filename VOCA
000060: 42 2E 0D 0A 0D 0A 20 20 20 37 31 30 20 57 65 20 B..... 710 We
000070: 4F 50 45 4E 4F 55 54 20 74 68 65 20 66 69 6C 65 OPENOUT the file
000080: 20 6E 61 6D 65 64 20 20 66 69 6C 65 24 20 20 66 named file$ f
000090: 6F 72 20 20 77 72 69 74 69 6E 67 2C 20 61 6E 64 or writing, and
0000A0: 20 74 68 65 20 66 69 72 73 74 20 74 68 69 6E 67 the first thing
0000B0: 20 77 65 0D 0A 20 20 20 57 52 49 54 45 20 69 73 we.. WRITE is
0000C0: 20 6E 77 6F 72 64 73 2C 20 74 68 65 20 6E 75 6D nwords, the num
0000D0: 62 65 72 20 6F 66 20 77 6F 72 64 73 20 69 6E 20 ber of words in
0000E0: 74 68 65 20 76 6F 63 61 62 75 6C 61 72 79 2E 0D the vocabulary..
0000F0: 0A 0D 0A 20 20 20 37 32 30 20 4E 6F 77 20 66 6F ... 720 Now fo
000100: 72 20 65 61 63 68 20 77 6F 72 64 20 69 2C 20 77 r each word i, w
000110: 65 20 57 52 49 54 45 20 77 24 28 69 29 20 28 74 e WRITE w$(i) (t
000120: 68 65 20 77 6F 72 64 20 69 74 73 65 6C 66 29 20 he word itself)
000130: 61 6E 64 20 6C 6B 28 69 2C 30 29 20 28 74 68 65 and lk(i,0) (the
000140: 0D 0A 20 20 20 6E 75 6D 62 65 72 20 6F 66 20 6C .. number of l
000150: 69 6E 6B 73 20 66 72 6F 6D 20 77 6F 72 64 20 69 inks from word i
000160: 29 2E 0D 0A 0D 0A 20 20 20 37 33 30 20 46 6F 6C )..... 730 Fol
000170: 6C 6F 77 69 6E 67 20 74 68 69 73 20 77 65 20 57 lowing this we W
000180: 52 49 54 45 20 65 61 63 68 20 6C 6B 28 69 2C 6A RITE each lk(i,j
000190: 29 20 28 61 6C 6C 20 74 68 65 20 6C 69 6E 6B 73 ) (all the links
0001A0: 20 66 6F 72 20 74 68 65 20 77 6F 72 64 20 69 29 for the word i)
0001B0: 20 69 6E 0D 0A 20 20 20 6F 72 64 65 72 2C 20 61 in.. order, a
0001C0: 6E 64 20 74 68 65 6E 20 67 6F 20 62 61 63 6B 20 nd then go back
0001D0: 74 6F 20 37 32 30 20 74 6F 20 64 6F 20 74 68 65 to 720 to do the
0001E0: 20 4E 45 58 54 20 77 6F 72 64 2E 0D 0A 0D 0A 20 NEXT word.....
0001F0: 20 20 37 34 30 20 4E 6F 77 20 77 65 20 68 61 76 740 Now we hav
Size : 512 (Real : 512)
000000: 65 20 32 30 20 77 65 20 73 65 74 20 20 74 68 65 e 20 we set the
000010: 20 20 6D 61 78 69 6D 75 6D 20 20 6E 75 6D 62 65 maximum numbe
000020: 72 20 20 6F 66 20 77 6F 72 64 73 20 74 6F 20 33 r of words to 3
000030: 30 30 2C 20 61 6E 64 20 74 68 65 0D 0A 20 20 20 00, and the..
000040: 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 65 72 20 6F maximum number o
000050: 66 20 6C 69 6E 6B 73 20 66 72 6F 6D 20 6F 6E 65 f links from one
000060: 20 20 77 6F 72 64 20 20 74 6F 20 20 61 6E 6F 74 word to anot
000070: 68 65 72 20 20 74 6F 20 62 65 20 32 30 2E 20 20 her to be 20.
000080: 49 66 20 77 65 20 6E 65 65 64 0D 0A 20 20 20 6D If we need.. m
000090: 6F 72 65 20 74 68 61 6E 20 32 30 20 6C 69 6E 6B ore than 20 link
0000A0: 73 20 66 72 6F 6D 20 61 6E 79 20 20 70 61 72 74 s from any part
0000B0: 69 63 75 6C 61 72 20 20 77 6F 72 64 20 74 6F 20 icular word to
0000C0: 61 6E 6F 74 68 65 72 2C 20 74 68 65 20 70 72 6F another, the pro
0000D0: 67 72 61 6D 20 77 69 6C 6C 0D 0A 20 20 20 67 6F gram will.. go
0000E0: 20 77 72 6F 6E 67 2E 20 20 59 6F 75 20 61 72 65 wrong. You are
0000F0: 20 6D 6F 73 74 20 6C 69 6B 65 6C 79 20 74 6F 20 most likely to
000100: 72 65 61 63 68 20 74 68 65 20 6C 69 6D 69 74 20 reach the limit
000110: 6F 66 20 74 77 65 6E 74 79 20 6C 69 6E 6B 73 20 of twenty links
000120: 62 79 20 75 73 69 6E 67 0D 0A 20 20 20 6D 6F 72 by using.. mor
000130: 65 20 74 68 61 6E 20 32 30 20 64 69 66 66 65 72 e than 20 differ
000140: 65 6E 74 20 77 6F 72 64 73 20 74 6F 20 73 74 61 ent words to sta
000150: 72 74 20 61 20 73 65 6E 74 65 6E 63 65 20 28 72 rt a sentence (r
000160: 65 6D 65 6D 62 65 72 20 74 68 61 74 20 74 68 65 emember that the
000170: 20 22 77 6F 72 64 22 0D 0A 20 20 20 77 24 28 30 "word".. w$(0
000180: 29 20 69 73 20 75 73 65 64 20 74 6F 20 6C 69 6E ) is used to lin
000190: 6B 20 74 6F 20 77 6F 72 64 73 20 74 68 61 74 20 k to words that
0001A0: 73 74 61 72 74 20 61 20 73 65 6E 74 65 6E 63 65 start a sentence
0001B0: 29 2E 0D 0A 0D 0A 20 20 20 48 6F 77 20 63 61 6E )..... How can
0001C0: 20 77 65 20 64 65 61 6C 20 77 69 74 68 20 74 68 we deal with th
0001D0: 69 73 20 70 72 6F 62 6C 65 6D 3F 20 20 49 74 20 is problem? It
0001E0: 20 69 73 20 72 65 61 6C 6C 79 20 61 20 6D 61 74 is really a mat
0001F0: 74 65 72 20 6F 66 20 62 61 6C 61 6E 63 69 6E 67 ter of balancing
Size : 512 (Real : 512)
000000: 69 6C 2D 6C 6F 6F 6B 69 6E 67 20 6D 61 6E 2C 20 il-looking man,
000010: 77 69 74 68 20 61 20 63 72 6F 6F 6B 65 64 20 6E with a crooked n
000020: 6F 73 65 20 61 6E 64 20 63 72 6F 6F 6B 65 64 20 ose and crooked
000030: 74 68 6F 75 67 68 74 73 2E 20 20 22 59 6F 2C 20 thoughts. "Yo,
000040: 68 6F 2C 20 68 6F 2C 22 0D 0A 20 20 20 73 68 6F ho, ho,".. sho
000050: 75 74 65 64 20 41 6D 62 72 6F 73 65 20 74 68 65 uted Ambrose the
000060: 20 65 76 69 6C 20 70 69 72 61 74 65 20 61 73 20 evil pirate as
000070: 68 65 20 63 6F 70 69 65 64 20 61 6E 6F 74 68 65 he copied anothe
000080: 72 20 64 69 73 63 2E 0D 0A 0D 0A 20 20 20 57 68 r disc..... Wh
000090: 61 74 20 77 65 20 64 69 64 20 6E 6F 74 20 6D 65 at we did not me
0000A0: 6E 74 69 6F 6E 20 20 6C 61 73 74 20 20 6D 6F 6E ntion last mon
0000B0: 74 68 20 20 69 73 20 20 74 68 61 74 20 74 68 65 th is that the
0000C0: 20 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 Programmers' Pa
0000D0: 74 63 68 20 64 69 73 63 0D 0A 20 20 20 28 57 41 tch disc.. (WA
0000E0: 43 43 49 20 50 44 20 39 38 29 20 6E 6F 77 20 68 CCI PD 98) now h
0000F0: 61 73 20 61 20 6C 69 74 74 6C 65 20 20 75 74 69 as a little uti
000100: 6C 69 74 79 20 20 6F 6E 20 20 69 74 20 63 61 6C lity on it cal
000110: 6C 65 64 20 42 53 49 44 45 2E 20 20 54 68 69 73 led BSIDE. This
000120: 20 69 73 20 66 6F 72 0D 0A 20 20 20 74 68 6F 73 is for.. thos
000130: 65 20 6F 66 20 79 6F 75 20 77 68 6F 20 68 61 76 e of you who hav
000140: 65 20 61 20 33 2E 35 22 20 20 64 69 73 63 20 20 e a 3.5" disc
000150: 64 72 69 76 65 2C 20 20 62 75 74 20 64 6F 20 6E drive, but do n
000160: 6F 74 20 68 61 76 65 20 61 20 73 69 64 65 20 73 ot have a side s
000170: 77 69 74 63 68 2E 0D 0A 20 20 20 49 66 20 79 6F witch... If yo
000180: 75 20 61 72 65 20 69 6E 20 74 68 69 73 20 73 69 u are in this si
000190: 74 75 61 74 69 6F 6E 20 20 79 6F 75 20 20 77 69 tuation you wi
0001A0: 6C 6C 20 20 62 65 20 20 77 65 6C 6C 20 61 77 61 ll be well awa
0001B0: 72 65 20 74 68 61 74 20 77 69 74 68 20 73 74 61 re that with sta
0001C0: 6E 64 61 72 64 0D 0A 20 20 20 41 4D 53 44 4F 53 ndard.. AMSDOS
0001D0: 20 66 6F 72 6D 61 74 73 20 69 74 20 69 73 20 70 formats it is p
0001E0: 6F 73 73 69 62 6C 65 20 6F 6E 6C 79 20 74 6F 20 ossible only to
0001F0: 75 73 65 20 20 6F 6E 65 20 73 69 64 65 20 6F 66 use one side of
Size : 512 (Real : 512)
000000: 20 75 70 0D 0A 20 20 20 68 6F 77 20 74 68 65 20 up.. how the
000010: 64 61 74 61 20 69 73 20 73 74 6F 72 65 64 20 74 data is stored t
000020: 6F 20 6D 61 6B 65 20 69 74 20 61 73 20 65 66 66 o make it as eff
000030: 69 63 69 65 6E 74 20 61 73 20 70 6F 73 73 69 62 icient as possib
000040: 6C 65 2E 20 20 4F 6E 20 6D 79 20 6D 61 63 68 69 le. On my machi
000050: 6E 65 0D 0A 20 20 20 74 68 65 72 65 20 61 72 65 ne.. there are
000060: 20 6A 75 73 74 20 6F 76 65 72 20 33 35 2C 30 30 just over 35,00
000070: 30 20 62 79 74 65 73 20 66 72 65 65 20 20 62 79 0 bytes free by
000080: 20 20 74 68 65 20 74 69 6D 65 20 77 65 20 72 65 the time we re
000090: 61 63 68 20 6C 69 6E 65 20 33 30 20 77 68 65 72 ach line 30 wher
0000A0: 65 0D 0A 20 20 20 74 68 65 20 61 72 72 61 79 73 e.. the arrays
0000B0: 20 61 72 65 20 64 69 6D 65 6E 73 69 6F 6E 65 64 are dimensioned
0000C0: 2E 20 20 49 66 20 77 65 20 20 6A 75 73 74 20 20 . If we just
0000D0: 69 6E 63 72 65 61 73 65 20 6D 6C 69 6E 6B 73 20 increase mlinks
0000E0: 74 6F 20 66 6F 72 74 79 20 69 6E 73 74 65 61 64 to forty instead
0000F0: 0D 0A 20 20 20 6F 66 20 74 77 65 6E 74 79 2C 20 .. of twenty,
000100: 74 68 65 6E 20 20 66 6F 72 20 20 65 76 65 72 79 then for every
000110: 20 20 77 6F 72 64 20 20 77 65 20 20 73 74 6F 72 word we stor
000120: 65 20 20 77 65 20 20 77 6F 75 6C 64 20 20 62 65 e we would be
000130: 20 20 74 61 6B 69 6E 67 20 20 75 70 20 61 6E 0D taking up an.
000140: 0A 20 20 20 61 64 64 69 74 69 6F 6E 61 6C 20 66 . additional f
000150: 6F 72 74 79 20 62 79 74 65 73 2C 20 62 65 63 61 orty bytes, beca
000160: 75 73 65 20 65 61 63 68 20 20 69 6E 74 65 67 65 use each intege
000170: 72 20 20 76 61 72 69 61 62 6C 65 20 74 61 6B 65 r variable take
000180: 73 20 74 77 6F 20 62 79 74 65 73 20 74 6F 0D 0A s two bytes to..
000190: 20 20 20 73 74 6F 72 65 2E 20 20 57 69 74 68 20 store. With
0001A0: 6D 77 6F 72 64 73 20 73 74 69 6C 6C 20 20 73 65 mwords still se
0001B0: 74 20 20 61 74 20 20 33 30 30 2C 20 20 74 68 69 t at 300, thi
0001C0: 73 20 20 77 6F 75 6C 64 20 20 6D 65 61 6E 20 61 s would mean a
0001D0: 6E 6F 74 68 65 72 20 31 32 2C 30 30 30 0D 0A 20 nother 12,000..
0001E0: 20 20 62 79 74 65 73 2C 20 6A 75 73 74 20 74 6F bytes, just to
0001F0: 20 63 6F 70 65 20 77 69 74 68 20 61 20 20 76 65 cope with a ve
Size : 512 (Real : 512)
000000: 20 74 68 65 20 64 69 73 63 2C 20 73 6F 20 69 66 the disc, so if
000010: 20 79 6F 75 0D 0A 20 20 20 77 61 6E 74 20 61 20 you.. want a
000020: 64 69 73 63 20 63 6F 70 69 65 64 20 66 72 6F 6D disc copied from
000030: 20 74 68 65 20 57 41 43 43 49 20 6C 69 62 72 61 the WACCI libra
000040: 72 79 2C 20 20 79 6F 75 20 68 61 76 65 20 74 6F ry, you have to
000050: 20 68 61 76 65 20 74 68 65 20 74 77 6F 20 73 69 have the two si
000060: 64 65 73 0D 0A 20 20 20 63 6F 70 69 65 64 20 6F des.. copied o
000070: 6E 74 6F 20 74 77 6F 20 73 65 70 61 72 61 74 65 nto two separate
000080: 20 33 2E 35 22 20 64 69 73 63 73 2E 20 20 57 65 3.5" discs. We
000090: 6C 6C 2C 20 20 79 6F 75 20 20 75 73 65 64 20 74 ll, you used t
0000A0: 6F 20 68 61 76 65 20 74 6F 20 64 6F 20 74 68 61 o have to do tha
0000B0: 74 21 0D 0A 20 20 20 42 53 49 44 45 20 63 6F 70 t!.. BSIDE cop
0000C0: 69 65 73 20 74 68 65 20 6F 74 68 65 72 20 73 69 ies the other si
0000D0: 64 65 20 6F 66 20 61 20 33 2E 35 22 20 64 69 73 de of a 3.5" dis
0000E0: 63 20 20 74 6F 20 61 20 64 69 73 63 20 69 6E 20 c to a disc in
0000F0: 79 6F 75 72 20 41 20 64 72 69 76 65 20 66 72 6F your A drive fro
000100: 6D 0D 0A 20 20 20 77 68 65 72 65 20 79 6F 75 20 m.. where you
000110: 63 61 6E 20 61 63 63 65 73 73 20 69 74 20 6E 6F can access it no
000120: 72 6D 61 6C 6C 79 2E 20 20 4F 6E 63 65 20 79 6F rmally. Once yo
000130: 75 20 20 68 61 76 65 20 61 20 63 6F 70 79 20 6F u have a copy o
000140: 66 20 42 53 49 44 45 20 79 6F 75 20 77 69 6C 6C f BSIDE you will
000150: 0D 0A 20 20 20 62 65 20 61 62 6C 65 20 74 6F 20 .. be able to
000160: 6F 72 64 65 72 20 63 6F 70 69 65 73 20 66 72 6F order copies fro
000170: 6D 20 74 68 65 20 57 41 43 43 49 20 6C 69 62 72 m the WACCI libr
000180: 61 72 79 20 6F 6E 20 73 69 6E 67 6C 65 20 33 2E ary on single 3.
000190: 35 22 20 64 69 73 63 73 2E 0D 0A 0D 0A 20 20 20 5" discs.....
0001A0: 49 20 64 6F 20 6E 6F 74 20 6B 6E 6F 77 20 77 68 I do not know wh
0001B0: 65 74 68 65 72 20 61 6E 79 6F 6E 65 20 69 73 20 ether anyone is
0001C0: 20 73 74 69 6C 6C 20 20 69 6E 20 74 68 69 73 20 still in this
0001D0: 73 69 74 75 61 74 69 6F 6E 2C 20 62 75 74 20 69 situation, but i
0001E0: 66 20 79 6F 75 20 61 72 65 2C 0D 0A 20 20 20 69 f you are,.. i
0001F0: 74 20 77 61 73 20 77 72 69 74 74 65 6E 20 73 70 t was written sp
Size : 512 (Real : 512)
000000: 72 79 20 20 73 6D 61 6C 6C 20 20 6E 75 6D 62 65 ry small numbe
000010: 72 20 20 6F 66 20 77 6F 72 64 73 20 77 68 69 63 r of words whic
000020: 68 20 77 6F 75 6C 64 20 6E 65 65 64 0D 0A 20 20 h would need..
000030: 20 6D 6F 72 65 20 74 68 61 6E 20 74 77 65 6E 74 more than twent
000040: 79 20 6C 69 6E 6B 73 20 66 72 6F 6D 20 74 68 65 y links from the
000050: 6D 2E 20 20 20 57 65 20 20 6E 65 65 64 20 20 61 m. We need a
000060: 20 77 61 79 20 6F 66 20 73 74 6F 72 69 6E 67 20 way of storing
000070: 74 68 65 73 65 20 65 78 74 72 61 0D 0A 20 20 20 these extra..
000080: 6C 69 6E 6B 73 20 74 68 61 74 20 64 6F 65 73 6E links that doesn
000090: 27 74 20 69 6E 63 72 65 61 73 65 20 74 68 65 20 't increase the
0000A0: 20 73 74 6F 72 61 67 65 20 20 72 65 71 75 69 72 storage requir
0000B0: 65 6D 65 6E 74 73 20 20 6F 66 20 74 68 65 20 6F ements of the o
0000C0: 74 68 65 72 20 77 6F 72 64 73 0D 0A 20 20 20 74 ther words.. t
0000D0: 6F 6F 2E 0D 0A 0D 0A 20 20 20 41 20 4C 49 4E 4B oo..... A LINK
0000E0: 45 44 20 4C 49 53 54 20 4F 46 20 4C 49 4E 4B 53 ED LIST OF LINKS
0000F0: 0D 0A 20 20 20 46 69 67 75 72 65 20 31 20 70 72 .. Figure 1 pr
000100: 6F 76 69 64 65 73 20 61 20 73 6F 6C 75 74 69 6F ovides a solutio
000110: 6E 2E 20 20 4C 6F 61 64 20 20 75 70 20 20 41 49 n. Load up AI
000120: 20 20 61 6E 64 20 74 79 70 65 20 69 6E 20 74 68 and type in th
000130: 65 20 6C 69 6E 65 73 20 6C 69 73 74 65 64 2E 0D e lines listed..
000140: 0A 20 20 20 53 6F 6D 65 20 20 6F 66 20 20 74 68 . Some of th
000150: 65 6D 20 20 61 72 65 20 20 6E 65 77 20 20 6C 69 em are new li
000160: 6E 65 73 2C 20 20 77 68 69 6C 65 20 20 6F 74 68 nes, while oth
000170: 65 72 73 20 20 72 65 70 6C 61 63 65 20 20 65 78 ers replace ex
000180: 69 73 74 69 6E 67 20 20 6C 69 6E 65 73 2E 0D 0A isting lines...
000190: 20 20 20 3C 3C 54 68 69 73 20 6E 65 77 20 76 65 <<This new ve
0001A0: 72 73 69 6F 6E 2C 20 77 69 74 68 20 61 20 20 63 rsion, with a c
0001B0: 6F 75 70 6C 65 20 20 6F 66 20 61 64 6A 75 73 74 ouple of adjust
0001C0: 6D 65 6E 74 73 20 20 65 78 70 6C 61 69 6E 65 64 ments explained
0001D0: 20 6C 61 74 65 72 20 69 6E 20 74 68 65 0D 0A 20 later in the..
0001E0: 20 20 61 72 74 69 63 6C 65 2C 20 69 73 20 73 61 article, is sa
0001F0: 76 65 64 20 6F 6E 20 64 69 73 63 20 61 73 20 41 ved on disc as A
Size : 512 (Real : 512)
000000: 65 63 69 61 6C 6C 79 20 66 6F 72 20 79 6F 75 21 ecially for you!
000010: 20 20 42 53 49 44 45 20 69 73 20 20 6F 66 20 63 BSIDE is of c
000020: 6F 75 72 73 65 20 73 61 76 65 64 20 6F 6E 20 74 ourse saved on t
000030: 68 65 20 41 20 73 69 64 65 0D 0A 20 20 20 6F 66 he A side.. of
000040: 20 74 68 65 20 50 72 6F 67 72 61 6D 6D 65 72 73 the Programmers
000050: 27 20 50 61 74 63 68 20 64 69 73 63 2E 2E 2E 0D ' Patch disc....
000060: 0A 0D 0A 20 20 20 41 52 54 49 46 49 43 49 41 4C ... ARTIFICIAL
000070: 20 49 44 49 4F 43 59 0D 0A 20 20 20 49 20 68 6F IDIOCY.. I ho
000080: 70 65 20 79 6F 75 20 68 61 76 65 20 61 6C 6C 20 pe you have all
000090: 68 61 64 20 66 75 6E 20 77 69 74 68 20 6C 61 73 had fun with las
0000A0: 74 20 6D 6F 6E 74 68 27 73 20 70 72 6F 67 72 61 t month's progra
0000B0: 6D 2E 20 20 49 20 6F 72 69 67 69 6E 61 6C 6C 79 m. I originally
0000C0: 20 77 72 6F 74 65 0D 0A 20 20 20 69 74 20 77 69 wrote.. it wi
0000D0: 74 68 20 61 20 66 72 69 65 6E 64 20 61 74 20 73 th a friend at s
0000E0: 69 78 74 68 20 66 6F 72 6D 2C 20 6F 6E 20 61 6E ixth form, on an
0000F0: 20 41 63 6F 72 6E 20 41 72 63 68 69 6D 65 64 65 Acorn Archimede
000100: 73 20 63 6F 6D 70 75 74 65 72 20 28 65 78 63 65 s computer (exce
000110: 6C 6C 65 6E 74 0D 0A 20 20 20 6D 61 63 68 69 6E llent.. machin
000120: 65 29 2E 20 20 54 68 65 20 63 6F 6C 6C 65 67 65 e). The college
000130: 20 68 61 64 20 61 6E 20 45 63 6F 6E 65 74 20 20 had an Econet
000140: 6E 65 74 77 6F 72 6B 20 63 6F 6E 6E 65 63 74 69 network connecti
000150: 6E 67 20 74 68 65 20 42 42 43 20 63 6F 6D 70 75 ng the BBC compu
000160: 74 65 72 73 0D 0A 20 20 20 74 6F 67 65 74 68 65 ters.. togethe
000170: 72 2C 20 61 6E 64 20 49 20 61 6C 73 6F 20 77 72 r, and I also wr
000180: 6F 74 65 20 20 61 20 20 63 68 61 74 20 20 70 72 ote a chat pr
000190: 6F 67 72 61 6D 20 20 77 68 69 63 68 20 20 6D 65 ogram which me
0001A0: 61 6E 74 20 61 6E 79 20 6D 65 73 73 61 67 65 20 ant any message
0001B0: 79 6F 75 0D 0A 20 20 20 74 79 70 65 64 20 61 74 you.. typed at
0001C0: 20 79 6F 75 72 20 6B 65 79 62 6F 61 72 64 20 77 your keyboard w
0001D0: 61 73 20 64 69 73 70 6C 61 79 65 64 20 6F 6E 20 as displayed on
0001E0: 20 74 68 65 20 73 63 72 65 65 6E 20 6F 66 20 61 the screen of a
0001F0: 6E 79 6F 6E 65 20 65 6C 73 65 20 77 68 6F 20 77 nyone else who w
Size : 512 (Real : 512)
000000: 49 33 2E 42 41 53 3E 3E 20 20 20 54 68 65 20 73 I3.BAS>> The s
000010: 6F 6C 75 74 69 6F 6E 20 69 73 20 62 61 73 65 64 olution is based
000020: 20 6F 6E 20 74 68 65 20 69 64 65 61 0D 0A 20 20 on the idea..
000030: 20 6F 66 20 74 68 65 20 22 6C 69 6E 6B 65 64 20 of the "linked
000040: 20 6C 69 73 74 22 2E 20 20 20 41 20 20 6C 69 6E list". A lin
000050: 6B 65 64 20 20 6C 69 73 74 20 20 69 73 20 20 61 ked list is a
000060: 6E 20 20 69 6D 70 6F 72 74 61 6E 74 20 20 74 79 n important ty
000070: 70 65 20 20 6F 66 20 64 61 74 61 0D 0A 20 20 20 pe of data..
000080: 73 74 72 75 63 74 75 72 65 20 20 77 68 69 63 68 structure which
000090: 20 20 69 73 20 20 6F 66 74 65 6E 20 20 75 73 65 is often use
0000A0: 64 20 20 77 68 65 6E 20 20 20 70 72 6F 67 72 61 d when progra
0000B0: 6D 6D 65 72 73 20 20 6E 65 65 64 20 20 74 6F 20 mmers need to
0000C0: 20 73 74 6F 72 65 20 20 61 6E 0D 0A 20 20 20 75 store an.. u
0000D0: 6E 64 65 74 65 72 6D 69 6E 65 64 20 71 75 61 6E ndetermined quan
0000E0: 74 69 74 79 20 6F 66 20 64 61 74 61 2E 0D 0A 0D tity of data....
0000F0: 0A 20 20 20 54 68 65 20 69 64 65 61 20 69 73 20 . The idea is
000100: 74 68 61 74 20 20 77 68 65 6E 20 20 79 6F 75 20 that when you
000110: 20 68 61 76 65 20 20 66 69 6C 6C 65 64 20 20 75 have filled u
000120: 70 20 20 6F 6E 65 20 20 64 61 74 61 20 73 74 6F p one data sto
000130: 72 61 67 65 20 61 72 65 61 2C 20 79 6F 75 0D 0A rage area, you..
000140: 20 20 20 75 73 65 20 70 61 72 74 20 6F 66 20 74 use part of t
000150: 68 65 20 73 74 6F 72 61 67 65 20 74 6F 20 70 72 he storage to pr
000160: 6F 76 69 64 65 20 20 61 20 20 70 6F 69 6E 74 65 ovide a pointe
000170: 72 20 20 74 6F 20 77 68 65 72 65 20 74 68 65 20 r to where the
000180: 6E 65 78 74 20 62 6C 6F 63 6B 20 6F 66 0D 0A 20 next block of..
000190: 20 20 64 61 74 61 20 69 73 20 6C 6F 63 61 74 65 data is locate
0001A0: 64 2E 20 20 49 6E 20 6F 75 72 20 63 61 73 65 2C d. In our case,
0001B0: 20 20 69 6E 73 74 65 61 64 20 20 6F 66 20 73 74 instead of st
0001C0: 6F 72 69 6E 67 20 74 77 65 6E 74 79 20 6C 69 6E oring twenty lin
0001D0: 6B 73 20 66 72 6F 6D 20 77 6F 72 64 0D 0A 20 20 ks from word..
0001E0: 20 6E 20 69 6E 20 6C 6B 28 6E 2C 31 29 20 74 6F n in lk(n,1) to
0001F0: 20 6C 6B 28 6E 2C 32 30 29 2C 20 77 65 20 20 75 lk(n,20), we u
Size : 512 (Real : 512)
000000: 61 73 0D 0A 20 20 20 75 73 69 6E 67 20 74 68 65 as.. using the
000010: 20 63 68 61 74 20 70 72 6F 67 72 61 6D 2E 20 20 chat program.
000020: 57 65 20 65 76 65 6E 74 75 61 6C 6C 79 20 74 6F We eventually to
000030: 6F 6B 20 74 68 65 20 6F 62 76 69 6F 75 73 20 73 ok the obvious s
000040: 74 65 70 20 6F 66 20 6C 69 6E 6B 69 6E 67 20 41 tep of linking A
000050: 49 0D 0A 20 20 20 75 70 20 74 6F 20 74 68 65 20 I.. up to the
000060: 63 68 61 74 20 70 72 6F 67 72 61 6D 2E 20 20 49 chat program. I
000070: 74 20 63 6F 75 6C 64 20 74 68 65 6E 20 74 61 6B t could then tak
000080: 65 20 70 61 72 74 20 69 6E 20 74 68 65 20 63 6F e part in the co
000090: 6E 76 65 72 73 61 74 69 6F 6E 73 20 74 68 61 74 nversations that
0000A0: 0D 0A 20 20 20 77 65 72 65 20 67 6F 69 6E 67 20 .. were going
0000B0: 6F 6E 2C 20 6C 65 61 64 69 6E 67 20 20 74 68 65 on, leading the
0000C0: 20 20 6F 72 64 69 6E 61 72 79 20 20 75 73 65 72 ordinary user
0000D0: 73 20 20 74 6F 20 20 77 6F 6E 64 65 72 20 20 77 s to wonder w
0000E0: 68 79 20 20 74 68 65 72 65 20 77 61 73 20 61 0D hy there was a.
0000F0: 0A 20 20 20 63 6F 6D 70 6C 65 74 65 20 69 64 69 . complete idi
000100: 6F 74 20 63 6F 6E 74 72 69 62 75 74 69 6E 67 20 ot contributing
000110: 66 72 6F 6D 20 6F 6E 65 20 6F 66 20 74 68 65 20 from one of the
000120: 6E 65 74 77 6F 72 6B 20 73 74 61 74 69 6F 6E 73 network stations
000130: 21 0D 0A 0D 0A 20 20 20 41 20 47 52 45 4D 4C 49 !.... A GREMLI
000140: 4E 20 49 4E 20 54 48 45 20 57 4F 52 4B 53 0D 0A N IN THE WORKS..
000150: 20 20 20 49 66 20 79 6F 75 20 68 61 76 65 20 75 If you have u
000160: 73 65 64 20 6C 61 73 74 20 20 6D 6F 6E 74 68 27 sed last month'
000170: 73 20 20 76 65 72 73 69 6F 6E 20 20 6F 66 20 20 s version of
000180: 41 49 20 65 78 74 65 6E 73 69 76 65 6C 79 2C 20 AI extensively,
000190: 79 6F 75 20 77 69 6C 6C 20 68 61 76 65 0D 0A 20 you will have..
0001A0: 20 20 63 6F 6D 65 20 61 63 72 6F 73 73 20 61 20 come across a
0001B0: 70 72 6F 62 6C 65 6D 20 74 6F 20 64 6F 20 20 77 problem to do w
0001C0: 69 74 68 20 20 74 68 65 20 20 6C 69 6D 69 74 73 ith the limits
0001D0: 20 20 77 65 20 20 73 65 74 20 74 6F 20 74 68 65 we set to the
0001E0: 20 73 69 7A 65 20 6F 66 20 74 68 65 0D 0A 20 20 size of the..
0001F0: 20 61 72 72 61 79 73 2E 20 20 49 6E 20 6C 69 6E arrays. In lin
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 31 37 20 2D 20 57 41 43 43 49 20 31 tch 17 - WACCI 1
000020: 32 36 2C 20 4E 6F 76 2F 44 65 63 20 31 39 39 38 26, Nov/Dec 1998
000030: 2C 20 70 2E 20 31 36 2D 31 38 0D 0A 20 20 20 50 , p. 16-18.. P
000040: 52 4F 47 52 41 4D 4D 45 52 53 27 20 50 41 54 43 ROGRAMMERS' PATC
000050: 48 20 31 37 0D 0A 20 20 20 42 79 20 4D 61 74 74 H 17.. By Matt
000060: 68 65 77 20 50 68 69 6C 6C 69 70 73 0D 0A 0D 0A hew Phillips....
000070: 20 20 20 54 68 65 20 73 75 6E 20 62 65 61 74 20 The sun beat
000080: 64 6F 77 6E 20 6F 6E 20 74 68 65 20 77 69 64 65 down on the wide
000090: 20 20 64 65 73 65 72 74 20 70 6C 61 69 6E 73 20 desert plains
0000A0: 6F 66 20 4D 65 78 69 63 6F 2E 20 20 4D 65 61 6E of Mexico. Mean
0000B0: 77 68 69 6C 65 2C 20 6F 6E 20 74 68 65 0D 0A 20 while, on the..
0000C0: 20 20 6F 70 65 6E 20 73 65 61 73 20 6F 66 20 74 open seas of t
0000D0: 68 65 20 49 6E 64 69 61 6E 20 6F 63 65 61 6E 20 he Indian ocean
0000E0: 74 68 65 20 20 72 61 69 6E 20 20 70 6F 75 72 65 the rain poure
0000F0: 64 20 20 64 6F 77 6E 20 6F 6E 20 61 20 73 68 69 d down on a shi
000100: 70 20 6C 61 64 65 6E 20 77 69 74 68 0D 0A 20 20 p laden with..
000110: 20 72 69 63 65 20 70 75 64 64 69 6E 67 2E 20 20 rice pudding.
000120: 46 72 6F 6D 20 74 68 65 20 6D 69 7A 65 6E 2D 6D From the mizen-m
000130: 61 73 74 20 74 68 65 20 73 6F 64 64 65 6E 20 72 ast the sodden r
000140: 65 6D 61 69 6E 73 20 6F 66 20 61 20 62 6C 61 63 emains of a blac
000150: 6B 20 66 6C 61 67 20 68 75 6E 67 0D 0A 20 20 20 k flag hung..
000160: 6C 69 6D 70 6C 79 2E 20 20 54 68 65 72 65 20 77 limply. There w
000170: 61 73 20 6E 6F 20 73 69 67 6E 20 6F 66 20 61 6E as no sign of an
000180: 79 20 20 63 72 65 77 20 20 6F 6E 20 64 65 63 6B y crew on deck
000190: 2C 20 62 75 74 20 61 6E 20 65 65 72 69 65 20 67 , but an eerie g
0001A0: 72 65 65 6E 20 6C 69 67 68 74 0D 0A 20 20 20 73 reen light.. s
0001B0: 68 6F 6E 65 20 74 68 72 6F 75 67 68 20 61 20 70 hone through a p
0001C0: 6F 72 74 68 6F 6C 65 2E 20 20 49 6E 73 69 64 65 orthole. Inside
0001D0: 20 74 68 65 20 20 63 61 62 69 6E 20 20 73 61 74 the cabin sat
0001E0: 20 20 74 68 65 20 63 61 70 74 61 69 6E 2E 20 20 the captain.
0001F0: 48 65 20 77 61 73 20 61 6E 0D 0A 20 20 20 65 76 He was an.. ev
Size : 512 (Real : 512)
000000: 20 6C 6F 6F 6B 20 61 74 20 61 20 76 6F 63 61 62 look at a vocab
000010: 75 6C 61 72 79 20 49 20 68 61 64 20 73 61 76 65 ulary I had save
000020: 64 20 74 6F 20 64 69 73 63 20 77 68 69 63 68 20 d to disc which
000030: 68 61 64 20 61 62 6F 75 74 20 74 77 6F 20 68 75 had about two hu
000040: 6E 64 72 65 64 0D 0A 20 20 20 77 6F 72 64 73 20 ndred.. words
000050: 69 6E 20 69 74 2E 20 20 54 68 65 20 61 76 65 72 in it. The aver
000060: 61 67 65 20 6C 65 6E 67 74 68 20 6F 66 20 61 20 age length of a
000070: 20 77 6F 72 64 20 20 77 61 73 20 69 6E 20 66 61 word was in fa
000080: 63 74 20 61 73 20 6C 69 74 74 6C 65 20 61 73 20 ct as little as
000090: 35 2E 31 2C 0D 0A 20 20 20 61 6E 64 20 74 68 65 5.1,.. and the
0000A0: 20 61 76 65 72 61 67 65 20 6E 75 6D 62 65 72 20 average number
0000B0: 6F 66 20 6C 69 6E 6B 73 20 66 72 6F 6D 20 61 20 of links from a
0000C0: 77 6F 72 64 20 77 61 73 20 6F 6E 6C 79 20 32 21 word was only 2!
0000D0: 20 20 4D 6F 72 65 20 69 6D 70 6F 72 74 61 6E 74 More important
0000E0: 6C 79 2C 0D 0A 20 20 20 39 34 25 20 6F 66 20 74 ly,.. 94% of t
0000F0: 68 65 20 77 6F 72 64 73 20 68 61 64 20 66 65 77 he words had few
000100: 65 72 20 74 68 61 6E 20 20 73 69 78 20 20 6C 69 er than six li
000110: 6E 6B 73 20 20 66 72 6F 6D 20 74 68 65 6D 2C 20 nks from them,
000120: 61 6E 64 20 6F 6E 6C 79 20 74 77 6F 20 77 6F 72 and only two wor
000130: 64 73 0D 0A 20 20 20 68 61 64 20 6D 6F 72 65 20 ds.. had more
000140: 74 68 61 6E 20 66 69 66 74 65 65 6E 2E 0D 0A 0D than fifteen....
000150: 0A 20 20 20 44 6F 69 6E 67 20 61 20 72 6F 75 67 . Doing a roug
000160: 68 20 63 61 6C 63 75 6C 61 74 69 6F 6E 20 73 68 h calculation sh
000170: 6F 77 73 20 20 74 68 61 74 20 20 73 65 74 74 69 ows that setti
000180: 6E 67 20 20 6D 6C 69 6E 6B 73 20 20 74 6F 20 62 ng mlinks to b
000190: 65 20 36 20 77 6F 75 6C 64 20 6D 65 61 6E 0D 0A e 6 would mean..
0001A0: 20 20 20 74 68 61 74 20 74 68 65 20 73 74 6F 72 that the stor
0001B0: 61 67 65 20 72 65 71 75 69 72 65 64 20 70 65 72 age required per
0001C0: 20 77 6F 72 64 20 20 77 6F 75 6C 64 20 20 62 65 word would be
0001D0: 20 20 61 72 6F 75 6E 64 20 32 34 20 62 79 74 65 around 24 byte
0001E0: 73 20 6F 6E 20 61 76 65 72 61 67 65 2E 0D 0A 20 s on average...
0001F0: 20 20 43 6F 6E 74 72 61 73 74 20 74 68 61 74 20 Contrast that
Size : 512 (Real : 512)
000000: 69 73 20 61 64 64 65 64 2E 20 20 54 68 69 73 0D is added. This.
000010: 0A 20 20 20 63 68 65 63 6B 73 20 74 6F 20 73 65 . checks to se
000020: 65 20 77 68 65 74 68 65 72 20 77 65 20 68 61 76 e whether we hav
000030: 65 20 6A 75 73 74 20 20 75 73 65 64 20 20 75 70 e just used up
000040: 20 74 68 65 20 6C 61 73 74 2D 62 75 74 2D 6F 6E the last-but-on
000050: 65 20 73 70 61 63 65 20 69 6E 20 74 68 65 0D 0A e space in the..
000060: 20 20 20 63 75 72 72 65 6E 74 20 62 6C 6F 63 6B current block
000070: 20 6F 66 20 6C 69 6E 6B 73 2E 20 20 49 66 20 20 of links. If
000080: 78 3D 6D 6C 69 6E 6B 73 2D 31 20 20 74 68 65 6E x=mlinks-1 then
000090: 20 20 74 68 65 20 20 6E 65 78 74 20 6C 69 6E 6B the next link
0000A0: 20 77 69 6C 6C 20 6E 65 65 64 20 74 6F 0D 0A 20 will need to..
0000B0: 20 20 70 6F 69 6E 74 20 74 6F 20 61 6E 6F 74 68 point to anoth
0000C0: 65 72 20 64 75 6D 6D 79 20 77 6F 72 64 20 66 6F er dummy word fo
0000D0: 72 20 6F 76 65 72 66 6C 6F 77 20 20 73 74 6F 72 r overflow stor
0000E0: 61 67 65 2E 20 20 20 54 6F 20 64 6F 20 74 68 69 age. To do thi
0000F0: 73 20 77 65 20 75 73 65 20 74 68 65 0D 0A 20 20 s we use the..
000100: 20 6E 65 78 74 20 66 72 65 65 20 20 77 6F 72 64 next free word
000110: 20 20 70 6F 73 69 74 69 6F 6E 20 20 62 79 20 20 position by
000120: 69 6E 63 72 65 61 73 69 6E 67 20 20 6E 77 6F 72 increasing nwor
000130: 64 73 20 20 62 79 20 20 6F 6E 65 2E 20 20 20 57 ds by one. W
000140: 65 20 20 74 68 65 6E 20 73 65 74 0D 0A 20 20 20 e then set..
000150: 6C 6B 28 79 2C 6D 6C 69 6E 6B 73 29 20 74 6F 20 lk(y,mlinks) to
000160: 70 6F 69 6E 74 20 74 6F 20 74 68 69 73 20 6E 65 point to this ne
000170: 77 20 64 75 6D 6D 79 20 77 6F 72 64 2E 0D 0A 0D w dummy word....
000180: 0A 20 20 20 44 6F 20 74 61 6B 65 20 61 20 62 69 . Do take a bi
000190: 74 20 6F 66 20 74 69 6D 65 20 74 6F 20 67 65 74 t of time to get
0001A0: 20 20 74 68 69 73 20 69 64 65 61 20 73 74 72 61 this idea stra
0001B0: 69 67 68 74 2E 20 20 49 74 20 69 73 20 61 20 62 ight. It is a b
0001C0: 69 7A 61 72 72 65 20 63 6F 6E 63 65 70 74 0D 0A izarre concept..
0001D0: 20 20 20 61 74 20 66 69 72 73 74 2C 20 62 65 63 at first, bec
0001E0: 61 75 73 65 20 6E 6F 74 20 61 6C 6C 20 6F 66 20 ause not all of
0001F0: 6F 75 72 20 77 6F 72 64 73 20 20 66 72 6F 6D 20 our words from
Size : 512 (Real : 512)
000000: 73 65 20 20 74 68 65 20 20 66 69 72 73 74 20 6E se the first n
000010: 69 6E 65 74 65 65 6E 20 66 6F 72 20 6C 69 6E 6B ineteen for link
000020: 73 20 74 6F 20 77 6F 72 64 73 2C 0D 0A 20 20 20 s to words,..
000030: 61 6E 64 20 74 68 65 6E 20 75 73 65 20 6C 6B 28 and then use lk(
000040: 6E 2C 32 30 29 20 74 6F 20 20 70 6F 69 6E 74 20 n,20) to point
000050: 20 74 6F 20 20 77 68 65 72 65 20 20 74 68 65 20 to where the
000060: 20 72 65 73 74 20 20 6F 66 20 74 68 65 20 6C 69 rest of the li
000070: 6E 6B 73 20 63 61 6E 20 62 65 0D 0A 20 20 20 66 nks can be.. f
000080: 6F 75 6E 64 2E 20 20 57 65 20 70 75 74 20 61 20 ound. We put a
000090: 64 75 6D 6D 79 20 77 6F 72 64 20 69 6E 20 74 68 dummy word in th
0000A0: 65 20 6E 65 78 74 20 66 72 65 65 20 73 70 61 63 e next free spac
0000B0: 65 20 69 6E 20 77 24 2C 20 61 6E 64 20 75 73 65 e in w$, and use
0000C0: 20 74 68 65 20 6C 69 6E 6B 0D 0A 20 20 20 73 74 the link.. st
0000D0: 6F 72 61 67 65 20 66 6F 72 20 74 68 61 74 20 77 orage for that w
0000E0: 6F 72 64 20 74 6F 20 64 65 61 6C 20 77 69 74 68 ord to deal with
0000F0: 20 74 68 65 20 6F 76 65 72 66 6C 6F 77 20 66 72 the overflow fr
000100: 6F 6D 20 77 6F 72 64 20 6E 2E 0D 0A 0D 0A 20 20 om word n.....
000110: 20 53 75 62 72 6F 75 74 69 6E 65 20 34 30 30 20 Subroutine 400
000120: 69 73 20 74 68 65 20 20 63 72 75 63 69 61 6C 20 is the crucial
000130: 20 6F 6E 65 20 20 77 68 69 63 68 20 20 73 65 61 one which sea
000140: 72 63 68 65 73 20 20 74 68 72 6F 75 67 68 20 74 rches through t
000150: 68 65 20 65 78 69 73 74 69 6E 67 0D 0A 20 20 20 he existing..
000160: 6C 69 6E 6B 73 20 66 72 6F 6D 20 77 6F 72 64 20 links from word
000170: 22 70 77 6F 72 64 22 20 74 6F 20 73 65 65 20 69 "pword" to see i
000180: 66 20 20 22 63 77 6F 72 64 22 20 69 73 20 61 6C f "cword" is al
000190: 72 65 61 64 79 20 61 6D 6F 6E 67 20 74 68 65 6D ready among them
0001A0: 2E 20 20 49 66 20 6E 6F 74 2C 0D 0A 20 20 20 63 . If not,.. c
0001B0: 77 6F 72 64 20 69 73 20 61 64 64 65 64 20 74 6F word is added to
0001C0: 20 74 68 65 20 6C 69 6E 6B 73 20 20 61 73 20 20 the links as
0001D0: 61 20 20 77 6F 72 64 20 20 74 68 61 74 20 20 63 a word that c
0001E0: 61 6E 20 66 6F 6C 6C 6F 77 20 70 77 6F 72 64 2E an follow pword.
0001F0: 20 20 54 68 65 20 6E 65 77 0D 0A 20 20 20 73 75 The new.. su
Size : 512 (Real : 512)
000000: 20 31 20 74 6F 20 6E 77 6F 72 64 73 20 77 69 6C 1 to nwords wil
000010: 6C 20 62 65 20 75 73 65 64 20 66 6F 72 0D 0A 20 l be used for..
000020: 20 20 73 74 6F 72 69 6E 67 20 61 63 74 75 61 6C storing actual
000030: 20 77 6F 72 64 73 3A 20 73 6F 6D 65 20 20 77 69 words: some wi
000040: 6C 6C 20 20 62 65 20 20 64 75 6D 6D 79 20 20 77 ll be dummy w
000050: 6F 72 64 73 20 20 75 73 65 64 20 66 6F 72 20 73 ords used for s
000060: 74 6F 72 69 6E 67 20 65 78 74 72 61 0D 0A 20 20 toring extra..
000070: 20 6C 69 6E 6B 73 20 62 65 79 6F 6E 64 20 74 68 links beyond th
000080: 65 20 74 77 65 6E 74 79 20 61 6C 6C 6F 77 65 64 e twenty allowed
000090: 20 66 6F 72 20 6F 6E 65 20 77 6F 72 64 2E 0D 0A for one word...
0000A0: 0D 0A 20 20 20 4F 66 20 63 6F 75 72 73 65 2C 20 .. Of course,
0000B0: 61 73 20 77 65 6C 6C 20 61 73 20 73 74 6F 72 69 as well as stori
0000C0: 6E 67 20 20 74 68 65 20 20 6C 69 6E 6B 73 20 20 ng the links
0000D0: 77 65 20 20 6E 65 65 64 20 74 6F 20 62 65 20 61 we need to be a
0000E0: 62 6C 65 20 74 6F 20 72 65 74 72 69 65 76 65 0D ble to retrieve.
0000F0: 0A 20 20 20 74 68 65 6D 20 77 68 65 6E 20 63 72 . them when cr
000100: 65 61 74 69 6E 67 20 72 61 6E 64 6F 6D 20 73 65 eating random se
000110: 6E 74 65 6E 63 65 73 2E 20 20 4C 69 6E 65 20 35 ntences. Line 5
000120: 30 35 20 69 73 20 61 64 64 65 64 20 69 6E 20 6F 05 is added in o
000130: 72 64 65 72 20 74 6F 20 61 64 6A 75 73 74 0D 0A rder to adjust..
000140: 20 20 20 74 68 69 73 20 72 6F 75 74 69 6E 65 2E this routine.
000150: 20 20 49 6E 20 6C 69 6E 65 20 35 30 30 2C 20 69 In line 500, i
000160: 20 20 69 73 20 20 73 65 74 20 20 74 6F 20 20 61 is set to a
000170: 20 20 72 61 6E 64 6F 6D 20 6E 75 6D 62 65 72 20 random number
000180: 66 72 6F 6D 20 31 20 74 6F 20 74 68 65 0D 0A 20 from 1 to the..
000190: 20 20 6E 75 6D 62 65 72 20 6F 66 20 6C 69 6E 6B number of link
0001A0: 73 20 66 72 6F 6D 20 74 68 61 74 20 77 6F 72 64 s from that word
0001B0: 2E 20 20 49 66 20 20 69 20 20 69 73 20 67 72 65 . If i is gre
0001C0: 61 74 65 72 20 74 68 61 6E 20 6D 6C 69 6E 6B 73 ater than mlinks
0001D0: 2D 31 2C 20 74 68 65 6E 20 74 68 65 0D 0A 20 20 -1, then the..
0001E0: 20 6C 69 6E 6B 20 77 69 6C 6C 20 62 65 20 73 74 link will be st
0001F0: 6F 72 65 64 20 75 6E 64 65 72 20 61 20 64 75 6D ored under a dum
Size : 512 (Real : 512)
000000: 62 72 6F 75 74 69 6E 65 20 69 73 20 6C 69 73 74 broutine is list
000010: 65 64 20 69 6E 20 66 75 6C 6C 20 69 6E 20 46 69 ed in full in Fi
000020: 67 75 72 65 20 32 2E 0D 0A 0D 0A 20 20 20 49 6E gure 2..... In
000030: 20 74 68 65 20 6F 6C 64 20 72 6F 75 74 69 6E 65 the old routine
000040: 2C 20 20 6C 69 6E 65 20 20 34 31 30 20 20 6C 6F , line 410 lo
000050: 6F 6B 65 64 20 20 74 68 72 6F 75 67 68 20 20 74 oked through t
000060: 68 65 20 20 6C 69 6E 6B 73 20 20 62 79 20 6C 6F he links by lo
000070: 6F 6B 69 6E 67 20 61 74 0D 0A 20 20 20 6C 6B 28 oking at.. lk(
000080: 70 77 6F 72 64 2C 78 29 2E 20 20 54 68 69 73 20 pword,x). This
000090: 69 73 20 67 72 65 61 74 20 77 68 65 6E 20 61 6C is great when al
0000A0: 6C 20 20 79 6F 75 72 20 20 6C 69 6E 6B 73 20 61 l your links a
0000B0: 72 65 20 73 74 6F 72 65 64 20 74 6F 67 65 74 68 re stored togeth
0000C0: 65 72 2C 20 62 75 74 0D 0A 20 20 20 69 6E 20 6F er, but.. in o
0000D0: 75 72 20 6E 65 77 20 61 72 72 61 6E 67 65 6D 65 ur new arrangeme
0000E0: 6E 74 2C 20 6C 61 74 65 72 20 6C 69 6E 6B 73 20 nt, later links
0000F0: 20 77 69 6C 6C 20 20 6E 6F 74 20 20 62 65 20 73 will not be s
000100: 74 6F 72 65 64 20 75 6E 64 65 72 20 70 77 6F 72 tored under pwor
000110: 64 2C 20 62 75 74 0D 0A 20 20 20 75 6E 64 65 72 d, but.. under
000120: 20 74 68 65 20 64 75 6D 6D 79 20 77 6F 72 64 2E the dummy word.
000130: 20 20 54 68 75 73 20 69 6E 20 6C 69 6E 65 20 34 Thus in line 4
000140: 30 30 20 77 65 20 73 65 74 20 75 70 20 61 20 6E 00 we set up a n
000150: 65 77 20 76 61 72 69 61 62 6C 65 2C 20 79 2C 20 ew variable, y,
000160: 77 68 69 63 68 0D 0A 20 20 20 77 69 6C 6C 20 74 which.. will t
000170: 61 6B 65 20 75 73 20 74 68 72 6F 75 67 68 20 74 ake us through t
000180: 68 65 20 73 74 6F 72 61 67 65 20 6C 6F 63 61 74 he storage locat
000190: 69 6F 6E 73 2E 20 20 49 6E 69 74 69 61 6C 6C 79 ions. Initially
0001A0: 20 69 74 20 69 73 20 73 65 74 20 74 6F 20 70 77 it is set to pw
0001B0: 6F 72 64 2C 0D 0A 20 20 20 61 73 20 62 65 66 6F ord,.. as befo
0001C0: 72 65 2E 0D 0A 0D 0A 20 20 20 4C 69 6E 65 20 34 re..... Line 4
0001D0: 31 30 20 69 73 20 6D 75 63 68 20 74 68 65 20 73 10 is much the s
0001E0: 61 6D 65 20 65 78 63 65 70 74 20 20 74 68 61 74 ame except that
0001F0: 20 20 70 77 6F 72 64 20 68 61 73 20 62 65 65 6E pword has been
Size : 512 (Real : 512)
000000: 6D 79 20 20 77 6F 72 64 2C 20 72 61 74 68 65 72 my word, rather
000010: 20 74 68 61 6E 20 74 68 65 20 63 75 72 72 65 6E than the curren
000020: 74 20 77 6F 72 64 2E 20 20 49 6E 0D 0A 20 20 20 t word. In..
000030: 6C 69 6E 65 20 35 30 35 20 77 65 20 6D 6F 76 65 line 505 we move
000040: 20 70 77 6F 72 64 20 6F 6E 20 74 6F 20 20 70 6F pword on to po
000050: 69 6E 74 20 20 61 74 20 20 74 68 65 20 64 75 6D int at the dum
000060: 6D 79 20 77 6F 72 64 2C 20 61 6E 64 20 64 65 63 my word, and dec
000070: 72 65 61 73 65 20 69 20 62 79 0D 0A 20 20 20 6D rease i by.. m
000080: 6C 69 6E 6B 73 2D 31 2E 20 20 54 68 69 73 20 69 links-1. This i
000090: 73 20 64 6F 6E 65 20 61 73 20 6D 61 6E 79 20 74 s done as many t
0000A0: 69 6D 65 73 20 61 73 20 69 73 20 6E 65 65 64 65 imes as is neede
0000B0: 64 20 74 6F 20 72 65 61 63 68 20 74 68 65 20 64 d to reach the d
0000C0: 75 6D 6D 79 20 77 6F 72 64 0D 0A 20 20 20 77 68 ummy word.. wh
0000D0: 65 72 65 20 6F 75 72 20 72 61 6E 64 6F 6D 20 6C ere our random l
0000E0: 69 6E 6B 20 69 73 20 6C 6F 63 61 74 65 64 2E 0D ink is located..
0000F0: 0A 0D 0A 20 20 20 54 68 65 20 72 65 73 74 20 6F ... The rest o
000100: 66 20 74 68 65 20 61 6C 74 65 72 61 74 69 6F 6E f the alteration
000110: 73 20 61 72 65 20 20 74 6F 20 20 6D 61 6B 65 20 s are to make
000120: 6C 6F 61 64 69 6E 67 20 61 6E 64 20 73 61 76 69 loading and savi
000130: 6E 67 20 6F 66 20 76 6F 63 61 62 75 6C 61 72 79 ng of vocabulary
000140: 0D 0A 20 20 20 77 6F 72 6B 20 63 6F 72 72 65 63 .. work correc
000150: 74 6C 79 20 75 6E 64 65 72 20 74 68 65 20 6E 65 tly under the ne
000160: 77 20 73 79 73 74 65 6D 2E 0D 0A 0D 0A 20 20 20 w system.....
000170: 4F 50 54 49 4D 49 53 41 54 49 4F 4E 0D 0A 20 20 OPTIMISATION..
000180: 20 4E 6F 77 20 74 68 61 74 20 77 65 20 68 61 76 Now that we hav
000190: 65 20 6F 76 65 72 63 6F 6D 65 20 74 68 65 20 6C e overcome the l
0001A0: 69 6D 69 74 20 69 6D 70 6F 73 65 64 20 62 79 20 imit imposed by
0001B0: 6D 6C 69 6E 6B 73 2C 20 70 65 72 68 61 70 73 20 mlinks, perhaps
0001C0: 77 65 20 6F 75 67 68 74 20 74 6F 0D 0A 20 20 20 we ought to..
0001D0: 74 68 69 6E 6B 20 61 62 6F 75 74 20 77 68 61 74 think about what
0001E0: 20 61 6E 20 61 70 70 72 6F 70 72 69 61 74 65 20 an appropriate
0001F0: 76 61 6C 75 65 20 20 66 6F 72 20 20 6D 6C 69 6E value for mlin
Size : 512 (Real : 512)
000000: 20 72 65 70 6C 61 63 65 64 20 62 79 20 79 2E 20 replaced by y.
000010: 20 54 68 65 0D 0A 20 20 20 62 69 67 20 63 68 61 The.. big cha
000020: 6E 67 65 20 69 73 20 74 68 65 20 6E 65 77 20 6C nge is the new l
000030: 69 6E 65 20 34 31 35 2E 20 20 20 54 68 69 73 20 ine 415. This
000040: 20 74 65 73 74 73 20 77 68 65 74 68 65 72 20 78 tests whether x
000050: 20 69 73 20 70 6F 69 6E 74 69 6E 67 20 61 74 20 is pointing at
000060: 74 68 65 0D 0A 20 20 20 6C 61 73 74 20 6C 69 6E the.. last lin
000070: 6B 20 69 6E 20 74 68 65 20 62 6C 6F 63 6B 2E 20 k in the block.
000080: 20 54 68 69 73 20 69 73 20 6E 6F 20 20 6C 6F 6E This is no lon
000090: 67 65 72 20 75 73 65 64 20 66 6F 72 20 61 6E 20 ger used for an
0000A0: 6F 72 64 69 6E 61 72 79 20 6C 69 6E 6B 2C 20 62 ordinary link, b
0000B0: 75 74 0D 0A 20 20 20 70 6F 69 6E 74 73 20 74 6F ut.. points to
0000C0: 20 74 68 65 20 64 75 6D 6D 79 20 77 6F 72 64 20 the dummy word
0000D0: 77 68 65 72 65 20 74 68 65 20 72 65 73 74 20 20 where the rest
0000E0: 6F 66 20 74 68 65 20 6C 69 6E 6B 73 20 61 72 65 of the links are
0000F0: 20 74 6F 20 62 65 20 66 6F 75 6E 64 2E 20 20 53 to be found. S
000100: 6F 0D 0A 20 20 20 69 66 20 78 3D 6D 6C 69 6E 6B o.. if x=mlink
000110: 73 2C 20 77 65 20 73 65 74 20 79 20 20 74 6F 20 s, we set y to
000120: 20 62 65 20 20 74 68 65 20 20 70 6F 73 69 74 69 be the positi
000130: 6F 6E 20 20 6F 66 20 20 74 68 65 20 64 75 6D 6D on of the dumm
000140: 79 20 77 6F 72 64 2C 20 77 68 69 63 68 20 69 73 y word, which is
000150: 0D 0A 20 20 20 70 6F 69 6E 74 65 64 20 74 6F 20 .. pointed to
000160: 62 79 20 74 68 61 74 20 6C 69 6E 6B 2C 20 61 6E by that link, an
000170: 64 20 70 75 74 20 78 20 62 61 63 6B 20 74 6F 20 d put x back to
000180: 31 2E 0D 0A 0D 0A 20 20 20 54 68 65 20 72 65 73 1..... The res
000190: 74 20 6F 66 20 74 68 65 20 6C 6F 6F 70 20 77 6F t of the loop wo
0001A0: 72 6B 73 20 74 68 65 20 20 73 61 6D 65 20 20 62 rks the same b
0001B0: 65 66 6F 72 65 2C 20 20 61 6E 64 20 20 62 79 20 efore, and by
0001C0: 74 68 65 20 74 69 6D 65 20 77 65 20 65 78 69 74 the time we exit
0001D0: 20 61 74 0D 0A 20 20 20 6C 69 6E 65 20 34 32 30 at.. line 420
0001E0: 2C 20 77 65 20 77 69 6C 6C 20 65 69 74 68 65 72 , we will either
0001F0: 20 68 61 76 65 20 66 6F 75 6E 64 20 61 20 6C 69 have found a li
Size : 512 (Real : 512)
000000: 6B 73 20 20 6D 69 67 68 74 20 62 65 2E 20 20 57 ks might be. W
000010: 65 20 6F 6E 6C 79 20 73 65 74 0D 0A 20 20 20 6D e only set.. m
000020: 6C 69 6E 6B 73 20 74 6F 20 32 30 20 62 65 63 61 links to 20 beca
000030: 75 73 65 20 69 74 20 77 61 73 20 61 20 67 6F 6F use it was a goo
000040: 64 20 20 68 69 67 68 20 6E 75 6D 62 65 72 20 74 d high number t
000050: 68 61 74 20 77 6F 75 6C 64 20 74 61 6B 65 20 61 hat would take a
000060: 20 77 68 69 6C 65 20 74 6F 0D 0A 20 20 20 72 65 while to.. re
000070: 61 63 68 2E 20 20 41 20 73 6D 61 6C 6C 65 72 20 ach. A smaller
000080: 76 61 6C 75 65 20 6D 69 67 68 74 20 61 6C 6C 6F value might allo
000090: 77 20 75 73 20 74 6F 20 73 74 6F 72 65 20 74 68 w us to store th
0000A0: 65 20 64 61 74 61 20 6D 6F 72 65 20 65 66 66 69 e data more effi
0000B0: 63 69 65 6E 74 6C 79 2E 0D 0A 0D 0A 20 20 20 57 ciently..... W
0000C0: 65 20 63 61 6E 20 77 6F 72 6B 20 6F 75 74 20 74 e can work out t
0000D0: 68 65 20 61 6D 6F 75 6E 74 20 20 6F 66 20 20 73 he amount of s
0000E0: 70 61 63 65 20 20 72 65 71 75 69 72 65 64 20 20 pace required
0000F0: 70 65 72 20 77 6F 72 64 20 64 65 70 65 6E 64 69 per word dependi
000100: 6E 67 20 6F 6E 20 74 68 65 0D 0A 20 20 20 76 61 ng on the.. va
000110: 6C 75 65 20 6F 66 20 6D 6C 69 6E 6B 73 2E 20 20 lue of mlinks.
000120: 54 68 65 20 77 6F 72 64 20 69 74 73 65 6C 66 20 The word itself
000130: 20 75 73 65 73 20 20 33 20 62 79 74 65 73 20 66 uses 3 bytes f
000140: 6F 72 20 74 68 65 20 73 74 72 69 6E 67 20 64 65 or the string de
000150: 73 63 72 69 70 74 6F 72 0D 0A 20 20 20 62 6C 6F scriptor.. blo
000160: 63 6B 2C 20 70 6C 75 73 20 61 73 20 6D 61 6E 79 ck, plus as many
000170: 20 62 79 74 65 73 20 61 73 20 74 68 65 20 77 6F bytes as the wo
000180: 72 64 20 20 69 73 20 6C 6F 6E 67 2E 20 20 54 68 rd is long. Th
000190: 65 20 73 70 61 63 65 20 6F 63 63 75 70 69 65 64 e space occupied
0001A0: 20 62 79 20 74 68 65 0D 0A 20 20 20 61 72 72 61 by the.. arra
0001B0: 79 20 6F 66 20 6C 69 6E 6B 73 20 69 73 20 74 77 y of links is tw
0001C0: 6F 20 74 69 6D 65 73 20 6D 6C 69 6E 6B 73 2B 31 o times mlinks+1
0001D0: 2C 20 20 61 73 20 65 61 63 68 20 69 6E 74 65 67 , as each integ
0001E0: 65 72 20 6E 65 65 64 73 20 74 77 6F 20 62 79 74 er needs two byt
0001F0: 65 73 2E 20 20 49 0D 0A 20 20 20 68 61 64 20 61 es. I.. had a
Size : 512 (Real : 512)
000000: 6E 6B 20 74 6F 20 63 77 6F 72 64 2C 20 69 6E 20 nk to cword, in
000010: 77 68 69 63 68 20 63 61 73 65 20 6A 3E 30 2C 20 which case j>0,
000020: 6F 72 0D 0A 20 20 20 77 65 20 77 69 6C 6C 20 6E or.. we will n
000030: 65 65 64 20 74 6F 20 61 64 64 20 6F 6E 65 2E 20 eed to add one.
000040: 20 56 61 72 69 61 62 6C 65 73 20 78 20 20 61 6E Variables x an
000050: 64 20 79 20 77 69 6C 6C 20 73 74 69 6C 6C 20 62 d y will still b
000060: 65 20 70 6F 69 6E 74 69 6E 67 20 61 74 20 74 68 e pointing at th
000070: 65 0D 0A 20 20 20 6E 65 78 74 20 66 72 65 65 20 e.. next free
000080: 6C 69 6E 6B 2C 20 73 6F 20 6C 69 6E 65 20 34 33 link, so line 43
000090: 30 20 69 73 20 20 61 6C 74 65 72 65 64 20 73 6C 0 is altered sl
0000A0: 69 67 68 74 6C 79 20 66 72 6F 6D 20 74 68 65 20 ightly from the
0000B0: 70 72 65 76 69 6F 75 73 20 76 65 72 73 69 6F 6E previous version
0000C0: 0D 0A 20 20 20 74 6F 20 63 68 61 6E 67 65 20 70 .. to change p
0000D0: 77 6F 72 64 20 74 6F 20 20 79 20 20 61 67 61 69 word to y agai
0000E0: 6E 2C 20 20 61 6E 64 20 20 74 68 65 20 20 6E 65 n, and the ne
0000F0: 77 20 20 6C 69 6E 6B 20 20 74 6F 20 20 63 77 6F w link to cwo
000100: 72 64 20 69 73 20 73 74 6F 72 65 64 20 69 6E 0D rd is stored in.
000110: 0A 20 20 20 6C 6B 28 79 2C 78 29 2E 20 20 4E 6F . lk(y,x). No
000120: 74 65 20 74 68 61 74 20 77 65 20 20 73 74 69 6C te that we stil
000130: 6C 20 20 75 73 65 20 20 70 77 6F 72 64 20 20 61 l use pword a
000140: 74 20 20 74 68 65 20 20 73 74 61 72 74 20 20 6F t the start o
000150: 66 20 20 6C 69 6E 65 20 34 33 30 20 74 6F 0D 0A f line 430 to..
000160: 20 20 20 69 6E 63 72 65 61 73 65 20 74 68 65 20 increase the
000170: 63 6F 75 6E 74 20 6F 66 20 74 68 65 20 6E 75 6D count of the num
000180: 62 65 72 20 6F 66 20 20 6C 69 6E 6B 73 20 20 66 ber of links f
000190: 72 6F 6D 20 70 77 6F 72 64 2C 20 77 68 69 63 68 rom pword, which
0001A0: 20 69 73 20 73 74 6F 72 65 64 20 69 6E 0D 0A 20 is stored in..
0001B0: 20 20 6C 6B 28 70 77 6F 72 64 2C 30 29 2E 0D 0A lk(pword,0)...
0001C0: 0D 0A 20 20 20 4F 6E 65 20 66 75 72 74 68 65 72 .. One further
0001D0: 20 74 68 69 6E 67 20 6E 65 65 64 73 20 74 6F 20 thing needs to
0001E0: 62 65 20 64 6F 6E 65 2C 20 77 68 69 63 68 20 20 be done, which
0001F0: 69 73 20 77 68 79 20 6C 69 6E 65 20 34 33 35 20 is why line 435
Size : 512 (Real : 512)
000000: 20 74 68 61 6E 20 74 68 65 20 70 72 65 76 69 6F than the previo
000010: 75 73 20 76 65 72 73 69 6F 6E 2C 20 20 61 6E 64 us version, and
000020: 20 20 6D 6F 73 74 20 20 6F 66 20 20 74 68 65 20 most of the
000030: 20 70 6F 77 65 72 20 20 6F 66 20 74 68 65 20 66 power of the f
000040: 61 73 74 20 50 65 6E 74 69 75 6D 0D 0A 20 20 20 ast Pentium..
000050: 70 72 6F 63 65 73 73 6F 72 73 20 69 73 20 77 61 processors is wa
000060: 73 74 65 64 20 69 6E 20 72 75 6E 6E 69 6E 67 20 sted in running
000070: 20 74 68 65 20 20 73 6C 6F 70 70 79 20 20 63 6F the sloppy co
000080: 64 65 20 69 6E 20 74 68 65 20 6F 70 65 72 61 74 de in the operat
000090: 69 6E 67 20 73 79 73 74 65 6D 0D 0A 20 20 20 61 ing system.. a
0000A0: 6E 64 20 74 68 65 20 69 6E 63 72 65 61 73 69 6E nd the increasin
0000B0: 67 6C 79 20 62 6C 6F 61 74 65 64 20 61 70 70 6C gly bloated appl
0000C0: 69 63 61 74 69 6F 6E 73 2E 0D 0A 0D 0A 20 20 20 ications.....
0000D0: 42 41 47 20 54 48 45 20 42 55 47 0D 0A 20 20 20 BAG THE BUG..
0000E0: 41 6E 79 77 61 79 2C 20 65 6E 6F 75 67 68 20 6F Anyway, enough o
0000F0: 66 20 74 68 61 74 2C 20 61 6E 64 20 62 61 63 6B f that, and back
000100: 20 74 6F 20 20 6F 75 72 20 66 72 69 65 6E 64 6C to our friendl
000110: 79 20 41 6D 73 74 72 61 64 73 2C 20 74 72 79 69 y Amstrads, tryi
000120: 6E 67 20 74 6F 20 6D 61 6B 65 0D 0A 20 20 20 63 ng to make.. c
000130: 6F 6E 76 65 72 73 61 74 69 6F 6E 2E 20 20 49 66 onversation. If
000140: 20 79 6F 75 20 61 72 65 20 66 65 65 6C 69 6E 67 you are feeling
000150: 20 72 65 61 6C 6C 79 20 20 6F 6E 20 20 74 68 65 really on the
000160: 20 20 62 61 6C 6C 2C 20 68 61 76 65 20 61 20 67 ball, have a g
000170: 6F 20 61 74 20 74 68 69 73 0D 0A 20 20 20 70 72 o at this.. pr
000180: 6F 62 6C 65 6D 2E 20 20 57 68 69 6C 65 20 77 72 oblem. While wr
000190: 69 74 69 6E 67 20 74 68 65 20 61 72 74 69 63 6C iting the articl
0001A0: 65 2C 20 49 20 73 70 6F 74 74 65 64 20 20 61 20 e, I spotted a
0001B0: 62 75 67 20 69 6E 20 74 68 65 20 70 72 6F 67 72 bug in the progr
0001C0: 61 6D 2C 20 74 68 61 74 0D 0A 20 20 20 63 61 6E am, that.. can
0001D0: 20 62 65 20 63 75 72 65 64 20 62 79 20 61 64 64 be cured by add
0001E0: 69 6E 67 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E ing the followin
0001F0: 67 20 74 77 6F 20 63 6F 6D 6D 61 6E 64 73 20 74 g two commands t
Size : 512 (Real : 512)
000000: 77 63 6F 75 6E 74 2B 31 0D 0A 31 34 30 20 70 77 wcount+1..140 pw
000010: 6F 72 64 3D 30 3A 46 4F 52 20 69 3D 30 20 54 4F ord=0:FOR i=0 TO
000020: 20 77 63 6F 75 6E 74 2D 31 3A 77 6F 72 64 24 3D wcount-1:word$=
000030: 74 65 6D 70 77 24 28 69 29 0D 0A 31 35 30 20 63 tempw$(i)..150 c
000040: 77 6F 72 64 3D 6E 77 6F 72 64 73 3A 57 48 49 4C word=nwords:WHIL
000050: 45 20 63 77 6F 72 64 3E 30 20 41 4E 44 20 77 6F E cword>0 AND wo
000060: 72 64 24 3C 3E 77 24 28 63 77 6F 72 64 29 3A 63 rd$<>w$(cword):c
000070: 77 6F 72 64 3D 63 77 6F 72 64 2D 31 3A 57 45 4E word=cword-1:WEN
000080: 44 0D 0A 31 36 30 20 49 46 20 63 77 6F 72 64 3D D..160 IF cword=
000090: 30 20 54 48 45 4E 20 6E 77 6F 72 64 73 3D 6E 77 0 THEN nwords=nw
0000A0: 6F 72 64 73 2B 31 3A 77 24 28 6E 77 6F 72 64 73 ords+1:w$(nwords
0000B0: 29 3D 77 6F 72 64 24 3A 6C 6B 28 6E 77 6F 72 64 )=word$:lk(nword
0000C0: 73 2C 30 29 3D 30 3A 63 77 6F 72 64 3D 6E 77 6F s,0)=0:cword=nwo
0000D0: 72 64 73 0D 0A 31 37 30 20 47 4F 53 55 42 20 34 rds..170 GOSUB 4
0000E0: 30 30 3A 70 77 6F 72 64 3D 63 77 6F 72 64 3A 4E 00:pword=cword:N
0000F0: 45 58 54 0D 0A 31 38 30 20 63 77 6F 72 64 3D 30 EXT..180 cword=0
000100: 3A 47 4F 53 55 42 20 34 30 30 0D 0A 31 39 30 20 :GOSUB 400..190
000110: 52 45 54 55 52 4E 0D 0A 32 30 30 20 70 77 6F 72 RETURN..200 pwor
000120: 64 3D 30 3A 47 4F 53 55 42 20 35 30 30 0D 0A 32 d=0:GOSUB 500..2
000130: 31 30 20 57 48 49 4C 45 20 70 77 6F 72 64 3E 30 10 WHILE pword>0
000140: 3A 50 52 49 4E 54 20 77 24 28 70 77 6F 72 64 29 :PRINT w$(pword)
000150: 22 20 22 3B 3A 47 4F 53 55 42 20 35 30 30 3A 57 " ";:GOSUB 500:W
000160: 45 4E 44 0D 0A 32 32 30 20 50 52 49 4E 54 20 43 END..220 PRINT C
000170: 48 52 24 28 38 29 3B 22 2E 22 3A 50 52 49 4E 54 HR$(8);".":PRINT
000180: 0D 0A 32 33 30 20 52 45 54 55 52 4E 0D 0A 33 30 ..230 RETURN..30
000190: 30 20 57 48 49 4C 45 20 4C 45 46 54 24 28 61 24 0 WHILE LEFT$(a$
0001A0: 2C 31 29 3D 22 20 22 3A 61 24 3D 4D 49 44 24 28 ,1)=" ":a$=MID$(
0001B0: 61 24 2C 32 29 3A 57 45 4E 44 3A 52 45 54 55 52 a$,2):WEND:RETUR
0001C0: 4E 0D 0A 34 30 30 20 6A 3D 6C 6B 28 70 77 6F 72 N..400 j=lk(pwor
0001D0: 64 2C 30 29 3A 78 3D 31 3A 79 3D 70 77 6F 72 64 d,0):x=1:y=pword
0001E0: 0D 0A 34 31 30 20 57 48 49 4C 45 20 6A 3E 30 20 ..410 WHILE j>0
0001F0: 41 4E 44 20 63 77 6F 72 64 3C 3E 6C 6B 28 79 2C AND cword<>lk(y,
Size : 512 (Real : 512)
000000: 6F 20 74 68 65 20 65 6E 64 20 6F 66 20 6C 69 6E o the end of lin
000010: 65 20 34 33 35 3A 0D 0A 0D 0A 20 20 20 20 20 77 e 435:.... w
000020: 24 28 6E 77 6F 72 64 73 29 3D 22 22 3A 6C 6B 28 $(nwords)="":lk(
000030: 6E 77 6F 72 64 73 2C 30 29 3D 30 0D 0A 0D 0A 20 nwords,0)=0....
000040: 20 20 43 61 6E 20 79 6F 75 20 77 6F 72 6B 20 6F Can you work o
000050: 75 74 20 77 68 61 74 20 74 68 65 20 62 75 67 20 ut what the bug
000060: 20 77 61 73 2C 20 20 61 6E 64 20 20 67 69 76 65 was, and give
000070: 20 20 61 6E 20 65 78 61 6D 70 6C 65 20 6F 66 20 an example of
000080: 68 6F 77 20 69 74 20 6D 69 67 68 74 0D 0A 20 20 how it might..
000090: 20 6D 61 6E 69 66 65 73 74 20 69 74 73 65 6C 66 manifest itself
0000A0: 3F 20 20 49 27 6C 6C 20 67 69 76 65 20 20 79 6F ? I'll give yo
0000B0: 75 20 20 61 20 20 63 6C 75 65 3A 20 20 69 74 20 u a clue: it
0000C0: 20 68 61 73 20 20 73 6F 6D 65 74 68 69 6E 67 20 has something
0000D0: 20 74 6F 20 64 6F 20 77 69 74 68 0D 0A 20 20 20 to do with..
0000E0: 6C 6F 61 64 69 6E 67 20 6F 6C 64 20 76 6F 63 61 loading old voca
0000F0: 62 75 6C 61 72 79 2E 20 20 54 68 65 20 61 6E 73 bulary. The ans
000100: 77 65 72 20 20 77 69 6C 6C 20 20 62 65 20 69 6E wer will be in
000110: 20 6E 65 78 74 20 6D 6F 6E 74 68 27 73 20 50 72 next month's Pr
000120: 6F 67 72 61 6D 6D 65 72 73 27 0D 0A 20 20 20 50 ogrammers'.. P
000130: 61 74 63 68 2E 0D 0A 0D 0A 20 20 20 2D 2D 2D 2D atch..... ----
000140: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000150: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000160: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 0D 0A 0D 0A 20 20 20 46 69 67 ------.... Fig
000190: 75 72 65 20 31 3A 20 4E 65 77 20 6C 69 6E 65 73 ure 1: New lines
0001A0: 20 74 6F 20 61 64 64 20 74 6F 20 74 68 65 20 41 to add to the A
0001B0: 49 20 70 72 6F 67 72 61 6D 0D 0A 0D 0A 20 20 20 I program....
0001C0: 34 30 30 20 6A 3D 6C 6B 28 70 77 6F 72 64 2C 30 400 j=lk(pword,0
0001D0: 29 3A 78 3D 31 3A 79 3D 70 77 6F 72 64 0D 0A 20 ):x=1:y=pword..
0001E0: 20 20 34 31 30 20 57 48 49 4C 45 20 6A 3E 30 20 410 WHILE j>0
0001F0: 41 4E 44 20 63 77 6F 72 64 3C 3E 6C 6B 28 79 2C AND cword<>lk(y,
Size : 512 (Real : 512)
000000: 78 29 3A 6A 3D 6A 2D 31 3A 78 3D 78 2B 31 0D 0A x):j=j-1:x=x+1..
000010: 34 31 35 20 49 46 20 78 3D 6D 6C 69 6E 6B 73 20 415 IF x=mlinks
000020: 54 48 45 4E 20 79 3D 6C 6B 28 79 2C 78 29 3A 78 THEN y=lk(y,x):x
000030: 3D 31 0D 0A 34 32 30 20 57 45 4E 44 3A 49 46 20 =1..420 WEND:IF
000040: 6A 3E 30 20 54 48 45 4E 20 34 34 30 0D 0A 34 33 j>0 THEN 440..43
000050: 30 20 6C 6B 28 70 77 6F 72 64 2C 30 29 3D 6C 6B 0 lk(pword,0)=lk
000060: 28 70 77 6F 72 64 2C 30 29 2B 31 3A 6C 6B 28 79 (pword,0)+1:lk(y
000070: 2C 78 29 3D 63 77 6F 72 64 0D 0A 34 33 35 20 49 ,x)=cword..435 I
000080: 46 20 78 3D 6D 6C 69 6E 6B 73 2D 31 20 54 48 45 F x=mlinks-1 THE
000090: 4E 20 6E 77 6F 72 64 73 3D 6E 77 6F 72 64 73 2B N nwords=nwords+
0000A0: 31 3A 6C 6B 28 79 2C 6D 6C 69 6E 6B 73 29 3D 6E 1:lk(y,mlinks)=n
0000B0: 77 6F 72 64 73 3A 77 24 28 6E 77 6F 72 64 73 29 words:w$(nwords)
0000C0: 3D 22 22 3A 6C 6B 28 6E 77 6F 72 64 73 2C 30 29 ="":lk(nwords,0)
0000D0: 3D 30 0D 0A 34 34 30 20 52 45 54 55 52 4E 0D 0A =0..440 RETURN..
0000E0: 35 30 30 20 69 3D 49 4E 54 28 52 4E 44 2A 6C 6B 500 i=INT(RND*lk
0000F0: 28 70 77 6F 72 64 2C 30 29 2B 31 29 0D 0A 35 30 (pword,0)+1)..50
000100: 35 20 57 48 49 4C 45 20 69 3E 3D 6D 6C 69 6E 6B 5 WHILE i>=mlink
000110: 73 3A 69 3D 31 2B 69 2D 6D 6C 69 6E 6B 73 3A 70 s:i=1+i-mlinks:p
000120: 77 6F 72 64 3D 6C 6B 28 70 77 6F 72 64 2C 6D 6C word=lk(pword,ml
000130: 69 6E 6B 73 29 3A 57 45 4E 44 0D 0A 35 31 30 20 inks):WEND..510
000140: 70 77 6F 72 64 3D 6C 6B 28 70 77 6F 72 64 2C 69 pword=lk(pword,i
000150: 29 3A 52 45 54 55 52 4E 0D 0A 36 30 30 20 66 69 ):RETURN..600 fi
000160: 6C 65 24 3D 4D 49 44 24 28 61 24 2C 37 29 3A 49 le$=MID$(a$,7):I
000170: 46 20 66 69 6C 65 24 3D 22 22 20 54 48 45 4E 20 F file$="" THEN
000180: 66 69 6C 65 24 3D 22 56 4F 43 41 42 22 0D 0A 36 file$="VOCAB"..6
000190: 31 30 20 4F 50 45 4E 49 4E 20 66 69 6C 65 24 3A 10 OPENIN file$:
0001A0: 49 4E 50 55 54 23 39 2C 6E 77 6F 72 64 73 0D 0A INPUT#9,nwords..
0001B0: 36 32 30 20 46 4F 52 20 69 3D 30 20 54 4F 20 6E 620 FOR i=0 TO n
0001C0: 77 6F 72 64 73 3A 49 4E 50 55 54 23 39 2C 77 24 words:INPUT#9,w$
0001D0: 28 69 29 2C 6C 6B 28 69 2C 30 29 0D 0A 36 33 30 (i),lk(i,0)..630
0001E0: 20 6A 3D 6C 6B 28 69 2C 30 29 3A 79 3D 69 3A 78 j=lk(i,0):y=i:x
0001F0: 3D 31 3A 57 48 49 4C 45 20 6A 3E 30 3A 6A 3D 6A =1:WHILE j>0:j=j
Size : 512 (Real : 512)
000000: 78 29 3A 6A 3D 6A 2D 31 3A 78 3D 78 2B 31 0D 0A x):j=j-1:x=x+1..
000010: 20 20 20 34 31 35 20 49 46 20 78 3D 6D 6C 69 6E 415 IF x=mlin
000020: 6B 73 20 54 48 45 4E 20 79 3D 6C 6B 28 79 2C 78 ks THEN y=lk(y,x
000030: 29 3A 78 3D 31 0D 0A 20 20 20 34 33 30 20 6C 6B ):x=1.. 430 lk
000040: 28 70 77 6F 72 64 2C 30 29 3D 6C 6B 28 70 77 6F (pword,0)=lk(pwo
000050: 72 64 2C 30 29 2B 31 3A 6C 6B 28 79 2C 78 29 3D rd,0)+1:lk(y,x)=
000060: 63 77 6F 72 64 0D 0A 20 20 20 34 33 35 20 49 46 cword.. 435 IF
000070: 20 78 3D 6D 6C 69 6E 6B 73 2D 31 20 54 48 45 4E x=mlinks-1 THEN
000080: 20 6E 77 6F 72 64 73 3D 6E 77 6F 72 64 73 2B 31 nwords=nwords+1
000090: 3A 6C 6B 28 79 2C 6D 6C 69 6E 6B 73 29 3D 6E 77 :lk(y,mlinks)=nw
0000A0: 6F 72 64 73 0D 0A 20 20 20 35 30 35 20 57 48 49 ords.. 505 WHI
0000B0: 4C 45 20 69 3E 3D 6D 6C 69 6E 6B 73 3A 69 3D 31 LE i>=mlinks:i=1
0000C0: 2B 69 2D 6D 6C 69 6E 6B 73 3A 70 77 6F 72 64 3D +i-mlinks:pword=
0000D0: 6C 6B 28 70 77 6F 72 64 2C 6D 6C 69 6E 6B 73 29 lk(pword,mlinks)
0000E0: 3A 57 45 4E 44 0D 0A 20 20 20 36 33 30 20 6A 3D :WEND.. 630 j=
0000F0: 6C 6B 28 69 2C 30 29 3A 79 3D 69 3A 78 3D 31 3A lk(i,0):y=i:x=1:
000100: 57 48 49 4C 45 20 6A 3E 30 3A 6A 3D 6A 2D 31 3A WHILE j>0:j=j-1:
000110: 49 4E 50 55 54 23 39 2C 6C 6B 28 79 2C 78 29 3A INPUT#9,lk(y,x):
000120: 78 3D 78 2B 31 0D 0A 20 20 20 36 33 35 20 49 46 x=x+1.. 635 IF
000130: 20 78 3D 6D 6C 69 6E 6B 73 20 54 48 45 4E 20 49 x=mlinks THEN I
000140: 4E 50 55 54 23 39 2C 6C 6B 28 79 2C 78 29 3A 79 NPUT#9,lk(y,x):y
000150: 3D 6C 6B 28 79 2C 78 29 3A 78 3D 31 0D 0A 20 20 =lk(y,x):x=1..
000160: 20 36 33 36 20 57 45 4E 44 3A 4E 45 58 54 0D 0A 636 WEND:NEXT..
000170: 20 20 20 37 33 30 20 6A 3D 6C 6B 28 69 2C 30 29 730 j=lk(i,0)
000180: 3A 79 3D 69 3A 78 3D 31 3A 57 48 49 4C 45 20 6A :y=i:x=1:WHILE j
000190: 3E 30 3A 6A 3D 6A 2D 31 3A 57 52 49 54 45 23 39 >0:j=j-1:WRITE#9
0001A0: 2C 6C 6B 28 79 2C 78 29 3A 78 3D 78 2B 31 0D 0A ,lk(y,x):x=x+1..
0001B0: 20 20 20 37 33 35 20 49 46 20 78 3D 6D 6C 69 6E 735 IF x=mlin
0001C0: 6B 73 20 54 48 45 4E 20 57 52 49 54 45 23 39 2C ks THEN WRITE#9,
0001D0: 6C 6B 28 79 2C 78 29 3A 79 3D 6C 6B 28 79 2C 78 lk(y,x):y=lk(y,x
0001E0: 29 3A 78 3D 31 0D 0A 20 20 20 37 33 36 20 57 45 ):x=1.. 736 WE
0001F0: 4E 44 3A 4E 45 58 54 0D 0A 0D 0A 20 20 20 2D 2D ND:NEXT.... --
Size : 512 (Real : 512)
000000: 77 69 74 68 20 73 65 74 74 69 6E 67 20 6D 6C 69 with setting mli
000010: 6E 6B 73 20 20 74 6F 20 20 32 30 2C 20 20 77 68 nks to 20, wh
000020: 69 63 68 20 20 72 65 71 75 69 72 65 73 20 61 74 ich requires at
000030: 20 6C 65 61 73 74 20 66 69 66 74 79 0D 0A 20 20 least fifty..
000040: 20 62 79 74 65 73 20 70 65 72 20 77 6F 72 64 2E bytes per word.
000050: 20 20 42 79 20 72 65 64 75 63 69 6E 67 20 6D 6C By reducing ml
000060: 69 6E 6B 73 20 74 6F 20 36 20 20 66 72 6F 6D 20 inks to 6 from
000070: 32 30 20 77 65 20 63 61 6E 20 66 69 74 20 74 77 20 we can fit tw
000080: 69 63 65 20 61 73 20 6D 61 6E 79 0D 0A 20 20 20 ice as many..
000090: 77 6F 72 64 73 20 69 6E 20 6D 65 6D 6F 72 79 2E words in memory.
0000A0: 20 20 20 43 65 72 74 61 69 6E 6C 79 20 20 6D 77 Certainly mw
0000B0: 6F 72 64 73 20 20 63 6F 75 6C 64 20 20 62 65 20 ords could be
0000C0: 20 73 65 74 20 20 74 6F 20 20 73 6F 6D 65 74 68 set to someth
0000D0: 69 6E 67 20 6F 76 65 72 20 61 0D 0A 20 20 20 74 ing over a.. t
0000E0: 68 6F 75 73 61 6E 64 2E 0D 0A 0D 0A 20 20 20 49 housand..... I
0000F0: 66 20 79 6F 75 20 61 6C 74 65 72 20 6D 6C 69 6E f you alter mlin
000100: 6B 73 2C 20 20 74 68 65 6E 20 20 76 6F 63 61 62 ks, then vocab
000110: 75 6C 61 72 79 20 20 73 61 76 65 64 20 20 74 6F ulary saved to
000120: 20 20 64 69 73 63 20 20 77 68 65 6E 20 6D 6C 69 disc when mli
000130: 6E 6B 73 20 77 61 73 20 61 0D 0A 20 20 20 64 69 nks was a.. di
000140: 66 66 65 72 65 6E 74 20 76 61 6C 75 65 20 77 69 fferent value wi
000150: 6C 6C 20 6E 6F 74 20 6C 6F 61 64 20 20 69 6E 20 ll not load in
000160: 20 63 6F 72 72 65 63 74 6C 79 2C 20 20 73 6F 20 correctly, so
000170: 20 69 74 20 20 69 73 20 77 69 73 65 20 74 6F 20 it is wise to
000180: 63 68 6F 6F 73 65 20 61 0D 0A 20 20 20 73 75 69 choose a.. sui
000190: 74 61 62 6C 65 20 76 61 6C 75 65 20 66 6F 72 20 table value for
0001A0: 6D 6C 69 6E 6B 73 20 61 6E 64 20 73 74 69 63 6B mlinks and stick
0001B0: 20 74 6F 20 74 68 61 74 2E 20 20 20 49 20 77 69 to that. I wi
0001C0: 6C 6C 20 62 65 20 75 73 69 6E 67 20 36 20 69 6E ll be using 6 in
0001D0: 20 66 75 74 75 72 65 0D 0A 20 20 20 65 78 61 6D future.. exam
0001E0: 70 6C 65 73 2C 20 62 75 74 20 79 6F 75 20 63 61 ples, but you ca
0001F0: 6E 20 65 61 73 69 6C 79 20 61 6C 74 65 72 20 69 n easily alter i
Size : 512 (Real : 512)
000000: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000010: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000020: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000030: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000040: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A 0D 0A 20 20 20 46 --------.... F
000050: 69 67 75 72 65 20 32 3A 20 54 68 65 20 6E 65 77 igure 2: The new
000060: 20 73 75 62 72 6F 75 74 69 6E 65 20 61 74 20 34 subroutine at 4
000070: 30 30 0D 0A 0D 0A 20 20 20 34 30 30 20 6A 3D 6C 00.... 400 j=l
000080: 6B 28 70 77 6F 72 64 2C 30 29 3A 78 3D 31 3A 79 k(pword,0):x=1:y
000090: 3D 70 77 6F 72 64 0D 0A 20 20 20 34 31 30 20 57 =pword.. 410 W
0000A0: 48 49 4C 45 20 6A 3E 30 20 41 4E 44 20 63 77 6F HILE j>0 AND cwo
0000B0: 72 64 3C 3E 6C 6B 28 79 2C 78 29 3A 6A 3D 6A 2D rd<>lk(y,x):j=j-
0000C0: 31 3A 78 3D 78 2B 31 0D 0A 20 20 20 34 31 35 20 1:x=x+1.. 415
0000D0: 49 46 20 78 3D 6D 6C 69 6E 6B 73 20 54 48 45 4E IF x=mlinks THEN
0000E0: 20 79 3D 6C 6B 28 79 2C 78 29 3A 78 3D 31 0D 0A y=lk(y,x):x=1..
0000F0: 20 20 20 34 32 30 20 57 45 4E 44 3A 49 46 20 6A 420 WEND:IF j
000100: 3E 30 20 54 48 45 4E 20 34 34 30 0D 0A 20 20 20 >0 THEN 440..
000110: 34 33 30 20 6C 6B 28 70 77 6F 72 64 2C 30 29 3D 430 lk(pword,0)=
000120: 6C 6B 28 70 77 6F 72 64 2C 30 29 2B 31 3A 6C 6B lk(pword,0)+1:lk
000130: 28 79 2C 78 29 3D 63 77 6F 72 64 0D 0A 20 20 20 (y,x)=cword..
000140: 34 33 35 20 49 46 20 78 3D 6D 6C 69 6E 6B 73 2D 435 IF x=mlinks-
000150: 31 20 54 48 45 4E 20 6E 77 6F 72 64 73 3D 6E 77 1 THEN nwords=nw
000160: 6F 72 64 73 2B 31 3A 6C 6B 28 79 2C 6D 6C 69 6E ords+1:lk(y,mlin
000170: 6B 73 29 3D 6E 77 6F 72 64 73 0D 0A 20 20 20 34 ks)=nwords.. 4
000180: 34 30 20 52 45 54 55 52 4E 0D 0A 1A 24 FF 00 FF 40 RETURN...$...
000190: 74 63 68 20 31 37 20 2D 20 57 41 43 43 49 20 31 tch 17 - WACCI 1
0001A0: 32 36 0D 0A 20 20 20 50 52 4F 47 52 41 4D 4D 45 26.. PROGRAMME
0001B0: 52 53 27 20 50 41 54 43 48 20 31 37 0D 0A 20 20 RS' PATCH 17..
0001C0: 20 42 79 20 4D 61 74 74 68 65 77 20 50 68 69 6C By Matthew Phil
0001D0: 6C 69 70 73 0D 0A 0D 0A 20 20 20 54 68 65 20 73 lips.... The s
0001E0: 75 6E 20 62 65 61 74 20 64 6F 77 6E 20 6F 6E 20 un beat down on
0001F0: 74 68 65 20 77 69 64 65 20 20 64 65 73 65 72 74 the wide desert
Size : 512 (Real : 512)
000000: 74 20 74 6F 20 77 68 61 74 65 76 65 72 20 79 6F t to whatever yo
000010: 75 20 68 61 76 65 20 73 65 6C 65 63 74 65 64 2E u have selected.
000020: 0D 0A 0D 0A 20 20 20 54 68 69 73 20 73 6F 72 74 .... This sort
000030: 20 6F 66 20 63 61 6C 63 75 6C 61 74 69 6F 6E 2C of calculation,
000040: 20 6F 70 74 69 6D 69 73 69 6E 67 20 74 68 65 20 optimising the
000050: 20 6D 65 74 68 6F 64 20 66 6F 72 20 73 74 6F 72 method for stor
000060: 69 6E 67 20 79 6F 75 72 20 64 61 74 61 2C 20 69 ing your data, i
000070: 73 0D 0A 20 20 20 6F 66 74 65 6E 20 6E 65 65 64 s.. often need
000080: 65 64 20 77 68 65 6E 20 70 72 6F 67 72 61 6D 6D ed when programm
000090: 69 6E 67 20 6D 61 63 68 69 6E 65 73 20 77 69 74 ing machines wit
0000A0: 68 20 72 65 6C 61 74 69 76 65 6C 79 20 6C 69 74 h relatively lit
0000B0: 74 6C 65 20 6D 65 6D 6F 72 79 2C 20 6C 69 6B 65 tle memory, like
0000C0: 0D 0A 20 20 20 6F 75 72 20 41 6D 73 74 72 61 64 .. our Amstrad
0000D0: 73 2E 20 20 49 74 20 69 73 20 61 6C 73 6F 20 61 s. It is also a
0000E0: 20 67 6F 6F 64 20 20 68 61 62 69 74 20 20 74 6F good habit to
0000F0: 20 67 65 74 20 69 6E 74 6F 20 77 68 65 6E 20 70 get into when p
000100: 72 6F 67 72 61 6D 6D 69 6E 67 20 6D 6F 72 65 0D rogramming more.
000110: 0A 20 20 20 70 6F 77 65 72 66 75 6C 20 6D 61 63 . powerful mac
000120: 68 69 6E 65 73 2E 20 20 53 61 64 6C 79 2C 20 6D hines. Sadly, m
000130: 6F 73 74 20 63 6F 6D 6D 65 72 63 69 61 6C 20 20 ost commercial
000140: 70 72 6F 67 72 61 6D 73 20 20 66 6F 72 20 57 69 programs for Wi
000150: 6E 64 6F 77 73 20 50 43 73 20 74 65 6E 64 0D 0A ndows PCs tend..
000160: 20 20 20 74 6F 20 63 6F 6D 70 65 74 65 20 6F 6E to compete on
000170: 20 74 68 65 20 66 65 61 74 75 72 65 73 20 74 68 the features th
000180: 65 79 20 20 70 72 6F 76 69 64 65 2C 20 20 72 61 ey provide, ra
000190: 74 68 65 72 20 20 74 68 61 6E 20 74 68 65 20 73 ther than the s
0001A0: 70 65 65 64 20 61 74 20 77 68 69 63 68 0D 0A 20 peed at which..
0001B0: 20 20 74 68 65 79 20 72 75 6E 2E 20 20 4E 65 77 they run. New
0001C0: 65 72 20 76 65 72 73 69 6F 6E 73 20 68 61 76 65 er versions have
0001D0: 20 20 6D 6F 72 65 20 20 66 65 61 74 75 72 65 73 more features
0001E0: 2C 20 20 62 75 74 20 6F 66 74 65 6E 20 72 75 6E , but often run
0001F0: 20 6D 6F 72 65 20 73 6C 6F 77 6C 79 0D 0A 20 20 more slowly..
Size : 512 (Real : 512)
000000: 31 30 20 44 45 46 49 4E 54 20 61 2D 7A 3A 4F 50 10 DEFINT a-z:OP
000010: 45 4E 4F 55 54 22 64 22 3A 4D 45 4D 4F 52 59 20 ENOUT"d":MEMORY
000020: 48 49 4D 45 4D 2D 31 3A 43 4C 4F 53 45 4F 55 54 HIMEM-1:CLOSEOUT
000030: 0D 0A 32 30 20 6D 77 6F 72 64 73 3D 31 30 30 30 ..20 mwords=1000
000040: 3A 6D 6C 69 6E 6B 73 3D 36 3A 6E 77 6F 72 64 73 :mlinks=6:nwords
000050: 3D 30 0D 0A 33 30 20 44 49 4D 20 77 24 28 6D 77 =0..30 DIM w$(mw
000060: 6F 72 64 73 29 2C 6C 6B 28 6D 77 6F 72 64 73 2C ords),lk(mwords,
000070: 6D 6C 69 6E 6B 73 29 2C 74 65 6D 70 77 24 28 31 mlinks),tempw$(1
000080: 32 38 29 0D 0A 34 30 20 4C 49 4E 45 20 49 4E 50 28)..40 LINE INP
000090: 55 54 22 22 2C 61 24 0D 0A 34 31 20 49 46 20 55 UT"",a$..41 IF U
0000A0: 50 50 45 52 24 28 4C 45 46 54 24 28 61 24 2C 35 PPER$(LEFT$(a$,5
0000B0: 29 29 3D 22 2A 4C 4F 41 44 22 20 54 48 45 4E 20 ))="*LOAD" THEN
0000C0: 47 4F 53 55 42 20 36 30 30 3A 47 4F 54 4F 20 34 GOSUB 600:GOTO 4
0000D0: 30 0D 0A 34 32 20 49 46 20 55 50 50 45 52 24 28 0..42 IF UPPER$(
0000E0: 4C 45 46 54 24 28 61 24 2C 35 29 29 3D 22 2A 53 LEFT$(a$,5))="*S
0000F0: 41 56 45 22 20 54 48 45 4E 20 47 4F 53 55 42 20 AVE" THEN GOSUB
000100: 37 30 30 3A 47 4F 54 4F 20 34 30 0D 0A 35 30 20 700:GOTO 40..50
000110: 77 63 6F 75 6E 74 3D 30 3A 47 4F 53 55 42 20 33 wcount=0:GOSUB 3
000120: 30 30 3A 49 46 20 61 24 3C 3E 22 22 20 54 48 45 00:IF a$<>"" THE
000130: 4E 20 47 4F 53 55 42 20 31 30 30 0D 0A 36 30 20 N GOSUB 100..60
000140: 47 4F 53 55 42 20 32 30 30 3A 47 4F 54 4F 20 34 GOSUB 200:GOTO 4
000150: 30 0D 0A 31 30 30 20 57 48 49 4C 45 20 49 4E 53 0..100 WHILE INS
000160: 54 52 28 61 24 2C 22 20 22 29 3E 30 3A 61 3D 49 TR(a$," ")>0:a=I
000170: 4E 53 54 52 28 61 24 2C 22 20 22 29 0D 0A 31 31 NSTR(a$," ")..11
000180: 30 20 74 65 6D 70 77 24 28 77 63 6F 75 6E 74 29 0 tempw$(wcount)
000190: 3D 4C 45 46 54 24 28 61 24 2C 61 2D 31 29 3A 61 =LEFT$(a$,a-1):a
0001A0: 24 3D 4D 49 44 24 28 61 24 2C 61 2B 31 29 0D 0A $=MID$(a$,a+1)..
0001B0: 31 32 30 20 77 63 6F 75 6E 74 3D 77 63 6F 75 6E 120 wcount=wcoun
0001C0: 74 2B 31 3A 47 4F 53 55 42 20 33 30 30 3A 57 45 t+1:GOSUB 300:WE
0001D0: 4E 44 0D 0A 31 33 30 20 49 46 20 61 24 3C 3E 22 ND..130 IF a$<>"
0001E0: 22 20 54 48 45 4E 20 74 65 6D 70 77 24 28 77 63 " THEN tempw$(wc
0001F0: 6F 75 6E 74 29 3D 61 24 3A 77 63 6F 75 6E 74 3D ount)=a$:wcount=
Size : 512 (Real : 512)
000000: 77 6F 72 64 20 74 68 65 20 66 75 6E 63 74 69 6F word the functio
000010: 6E 20 77 69 6C 6C 0D 0A 20 20 20 61 6C 77 61 79 n will.. alway
000020: 73 20 63 68 75 72 6E 20 6F 75 74 20 74 68 65 20 s churn out the
000030: 73 61 6D 65 20 20 6E 75 6D 62 65 72 2C 20 20 62 same number, b
000040: 75 74 20 20 69 74 20 20 69 73 20 75 6E 70 72 65 ut it is unpre
000050: 64 69 63 74 61 62 6C 65 20 69 6E 20 74 68 65 20 dictable in the
000060: 73 65 6E 73 65 0D 0A 20 20 20 74 68 61 74 20 69 sense.. that i
000070: 66 20 79 6F 75 20 67 61 76 65 20 6D 65 20 61 20 f you gave me a
000080: 77 6F 72 64 20 49 20 77 6F 75 6C 64 20 6E 6F 74 word I would not
000090: 20 62 65 20 61 62 6C 65 20 74 6F 20 67 75 65 73 be able to gues
0000A0: 73 20 77 68 65 74 68 65 72 20 74 68 65 20 6E 75 s whether the nu
0000B0: 6D 62 65 72 0D 0A 20 20 20 77 6F 75 6C 64 20 62 mber.. would b
0000C0: 65 20 6E 65 61 72 65 72 20 31 20 6F 72 20 31 30 e nearer 1 or 10
0000D0: 30 30 20 77 69 74 68 6F 75 74 20 77 6F 72 6B 69 00 without worki
0000E0: 6E 67 20 74 68 65 20 66 75 6E 63 74 69 6F 6E 20 ng the function
0000F0: 6F 75 74 20 6D 79 73 65 6C 66 2E 0D 0A 0D 0A 20 out myself.....
000100: 20 20 4D 41 4B 49 4E 47 20 41 20 48 41 53 48 20 MAKING A HASH
000110: 4F 46 20 49 54 0D 0A 20 20 20 4C 69 6E 65 20 38 OF IT.. Line 8
000120: 30 30 20 69 73 20 77 68 65 72 65 20 74 68 65 20 00 is where the
000130: 68 61 73 68 20 66 75 6E 63 74 69 6F 6E 20 20 63 hash function c
000140: 6F 6D 65 73 20 20 69 6E 20 6F 75 72 20 65 78 61 omes in our exa
000150: 6D 70 6C 65 20 70 72 6F 67 72 61 6D 2E 20 20 49 mple program. I
000160: 74 20 69 73 0D 0A 20 20 20 71 75 69 74 65 20 63 t is.. quite c
000170: 6F 6D 70 6C 69 63 61 74 65 64 2C 20 62 75 74 20 omplicated, but
000180: 69 74 20 6E 65 65 64 73 20 74 6F 20 75 73 65 20 it needs to use
000190: 20 61 20 20 67 6F 6F 64 20 73 70 72 65 61 64 20 a good spread
0001A0: 6F 66 20 6C 65 74 74 65 72 73 20 66 72 6F 6D 20 of letters from
0001B0: 61 6C 6C 0D 0A 20 20 20 62 69 74 73 20 6F 66 20 all.. bits of
0001C0: 74 68 65 20 77 6F 72 64 2E 20 20 20 49 20 20 6A the word. I j
0001D0: 75 73 74 20 20 6D 61 64 65 20 20 69 74 20 20 75 ust made it u
0001E0: 70 20 20 79 65 73 74 65 72 64 61 79 2C 20 20 73 p yesterday, s
0001F0: 6F 20 74 68 65 72 65 20 69 73 20 6E 6F 74 68 69 o there is nothi
Size : 512 (Real : 512)
000000: 67 20 66 6F 72 20 77 6F 72 64 73 2E 20 20 45 76 g for words. Ev
000010: 65 72 79 20 74 69 6D 65 20 77 65 20 74 79 70 65 ery time we type
000020: 20 61 20 73 65 6E 74 65 6E 63 65 20 69 6E 20 41 a sentence in A
000030: 49 2C 0D 0A 20 20 20 69 74 20 68 61 73 20 74 6F I,.. it has to
000040: 20 73 65 61 72 63 68 20 74 6F 20 73 65 65 20 77 search to see w
000050: 68 65 74 68 65 72 20 77 65 20 68 61 76 65 20 75 hether we have u
000060: 73 65 64 20 65 61 63 68 20 77 6F 72 64 20 61 6C sed each word al
000070: 72 65 61 64 79 20 69 6E 20 6F 72 64 65 72 20 74 ready in order t
000080: 6F 0D 0A 20 20 20 61 64 64 20 74 68 65 20 6E 65 o.. add the ne
000090: 77 20 77 6F 72 64 73 20 61 6E 64 20 63 72 65 61 w words and crea
0000A0: 74 65 20 6C 69 6E 6B 73 20 62 65 74 77 65 65 6E te links between
0000B0: 20 74 68 65 6D 20 61 6E 64 20 74 68 65 20 65 78 them and the ex
0000C0: 69 73 74 69 6E 67 20 6F 6E 65 73 2E 20 20 49 6E isting ones. In
0000D0: 0D 0A 20 20 20 74 68 65 20 6F 72 69 67 69 6E 61 .. the origina
0000E0: 6C 20 41 49 20 70 72 6F 67 72 61 6D 2C 20 20 74 l AI program, t
0000F0: 68 65 20 20 73 65 61 72 63 68 69 6E 67 20 20 61 he searching a
000100: 63 63 6F 75 6E 74 65 64 20 20 66 6F 72 20 20 6D ccounted for m
000110: 6F 73 74 20 6F 66 20 74 68 65 20 74 69 6D 65 0D ost of the time.
000120: 0A 20 20 20 74 61 6B 65 6E 20 70 72 6F 63 65 73 . taken proces
000130: 73 69 6E 67 20 74 68 65 20 75 73 65 72 27 73 20 sing the user's
000140: 20 73 65 6E 74 65 6E 63 65 73 2E 20 20 20 54 68 sentences. Th
000150: 65 20 20 62 69 6E 61 72 79 20 20 74 72 65 65 20 e binary tree
000160: 73 79 73 74 65 6D 20 74 68 61 74 20 77 65 0D 0A system that we..
000170: 20 20 20 64 65 76 65 6C 6F 70 65 64 20 6C 61 73 developed las
000180: 74 20 6D 6F 6E 74 68 20 69 6D 70 72 6F 76 65 64 t month improved
000190: 20 74 68 65 20 73 70 65 65 64 20 63 6F 6E 73 69 the speed consi
0001A0: 64 65 72 61 62 6C 79 20 62 79 20 73 74 6F 72 69 derably by stori
0001B0: 6E 67 20 61 6C 6C 20 6F 66 20 74 68 65 0D 0A 20 ng all of the..
0001C0: 20 20 77 6F 72 64 73 20 69 6E 20 61 6C 70 68 61 words in alpha
0001D0: 62 65 74 69 63 61 6C 20 6F 72 64 65 72 2E 20 20 betical order.
0001E0: 20 54 68 69 73 20 20 6D 6F 6E 74 68 27 73 20 20 This month's
0001F0: 6C 69 73 74 69 6E 67 20 20 6D 61 6B 65 73 20 74 listing makes t
Size : 512 (Real : 512)
000000: 6E 67 0D 0A 20 20 20 73 70 65 63 69 61 6C 20 61 ng.. special a
000010: 62 6F 75 74 20 69 74 2C 20 62 75 74 20 69 74 20 bout it, but it
000020: 73 65 65 6D 73 20 74 6F 20 77 6F 72 6B 20 61 6C seems to work al
000030: 6C 20 72 69 67 68 74 2E 0D 0A 0D 0A 20 20 20 54 l right..... T
000040: 68 65 20 63 61 6C 63 75 6C 61 74 69 6F 6E 20 69 he calculation i
000050: 73 20 64 6F 6E 65 20 69 6E 20 73 65 76 65 72 61 s done in severa
000060: 6C 20 73 74 61 67 65 73 2C 20 75 73 69 6E 67 20 l stages, using
000070: 74 68 65 20 41 53 43 20 66 75 6E 63 74 69 6F 6E the ASC function
000080: 20 61 6C 6C 20 6F 76 65 72 0D 0A 20 20 20 74 68 all over.. th
000090: 65 20 70 6C 61 63 65 20 74 6F 20 74 75 72 6E 20 e place to turn
0000A0: 20 74 68 65 20 20 6C 65 74 74 65 72 73 20 20 6F the letters o
0000B0: 66 20 20 74 68 65 20 20 77 6F 72 64 20 20 69 6E f the word in
0000C0: 74 6F 20 20 41 53 43 49 49 20 6E 75 6D 62 65 72 to ASCII number
0000D0: 73 2E 20 20 49 20 61 6D 0D 0A 20 20 20 75 73 69 s. I am.. usi
0000E0: 6E 67 20 74 68 65 20 52 49 47 48 54 24 20 66 75 ng the RIGHT$ fu
0000F0: 6E 63 74 69 6F 6E 20 74 6F 20 67 65 74 20 6C 65 nction to get le
000100: 74 74 65 72 73 20 20 66 72 6F 6D 20 64 69 66 66 tters from diff
000110: 65 72 65 6E 74 20 62 69 74 73 20 6F 66 20 74 68 erent bits of th
000120: 65 20 77 6F 72 64 2E 0D 0A 20 20 20 54 68 65 20 e word... The
000130: 69 6D 70 6F 72 74 61 6E 74 20 66 65 61 74 75 72 important featur
000140: 65 20 6F 66 20 74 68 65 20 63 61 6C 63 75 6C 61 e of the calcula
000150: 74 69 6F 6E 20 20 69 73 20 20 74 68 61 74 20 20 tion is that
000160: 63 20 65 6E 64 73 20 75 70 20 73 6D 61 6C 6C 65 c ends up smalle
000170: 72 20 74 68 61 6E 0D 0A 20 20 20 33 32 37 36 38 r than.. 32768
000180: 2E 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 . This is becau
000190: 73 65 20 74 68 65 20 6C 61 73 74 20 74 68 69 6E se the last thin
0001A0: 67 20 77 65 20 64 6F 20 69 73 20 73 65 74 20 63 g we do is set c
0001B0: 77 6F 72 64 20 74 6F 20 63 20 4D 4F 44 20 6D 77 word to c MOD mw
0001C0: 6F 72 64 73 2C 0D 0A 20 20 20 61 6E 64 20 69 66 ords,.. and if
0001D0: 20 63 20 77 61 73 20 62 69 67 67 65 72 20 74 68 c was bigger th
0001E0: 61 6E 20 33 32 37 36 37 20 74 68 65 20 4D 4F 44 an 32767 the MOD
0001F0: 20 77 6F 75 6C 64 20 6E 6F 74 20 63 6F 70 65 2E would not cope.
Size : 512 (Real : 512)
000000: 68 65 20 73 65 61 72 63 68 69 6E 67 0D 0A 20 20 he searching..
000010: 20 65 76 65 6E 20 66 61 73 74 65 72 20 62 79 20 even faster by
000020: 73 74 6F 72 69 6E 67 20 74 68 65 20 77 6F 72 64 storing the word
000030: 73 20 69 6E 20 20 61 20 74 6F 74 61 6C 6C 79 20 s in a totally
000040: 72 61 6E 64 6F 6D 20 6F 72 64 65 72 2E 20 20 59 random order. Y
000050: 65 73 2C 20 69 74 20 64 6F 65 73 0D 0A 20 20 20 es, it does..
000060: 73 6F 75 6E 64 20 72 69 64 69 63 75 6C 6F 75 73 sound ridiculous
000070: 2E 20 20 4C 65 74 20 6D 65 20 65 78 70 6C 61 69 . Let me explai
000080: 6E 2E 2E 2E 0D 0A 0D 0A 20 20 20 4E 55 4D 42 45 n....... NUMBE
000090: 52 20 43 52 55 4E 43 48 49 4E 47 0D 0A 20 20 20 R CRUNCHING..
0000A0: 54 68 65 20 63 6F 6E 63 65 70 74 20 77 65 20 77 The concept we w
0000B0: 69 6C 6C 20 62 65 20 65 78 70 6C 6F 72 69 6E 67 ill be exploring
0000C0: 20 20 74 68 69 73 20 20 6D 6F 6E 74 68 20 20 69 this month i
0000D0: 73 20 6B 6E 6F 77 6E 20 61 73 20 74 68 65 20 68 s known as the h
0000E0: 61 73 68 20 74 61 62 6C 65 2E 0D 0A 20 20 20 54 ash table... T
0000F0: 68 65 20 69 64 65 61 20 69 73 20 74 68 61 74 20 he idea is that
000100: 20 77 68 65 6E 20 20 77 65 20 20 73 74 6F 72 65 when we store
000110: 20 20 61 20 20 77 6F 72 64 20 20 69 6E 20 20 74 a word in t
000120: 68 65 20 20 61 72 72 61 79 20 20 77 65 20 75 73 he array we us
000130: 65 20 61 20 22 68 61 73 68 0D 0A 20 20 20 66 75 e a "hash.. fu
000140: 6E 63 74 69 6F 6E 22 20 77 68 69 63 68 20 67 69 nction" which gi
000150: 76 65 73 20 75 73 20 61 20 6E 75 6D 62 65 72 20 ves us a number
000160: 20 62 61 73 65 64 20 20 6F 6E 20 20 74 68 65 20 based on the
000170: 77 6F 72 64 2E 20 20 57 65 20 75 73 65 20 74 68 word. We use th
000180: 69 73 20 6D 61 67 69 63 0D 0A 20 20 20 6E 75 6D is magic.. num
000190: 62 65 72 20 74 6F 20 74 65 6C 6C 20 75 73 20 77 ber to tell us w
0001A0: 68 65 72 65 20 74 6F 20 73 74 6F 72 65 20 74 68 here to store th
0001B0: 65 20 77 6F 72 64 20 69 6E 20 74 68 65 20 61 72 e word in the ar
0001C0: 72 61 79 2E 0D 0A 0D 0A 20 20 20 46 6F 72 20 65 ray..... For e
0001D0: 78 61 6D 70 6C 65 2C 20 77 65 20 63 6F 75 6C 64 xample, we could
0001E0: 20 68 61 76 65 20 61 20 68 61 73 68 20 20 66 75 have a hash fu
0001F0: 6E 63 74 69 6F 6E 20 77 68 69 63 68 20 6A 75 73 nction which jus
Size : 512 (Real : 512)
000000: 0D 0A 0D 0A 20 20 20 54 68 65 20 4D 4F 44 20 63 .... The MOD c
000010: 6F 6D 6D 61 6E 64 20 6D 61 6B 65 73 20 6E 75 6D ommand makes num
000020: 62 65 72 73 20 22 77 72 61 70 20 72 6F 75 6E 64 bers "wrap round
000030: 22 2E 20 20 49 66 20 79 6F 75 20 64 6F 20 61 20 ". If you do a
000040: 6E 75 6D 62 65 72 20 4D 4F 44 20 32 30 2C 20 69 number MOD 20, i
000050: 74 0D 0A 20 20 20 65 73 73 65 6E 74 69 61 6C 6C t.. essentiall
000060: 79 20 73 75 62 74 72 61 63 74 73 20 32 30 20 66 y subtracts 20 f
000070: 72 6F 6D 20 74 68 65 20 6E 75 6D 62 65 72 20 20 rom the number
000080: 72 65 70 65 61 74 65 64 6C 79 20 75 6E 74 69 6C repeatedly until
000090: 20 74 68 65 20 72 65 73 75 6C 74 20 69 73 20 61 the result is a
0000A0: 0D 0A 20 20 20 6E 75 6D 62 65 72 20 66 72 6F 6D .. number from
0000B0: 20 30 20 74 6F 20 31 39 2E 20 20 52 65 6D 65 6D 0 to 19. Remem
0000C0: 62 65 72 20 20 74 68 61 74 20 20 6D 77 6F 72 64 ber that mword
0000D0: 73 20 20 69 73 20 74 68 65 20 6E 75 6D 62 65 72 s is the number
0000E0: 20 6F 66 20 65 6C 65 6D 65 6E 74 73 20 69 6E 0D of elements in.
0000F0: 0A 20 20 20 74 68 65 20 61 72 72 61 79 2C 20 64 . the array, d
000100: 69 6D 65 6E 73 69 6F 6E 65 64 20 69 6E 20 6C 69 imensioned in li
000110: 6E 65 20 33 30 2E 20 20 54 68 69 73 20 6D 65 61 ne 30. This mea
000120: 6E 73 20 74 68 61 74 20 63 77 6F 72 64 20 63 61 ns that cword ca
000130: 6E 20 65 6E 64 20 75 70 20 74 6F 20 62 65 0D 0A n end up to be..
000140: 20 20 20 61 6E 79 20 6E 75 6D 62 65 72 20 62 65 any number be
000150: 74 77 65 65 6E 20 30 20 61 6E 64 20 6D 77 6F 72 tween 0 and mwor
000160: 64 73 2D 31 2E 0D 0A 0D 0A 20 20 20 53 6F 2C 20 ds-1..... So,
000170: 6C 69 6E 65 20 38 30 30 20 63 61 6C 63 75 6C 61 line 800 calcula
000180: 74 65 73 20 63 77 6F 72 64 20 66 72 6F 6D 20 74 tes cword from t
000190: 68 65 20 20 77 6F 72 64 20 69 6E 20 74 68 65 20 he word in the
0001A0: 76 61 72 69 61 62 6C 65 20 77 6F 72 64 24 2E 20 variable word$.
0001B0: 20 49 66 20 77 65 0D 0A 20 20 20 61 72 65 20 73 If we.. are s
0001C0: 74 6F 72 69 6E 67 20 61 20 6E 65 77 20 77 6F 72 toring a new wor
0001D0: 64 2C 20 69 74 20 74 65 6C 6C 73 20 75 73 20 20 d, it tells us
0001E0: 77 68 65 72 65 20 20 74 6F 20 70 75 74 20 69 74 where to put it
0001F0: 20 69 6E 20 74 68 65 20 61 72 72 61 79 2C 20 61 in the array, a
Size : 512 (Real : 512)
000000: 74 20 6C 6F 6F 6B 65 64 20 61 74 20 74 68 65 20 t looked at the
000010: 66 69 72 73 74 0D 0A 20 20 20 6C 65 74 74 65 72 first.. letter
000020: 20 69 6E 20 74 68 65 20 77 6F 72 64 2E 20 20 49 in the word. I
000030: 66 20 69 74 20 77 61 73 20 22 41 22 20 20 74 68 f it was "A" th
000040: 65 20 66 75 6E 63 74 69 6F 6E 20 77 6F 75 6C 64 e function would
000050: 20 72 65 74 75 72 6E 20 31 2C 20 61 6E 64 20 73 return 1, and s
000060: 6F 20 6F 6E 0D 0A 20 20 20 75 70 20 74 6F 20 22 o on.. up to "
000070: 5A 22 20 77 68 69 63 68 20 77 6F 75 6C 64 20 20 Z" which would
000080: 74 75 72 6E 20 20 69 6E 74 6F 20 20 32 36 2E 20 turn into 26.
000090: 20 20 49 66 20 20 79 6F 75 20 20 77 61 6E 74 65 If you wante
0000A0: 64 20 74 6F 20 73 74 6F 72 65 20 74 68 65 20 77 d to store the w
0000B0: 6F 72 64 0D 0A 20 20 20 22 46 72 6F 67 22 2C 20 ord.. "Frog",
0000C0: 79 6F 75 20 77 6F 75 6C 64 20 70 75 74 20 69 74 you would put it
0000D0: 20 69 6E 20 73 6C 6F 74 20 36 2C 20 61 6E 64 20 in slot 6, and
0000E0: 74 68 65 20 77 6F 72 64 20 22 4B 65 72 6D 69 74 the word "Kermit
0000F0: 22 20 77 6F 75 6C 64 20 67 6F 20 69 6E 20 73 6C " would go in sl
000100: 6F 74 0D 0A 20 20 20 31 31 2E 0D 0A 0D 0A 20 20 ot.. 11.....
000110: 20 54 68 65 72 65 20 61 72 65 20 73 65 76 65 72 There are sever
000120: 61 6C 20 70 72 6F 62 6C 65 6D 73 20 77 69 74 68 al problems with
000130: 20 74 68 69 73 20 68 61 73 68 20 20 66 75 6E 63 this hash func
000140: 74 69 6F 6E 2E 20 20 46 6F 72 20 6F 6E 65 20 74 tion. For one t
000150: 68 69 6E 67 2C 20 69 66 20 77 65 0D 0A 20 20 20 hing, if we..
000160: 77 61 6E 74 65 64 20 74 6F 20 73 74 6F 72 65 20 wanted to store
000170: 6D 6F 72 65 20 20 74 68 61 6E 20 20 32 36 20 20 more than 26
000180: 77 6F 72 64 73 2C 20 20 77 65 20 20 63 6F 75 6C words, we coul
000190: 64 20 20 68 61 76 65 20 20 61 20 20 62 69 67 20 d have a big
0001A0: 61 72 72 61 79 20 6F 66 20 61 0D 0A 20 20 20 74 array of a.. t
0001B0: 68 6F 75 73 61 6E 64 2C 20 73 61 79 2C 20 62 75 housand, say, bu
0001C0: 74 20 69 74 20 69 73 20 20 68 61 72 64 20 20 74 t it is hard t
0001D0: 6F 20 20 61 64 61 70 74 20 20 74 68 65 20 20 66 o adapt the f
0001E0: 75 6E 63 74 69 6F 6E 20 74 6F 20 67 69 76 65 20 unction to give
0001F0: 75 73 20 62 69 67 67 65 72 0D 0A 20 20 20 6E 75 us bigger.. nu
Size : 512 (Real : 512)
000000: 6E 64 20 69 66 0D 0A 20 20 20 77 65 20 61 72 65 nd if.. we are
000010: 20 6C 6F 6F 6B 69 6E 67 20 74 6F 20 73 65 65 20 looking to see
000020: 77 68 65 72 65 20 20 61 6E 20 20 65 78 69 73 74 where an exist
000030: 69 6E 67 20 20 77 6F 72 64 20 20 69 73 2C 20 20 ing word is,
000040: 69 74 20 74 65 6C 6C 73 20 75 73 20 77 68 65 72 it tells us wher
000050: 65 20 74 6F 0D 0A 20 20 20 6C 6F 6F 6B 2E 0D 0A e to.. look...
000060: 0D 0A 20 20 20 41 49 52 20 54 52 41 46 46 49 43 .. AIR TRAFFIC
000070: 20 43 4F 4E 54 52 4F 4C 0D 0A 20 20 20 57 65 20 CONTROL.. We
000080: 73 74 69 6C 6C 20 68 61 76 65 20 74 68 65 20 70 still have the p
000090: 72 6F 62 6C 65 6D 20 6F 66 20 20 63 6F 6C 6C 69 roblem of colli
0000A0: 73 69 6F 6E 73 2C 20 20 77 68 65 6E 20 20 74 77 sions, when tw
0000B0: 6F 20 77 6F 72 64 73 20 67 65 74 20 73 65 6E 74 o words get sent
0000C0: 20 74 6F 20 74 68 65 0D 0A 20 20 20 73 61 6D 65 to the.. same
0000D0: 20 73 6C 6F 74 2E 20 20 4F 66 20 63 6F 75 72 73 slot. Of cours
0000E0: 65 2C 20 61 73 20 6F 75 72 20 61 72 72 61 79 20 e, as our array
0000F0: 69 73 20 20 62 69 67 20 28 6C 69 6E 65 20 32 30 is big (line 20
000100: 20 73 65 74 73 20 6D 77 6F 72 64 73 20 74 6F 20 sets mwords to
000110: 31 30 30 39 29 2C 0D 0A 20 20 20 74 68 65 72 65 1009),.. there
000120: 20 69 73 20 70 6C 65 6E 74 79 20 6F 66 20 73 70 is plenty of sp
000130: 61 63 65 20 74 6F 20 73 74 6F 72 65 20 20 77 6F ace to store wo
000140: 72 64 73 2E 20 20 45 76 65 6E 20 73 6F 2C 20 79 rds. Even so, y
000150: 6F 75 20 6D 69 67 68 74 20 62 65 20 73 75 72 70 ou might be surp
000160: 72 69 73 65 64 0D 0A 20 20 20 68 6F 77 20 71 75 rised.. how qu
000170: 69 63 6B 6C 79 20 74 68 65 20 63 6F 6C 6C 69 73 ickly the collis
000180: 69 6F 6E 73 20 6F 63 63 75 72 2E 0D 0A 0D 0A 20 ions occur.....
000190: 20 20 59 6F 75 20 6D 61 79 20 68 61 76 65 20 68 You may have h
0001A0: 65 61 72 64 20 6F 66 20 74 68 65 20 22 62 69 72 eard of the "bir
0001B0: 74 68 64 61 79 20 70 61 72 61 64 6F 78 22 2E 20 thday paradox".
0001C0: 20 20 49 66 20 79 6F 75 20 68 61 76 65 20 32 33 If you have 23
0001D0: 20 70 65 6F 70 6C 65 20 69 6E 20 61 0D 0A 20 20 people in a..
0001E0: 20 72 6F 6F 6D 2C 20 69 74 20 69 73 20 6D 6F 72 room, it is mor
0001F0: 65 20 6F 66 74 65 6E 20 74 68 61 6E 20 6E 6F 74 e often than not
Size : 512 (Real : 512)
000000: 6D 62 65 72 73 2E 20 20 59 6F 75 20 77 69 6C 6C mbers. You will
000010: 20 61 6C 73 6F 20 67 65 74 20 61 20 6C 6F 74 20 also get a lot
000020: 6F 66 20 77 6F 72 64 73 20 65 6E 64 69 6E 67 20 of words ending
000030: 75 70 20 69 6E 20 74 68 65 20 73 61 6D 65 20 70 up in the same p
000040: 6F 73 69 74 69 6F 6E 73 0D 0A 20 20 20 61 73 20 ositions.. as
000050: 65 61 63 68 20 6F 74 68 65 72 20 28 6B 6E 6F 77 each other (know
000060: 6E 20 20 61 73 20 20 61 20 20 22 63 6F 6C 6C 69 n as a "colli
000070: 73 69 6F 6E 22 20 20 69 6E 20 63 6F 6D 70 75 74 sion" in comput
000080: 69 6E 67 20 74 68 65 6F 72 79 29 2E 20 20 4D 6F ing theory). Mo
000090: 72 65 6F 76 65 72 2C 0D 0A 20 20 20 74 68 65 72 reover,.. ther
0000A0: 65 20 77 69 6C 6C 20 62 65 20 73 6F 6D 65 20 73 e will be some s
0000B0: 6C 6F 74 73 20 77 68 69 63 68 20 77 69 6C 6C 20 lots which will
0000C0: 6C 61 72 67 65 6C 79 20 67 6F 20 75 6E 75 73 65 largely go unuse
0000D0: 64 20 2D 20 74 68 65 20 6F 6E 65 73 20 66 6F 72 d - the ones for
0000E0: 20 77 6F 72 64 73 0D 0A 20 20 20 62 65 67 69 6E words.. begin
0000F0: 6E 69 6E 67 20 77 69 74 68 20 51 2C 20 58 20 61 ning with Q, X a
000100: 6E 64 20 5A 2E 20 20 54 68 69 73 20 69 73 20 77 nd Z. This is w
000110: 61 73 74 65 66 75 6C 20 6F 66 20 61 72 72 61 79 asteful of array
000120: 20 73 70 61 63 65 2E 0D 0A 0D 0A 20 20 20 57 68 space..... Wh
000130: 61 74 20 77 65 20 61 63 74 75 61 6C 6C 79 20 77 at we actually w
000140: 61 6E 74 20 69 73 20 61 20 66 75 6E 63 74 69 6F ant is a functio
000150: 6E 20 77 68 69 63 68 20 61 70 70 65 61 72 73 20 n which appears
000160: 74 6F 20 67 65 6E 65 72 61 74 65 20 6E 75 6D 62 to generate numb
000170: 65 72 73 20 66 72 6F 6D 0D 0A 20 20 20 74 68 65 ers from.. the
000180: 20 77 6F 72 64 73 20 77 65 20 67 69 76 65 20 69 words we give i
000190: 74 20 69 6E 20 61 20 72 61 6E 64 6F 6D 20 61 6E t in a random an
0001A0: 64 20 75 6E 70 72 65 64 69 63 74 61 62 6C 65 20 d unpredictable
0001B0: 77 61 79 2E 20 20 4F 66 20 63 6F 75 72 73 65 20 way. Of course
0001C0: 69 74 20 77 69 6C 6C 0D 0A 20 20 20 6E 6F 74 20 it will.. not
0001D0: 72 65 61 6C 6C 79 20 62 65 20 75 6E 70 72 65 64 really be unpred
0001E0: 69 63 74 61 62 6C 65 20 61 73 20 67 69 76 65 6E ictable as given
0001F0: 20 20 61 20 20 70 61 72 74 69 63 75 6C 61 72 20 a particular
Size : 512 (Real : 512)
000000: 2D 31 3A 49 4E 50 55 54 23 39 2C 6C 6B 28 79 2C -1:INPUT#9,lk(y,
000010: 78 29 3A 78 3D 78 2B 31 0D 0A 36 33 35 20 49 46 x):x=x+1..635 IF
000020: 20 78 3D 6D 6C 69 6E 6B 73 20 54 48 45 4E 20 49 x=mlinks THEN I
000030: 4E 50 55 54 23 39 2C 6C 6B 28 79 2C 78 29 3A 79 NPUT#9,lk(y,x):y
000040: 3D 6C 6B 28 79 2C 78 29 3A 78 3D 31 0D 0A 36 33 =lk(y,x):x=1..63
000050: 36 20 57 45 4E 44 3A 4E 45 58 54 0D 0A 36 34 30 6 WEND:NEXT..640
000060: 20 43 4C 4F 53 45 49 4E 3A 52 45 54 55 52 4E 0D CLOSEIN:RETURN.
000070: 0A 37 30 30 20 66 69 6C 65 24 3D 4D 49 44 24 28 .700 file$=MID$(
000080: 61 24 2C 37 29 3A 49 46 20 66 69 6C 65 24 3D 22 a$,7):IF file$="
000090: 22 20 54 48 45 4E 20 66 69 6C 65 24 3D 22 56 4F " THEN file$="VO
0000A0: 43 41 42 22 0D 0A 37 31 30 20 4F 50 45 4E 4F 55 CAB"..710 OPENOU
0000B0: 54 20 66 69 6C 65 24 3A 57 52 49 54 45 23 39 2C T file$:WRITE#9,
0000C0: 6E 77 6F 72 64 73 0D 0A 37 32 30 20 46 4F 52 20 nwords..720 FOR
0000D0: 69 3D 30 20 54 4F 20 6E 77 6F 72 64 73 3A 57 52 i=0 TO nwords:WR
0000E0: 49 54 45 23 39 2C 77 24 28 69 29 2C 6C 6B 28 69 ITE#9,w$(i),lk(i
0000F0: 2C 30 29 0D 0A 37 33 30 20 6A 3D 6C 6B 28 69 2C ,0)..730 j=lk(i,
000100: 30 29 3A 79 3D 69 3A 78 3D 31 3A 57 48 49 4C 45 0):y=i:x=1:WHILE
000110: 20 6A 3E 30 3A 6A 3D 6A 2D 31 3A 57 52 49 54 45 j>0:j=j-1:WRITE
000120: 23 39 2C 6C 6B 28 79 2C 78 29 3A 78 3D 78 2B 31 #9,lk(y,x):x=x+1
000130: 0D 0A 37 33 35 20 49 46 20 78 3D 6D 6C 69 6E 6B ..735 IF x=mlink
000140: 73 20 54 48 45 4E 20 57 52 49 54 45 23 39 2C 6C s THEN WRITE#9,l
000150: 6B 28 79 2C 78 29 3A 79 3D 6C 6B 28 79 2C 78 29 k(y,x):y=lk(y,x)
000160: 3A 78 3D 31 0D 0A 37 33 36 20 57 45 4E 44 3A 4E :x=1..736 WEND:N
000170: 45 58 54 0D 0A 37 34 30 20 43 4C 4F 53 45 4F 55 EXT..740 CLOSEOU
000180: 54 3A 52 45 54 55 52 4E 0D 0A 1A 24 24 FF 00 FF T:RETURN...$$...
000190: 45 4E 4F 55 54 22 64 22 3A 4D 45 4D 4F 52 59 20 ENOUT"d":MEMORY
0001A0: 48 49 4D 45 4D 2D 31 3A 43 4C 4F 53 45 4F 55 54 HIMEM-1:CLOSEOUT
0001B0: 0D 0A 32 30 20 6D 77 6F 72 64 73 3D 31 30 30 30 ..20 mwords=1000
0001C0: 3A 6D 6C 69 6E 6B 73 3D 36 3A 6E 77 6F 72 64 73 :mlinks=6:nwords
0001D0: 3D 30 0D 0A 33 30 20 44 49 4D 20 77 24 28 6D 77 =0..30 DIM w$(mw
0001E0: 6F 72 64 73 29 2C 6C 6B 28 6D 77 6F 72 64 73 2C ords),lk(mwords,
0001F0: 6D 6C 69 6E 6B 73 29 2C 74 65 6D 70 77 24 28 31 mlinks),tempw$(1
Size : 512 (Real : 512)
000000: 65 6C 79 20 74 6F 20 6A 6F 69 6E 20 74 68 65 6D ely to join them
000010: 2E 20 20 57 65 20 65 6E 64 20 75 70 20 20 73 65 . We end up se
000020: 61 72 63 68 69 6E 67 20 20 74 68 72 6F 75 67 68 arching through
000030: 20 74 68 65 20 77 68 6F 6C 65 20 61 72 72 61 79 the whole array
000040: 20 6F 6E 65 20 62 79 0D 0A 20 20 20 6F 6E 65 2C one by.. one,
000050: 20 6C 69 6B 65 20 74 68 65 20 6F 72 69 67 69 6E like the origin
000060: 61 6C 20 41 49 20 64 69 64 2E 0D 0A 0D 0A 20 20 al AI did.....
000070: 20 57 68 61 74 20 49 20 68 61 76 65 20 64 6F 6E What I have don
000080: 65 20 69 6E 73 74 65 61 64 20 6F 66 20 6D 6F 76 e instead of mov
000090: 69 6E 67 20 20 6F 6E 20 20 6F 6E 65 20 20 73 6C ing on one sl
0000A0: 6F 74 2C 20 20 69 73 20 74 6F 20 6D 6F 76 65 20 ot, is to move
0000B0: 61 20 6E 75 6D 62 65 72 20 6F 66 0D 0A 20 20 20 a number of..
0000C0: 73 6C 6F 74 73 20 62 61 73 65 64 20 6F 6E 20 70 slots based on p
0000D0: 61 72 74 20 6F 66 20 74 68 65 20 68 61 73 68 20 art of the hash
0000E0: 66 75 6E 63 74 69 6F 6E 2E 20 20 4C 69 6E 65 20 function. Line
0000F0: 38 31 30 20 69 73 20 77 68 65 72 65 20 74 68 69 810 is where thi
000100: 73 20 68 61 70 70 65 6E 73 2E 0D 0A 20 20 20 54 s happens... T
000110: 68 65 20 6C 6F 6F 70 20 69 6E 20 74 68 65 20 6C he loop in the l
000120: 69 6E 65 20 72 65 70 65 61 74 73 20 77 68 69 6C ine repeats whil
000130: 65 20 74 68 65 20 20 77 6F 72 64 20 69 6E 20 74 e the word in t
000140: 68 65 20 61 72 72 61 79 20 77 24 20 69 73 20 6E he array w$ is n
000150: 6F 74 20 77 6F 72 64 24 2C 0D 0A 20 20 20 74 68 ot word$,.. th
000160: 65 20 6F 6E 65 20 77 65 20 61 72 65 20 6C 6F 6F e one we are loo
000170: 6B 69 6E 67 20 66 6F 72 2C 20 20 61 6E 64 20 20 king for, and
000180: 69 73 20 20 6E 6F 74 20 20 65 6D 70 74 79 20 20 is not empty
000190: 65 69 74 68 65 72 2E 20 20 57 65 20 74 68 65 6E either. We then
0001A0: 20 6D 6F 76 65 20 6F 6E 0D 0A 20 20 20 63 77 6F move on.. cwo
0001B0: 72 64 20 62 79 20 62 2C 20 77 68 69 63 68 20 69 rd by b, which i
0001C0: 73 20 70 61 72 74 20 20 6F 66 20 20 74 68 65 20 s part of the
0001D0: 20 68 61 73 68 20 20 66 75 6E 63 74 69 6F 6E 20 hash function
0001E0: 66 72 6F 6D 20 6C 69 6E 65 20 38 30 30 2C 20 61 from line 800, a
0001F0: 6E 64 20 6C 6F 6F 6B 0D 0A 20 20 20 61 67 61 69 nd look.. agai
Size : 512 (Real : 512)
000000: 20 61 72 72 61 79 20 69 6E 20 61 20 72 61 6E 64 array in a rand
000010: 6F 6D 0D 0A 20 20 20 77 61 79 2E 20 20 54 68 65 om.. way. The
000020: 20 6E 65 77 20 6C 69 6E 65 20 34 33 35 20 6D 6F new line 435 mo
000030: 76 65 73 20 6F 6E 20 20 61 20 20 63 65 72 74 61 ves on a certa
000040: 69 6E 20 61 6D 6F 75 6E 74 2C 20 6A 2C 20 75 6E in amount, j, un
000050: 74 69 6C 20 61 20 62 6C 61 6E 6B 20 65 6E 74 72 til a blank entr
000060: 79 0D 0A 20 20 20 69 73 20 66 6F 75 6E 64 2E 20 y.. is found.
000070: 20 54 6F 20 70 72 6F 74 65 63 74 20 74 68 65 20 To protect the
000080: 70 6F 73 69 74 69 6F 6E 20 20 66 72 6F 6D 20 20 position from
000090: 62 65 69 6E 67 20 20 75 73 65 64 20 66 6F 72 20 being used for
0000A0: 61 20 77 6F 72 64 20 6C 61 74 65 72 2C 20 77 65 a word later, we
0000B0: 0D 0A 20 20 20 63 68 61 6E 67 65 20 77 24 28 78 .. change w$(x
0000C0: 29 20 74 6F 20 61 20 73 70 61 63 65 2E 20 20 54 ) to a space. T
0000D0: 68 61 74 20 69 73 20 61 6C 73 6F 20 77 68 79 20 hat is also why
0000E0: 6C 69 6E 65 20 33 31 20 69 73 20 61 64 64 65 64 line 31 is added
0000F0: 2E 0D 0A 0D 0A 20 20 20 57 69 74 68 20 6C 6F 61 ..... With loa
000100: 64 69 6E 67 20 61 6E 64 20 73 61 76 69 6E 67 2C ding and saving,
000110: 20 6C 69 6E 65 73 20 36 32 30 20 61 6E 64 20 20 lines 620 and
000120: 37 32 30 20 68 61 76 65 20 63 68 61 6E 67 65 64 720 have changed
000130: 2C 20 61 6E 64 20 6C 69 6E 65 20 36 32 35 20 68 , and line 625 h
000140: 61 73 0D 0A 20 20 20 67 6F 6E 65 2E 20 20 54 68 as.. gone. Th
000150: 65 20 6C 69 6E 65 73 20 66 72 6F 6D 20 38 30 30 e lines from 800
000160: 20 6F 6E 77 61 72 64 73 20 68 61 76 65 20 61 6C onwards have al
000170: 6C 20 63 68 61 6E 67 65 64 20 6F 66 20 63 6F 75 l changed of cou
000180: 72 73 65 2E 0D 0A 0D 0A 20 20 20 48 61 73 68 20 rse..... Hash
000190: 74 61 62 6C 65 73 20 63 61 6E 20 62 65 20 20 66 tables can be f
0001A0: 61 73 74 65 72 20 20 74 68 61 6E 20 20 62 69 6E aster than bin
0001B0: 61 72 79 20 20 74 72 65 65 73 2C 20 20 61 6E 64 ary trees, and
0001C0: 20 20 69 6E 20 20 6F 75 72 20 65 78 61 6D 70 6C in our exampl
0001D0: 65 20 74 68 65 0D 0A 20 20 20 70 72 6F 67 72 61 e the.. progra
0001E0: 6D 20 69 73 20 73 68 6F 72 74 65 72 20 74 6F 6F m is shorter too
0001F0: 2E 20 20 48 61 73 68 20 74 61 62 6C 65 73 20 20 . Hash tables
Size : 512 (Real : 512)
000000: 6E 2E 20 20 54 68 65 20 4D 4F 44 20 6D 77 6F 72 n. The MOD mwor
000010: 64 73 20 70 61 72 74 20 69 73 20 74 6F 20 6D 61 ds part is to ma
000020: 6B 65 20 20 69 74 20 20 77 72 61 70 20 72 6F 75 ke it wrap rou
000030: 6E 64 20 74 6F 20 74 68 65 20 73 74 61 72 74 20 nd to the start
000040: 6F 66 20 74 68 65 0D 0A 20 20 20 61 72 72 61 79 of the.. array
000050: 20 61 67 61 69 6E 20 69 66 20 6E 65 63 65 73 73 again if necess
000060: 61 72 79 2E 0D 0A 0D 0A 20 20 20 49 66 20 74 77 ary..... If tw
000070: 6F 20 77 6F 72 64 73 20 67 69 76 65 20 74 68 65 o words give the
000080: 20 73 61 6D 65 20 76 61 6C 75 65 20 6F 66 20 20 same value of
000090: 63 77 6F 72 64 2C 20 69 74 20 64 6F 65 73 6E 27 cword, it doesn'
0000A0: 74 20 6D 65 61 6E 20 74 68 61 74 20 62 20 77 69 t mean that b wi
0000B0: 6C 6C 20 62 65 0D 0A 20 20 20 74 68 65 20 73 61 ll be.. the sa
0000C0: 6D 65 20 66 6F 72 20 65 61 63 68 20 6F 6E 65 2C me for each one,
0000D0: 20 73 6F 20 76 65 72 79 20 6F 66 74 65 6E 20 77 so very often w
0000E0: 65 20 77 69 6C 6C 20 61 76 6F 69 64 20 61 20 64 e will avoid a d
0000F0: 6F 75 62 6C 65 20 63 6F 6C 6C 69 73 69 6F 6E 20 ouble collision
000100: 6C 69 6B 65 0D 0A 20 20 20 74 68 69 73 2E 0D 0A like.. this...
000110: 0D 0A 20 20 20 57 48 59 20 31 30 30 39 3F 0D 0A .. WHY 1009?..
000120: 20 20 20 59 6F 75 20 6D 61 79 20 62 65 20 77 6F You may be wo
000130: 6E 64 65 72 69 6E 67 20 77 68 79 20 49 20 68 61 ndering why I ha
000140: 76 65 20 20 69 6E 63 72 65 61 73 65 64 20 20 74 ve increased t
000150: 68 65 20 73 69 7A 65 20 6F 66 20 74 68 65 20 61 he size of the a
000160: 72 72 61 79 20 74 6F 20 31 30 30 39 2E 0D 0A 20 rray to 1009...
000170: 20 20 54 68 65 20 72 65 61 73 6F 6E 20 69 73 20 The reason is
000180: 74 68 61 74 20 73 6F 6D 65 20 61 73 70 65 63 74 that some aspect
000190: 73 20 6F 66 20 20 68 61 73 68 20 20 74 61 62 6C s of hash tabl
0001A0: 65 73 20 20 77 6F 72 6B 20 61 20 6C 6F 74 20 62 es work a lot b
0001B0: 65 74 74 65 72 20 69 66 20 74 68 65 0D 0A 20 20 etter if the..
0001C0: 20 73 69 7A 65 20 6F 66 20 74 68 65 20 68 61 73 size of the has
0001D0: 68 20 74 61 62 6C 65 20 69 73 20 61 20 70 72 69 h table is a pri
0001E0: 6D 65 20 6E 75 6D 62 65 72 2E 20 20 49 66 20 79 me number. If y
0001F0: 6F 75 20 73 74 61 72 74 20 61 74 20 61 6E 79 20 ou start at any
Size : 512 (Real : 512)
000000: 20 20 74 68 65 20 20 63 61 73 65 20 20 74 68 61 the case tha
000010: 74 20 20 74 77 6F 20 6F 66 20 74 68 65 6D 20 77 t two of them w
000020: 69 6C 6C 20 73 68 61 72 65 20 61 0D 0A 20 20 20 ill share a..
000030: 62 69 72 74 68 64 61 79 2E 20 20 49 74 20 69 73 birthday. It is
000040: 20 61 6C 6C 20 61 20 6D 61 74 74 65 72 20 6F 66 all a matter of
000050: 20 70 72 6F 62 61 62 69 6C 69 74 79 2E 20 20 45 probability. E
000060: 78 61 63 74 6C 79 20 74 68 65 20 73 61 6D 65 20 xactly the same
000070: 61 70 70 6C 69 65 73 20 74 6F 0D 0A 20 20 20 6F applies to.. o
000080: 75 72 20 77 6F 72 64 73 20 69 6E 20 74 68 65 20 ur words in the
000090: 61 72 72 61 79 2C 20 62 75 74 20 20 69 6E 73 74 array, but inst
0000A0: 65 61 64 20 20 6F 66 20 20 33 36 35 20 20 64 61 ead of 365 da
0000B0: 79 73 20 66 6F 72 20 62 69 72 74 68 64 61 79 73 ys for birthdays
0000C0: 2C 20 77 65 20 68 61 76 65 0D 0A 20 20 20 31 30 , we have.. 10
0000D0: 30 39 20 73 6C 6F 74 73 20 66 6F 72 20 77 6F 72 09 slots for wor
0000E0: 64 73 2E 20 20 54 68 65 20 70 72 6F 62 61 62 69 ds. The probabi
0000F0: 6C 69 74 69 65 73 20 20 6D 65 61 6E 20 20 74 68 lities mean th
000100: 61 74 20 20 77 65 20 77 69 6C 6C 20 6F 6E 6C 79 at we will only
000110: 20 6E 65 65 64 20 33 38 0D 0A 20 20 20 77 6F 72 need 38.. wor
000120: 64 73 20 66 6F 72 20 74 68 65 72 65 20 74 6F 20 ds for there to
000130: 62 65 20 61 20 20 67 72 65 61 74 65 72 20 20 74 be a greater t
000140: 68 61 6E 20 20 65 76 65 6E 20 63 68 61 6E 63 65 han even chance
000150: 20 74 68 61 74 20 74 77 6F 20 77 69 6C 6C 20 67 that two will g
000160: 65 6E 65 72 61 74 65 0D 0A 20 20 20 74 68 65 20 enerate.. the
000170: 73 61 6D 65 20 76 61 6C 75 65 20 6F 66 20 63 77 same value of cw
000180: 6F 72 64 20 61 6E 64 20 62 65 20 73 65 6E 74 20 ord and be sent
000190: 74 6F 20 74 68 65 20 73 61 6D 65 20 70 6F 73 69 to the same posi
0001A0: 74 69 6F 6E 20 69 6E 20 74 68 65 20 61 72 72 61 tion in the arra
0001B0: 79 2E 0D 0A 0D 0A 20 20 20 48 6F 77 20 63 61 6E y..... How can
0001C0: 20 77 65 20 64 65 61 6C 20 77 69 74 68 20 74 68 we deal with th
0001D0: 65 73 65 20 63 6F 6C 6C 69 73 69 6F 6E 73 3F 20 ese collisions?
0001E0: 20 4F 6E 65 20 61 70 70 72 6F 61 63 68 20 69 73 One approach is
0001F0: 20 74 6F 20 70 75 74 20 74 68 65 20 77 6F 72 64 to put the word
Size : 512 (Real : 512)
000000: 70 6F 73 69 74 69 6F 6E 20 69 6E 0D 0A 20 20 20 position in..
000010: 74 68 65 20 74 61 62 6C 65 20 61 6E 64 20 6D 6F the table and mo
000020: 76 65 20 61 20 63 65 72 74 61 69 6E 20 66 69 78 ve a certain fix
000030: 65 64 20 20 61 6D 6F 75 6E 74 2C 20 77 72 61 70 ed amount, wrap
000040: 70 69 6E 67 20 72 6F 75 6E 64 20 75 73 69 6E 67 ping round using
000050: 20 4D 4F 44 2C 20 74 68 65 6E 0D 0A 20 20 20 79 MOD, then.. y
000060: 6F 75 20 77 69 6C 6C 20 65 76 65 6E 74 75 61 6C ou will eventual
000070: 6C 79 20 76 69 73 69 74 20 61 6C 6C 20 74 68 65 ly visit all the
000080: 20 20 65 6C 65 6D 65 6E 74 73 20 20 6F 66 20 20 elements of
000090: 74 68 65 20 74 61 62 6C 65 2E 20 20 54 68 69 73 the table. This
0000A0: 20 77 69 6C 6C 20 6E 6F 74 0D 0A 20 20 20 77 6F will not.. wo
0000B0: 72 6B 20 69 66 20 74 68 65 20 73 69 7A 65 20 6F rk if the size o
0000C0: 66 20 74 68 65 20 74 61 62 6C 65 20 69 73 20 6E f the table is n
0000D0: 6F 74 20 70 72 69 6D 65 2E 0D 0A 0D 0A 20 20 20 ot prime.....
0000E0: 54 48 45 20 47 4F 52 59 20 44 45 54 41 49 4C 53 THE GORY DETAILS
0000F0: 0D 0A 20 20 20 49 20 68 61 64 20 62 65 74 74 65 .. I had bette
000100: 72 20 62 72 69 65 66 6C 79 20 6D 65 6E 74 69 6F r briefly mentio
000110: 6E 20 74 68 65 20 20 6F 74 68 65 72 20 20 63 68 n the other ch
000120: 61 6E 67 65 73 20 20 69 6E 20 74 68 65 20 70 72 anges in the pr
000130: 6F 67 72 61 6D 2E 20 20 4D 6F 73 74 20 6F 66 0D ogram. Most of.
000140: 0A 20 20 20 74 68 65 20 6C 69 6E 65 73 20 61 72 . the lines ar
000150: 65 20 74 68 65 20 73 61 6D 65 20 61 73 20 6C 61 e the same as la
000160: 73 74 20 20 6D 6F 6E 74 68 2C 20 20 73 6F 20 20 st month, so
000170: 49 20 20 68 61 76 65 20 61 73 6B 65 64 20 4A 6F I have asked Jo
000180: 68 6E 20 74 6F 20 70 72 69 6E 74 20 61 6E 0D 0A hn to print an..
000190: 20 20 20 61 73 74 65 72 69 73 6B 20 62 79 20 61 asterisk by a
0001A0: 6C 6C 20 74 68 65 20 6F 6E 65 73 20 77 68 69 63 ll the ones whic
0001B0: 68 20 68 61 76 65 20 20 63 68 61 6E 67 65 64 2E h have changed.
0001C0: 20 20 4E 6F 74 65 20 74 68 61 74 20 6C 69 6E 65 Note that line
0001D0: 20 36 32 35 20 68 61 73 20 67 6F 6E 65 0D 0A 20 625 has gone..
0001E0: 20 20 63 6F 6D 70 6C 65 74 65 6C 79 2E 20 20 3C completely. <
0001F0: 3C 54 68 65 20 6C 69 73 74 69 6E 67 20 69 73 20 <The listing is
Size : 512 (Real : 512)
000000: 20 69 6E 0D 0A 20 20 20 74 68 65 20 6E 65 78 74 in.. the next
000010: 20 66 72 65 65 20 73 6C 6F 74 20 69 6E 73 74 65 free slot inste
000020: 61 64 2E 20 20 20 53 75 70 70 6F 73 65 20 20 22 ad. Suppose "
000030: 4B 65 72 6D 69 74 22 20 20 67 65 6E 65 72 61 74 Kermit" generat
000040: 65 73 20 61 20 68 61 73 68 20 76 61 6C 75 65 20 es a hash value
000050: 6F 66 0D 0A 20 20 20 35 34 33 2C 20 61 6E 64 20 of.. 543, and
000060: 77 65 20 6C 6F 6F 6B 20 69 6E 20 74 68 65 20 61 we look in the a
000070: 72 72 61 79 20 20 61 6E 64 20 20 66 69 6E 64 20 rray and find
000080: 22 46 72 6F 67 22 20 69 73 20 61 6C 72 65 61 64 "Frog" is alread
000090: 79 20 74 68 65 72 65 2E 20 20 57 65 20 74 68 65 y there. We the
0000A0: 6E 0D 0A 20 20 20 6D 6F 76 65 20 6F 6E 20 74 68 n.. move on th
0000B0: 65 20 73 70 61 63 65 20 35 34 34 2C 20 61 6E 64 e space 544, and
0000C0: 20 69 66 20 20 69 74 20 20 69 73 20 20 66 72 65 if it is fre
0000D0: 65 2C 20 70 75 74 20 22 4B 65 72 6D 69 74 22 20 e, put "Kermit"
0000E0: 69 6E 20 74 68 65 72 65 2E 20 20 49 66 20 77 65 in there. If we
0000F0: 0D 0A 20 20 20 74 68 65 6E 20 6E 65 65 64 65 64 .. then needed
000100: 20 74 6F 20 73 65 61 72 63 68 20 66 6F 72 20 20 to search for
000110: 4B 65 72 6D 69 74 20 20 69 6E 20 20 74 68 65 20 Kermit in the
000120: 20 66 75 74 75 72 65 2C 20 77 65 20 77 6F 75 6C future, we woul
000130: 64 20 63 61 6C 63 75 6C 61 74 65 20 74 68 65 0D d calculate the.
000140: 0A 20 20 20 68 61 73 68 20 76 61 6C 75 65 2C 20 . hash value,
000150: 35 34 33 2C 20 61 6E 64 20 66 69 6E 64 20 20 46 543, and find F
000160: 72 6F 67 20 20 74 68 65 72 65 2E 20 20 20 57 65 rog there. We
000170: 20 20 77 6F 75 6C 64 20 20 74 68 65 6E 20 6C 6F would then lo
000180: 6F 6B 20 61 74 20 74 68 65 20 6E 65 78 74 0D 0A ok at the next..
000190: 20 20 20 73 70 61 63 65 20 69 6E 73 74 65 61 64 space instead
0001A0: 2C 20 61 6E 64 20 66 69 6E 64 20 4B 65 72 6D 69 , and find Kermi
0001B0: 74 2E 20 20 4F 66 20 63 6F 75 72 73 65 2C 20 69 t. Of course, i
0001C0: 66 20 79 6F 75 20 6C 6F 6F 6B 65 64 20 69 6E 20 f you looked in
0001D0: 73 70 61 63 65 20 35 34 33 20 61 6E 64 0D 0A 20 space 543 and..
0001E0: 20 20 66 6F 75 6E 64 20 69 74 20 65 6D 70 74 79 found it empty
0001F0: 2C 20 74 68 65 6E 20 79 6F 75 20 77 6F 75 6C 64 , then you would
Size : 512 (Real : 512)
000000: 73 61 76 65 64 20 20 6F 6E 20 20 64 69 73 63 20 saved on disc
000010: 20 66 6F 72 20 79 6F 75 20 61 73 20 41 49 35 2E for you as AI5.
000020: 42 41 53 2C 20 77 69 74 68 6F 75 74 0D 0A 20 20 BAS, without..
000030: 20 61 73 74 65 72 69 73 6B 73 21 3E 3E 0D 0A 0D asterisks!>>...
000040: 0A 20 20 20 41 20 66 65 77 20 6C 69 6E 65 73 20 . A few lines
000050: 6E 65 61 72 20 74 68 65 20 20 73 74 61 72 74 20 near the start
000060: 20 68 61 76 65 20 20 63 68 61 6E 67 65 64 20 20 have changed
000070: 74 6F 20 20 73 65 74 20 74 68 69 6E 67 73 20 75 to set things u
000080: 70 20 64 69 66 66 65 72 65 6E 74 6C 79 2E 0D 0A p differently...
000090: 20 20 20 4C 69 6E 65 73 20 34 33 20 61 6E 64 20 Lines 43 and
0000A0: 34 34 20 61 64 64 20 74 77 6F 20 6E 65 77 20 20 44 add two new
0000B0: 63 6F 6D 6D 61 6E 64 73 20 20 77 68 69 63 68 20 commands which
0000C0: 73 68 6F 77 20 74 68 65 20 70 72 6F 67 72 65 73 show the progres
0000D0: 73 20 6F 66 20 74 68 65 20 68 61 73 68 0D 0A 20 s of the hash..
0000E0: 20 20 74 61 62 6C 65 2E 20 20 54 79 70 69 6E 67 table. Typing
0000F0: 20 22 2A 73 68 6F 77 68 61 73 68 22 20 77 69 6C "*showhash" wil
000100: 6C 20 6C 69 73 74 20 61 6C 6C 20 20 74 68 65 20 l list all the
000110: 20 77 6F 72 64 73 20 69 6E 20 74 68 65 20 74 61 words in the ta
000120: 62 6C 65 2C 20 73 68 6F 77 69 6E 67 0D 0A 20 20 ble, showing..
000130: 20 74 68 65 69 72 20 70 6F 73 69 74 69 6F 6E 20 their position
000140: 61 6E 64 20 20 74 68 65 20 20 6E 75 6D 62 65 72 and the number
000150: 20 20 6F 66 20 20 66 6F 6C 6C 6F 77 69 6E 67 20 of following
000160: 20 6C 69 6E 6B 73 20 20 74 68 65 79 20 20 68 61 links they ha
000170: 76 65 2E 20 20 54 79 70 69 6E 67 0D 0A 20 20 20 ve. Typing..
000180: 22 2A 68 61 73 68 67 72 61 70 68 22 20 67 69 76 "*hashgraph" giv
000190: 65 73 20 61 20 67 72 61 70 68 69 63 61 6C 20 72 es a graphical r
0001A0: 65 70 72 65 73 65 6E 74 61 74 69 6F 6E 20 6F 66 epresentation of
0001B0: 20 74 68 65 20 68 61 73 20 74 61 62 6C 65 2C 20 the has table,
0001C0: 61 6E 64 20 69 66 20 79 6F 75 0D 0A 20 20 20 64 and if you.. d
0001D0: 6F 20 74 68 69 73 20 66 72 6F 6D 20 74 69 6D 65 o this from time
0001E0: 20 74 6F 20 74 69 6D 65 20 61 73 20 79 6F 75 20 to time as you
0001F0: 20 74 79 70 65 20 6D 6F 72 65 20 73 65 6E 74 65 type more sente
Size : 512 (Real : 512)
000000: 20 6B 6E 6F 77 20 74 68 61 74 20 20 4B 65 72 6D know that Kerm
000010: 69 74 20 77 6F 75 6C 64 20 6E 6F 74 20 62 65 20 it would not be
000020: 66 6F 75 6E 64 20 69 6E 20 74 68 65 0D 0A 20 20 found in the..
000030: 20 61 72 72 61 79 20 61 74 20 61 6C 6C 2C 20 62 array at all, b
000040: 65 63 61 75 73 65 20 69 74 20 77 6F 75 6C 64 20 ecause it would
000050: 68 61 76 65 20 62 65 65 6E 20 20 70 75 74 20 74 have been put t
000060: 68 65 72 65 20 69 66 20 74 68 65 20 73 70 61 63 here if the spac
000070: 65 20 77 61 73 20 66 72 65 65 2E 0D 0A 20 20 20 e was free...
000080: 49 66 20 46 72 6F 67 20 69 73 20 69 6E 20 35 34 If Frog is in 54
000090: 33 20 61 6E 64 20 74 68 65 72 65 20 69 73 20 20 3 and there is
0000A0: 6E 6F 74 68 69 6E 67 20 20 69 6E 20 35 34 34 2C nothing in 544,
0000B0: 20 61 67 61 69 6E 20 77 65 20 6B 6E 6F 77 20 74 again we know t
0000C0: 68 61 74 20 4B 65 72 6D 69 74 0D 0A 20 20 20 69 hat Kermit.. i
0000D0: 73 20 6E 6F 74 20 69 6E 20 74 68 65 20 61 72 72 s not in the arr
0000E0: 61 79 20 62 65 63 61 75 73 65 20 69 74 20 77 6F ay because it wo
0000F0: 75 6C 64 20 68 61 76 65 20 62 65 65 6E 20 70 75 uld have been pu
000100: 74 20 69 6E 20 35 34 34 2E 0D 0A 0D 0A 20 20 20 t in 544.....
000110: 54 68 69 73 20 6D 65 74 68 6F 64 20 69 73 20 63 This method is c
000120: 61 6C 6C 65 64 20 22 6C 69 6E 65 61 72 20 70 72 alled "linear pr
000130: 6F 62 69 6E 67 22 2C 20 62 75 74 20 20 69 74 20 obing", but it
000140: 69 73 6E 27 74 20 61 63 74 75 61 6C 6C 79 20 61 isn't actually a
000150: 20 76 65 72 79 20 67 6F 6F 64 0D 0A 20 20 20 6D very good.. m
000160: 65 74 68 6F 64 2E 20 20 54 68 65 20 70 72 6F 62 ethod. The prob
000170: 6C 65 6D 20 69 73 20 74 68 61 74 20 6F 6E 63 65 lem is that once
000180: 20 79 6F 75 20 67 65 74 20 20 61 20 67 72 6F 75 you get a grou
000190: 70 20 6F 66 20 77 6F 72 64 73 20 69 6E 20 61 20 p of words in a
0001A0: 72 6F 77 2C 20 74 68 65 79 0D 0A 20 20 20 63 6C row, they.. cl
0001B0: 75 73 74 65 72 20 74 6F 67 65 74 68 65 72 2C 20 uster together,
0001C0: 61 6E 64 20 6F 6E 63 65 20 79 6F 75 20 67 65 74 and once you get
0001D0: 20 20 61 20 20 63 6C 75 73 74 65 72 2C 20 20 6F a cluster, o
0001E0: 74 68 65 72 20 77 6F 72 64 73 20 61 72 65 20 65 ther words are e
0001F0: 76 65 6E 20 6D 6F 72 65 0D 0A 20 20 20 6C 69 6B ven more.. lik
Size : 512 (Real : 512)
000000: 6E 63 65 73 20 69 6E 2C 20 79 6F 75 20 77 69 6C nces in, you wil
000010: 6C 20 73 65 65 20 68 6F 77 0D 0A 20 20 20 74 68 l see how.. th
000020: 65 20 68 61 73 68 20 74 61 62 6C 65 20 66 69 6C e hash table fil
000030: 6C 73 20 75 70 2E 0D 0A 0D 0A 20 20 20 4C 69 6E ls up..... Lin
000040: 65 20 31 36 30 20 69 73 20 77 68 65 72 65 20 77 e 160 is where w
000050: 65 20 64 65 61 6C 20 77 69 74 68 20 61 64 64 69 e deal with addi
000060: 6E 67 20 61 20 6E 65 77 20 77 6F 72 64 2C 20 61 ng a new word, a
000070: 6E 64 20 69 73 20 6D 75 63 68 20 73 69 6D 70 6C nd is much simpl
000080: 65 72 20 74 68 61 6E 0D 0A 20 20 20 74 68 65 20 er than.. the
000090: 62 69 6E 61 72 79 20 74 72 65 65 20 76 65 72 73 binary tree vers
0000A0: 69 6F 6E 2C 20 62 65 63 61 75 73 65 20 20 74 68 ion, because th
0000B0: 65 20 20 73 75 62 72 6F 75 74 69 6E 65 20 20 61 e subroutine a
0000C0: 74 20 38 30 30 20 62 61 73 69 63 61 6C 6C 79 20 t 800 basically
0000D0: 65 69 74 68 65 72 0D 0A 20 20 20 74 65 6C 6C 73 either.. tells
0000E0: 20 75 73 20 77 68 65 72 65 20 74 68 65 20 20 77 us where the w
0000F0: 6F 72 64 20 20 69 73 20 20 61 6C 72 65 61 64 79 ord is already
000100: 2C 20 20 6F 72 20 20 77 68 65 72 65 20 20 74 6F , or where to
000110: 20 20 70 75 74 20 20 69 74 2E 20 20 54 68 65 20 put it. The
000120: 6F 74 68 65 72 0D 0A 20 20 20 69 6D 70 6F 72 74 other.. import
000130: 61 6E 74 20 61 6C 74 65 72 61 74 69 6F 6E 20 69 ant alteration i
000140: 73 20 6C 69 6E 65 20 34 33 35 2E 20 20 48 65 72 s line 435. Her
000150: 65 20 77 65 20 20 61 72 65 20 70 75 74 74 69 6E e we are puttin
000160: 67 20 69 6E 20 74 68 65 20 64 75 6D 6D 79 20 6C g in the dummy l
000170: 69 6E 6B 73 0D 0A 20 20 20 65 78 70 6C 61 69 6E inks.. explain
000180: 65 64 20 69 6E 20 69 73 73 75 65 20 31 32 36 2E ed in issue 126.
000190: 20 20 49 6E 20 74 68 65 20 6F 6C 64 20 20 76 65 In the old ve
0001A0: 72 73 69 6F 6E 2C 20 20 77 65 20 6A 75 73 74 20 rsion, we just
0001B0: 75 73 65 64 20 74 68 65 20 6E 65 78 74 20 73 70 used the next sp
0001C0: 61 63 65 0D 0A 20 20 20 69 6E 20 74 68 65 20 61 ace.. in the a
0001D0: 72 72 61 79 2C 20 62 75 74 20 77 65 20 61 72 65 rray, but we are
0001E0: 20 6E 6F 77 20 20 75 73 69 6E 67 20 20 74 68 65 now using the
0001F0: 20 20 73 70 61 63 65 73 20 20 69 6E 20 74 68 65 spaces in the
Size : 512 (Real : 512)
000000: 0A 1A 4C 49 53 54 45 58 20 20 24 24 24 FF 00 FF ..LISTEX $$$...
000010: 00 F9 00 06 00 C8 00 C9 00 00 00 1A 0A 32 30 20 .............20
000020: 46 4F 52 20 78 3D 31 20 54 4F 20 35 0D 0A 33 30 FOR x=1 TO 5..30
000030: 20 52 45 41 44 20 6E 61 6D 65 24 28 78 29 3A 47 READ name$(x):G
000040: 4F 53 55 42 20 31 34 30 0D 0A 34 30 20 4E 45 58 OSUB 140..40 NEX
000050: 54 0D 0A 35 30 20 50 52 49 4E 54 22 20 78 20 6E T..50 PRINT" x n
000060: 61 6D 65 24 28 78 29 22 54 41 42 28 31 35 29 22 ame$(x)"TAB(15)"
000070: 6E 65 78 74 6E 61 6D 65 28 78 29 22 0D 0A 36 30 nextname(x)"..60
000080: 20 46 4F 52 20 78 3D 30 20 54 4F 20 35 0D 0A 37 FOR x=0 TO 5..7
000090: 30 20 50 52 49 4E 54 20 78 3B 6E 61 6D 65 24 28 0 PRINT x;name$(
0000A0: 78 29 3B 54 41 42 28 31 34 29 3B 6E 65 78 74 6E x);TAB(14);nextn
0000B0: 61 6D 65 28 78 29 0D 0A 38 30 20 4E 45 58 54 0D ame(x)..80 NEXT.
0000C0: 0A 39 30 20 50 52 49 4E 54 3A 50 52 49 4E 54 22 .90 PRINT:PRINT"
0000D0: 49 6E 20 6F 72 64 65 72 3A 22 0D 0A 31 30 30 20 In order:"..100
0000E0: 78 3D 30 3A 57 48 49 4C 45 20 6E 65 78 74 6E 61 x=0:WHILE nextna
0000F0: 6D 65 28 78 29 3E 30 0D 0A 31 31 30 20 78 3D 6E me(x)>0..110 x=n
000100: 65 78 74 6E 61 6D 65 28 78 29 3A 50 52 49 4E 54 extname(x):PRINT
000110: 20 6E 61 6D 65 24 28 78 29 0D 0A 31 32 30 20 57 name$(x)..120 W
000120: 45 4E 44 3A 45 4E 44 0D 0A 31 33 30 20 44 41 54 END:END..130 DAT
000130: 41 20 45 67 62 65 72 74 2C 41 6C 66 72 65 64 2C A Egbert,Alfred,
000140: 43 68 61 72 6C 69 65 2C 42 65 72 74 72 61 6E 64 Charlie,Bertrand
000150: 2C 44 65 73 6D 6F 6E 64 0D 0A 31 34 30 20 52 45 ,Desmond..140 RE
000160: 4D 20 69 6E 73 65 72 74 20 69 6E 74 6F 20 6C 69 M insert into li
000170: 73 74 0D 0A 31 35 30 20 79 3D 6E 65 78 74 6E 61 st..150 y=nextna
000180: 6D 65 28 30 29 3A 70 79 3D 30 0D 0A 31 36 30 20 me(0):py=0..160
000190: 57 48 49 4C 45 20 79 3E 30 20 41 4E 44 20 6E 61 WHILE y>0 AND na
0001A0: 6D 65 24 28 79 29 3C 6E 61 6D 65 24 28 78 29 0D me$(y)<name$(x).
0001B0: 0A 31 37 30 20 70 79 3D 79 3A 79 3D 6E 65 78 74 .170 py=y:y=next
0001C0: 6E 61 6D 65 28 79 29 0D 0A 31 38 30 20 57 45 4E name(y)..180 WEN
0001D0: 44 0D 0A 31 39 30 20 6E 65 78 74 6E 61 6D 65 28 D..190 nextname(
0001E0: 70 79 29 3D 78 3A 6E 65 78 74 6E 61 6D 65 28 78 py)=x:nextname(x
0001F0: 29 3D 79 0D 0A 32 30 30 20 52 45 54 55 52 4E 0D )=y..200 RETURN.
Size : 512 (Real : 512)
000000: 20 EB 20 9F 20 1E 64 00 00 18 00 3C 00 A1 20 0D . . .d....<.. .
000010: 00 00 6E 77 6F 72 64 F3 20 EB 20 9F 20 1E C8 00 ..nword. . . ...
000020: 00 0A 00 46 00 A0 20 1E 28 00 00 27 00 64 00 D6 ...F.. .(..'.d..
000030: 20 FF 74 28 03 00 00 E1 2C 22 20 22 29 EE 0E 01 .t(....," ")...
000040: 0D 00 00 E1 EF FF 74 28 03 00 00 E1 2C 22 20 22 ......t(....," "
000050: 29 00 3C 00 6E 00 03 00 00 74 65 6D 70 F7 28 0D ).<.n....temp.(.
000060: 00 00 77 63 6F 75 6E F4 29 EF FF 75 28 03 00 00 ..wcoun.)..u(...
000070: E1 2C 0D 00 00 E1 F5 0F 29 01 03 00 00 E1 EF AC .,......).......
000080: 28 03 00 00 E1 2C 0D 00 00 E1 F4 0F 29 00 22 00 (....,......).".
000090: 78 00 0D 00 00 77 63 6F 75 6E F4 EF 0D 00 00 77 x....wcoun.....w
0000A0: 63 6F 75 6E F4 F4 0F 01 9F 20 1E 2C 01 01 D5 00 coun..... .,....
0000B0: 3F 00 82 00 A1 20 03 00 00 E1 F2 22 22 20 EB 20 ?.... ....."" .
0000C0: 03 00 00 74 65 6D 70 F7 28 0D 00 00 77 63 6F 75 ...temp.(...wcou
0000D0: 6E F4 29 EF 03 00 00 E1 01 0D 00 00 77 63 6F 75 n.).........wcou
0000E0: 6E F4 EF 0D 00 00 77 63 6F 75 6E F4 F4 0F 00 3D n.....wcoun....=
0000F0: 00 8C 00 0D 00 00 70 77 6F 72 E4 EF 0E 01 9E 20 ......pwor.....
000100: 0D 00 00 E9 EF 0E 20 EC 20 0D 00 00 77 63 6F 75 ...... . ...wcou
000110: 6E F4 F5 0F 01 03 00 00 77 6F 72 E4 EF 03 00 00 n.......wor.....
000120: 74 65 6D 70 F7 28 0D 00 00 E9 29 00 0A 00 96 00 temp.(....).....
000130: 9F 20 1E 20 03 00 5B 00 A0 00 A1 20 03 00 00 F7 . . ..[.... ....
000140: 28 0D 00 00 63 77 6F 72 E4 29 EF 22 22 20 EB 20 (...cwor.)."" .
000150: 0D 00 00 6E 77 6F 72 64 F3 EF 0D 00 00 6E 77 6F ...nword.....nwo
000160: 72 64 F3 F4 0F 01 03 00 00 F7 28 0D 00 00 63 77 rd........(...cw
000170: 6F 72 E4 29 EF 03 00 00 77 6F 72 E4 01 0D 00 00 or.)....wor.....
000180: 6C EB 28 0D 00 00 63 77 6F 72 E4 2C 0E 29 EF 0E l.(...cwor.,.)..
000190: 00 1E 00 AA 00 9F 20 1E 90 01 01 0D 00 00 70 77 ...... .......pw
0001A0: 6F 72 E4 EF 0D 00 00 63 77 6F 72 E4 01 B0 00 15 or.....cwor.....
0001B0: 00 B4 00 0D 00 00 63 77 6F 72 E4 EF 0E 01 9F 20 ......cwor.....
0001C0: 1E 90 01 00 06 00 BE 00 C9 00 15 00 C8 00 0D 00 ................
0001D0: 00 70 77 6F 72 E4 EF 0E 01 9F 20 1E F4 01 00 2E .pwor..... .....
0001E0: 00 D2 00 D6 20 0D 00 00 70 77 6F 72 E4 EE 0E 01 .... ...pwor....
0001F0: BF 20 03 00 00 F7 28 0D 00 00 70 77 6F 72 E4 29 . ....(...pwor.)
Size : 512 (Real : 512)
000000: BC 02 03 00 00 66 69 6C E5 EF AC 28 03 00 00 E1 .....fil...(....
000010: 2C 15 29 01 A1 20 03 00 00 66 69 6C E5 EF 22 22 ,.).. ...fil..""
000020: 20 EB 20 03 00 00 66 69 6C E5 EF 22 56 4F 43 41 . ...fil.."VOCA
000030: 42 22 00 1C 00 C6 02 B7 20 03 00 00 66 69 6C E5 B"...... ...fil.
000040: 01 D9 23 17 2C 0D 00 00 6E 77 6F 72 64 F3 00 38 ..#.,...nword..8
000050: 00 D0 02 9E 20 0D 00 00 E9 EF 0E 20 EC 20 0D 00 .... ...... . ..
000060: 00 6D 77 6F 72 64 F3 F5 0F 01 D9 23 17 2C 03 00 .mword.....#.,..
000070: 00 F7 28 0D 00 00 E9 29 2C 0D 00 00 6C EB 28 0D ..(....),...l.(.
000080: 00 00 E9 2C 0E 29 00 5E 00 DA 02 0D 00 00 EA EF ...,.).^........
000090: 0D 00 00 6C EB 28 0D 00 00 E9 2C 0E 29 01 0D 00 ...l.(....,.)...
0000A0: 00 F9 EF 0D 00 00 E9 01 0D 00 00 F8 EF 0F 01 D6 ................
0000B0: 20 0D 00 00 EA EE 0E 01 0D 00 00 EA EF 0D 00 00 ...............
0000C0: EA F5 0F 01 D9 23 17 2C 0D 00 00 6C EB 28 0D 00 .....#.,...l.(..
0000D0: 00 F9 2C 0D 00 00 F8 29 01 0D 00 00 F8 EF 0D 00 ..,....)........
0000E0: 00 F8 F4 0F 00 49 00 DF 02 A1 20 0D 00 00 F8 EF .....I.... .....
0000F0: 0D 00 00 6D 6C 69 6E 6B F3 20 EB 20 D9 23 17 2C ...mlink. . .#.,
000100: 0D 00 00 6C EB 28 0D 00 00 F9 2C 0D 00 00 F8 29 ...l.(....,....)
000110: 01 0D 00 00 F9 EF 0D 00 00 6C EB 28 0D 00 00 F9 .........l.(....
000120: 2C 0D 00 00 F8 29 01 0D 00 00 F8 EF 0F 00 08 00 ,....)..........
000130: E0 02 D5 01 B0 00 08 00 E4 02 89 01 C9 00 8B 00 ................
000140: 20 03 0D 00 00 E1 EF FF 01 28 FF 79 28 03 00 00 ........(.y(...
000150: 77 6F 72 E4 2C 0F 29 29 F4 FF 01 28 FF 79 28 03 wor.,.))...(.y(.
000160: 00 00 77 6F 72 E4 2C 11 29 29 01 0D 00 00 E2 EF ..wor.,.))......
000170: FF 01 28 FF 79 28 03 00 00 77 6F 72 E4 2C 12 29 ..(.y(...wor.,.)
000180: 29 F4 FF 01 28 03 00 00 77 6F 72 E4 29 01 0D 00 )...(...wor.)...
000190: 00 E3 EF 28 0D 00 00 E1 20 FB 20 1A 00 01 29 F6 ...(.... . ...).
0001A0: 19 80 F4 28 0D 00 00 E2 20 FB 20 19 80 29 01 0D ...(.... . ..)..
0001B0: 00 00 63 77 6F 72 E4 EF 0D 00 00 E3 20 FB 20 0D ..cwor...... . .
0001C0: 00 00 6D 77 6F 72 64 F3 00 63 00 2A 03 D6 20 03 ..mword..c.*.. .
0001D0: 00 00 F7 28 0D 00 00 63 77 6F 72 E4 29 F2 03 00 ...(...cwor.)...
0001E0: 00 77 6F 72 E4 20 FA 20 03 00 00 F7 28 0D 00 00 .wor. . ....(...
0001F0: 63 77 6F 72 E4 29 F2 22 22 01 0D 00 00 63 77 6F cwor.).""....cwo
Size : 512 (Real : 512)
000000: 22 20 22 3B 01 9F 20 1E F4 01 01 D5 00 12 00 DC " ";.. .........
000010: 00 BF 20 FF 03 28 16 29 3B 22 2E 22 01 BF 00 06 .. ..(.);"."....
000020: 00 E6 00 C9 00 28 00 2C 01 D6 20 FF 75 28 03 00 .....(.,.. .u(..
000030: 00 E1 2C 0F 29 EF 22 20 22 01 03 00 00 E1 EF AC ..,.)." ".......
000040: 28 03 00 00 E1 2C 10 29 01 D5 01 C9 00 30 00 90 (....,.).....0..
000050: 01 0D 00 00 EA EF 0D 00 00 6C EB 28 0D 00 00 70 .........l.(...p
000060: 77 6F 72 E4 2C 0E 29 01 0D 00 00 F8 EF 0F 01 0D wor.,.).........
000070: 00 00 F9 EF 0D 00 00 70 77 6F 72 E4 00 41 00 9A .......pwor..A..
000080: 01 D6 20 0D 00 00 EA EE 0E 20 FA 20 0D 00 00 63 .. ...... . ...c
000090: 77 6F 72 E4 F2 0D 00 00 6C EB 28 0D 00 00 F9 2C wor.....l.(....,
0000A0: 0D 00 00 F8 29 01 0D 00 00 EA EF 0D 00 00 EA F5 ....)...........
0000B0: 0F 01 0D 00 00 F8 EF 0D 00 00 F8 F4 0F 00 34 00 ..............4.
0000C0: 9F 01 A1 20 0D 00 00 F8 EF 0D 00 00 6D 6C 69 6E ... ........mlin
0000D0: 6B F3 20 EB 20 0D 00 00 F9 EF 0D 00 00 6C EB 28 k. . ........l.(
0000E0: 0D 00 00 F9 2C 0D 00 00 F8 29 01 0D 00 00 F8 EF ....,....)......
0000F0: 0F 00 15 00 A4 01 D5 01 A1 20 0D 00 00 EA EE 0E ......... ......
000100: 20 EB 20 1E B8 01 00 44 00 AE 01 0D 00 00 6C EB . ....D......l.
000110: 28 0D 00 00 70 77 6F 72 E4 2C 0E 29 EF 0D 00 00 (...pwor.,.)....
000120: 6C EB 28 0D 00 00 70 77 6F 72 E4 2C 0E 29 F4 0F l.(...pwor.,.)..
000130: 01 0D 00 00 6C EB 28 0D 00 00 F9 2C 0D 00 00 F8 ....l.(....,....
000140: 29 EF 0D 00 00 63 77 6F 72 E4 00 D5 00 B3 01 A1 )....cwor.......
000150: 20 0D 00 00 F8 EF 0D 00 00 6D 6C 69 6E 6B F3 F5 ........mlink..
000160: 0F 20 EB 20 0D 00 00 6E 77 6F 72 64 F3 EF 0D 00 . . ...nword....
000170: 00 6E 77 6F 72 64 F3 F4 0F 01 0D 00 00 EA EF FF .nword..........
000180: 01 28 03 00 00 F7 28 0D 00 00 63 77 6F 72 E4 29 .(....(...cwor.)
000190: F4 22 20 22 29 01 0D 00 00 F8 EF 28 0D 00 00 63 ." ")......(...c
0001A0: 77 6F 72 E4 F4 0D 00 00 EA 29 20 FB 20 0D 00 00 wor......) . ...
0001B0: 6D 77 6F 72 64 F3 01 D6 20 03 00 00 F7 28 0D 00 mword... ....(..
0001C0: 00 F8 29 EE 22 22 01 0D 00 00 F8 EF 28 0D 00 00 ..).""......(...
0001D0: F8 F4 0D 00 00 EA 29 20 FB 20 0D 00 00 6D 77 6F ......) . ...mwo
0001E0: 72 64 F3 01 D5 01 0D 00 00 6C EB 28 0D 00 00 F9 rd.......l.(....
0001F0: 2C 0D 00 00 6D 6C 69 6E 6B F3 29 EF 0D 00 00 F8 ,...mlink.).....
Size : 512 (Real : 512)
000000: 72 E4 EF 28 0D 00 00 63 77 6F 72 E4 F4 0D 00 00 r..(...cwor.....
000010: E2 29 20 FB 20 0D 00 00 6D 77 6F 72 64 F3 01 BF .) . ...mword...
000020: 20 FF 03 28 15 29 3B 01 D5 01 C9 00 50 00 84 03 ..(.);.....P...
000030: 9E 20 0D 00 00 F8 EF 0E 20 EC 20 0D 00 00 6D 77 . ...... . ...mw
000040: 6F 72 64 F3 01 A1 20 03 00 00 F7 28 0D 00 00 F8 ord... ....(....
000050: 29 EE 22 22 20 EB 20 BF 20 0D 00 00 F8 3B 22 3A )."" . . ....;":
000060: 22 03 00 00 F7 28 0D 00 00 F8 29 22 3A 22 0D 00 "....(....)":"..
000070: 00 6C EB 28 0D 00 00 F8 2C 0E 29 00 08 00 8E 03 .l.(....,.).....
000080: B0 01 C9 00 6C 00 98 03 AD 20 10 01 AE 20 0E 2C ....l.... ... .,
000090: 1A 2C 01 01 94 20 1A 58 02 2C 1A 2C 01 2C 0F 01 .,... .X.,.,.,..
0000A0: AE 20 0E 2C 19 C8 01 94 20 1A 99 01 2C 19 C8 2C . .,.... ...,..,
0000B0: 0F 01 9E 20 0D 00 00 F8 EF 0E 20 EC 20 1A E8 03 ... ...... . ...
0000C0: 20 E6 20 19 32 01 AE 20 0D 00 00 F8 20 FB 20 1A . .2.. .... . .
0000D0: 58 02 2C 1A 2C 01 F5 19 64 F6 28 0D 00 00 F8 F9 X.,.,...d.(.....
0000E0: 1A 58 02 29 01 95 20 0E 2C F5 14 2C 0F 01 B0 00 .X.).. .,..,....
0000F0: 53 00 A2 03 9E 20 0D 00 00 F8 EF 0E 20 EC 20 0D S.... ...... . .
000100: 00 00 6D 77 6F 72 64 F3 01 A1 20 03 00 00 F7 28 ..mword... ....(
000110: 0D 00 00 F8 29 EE 22 22 20 EB 20 AE 20 0D 00 00 ....)."" . . ...
000120: F8 20 FB 20 1A 58 02 2C 1A 2C 01 F5 19 64 F6 28 . . .X.,.,...d.(
000130: 0D 00 00 F8 F9 1A 58 02 29 01 95 20 0E 2C 19 10 ......X.).. .,..
000140: 2C 0F 00 0F 00 AC 03 B0 01 A9 20 0F 2C 19 14 01 ,......... .,...
000150: C9 00 00 00 1A 30 20 44 49 4D 20 77 24 28 6D 77 .....0 DIM w$(mw
000160: 6F 72 64 73 2D 31 29 2C 6C 6B 28 6D 77 6F 72 64 ords-1),lk(mword
000170: 73 2D 31 2C 6D 6C 69 6E 6B 73 29 2C 74 65 6D 70 s-1,mlinks),temp
000180: 29 F4 FF 01 28 03 00 00 77 6F 72 E4 29 01 0D 00 )...(...wor.)...
000190: 00 E3 EF 28 0D 00 00 E1 20 FB 20 1A 00 01 29 F6 ...(.... . ...).
0001A0: 19 80 F4 28 0D 00 00 E2 20 FB 20 19 80 29 01 0D ...(.... . ..)..
0001B0: 00 00 63 77 6F 72 E4 EF 0D 00 00 E3 20 FB 20 0D ..cwor...... . .
0001C0: 00 00 6D 77 6F 72 64 F3 00 63 00 2A 03 D6 20 03 ..mword..c.*.. .
0001D0: 00 00 F7 28 0D 00 00 63 77 6F 72 E4 29 F2 03 00 ...(...cwor.)...
0001E0: 00 77 6F 72 E4 20 FA 20 03 00 00 F7 28 0D 00 00 .wor. . ....(...
0001F0: 63 77 6F 72 E4 29 F2 22 22 01 0D 00 00 63 77 6F cwor.).""....cwo
Size : 512 (Real : 512)
000000: 01 0D 00 00 6C EB 28 0D 00 00 F8 2C 0E 29 EF 0E ....l.(....,.)..
000010: 01 03 00 00 F7 28 0D 00 00 F8 29 EF 22 20 22 00 .....(....)." ".
000020: 06 00 B8 01 C9 00 24 00 F4 01 0D 00 00 E9 EF FF ......$.........
000030: 0C 28 FF 45 F6 0D 00 00 6C EB 28 0D 00 00 70 77 .(.E....l.(...pw
000040: 6F 72 E4 2C 0E 29 F4 0F 29 00 50 00 F9 01 D6 20 or.,.)..).P....
000050: 0D 00 00 E9 F0 0D 00 00 6D 6C 69 6E 6B F3 01 0D ........mlink...
000060: 00 00 E9 EF 0F F4 0D 00 00 E9 F5 0D 00 00 6D 6C ..............ml
000070: 69 6E 6B F3 01 0D 00 00 70 77 6F 72 E4 EF 0D 00 ink.....pwor....
000080: 00 6C EB 28 0D 00 00 70 77 6F 72 E4 2C 0D 00 00 .l.(...pwor.,...
000090: 6D 6C 69 6E 6B F3 29 01 D5 00 24 00 FE 01 0D 00 mlink.)...$.....
0000A0: 00 70 77 6F 72 E4 EF 0D 00 00 6C EB 28 0D 00 00 .pwor.....l.(...
0000B0: 70 77 6F 72 E4 2C 0D 00 00 E9 29 01 C9 00 35 00 pwor.,....)...5.
0000C0: 58 02 03 00 00 66 69 6C E5 EF AC 28 03 00 00 E1 X....fil...(....
0000D0: 2C 15 29 01 A1 20 03 00 00 66 69 6C E5 EF 22 22 ,.).. ...fil..""
0000E0: 20 EB 20 03 00 00 66 69 6C E5 EF 22 56 4F 43 41 . ...fil.."VOCA
0000F0: 42 22 00 1C 00 62 02 B6 20 03 00 00 66 69 6C E5 B"...b.. ...fil.
000100: 01 A3 23 17 2C 0D 00 00 6E 77 6F 72 64 F3 00 38 ..#.,...nword..8
000110: 00 6C 02 9E 20 0D 00 00 E9 EF 0E 20 EC 20 0D 00 .l.. ...... . ..
000120: 00 6D 77 6F 72 64 F3 F5 0F 01 A3 23 17 2C 03 00 .mword.....#.,..
000130: 00 F7 28 0D 00 00 E9 29 2C 0D 00 00 6C EB 28 0D ..(....),...l.(.
000140: 00 00 E9 2C 0E 29 00 5E 00 76 02 0D 00 00 EA EF ...,.).^.v......
000150: 0D 00 00 6C EB 28 0D 00 00 E9 2C 0E 29 01 0D 00 ...l.(....,.)...
000160: 00 F9 EF 0D 00 00 E9 01 0D 00 00 F8 EF 0F 01 D6 ................
000170: 20 0D 00 00 EA EE 0E 01 0D 00 00 EA EF 0D 00 00 ...............
000180: EA F5 0F 01 A3 23 17 2C 0D 00 00 6C EB 28 0D 00 .....#.,...l.(..
000190: 00 F9 2C 0D 00 00 F8 29 01 0D 00 00 F8 EF 0D 00 ..,....)........
0001A0: 00 F8 F4 0F 00 49 00 7B 02 A1 20 0D 00 00 F8 EF .....I.{.. .....
0001B0: 0D 00 00 6D 6C 69 6E 6B F3 20 EB 20 A3 23 17 2C ...mlink. . .#.,
0001C0: 0D 00 00 6C EB 28 0D 00 00 F9 2C 0D 00 00 F8 29 ...l.(....,....)
0001D0: 01 0D 00 00 F9 EF 0D 00 00 6C EB 28 0D 00 00 F9 .........l.(....
0001E0: 2C 0D 00 00 F8 29 01 0D 00 00 F8 EF 0F 00 08 00 ,....)..........
0001F0: 7C 02 D5 01 B0 00 08 00 80 02 88 01 C9 00 35 00 |.............5.
Size : 512 (Real : 512)
000000: 64 6F 20 20 6E 6F 74 20 20 77 6F 72 6B 20 20 73 do not work s
000010: 6F 20 77 65 6C 6C 20 77 68 65 6E 20 74 68 65 79 o well when they
000020: 20 61 72 65 0D 0A 20 20 20 66 75 6C 6C 20 74 68 are.. full th
000030: 6F 75 67 68 2C 20 73 6F 20 79 6F 75 20 6D 61 79 ough, so you may
000040: 20 20 66 69 6E 64 20 20 74 68 69 6E 67 73 20 20 find things
000050: 63 6C 6F 67 67 69 6E 67 20 20 75 70 20 20 69 66 clogging up if
000060: 20 79 6F 75 20 73 70 65 6E 64 20 74 6F 6F 20 6C you spend too l
000070: 6F 6E 67 0D 0A 20 20 20 74 61 6C 6B 69 6E 67 20 ong.. talking
000080: 74 6F 20 79 6F 75 72 20 63 6F 6D 70 75 74 65 72 to your computer
000090: 2E 20 20 49 20 68 61 76 65 20 69 6E 63 6C 75 64 . I have includ
0000A0: 65 64 20 61 20 50 52 49 4E 54 20 43 48 52 24 28 ed a PRINT CHR$(
0000B0: 37 29 20 69 6E 20 6C 69 6E 65 20 38 31 30 2C 20 7) in line 810,
0000C0: 73 6F 0D 0A 20 20 20 69 74 20 77 69 6C 6C 20 62 so.. it will b
0000D0: 65 65 70 20 65 76 65 72 79 20 74 69 6D 65 20 74 eep every time t
0000E0: 68 65 72 65 20 69 73 20 20 61 20 63 6F 6C 6C 69 here is a colli
0000F0: 73 69 6F 6E 2E 20 20 57 68 65 6E 20 79 6F 75 20 sion. When you
000100: 68 61 76 65 20 62 65 65 6E 20 74 61 6C 6B 69 6E have been talkin
000110: 67 0D 0A 20 20 20 66 6F 72 20 61 20 77 68 69 6C g.. for a whil
000120: 65 20 79 6F 75 20 77 69 6C 6C 20 67 65 74 20 61 e you will get a
000130: 20 6C 6F 74 20 6D 6F 72 65 20 62 65 65 70 73 2E lot more beeps.
000140: 0D 0A 0D 0A 20 20 20 54 68 61 74 27 73 20 61 6C .... That's al
000150: 6C 20 75 6E 74 69 6C 20 6E 65 78 74 20 6D 6F 6E l until next mon
000160: 74 68 2C 20 77 68 65 6E 20 79 6F 75 20 77 69 6C th, when you wil
000170: 6C 20 20 62 65 20 61 73 6B 65 64 20 74 6F 20 64 l be asked to d
000180: 75 73 74 20 6F 66 66 20 79 6F 75 72 20 43 50 2F ust off your CP/
000190: 4D 0D 0A 20 20 20 73 79 73 74 65 6D 20 64 69 73 M.. system dis
0001A0: 63 73 20 28 63 75 65 20 73 6F 75 6E 64 20 65 66 cs (cue sound ef
0001B0: 66 65 63 74 73 20 6F 66 20 20 52 69 63 68 61 72 fects of Richar
0001C0: 64 20 46 61 69 72 68 75 72 73 74 20 67 6E 61 73 d Fairhurst gnas
0001D0: 68 69 6E 67 20 68 69 73 20 74 65 65 74 68 29 2E hing his teeth).
0001E0: 0D 0A 20 20 20 53 65 65 20 79 6F 75 20 74 68 65 .. See you the
0001F0: 6E 2E 0D 0A 1A 6E 63 74 69 6F 6E 20 63 6F 6D 65 n....nction come
Size : 512 (Real : 512)
000000: 31 30 20 44 49 4D 20 6E 61 6D 65 24 28 35 29 2C 10 DIM name$(5),
000010: 6E 65 78 74 6E 61 6D 65 28 35 29 0D 0A 32 30 20 nextname(5)..20
000020: 46 4F 52 20 78 3D 31 20 54 4F 20 35 0D 0A 33 30 FOR x=1 TO 5..30
000030: 20 52 45 41 44 20 6E 61 6D 65 24 28 78 29 3A 47 READ name$(x):G
000040: 4F 53 55 42 20 31 34 30 0D 0A 34 30 20 4E 45 58 OSUB 140..40 NEX
000050: 54 0D 0A 35 30 20 50 52 49 4E 54 22 20 78 20 6E T..50 PRINT" x n
000060: 61 6D 65 24 28 78 29 22 54 41 42 28 31 35 29 22 ame$(x)"TAB(15)"
000070: 6E 65 78 74 6E 61 6D 65 28 78 29 22 0D 0A 36 30 nextname(x)"..60
000080: 20 46 4F 52 20 78 3D 30 20 54 4F 20 35 0D 0A 37 FOR x=0 TO 5..7
000090: 30 20 50 52 49 4E 54 20 78 3B 6E 61 6D 65 24 28 0 PRINT x;name$(
0000A0: 78 29 3B 54 41 42 28 31 34 29 3B 6E 65 78 74 6E x);TAB(14);nextn
0000B0: 61 6D 65 28 78 29 0D 0A 38 30 20 4E 45 58 54 0D ame(x)..80 NEXT.
0000C0: 0A 39 30 20 50 52 49 4E 54 3A 50 52 49 4E 54 22 .90 PRINT:PRINT"
0000D0: 49 6E 20 6F 72 64 65 72 3A 22 0D 0A 31 30 30 20 In order:"..100
0000E0: 78 3D 30 3A 57 48 49 4C 45 20 6E 65 78 74 6E 61 x=0:WHILE nextna
0000F0: 6D 65 28 78 29 3E 30 0D 0A 31 31 30 20 78 3D 6E me(x)>0..110 x=n
000100: 65 78 74 6E 61 6D 65 28 78 29 3A 50 52 49 4E 54 extname(x):PRINT
000110: 20 6E 61 6D 65 24 28 78 29 0D 0A 31 32 30 20 57 name$(x)..120 W
000120: 45 4E 44 3A 45 4E 44 0D 0A 31 33 30 20 44 41 54 END:END..130 DAT
000130: 41 20 45 67 62 65 72 74 2C 41 6C 66 72 65 64 2C A Egbert,Alfred,
000140: 43 68 61 72 6C 69 65 2C 42 65 72 74 72 61 6E 64 Charlie,Bertrand
000150: 2C 44 65 73 6D 6F 6E 64 0D 0A 31 34 30 20 52 45 ,Desmond..140 RE
000160: 4D 20 69 6E 73 65 72 74 20 69 6E 74 6F 20 6C 69 M insert into li
000170: 73 74 0D 0A 31 35 30 20 79 3D 6E 65 78 74 6E 61 st..150 y=nextna
000180: 6D 65 28 30 29 3A 70 79 3D 30 0D 0A 31 36 30 20 me(0):py=0..160
000190: 57 48 49 4C 45 20 79 3E 30 20 41 4E 44 20 6E 61 WHILE y>0 AND na
0001A0: 6D 65 24 28 79 29 3C 6E 61 6D 65 24 28 78 29 0D me$(y)<name$(x).
0001B0: 0A 31 37 30 20 70 79 3D 79 3A 79 3D 6E 65 78 74 .170 py=y:y=next
0001C0: 6E 61 6D 65 28 79 29 0D 0A 31 38 30 20 57 45 4E name(y)..180 WEN
0001D0: 44 0D 0A 31 39 30 20 6E 65 78 74 6E 61 6D 65 28 D..190 nextname(
0001E0: 70 79 29 3D 78 3A 6E 65 78 74 6E 61 6D 65 28 78 py)=x:nextname(x
0001F0: 29 3D 79 0D 0A 32 30 30 20 52 45 54 55 52 4E 0D )=y..200 RETURN.
Size : 512 (Real : 512)
000000: 00 41 49 35 20 20 20 20 20 42 41 53 00 00 00 00 .AI5 BAS....
000010: 00 00 00 00 00 70 01 00 D4 0A 00 00 00 00 00 00 .....p..........
000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: D4 0A 00 62 04 00 00 6D 77 6F 72 64 F3 01 A1 20 ...b...mword...
000050: 03 00 00 F7 28 0D 00 00 F8 29 EE 22 22 20 EB 20 ....(....)."" .
000060: AE 20 0D 00 00 F8 20 FB 20 1A 58 02 2C 1A 2C 01 . .... . .X.,.,.
000070: F5 19 64 F6 28 0D 00 00 F8 F9 1A 58 02 29 01 95 ..d.(......X.)..
000080: 18 00 0A 00 8E 20 61 2D 7A 01 B7 22 64 22 01 AA ..... a-z.."d"..
000090: 20 FF 42 F5 0F 01 89 00 2A 00 14 00 0D 00 00 6D .B.....*......m
0000A0: 77 6F 72 64 F3 EF 1A F1 03 01 0D 00 00 6D 6C 69 word.........mli
0000B0: 6E 6B F3 EF 14 01 0D 00 00 6E 77 6F 72 64 F3 EF nk.......nword..
0000C0: 0E 00 42 00 1E 00 93 20 03 00 00 F7 28 0D 00 00 ..B.... ....(...
0000D0: 6D 77 6F 72 64 F3 F5 0F 29 2C 0D 00 00 6C EB 28 mword...),...l.(
0000E0: 0D 00 00 6D 77 6F 72 64 F3 F5 0F 2C 0D 00 00 6D ...mword...,...m
0000F0: 6C 69 6E 6B F3 29 2C 03 00 00 74 65 6D 70 F7 28 link.),...temp.(
000100: 19 80 29 00 10 00 1F 00 03 00 00 F7 28 0E 29 EF ..).........(.).
000110: 22 20 22 00 08 00 23 00 AD 20 10 00 0F 00 28 00 " "...#.. ....(.
000120: A6 20 A3 22 22 2C 03 00 00 E1 00 2B 00 29 00 A1 . ."",.....+.)..
000130: 20 FF 1C 28 FF 75 28 03 00 00 E1 2C 13 29 29 EF ..(.u(....,.)).
000140: 22 2A 4C 4F 41 44 22 20 EB 20 9F 20 1E 58 02 01 "*LOAD" . . .X..
000150: A0 20 1E 28 00 00 2B 00 2A 00 A1 20 FF 1C 28 FF . .(..+.*.. ..(.
000160: 75 28 03 00 00 E1 2C 13 29 29 EF 22 2A 53 41 56 u(....,.))."*SAV
000170: 45 22 20 EB 20 9F 20 1E BC 02 01 A0 20 1E 28 00 E" . . ..... .(.
000180: 00 2F 00 2B 00 A1 20 FF 1C 28 FF 75 28 03 00 00 ./.+.. ..(.u(...
000190: E1 2C 17 29 29 EF 22 2A 53 48 4F 57 48 41 53 48 .,.))."*SHOWHASH
0001A0: 22 20 EB 20 9F 20 1E 84 03 01 A0 20 1E 28 00 00 " . . ..... .(..
0001B0: 31 00 2C 00 A1 20 FF 1C 28 FF 75 28 03 00 00 E1 1.,.. ..(.u(....
0001C0: 2C 19 0A 29 29 EF 22 2A 48 41 53 48 47 52 41 50 ,..))."*HASHGRAP
0001D0: 48 22 20 EB 20 9F 20 1E 98 03 01 A0 20 1E 28 00 H" . . ..... .(.
0001E0: 00 28 00 32 00 0D 00 00 77 63 6F 75 6E F4 EF 0E .(.2....wcoun...
0001F0: 01 9F 20 1E 2C 01 01 A1 20 03 00 00 E1 F2 22 22 .. .,... .....""
Size : 512 (Real : 512)
000000: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 32 31 20 2D 20 57 41 43 43 49 20 31 tch 21 - WACCI 1
000020: 33 30 2C 20 4D 61 79 2F 4A 75 6E 65 20 31 39 39 30, May/June 199
000030: 39 0D 0A 20 20 20 50 52 4F 47 52 41 4D 4D 45 52 9.. PROGRAMMER
000040: 53 27 20 50 41 54 43 48 20 32 31 0D 0A 20 20 20 S' PATCH 21..
000050: 42 79 20 4D 61 74 74 68 65 77 20 50 68 69 6C 6C By Matthew Phill
000060: 69 70 73 0D 0A 0D 0A 20 20 20 49 20 73 61 69 64 ips.... I said
000070: 20 79 6F 75 20 77 6F 75 6C 64 20 68 61 76 65 20 you would have
000080: 74 6F 20 64 75 73 74 20 20 6F 66 66 20 20 79 6F to dust off yo
000090: 75 72 20 20 43 50 2F 4D 20 73 79 73 74 65 6D 20 ur CP/M system
0000A0: 64 69 73 63 73 20 74 68 69 73 20 74 69 6D 65 2E discs this time.
0000B0: 20 20 57 65 0D 0A 20 20 20 61 72 65 20 67 6F 69 We.. are goi
0000C0: 6E 67 20 74 6F 20 6C 6F 6F 6B 20 61 74 20 20 4C ng to look at L
0000D0: 6F 67 6F 2C 20 20 74 68 61 74 20 20 6E 65 67 6C ogo, that negl
0000E0: 65 63 74 65 64 20 20 6C 61 6E 67 75 61 67 65 20 ected language
0000F0: 74 68 61 74 20 65 76 65 72 79 20 43 50 43 20 64 that every CPC d
000100: 69 73 63 0D 0A 20 20 20 64 72 69 76 65 20 75 73 isc.. drive us
000110: 65 72 20 68 61 73 20 61 63 63 65 73 73 20 74 6F er has access to
000120: 2E 20 20 59 6F 75 20 20 6D 61 79 20 20 68 61 76 . You may hav
000130: 65 20 6D 65 74 20 4C 6F 67 6F 20 74 68 72 6F 75 e met Logo throu
000140: 67 68 20 74 75 72 74 6C 65 20 67 72 61 70 68 69 gh turtle graphi
000150: 63 73 0D 0A 20 20 20 61 6E 64 20 20 6E 65 76 65 cs.. and neve
000160: 72 20 20 72 65 61 6C 69 73 65 64 20 20 74 68 61 r realised tha
000170: 74 20 20 69 74 20 20 69 73 20 20 61 20 20 72 65 t it is a re
000180: 61 73 6F 6E 61 62 6C 79 20 20 63 6F 6D 70 6C 65 asonably comple
000190: 74 65 20 20 61 6E 64 20 20 70 6F 77 65 72 66 75 te and powerfu
0001A0: 6C 0D 0A 20 20 20 70 72 6F 67 72 61 6D 6D 69 6E l.. programmin
0001B0: 67 20 6C 61 6E 67 75 61 67 65 2E 20 20 54 68 65 g language. The
0001C0: 20 41 6D 73 74 72 61 64 20 76 65 72 73 69 6F 6E Amstrad version
0001D0: 20 20 69 73 20 20 76 65 72 79 20 20 73 6C 6F 77 is very slow
0001E0: 2C 20 62 75 74 20 69 74 27 73 20 73 74 69 6C 6C , but it's still
0001F0: 0D 0A 20 20 20 77 6F 72 74 68 20 65 78 70 6C 6F .. worth explo
Size : 512 (Real : 512)
000000: 6C 69 6E 65 73 20 20 66 6F 72 6D 20 20 62 6C 6F lines form blo
000010: 63 6B 73 20 20 6F 66 0D 0A 20 20 20 69 6E 73 74 cks of.. inst
000020: 72 75 63 74 69 6F 6E 73 20 77 68 69 63 68 20 61 ructions which a
000030: 72 65 20 61 73 73 6F 63 69 61 74 65 64 20 77 69 re associated wi
000040: 74 68 20 20 74 68 65 20 20 70 72 65 76 69 6F 75 th the previou
000050: 73 20 6C 69 6E 65 2E 20 20 59 6F 75 20 6D 75 73 s line. You mus
000060: 74 20 61 6C 73 6F 0D 0A 20 20 20 74 79 70 65 20 t also.. type
000070: 74 68 65 20 63 6F 6D 6D 61 6E 64 73 20 69 6E 20 the commands in
000080: 6C 6F 77 65 72 20 63 61 73 65 20 6C 65 74 74 65 lower case lette
000090: 72 73 2E 0D 0A 0D 0A 20 20 20 54 59 50 45 2D 49 rs..... TYPE-I
0000A0: 4E 20 43 4F 52 4E 45 52 0D 0A 20 20 20 54 6F 20 N CORNER.. To
0000B0: 65 6E 74 65 72 20 74 68 65 20 70 72 6F 67 72 61 enter the progra
0000C0: 6D 2C 20 6A 75 73 74 20 74 79 70 65 20 61 6C 6C m, just type all
0000D0: 20 20 74 68 65 20 20 6C 69 6E 65 73 2C 20 70 72 the lines, pr
0000E0: 65 73 73 69 6E 67 20 45 4E 54 45 52 20 61 74 20 essing ENTER at
0000F0: 74 68 65 20 65 6E 64 0D 0A 20 20 20 6F 66 20 65 the end.. of e
000100: 61 63 68 20 20 6F 6E 65 2E 20 20 20 57 68 69 6C ach one. Whil
000110: 65 20 20 79 6F 75 20 20 61 72 65 20 20 69 6E 20 e you are in
000120: 20 74 68 65 20 20 6D 69 64 64 6C 65 20 20 6F 66 the middle of
000130: 20 20 74 79 70 69 6E 67 20 20 61 20 20 70 72 6F typing a pro
000140: 63 65 64 75 72 65 0D 0A 20 20 20 64 65 66 69 6E cedure.. defin
000150: 69 74 69 6F 6E 2C 20 74 68 65 20 70 72 6F 6D 70 ition, the promp
000160: 74 20 77 69 6C 6C 20 63 68 61 6E 67 65 20 20 74 t will change t
000170: 6F 20 20 61 20 20 67 72 65 61 74 65 72 2D 74 68 o a greater-th
000180: 61 6E 20 73 69 67 6E 2E 20 20 53 6F 6D 65 20 6F an sign. Some o
000190: 66 20 74 68 65 0D 0A 20 20 20 70 72 6F 67 72 61 f the.. progra
0001A0: 6D 20 6C 69 6E 65 73 20 61 72 65 20 77 69 64 65 m lines are wide
0001B0: 72 20 74 68 61 6E 20 74 68 65 20 73 63 72 65 65 r than the scree
0001C0: 6E 2E 20 20 4C 6F 67 6F 20 77 69 6C 6C 20 64 69 n. Logo will di
0001D0: 73 70 6C 61 79 20 61 6E 20 65 78 63 6C 61 6D 61 splay an exclama
0001E0: 74 69 6F 6E 0D 0A 20 20 20 6D 61 72 6B 20 77 68 tion.. mark wh
0001F0: 65 6E 20 79 6F 75 20 77 72 61 70 20 72 6F 75 6E en you wrap roun
Size : 512 (Real : 512)
000000: 72 69 6E 67 2E 0D 0A 0D 0A 20 20 20 46 69 72 73 ring..... Firs
000010: 74 20 79 6F 75 20 77 69 6C 6C 20 6E 65 65 64 20 t you will need
000020: 74 6F 20 6D 61 6B 65 20 61 20 20 77 6F 72 6B 69 to make a worki
000030: 6E 67 20 20 63 6F 70 79 20 20 6F 66 20 74 68 65 ng copy of the
000040: 20 72 65 6C 65 76 61 6E 74 20 73 69 64 65 20 6F relevant side o
000050: 66 20 79 6F 75 72 0D 0A 20 20 20 73 79 73 74 65 f your.. syste
000060: 6D 20 64 69 73 63 73 2E 20 20 46 6F 72 20 34 36 m discs. For 46
000070: 34 20 61 6E 64 20 36 36 34 20 75 73 65 72 73 20 4 and 664 users
000080: 74 68 69 73 20 20 69 73 20 73 69 64 65 20 32 20 this is side 2
000090: 6F 66 20 74 68 65 20 43 50 2F 4D 20 32 2E 32 20 of the CP/M 2.2
0000A0: 64 69 73 63 2E 0D 0A 20 20 20 36 31 32 38 20 75 disc... 6128 u
0000B0: 73 65 72 73 20 73 68 6F 75 6C 64 20 75 73 65 20 sers should use
0000C0: 73 69 64 65 20 33 20 6F 66 20 74 68 65 69 72 20 side 3 of their
0000D0: 73 79 73 74 65 6D 20 64 69 73 63 73 2E 20 20 59 system discs. Y
0000E0: 6F 75 20 63 61 6E 20 61 6C 73 6F 20 74 72 79 20 ou can also try
0000F0: 74 68 69 73 0D 0A 20 20 20 6F 75 74 20 6F 6E 20 this.. out on
000100: 61 20 50 43 57 20 69 66 20 79 6F 75 20 68 61 76 a PCW if you hav
000110: 65 20 20 6F 6E 65 2E 20 20 20 4F 6E 20 20 74 68 e one. On th
000120: 65 20 20 34 36 34 20 61 6E 64 20 36 36 34 2C 20 e 464 and 664,
000130: 79 6F 75 20 74 68 65 6E 20 69 6E 73 65 72 74 20 you then insert
000140: 74 68 65 0D 0A 20 20 20 63 6F 70 79 20 61 6E 64 the.. copy and
000150: 20 74 79 70 65 20 7C 43 50 4D 2E 20 20 4C 6F 67 type |CPM. Log
000160: 6F 20 77 69 6C 6C 20 72 75 6E 20 61 75 74 6F 6D o will run autom
000170: 61 74 69 63 61 6C 6C 79 2E 20 20 36 31 32 38 20 atically. 6128
000180: 75 73 65 72 73 20 77 69 6C 6C 20 6E 65 65 64 20 users will need
000190: 74 6F 0D 0A 20 20 20 73 74 61 72 74 20 43 50 2F to.. start CP/
0001A0: 4D 2B 20 66 72 6F 6D 20 73 69 64 65 20 31 20 6F M+ from side 1 o
0001B0: 66 20 20 79 6F 75 72 20 20 73 79 73 74 65 6D 20 f your system
0001C0: 20 64 69 73 63 73 20 20 61 6E 64 20 74 68 65 6E discs and then
0001D0: 20 69 6E 73 65 72 74 20 79 6F 75 72 20 4C 6F 67 insert your Log
0001E0: 6F 0D 0A 20 20 20 64 69 73 63 20 61 6E 64 20 74 o.. disc and t
0001F0: 79 70 65 20 22 73 75 62 6D 69 74 20 6C 6F 67 6F ype "submit logo
Size : 512 (Real : 512)
000000: 64 20 74 6F 20 74 68 65 20 6C 65 66 74 20 6F 66 d to the left of
000010: 20 74 68 65 20 73 63 72 65 65 6E 2E 20 20 4A 75 the screen. Ju
000020: 73 74 20 69 67 6E 6F 72 65 20 74 68 69 73 2E 0D st ignore this..
000030: 0A 0D 0A 20 20 20 49 66 20 79 6F 75 20 6E 65 65 ... If you nee
000040: 64 20 74 6F 20 65 64 69 74 20 74 68 65 20 70 72 d to edit the pr
000050: 6F 63 65 64 75 72 65 20 63 61 6C 6C 65 64 20 22 ocedure called "
000060: 70 61 72 73 65 22 20 6C 61 74 65 72 2C 20 6A 75 parse" later, ju
000070: 73 74 20 65 6E 74 65 72 0D 0A 0D 0A 20 20 20 20 st enter....
000080: 20 65 64 20 22 70 61 72 73 65 0D 0A 0D 0A 20 20 ed "parse....
000090: 20 61 6E 64 20 79 6F 75 20 77 69 6C 6C 20 62 65 and you will be
0000A0: 20 20 70 75 74 20 20 69 6E 74 6F 20 20 61 6E 20 put into an
0000B0: 20 65 64 69 74 69 6E 67 20 20 73 63 72 65 65 6E editing screen
0000C0: 2E 20 20 20 50 72 65 73 73 20 20 43 4F 50 59 20 . Press COPY
0000D0: 74 6F 20 73 61 76 65 20 74 68 65 0D 0A 20 20 20 to save the..
0000E0: 63 68 61 6E 67 65 73 2C 20 6F 72 20 45 53 43 20 changes, or ESC
0000F0: 74 6F 20 67 65 74 20 6F 75 74 20 77 69 74 68 6F to get out witho
000100: 75 74 20 61 6C 74 65 72 69 6E 67 20 61 6E 79 74 ut altering anyt
000110: 68 69 6E 67 2E 20 20 49 66 20 79 6F 75 20 75 73 hing. If you us
000120: 65 20 61 20 34 36 34 20 6F 72 0D 0A 20 20 20 36 e a 464 or.. 6
000130: 36 34 20 79 6F 75 20 77 69 6C 6C 20 66 69 6E 64 64 you will find
000140: 20 74 68 61 74 20 74 68 65 20 70 72 6F 63 65 64 that the proced
000150: 75 72 65 20 77 69 6C 6C 20 20 68 61 76 65 20 62 ure will have b
000160: 65 65 6E 20 6A 6F 69 6E 65 64 20 75 70 20 69 6E een joined up in
000170: 20 6F 6E 65 20 6C 6F 6E 67 0D 0A 20 20 20 6C 69 one long.. li
000180: 6E 65 2C 20 77 68 69 63 68 20 77 6F 72 6B 73 20 ne, which works
000190: 6A 75 73 74 20 74 68 65 20 73 61 6D 65 20 77 61 just the same wa
0001A0: 79 2C 20 62 75 74 20 69 73 20 72 61 74 68 65 72 y, but is rather
0001B0: 20 68 61 72 64 65 72 20 74 6F 20 72 65 61 64 2E harder to read.
0001C0: 20 20 4F 6E 20 74 68 65 0D 0A 20 20 20 36 31 32 On the.. 612
0001D0: 38 20 74 68 65 20 66 6F 72 6D 61 74 74 69 6E 67 8 the formatting
0001E0: 20 69 73 20 70 72 65 73 65 72 76 65 64 2E 0D 0A is preserved...
0001F0: 0D 0A 20 20 20 54 68 65 20 4C 6F 67 6F 20 70 72 .. The Logo pr
Size : 512 (Real : 512)
000000: 33 22 2E 20 20 54 68 61 74 27 73 20 20 77 68 61 3". That's wha
000010: 74 20 20 69 74 20 20 73 61 79 73 20 69 6E 20 79 t it says in y
000020: 6F 75 72 20 6D 61 6E 75 61 6C 2C 20 73 6F 20 49 our manual, so I
000030: 0D 0A 20 20 20 68 6F 70 65 20 69 74 20 77 6F 72 .. hope it wor
000040: 6B 73 2E 0D 0A 0D 0A 20 20 20 4F 6E 63 65 20 4C ks..... Once L
000050: 6F 67 6F 20 68 61 73 20 73 74 61 72 74 65 64 2C ogo has started,
000060: 20 79 6F 75 20 20 77 69 6C 6C 20 20 62 65 20 20 you will be
000070: 66 61 63 65 64 20 20 77 69 74 68 20 20 61 20 71 faced with a q
000080: 75 65 73 74 69 6F 6E 20 6D 61 72 6B 20 70 72 6F uestion mark pro
000090: 6D 70 74 2C 0D 0A 20 20 20 77 68 69 63 68 20 69 mpt,.. which i
0000A0: 73 20 4C 6F 67 6F 27 73 20 77 61 79 20 6F 66 20 s Logo's way of
0000B0: 73 61 79 69 6E 67 20 22 57 68 61 74 20 64 6F 20 saying "What do
0000C0: 79 6F 75 20 77 61 6E 74 20 6D 65 20 74 6F 20 64 you want me to d
0000D0: 6F 3F 22 0D 0A 0D 0A 20 20 20 4C 4F 47 4F 20 53 o?".... LOGO S
0000E0: 43 52 49 50 54 0D 0A 20 20 20 42 65 63 61 75 73 CRIPT.. Becaus
0000F0: 65 20 79 6F 75 20 77 69 6C 6C 20 70 72 6F 62 61 e you will proba
000100: 62 6C 79 20 6E 6F 74 20 20 68 61 76 65 20 20 73 bly not have s
000110: 65 65 6E 20 20 6D 75 63 68 20 20 4C 6F 67 6F 20 een much Logo
000120: 62 65 66 6F 72 65 2C 20 49 20 68 61 64 20 62 65 before, I had be
000130: 74 74 65 72 0D 0A 20 20 20 65 78 70 6C 61 69 6E tter.. explain
000140: 20 61 20 62 69 74 20 61 62 6F 75 74 20 77 68 61 a bit about wha
000150: 74 20 74 68 65 20 70 72 6F 67 72 61 6D 20 20 69 t the program i
000160: 73 20 20 6D 65 61 6E 74 20 20 74 6F 20 6C 6F 6F s meant to loo
000170: 6B 20 6C 69 6B 65 2C 20 61 6E 64 20 68 6F 77 20 k like, and how
000180: 79 6F 75 0D 0A 20 20 20 74 79 70 65 20 69 74 20 you.. type it
000190: 69 6E 2E 20 20 55 6E 6C 69 6B 65 20 42 41 53 49 in. Unlike BASI
0001A0: 43 2C 20 74 68 65 72 65 20 20 61 72 65 20 20 6E C, there are n
0001B0: 6F 20 20 6C 69 6E 65 20 6E 75 6D 62 65 72 73 2E o line numbers.
0001C0: 20 20 42 41 53 49 43 20 69 73 20 69 6E 20 66 61 BASIC is in fa
0001D0: 63 74 0D 0A 20 20 20 75 6E 75 73 75 61 6C 20 69 ct.. unusual i
0001E0: 6E 20 75 73 69 6E 67 20 6C 69 6E 65 20 6E 75 6D n using line num
0001F0: 62 65 72 73 2C 20 77 68 69 63 68 20 61 72 65 20 bers, which are
Size : 512 (Real : 512)
000000: 6F 76 69 64 65 64 20 77 69 74 68 20 43 50 2F 4D ovided with CP/M
000010: 20 32 2E 32 20 66 6F 72 20 74 68 65 20 20 34 36 2.2 for the 46
000020: 34 20 61 6E 64 20 36 36 34 20 69 73 20 61 20 63 4 and 664 is a c
000030: 75 74 2D 64 6F 77 6E 20 76 65 72 73 69 6F 6E 0D ut-down version.
000040: 0A 20 20 20 64 65 73 69 67 6E 65 64 20 74 6F 20 . designed to
000050: 66 69 74 20 69 6E 74 6F 20 74 68 65 20 73 6D 61 fit into the sma
000060: 6C 6C 65 72 20 20 6D 65 6D 6F 72 79 20 20 6F 66 ller memory of
000070: 20 74 68 65 73 65 20 6D 61 63 68 69 6E 65 73 2E these machines.
000080: 20 20 41 73 20 61 20 72 65 73 75 6C 74 2C 0D 0A As a result,..
000090: 20 20 20 74 77 6F 20 63 6F 6D 6D 61 6E 64 73 20 two commands
0000A0: 49 20 68 61 76 65 20 75 73 65 64 20 61 72 65 20 I have used are
0000B0: 20 6E 6F 74 20 20 61 76 61 69 6C 61 62 6C 65 20 not available
0000C0: 6F 6E 20 74 68 69 73 20 76 65 72 73 69 6F 6E 2E on this version.
0000D0: 20 20 46 6F 72 74 75 6E 61 74 65 6C 79 0D 0A 20 Fortunately..
0000E0: 20 20 77 65 20 63 61 6E 20 61 64 64 20 74 68 65 we can add the
0000F0: 6D 20 76 65 72 79 20 65 61 73 69 6C 79 2C 20 73 m very easily, s
000100: 6F 20 34 36 34 20 20 61 6E 64 20 20 36 36 34 20 o 464 and 664
000110: 75 73 65 72 73 20 77 69 6C 6C 20 61 6C 73 6F 20 users will also
000120: 6E 65 65 64 20 74 6F 20 74 79 70 65 0D 0A 20 20 need to type..
000130: 20 69 6E 20 74 68 65 20 64 65 66 69 6E 69 74 69 in the definiti
000140: 6F 6E 73 20 6F 66 20 22 74 68 69 6E 67 22 20 61 ons of "thing" a
000150: 6E 64 20 22 6D 65 6D 62 65 72 70 22 20 66 72 6F nd "memberp" fro
000160: 6D 20 74 68 65 20 73 65 70 61 72 61 74 65 20 6C m the separate l
000170: 69 73 74 69 6E 67 2E 0D 0A 0D 0A 20 20 20 4F 6E isting..... On
000180: 63 65 20 69 74 20 69 73 20 61 6C 6C 20 74 79 70 ce it is all typ
000190: 65 64 20 69 6E 2C 20 79 6F 75 20 63 61 6E 20 73 ed in, you can s
0001A0: 61 76 65 20 69 74 20 62 79 20 74 79 70 69 6E 67 ave it by typing
0001B0: 0D 0A 0D 0A 20 20 20 20 20 73 61 76 65 20 22 61 .... save "a
0001C0: 6E 79 6E 61 6D 65 0D 0A 0D 0A 20 20 20 61 6E 64 nyname.... and
0001D0: 20 74 68 65 6E 20 72 75 6E 20 74 68 65 20 70 72 then run the pr
0001E0: 6F 67 72 61 6D 20 62 79 20 65 6E 74 65 72 69 6E ogram by enterin
0001F0: 67 20 20 74 68 65 20 20 73 69 6E 67 6C 65 20 63 g the single c
Size : 512 (Real : 512)
000000: 6F 6E 6C 79 20 72 65 61 6C 6C 79 20 75 73 65 64 only really used
000010: 20 66 6F 72 20 74 68 65 20 47 4F 54 4F 20 61 6E for the GOTO an
000020: 64 0D 0A 20 20 20 47 4F 53 55 42 20 63 6F 6D 6D d.. GOSUB comm
000030: 61 6E 64 73 2E 20 20 4F 74 68 65 72 20 6C 61 6E ands. Other lan
000040: 67 75 61 67 65 73 20 20 67 69 76 65 20 20 73 75 guages give su
000050: 62 72 6F 75 74 69 6E 65 73 20 20 6E 61 6D 65 73 broutines names
000060: 2C 20 20 61 6E 64 20 63 61 6C 6C 20 74 68 65 6D , and call them
000070: 0D 0A 20 20 20 66 75 6E 63 74 69 6F 6E 73 20 6F .. functions o
000080: 72 20 70 72 6F 63 65 64 75 72 65 73 2E 0D 0A 0D r procedures....
000090: 0A 20 20 20 54 68 65 20 66 69 72 73 74 20 6C 69 . The first li
0000A0: 6E 65 20 69 73 20 22 74 6F 20 61 69 22 2E 20 20 ne is "to ai".
0000B0: 54 68 69 73 20 64 65 66 69 6E 65 73 20 61 20 6E This defines a n
0000C0: 65 77 20 70 72 6F 63 65 64 75 72 65 20 6F 72 20 ew procedure or
0000D0: 63 6F 6D 6D 61 6E 64 2C 20 77 68 69 63 68 0D 0A command, which..
0000E0: 20 20 20 69 73 20 74 6F 20 62 65 20 63 61 6C 6C is to be call
0000F0: 65 64 20 22 61 69 22 2E 20 20 54 68 65 20 20 6C ed "ai". The l
000100: 69 6E 65 73 20 20 75 70 20 20 74 6F 20 20 22 65 ines up to "e
000110: 6E 64 22 20 61 72 65 20 74 68 65 20 64 65 66 69 nd" are the defi
000120: 6E 69 74 69 6F 6E 20 6F 66 20 74 68 65 0D 0A 20 nition of the..
000130: 20 20 70 72 6F 63 65 64 75 72 65 2E 20 20 49 74 procedure. It
000140: 20 77 6F 72 6B 73 20 74 68 65 20 73 61 6D 65 20 works the same
000150: 77 61 79 20 20 61 73 20 20 61 20 73 75 62 72 6F way as a subro
000160: 75 74 69 6E 65 2C 20 62 75 74 20 69 6E 73 74 65 utine, but inste
000170: 61 64 20 6F 66 20 74 79 70 69 6E 67 0D 0A 20 20 ad of typing..
000180: 20 47 4F 53 55 42 20 31 30 30 20 74 6F 20 63 61 GOSUB 100 to ca
000190: 6C 6C 20 69 74 2C 20 77 65 20 6A 75 73 74 20 20 ll it, we just
0001A0: 74 79 70 65 20 61 69 2E 20 20 54 68 69 73 20 70 type ai. This p
0001B0: 61 72 74 69 63 75 6C 61 72 20 72 6F 75 74 69 6E articular routin
0001C0: 65 20 72 65 66 65 72 73 20 74 6F 0D 0A 20 20 20 e refers to..
0001D0: 74 77 6F 20 6F 74 68 65 72 73 2C 20 70 61 72 73 two others, pars
0001E0: 65 20 61 6E 64 20 73 70 65 61 6B 2C 20 77 68 69 e and speak, whi
0001F0: 63 68 20 77 65 20 64 65 66 69 6E 65 20 6C 61 74 ch we define lat
Size : 512 (Real : 512)
000000: 6F 6D 6D 61 6E 64 20 22 61 69 22 2E 20 20 49 66 ommand "ai". If
000010: 20 61 6C 6C 20 69 73 0D 0A 20 20 20 77 65 6C 6C all is.. well
000020: 2C 20 79 6F 75 20 77 69 6C 6C 20 62 65 20 61 62 , you will be ab
000030: 6C 65 20 20 74 6F 20 20 74 79 70 65 20 20 73 65 le to type se
000040: 6E 74 65 6E 63 65 73 20 20 61 6E 64 20 74 68 65 ntences and the
000050: 20 63 6F 6D 70 75 74 65 72 20 77 69 6C 6C 20 72 computer will r
000060: 65 73 70 6F 6E 64 0D 0A 20 20 20 77 69 74 68 20 espond.. with
000070: 72 61 6E 64 6F 6D 20 67 69 62 62 65 72 69 73 68 random gibberish
000080: 20 62 61 73 65 64 20 6F 6E 20 77 68 61 74 20 79 based on what y
000090: 6F 75 20 68 61 76 65 20 74 79 70 65 64 2E 20 20 ou have typed.
0000A0: 4C 6F 67 6F 27 73 20 65 72 72 6F 72 20 6D 65 73 Logo's error mes
0000B0: 73 61 67 65 73 0D 0A 20 20 20 61 72 65 20 75 73 sages.. are us
0000C0: 75 61 6C 6C 79 20 76 65 72 79 20 68 65 6C 70 66 ually very helpf
0000D0: 75 6C 2C 20 73 6F 20 79 6F 75 20 77 69 6C 6C 20 ul, so you will
0000E0: 62 65 20 61 62 6C 65 20 74 6F 20 63 6F 72 72 65 be able to corre
0000F0: 63 74 20 61 6E 79 20 6D 69 73 74 61 6B 65 73 20 ct any mistakes
000100: 77 69 74 68 0D 0A 20 20 20 74 68 65 20 65 64 20 with.. the ed
000110: 63 6F 6D 6D 61 6E 64 20 61 73 20 64 65 73 63 72 command as descr
000120: 69 62 65 64 20 61 62 6F 76 65 2E 0D 0A 0D 0A 20 ibed above.....
000130: 20 20 3C 3C 54 68 65 20 74 77 6F 20 6C 69 73 74 <<The two list
000140: 69 6E 67 73 20 61 72 65 20 20 73 61 76 65 64 20 ings are saved
000150: 20 6F 6E 20 20 74 68 69 73 20 20 64 69 73 63 20 on this disc
000160: 20 61 73 20 41 49 36 2E 4C 4F 47 20 61 6E 64 20 as AI6.LOG and
000170: 36 34 4B 42 49 54 53 2E 4C 4F 47 2E 0D 0A 20 20 64KBITS.LOG...
000180: 20 43 6F 70 79 20 74 68 65 6D 20 74 6F 20 79 6F Copy them to yo
000190: 75 72 20 77 6F 72 6B 69 6E 67 20 64 69 73 63 2C ur working disc,
0001A0: 20 73 74 61 72 74 20 20 4C 6F 67 6F 2C 20 20 61 start Logo, a
0001B0: 6E 64 20 6C 6F 61 64 20 74 68 65 20 6D 61 69 6E nd load the main
0001C0: 20 70 72 6F 67 72 61 6D 20 62 79 0D 0A 20 20 20 program by..
0001D0: 74 79 70 69 6E 67 20 6C 6F 61 64 20 22 61 69 36 typing load "ai6
0001E0: 20 61 6E 64 20 70 72 65 73 73 69 6E 67 20 72 65 and pressing re
0001F0: 74 75 72 6E 2E 20 20 49 66 20 79 6F 75 20 61 72 turn. If you ar
Size : 512 (Real : 512)
000000: 65 72 2E 20 20 49 74 20 61 6C 73 6F 20 63 61 6C er. It also cal
000010: 6C 73 20 69 74 73 65 6C 66 2C 0D 0A 20 20 20 69 ls itself,.. i
000020: 6E 20 74 68 65 20 6C 61 73 74 20 6C 69 6E 65 20 n the last line
000030: 62 65 66 6F 72 65 20 74 68 65 20 20 65 6E 64 2E before the end.
000040: 20 20 20 54 68 69 73 20 20 6D 65 61 6E 73 20 74 This means t
000050: 68 65 20 70 72 6F 67 72 61 6D 20 67 6F 65 73 20 he program goes
000060: 72 6F 75 6E 64 20 61 6E 64 0D 0A 20 20 20 72 6F round and.. ro
000070: 75 6E 64 20 75 6E 74 69 6C 20 77 65 20 70 72 65 und until we pre
000080: 73 73 20 65 73 63 61 70 65 2E 0D 0A 0D 0A 20 20 ss escape.....
000090: 20 41 6C 6C 20 6F 66 20 74 68 6F 73 65 20 64 6F All of those do
0000A0: 75 62 6C 65 20 71 75 6F 74 65 20 73 69 67 6E 73 uble quote signs
0000B0: 20 61 74 20 20 74 68 65 20 20 73 74 61 72 74 2C at the start,
0000C0: 20 20 62 75 74 20 6E 6F 74 20 74 68 65 20 65 6E but not the en
0000D0: 64 2C 20 6F 66 20 77 6F 72 64 73 0D 0A 20 20 20 d, of words..
0000E0: 61 72 65 20 61 63 74 75 61 6C 6C 79 20 63 6F 72 are actually cor
0000F0: 72 65 63 74 2E 20 20 54 72 79 20 74 6F 20 67 65 rect. Try to ge
000100: 74 20 74 68 65 20 20 73 70 61 63 69 6E 67 20 20 t the spacing
000110: 74 68 65 20 73 61 6D 65 20 61 73 20 69 74 20 69 the same as it i
000120: 73 20 70 72 69 6E 74 65 64 3A 0D 0A 20 20 20 74 s printed:.. t
000130: 68 65 72 65 20 61 72 65 20 6E 6F 20 73 70 61 63 here are no spac
000140: 65 73 20 62 65 74 77 65 65 6E 20 74 68 65 20 20 es between the
000150: 71 75 6F 74 65 73 20 20 6F 72 20 63 6F 6C 6F 6E quotes or colon
000160: 73 20 61 6E 64 20 74 68 65 20 66 6F 6C 6C 6F 77 s and the follow
000170: 69 6E 67 20 77 6F 72 64 2E 0D 0A 20 20 20 49 74 ing word... It
000180: 20 69 73 20 69 6D 70 6F 72 74 61 6E 74 20 74 6F is important to
000190: 20 74 79 70 65 20 74 68 65 20 73 70 61 63 65 73 type the spaces
0001A0: 20 20 61 74 20 20 74 68 65 20 20 73 74 61 72 74 at the start
0001B0: 73 20 6F 66 20 74 68 65 20 6C 69 6E 65 73 2E 20 s of the lines.
0001C0: 20 54 68 69 73 20 69 73 0D 0A 20 20 20 73 6F 20 This is.. so
0001D0: 20 74 68 61 74 20 20 4C 6F 67 6F 20 20 72 65 63 that Logo rec
0001E0: 6F 67 6E 69 7A 65 73 20 20 74 68 61 74 20 20 20 ognizes that
0001F0: 74 68 65 20 20 20 69 6E 64 65 6E 74 65 64 20 20 the indented
Size : 512 (Real : 512)
000000: 20 74 6F 20 62 65 20 74 68 65 20 66 69 72 73 74 to be the first
000010: 0D 0A 20 20 20 77 6F 72 64 20 69 6E 20 74 68 65 .. word in the
000020: 20 73 65 6E 74 65 6E 63 65 20 22 6C 69 73 74 22 sentence "list"
000030: 2E 20 20 54 68 65 20 20 6E 65 78 74 20 20 6C 69 . The next li
000040: 6E 65 20 69 6E 63 72 65 61 73 65 73 20 70 6F 69 ne increases poi
000050: 6E 74 65 72 2E 20 20 4E 6F 74 65 20 68 6F 77 0D nter. Note how.
000060: 0A 20 20 20 77 65 20 61 72 65 20 75 73 69 6E 67 . we are using
000070: 20 74 68 65 20 6E 61 6D 65 20 70 72 65 63 65 64 the name preced
000080: 65 64 20 62 79 20 20 20 64 6F 75 62 6C 65 20 20 ed by double
000090: 71 75 6F 74 65 73 20 74 6F 20 74 65 6C 6C 20 22 quotes to tell "
0000A0: 6D 61 6B 65 22 20 74 68 65 20 6E 61 6D 65 0D 0A make" the name..
0000B0: 20 20 20 6F 66 20 74 68 65 20 76 61 72 69 61 62 of the variab
0000C0: 6C 65 2C 20 61 6E 64 20 74 68 65 20 6E 61 6D 65 le, and the name
0000D0: 20 70 72 65 63 65 64 65 64 20 62 79 20 20 61 20 preceded by a
0000E0: 63 6F 6C 6F 6E 20 74 6F 20 75 73 65 20 74 68 65 colon to use the
0000F0: 20 76 61 6C 75 65 20 6F 66 20 74 68 65 0D 0A 20 value of the..
000100: 20 20 76 61 72 69 61 62 6C 65 2E 20 20 54 68 65 variable. The
000110: 20 6E 65 78 74 20 6C 69 6E 65 20 73 65 74 73 20 next line sets
000120: 78 20 74 6F 20 74 68 65 20 74 68 65 20 6E 65 78 x to the the nex
000130: 74 20 77 6F 72 64 20 69 6E 20 74 68 65 20 73 65 t word in the se
000140: 6E 74 65 6E 63 65 2E 0D 0A 0D 0A 20 20 20 54 68 ntence..... Th
000150: 65 20 22 69 66 22 20 73 74 61 74 65 6D 65 6E 74 e "if" statement
000160: 20 61 6E 64 20 74 68 65 20 6E 65 78 74 20 20 6C and the next l
000170: 69 6E 65 20 20 61 72 65 20 20 63 72 75 63 69 61 ine are crucia
000180: 6C 2E 20 20 49 67 6E 6F 72 65 20 74 68 65 20 22 l. Ignore the "
000190: 69 66 22 20 6C 69 6E 65 0D 0A 20 20 20 66 6F 72 if" line.. for
0001A0: 20 74 68 65 20 6D 6F 6D 65 6E 74 2E 20 20 54 68 the moment. Th
0001B0: 65 20 6E 65 78 74 20 6C 69 6E 65 20 69 73 20 63 e next line is c
0001C0: 72 65 61 74 69 6E 67 20 74 68 65 20 6C 69 6E 6B reating the link
0001D0: 20 74 68 61 74 20 77 69 6C 6C 20 6C 65 61 64 20 that will lead
0001E0: 75 73 20 66 72 6F 6D 0D 0A 20 20 20 74 68 65 20 us from.. the
0001F0: 77 6F 72 64 20 69 6E 20 77 20 74 6F 20 74 68 65 word in w to the
Size : 512 (Real : 512)
000000: 65 20 63 6F 75 6E 74 0D 0A 20 20 20 63 6F 6D 6D e count.. comm
000010: 61 6E 64 20 6E 65 65 64 73 20 74 6F 20 6C 6F 6F and needs to loo
000020: 6B 20 61 74 20 20 74 68 65 20 20 76 61 6C 75 65 k at the value
000030: 20 20 6F 66 20 20 75 73 65 72 69 6E 70 75 74 20 of userinput
000040: 20 74 6F 20 73 65 65 20 68 6F 77 20 6D 61 6E 79 to see how many
000050: 20 77 6F 72 64 73 0D 0A 20 20 20 74 68 65 72 65 words.. there
000060: 20 61 72 65 2C 20 73 6F 20 74 68 65 20 6E 61 6D are, so the nam
000070: 65 20 69 73 20 70 72 65 63 65 64 65 64 20 62 79 e is preceded by
000080: 20 61 20 63 6F 6C 6F 6E 2E 0D 0A 0D 0A 20 20 20 a colon.....
000090: 50 55 4E 43 54 55 41 54 49 4F 4E 20 45 58 45 52 PUNCTUATION EXER
0000A0: 43 49 53 45 0D 0A 20 20 20 54 68 65 20 64 69 66 CISE.. The dif
0000B0: 66 65 72 65 6E 63 65 20 62 65 74 77 65 65 6E 20 ference between
0000C0: 74 68 65 20 64 6F 75 62 6C 65 20 71 75 6F 74 65 the double quote
0000D0: 73 20 20 61 6E 64 20 74 68 65 20 63 6F 6C 6F 6E s and the colon
0000E0: 20 69 73 20 76 65 72 79 20 69 6D 70 6F 72 74 61 is very importa
0000F0: 6E 74 2E 0D 0A 20 20 20 53 74 61 72 74 20 75 70 nt... Start up
000100: 20 4C 6F 67 6F 20 61 6E 64 20 74 79 70 65 20 74 Logo and type t
000110: 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 6C 69 6E he following lin
000120: 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 6D 61 6B 65 es:.... make
000130: 20 22 66 72 65 64 20 22 61 6C 62 65 72 74 0D 0A "fred "albert..
000140: 20 20 20 20 20 70 72 20 3A 66 72 65 64 0D 0A 0D pr :fred...
000150: 0A 20 20 20 54 68 65 20 77 6F 72 64 20 22 61 6C . The word "al
000160: 62 65 72 74 22 20 77 69 6C 6C 20 62 65 20 70 72 bert" will be pr
000170: 69 6E 74 65 64 20 20 75 70 2C 20 20 62 65 63 61 inted up, beca
000180: 75 73 65 20 20 74 68 61 74 20 20 69 73 20 74 68 use that is th
000190: 65 20 76 61 6C 75 65 20 6F 66 20 74 68 65 0D 0A e value of the..
0001A0: 20 20 20 76 61 72 69 61 62 6C 65 20 22 66 72 65 variable "fre
0001B0: 64 22 2E 20 20 4E 65 78 74 20 74 72 79 20 74 68 d". Next try th
0001C0: 65 73 65 20 74 77 6F 3A 0D 0A 0D 0A 20 20 20 20 ese two:....
0001D0: 20 6D 61 6B 65 20 3A 66 72 65 64 20 22 67 65 6F make :fred "geo
0001E0: 72 67 65 0D 0A 20 20 20 20 20 70 72 20 3A 61 6C rge.. pr :al
0001F0: 62 65 72 74 0D 0A 0D 0A 20 20 20 4E 6F 74 69 63 bert.... Notic
Size : 512 (Real : 512)
000000: 65 20 75 73 69 6E 67 20 43 50 2F 4D 20 32 2E 32 e using CP/M 2.2
000010: 2C 20 79 6F 75 20 77 69 6C 6C 0D 0A 20 20 20 6E , you will.. n
000020: 65 65 64 20 74 6F 20 6C 6F 61 64 20 36 34 4B 42 eed to load 64KB
000030: 49 54 53 20 61 73 20 77 65 6C 6C 2E 3E 3E 0D 0A ITS as well.>>..
000040: 0D 0A 20 20 20 53 48 4F 52 54 4C 49 53 54 49 4E .. SHORTLISTIN
000050: 47 0D 0A 20 20 20 54 68 65 20 41 49 20 70 72 6F G.. The AI pro
000060: 67 72 61 6D 20 69 73 20 6D 75 63 68 20 73 68 6F gram is much sho
000070: 72 74 65 72 20 77 68 65 6E 20 20 77 72 69 74 74 rter when writt
000080: 65 6E 20 69 6E 20 4C 6F 67 6F 20 63 6F 6D 70 61 en in Logo compa
000090: 72 65 64 20 74 6F 20 74 68 65 20 42 41 53 49 43 red to the BASIC
0000A0: 0D 0A 20 20 20 76 65 72 73 69 6F 6E 2E 20 20 54 .. version. T
0000B0: 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 4C his is because L
0000C0: 6F 67 6F 20 20 77 6F 72 6B 73 20 20 69 6E 20 20 ogo works in
0000D0: 61 20 63 6F 6D 70 6C 65 74 65 6C 79 20 64 69 66 a completely dif
0000E0: 66 65 72 65 6E 74 20 77 61 79 2E 20 20 49 74 0D ferent way. It.
0000F0: 0A 20 20 20 77 61 73 20 64 65 72 69 76 65 64 20 . was derived
000100: 66 72 6F 6D 20 74 68 65 20 20 6C 61 6E 67 75 61 from the langua
000110: 67 65 20 20 4C 49 53 50 2C 20 20 77 68 69 63 68 ge LISP, which
000120: 20 20 77 61 73 20 64 65 76 65 6C 6F 70 65 64 20 was developed
000130: 66 6F 72 20 61 72 74 69 66 69 63 69 61 6C 0D 0A for artificial..
000140: 20 20 20 69 6E 74 65 6C 6C 69 67 65 6E 63 65 20 intelligence
000150: 70 72 6F 63 65 73 73 65 73 2E 20 20 4C 49 53 50 processes. LISP
000160: 20 73 74 61 6E 64 73 20 20 66 6F 72 20 20 4C 49 stands for LI
000170: 53 74 20 50 72 6F 63 65 73 73 69 6E 67 2E 20 20 St Processing.
000180: 57 68 65 72 65 61 73 20 42 41 53 49 43 0D 0A 20 Whereas BASIC..
000190: 20 20 75 73 65 73 20 6E 75 6D 62 65 72 73 2C 20 uses numbers,
0001A0: 73 74 72 69 6E 67 73 20 61 6E 64 20 61 72 72 61 strings and arra
0001B0: 79 73 2C 20 4C 49 53 50 20 61 6E 64 20 20 4C 6F ys, LISP and Lo
0001C0: 67 6F 20 75 73 65 20 61 20 66 6F 72 6D 20 6F 66 go use a form of
0001D0: 20 64 61 74 61 20 63 61 6C 6C 65 64 0D 0A 20 20 data called..
0001E0: 20 74 68 65 20 6C 69 73 74 2E 20 20 45 76 65 72 the list. Ever
0001F0: 79 74 68 69 6E 67 20 69 6E 20 74 68 65 20 6C 61 ything in the la
Size : 512 (Real : 512)
000000: 65 20 74 68 61 74 20 74 68 65 20 77 6F 72 64 20 e that the word
000010: 22 66 72 65 64 22 20 68 61 64 20 61 20 63 6F 6C "fred" had a col
000020: 6F 6E 20 69 6E 20 66 72 6F 6E 74 20 74 68 69 73 on in front this
000030: 20 74 69 6D 65 2E 20 20 54 68 69 73 20 74 69 6D time. This tim
000040: 65 20 74 68 65 0D 0A 20 20 20 77 6F 72 64 20 22 e the.. word "
000050: 67 65 6F 72 67 65 22 20 69 73 20 70 72 69 6E 74 george" is print
000060: 65 64 20 75 70 2E 20 20 20 53 6F 6D 65 68 6F 77 ed up. Somehow
000070: 20 20 74 68 65 20 22 61 6C 62 65 72 74 22 20 76 the "albert" v
000080: 61 72 69 61 62 6C 65 20 68 61 73 20 61 63 71 75 ariable has acqu
000090: 69 72 65 64 0D 0A 20 20 20 74 68 65 20 76 61 6C ired.. the val
0000A0: 75 65 20 22 67 65 6F 72 67 65 22 2E 20 20 52 65 ue "george". Re
0000B0: 6D 65 6D 62 65 72 20 74 68 61 74 20 74 68 65 20 member that the
0000C0: 20 6D 61 6B 65 20 20 63 6F 6D 6D 61 6E 64 20 6E make command n
0000D0: 65 65 64 73 20 74 6F 20 62 65 20 74 6F 6C 64 20 eeds to be told
0000E0: 74 68 65 0D 0A 20 20 20 6E 61 6D 65 20 6F 66 20 the.. name of
0000F0: 74 68 65 20 76 61 72 69 61 62 6C 65 20 74 6F 20 the variable to
000100: 73 65 74 2E 20 20 49 6E 73 74 65 61 64 20 6F 66 set. Instead of
000110: 20 20 22 66 72 65 64 20 77 65 20 70 75 74 20 3A "fred we put :
000120: 66 72 65 64 2C 20 73 6F 20 74 68 65 20 76 61 6C fred, so the val
000130: 75 65 0D 0A 20 20 20 6F 66 20 66 72 65 64 2C 20 ue.. of fred,
000140: 77 68 69 63 68 20 69 73 20 22 61 6C 62 65 72 74 which is "albert
000150: 22 2C 20 77 61 73 20 75 73 65 64 20 61 73 20 74 ", was used as t
000160: 68 65 20 6E 61 6D 65 20 6F 66 20 74 68 65 20 76 he name of the v
000170: 61 72 69 61 62 6C 65 20 74 6F 20 73 65 74 2E 0D ariable to set..
000180: 0A 0D 0A 20 20 20 54 68 69 73 20 69 73 20 73 6F ... This is so
000190: 6D 65 74 68 69 6E 67 20 77 68 69 63 68 20 79 6F mething which yo
0001A0: 75 20 6A 75 73 74 20 63 61 6E 6E 6F 74 20 64 6F u just cannot do
0001B0: 20 20 69 6E 20 42 41 53 49 43 2C 20 61 6E 64 20 in BASIC, and
0001C0: 77 65 20 77 69 6C 6C 20 62 65 20 75 73 69 6E 67 we will be using
0001D0: 0D 0A 20 20 20 69 74 20 74 6F 20 66 75 6C 6C 20 .. it to full
0001E0: 65 66 66 65 63 74 2E 0D 0A 0D 0A 20 20 20 50 41 effect..... PA
0001F0: 52 53 45 20 54 48 45 20 4D 55 53 54 41 52 44 0D RSE THE MUSTARD.
Size : 512 (Real : 512)
000000: 6E 67 75 61 67 65 2C 20 65 76 65 6E 20 74 68 65 nguage, even the
000010: 20 70 72 6F 63 65 64 75 72 65 73 20 61 6E 64 20 procedures and
000020: 70 72 6F 67 72 61 6D 73 20 77 65 0D 0A 20 20 20 programs we..
000030: 64 65 66 69 6E 65 20 61 72 65 20 66 6F 72 6D 65 define are forme
000040: 64 20 66 72 6F 6D 20 6C 69 73 74 73 2E 20 20 20 d from lists.
000050: 54 68 69 73 20 20 6D 65 61 6E 73 20 20 74 68 61 This means tha
000060: 74 20 72 65 61 6C 6C 79 20 61 64 76 61 6E 63 65 t really advance
000070: 64 20 70 72 6F 67 72 61 6D 73 0D 0A 20 20 20 63 d programs.. c
000080: 61 6E 20 72 65 77 72 69 74 65 20 74 68 65 6D 73 an rewrite thems
000090: 65 6C 76 65 73 20 77 68 69 6C 65 20 74 68 65 79 elves while they
0000A0: 20 61 72 65 20 72 75 6E 6E 69 6E 67 21 0D 0A 0D are running!...
0000B0: 0A 20 20 20 4C 6F 6F 6B 20 61 74 20 74 68 65 20 . Look at the
0000C0: 66 69 72 73 74 20 70 72 6F 63 65 64 75 72 65 20 first procedure
0000D0: 77 65 20 20 64 65 66 69 6E 65 2C 20 20 22 74 6F we define, "to
0000E0: 20 20 61 69 22 2E 20 20 54 68 65 20 66 69 72 73 ai". The firs
0000F0: 74 20 6C 69 6E 65 20 6F 66 20 74 68 69 73 0D 0A t line of this..
000100: 20 20 20 68 61 73 20 4C 6F 67 6F 27 73 20 65 71 has Logo's eq
000110: 75 69 76 61 6C 65 6E 74 20 6F 66 20 74 68 65 20 uivalent of the
000120: 49 4E 50 55 54 20 63 6F 6D 6D 61 6E 64 2E 20 20 INPUT command.
000130: 54 68 65 20 22 72 6C 22 20 63 6F 6D 6D 61 6E 64 The "rl" command
000140: 20 72 65 61 64 73 20 61 20 6C 69 6E 65 0D 0A 20 reads a line..
000150: 20 20 6F 66 20 69 6E 70 75 74 20 66 72 6F 6D 20 of input from
000160: 74 68 65 20 75 73 65 72 2E 20 20 54 68 65 20 6D the user. The m
000170: 61 6B 65 20 20 63 6F 6D 6D 61 6E 64 20 20 69 73 ake command is
000180: 20 66 6F 6C 6C 6F 77 65 64 20 62 79 20 61 20 76 followed by a v
000190: 61 72 69 61 62 6C 65 20 6E 61 6D 65 0D 0A 20 20 ariable name..
0001A0: 20 61 6E 64 20 74 68 65 6E 20 74 68 65 20 76 61 and then the va
0001B0: 6C 75 65 20 74 6F 20 62 65 20 74 61 6B 65 6E 20 lue to be taken
0001C0: 62 79 20 20 74 68 65 20 76 61 72 69 61 62 6C 65 by the variable
0001D0: 2E 20 20 49 66 20 74 68 65 20 76 61 6C 75 65 20 . If the value
0001E0: 74 6F 20 62 65 20 74 61 6B 65 6E 0D 0A 20 20 20 to be taken..
0001F0: 69 73 20 61 20 63 6F 6D 6D 61 6E 64 2C 20 74 68 is a command, th
Size : 512 (Real : 512)
000000: 0A 20 20 20 4C 65 74 20 75 73 20 6C 6F 6F 6B 20 . Let us look
000010: 61 74 20 70 61 72 73 65 20 20 6E 6F 77 2C 20 20 at parse now,
000020: 77 68 69 63 68 20 20 61 6E 61 6C 79 73 65 73 20 which analyses
000030: 20 74 68 65 20 20 73 65 6E 74 65 6E 63 65 20 61 the sentence a
000040: 6E 64 20 72 65 63 6F 72 64 73 20 74 68 65 0D 0A nd records the..
000050: 20 20 20 6C 69 6E 6B 73 20 62 65 74 77 65 65 6E links between
000060: 20 77 6F 72 64 73 2E 20 20 54 68 65 20 66 69 72 words. The fir
000070: 73 74 20 6C 69 6E 65 20 6F 66 20 20 70 61 72 73 st line of pars
000080: 65 20 73 65 74 73 20 74 68 65 20 22 6C 69 73 74 e sets the "list
000090: 22 20 76 61 72 69 61 62 6C 65 20 74 6F 0D 0A 20 " variable to..
0000A0: 20 20 61 20 6E 65 77 20 76 61 6C 75 65 2E 20 20 a new value.
0000B0: 54 68 65 20 22 73 65 22 20 63 6F 6D 6D 61 6E 64 The "se" command
0000C0: 20 66 6F 72 6D 73 20 61 20 73 65 6E 74 65 6E 63 forms a sentenc
0000D0: 65 2C 20 61 20 6C 69 73 74 20 6F 66 20 77 6F 72 e, a list of wor
0000E0: 64 73 2C 20 66 72 6F 6D 20 74 68 65 0D 0A 20 20 ds, from the..
0000F0: 20 76 61 6C 75 65 73 20 79 6F 75 20 67 69 76 65 values you give
000100: 20 69 74 2E 20 20 20 54 68 65 20 20 63 6F 6D 6D it. The comm
000110: 61 6E 64 20 20 61 6E 64 20 20 70 61 72 61 6D 65 and and parame
000120: 74 65 72 73 20 20 61 72 65 20 20 61 6C 6C 20 77 ters are all w
000130: 69 74 68 69 6E 20 72 6F 75 6E 64 0D 0A 20 20 20 ithin round..
000140: 62 72 61 63 6B 65 74 73 20 73 6F 20 74 68 61 74 brackets so that
000150: 20 73 65 20 6B 6E 6F 77 73 20 77 68 65 72 65 20 se knows where
000160: 74 6F 20 73 74 6F 70 2E 20 20 57 65 20 67 69 76 to stop. We giv
000170: 65 20 69 74 20 22 54 68 65 53 74 61 72 74 22 2C e it "TheStart",
000180: 20 74 68 65 20 76 61 6C 75 65 0D 0A 20 20 20 6F the value.. o
000190: 66 20 22 75 73 65 72 69 6E 70 75 74 22 20 61 6E f "userinput" an
0001A0: 64 20 22 54 68 65 45 6E 64 22 2C 20 65 66 66 65 d "TheEnd", effe
0001B0: 63 74 69 76 65 6C 79 20 20 61 64 64 69 6E 67 20 ctively adding
0001C0: 20 74 68 65 73 65 20 20 74 77 6F 20 77 6F 72 64 these two word
0001D0: 73 20 74 6F 20 65 61 63 68 0D 0A 20 20 20 65 6E s to each.. en
0001E0: 64 20 6F 66 20 6F 75 72 20 6F 72 69 67 69 6E 61 d of our origina
0001F0: 6C 20 73 65 6E 74 65 6E 63 65 2E 20 20 20 57 65 l sentence. We
Size : 512 (Real : 512)
000000: 65 20 72 65 73 75 6C 74 20 6F 66 20 74 68 61 74 e result of that
000010: 20 63 6F 6D 6D 61 6E 64 20 20 69 73 20 75 73 65 command is use
000020: 64 20 61 73 20 74 68 65 20 76 61 6C 75 65 2E 20 d as the value.
000030: 20 48 65 6E 63 65 20 74 68 65 0D 0A 20 20 20 66 Hence the.. f
000040: 69 72 73 74 20 6C 69 6E 65 20 74 61 6B 65 73 20 irst line takes
000050: 61 20 20 6C 69 6E 65 20 20 6F 66 20 20 69 6E 70 a line of inp
000060: 75 74 20 20 66 72 6F 6D 20 20 74 68 65 20 20 75 ut from the u
000070: 73 65 72 2C 20 20 61 6E 64 20 20 70 75 74 73 20 ser, and puts
000080: 69 74 20 69 6E 20 74 68 65 0D 0A 20 20 20 75 73 it in the.. us
000090: 65 72 69 6E 70 75 74 20 76 61 72 69 61 62 6C 65 erinput variable
0000A0: 2E 0D 0A 0D 0A 20 20 20 41 63 74 75 61 6C 6C 79 ..... Actually
0000B0: 20 72 6C 20 73 74 61 6E 64 73 20 66 6F 72 20 20 rl stands for
0000C0: 22 72 65 61 64 20 20 6C 69 73 74 22 2E 20 20 20 "read list".
0000D0: 54 68 65 20 20 73 74 75 66 66 20 20 74 79 70 65 The stuff type
0000E0: 64 20 20 62 79 20 20 74 68 65 20 75 73 65 72 20 d by the user
0000F0: 69 73 0D 0A 20 20 20 74 72 65 61 74 65 64 20 61 is.. treated a
000100: 73 20 61 20 6C 69 73 74 20 6F 66 20 20 77 6F 72 s a list of wor
000110: 64 73 2E 20 20 20 4C 6F 67 6F 20 20 69 73 20 20 ds. Logo is
000120: 70 61 72 74 69 63 75 6C 61 72 6C 79 20 67 6F 6F particularly goo
000130: 64 20 61 74 20 6D 61 6E 69 70 75 6C 61 74 69 6E d at manipulatin
000140: 67 0D 0A 20 20 20 74 68 65 73 65 2E 20 20 54 68 g.. these. Th
000150: 65 20 6E 65 78 74 20 6C 69 6E 65 20 75 73 65 73 e next line uses
000160: 20 74 68 65 20 20 22 63 6F 75 6E 74 22 20 20 63 the "count" c
000170: 6F 6D 6D 61 6E 64 20 20 77 68 69 63 68 20 66 69 ommand which fi
000180: 6E 64 73 20 6F 75 74 20 68 6F 77 20 6D 61 6E 79 nds out how many
000190: 0D 0A 20 20 20 77 6F 72 64 73 20 74 68 65 72 65 .. words there
0001A0: 20 61 72 65 20 69 6E 20 61 20 20 6C 69 73 74 2E are in a list.
0001B0: 20 20 20 28 49 6E 20 20 42 41 53 49 43 20 20 77 (In BASIC w
0001C0: 65 20 20 6E 65 65 64 65 64 20 20 61 20 63 6F 75 e needed a cou
0001D0: 70 6C 65 20 6F 66 20 6C 69 6E 65 73 20 6F 66 0D ple of lines of.
0001E0: 0A 20 20 20 70 72 6F 67 72 61 6D 20 74 6F 20 64 . program to d
0001F0: 6F 20 74 68 69 73 2E 29 20 20 49 66 20 74 68 65 o this.) If the
Size : 512 (Real : 512)
000000: 20 20 75 73 65 20 20 74 68 65 73 65 20 20 64 75 use these du
000010: 6D 6D 79 20 20 77 6F 72 64 73 20 74 6F 20 6D 61 mmy words to ma
000020: 72 6B 20 77 68 69 63 68 0D 0A 20 20 20 77 6F 72 rk which.. wor
000030: 64 73 20 63 61 6E 20 73 74 61 72 74 20 61 6E 64 ds can start and
000040: 20 65 6E 64 20 73 65 6E 74 65 6E 63 65 73 2E 0D end sentences..
000050: 0A 0D 0A 20 20 20 41 66 74 65 72 20 73 65 74 74 ... After sett
000060: 69 6E 67 20 70 6F 69 6E 74 65 72 20 74 6F 20 31 ing pointer to 1
000070: 2C 20 20 77 65 20 20 72 65 70 65 61 74 20 20 61 , we repeat a
000080: 20 20 6C 69 73 74 20 20 6F 66 20 63 6F 6D 6D 61 list of comma
000090: 6E 64 73 2E 20 20 54 68 65 20 6E 75 6D 62 65 72 nds. The number
0000A0: 0D 0A 20 20 20 61 66 74 65 72 20 74 68 65 20 72 .. after the r
0000B0: 65 70 65 61 74 20 63 6F 6D 6D 61 6E 64 20 73 68 epeat command sh
0000C0: 6F 77 73 20 68 6F 77 20 6D 61 6E 79 20 74 69 6D ows how many tim
0000D0: 65 73 20 77 65 20 72 65 70 65 61 74 20 74 68 65 es we repeat the
0000E0: 6D 20 28 69 6E 20 74 68 69 73 20 63 61 73 65 0D m (in this case.
0000F0: 0A 20 20 20 6F 6E 65 20 6C 65 73 73 20 74 68 61 . one less tha
000100: 6E 20 74 68 65 20 6E 75 6D 62 65 72 20 6F 66 20 n the number of
000110: 77 6F 72 64 73 20 20 69 6E 20 20 74 68 65 20 6C words in the l
000120: 69 73 74 29 2E 20 20 54 68 65 20 63 6F 6D 6D 61 ist). The comma
000130: 6E 64 73 20 74 6F 20 65 78 65 63 75 74 65 0D 0A nds to execute..
000140: 20 20 20 66 6F 6C 6C 6F 77 20 69 6E 20 61 20 6C follow in a l
000150: 69 73 74 20 65 6E 63 6C 6F 73 65 64 20 62 79 20 ist enclosed by
000160: 73 71 75 61 72 65 20 62 72 61 63 6B 65 74 73 2E square brackets.
000170: 0D 0A 0D 0A 20 20 20 49 6E 73 69 64 65 20 74 68 .... Inside th
000180: 65 20 6C 6F 6F 70 20 77 65 20 73 65 74 20 77 20 e loop we set w
000190: 74 6F 20 62 65 20 20 74 68 65 20 69 74 65 6D 20 to be the item
0001A0: 6F 66 20 6F 75 72 20 73 65 6E 74 65 6E 63 65 20 of our sentence
0001B0: 22 6C 69 73 74 22 20 70 6F 69 6E 74 65 64 20 74 "list" pointed t
0001C0: 6F 0D 0A 20 20 20 62 79 20 22 70 6F 69 6E 74 65 o.. by "pointe
0001D0: 72 22 2E 20 20 41 73 20 70 6F 69 6E 74 65 72 20 r". As pointer
0001E0: 73 74 61 72 74 73 20 6F 75 74 20 61 74 20 31 2C starts out at 1,
0001F0: 20 20 77 20 20 77 69 6C 6C 20 62 65 20 73 65 74 w will be set
Size : 512 (Real : 512)
000000: 20 73 65 6E 74 65 6E 63 65 20 20 68 61 73 20 20 sentence has
000010: 61 74 20 20 6C 65 61 73 74 20 6F 6E 65 20 77 6F at least one wo
000020: 72 64 2C 20 77 65 20 72 75 6E 20 74 68 65 0D 0A rd, we run the..
000030: 20 20 20 22 70 61 72 73 65 22 20 66 75 6E 63 74 "parse" funct
000040: 69 6F 6E 2C 20 77 68 69 63 68 20 61 6E 61 6C 79 ion, which analy
000050: 73 65 73 20 74 68 65 20 73 65 6E 74 65 6E 63 65 ses the sentence
000060: 2C 20 72 65 6D 65 6D 62 65 72 69 6E 67 20 77 68 , remembering wh
000070: 69 63 68 20 77 6F 72 64 73 20 63 61 6E 0D 0A 20 ich words can..
000080: 20 20 66 6F 6C 6C 6F 77 20 77 68 69 63 68 2E 20 follow which.
000090: 20 54 68 65 6E 20 20 77 65 20 20 22 73 70 65 61 Then we "spea
0000A0: 6B 22 2C 20 20 77 68 69 63 68 20 20 70 72 69 6E k", which prin
0000B0: 74 73 20 20 75 70 20 20 61 20 63 6F 6D 70 75 74 ts up a comput
0000C0: 65 72 2D 67 65 6E 65 72 61 74 65 64 0D 0A 20 20 er-generated..
0000D0: 20 73 65 6E 74 65 6E 63 65 2C 20 61 6E 64 20 74 sentence, and t
0000E0: 68 65 6E 20 77 65 20 6C 6F 6F 70 20 72 6F 75 6E hen we loop roun
0000F0: 64 20 62 79 20 65 78 65 63 75 74 69 6E 67 20 74 d by executing t
000100: 68 65 20 22 61 69 22 20 70 72 6F 63 65 64 75 72 he "ai" procedur
000110: 65 20 61 67 61 69 6E 2E 0D 0A 0D 0A 20 20 20 54 e again..... T
000120: 68 65 20 22 75 73 65 72 69 6E 70 75 74 22 20 76 he "userinput" v
000130: 61 72 69 61 62 6C 65 20 68 61 73 20 61 70 70 65 ariable has appe
000140: 61 72 65 64 20 74 77 69 63 65 20 20 73 6F 20 20 ared twice so
000150: 66 61 72 2E 20 20 57 68 65 6E 20 69 74 20 77 61 far. When it wa
000160: 73 20 64 65 66 69 6E 65 64 0D 0A 20 20 20 74 68 s defined.. th
000170: 65 20 6E 61 6D 65 20 77 61 73 20 70 72 65 63 65 e name was prece
000180: 64 65 64 20 62 79 20 64 6F 75 62 6C 65 20 71 75 ded by double qu
000190: 6F 74 65 73 2E 20 20 54 68 69 73 20 69 73 20 62 otes. This is b
0001A0: 65 63 61 75 73 65 20 69 74 20 69 73 20 74 68 65 ecause it is the
0001B0: 20 6E 61 6D 65 20 6F 66 0D 0A 20 20 20 74 68 65 name of.. the
0001C0: 20 76 61 72 69 61 62 6C 65 20 74 68 61 74 20 74 variable that t
0001D0: 68 65 20 22 6D 61 6B 65 22 20 63 6F 6D 6D 61 6E he "make" comman
0001E0: 64 20 6E 65 65 64 73 2E 20 20 20 49 6E 20 74 68 d needs. In th
0001F0: 65 20 6F 74 68 65 72 20 63 61 73 65 2C 20 74 68 e other case, th
Size : 512 (Real : 512)
000000: 20 20 20 75 73 69 6E 67 20 74 68 65 20 6D 65 6D using the mem
000010: 62 65 72 70 20 63 6F 6D 6D 61 6E 64 20 74 6F 20 berp command to
000020: 73 65 65 20 20 69 66 20 20 74 68 65 20 20 77 6F see if the wo
000030: 72 64 20 20 3A 78 20 20 69 73 20 6E 6F 74 20 61 rd :x is not a
000040: 6C 72 65 61 64 79 20 69 6E 20 74 68 65 0D 0A 20 lready in the..
000050: 20 20 6C 69 73 74 2E 0D 0A 0D 0A 20 20 20 48 4F list..... HO
000060: 4D 45 57 4F 52 4B 20 41 53 53 49 47 4E 4D 45 4E MEWORK ASSIGNMEN
000070: 54 0D 0A 20 20 20 49 20 77 69 6C 6C 20 6C 65 61 T.. I will lea
000080: 76 65 20 73 74 75 64 79 69 6E 67 20 74 68 65 20 ve studying the
000090: 72 65 73 74 20 6F 66 20 74 68 65 20 6C 69 73 74 rest of the list
0000A0: 69 6E 67 20 74 6F 20 79 6F 75 2E 20 20 54 68 65 ing to you. The
0000B0: 20 73 70 65 61 6B 20 70 72 6F 63 65 64 75 72 65 speak procedure
0000C0: 0D 0A 20 20 20 62 75 69 6C 64 73 20 75 70 20 61 .. builds up a
0000D0: 20 73 65 6E 74 65 6E 63 65 20 20 69 6E 20 20 78 sentence in x
0000E0: 2C 20 20 73 74 61 72 74 69 6E 67 20 20 6F 66 66 , starting off
0000F0: 20 20 77 69 74 68 20 22 54 68 65 53 74 61 72 74 with "TheStart
000100: 22 2E 20 20 54 68 65 20 61 64 64 77 6F 72 64 0D ". The addword.
000110: 0A 20 20 20 72 6F 75 74 69 6E 65 20 74 61 6B 65 . routine take
000120: 73 20 61 20 72 61 6E 64 6F 6D 20 77 6F 72 64 20 s a random word
000130: 6F 75 74 20 6F 66 20 74 68 6F 73 65 20 20 74 68 out of those th
000140: 61 74 20 63 61 6E 20 66 6F 6C 6C 6F 77 20 77 2E at can follow w.
000150: 20 20 49 66 20 69 74 20 69 73 20 6E 6F 74 0D 0A If it is not..
000160: 20 20 20 22 54 68 65 45 6E 64 22 20 69 74 20 69 "TheEnd" it i
000170: 73 20 61 64 64 65 64 20 69 74 20 74 6F 20 74 68 s added it to th
000180: 65 20 73 65 6E 74 65 6E 63 65 20 61 6E 64 20 61 e sentence and a
000190: 64 64 77 6F 72 64 20 69 73 20 63 61 6C 6C 65 64 ddword is called
0001A0: 20 61 67 61 69 6E 2E 0D 0A 0D 0A 20 20 20 59 6F again..... Yo
0001B0: 75 20 77 69 6C 6C 20 73 65 65 20 68 6F 77 20 76 u will see how v
0001C0: 61 72 69 6F 75 73 20 66 65 61 74 75 72 65 73 20 arious features
0001D0: 6F 66 20 74 68 65 20 4C 6F 67 6F 20 6C 61 6E 67 of the Logo lang
0001E0: 75 61 67 65 20 68 61 76 65 20 6D 61 64 65 20 69 uage have made i
0001F0: 74 20 65 61 73 69 65 72 0D 0A 20 20 20 74 6F 20 t easier.. to
Size : 512 (Real : 512)
000000: 64 64 77 6F 72 64 0D 0A 20 20 6D 61 6B 65 20 22 ddword.. make "
000010: 7A 20 74 68 69 6E 67 20 3A 77 0D 0A 20 20 6D 61 z thing :w.. ma
000020: 6B 65 20 22 77 20 69 74 65 6D 20 28 28 72 61 6E ke "w item ((ran
000030: 64 6F 6D 20 63 6F 75 6E 74 20 3A 7A 29 20 2B 20 dom count :z) +
000040: 31 29 20 3A 7A 20 0D 0A 20 20 69 66 20 6E 6F 74 1) :z .. if not
000050: 20 28 3A 77 20 3D 20 22 54 68 65 45 6E 64 29 0D (:w = "TheEnd).
000060: 0A 20 20 20 20 5B 0D 0A 20 20 20 20 6D 61 6B 65 . [.. make
000070: 20 22 78 20 28 73 65 20 3A 78 20 3A 77 29 0D 0A "x (se :x :w)..
000080: 20 20 20 20 61 64 64 77 6F 72 64 0D 0A 20 20 20 addword..
000090: 20 5D 0D 0A 65 6E 64 0D 0A 1A 6C 20 0D 0A 20 20 ]..end...l ..
0000A0: 69 66 20 28 63 6F 75 6E 74 20 3A 75 73 65 72 69 if (count :useri
0000B0: 6E 70 75 74 29 20 3E 20 30 20 5B 70 61 72 73 65 nput) > 0 [parse
0000C0: 20 3A 75 73 65 72 69 6E 70 75 74 5D 20 0D 0A 20 :userinput] ..
0000D0: 20 73 70 65 61 6B 20 0D 0A 20 20 61 69 0D 0A 65 speak .. ai..e
0000E0: 6E 64 0D 0A 0D 0A 74 6F 20 70 61 72 73 65 20 3A nd....to parse :
0000F0: 6C 69 73 74 0D 0A 20 20 6D 61 6B 65 20 22 6C 69 list.. make "li
000100: 65 72 20 3A 70 6F 69 6E 74 65 72 20 2B 20 31 20 er :pointer + 1
000110: 0D 0A 20 20 20 20 6D 61 6B 65 20 22 78 20 69 74 .. make "x it
000120: 65 6D 20 3A 70 6F 69 6E 74 65 72 20 3A 6C 69 73 em :pointer :lis
000130: 74 20 0D 0A 20 20 20 20 69 66 20 6E 6F 74 20 28 t .. if not (
000140: 6D 65 6D 62 65 72 70 20 3A 78 20 74 68 69 6E 67 memberp :x thing
000150: 20 3A 77 29 0D 0A 20 20 20 20 20 20 5B 0D 0A 20 :w).. [..
000160: 20 20 20 20 20 6D 61 6B 65 20 3A 77 20 28 73 65 make :w (se
000170: 20 74 68 69 6E 67 20 3A 77 20 3A 78 29 0D 0A 20 thing :w :x)..
000180: 20 20 20 20 20 5D 0D 0A 20 20 20 20 5D 0D 0A 65 ].. ]..e
000190: 6E 64 0D 0A 0D 0A 74 6F 20 73 70 65 61 6B 0D 0A nd....to speak..
0001A0: 20 20 6D 61 6B 65 20 22 77 20 22 54 68 65 53 74 make "w "TheSt
0001B0: 61 72 74 20 0D 0A 20 20 6D 61 6B 65 20 22 78 20 art .. make "x
0001C0: 5B 5D 20 0D 0A 20 20 69 66 20 28 63 6F 75 6E 74 [] .. if (count
0001D0: 20 3A 54 68 65 53 74 61 72 74 29 20 3E 20 30 20 :TheStart) > 0
0001E0: 5B 61 64 64 77 6F 72 64 5D 20 0D 0A 20 20 70 72 [addword] .. pr
0001F0: 20 3A 78 0D 0A 65 6E 64 0D 0A 0D 0A 74 6F 20 61 :x..end....to a
Size : 512 (Real : 512)
000000: 77 72 69 74 65 20 6F 75 72 20 41 49 20 70 72 6F write our AI pro
000010: 67 72 61 6D 2E 20 20 57 65 20 61 72 65 20 61 6C gram. We are al
000020: 6C 20 20 75 73 65 64 20 74 6F 20 75 73 69 6E 67 l used to using
000030: 20 42 41 53 49 43 2C 20 61 6E 64 20 69 74 20 69 BASIC, and it i
000040: 73 20 71 75 69 74 65 0D 0A 20 20 20 61 20 72 65 s quite.. a re
000050: 76 65 6C 61 74 69 6F 6E 20 74 6F 20 73 65 65 20 velation to see
000060: 6A 75 73 74 20 20 68 6F 77 20 20 64 69 66 66 65 just how diffe
000070: 72 65 6E 74 20 20 61 6E 6F 74 68 65 72 20 70 72 rent another pr
000080: 6F 67 72 61 6D 6D 69 6E 67 20 6C 61 6E 67 75 61 ogramming langua
000090: 67 65 20 63 61 6E 0D 0A 20 20 20 62 65 2E 20 20 ge can.. be.
0000A0: 49 6E 20 42 41 53 49 43 20 77 65 20 68 61 64 20 In BASIC we had
0000B0: 74 6F 20 77 72 69 74 65 20 20 6F 75 72 20 6F 77 to write our ow
0000C0: 6E 20 72 6F 75 74 69 6E 65 73 20 66 6F 72 20 64 n routines for d
0000D0: 69 76 69 64 69 6E 67 20 74 68 65 20 73 65 6E 74 ividing the sent
0000E0: 65 6E 63 65 73 0D 0A 20 20 20 75 70 20 69 6E 74 ences.. up int
0000F0: 6F 20 77 6F 72 64 73 20 61 6E 64 20 6C 69 6E 6B o words and link
000100: 69 6E 67 20 74 68 6F 73 65 20 20 77 6F 72 64 73 ing those words
000110: 20 20 74 6F 67 65 74 68 65 72 20 75 73 69 6E 67 together using
000120: 20 70 6F 69 6E 74 65 72 73 20 69 6E 20 61 72 72 pointers in arr
000130: 61 79 73 2E 0D 0A 20 20 20 49 6E 20 4C 6F 67 6F ays... In Logo
000140: 20 61 20 6C 6F 74 20 6F 66 20 74 68 69 73 20 77 a lot of this w
000150: 6F 72 6B 20 69 73 20 64 6F 6E 65 20 66 6F 72 20 ork is done for
000160: 75 73 20 61 6C 72 65 61 64 79 2E 0D 0A 0D 0A 20 us already.....
000170: 20 20 49 66 20 79 6F 75 20 77 61 6E 74 20 74 6F If you want to
000180: 20 6C 65 61 72 6E 20 6D 6F 72 65 20 20 61 62 6F learn more abo
000190: 75 74 20 20 4C 6F 67 6F 2C 20 20 74 68 65 72 65 ut Logo, there
0001A0: 20 20 77 61 73 20 61 6E 20 65 78 63 65 6C 6C 65 was an excelle
0001B0: 6E 74 20 73 65 72 69 65 73 20 69 6E 0D 0A 20 20 nt series in..
0001C0: 20 43 6F 6D 70 75 74 69 6E 67 20 77 69 74 68 20 Computing with
0001D0: 20 74 68 65 20 20 41 6D 73 74 72 61 64 20 20 43 the Amstrad C
0001E0: 50 43 20 20 66 72 6F 6D 20 20 4A 75 6E 65 20 20 PC from June
0001F0: 31 39 38 37 20 20 74 6F 20 20 4D 61 72 63 68 20 1987 to March
Size : 512 (Real : 512)
000000: 74 6F 20 6D 65 6D 62 65 72 70 20 3A 62 69 74 20 to memberp :bit
000010: 3A 6C 69 73 74 0D 0A 20 20 28 6C 6F 63 61 6C 20 :list.. (local
000020: 22 70 6F 69 6E 74 65 72 29 0D 0A 20 20 6D 61 6B "pointer).. mak
000030: 65 20 22 70 6F 69 6E 74 65 72 20 31 0D 0A 20 20 e "pointer 1..
000040: 72 65 70 65 61 74 20 63 6F 75 6E 74 20 3A 6C 69 repeat count :li
000050: 73 74 0D 0A 20 20 20 20 5B 0D 0A 20 20 20 20 69 st.. [.. i
000060: 66 20 69 74 65 6D 20 3A 70 6F 69 6E 74 65 72 20 f item :pointer
000070: 3A 6C 69 73 74 20 3D 20 3A 62 69 74 0D 0A 20 20 :list = :bit..
000080: 20 20 20 20 5B 6F 70 20 22 54 52 55 45 5D 0D 0A [op "TRUE]..
000090: 20 20 20 20 6D 61 6B 65 20 22 70 6F 69 6E 74 65 make "pointe
0000A0: 72 20 3A 70 6F 69 6E 74 65 72 20 2B 20 31 0D 0A r :pointer + 1..
0000B0: 20 20 20 20 5D 0D 0A 20 20 6F 70 20 22 46 41 4C ].. op "FAL
0000C0: 53 45 0D 0A 65 6E 64 0D 0A 0D 0A 74 6F 20 74 68 SE..end....to th
0000D0: 69 6E 67 20 3A 76 61 72 69 61 62 6C 65 0D 0A 20 ing :variable..
0000E0: 20 6F 70 20 67 70 72 6F 70 20 3A 76 61 72 69 61 op gprop :varia
0000F0: 62 6C 65 20 22 2E 41 50 56 0D 0A 65 6E 64 0D 0A ble ".APV..end..
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 20 31 39 38 38 2E 20 20 54 68 65 0D 0A 20 20 20 1988. The..
000010: 64 65 66 69 6E 69 74 69 6F 6E 73 20 6F 66 20 22 definitions of "
000020: 74 68 69 6E 67 22 20 61 6E 64 20 22 6D 65 6D 62 thing" and "memb
000030: 65 72 70 22 20 20 77 65 72 65 20 20 61 64 61 70 erp" were adap
000040: 74 65 64 20 66 72 6F 6D 20 74 68 69 73 2E 20 20 ted from this.
000050: 44 65 74 61 69 6C 73 20 6F 66 0D 0A 20 20 20 61 Details of.. a
000060: 6C 6C 20 74 68 65 20 4C 6F 67 6F 20 63 6F 6D 6D ll the Logo comm
000070: 61 6E 64 73 20 20 61 72 65 20 20 69 6E 20 20 79 ands are in y
000080: 6F 75 72 20 20 63 6F 6D 70 75 74 65 72 20 20 6D our computer m
000090: 61 6E 75 61 6C 20 20 28 6F 72 20 74 68 65 20 64 anual (or the d
0000A0: 69 73 63 20 64 72 69 76 65 0D 0A 20 20 20 6D 61 isc drive.. ma
0000B0: 6E 75 61 6C 20 69 66 20 79 6F 75 20 68 61 76 65 nual if you have
0000C0: 20 20 61 20 20 34 36 34 29 2E 20 20 20 49 66 20 a 464). If
0000D0: 20 79 6F 75 20 20 61 72 65 20 20 72 65 61 6C 6C you are reall
0000E0: 79 20 20 6B 65 65 6E 2C 20 77 72 69 74 65 20 69 y keen, write i
0000F0: 6E 74 6F 20 46 61 69 72 0D 0A 20 20 20 43 6F 6D nto Fair.. Com
000100: 6D 65 6E 74 20 61 6E 64 20 74 65 6C 6C 20 6D 65 ment and tell me
000110: 2C 20 61 6E 64 20 49 20 63 61 6E 20 64 6F 20 61 , and I can do a
000120: 20 66 65 77 20 6D 6F 72 65 20 61 72 74 69 63 6C few more articl
000130: 65 73 2E 0D 0A 0D 0A 20 20 20 59 6F 75 20 6D 61 es..... You ma
000140: 79 20 68 61 76 65 20 73 70 6F 74 74 65 64 20 61 y have spotted a
000150: 20 70 72 6F 62 6C 65 6D 20 77 69 74 68 20 74 68 problem with th
000160: 65 20 70 72 6F 67 72 61 6D 20 61 73 20 69 74 20 e program as it
000170: 73 74 61 6E 64 73 2E 20 20 49 66 20 74 68 65 20 stands. If the
000180: 75 73 65 72 0D 0A 20 20 20 74 79 70 65 73 20 61 user.. types a
000190: 20 73 65 6E 74 65 6E 63 65 20 69 6E 63 6C 75 64 sentence includ
0001A0: 69 6E 67 20 77 6F 72 64 73 20 20 77 68 69 63 68 ing words which
0001B0: 20 20 77 65 20 20 61 72 65 20 20 75 73 69 6E 67 we are using
0001C0: 20 61 73 20 76 61 72 69 61 62 6C 65 20 6E 61 6D as variable nam
0001D0: 65 73 2C 0D 0A 20 20 20 73 75 63 68 20 61 73 20 es,.. such as
0001E0: 22 6C 69 73 74 22 20 61 6E 64 20 20 22 70 6F 69 "list" and "poi
0001F0: 6E 74 65 72 22 2C 20 20 73 74 72 61 6E 67 65 20 nter", strange
Size : 512 (Real : 512)
000000: 20 77 6F 72 64 20 69 6E 20 20 78 2E 20 20 20 53 word in x. S
000010: 75 70 70 6F 73 65 20 20 3A 77 20 77 61 73 20 22 uppose :w was "
000020: 54 68 69 73 22 20 61 6E 64 20 3A 78 20 77 61 73 This" and :x was
000030: 20 22 69 73 22 2E 0D 0A 20 20 20 54 68 65 20 6D "is"... The m
000040: 61 6B 65 20 63 6F 6D 6D 61 6E 64 20 69 73 20 20 ake command is
000050: 73 65 74 74 69 6E 67 20 20 3A 77 2C 20 20 77 68 setting :w, wh
000060: 69 63 68 20 20 6D 65 61 6E 73 20 20 69 74 20 20 ich means it
000070: 69 73 20 73 65 74 74 69 6E 67 20 61 20 76 61 72 is setting a var
000080: 69 61 62 6C 65 0D 0A 20 20 20 63 61 6C 6C 65 64 iable.. called
000090: 20 22 54 68 69 73 22 2E 20 20 4F 75 72 20 76 61 "This". Our va
0000A0: 72 69 61 62 6C 65 20 6E 61 6D 65 73 20 20 61 72 riable names ar
0000B0: 65 20 20 61 63 74 75 61 6C 6C 79 20 64 65 74 65 e actually dete
0000C0: 72 6D 69 6E 65 64 20 62 79 20 74 68 65 20 75 73 rmined by the us
0000D0: 65 72 27 73 0D 0A 20 20 20 73 65 6E 74 65 6E 63 er's.. sentenc
0000E0: 65 73 21 20 20 49 74 20 69 73 20 73 65 74 74 69 es! It is setti
0000F0: 6E 67 20 69 74 20 20 74 6F 20 20 61 20 20 73 65 ng it to a se
000100: 6E 74 65 6E 63 65 20 20 28 6C 69 73 74 20 20 6F ntence (list o
000110: 66 20 77 6F 72 64 73 29 20 6D 61 64 65 20 75 70 f words) made up
000120: 20 6F 66 0D 0A 20 20 20 22 74 68 69 6E 67 20 3A of.. "thing :
000130: 77 22 20 61 6E 64 20 22 3A 78 22 2E 20 20 57 65 w" and ":x". We
000140: 20 20 6B 6E 6F 77 20 20 22 3A 78 22 20 20 69 73 know ":x" is
000150: 20 20 74 68 65 20 20 77 6F 72 64 20 20 22 69 73 the word "is
000160: 22 2C 20 62 75 74 20 77 68 61 74 20 69 73 20 74 ", but what is t
000170: 68 65 0D 0A 20 20 20 22 74 68 69 6E 67 22 20 63 he.. "thing" c
000180: 6F 6D 6D 61 6E 64 20 64 6F 69 6E 67 3F 0D 0A 0D ommand doing?...
000190: 0A 20 20 20 54 68 65 20 22 74 68 69 6E 67 22 20 . The "thing"
0001A0: 63 6F 6D 6D 61 6E 64 20 67 69 76 65 73 20 75 73 command gives us
0001B0: 20 74 68 65 20 20 76 61 6C 75 65 20 20 6F 66 20 the value of
0001C0: 20 74 68 65 20 76 61 72 69 61 62 6C 65 20 6E 61 the variable na
0001D0: 6D 65 20 77 65 20 67 69 76 65 20 69 74 2E 0D 0A me we give it...
0001E0: 20 20 20 49 66 20 79 6F 75 20 74 79 70 65 0D 0A If you type..
0001F0: 0D 0A 20 20 20 20 20 74 68 69 6E 67 20 22 76 61 .. thing "va
Size : 512 (Real : 512)
000000: 20 74 68 69 6E 67 73 20 20 77 69 6C 6C 20 20 68 things will h
000010: 61 70 70 65 6E 2E 20 20 54 68 65 72 65 20 69 73 appen. There is
000020: 20 61 0D 0A 20 20 20 62 65 74 74 65 72 20 77 61 a.. better wa
000030: 79 20 74 6F 20 20 77 72 69 74 65 20 20 74 68 65 y to write the
000040: 20 20 70 72 6F 67 72 61 6D 20 20 75 73 69 6E 67 program using
000050: 20 20 22 70 72 6F 70 65 72 74 79 20 20 6C 69 73 "property lis
000060: 74 73 22 2C 20 20 61 6E 64 20 20 49 20 68 61 76 ts", and I hav
000070: 65 0D 0A 20 20 20 69 6E 63 6C 75 64 65 64 20 74 e.. included t
000080: 68 69 73 20 6F 6E 20 74 68 65 20 50 72 6F 67 72 his on the Progr
000090: 61 6D 6D 65 72 73 27 20 50 61 74 63 68 20 64 69 ammers' Patch di
0000A0: 73 63 2E 20 20 3C 3C 49 74 20 69 73 20 73 61 76 sc. <<It is sav
0000B0: 65 64 20 61 73 20 41 49 37 2E 4C 4F 47 3E 3E 0D ed as AI7.LOG>>.
0000C0: 0A 1A 6C 64 20 68 61 76 65 20 74 6F 20 64 75 73 ..ld have to dus
0000D0: 74 20 20 6F 66 66 20 20 79 6F 75 72 20 20 43 50 t off your CP
0000E0: 2F 4D 20 73 79 73 74 65 6D 20 64 69 73 63 73 20 /M system discs
0000F0: 74 68 69 73 20 74 69 6D 65 2E 20 20 57 65 0D 0A this time. We..
000100: 6D 65 6E 74 20 61 6E 64 20 74 65 6C 6C 20 6D 65 ment and tell me
000110: 2C 20 61 6E 64 20 49 20 63 61 6E 20 64 6F 20 61 , and I can do a
000120: 20 66 65 77 20 6D 6F 72 65 20 61 72 74 69 63 6C few more articl
000130: 65 73 2E 0D 0A 0D 0A 20 20 20 59 6F 75 20 6D 61 es..... You ma
000140: 79 20 68 61 76 65 20 73 70 6F 74 74 65 64 20 61 y have spotted a
000150: 20 70 72 6F 62 6C 65 6D 20 77 69 74 68 20 74 68 problem with th
000160: 65 20 70 72 6F 67 72 61 6D 20 61 73 20 69 74 20 e program as it
000170: 73 74 61 6E 64 73 2E 20 20 49 66 20 74 68 65 20 stands. If the
000180: 75 73 65 72 0D 0A 20 20 20 74 79 70 65 73 20 61 user.. types a
000190: 20 73 65 6E 74 65 6E 63 65 20 69 6E 63 6C 75 64 sentence includ
0001A0: 69 6E 67 20 77 6F 72 64 73 20 20 77 68 69 63 68 ing words which
0001B0: 20 20 77 65 20 20 61 72 65 20 20 75 73 69 6E 67 we are using
0001C0: 20 61 73 20 76 61 72 69 61 62 6C 65 20 6E 61 6D as variable nam
0001D0: 65 73 2C 0D 0A 20 20 20 73 75 63 68 20 61 73 20 es,.. such as
0001E0: 22 6C 69 73 74 22 20 61 6E 64 20 20 22 70 6F 69 "list" and "poi
0001F0: 6E 74 65 72 22 2C 20 20 73 74 72 61 6E 67 65 20 nter", strange
Size : 512 (Real : 512)
000000: 72 69 61 62 6C 65 0D 0A 0D 0A 20 20 20 69 74 20 riable.... it
000010: 68 61 73 20 74 68 65 20 73 61 6D 65 20 65 66 66 has the same eff
000020: 65 63 74 20 61 73 20 3A 76 61 72 69 61 62 6C 65 ect as :variable
000030: 20 20 61 6E 64 20 67 69 76 65 73 20 75 73 20 74 and gives us t
000040: 68 65 20 76 61 6C 75 65 20 6F 66 20 22 76 61 72 he value of "var
000050: 69 61 62 6C 65 22 2E 0D 0A 20 20 20 48 6F 77 65 iable"... Howe
000060: 76 65 72 20 77 65 20 61 72 65 20 61 73 6B 69 6E ver we are askin
000070: 67 20 66 6F 72 20 74 68 69 6E 67 20 3A 77 2C 20 g for thing :w,
000080: 61 6E 64 20 20 3A 77 20 69 73 20 22 54 68 69 73 and :w is "This
000090: 22 2C 20 73 6F 20 77 65 20 67 65 74 20 74 68 65 ", so we get the
0000A0: 20 76 61 6C 75 65 0D 0A 20 20 20 6F 66 20 74 68 value.. of th
0000B0: 65 20 76 61 72 69 61 62 6C 65 20 54 68 69 73 2E e variable This.
0000C0: 0D 0A 0D 0A 20 20 20 49 74 20 69 73 20 70 72 65 .... It is pre
0000D0: 74 74 79 20 77 65 69 72 64 2C 20 69 73 6E 27 74 tty weird, isn't
0000E0: 20 69 74 3F 20 20 20 54 68 65 20 20 69 64 65 61 it? The idea
0000F0: 20 20 69 73 20 20 74 68 61 74 20 66 6F 72 20 65 is that for e
000100: 61 63 68 20 77 6F 72 64 20 74 68 65 20 75 73 65 ach word the use
000110: 72 0D 0A 20 20 20 74 79 70 65 73 2C 20 77 65 20 r.. types, we
000120: 62 75 69 6C 64 20 75 70 20 61 20 6C 69 73 74 20 build up a list
000130: 6F 66 20 6F 74 68 65 72 20 77 6F 72 64 73 20 74 of other words t
000140: 68 61 74 20 63 61 6E 20 66 6F 6C 6C 6F 77 20 69 hat can follow i
000150: 74 2C 20 61 6E 64 20 73 74 6F 72 65 20 74 68 65 t, and store the
000160: 0D 0A 20 20 20 6C 69 73 74 20 69 6E 20 74 68 65 .. list in the
000170: 20 76 61 72 69 61 62 6C 65 20 77 68 6F 73 65 20 variable whose
000180: 20 6E 61 6D 65 20 20 69 73 20 20 74 68 61 74 20 name is that
000190: 20 77 6F 72 64 2E 20 20 20 54 68 61 74 20 20 69 word. That i
0001A0: 73 20 77 68 61 74 20 74 68 65 20 6C 69 6E 65 0D s what the line.
0001B0: 0A 20 20 20 66 6F 6C 6C 6F 77 69 6E 67 20 74 68 . following th
0001C0: 65 20 22 69 66 22 20 73 74 61 74 65 6D 65 6E 74 e "if" statement
0001D0: 20 69 73 20 64 6F 69 6E 67 2E 20 20 20 54 68 65 is doing. The
0001E0: 20 22 69 66 22 20 73 74 61 74 65 6D 65 6E 74 20 "if" statement
0001F0: 69 74 73 65 6C 66 20 69 73 20 6A 75 73 74 0D 0A itself is just..
Size : 512 (Real : 512)
000000: 74 6F 20 61 69 0D 0A 20 20 6D 61 6B 65 20 22 75 to ai.. make "u
000010: 73 65 72 69 6E 70 75 74 20 72 6C 20 0D 0A 20 20 serinput rl ..
000020: 69 66 20 28 63 6F 75 6E 74 20 3A 75 73 65 72 69 if (count :useri
000030: 6E 70 75 74 29 20 3E 20 30 20 5B 70 61 72 73 65 nput) > 0 [parse
000040: 5D 20 0D 0A 20 20 73 70 65 61 6B 20 0D 0A 20 20 ] .. speak ..
000050: 61 69 0D 0A 65 6E 64 0D 0A 0D 0A 74 6F 20 70 61 ai..end....to pa
000060: 72 73 65 0D 0A 20 20 6D 61 6B 65 20 22 6C 69 73 rse.. make "lis
000070: 74 20 28 73 65 20 22 54 68 65 53 74 61 72 74 20 t (se "TheStart
000080: 3A 75 73 65 72 69 6E 70 75 74 20 22 54 68 65 45 :userinput "TheE
000090: 6E 64 29 0D 0A 20 20 6D 61 6B 65 20 22 70 6F 69 nd).. make "poi
0000A0: 6E 74 65 72 20 31 20 0D 0A 20 20 72 65 70 65 61 nter 1 .. repea
0000B0: 74 20 28 28 63 6F 75 6E 74 20 3A 6C 69 73 74 29 t ((count :list)
0000C0: 20 2D 20 31 29 20 0D 0A 20 20 20 20 5B 0D 0A 20 - 1) .. [..
0000D0: 20 20 20 6D 61 6B 65 20 22 77 20 69 74 65 6D 20 make "w item
0000E0: 3A 70 6F 69 6E 74 65 72 20 3A 6C 69 73 74 20 0D :pointer :list .
0000F0: 0A 20 20 20 20 6D 61 6B 65 20 22 70 6F 69 6E 74 . make "point
000100: 65 72 20 3A 70 6F 69 6E 74 65 72 20 2B 20 31 20 er :pointer + 1
000110: 0D 0A 20 20 20 20 6D 61 6B 65 20 22 78 20 69 74 .. make "x it
000120: 65 6D 20 3A 70 6F 69 6E 74 65 72 20 3A 6C 69 73 em :pointer :lis
000130: 74 20 0D 0A 20 20 20 20 69 66 20 6E 6F 74 20 28 t .. if not (
000140: 6D 65 6D 62 65 72 70 20 3A 78 20 74 68 69 6E 67 memberp :x thing
000150: 20 3A 77 29 0D 0A 20 20 20 20 20 20 5B 0D 0A 20 :w).. [..
000160: 20 20 20 20 20 6D 61 6B 65 20 3A 77 20 28 73 65 make :w (se
000170: 20 74 68 69 6E 67 20 3A 77 20 3A 78 29 0D 0A 20 thing :w :x)..
000180: 20 20 20 20 20 5D 0D 0A 20 20 20 20 5D 0D 0A 65 ].. ]..e
000190: 6E 64 0D 0A 0D 0A 74 6F 20 73 70 65 61 6B 0D 0A nd....to speak..
0001A0: 20 20 6D 61 6B 65 20 22 77 20 22 54 68 65 53 74 make "w "TheSt
0001B0: 61 72 74 20 0D 0A 20 20 6D 61 6B 65 20 22 78 20 art .. make "x
0001C0: 5B 5D 20 0D 0A 20 20 69 66 20 28 63 6F 75 6E 74 [] .. if (count
0001D0: 20 3A 54 68 65 53 74 61 72 74 29 20 3E 20 30 20 :TheStart) > 0
0001E0: 5B 61 64 64 77 6F 72 64 5D 20 0D 0A 20 20 70 72 [addword] .. pr
0001F0: 20 3A 78 0D 0A 65 6E 64 0D 0A 0D 0A 74 6F 20 61 :x..end....to a
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 74 6F 20 61 69 0D 0A 20 20 6D 61 6B 65 20 22 75 to ai.. make "u
000010: 73 65 72 69 6E 70 75 74 20 72 6C 20 0D 0A 20 20 serinput rl ..
000020: 69 66 20 28 63 6F 75 6E 74 20 3A 75 73 65 72 69 if (count :useri
000030: 6E 70 75 74 29 20 3E 20 30 20 5B 70 61 72 73 65 nput) > 0 [parse
000040: 5D 20 0D 0A 20 20 73 70 65 61 6B 20 0D 0A 20 20 ] .. speak ..
000050: 61 69 0D 0A 65 6E 64 0D 0A 0D 0A 74 6F 20 70 61 ai..end....to pa
000060: 72 73 65 0D 0A 20 20 6D 61 6B 65 20 22 6C 69 73 rse.. make "lis
000070: 74 20 28 73 65 20 22 54 68 65 53 74 61 72 74 20 t (se "TheStart
000080: 3A 75 73 65 72 69 6E 70 75 74 20 22 54 68 65 45 :userinput "TheE
000090: 6E 64 29 0D 0A 20 20 6D 61 6B 65 20 22 70 6F 69 nd).. make "poi
0000A0: 6E 74 65 72 20 31 20 0D 0A 20 20 72 65 70 65 61 nter 1 .. repea
0000B0: 74 20 28 28 63 6F 75 6E 74 20 3A 6C 69 73 74 29 t ((count :list)
0000C0: 20 2D 20 31 29 20 0D 0A 20 20 20 20 5B 0D 0A 20 - 1) .. [..
0000D0: 20 20 20 6D 61 6B 65 20 22 77 20 69 74 65 6D 20 make "w item
0000E0: 3A 70 6F 69 6E 74 65 72 20 3A 6C 69 73 74 20 0D :pointer :list .
0000F0: 0A 20 20 20 20 6D 61 6B 65 20 22 70 6F 69 6E 74 . make "point
000100: 65 72 20 3A 70 6F 69 6E 74 65 72 20 2B 20 31 20 er :pointer + 1
000110: 0D 0A 20 20 20 20 6D 61 6B 65 20 22 78 20 69 74 .. make "x it
000120: 65 6D 20 3A 70 6F 69 6E 74 65 72 20 3A 6C 69 73 em :pointer :lis
000130: 74 20 0D 0A 20 20 20 20 69 66 20 6E 6F 74 20 28 t .. if not (
000140: 6D 65 6D 62 65 72 70 20 3A 78 20 67 70 72 6F 70 memberp :x gprop
000150: 20 3A 77 20 22 46 4F 4C 29 0D 0A 20 20 20 20 20 :w "FOL)..
000160: 20 5B 0D 0A 20 20 20 20 20 20 70 70 72 6F 70 20 [.. pprop
000170: 3A 77 20 22 46 4F 4C 20 28 73 65 20 67 70 72 6F :w "FOL (se gpro
000180: 70 20 3A 77 20 22 46 4F 4C 20 3A 78 29 0D 0A 20 p :w "FOL :x)..
000190: 20 20 20 20 20 5D 0D 0A 20 20 20 20 5D 0D 0A 65 ].. ]..e
0001A0: 6E 64 0D 0A 0D 0A 74 6F 20 73 70 65 61 6B 0D 0A nd....to speak..
0001B0: 20 20 6D 61 6B 65 20 22 77 20 22 54 68 65 53 74 make "w "TheSt
0001C0: 61 72 74 20 0D 0A 20 20 6D 61 6B 65 20 22 78 20 art .. make "x
0001D0: 5B 5D 20 0D 0A 20 20 69 66 20 28 63 6F 75 6E 74 [] .. if (count
0001E0: 20 67 70 72 6F 70 20 22 54 68 65 53 74 61 72 74 gprop "TheStart
0001F0: 20 22 46 4F 4C 29 20 3E 20 30 20 5B 61 64 64 77 "FOL) > 0 [addw
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: 6F 72 64 5D 20 0D 0A 20 20 70 72 20 3A 78 0D 0A ord] .. pr :x..
000010: 65 6E 64 0D 0A 0D 0A 74 6F 20 61 64 64 77 6F 72 end....to addwor
000020: 64 0D 0A 20 20 6D 61 6B 65 20 22 7A 20 67 70 72 d.. make "z gpr
000030: 6F 70 20 3A 77 20 22 46 4F 4C 20 0D 0A 20 20 6D op :w "FOL .. m
000040: 61 6B 65 20 22 77 20 69 74 65 6D 20 28 28 72 61 ake "w item ((ra
000050: 6E 64 6F 6D 20 63 6F 75 6E 74 20 3A 7A 29 20 2B ndom count :z) +
000060: 20 31 29 20 3A 7A 20 0D 0A 20 20 69 66 20 6E 6F 1) :z .. if no
000070: 74 20 28 3A 77 20 3D 20 22 54 68 65 45 6E 64 29 t (:w = "TheEnd)
000080: 0D 0A 20 20 20 20 5B 0D 0A 20 20 20 20 6D 61 6B .. [.. mak
000090: 65 20 22 78 20 28 73 65 20 3A 78 20 3A 77 29 0D e "x (se :x :w).
0000A0: 0A 20 20 20 20 61 64 64 77 6F 72 64 0D 0A 20 20 . addword..
0000B0: 20 20 5D 0D 0A 65 6E 64 0D 0A 1A 70 61 72 73 65 ]..end...parse
0000C0: 20 3A 75 73 65 72 69 6E 70 75 74 5D 20 0D 0A 20 :userinput] ..
0000D0: 20 73 70 65 61 6B 20 0D 0A 20 20 61 69 0D 0A 65 speak .. ai..e
0000E0: 6E 64 0D 0A 0D 0A 74 6F 20 70 61 72 73 65 20 3A nd....to parse :
0000F0: 6C 69 73 74 0D 0A 20 20 6D 61 6B 65 20 22 6C 69 list.. make "li
000100: 65 72 20 3A 70 6F 69 6E 74 65 72 20 2B 20 31 20 er :pointer + 1
000110: 0D 0A 20 20 20 20 6D 61 6B 65 20 22 78 20 69 74 .. make "x it
000120: 65 6D 20 3A 70 6F 69 6E 74 65 72 20 3A 6C 69 73 em :pointer :lis
000130: 74 20 0D 0A 20 20 20 20 69 66 20 6E 6F 74 20 28 t .. if not (
000140: 6D 65 6D 62 65 72 70 20 3A 78 20 67 70 72 6F 70 memberp :x gprop
000150: 20 3A 77 20 22 46 4F 4C 29 0D 0A 20 20 20 20 20 :w "FOL)..
000160: 20 5B 0D 0A 20 20 20 20 20 20 70 70 72 6F 70 20 [.. pprop
000170: 3A 77 20 22 46 4F 4C 20 28 73 65 20 67 70 72 6F :w "FOL (se gpro
000180: 70 20 3A 77 20 22 46 4F 4C 20 3A 78 29 0D 0A 20 p :w "FOL :x)..
000190: 20 20 20 20 20 5D 0D 0A 20 20 20 20 5D 0D 0A 65 ].. ]..e
0001A0: 6E 64 0D 0A 0D 0A 74 6F 20 73 70 65 61 6B 0D 0A nd....to speak..
0001B0: 20 20 6D 61 6B 65 20 22 77 20 22 54 68 65 53 74 make "w "TheSt
0001C0: 61 72 74 20 0D 0A 20 20 6D 61 6B 65 20 22 78 20 art .. make "x
0001D0: 5B 5D 20 0D 0A 20 20 69 66 20 28 63 6F 75 6E 74 [] .. if (count
0001E0: 20 67 70 72 6F 70 20 22 54 68 65 53 74 61 72 74 gprop "TheStart
0001F0: 20 22 46 4F 4C 29 20 3E 20 30 20 5B 61 64 64 77 "FOL) > 0 [addw
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
Size : 512 (Real : 512)
000000: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000010: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000020: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000030: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000040: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000050: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000060: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000070: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000080: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000090: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0000F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000100: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000110: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000120: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000130: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000140: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000150: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000160: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000170: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000180: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
000190: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001A0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001B0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001C0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001D0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001E0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
0001F0: E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 E5 ................
   
Tous droits réservés. Reproduction sans autorisation interdite. © Kukulcan