WACCI Programmers Patch (UK) (Face A) (1999) [COMPILATION].dsk
   
Choose sector :
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 AF 00 00 00 00 00 00 00 00 00 00 00 ................
0000A0: 00 41 30 31 20 20 20 20 20 20 20 20 00 00 00 4D .A01 ...M
0000B0: 1A 1B 1C 1D 1E 1F 20 21 22 23 00 00 00 00 00 00 ...... !"#......
0000C0: 00 41 30 32 20 20 20 20 20 20 20 20 00 00 00 4F .A02 ...O
0000D0: 24 25 26 27 28 29 2A 2B 2C 2D 00 00 00 00 00 00 $%&'()*+,-......
0000E0: 00 41 30 33 20 20 20 20 20 20 20 20 00 00 00 57 .A03 ...W
0000F0: 2E 2F 30 31 32 33 34 35 36 37 38 00 00 00 00 00 ./012345678.....
000100: 00 41 30 34 20 20 20 20 20 20 20 20 00 00 00 54 .A04 ...T
000110: 39 3A 3B 3C 3D 3E 3F 40 41 42 43 00 00 00 00 00 9:;<=>?@ABC.....
000120: 00 41 30 35 20 20 20 20 20 20 20 20 00 00 00 63 .A05 ...c
000130: 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 00 00 00 DEFGHIJKLMNOP...
000140: 00 41 30 36 20 20 20 20 20 20 20 20 00 00 00 4F .A06 ...O
000150: 51 52 53 54 55 56 57 58 59 5A 00 00 00 00 00 00 QRSTUVWXYZ......
000160: 00 41 30 37 20 20 20 20 20 20 20 20 00 00 00 51 .A07 ...Q
000170: 5B 5C 5D 5E 5F 60 61 62 63 64 65 00 00 00 00 00 [\]^_`abcde.....
000180: 00 41 30 38 20 20 20 20 20 20 20 20 00 00 00 58 .A08 ...X
000190: 66 67 68 69 6A 6B 6C 6D 6E 6F 70 00 00 00 00 00 fghijklmnop.....
0001A0: 00 41 30 39 20 20 20 20 20 20 20 20 00 00 00 5F .A09 ..._
0001B0: 71 72 73 74 75 76 77 78 79 7A 7B 7C 00 00 00 00 qrstuvwxyz{|....
0001C0: 00 44 49 53 43 4D 45 4E 55 42 41 53 00 00 00 08 .DISCMENUBAS....
0001D0: 7D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }...............
0001E0: 00 46 49 47 31 36 31 20 20 20 20 20 00 00 00 06 .FIG161 ....
0001F0: 7E 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: 00 46 49 47 31 36 31 38 20 20 20 20 00 00 00 05 .FIG1618 ....
000010: 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000020: 00 46 49 47 32 20 20 20 20 20 20 20 00 00 00 02 .FIG2 ....
000030: 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 00 46 49 47 32 37 20 20 20 20 20 20 00 00 00 03 .FIG27 ....
000050: 81 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000060: 00 46 49 47 32 37 31 20 20 20 20 20 00 00 00 03 .FIG271 ....
000070: 82 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000080: 00 46 49 47 32 37 31 38 20 20 20 20 00 00 00 03 .FIG2718 ....
000090: 83 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000A0: 00 48 45 4C 50 20 20 20 20 54 58 54 00 00 00 0A .HELP TXT....
0000B0: 84 85 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000C0: 00 4D 45 4E 55 45 58 31 20 42 41 53 00 00 00 08 .MENUEX1 BAS....
0000D0: 86 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000E0: 00 4D 45 4E 55 45 58 32 20 42 41 53 00 00 00 0A .MENUEX2 BAS....
0000F0: 87 88 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000100: 00 4D 45 4E 55 45 58 33 20 42 41 53 00 00 00 0B .MENUEX3 BAS....
000110: 89 8A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000120: 00 4D 45 4E 55 45 58 34 20 42 41 53 00 00 00 0C .MENUEX4 BAS....
000130: 8B 8C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000140: 00 4D 45 4E 55 53 55 42 20 20 20 20 00 00 00 05 .MENUSUB ....
000150: 8D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000160: 00 50 45 4C 4D 41 4E 20 20 42 41 53 00 00 00 18 .PELMAN BAS....
000170: 8E 8F 90 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: 00 42 53 49 44 45 20 20 20 42 41 53 00 00 00 0B .BSIDE BAS....
000190: 91 92 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001A0: 00 42 53 49 44 45 20 20 20 42 49 4E 00 00 00 07 .BSIDE BIN....
0001B0: 93 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001C0: 00 41 31 30 20 20 20 20 20 20 20 20 00 00 00 54 .A10 ...T
0001D0: 94 95 96 97 98 99 9A 9B 9C 9D 9E 00 00 00 00 00 ................
0001E0: 00 41 31 31 20 20 20 20 20 20 20 20 00 00 00 5E .A11 ...^
0001F0: 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA 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 53 45 4E 44 20 20 20 20 41 53 4D 00 00 00 0C .SEND ASM....
000010: AB AC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000020: 00 4D 49 44 49 31 20 20 20 42 41 53 00 00 00 04 .MIDI1 BAS....
000030: AD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000040: 00 53 45 4E 44 20 20 20 20 42 41 53 00 00 00 08 .SEND BAS....
000050: AE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 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: 30 20 54 48 45 4E 20 33 35 30 30 20 45 4C 53 45 0 THEN 3500 ELSE
000110: 20 34 30 30 30 0D 0A 20 20 20 34 35 33 30 20 52 4000.. 4530 R
000120: 45 54 55 52 4E 0D 0A 1A 69 6C 6C 69 70 73 0D 0A ETURN...illips..
000130: 0D 0A 20 20 20 59 65 73 2C 20 74 68 69 73 20 6D .. Yes, this m
000140: 6F 6E 74 68 20 74 68 65 20 70 72 6F 6F 66 72 65 onth the proofre
000150: 61 64 65 72 20 67 65 74 73 20 61 20 20 67 6F 20 ader gets a go
000160: 20 61 74 20 77 72 69 74 69 6E 67 20 61 6E 20 61 at writing an a
000170: 72 74 69 63 6C 65 2C 20 74 6F 20 67 69 76 65 0D rticle, to give.
000180: 20 4D 49 44 24 28 63 61 72 64 24 2C 63 61 72 64 MID$(card$,card
000190: 2C 31 29 3B 0D 0A 20 20 20 20 20 20 20 20 43 48 ,1);.. CH
0001A0: 52 24 28 32 32 36 2B 73 75 69 74 29 3A 52 45 54 R$(226+suit):RET
0001B0: 55 52 4E 0D 0A 20 20 20 33 35 30 30 20 4C 4F 43 URN.. 3500 LOC
0001C0: 41 54 45 20 63 6F 6C 2A 33 2B 32 2C 72 6F 77 2A ATE col*3+2,row*
0001D0: 32 2B 32 3A 50 41 50 45 52 20 30 3A 50 45 4E 20 2+2:PAPER 0:PEN
0001E0: 31 3A 50 52 49 4E 54 20 43 48 52 24 28 32 32 30 1:PRINT CHR$(220
0001F0: 29 43 48 52 24 28 32 32 32 29 3A 52 45 54 55 52 )CHR$(222):RETUR
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: 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 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: 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: 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: 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: A8 68 12 EA 6F 73 70 EC 98 9B 6C 0C 38 F6 85 FC .h..osp...l.8...
000010: 07 66 F6 18 DC 7B 71 28 70 3E D1 83 DE 74 2C 30 .f...{q(p>...t,0
000020: D0 CB 0F F0 63 27 F0 E6 B4 B7 64 95 60 88 E1 BC ....c'....d.`...
000030: 81 E0 37 80 EA A4 11 73 F3 1F DB 17 C1 AF D4 0A ..7....s........
000040: B3 28 F4 4A 2C B2 14 D8 B2 FC 89 E0 DC B7 36 D9 .(.J,.........6.
000050: 2B 34 48 D0 61 8B DE 59 AB 9A 9C 32 B3 C5 09 97 +4H.a..Y...2....
000060: 72 48 43 88 03 86 95 84 FC 9B E7 CD 28 AA 0A 12 rHC.........(...
000070: EA 35 BE F8 EF C9 B5 C3 F1 0B 4A 6C 89 9F D8 D0 .5........Jl....
000080: 0A 75 E2 EA 6C CC 9E F6 03 44 16 00 03 22 E8 09 .u..l....D..."..
000090: 03 22 F5 09 03 22 FE 09 03 44 1D 00 03 44 46 00 ."..."...D...DF.
0000A0: 03 44 0D 00 03 4C 64 02 03 44 67 3D 00 00 11 FF .D...Ld..Dg=....
0000B0: 69 6E 74 20 20 20 20 20 00 00 12 FF 6C 6F 6E 67 int ....long
0000C0: 20 20 20 20 00 00 13 FF 72 65 67 69 73 74 65 72 ....register
0000D0: 00 00 14 FF 72 65 74 75 72 6E 20 20 00 00 15 FF ....return ....
0000E0: 73 68 6F 72 74 20 20 20 00 00 16 FF 73 69 7A 65 short ....size
0000F0: 6F 03 00 A3 63 01 00 01 01 00 D2 63 BF 02 00 46 o...c......c...F
000100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 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: 2B 31 0D 0A 31 36 30 20 49 46 20 49 4E 4B 45 59 +1..160 IF INKEY
000110: 28 32 31 29 3E 2D 31 20 54 48 45 4E 20 61 64 64 (21)>-1 THEN add
000120: 78 3D 61 64 64 78 2A 34 0D 0A 31 37 30 20 61 64 x=addx*4..170 ad
000130: 64 78 3D 33 2A 61 64 64 78 0D 0A 31 38 30 20 49 dx=3*addx..180 I
000140: 46 20 49 4E 4B 45 59 28 32 29 3E 2D 31 20 54 48 F INKEY(2)>-1 TH
000150: 45 4E 20 61 64 64 79 3D 2D 31 0D 0A 31 39 30 20 EN addy=-1..190
000160: 49 46 20 49 4E 4B 45 59 28 30 29 3E 2D 31 20 54 IF INKEY(0)>-1 T
000170: 48 45 4E 20 61 64 64 79 3D 61 64 64 79 2B 31 0D HEN addy=addy+1.
000180: 0A 32 30 30 20 49 46 20 49 4E 4B 45 59 28 32 31 .200 IF INKEY(21
000190: 29 3E 2D 31 20 54 48 45 4E 20 61 64 64 79 3D 61 )>-1 THEN addy=a
0001A0: 64 64 79 2A 32 0D 0A 32 31 30 20 61 64 64 79 3D ddy*2..210 addy=
0001B0: 33 2A 61 64 64 79 0D 0A 32 32 30 20 78 3D 78 2B 3*addy..220 x=x+
0001C0: 61 64 64 78 3A 79 3D 79 2B 61 64 64 79 0D 0A 32 addx:y=y+addy..2
0001D0: 32 35 20 52 45 4D 20 43 68 65 63 6B 20 78 20 26 25 REM Check x &
0001E0: 20 79 20 61 72 65 20 6F 6E 20 73 63 72 65 65 6E y are on screen
0001F0: 0D 0A 32 33 30 20 49 46 20 78 3E 36 33 32 20 54 ..230 IF x>632 T
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: 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: 31 29 29 0D 0A 33 37 30 20 61 64 64 78 3D 33 2A 1))..370 addx=3*
000110: 61 64 64 78 0D 0A 33 38 30 20 61 64 64 79 3D 28 addx..380 addy=(
000120: 49 4E 4B 45 59 28 32 29 3E 2D 31 29 0D 0A 33 39 INKEY(2)>-1)..39
000130: 30 20 61 64 64 79 3D 61 64 64 79 2D 28 49 4E 4B 0 addy=addy-(INK
000140: 45 59 28 30 29 3E 2D 31 29 0D 0A 34 30 30 20 61 EY(0)>-1)..400 a
000150: 64 64 79 3D 61 64 64 79 2A 28 28 49 4E 4B 45 59 ddy=addy*((INKEY
000160: 28 32 31 29 3D 2D 31 29 2B 32 29 0D 0A 34 31 30 (21)=-1)+2)..410
000170: 20 61 64 64 79 3D 33 2A 61 64 64 79 0D 0A 34 32 addy=3*addy..42
000180: 30 20 78 3D 78 2B 61 64 64 78 3A 79 3D 79 2B 61 0 x=x+addx:y=y+a
000190: 64 64 79 0D 0A 34 32 35 20 52 45 4D 20 43 68 65 ddy..425 REM Che
0001A0: 63 6B 20 78 20 26 20 79 20 61 72 65 20 6F 6E 20 ck x & y are on
0001B0: 73 63 72 65 65 6E 0D 0A 34 33 30 20 78 3D 4D 49 screen..430 x=MI
0001C0: 4E 28 36 33 32 2C 78 29 0D 0A 34 34 30 20 78 3D N(632,x)..440 x=
0001D0: 4D 41 58 28 30 2C 78 29 0D 0A 34 35 30 20 79 3D MAX(0,x)..450 y=
0001E0: 4D 49 4E 28 33 39 39 2C 79 29 0D 0A 34 36 30 20 MIN(399,y)..460
0001F0: 79 3D 4D 41 58 28 31 35 2C 79 29 0D 0A 34 36 35 y=MAX(15,y)..465
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 54 75 72 6E 20 74 68 65 20 64 69 73 63 ...Turn the disc
000090: 20 6F 76 65 72 20 62 65 66 6F 72 65 20 66 6F 6C over before fol
0000A0: 6C 6F 77 69 6E 67 20 74 68 65 73 65 20 6C 69 6E lowing these lin
0000B0: 6B 73 3A 0D 0A 0D 0A 41 72 74 69 63 6C 65 20 31 ks:....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: 23 50 72 6F 67 72 61 6D 6D 65 72 73 27 20 50 61 #Programmers' Pa
000010: 74 63 68 20 31 20 2D 20 57 41 43 43 49 20 31 30 tch 1 - WACCI 10
000020: 39 2C 20 46 65 62 20 31 39 39 37 2C 20 70 2E 20 9, Feb 1997, p.
000030: 36 2D 37 0D 0A 20 20 20 50 52 4F 47 52 41 4D 4D 6-7.. PROGRAMM
000040: 45 52 53 27 20 50 41 54 43 48 20 31 0D 0A 20 20 ERS' PATCH 1..
000050: 20 42 79 20 4D 61 74 74 68 65 77 20 61 6E 64 20 By Matthew and
000060: 53 74 65 70 68 65 6E 20 50 68 69 6C 6C 69 70 73 Stephen Phillips
000070: 0D 0A 0D 0A 20 20 20 54 68 69 73 20 6E 65 77 20 .... This new
000080: 73 65 72 69 65 73 20 61 69 6D 73 20 20 74 6F 20 series aims to
000090: 20 6F 66 66 65 72 20 20 61 20 20 73 6D 6F 72 67 offer a smorg
0000A0: 61 73 62 6F 72 64 20 6F 66 20 70 72 6F 67 72 61 asbord of progra
0000B0: 6D 6D 69 6E 67 20 64 65 6C 69 63 61 63 69 65 73 mming delicacies
0000C0: 2C 0D 0A 20 20 20 6A 75 67 67 6C 69 6E 67 20 20 ,.. juggling
0000D0: 74 68 6F 73 65 20 20 68 6F 74 20 20 70 6F 74 61 those hot pota
0000E0: 74 6F 65 73 20 20 20 6F 66 20 20 20 65 66 66 69 toes of effi
0000F0: 63 69 65 6E 63 79 20 20 76 65 72 73 75 73 20 20 ciency versus
000100: 72 65 61 64 61 62 69 6C 69 74 79 2C 20 20 6F 66 readability, of
000110: 0D 0A 20 20 20 63 6F 6D 70 61 63 74 69 74 75 64 .. compactitud
000120: 65 20 76 65 72 73 75 73 20 70 65 72 61 6D 62 75 e versus perambu
000130: 6C 61 74 6F 72 79 20 65 78 65 63 75 74 69 6F 6E latory execution
000140: 2C 20 61 6E 64 20 20 65 76 65 72 20 73 65 61 72 , and ever sear
000150: 63 68 69 6E 67 20 66 6F 72 20 61 20 75 73 65 0D ching for a use.
000160: 0A 20 20 20 6F 66 20 74 68 65 20 43 52 45 41 4C . of the CREAL
000170: 20 66 75 6E 63 74 69 6F 6E 2C 20 79 65 74 20 20 function, yet
000180: 77 69 74 68 6F 75 74 20 20 77 61 73 74 69 6E 67 without wasting
000190: 20 20 61 6E 20 20 6F 70 70 6F 72 74 75 6E 69 74 an opportunit
0001A0: 79 20 6F 66 20 75 73 69 6E 67 20 6F 75 72 0D 0A y of using our..
0001B0: 20 20 20 74 68 65 73 61 75 72 75 73 2E 20 20 4D thesaurus. M
0001C0: 61 6E 79 20 6F 66 20 79 6F 75 20 77 69 6C 6C 20 any of you will
0001D0: 68 61 76 65 20 66 6F 6C 6C 6F 77 65 64 20 41 6C have followed Al
0001E0: 61 6E 20 54 69 6C 6C 69 6E 67 27 73 20 56 65 72 an Tilling's Ver
0001F0: 79 20 42 61 73 69 63 20 42 61 73 69 63 0D 0A 20 y Basic Basic..
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: 20 20 73 65 72 69 65 73 2C 20 20 61 6E 64 20 20 series, and
000010: 77 65 20 20 68 6F 70 65 20 20 74 68 61 74 20 20 we hope that
000020: 79 6F 75 20 20 20 6E 6F 77 20 20 66 65 65 6C 20 you now feel
000030: 20 72 65 61 64 79 20 20 66 6F 72 20 20 73 6F 6D ready for som
000040: 65 74 68 69 6E 67 20 20 6D 6F 72 65 0D 0A 20 20 ething more..
000050: 20 61 64 76 65 6E 74 75 72 6F 75 73 2E 0D 0A 0D adventurous....
000060: 0A 20 20 20 52 55 4E 22 41 52 54 49 43 4C 45 0D . RUN"ARTICLE.
000070: 0A 20 20 20 57 65 20 61 72 65 20 67 6F 69 6E 67 . We are going
000080: 20 74 6F 20 73 74 61 72 74 20 62 79 20 6C 6F 6F to start by loo
000090: 6B 69 6E 67 20 20 61 74 20 20 61 20 20 70 72 6F king at a pro
0000A0: 67 72 61 6D 20 77 72 69 74 74 65 6E 20 62 79 20 gram written by
0000B0: 53 74 65 70 68 65 6E 20 69 6E 20 74 68 65 0D 0A Stephen in the..
0000C0: 20 20 20 64 61 79 73 20 77 68 65 6E 20 43 6F 6D days when Com
0000D0: 70 75 74 69 6E 67 20 77 69 74 68 20 74 68 65 20 puting with the
0000E0: 20 41 6D 73 74 72 61 64 20 20 68 61 64 20 20 61 Amstrad had a
0000F0: 20 20 22 74 65 6E 2D 6C 69 6E 65 72 73 22 20 73 "ten-liners" s
000100: 6C 6F 74 20 66 6F 72 20 73 68 6F 72 74 0D 0A 20 lot for short..
000110: 20 20 42 41 53 49 43 20 70 72 6F 67 72 61 6D 73 BASIC programs
000120: 2E 20 20 54 68 69 73 20 77 61 73 6E 27 74 20 6F . This wasn't o
000130: 6E 65 20 20 6F 66 20 20 74 68 65 6D 2E 20 20 20 ne of them.
000140: 44 6F 6E 27 74 20 20 67 65 74 20 73 63 61 72 65 Don't get scare
000150: 64 20 6F 66 66 20 62 79 20 74 68 65 0D 0A 20 20 d off by the..
000160: 20 68 6F 72 72 69 62 6C 65 20 6C 69 73 74 69 6E horrible listin
000170: 67 2C 20 61 73 20 61 6C 6C 20 77 69 6C 6C 20 73 g, as all will s
000180: 6F 6F 6E 20 62 65 63 6F 6D 65 20 61 73 20 63 6C oon become as cl
000190: 65 61 72 20 61 73 20 6A 65 6C 6C 79 2E 0D 0A 20 ear as jelly...
0001A0: 20 20 20 20 49 66 20 79 6F 75 20 66 65 65 6C 20 If you feel
0001B0: 6C 69 6B 65 20 69 74 2C 20 79 6F 75 20 63 6F 75 like it, you cou
0001C0: 6C 64 20 74 79 70 65 20 20 69 6E 20 74 68 65 20 ld type in the
0001D0: 70 72 6F 67 72 61 6D 20 6C 69 73 74 69 6E 67 20 program listing
0001E0: 69 6E 20 46 69 67 75 72 65 20 31 2E 0D 0A 20 20 in Figure 1...
0001F0: 20 3C 3C 49 74 20 68 61 73 20 62 65 65 6E 20 73 <<It has been s
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 4C 69 6E 6B 73 20 74 6F 20 61 72 74 69 63 6C .Links to articl
000020: 65 73 20 6F 6E 20 74 68 69 73 20 73 69 64 65 20 es on this side
000030: 6F 66 20 74 68 65 20 64 69 73 63 3A 20 20 20 20 of the disc:
000040: 20 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: 61 76 65 64 20 6F 6E 20 74 68 65 20 64 69 73 63 aved on the disc
000010: 20 61 73 20 44 49 53 43 4D 45 4E 55 2E 42 41 53 as DISCMENU.BAS
000020: 3E 3E 20 20 20 59 6F 75 20 6D 69 67 68 74 20 65 >> You might e
000030: 76 65 6E 20 66 69 6E 64 20 69 74 0D 0A 20 20 20 ven find it..
000040: 75 73 65 66 75 6C 2C 20 61 6E 64 20 69 74 20 20 useful, and it
000050: 69 73 20 6F 6E 6C 79 20 20 65 69 67 68 74 20 6C is only eight l
000060: 69 6E 65 73 20 20 61 66 74 65 72 20 20 61 6C 6C ines after all
000070: 2E 20 20 20 54 68 65 20 70 72 6F 67 72 61 6D 20 . The program
000080: 64 69 73 70 6C 61 79 73 20 61 0D 0A 20 20 20 63 displays a.. c
000090: 61 74 61 6C 6F 67 75 65 20 6F 66 20 74 68 65 20 atalogue of the
0000A0: 64 69 73 63 2C 20 20 61 6E 64 20 61 6C 6C 6F 77 disc, and allow
0000B0: 73 20 79 6F 75 20 74 6F 20 63 68 6F 6F 73 65 20 s you to choose
0000C0: 61 20 66 69 6C 65 20 74 6F 20 72 75 6E 20 62 79 a file to run by
0000D0: 20 6D 6F 76 69 6E 67 20 61 0D 0A 20 20 20 70 6F moving a.. po
0000E0: 69 6E 74 65 72 20 20 61 72 6F 75 6E 64 20 20 77 inter around w
0000F0: 69 74 68 20 20 74 68 65 20 20 63 75 72 73 6F 72 ith the cursor
000100: 20 6B 65 79 73 2E 20 20 48 6F 6C 64 69 6E 67 20 keys. Holding
000110: 64 6F 77 6E 20 53 48 49 46 54 20 77 69 6C 6C 20 down SHIFT will
000120: 6D 61 6B 65 20 74 68 65 0D 0A 20 20 20 70 6F 69 make the.. poi
000130: 6E 74 65 72 20 6D 6F 76 65 20 66 61 73 74 65 72 nter move faster
000140: 2E 20 20 20 54 68 65 20 20 66 69 6C 65 20 69 73 . The file is
000150: 20 20 73 65 6C 65 63 74 65 64 20 20 62 79 20 70 selected by p
000160: 72 65 73 73 69 6E 67 20 20 43 4F 50 59 2C 20 53 ressing COPY, S
000170: 50 41 43 45 20 6F 72 0D 0A 20 20 20 45 4E 54 45 PACE or.. ENTE
000180: 52 20 28 6B 6E 6F 77 6E 20 61 73 20 52 45 54 55 R (known as RETU
000190: 52 4E 20 74 6F 20 20 79 6F 75 20 36 31 32 38 20 RN to you 6128
0001A0: 75 73 65 72 73 20 6F 75 74 20 74 68 65 72 65 29 users out there)
0001B0: 2E 20 20 59 6F 75 20 63 61 6E 20 63 68 61 6E 67 . You can chang
0001C0: 65 20 74 6F 20 61 0D 0A 20 20 20 64 69 66 66 65 e to a.. diffe
0001D0: 72 65 6E 74 20 75 73 65 72 20 61 72 65 61 20 62 rent user area b
0001E0: 79 20 6D 6F 76 69 6E 67 20 74 68 65 20 70 6F 69 y moving the poi
0001F0: 6E 74 65 72 20 75 70 20 74 6F 20 74 68 65 20 77 nter up to the w
Size : 512 (Real : 512)
000000: 72 75 6E 20 69 74 2E 20 20 4F 74 68 65 72 77 69 run it. Otherwi
000010: 73 65 20 77 65 20 70 72 6F 63 65 65 64 20 74 6F se we proceed to
000020: 2E 2E 2E 0D 0A 0D 0A 20 20 20 36 30 20 77 68 69 ....... 60 whi
000030: 63 68 20 61 73 6B 73 20 66 6F 72 20 74 68 65 20 ch asks for the
000040: 6E 65 77 20 75 73 65 72 20 6E 75 6D 62 65 72 2C new user number,
000050: 20 63 68 61 6E 67 65 73 20 74 6F 20 69 74 2C 20 changes to it,
000060: 61 6E 64 20 72 65 63 61 74 61 6C 6F 67 75 65 73 and recatalogues
000070: 20 74 68 65 0D 0A 20 20 20 20 20 20 64 69 73 63 the.. disc
000080: 2E 20 20 54 68 65 20 57 48 49 4C 45 2D 57 45 4E . The WHILE-WEN
000090: 44 20 6C 6F 6F 70 20 68 65 72 65 20 65 6E 73 75 D loop here ensu
0000A0: 72 65 73 20 74 68 61 74 20 74 68 65 20 69 6E 70 res that the inp
0000B0: 75 74 20 69 73 20 62 65 74 77 65 65 6E 20 30 20 ut is between 0
0000C0: 61 6E 64 0D 0A 20 20 20 20 20 20 31 35 2E 0D 0A and.. 15...
0000D0: 0D 0A 20 20 20 37 30 20 69 73 20 74 68 65 20 57 .. 70 is the W
0000E0: 45 4E 44 20 77 68 69 63 68 20 77 69 6C 6C 20 73 END which will s
0000F0: 65 6E 64 20 75 73 20 62 61 63 6B 20 74 6F 20 6C end us back to l
000100: 69 6E 65 20 33 30 2C 20 72 65 61 64 79 20 74 6F ine 30, ready to
000110: 20 73 74 61 72 74 20 61 67 61 69 6E 2E 0D 0A 0D start again....
000120: 0A 20 20 20 38 30 20 69 73 20 61 20 73 75 62 72 . 80 is a subr
000130: 6F 75 74 69 6E 65 20 77 68 69 63 68 20 77 61 69 outine which wai
000140: 74 73 20 75 6E 74 69 6C 20 6E 6F 6E 65 20 20 6F ts until none o
000150: 66 20 74 68 65 20 73 65 6C 65 63 74 69 6F 6E 20 f the selection
000160: 6B 65 79 73 20 61 72 65 20 62 65 69 6E 67 0D 0A keys are being..
000170: 20 20 20 20 20 20 70 72 65 73 73 65 64 2C 20 61 pressed, a
000180: 6E 64 20 74 68 65 6E 20 63 6C 65 61 72 73 20 74 nd then clears t
000190: 68 65 20 6B 65 79 62 6F 61 72 64 20 62 75 66 66 he keyboard buff
0001A0: 65 72 2E 0D 0A 0D 0A 0D 0A 20 20 20 47 4F 54 4F er....... GOTO
0001B0: 20 31 30 0D 0A 20 20 20 20 20 54 68 65 20 66 69 10.. The fi
0001C0: 72 73 74 20 63 6F 6D 6D 61 6E 64 20 69 6E 20 74 rst command in t
0001D0: 68 65 20 70 72 6F 67 72 61 6D 20 20 69 73 20 20 he program is
0001E0: 74 68 65 72 65 20 74 6F 20 73 70 65 65 64 20 74 there to speed t
0001F0: 68 69 6E 67 73 20 75 70 20 73 6C 69 67 68 74 6C hings up slightl
Size : 512 (Real : 512)
000000: 6F 72 64 20 22 75 73 65 72 22 20 61 74 20 74 68 ord "user" at th
000010: 65 20 74 6F 70 0D 0A 20 20 20 6F 66 20 74 68 65 e top.. of the
000020: 20 64 69 73 70 6C 61 79 2C 20 61 6E 64 20 70 72 display, and pr
000030: 65 73 73 69 6E 67 20 6F 6E 65 20 6F 66 20 74 68 essing one of th
000040: 65 20 74 68 72 65 65 20 73 65 6C 65 63 74 69 6F e three selectio
000050: 6E 20 6B 65 79 73 2E 0D 0A 20 20 20 20 20 41 73 n keys... As
000060: 20 68 65 20 68 61 73 20 62 65 65 6E 20 77 6F 72 he has been wor
000070: 6B 69 6E 67 20 61 73 20 20 61 20 20 73 6F 66 74 king as a soft
000080: 77 61 72 65 20 65 6E 67 69 6E 65 65 72 20 6F 76 ware engineer ov
000090: 65 72 20 74 68 65 20 73 75 6D 6D 65 72 2C 20 53 er the summer, S
0000A0: 74 65 70 68 65 6E 0D 0A 20 20 20 77 61 6E 74 73 tephen.. wants
0000B0: 20 74 6F 20 6D 61 6B 65 20 69 74 20 71 75 69 74 to make it quit
0000C0: 65 20 63 6C 65 61 72 20 74 68 61 74 20 20 74 68 e clear that th
0000D0: 69 73 20 20 69 73 20 20 4E 4F 54 20 6D 65 61 6E is is NOT mean
0000E0: 74 20 74 6F 20 62 65 20 61 6E 20 65 78 61 6D 70 t to be an examp
0000F0: 6C 65 20 6F 66 0D 0A 20 20 20 47 6F 6F 64 20 50 le of.. Good P
000100: 72 6F 67 72 61 6D 6D 69 6E 67 20 50 72 61 63 74 rogramming Pract
000110: 69 63 65 2E 20 20 20 4D 75 73 74 6E 27 74 20 20 ice. Mustn't
000120: 73 70 6F 69 6C 20 20 74 68 65 20 20 6A 6F 62 20 spoil the job
000130: 20 70 72 6F 73 70 65 63 74 73 20 20 77 69 74 68 prospects with
000140: 20 6F 6E 65 0D 0A 20 20 20 6C 69 74 74 6C 65 20 one.. little
000150: 65 78 61 6D 70 6C 65 2E 2E 2E 0D 0A 20 20 20 20 example.....
000160: 20 54 68 65 20 70 72 6F 67 72 61 6D 20 74 61 6B The program tak
000170: 65 73 20 75 70 20 6C 65 73 73 20 20 74 68 61 6E es up less than
000180: 20 20 31 4B 20 20 6F 66 20 20 64 69 73 63 20 20 1K of disc
000190: 73 70 61 63 65 2E 20 20 54 68 69 73 20 69 73 20 space. This is
0001A0: 69 6D 70 6F 72 74 61 6E 74 0D 0A 20 20 20 62 65 important.. be
0001B0: 63 61 75 73 65 20 74 68 65 20 69 64 65 61 20 69 cause the idea i
0001C0: 73 20 74 68 61 74 20 79 6F 75 20 77 6F 75 6C 64 s that you would
0001D0: 20 73 61 76 65 20 20 69 74 20 20 6F 6E 20 65 76 save it on ev
0001E0: 65 72 79 20 64 69 73 63 20 61 6E 64 20 75 73 65 ery disc and use
0001F0: 20 69 74 20 61 73 20 61 0D 0A 20 20 20 64 69 73 it as a.. dis
Size : 512 (Real : 512)
000000: 79 2E 0D 0A 20 20 20 54 68 65 72 65 20 61 72 65 y... There are
000010: 20 74 68 72 65 65 20 64 69 66 66 65 72 65 6E 74 three different
000020: 20 74 79 70 65 73 20 6F 66 20 20 76 61 72 69 61 types of varia
000030: 62 6C 65 3A 20 73 74 72 69 6E 67 73 2C 20 69 6E ble: strings, in
000040: 74 65 67 65 72 73 20 61 6E 64 20 72 65 61 6C 73 tegers and reals
000050: 2E 0D 0A 20 20 20 4F 6E 20 74 68 65 20 41 6D 73 ... On the Ams
000060: 74 72 61 64 2C 20 69 6E 74 65 67 65 72 20 76 61 trad, integer va
000070: 72 69 61 62 6C 65 73 20 61 72 65 20 20 77 68 6F riables are who
000080: 6C 65 20 6E 75 6D 62 65 72 73 20 66 72 6F 6D 20 le numbers from
000090: 2D 33 32 37 36 38 20 74 6F 20 33 32 37 36 37 2E -32768 to 32767.
0000A0: 0D 0A 20 20 20 52 65 61 6C 20 76 61 72 69 61 62 .. Real variab
0000B0: 6C 65 73 20 28 61 6C 73 6F 20 6B 6E 6F 77 6E 20 les (also known
0000C0: 61 73 20 66 6C 6F 61 74 69 6E 67 20 70 6F 69 6E as floating poin
0000D0: 74 20 76 61 72 69 61 62 6C 65 73 29 20 63 61 6E t variables) can
0000E0: 20 62 65 20 6D 75 63 68 20 62 69 67 67 65 72 0D be much bigger.
0000F0: 0A 20 20 20 61 6E 64 20 64 6F 6E 27 74 20 68 61 . and don't ha
000100: 76 65 20 74 6F 20 62 65 20 77 68 6F 6C 65 20 6E ve to be whole n
000110: 75 6D 62 65 72 73 2E 20 20 55 73 69 6E 67 20 61 umbers. Using a
000120: 20 72 65 61 6C 20 76 61 72 69 61 62 6C 65 20 77 real variable w
000130: 68 65 6E 20 61 6E 20 69 6E 74 65 67 65 72 0D 0A hen an integer..
000140: 20 20 20 77 69 6C 6C 20 64 6F 20 6D 61 6B 65 73 will do makes
000150: 20 65 78 74 72 61 20 77 6F 72 6B 20 66 6F 72 20 extra work for
000160: 42 41 53 49 43 20 61 6E 64 20 73 6C 6F 77 73 20 BASIC and slows
000170: 74 68 65 20 70 72 6F 67 72 61 6D 20 64 6F 77 6E the program down
000180: 2E 20 20 54 6F 20 73 70 65 63 69 66 79 0D 0A 20 . To specify..
000190: 20 20 65 78 70 6C 69 63 69 74 6C 79 20 74 68 61 explicitly tha
0001A0: 74 20 61 20 76 61 72 69 61 62 6C 65 20 69 73 20 t a variable is
0001B0: 61 20 73 74 72 69 6E 67 20 77 65 20 75 73 65 20 a string we use
0001C0: 74 68 65 20 22 24 22 20 63 68 61 72 61 63 74 65 the "$" characte
0001D0: 72 20 61 73 20 69 6E 3A 0D 0A 0D 0A 20 20 20 20 r as in:....
0001E0: 20 61 24 3D 22 48 65 6C 6C 6F 20 4D 75 6D 21 22 a$="Hello Mum!"
0001F0: 0D 0A 0D 0A 20 20 20 54 68 65 72 65 20 61 72 65 .... There are
Size : 512 (Real : 512)
000000: 63 20 6D 65 6E 75 20 73 79 73 74 65 6D 2E 20 20 c menu system.
000010: 54 6F 20 61 63 68 69 65 76 65 20 20 74 68 69 73 To achieve this
000020: 20 20 73 6D 61 6C 6C 20 73 69 7A 65 2C 20 6D 61 small size, ma
000030: 6E 79 20 69 6E 67 65 6E 69 6F 75 73 20 74 65 63 ny ingenious tec
000040: 68 6E 69 71 75 65 73 0D 0A 20 20 20 68 61 76 65 hniques.. have
000050: 20 62 65 65 6E 20 65 6D 70 6C 6F 79 65 64 2E 20 been employed.
000060: 20 41 6C 74 68 6F 75 67 68 20 74 68 65 79 20 20 Although they
000070: 64 6F 20 20 6D 61 6B 65 20 20 74 68 65 20 6C 69 do make the li
000080: 73 74 69 6E 67 20 72 61 74 68 65 72 20 64 61 75 sting rather dau
000090: 6E 74 69 6E 67 2C 0D 0A 20 20 20 6F 6E 65 20 62 nting,.. one b
0000A0: 6F 6E 75 73 20 69 73 20 74 68 61 74 20 74 68 65 onus is that the
0000B0: 20 70 72 6F 67 72 61 6D 20 72 75 6E 73 20 6D 75 program runs mu
0000C0: 63 68 20 66 61 73 74 65 72 2E 0D 0A 0D 0A 20 20 ch faster.....
0000D0: 20 4C 49 53 54 20 31 30 2D 38 30 0D 0A 20 20 20 LIST 10-80..
0000E0: 4C 65 74 27 73 20 68 61 76 65 20 61 20 71 75 69 Let's have a qui
0000F0: 63 6B 20 6C 6F 6F 6B 20 74 68 72 6F 75 67 68 20 ck look through
000100: 77 68 61 74 20 65 61 63 68 20 6C 69 6E 65 20 64 what each line d
000110: 6F 65 73 2E 0D 0A 0D 0A 20 20 20 31 30 20 73 65 oes..... 10 se
000120: 74 73 20 75 70 20 73 6F 6D 65 20 6D 61 63 68 69 ts up some machi
000130: 6E 65 20 63 6F 64 65 20 28 73 68 6F 63 6B 2C 20 ne code (shock,
000140: 68 6F 72 72 6F 72 21 29 20 74 68 61 74 20 77 65 horror!) that we
000150: 20 6E 65 65 64 20 6C 61 74 65 72 2E 0D 0A 0D 0A need later.....
000160: 20 20 20 32 30 20 6D 61 6B 65 73 20 73 75 72 65 20 makes sure
000170: 20 74 68 65 20 73 63 72 65 65 6E 20 69 73 20 73 the screen is s
000180: 65 74 20 75 70 20 61 73 20 6E 6F 72 6D 61 6C 2C et up as normal,
000190: 20 61 6E 64 20 63 61 74 61 6C 6F 67 75 65 73 20 and catalogues
0001A0: 74 68 65 20 64 69 73 63 2E 0D 0A 0D 0A 20 20 20 the disc.....
0001B0: 33 30 20 69 73 20 77 68 65 72 65 20 74 68 65 20 30 is where the
0001C0: 66 75 6E 20 73 74 61 72 74 73 2E 20 20 20 54 68 fun starts. Th
0001D0: 65 20 20 6C 6F 6F 70 20 20 73 74 61 72 74 69 6E e loop startin
0001E0: 67 20 22 57 48 49 4C 45 20 31 22 20 65 6E 64 73 g "WHILE 1" ends
0001F0: 20 61 74 20 74 68 65 0D 0A 20 20 20 20 20 20 22 at the.. "
Size : 512 (Real : 512)
000000: 20 65 71 75 69 76 61 6C 65 6E 74 20 20 63 68 61 equivalent cha
000010: 72 61 63 74 65 72 73 20 20 66 6F 72 20 20 69 6E racters for in
000020: 74 65 67 65 72 20 20 76 61 72 69 61 62 6C 65 73 teger variables
000030: 20 20 61 6E 64 20 72 65 61 6C 73 2E 20 20 46 6F and reals. Fo
000040: 72 0D 0A 20 20 20 65 78 61 6D 70 6C 65 3A 0D 0A r.. example:..
000050: 0D 0A 20 20 20 20 20 69 25 3D 33 0D 0A 20 20 20 .. i%=3..
000060: 20 20 72 21 3D 33 2E 31 34 31 35 0D 0A 0D 0A 20 r!=3.1415....
000070: 20 20 54 68 65 20 22 21 22 20 63 68 61 72 61 63 The "!" charac
000080: 74 65 72 20 69 73 20 72 61 72 65 6C 79 20 75 73 ter is rarely us
000090: 65 64 20 69 6E 20 74 68 69 73 20 63 6F 6E 74 65 ed in this conte
0000A0: 78 74 20 62 65 63 61 75 73 65 20 76 61 72 69 61 xt because varia
0000B0: 62 6C 65 73 20 77 69 74 68 6F 75 74 0D 0A 20 20 bles without..
0000C0: 20 61 6E 79 20 74 79 70 65 20 20 69 64 65 6E 74 any type ident
0000D0: 69 66 69 65 72 73 20 20 61 72 65 20 20 72 65 61 ifiers are rea
0000E0: 6C 20 20 62 79 20 20 64 65 66 61 75 6C 74 2E 20 l by default.
0000F0: 20 20 22 44 45 46 49 4E 54 20 61 2D 7A 22 20 20 "DEFINT a-z"
000100: 63 68 61 6E 67 65 73 20 74 68 65 0D 0A 20 20 20 changes the..
000110: 64 65 66 61 75 6C 74 20 74 79 70 65 20 74 6F 20 default type to
000120: 69 6E 74 65 67 65 72 20 66 6F 72 20 61 6C 6C 20 integer for all
000130: 76 61 72 69 61 62 6C 65 73 20 20 62 65 67 69 6E variables begin
000140: 6E 69 6E 67 20 77 69 74 68 20 74 68 65 20 6C 65 ning with the le
000150: 74 74 65 72 73 20 61 20 74 6F 0D 0A 20 20 20 7A tters a to.. z
000160: 2E 20 20 59 6F 75 20 63 61 6E 20 66 69 6E 64 20 . You can find
000170: 6F 75 74 20 61 62 6F 75 74 20 69 74 73 20 20 6C out about its l
000180: 65 73 73 65 72 20 6B 6E 6F 77 6E 20 66 72 69 65 esser known frie
000190: 6E 64 73 20 44 45 46 52 45 41 4C 20 61 6E 64 20 nds DEFREAL and
0001A0: 44 45 46 53 54 52 20 69 6E 0D 0A 20 20 20 79 6F DEFSTR in.. yo
0001B0: 75 72 20 6D 61 6E 75 61 6C 2E 20 20 41 73 20 61 ur manual. As a
0001C0: 6E 20 65 78 61 6D 70 6C 65 2C 20 68 6F 77 20 61 n example, how a
0001D0: 62 6F 75 74 3A 0D 0A 0D 0A 20 20 20 20 20 44 45 bout:.... DE
0001E0: 46 53 54 52 20 74 0D 0A 20 20 20 20 20 74 69 67 FSTR t.. tig
0001F0: 67 65 72 3D 22 50 68 69 6C 69 70 20 44 69 52 69 ger="Philip DiRi
Size : 512 (Real : 512)
000000: 57 45 4E 44 22 20 69 6E 20 6C 69 6E 65 20 37 30 WEND" in line 70
000010: 2E 20 20 54 68 65 72 65 20 69 73 20 6E 6F 20 20 . There is no
000020: 77 61 79 20 20 6F 75 74 20 6F 66 20 74 68 69 73 way out of this
000030: 20 6C 6F 6F 70 2C 20 61 6E 64 20 74 68 65 20 70 loop, and the p
000040: 72 6F 67 72 61 6D 0D 0A 20 20 20 20 20 20 6F 6E rogram.. on
000050: 6C 79 20 73 74 6F 70 73 20 77 68 65 6E 20 74 68 ly stops when th
000060: 65 20 75 73 65 72 20 73 65 6C 65 63 74 73 20 20 e user selects
000070: 61 20 20 66 69 6C 65 2C 20 20 77 68 69 63 68 20 a file, which
000080: 20 69 73 20 72 75 6E 20 61 74 20 74 68 65 20 65 is run at the e
000090: 6E 64 20 6F 66 0D 0A 20 20 20 20 20 20 6C 69 6E nd of.. lin
0000A0: 65 20 35 30 2E 0D 0A 20 20 20 20 20 20 20 20 54 e 50... T
0000B0: 68 65 20 73 65 63 6F 6E 64 20 57 48 49 4C 45 20 he second WHILE
0000C0: 6C 6F 6F 70 20 65 6E 64 73 20 61 74 20 74 68 65 loop ends at the
0000D0: 20 20 57 45 4E 44 20 70 61 72 74 20 77 61 79 20 WEND part way
0000E0: 74 68 72 6F 75 67 68 20 6C 69 6E 65 20 35 30 2C through line 50,
0000F0: 20 61 6E 64 0D 0A 20 20 20 20 20 20 77 61 69 74 and.. wait
000100: 73 20 75 6E 74 69 6C 20 61 20 66 69 6C 65 20 6F s until a file o
000110: 72 20 22 75 73 65 72 22 20 69 73 20 73 65 6C 65 r "user" is sele
000120: 63 74 65 64 2E 0D 0A 20 20 20 20 20 20 20 20 41 cted... A
000130: 74 20 74 68 65 20 65 6E 64 20 6F 66 20 74 68 65 t the end of the
000140: 20 20 6C 69 6E 65 20 20 74 68 65 20 20 70 6F 69 line the poi
000150: 6E 74 65 72 2C 20 20 43 48 52 24 28 32 31 35 29 nter, CHR$(215)
000160: 2C 20 20 69 73 20 70 72 69 6E 74 65 64 20 6F 6E , is printed on
000170: 20 74 68 65 0D 0A 20 20 20 20 20 20 73 63 72 65 the.. scre
000180: 65 6E 2E 0D 0A 0D 0A 20 20 20 34 30 20 68 61 73 en..... 40 has
000190: 20 61 20 57 48 49 4C 45 2D 57 45 4E 44 20 6C 6F a WHILE-WEND lo
0001A0: 6F 70 20 61 6C 6C 20 20 74 6F 20 20 69 74 73 65 op all to itse
0001B0: 6C 66 2E 20 20 20 49 74 20 20 77 61 69 74 73 20 lf. It waits
0001C0: 75 6E 74 69 6C 20 53 50 41 43 45 2C 20 43 4F 50 until SPACE, COP
0001D0: 59 20 6F 72 0D 0A 20 20 20 20 20 20 45 4E 54 45 Y or.. ENTE
0001E0: 52 20 69 73 20 70 72 65 73 73 65 64 2C 20 20 61 R is pressed, a
0001F0: 6E 64 20 20 69 6E 20 20 74 68 65 20 20 6D 65 61 nd in the mea
Size : 512 (Real : 512)
000000: 63 68 6C 65 61 75 22 0D 0A 20 20 20 20 20 50 52 chleau".. PR
000010: 49 4E 54 20 74 69 67 67 65 72 0D 0A 0D 0A 20 20 INT tigger....
000020: 20 20 20 57 65 27 6C 6C 20 63 6F 76 65 72 20 74 We'll cover t
000030: 68 65 20 72 65 73 74 20 6F 66 20 6C 69 6E 65 20 he rest of line
000040: 31 30 20 69 6E 20 61 20 6C 61 74 65 72 20 61 72 10 in a later ar
000050: 74 69 63 6C 65 2E 0D 0A 0D 0A 20 20 20 49 4E 49 ticle..... INI
000060: 54 49 41 4C 20 54 48 4F 55 47 48 54 53 0D 0A 20 TIAL THOUGHTS..
000070: 20 20 54 68 69 73 20 64 69 73 63 20 6D 65 6E 75 This disc menu
000080: 20 70 72 6F 67 72 61 6D 20 63 6F 75 6C 64 20 62 program could b
000090: 65 20 72 75 6E 20 61 74 20 61 6E 79 20 74 69 6D e run at any tim
0000A0: 65 2C 20 73 6F 20 69 74 20 6D 75 73 74 20 6D 61 e, so it must ma
0000B0: 6B 65 20 73 75 72 65 20 74 68 61 74 0D 0A 20 20 ke sure that..
0000C0: 20 74 68 65 20 63 6F 6D 70 75 74 65 72 2C 20 61 the computer, a
0000D0: 6E 64 20 69 6E 20 70 61 72 74 69 63 75 6C 61 72 nd in particular
0000E0: 20 74 68 65 20 20 73 63 72 65 65 6E 2C 20 20 69 the screen, i
0000F0: 73 20 73 65 74 20 75 70 20 70 72 6F 70 65 72 6C s set up properl
000100: 79 2E 20 20 54 68 69 73 20 69 73 0D 0A 20 20 20 y. This is..
000110: 61 6C 6C 20 68 61 6E 64 6C 65 64 20 69 6E 20 6C all handled in l
000120: 69 6E 65 20 32 30 2E 20 20 57 65 20 6D 61 6B 65 ine 20. We make
000130: 20 75 73 65 20 6F 66 20 74 68 72 65 65 20 66 69 use of three fi
000140: 72 6D 77 61 72 65 20 63 61 6C 6C 73 2C 20 6D 61 rmware calls, ma
000150: 63 68 69 6E 65 20 63 6F 64 65 0D 0A 20 20 20 72 chine code.. r
000160: 6F 75 74 69 6E 65 73 20 77 68 69 63 68 20 61 72 outines which ar
000170: 65 20 62 75 69 6C 74 20 69 6E 20 74 6F 20 74 68 e built in to th
000180: 65 20 63 6F 6D 70 75 74 65 72 2E 20 20 54 68 65 e computer. The
000190: 79 20 61 72 65 3A 0D 0A 0D 0A 20 20 20 26 42 42 y are:.... &BB
0001A0: 34 45 20 20 54 58 54 20 49 4E 49 54 49 41 4C 49 4E TXT INITIALI
0001B0: 53 45 0D 0A 20 20 20 20 20 20 20 20 20 20 41 6D SE.. Am
0001C0: 6F 6E 67 20 6F 74 68 65 72 20 74 68 69 6E 67 73 ong other things
0001D0: 2C 20 72 65 73 65 74 73 20 74 68 65 20 70 65 6E , resets the pen
0001E0: 20 61 6E 64 20 70 61 70 65 72 20 63 6F 6C 6F 75 and paper colou
0001F0: 72 73 2C 20 61 6E 64 20 6D 6F 76 65 73 20 74 68 rs, and moves th
Size : 512 (Real : 512)
000000: 6E 74 69 6D 65 20 20 6D 6F 76 65 73 20 20 74 68 ntime moves th
000010: 65 20 20 70 6F 69 6E 74 65 72 20 61 62 6F 75 74 e pointer about
000020: 20 69 6E 0D 0A 20 20 20 20 20 20 72 65 73 70 6F in.. respo
000030: 6E 73 65 20 74 6F 20 74 68 65 20 63 75 72 73 6F nse to the curso
000040: 72 20 6B 65 79 73 2E 0D 0A 0D 0A 20 20 20 35 30 r keys..... 50
000050: 20 61 66 74 65 72 20 72 65 6D 6F 76 69 6E 67 20 after removing
000060: 74 68 65 20 20 63 75 72 73 6F 72 2C 20 20 72 65 the cursor, re
000070: 61 64 73 20 20 74 77 65 6C 76 65 20 20 63 68 61 ads twelve cha
000080: 72 61 63 74 65 72 73 20 20 6F 66 66 20 74 68 65 racters off the
000090: 20 73 63 72 65 65 6E 2C 0D 0A 20 20 20 20 20 20 screen,..
0000A0: 75 73 69 6E 67 20 74 68 65 20 6D 61 63 68 69 6E using the machin
0000B0: 65 20 63 6F 64 65 20 65 6E 74 65 72 65 64 20 69 e code entered i
0000C0: 6E 20 6C 69 6E 65 20 20 31 30 2E 20 20 57 65 20 n line 10. We
0000D0: 6E 6F 77 20 65 6E 63 6F 75 6E 74 65 72 20 74 68 now encounter th
0000E0: 65 20 57 45 4E 44 2C 0D 0A 20 20 20 20 20 20 77 e WEND,.. w
0000F0: 68 6F 73 65 20 57 48 49 4C 45 20 77 61 73 20 68 hose WHILE was h
000100: 61 6C 66 77 61 79 20 74 68 72 6F 75 67 68 20 6C alfway through l
000110: 69 6E 65 20 20 33 30 2E 20 20 20 49 66 20 20 77 ine 30. If w
000120: 65 20 67 65 74 20 70 61 73 74 20 74 68 65 20 57 e get past the W
000130: 45 4E 44 20 77 65 0D 0A 20 20 20 20 20 20 6B 6E END we.. kn
000140: 6F 77 20 74 68 61 74 20 77 65 20 65 69 74 68 65 ow that we eithe
000150: 72 20 77 61 6E 74 20 74 6F 20 72 75 6E 20 20 61 r want to run a
000160: 20 20 66 69 6C 65 2C 20 6F 72 20 63 68 61 6E 67 file, or chang
000170: 65 20 74 6F 20 61 20 64 69 66 66 65 72 65 6E 74 e to a different
000180: 20 75 73 65 72 0D 0A 20 20 20 20 20 20 61 72 65 user.. are
000190: 61 20 6F 6E 20 74 68 65 20 64 69 73 63 2E 20 20 a on the disc.
0001A0: 49 66 20 74 68 65 20 6E 69 6E 74 68 20 63 68 61 If the ninth cha
0001B0: 72 61 63 74 65 72 20 69 73 20 61 20 66 75 6C 6C racter is a full
0001C0: 20 73 74 6F 70 2C 20 77 65 20 63 61 6E 20 61 73 stop, we can as
0001D0: 73 75 6D 65 0D 0A 20 20 20 20 20 20 74 68 61 74 sume.. that
0001E0: 20 74 68 65 20 73 74 72 69 6E 67 20 20 69 73 20 the string is
0001F0: 61 20 66 69 6C 65 6E 61 6D 65 2C 20 61 6E 64 20 a filename, and
Size : 512 (Real : 512)
000000: 63 3D 79 3A 0D 0A 20 20 20 78 3D 4D 41 58 28 30 c=y:.. x=MAX(0
000010: 2C 4D 49 4E 28 36 33 32 2C 78 2B 33 2A 28 28 49 ,MIN(632,x+3*((I
000020: 4E 4B 45 59 28 38 29 3E 2D 31 29 2D 28 49 4E 4B NKEY(8)>-1)-(INK
000030: 45 59 28 31 29 3E 2D 31 29 29 2A 28 34 2B 33 2A EY(1)>-1))*(4+3*
000040: 28 49 4E 4B 45 59 28 32 31 29 3D 2D 31 29 29 29 (INKEY(21)=-1)))
000050: 29 3A 0D 0A 20 20 20 79 3D 4D 41 58 28 31 35 2C ):.. y=MAX(15,
000060: 4D 49 4E 28 33 39 39 2C 79 2B 33 2A 28 28 49 4E MIN(399,y+3*((IN
000070: 4B 45 59 28 32 29 3E 2D 31 29 2D 28 49 4E 4B 45 KEY(2)>-1)-(INKE
000080: 59 28 30 29 3E 2D 31 29 29 2A 28 28 49 4E 4B 45 Y(0)>-1))*((INKE
000090: 59 28 32 31 29 3D 2D 31 29 2B 32 29 29 29 3A 0D Y(21)=-1)+2))):.
0000A0: 0A 20 20 20 4D 4F 56 45 20 62 2C 63 3A 50 52 49 . MOVE b,c:PRI
0000B0: 4E 54 20 43 48 52 24 28 32 31 35 29 3B 3A 4D 4F NT CHR$(215);:MO
0000C0: 56 45 20 78 2C 79 3A 50 52 49 4E 54 20 43 48 52 VE x,y:PRINT CHR
0000D0: 24 28 32 31 35 29 3B 3A 57 45 4E 44 0D 0A 35 30 $(215);:WEND..50
0000E0: 20 47 4F 53 55 42 20 38 30 3A 4D 4F 56 45 20 78 GOSUB 80:MOVE x
0000F0: 2C 79 3A 50 52 49 4E 54 20 43 48 52 24 28 32 31 ,y:PRINT CHR$(21
000100: 35 29 3B 3A 70 3D 28 78 5C 31 36 30 29 2A 32 30 5);:p=(x\160)*20
000110: 2B 31 3A 71 3D 28 34 30 30 2D 79 29 5C 31 36 2B +1:q=(400-y)\16+
000120: 31 3A 4C 4F 43 41 54 45 20 70 2C 71 3A 0D 0A 20 1:LOCATE p,q:..
000130: 20 20 43 41 4C 4C 20 61 2C 40 66 24 3A 57 45 4E CALL a,@f$:WEN
000140: 44 3A 54 41 47 4F 46 46 3A 49 46 20 4D 49 44 24 D:TAGOFF:IF MID$
000150: 28 66 24 2C 39 2C 31 29 3D 22 2E 22 20 54 48 45 (f$,9,1)="." THE
000160: 4E 20 4D 45 4D 4F 52 59 20 48 49 4D 45 4D 2B 33 N MEMORY HIMEM+3
000170: 34 3A 43 41 4C 4C 20 26 42 42 42 41 3A 0D 0A 20 4:CALL &BBBA:..
000180: 20 20 4D 4F 44 45 20 31 3A 52 55 4E 20 66 24 0D MODE 1:RUN f$.
000190: 0A 36 30 20 75 3D 31 36 3A 57 48 49 4C 45 20 75 .60 u=16:WHILE u
0001A0: 20 41 4E 44 20 2D 31 36 3A 4C 4F 43 41 54 45 20 AND -16:LOCATE
0001B0: 31 2C 76 3A 50 52 49 4E 54 22 55 73 65 72 3A 20 1,v:PRINT"User:
0001C0: 22 2B 43 48 52 24 28 32 30 29 3B 3A 4C 49 4E 45 "+CHR$(20);:LINE
0001D0: 20 49 4E 50 55 54 20 75 24 3A 0D 0A 20 20 20 75 INPUT u$:.. u
0001E0: 3D 56 41 4C 28 75 24 29 3A 57 45 4E 44 3A 49 46 =VAL(u$):WEND:IF
0001F0: 20 75 24 3C 3E 22 22 20 54 48 45 4E 20 7C 55 53 u$<>"" THEN |US
Size : 512 (Real : 512)
000000: 6F 70 2E 20 20 54 68 65 20 63 6F 6C 6F 75 72 20 op. The colour
000010: 74 68 61 74 20 61 70 70 65 61 72 73 20 20 6F 6E that appears on
000020: 20 20 74 68 65 20 73 63 72 65 65 6E 20 69 73 20 the screen is
000030: 61 20 58 4F 52 20 62 2E 20 20 53 6F 2C 0D 0A 20 a XOR b. So,..
000040: 20 20 69 66 20 62 20 69 73 20 30 2C 20 74 68 65 if b is 0, the
000050: 6E 20 74 68 65 20 63 6F 6C 6F 75 72 20 73 74 61 n the colour sta
000060: 79 73 20 61 73 20 61 2E 20 20 49 66 20 62 20 69 ys as a. If b i
000070: 73 20 31 2C 20 74 68 65 6E 20 74 68 65 20 63 6F s 1, then the co
000080: 6C 6F 75 72 20 63 68 61 6E 67 65 73 0D 0A 20 20 lour changes..
000090: 20 66 72 6F 6D 20 30 20 74 6F 20 31 20 6F 72 20 from 0 to 1 or
0000A0: 66 72 6F 6D 20 31 20 20 74 6F 20 20 30 2E 20 20 from 1 to 0.
0000B0: 20 49 6E 20 20 65 69 74 68 65 72 20 20 63 61 73 In either cas
0000C0: 65 2C 20 70 72 69 6E 74 69 6E 67 20 63 6F 6C 6F e, printing colo
0000D0: 75 72 20 62 20 6F 6E 20 74 6F 70 0D 0A 20 20 20 ur b on top..
0000E0: 61 67 61 69 6E 20 6D 65 61 6E 73 20 74 68 61 74 again means that
0000F0: 20 77 65 20 65 6E 64 20 75 70 20 77 69 74 68 20 we end up with
000100: 77 68 61 74 20 20 77 65 20 73 74 61 72 74 65 64 what we started
000110: 20 77 69 74 68 2E 20 20 54 68 69 73 20 6D 61 6B with. This mak
000120: 65 73 20 69 74 20 65 61 73 79 0D 0A 20 20 20 66 es it easy.. f
000130: 6F 72 20 75 73 20 74 6F 20 6D 6F 76 65 20 6F 75 or us to move ou
000140: 72 20 70 6F 69 6E 74 65 72 20 61 62 6F 75 74 20 r pointer about
000150: 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 20 77 69 on the screen wi
000160: 74 68 6F 75 74 20 77 6F 72 72 79 69 6E 67 20 61 thout worrying a
000170: 62 6F 75 74 20 77 68 61 74 0D 0A 20 20 20 69 73 bout what.. is
000180: 20 75 6E 64 65 72 6E 65 61 74 68 20 69 74 2E 0D underneath it..
000190: 0A 20 20 20 20 20 54 68 65 20 70 6F 73 69 74 69 . The positi
0001A0: 6F 6E 20 6F 66 20 74 68 65 20 70 6F 69 6E 74 65 on of the pointe
0001B0: 72 20 69 73 20 68 65 6C 64 20 69 6E 20 20 74 68 r is held in th
0001C0: 65 20 76 61 72 69 61 62 6C 65 73 20 78 20 61 6E e variables x an
0001D0: 64 20 79 2C 20 61 6E 64 20 74 68 65 73 65 0D 0A d y, and these..
0001E0: 20 20 20 61 72 65 20 73 65 74 20 75 70 20 74 6F are set up to
0001F0: 20 70 6C 61 63 65 20 69 74 20 6E 65 61 72 20 74 place it near t
Size : 512 (Real : 512)
000000: 45 52 2C 75 3A 43 4C 53 3A 43 41 54 3A 76 3D 56 ER,u:CLS:CAT:v=V
000010: 50 4F 53 28 23 30 29 0D 0A 37 30 20 57 45 4E 44 POS(#0)..70 WEND
000020: 0D 0A 38 30 20 57 48 49 4C 45 20 49 4E 4B 45 59 ..80 WHILE INKEY
000030: 28 34 37 29 2B 49 4E 4B 45 59 28 31 38 29 2B 49 (47)+INKEY(18)+I
000040: 4E 4B 45 59 28 39 29 3E 2D 33 3A 57 45 4E 44 3A NKEY(9)>-3:WEND:
000050: 57 48 49 4C 45 20 49 4E 4B 45 59 24 3C 3E 22 22 WHILE INKEY$<>""
000060: 3A 57 45 4E 44 3A 52 45 54 55 52 4E 0D 0A 0D 0A :WEND:RETURN....
000070: 20 20 20 46 69 67 75 72 65 20 31 0D 0A 1A 6E 67 Figure 1...ng
000080: 39 30 30 30 2C 40 63 25 0D 0A 31 33 30 20 50 52 9000,@c%..130 PR
000090: 49 4E 54 3A 50 52 49 4E 54 22 54 68 65 20 6C 65 INT:PRINT"The le
0000A0: 74 74 65 72 20 61 74 20 74 68 65 20 74 6F 70 20 tter at the top
0000B0: 6C 65 66 74 20 6F 66 20 74 68 65 20 73 63 72 65 left of the scre
0000C0: 65 6E 20 69 73 20 61 20 22 3B 43 48 52 24 28 63 en is a ";CHR$(c
0000D0: 25 29 0D 0A 31 39 30 20 44 41 54 41 20 44 44 2C %)..190 DATA DD,
0000E0: 36 36 2C 30 31 2C 44 44 2C 36 45 2C 30 30 2C 43 66,01,DD,6E,00,C
0000F0: 44 2C 36 30 2C 42 42 2C 37 37 2C 32 33 2C 33 36 D,60,BB,77,23,36
000100: 2C 30 30 2C 43 39 0D 0A 1A 20 24 24 24 FF 00 FF ,00,C9... $$$...
000110: 00 00 0A 00 00 72 01 00 10 29 00 00 00 00 00 00 .....r...)......
000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000140: 10 29 00 86 03 54 0D 0A 0D 0A 46 69 67 75 72 65 .)...T....Figure
000150: 20 32 2E 37 31 1A 00 0A 00 00 73 01 00 1E 00 00 2.71.....s.....
000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 68 65 20 20 74 6F 70 20 6F 66 20 74 68 65 20 73 he top of the s
000010: 63 72 65 65 6E 2E 20 20 41 66 74 65 72 20 63 61 creen. After ca
000020: 74 61 6C 6F 67 75 69 6E 67 20 74 68 65 0D 0A 20 taloguing the..
000030: 20 20 64 69 73 63 2C 20 74 68 65 20 56 50 4F 53 disc, the VPOS
000040: 20 66 75 6E 63 74 69 6F 6E 20 69 73 20 75 73 65 function is use
000050: 64 20 74 6F 20 20 70 75 74 20 20 74 68 65 20 56 d to put the V
000060: 65 72 74 69 63 61 6C 20 50 4F 53 69 74 69 6F 6E ertical POSition
000070: 20 6F 66 20 74 68 65 20 74 65 78 74 0D 0A 20 20 of the text..
000080: 20 63 75 72 73 6F 72 20 69 6E 74 6F 20 76 61 72 cursor into var
000090: 69 61 62 6C 65 20 76 2E 20 20 41 73 20 64 69 73 iable v. As dis
0000A0: 63 20 63 61 74 61 6C 6F 67 75 65 73 20 76 61 72 c catalogues var
0000B0: 79 20 69 6E 20 6C 65 6E 67 74 68 2C 20 77 65 20 y in length, we
0000C0: 68 61 76 65 20 74 6F 20 75 73 65 0D 0A 20 20 20 have to use..
0000D0: 56 50 4F 53 20 74 6F 20 66 69 6E 64 20 6F 75 74 VPOS to find out
0000E0: 20 77 68 65 72 65 20 74 68 65 20 63 75 72 73 6F where the curso
0000F0: 72 20 68 61 73 20 65 6E 64 65 64 20 75 70 2E 20 r has ended up.
000100: 20 56 61 72 69 61 62 6C 65 20 76 20 69 73 20 75 Variable v is u
000110: 73 65 64 20 69 6E 20 74 68 65 0D 0A 20 20 20 4C sed in the.. L
000120: 4F 43 41 54 45 20 63 6F 6D 6D 61 6E 64 20 69 6E OCATE command in
000130: 20 6C 69 6E 65 20 36 30 20 74 6F 20 65 6E 73 75 line 60 to ensu
000140: 72 65 20 20 74 68 61 74 20 20 74 68 65 20 22 55 re that the "U
000150: 73 65 72 3A 22 20 70 72 6F 6D 70 74 20 69 73 20 ser:" prompt is
000160: 61 6C 77 61 79 73 20 69 6E 0D 0A 20 20 20 74 68 always in.. th
000170: 65 20 72 69 67 68 74 20 70 6C 61 63 65 2C 20 6A e right place, j
000180: 75 73 74 20 62 65 6C 6F 77 20 74 68 65 20 65 6E ust below the en
000190: 64 20 6F 66 20 74 68 65 20 64 69 73 63 20 63 61 d of the disc ca
0001A0: 74 61 6C 6F 67 75 65 2E 0D 0A 0D 0A 20 20 20 45 talogue..... E
0001B0: 4E 44 20 4F 46 20 46 49 4C 45 0D 0A 20 20 20 54 ND OF FILE.. T
0001C0: 68 65 20 70 72 6F 67 72 61 6D 20 65 6E 64 73 20 he program ends
0001D0: 69 6E 20 6C 69 6E 65 20 35 30 20 77 68 65 6E 20 in line 50 when
0001E0: 20 74 68 65 20 73 65 6C 65 63 74 65 64 20 66 69 the selected fi
0001F0: 6C 65 20 69 73 20 52 55 4E 2E 20 20 53 6F 6D 65 le is RUN. Some
Size : 512 (Real : 512)
000000: 65 0D 0A 20 20 20 20 20 20 20 20 20 20 63 75 72 e.. cur
000010: 73 6F 72 20 74 6F 20 74 68 65 20 74 6F 70 20 6C sor to the top l
000020: 65 66 74 20 6F 66 20 74 68 65 20 73 63 72 65 65 eft of the scree
000030: 6E 2E 0D 0A 0D 0A 20 20 20 26 42 42 42 41 20 20 n..... &BBBA
000040: 47 52 41 20 49 4E 49 54 49 41 4C 49 53 45 0D 0A GRA INITIALISE..
000050: 20 20 20 20 20 20 20 20 20 20 52 65 73 65 74 73 Resets
000060: 20 74 68 65 20 67 72 61 70 68 69 63 73 20 70 65 the graphics pe
000070: 6E 20 20 61 6E 64 20 20 20 70 61 70 65 72 2C 20 n and paper,
000080: 20 74 68 65 20 20 73 69 7A 65 20 20 61 6E 64 20 the size and
000090: 6F 72 69 67 69 6E 20 6F 66 20 74 68 65 0D 0A 20 origin of the..
0000A0: 20 20 20 20 20 20 20 20 20 67 72 61 70 68 69 63 graphic
0000B0: 73 20 77 69 6E 64 6F 77 2C 20 6D 6F 76 65 73 20 s window, moves
0000C0: 74 68 65 20 67 72 61 70 68 69 63 73 20 63 75 72 the graphics cur
0000D0: 73 6F 72 20 20 74 6F 20 74 68 65 20 62 6F 74 74 sor to the bott
0000E0: 6F 6D 20 6C 65 66 74 2C 20 61 6E 64 0D 0A 20 20 om left, and..
0000F0: 20 20 20 20 20 20 20 20 73 65 74 73 20 74 68 65 sets the
000100: 20 67 72 61 70 68 69 63 73 20 77 72 69 74 65 20 graphics write
000110: 6D 6F 64 65 20 74 6F 20 6E 6F 72 6D 61 6C 2E 0D mode to normal..
000120: 0A 0D 0A 20 20 20 26 42 43 30 32 20 20 53 43 52 ... &BC02 SCR
000130: 20 52 45 53 45 54 0D 0A 20 20 20 20 20 20 20 20 RESET..
000140: 20 20 53 65 74 73 20 74 68 65 20 69 6E 6B 73 20 Sets the inks
000150: 74 6F 20 74 68 65 69 72 20 64 65 66 61 75 6C 74 to their default
000160: 20 76 61 6C 75 65 73 2E 0D 0A 0D 0A 20 20 20 54 values..... T
000170: 68 65 73 65 20 74 68 72 65 65 20 72 6F 75 74 69 hese three routi
000180: 6E 65 73 20 61 72 65 20 61 20 68 61 6E 64 79 20 nes are a handy
000190: 20 77 61 79 20 20 6F 66 20 20 67 65 74 74 69 6E way of gettin
0001A0: 67 20 20 61 20 6C 6F 74 20 6F 66 20 74 68 69 6E g a lot of thin
0001B0: 67 73 20 73 65 74 20 75 70 0D 0A 20 20 20 77 69 gs set up.. wi
0001C0: 74 68 20 76 65 72 79 20 66 65 77 20 63 6F 6D 6D th very few comm
0001D0: 61 6E 64 73 2E 0D 0A 20 20 20 20 20 41 66 74 65 ands... Afte
0001E0: 72 20 73 65 6C 65 63 74 69 6E 67 20 4D 4F 44 45 r selecting MODE
0001F0: 20 32 2C 20 77 65 20 70 72 69 6E 74 20 20 43 48 2, we print CH
Size : 512 (Real : 512)
000000: 20 70 72 6F 67 72 61 6D 73 0D 0A 20 20 20 6D 61 programs.. ma
000010: 79 20 61 73 73 75 6D 65 20 74 68 61 74 20 74 68 y assume that th
000020: 65 20 73 63 72 65 65 6E 20 69 73 20 61 6C 72 65 e screen is alre
000030: 61 64 79 20 20 69 6E 20 20 4D 4F 44 45 20 20 31 ady in MODE 1
000040: 20 61 73 20 69 74 20 69 73 20 77 68 65 6E 20 79 as it is when y
000050: 6F 75 20 66 69 72 73 74 0D 0A 20 20 20 73 77 69 ou first.. swi
000060: 74 63 68 20 6F 6E 2E 20 20 42 65 66 6F 72 65 20 tch on. Before
000070: 72 75 6E 6E 69 6E 67 20 74 68 65 20 20 70 72 6F running the pro
000080: 67 72 61 6D 20 20 77 65 20 20 72 65 73 65 74 20 gram we reset
000090: 74 68 65 20 67 72 61 70 68 69 63 73 20 77 72 69 the graphics wri
0000A0: 74 65 20 6D 6F 64 65 0D 0A 20 20 20 77 69 74 68 te mode.. with
0000B0: 20 61 6E 6F 74 68 65 72 20 63 61 6C 6C 20 74 6F another call to
0000C0: 20 26 42 42 42 41 20 61 6E 64 20 20 63 68 61 6E &BBBA and chan
0000D0: 67 65 20 20 74 6F 20 20 4D 4F 44 45 20 20 31 2C ge to MODE 1,
0000E0: 20 61 73 20 74 68 65 73 65 20 61 72 65 20 74 68 as these are th
0000F0: 65 20 6F 6E 6C 79 0D 0A 20 20 20 74 68 69 6E 67 e only.. thing
000100: 73 20 77 65 20 68 61 76 65 20 61 6C 74 65 72 65 s we have altere
000110: 64 2E 0D 0A 0D 0A 20 20 20 46 49 4E 41 4C 20 53 d..... FINAL S
000120: 49 4C 4C 59 20 48 45 41 44 49 4E 47 0D 0A 20 20 ILLY HEADING..
000130: 20 41 73 20 61 20 63 68 61 6C 6C 65 6E 67 65 20 As a challenge
000140: 79 6F 75 20 6D 61 79 20 77 61 6E 74 20 74 6F 20 you may want to
000150: 69 6E 76 65 73 74 69 67 61 74 65 20 6C 69 6E 65 investigate line
000160: 20 34 30 20 61 73 20 74 68 61 74 27 73 20 77 68 40 as that's wh
000170: 61 74 20 77 65 27 6C 6C 20 62 65 0D 0A 20 20 20 at we'll be..
000180: 6C 6F 6F 6B 69 6E 67 20 61 74 20 6E 65 78 74 20 looking at next
000190: 74 69 6D 65 2E 20 20 41 6C 73 6F 2C 20 69 66 20 time. Also, if
0001A0: 61 6E 79 6F 6E 65 20 63 61 6E 20 65 78 70 6C 61 anyone can expla
0001B0: 69 6E 20 77 68 79 20 4C 6F 63 6F 6D 6F 74 69 76 in why Locomotiv
0001C0: 65 20 53 6F 66 74 77 61 72 65 0D 0A 20 20 20 64 e Software.. d
0001D0: 65 63 69 64 65 64 20 74 6F 20 69 6E 63 6C 75 64 ecided to includ
0001E0: 65 20 74 68 65 20 43 52 45 41 4C 20 66 75 6E 63 e the CREAL func
0001F0: 74 69 6F 6E 20 69 6E 20 41 6D 73 74 72 61 64 20 tion in Amstrad
Size : 512 (Real : 512)
000000: 52 24 28 32 33 29 20 20 61 6E 64 20 43 48 52 24 R$(23) and CHR$
000010: 28 31 29 20 74 6F 20 73 77 69 74 63 68 20 74 6F (1) to switch to
000020: 20 58 4F 52 0D 0A 20 20 20 67 72 61 70 68 69 63 XOR.. graphic
000030: 73 20 6D 6F 64 65 2E 20 20 59 6F 75 20 73 65 65 s mode. You see
000040: 20 58 4F 52 20 6D 6F 64 65 20 69 6E 20 20 75 73 XOR mode in us
000050: 65 20 20 61 6C 6C 20 20 74 68 65 20 20 74 69 6D e all the tim
000060: 65 2C 20 61 73 20 69 74 20 69 73 20 75 73 65 64 e, as it is used
000070: 20 74 6F 0D 0A 20 20 20 64 69 73 70 6C 61 79 20 to.. display
000080: 74 68 65 20 42 41 53 49 43 20 74 65 78 74 20 63 the BASIC text c
000090: 75 72 73 6F 72 2E 20 20 20 57 65 20 20 75 73 65 ursor. We use
0000A0: 20 20 74 68 69 73 20 20 73 61 6D 65 20 65 66 66 this same eff
0000B0: 65 63 74 20 74 6F 20 64 69 73 70 6C 61 79 20 6F ect to display o
0000C0: 75 72 0D 0A 20 20 20 70 6F 69 6E 74 65 72 2E 20 ur.. pointer.
0000D0: 20 49 66 20 79 6F 75 20 73 77 69 74 63 68 20 6F If you switch o
0000E0: 6E 20 20 79 6F 75 72 20 20 41 6D 73 74 72 61 64 n your Amstrad
0000F0: 2C 20 20 61 6E 64 20 20 74 79 70 65 20 69 6E 20 , and type in
000100: 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 66 65 the following fe
000110: 77 0D 0A 20 20 20 63 6F 6D 6D 61 6E 64 73 2C 20 w.. commands,
000120: 79 6F 75 20 63 61 6E 20 73 65 65 20 61 20 66 75 you can see a fu
000130: 72 74 68 65 72 20 64 65 6D 6F 6E 73 74 72 61 74 rther demonstrat
000140: 69 6F 6E 3A 0D 0A 0D 0A 20 20 20 20 20 4D 4F 44 ion:.... MOD
000150: 45 20 32 0D 0A 20 20 20 20 20 50 52 49 4E 54 20 E 2.. PRINT
000160: 43 48 52 24 28 32 33 29 3B 43 48 52 24 28 31 29 CHR$(23);CHR$(1)
000170: 0D 0A 20 20 20 20 20 4D 4F 56 45 20 30 2C 33 37 .. MOVE 0,37
000180: 32 3A 44 52 41 57 52 20 32 30 30 2C 30 2C 31 0D 2:DRAWR 200,0,1.
000190: 0A 0D 0A 20 20 20 41 20 68 6F 72 69 7A 6F 6E 74 ... A horizont
0001A0: 61 6C 20 6C 69 6E 65 20 73 68 6F 75 6C 64 20 20 al line should
0001B0: 61 70 70 65 61 72 2C 20 20 63 75 74 74 69 6E 67 appear, cutting
0001C0: 20 20 74 68 72 6F 75 67 68 20 20 73 6F 6D 65 20 through some
0001D0: 20 6F 66 20 74 68 65 20 74 65 78 74 20 79 6F 75 of the text you
0001E0: 0D 0A 20 20 20 74 79 70 65 64 2E 20 20 54 79 70 .. typed. Typ
0001F0: 65 20 74 68 65 20 6C 61 73 74 20 6C 69 6E 65 20 e the last line
Size : 512 (Real : 512)
000000: 42 41 53 49 43 2C 20 77 65 27 64 20 62 65 20 69 BASIC, we'd be i
000010: 6E 74 65 72 65 73 74 65 64 0D 0A 20 20 20 74 6F nterested.. to
000020: 20 6B 6E 6F 77 21 0D 0A 0D 0A 0D 0A 31 30 20 44 know!......10 D
000030: 45 46 49 4E 54 20 61 2D 7A 3A 4D 45 4D 4F 52 59 EFINT a-z:MEMORY
000040: 20 48 49 4D 45 4D 2D 33 34 3A 61 3D 55 4E 54 28 HIMEM-34:a=UNT(
000050: 48 49 4D 45 4D 2B 31 29 3A 46 4F 52 20 78 3D 30 HIMEM+1):FOR x=0
000060: 20 54 4F 20 33 33 3A 52 45 41 44 20 61 24 3A 0D TO 33:READ a$:.
000070: 0A 20 20 20 50 4F 4B 45 20 61 2B 78 2C 56 41 4C . POKE a+x,VAL
000080: 28 22 26 22 2B 61 24 29 3A 4E 45 58 54 3A 44 41 ("&"+a$):NEXT:DA
000090: 54 41 20 43 44 2C 37 38 2C 42 42 2C 34 43 2C 44 TA CD,78,BB,4C,D
0000A0: 44 2C 36 45 2C 30 2C 44 44 2C 36 36 2C 31 2C 34 D,6E,0,DD,66,1,4
0000B0: 36 2C 37 38 2C 42 37 2C 43 38 2C 32 33 2C 0D 0A 6,78,B7,C8,23,..
0000C0: 20 20 20 35 45 2C 32 33 2C 36 36 2C 36 42 2C 43 5E,23,66,6B,C
0000D0: 44 2C 36 30 2C 42 42 2C 37 37 2C 32 33 2C 43 2C D,60,BB,77,23,C,
0000E0: 37 39 2C 45 35 2C 43 44 2C 36 46 2C 42 42 2C 45 79,E5,CD,6F,BB,E
0000F0: 31 2C 31 30 2C 46 32 2C 43 39 0D 0A 32 30 20 43 1,10,F2,C9..20 C
000100: 41 4C 4C 20 26 42 42 34 45 3A 43 41 4C 4C 20 26 ALL &BB4E:CALL &
000110: 42 43 30 32 3A 43 41 4C 4C 20 26 42 42 42 41 3A BC02:CALL &BBBA:
000120: 4D 4F 44 45 20 32 3A 50 52 49 4E 54 20 43 48 52 MODE 2:PRINT CHR
000130: 24 28 32 33 29 2B 43 48 52 24 28 31 29 3A 78 3D $(23)+CHR$(1):x=
000140: 31 30 30 3A 79 3D 32 39 36 3A 0D 0A 20 20 20 43 100:y=296:.. C
000150: 41 54 3A 76 3D 56 50 4F 53 28 23 30 29 0D 0A 33 AT:v=VPOS(#0)..3
000160: 30 20 57 48 49 4C 45 20 31 3A 54 41 47 3A 66 24 0 WHILE 1:TAG:f$
000170: 3D 53 50 41 43 45 24 28 31 32 29 3A 57 48 49 4C =SPACE$(12):WHIL
000180: 45 20 4D 49 44 24 28 66 24 2C 39 2C 31 29 3C 3E E MID$(f$,9,1)<>
000190: 22 2E 22 20 41 4E 44 20 4D 49 44 24 28 66 24 2C "." AND MID$(f$,
0001A0: 38 2C 31 29 3C 3E 22 3A 22 3A 0D 0A 20 20 20 4D 8,1)<>":":.. M
0001B0: 4F 56 45 20 78 2C 79 3A 50 52 49 4E 54 20 43 48 OVE x,y:PRINT CH
0001C0: 52 24 28 32 31 35 29 3B 3A 47 4F 53 55 42 20 38 R$(215);:GOSUB 8
0001D0: 30 0D 0A 34 30 20 57 48 49 4C 45 20 49 4E 4B 45 0..40 WHILE INKE
0001E0: 59 28 34 37 29 2B 49 4E 4B 45 59 28 31 38 29 2B Y(47)+INKEY(18)+
0001F0: 49 4E 4B 45 59 28 39 29 3D 2D 33 3A 62 3D 78 3A INKEY(9)=-3:b=x:
Size : 512 (Real : 512)
000000: 61 67 61 69 6E 2C 20 20 61 6E 64 20 20 74 68 65 again, and the
000010: 20 74 65 78 74 20 77 69 6C 6C 20 6D 61 67 69 63 text will magic
000020: 61 6C 6C 79 20 28 6F 72 20 72 61 74 68 65 72 0D ally (or rather.
000030: 0A 20 20 20 6C 6F 67 69 63 61 6C 6C 79 29 20 72 . logically) r
000040: 65 61 70 70 65 61 72 2E 20 20 54 68 69 73 20 69 eappear. This i
000050: 73 20 61 6C 6C 20 20 64 75 65 20 20 74 6F 20 20 s all due to
000060: 74 68 65 20 20 70 72 6F 70 65 72 74 69 65 73 20 the properties
000070: 6F 66 20 58 4F 52 2C 20 61 73 20 61 6E 79 0D 0A of XOR, as any..
000080: 20 20 20 6C 6F 67 69 63 69 61 6E 20 63 6F 75 6C logician coul
000090: 64 20 74 65 6C 6C 20 79 6F 75 2E 0D 0A 0D 0A 20 d tell you.....
0000A0: 20 20 20 20 20 20 20 20 20 20 61 20 20 20 20 20 a
0000B0: 20 20 62 20 20 20 20 20 20 20 61 20 58 4F 52 20 b a XOR
0000C0: 62 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 b....
0000D0: 30 20 20 20 20 20 20 20 30 20 20 20 20 20 20 20 0 0
0000E0: 30 0D 0A 20 20 20 20 20 20 20 20 20 20 20 31 20 0.. 1
0000F0: 20 20 20 20 20 20 30 20 20 20 20 20 20 20 31 0D 0 1.
000100: 0A 20 20 20 20 20 20 20 20 20 20 20 30 20 20 20 . 0
000110: 20 20 20 20 31 20 20 20 20 20 20 20 31 0D 0A 20 1 1..
000120: 20 20 20 20 20 20 20 20 20 20 31 20 20 20 20 20 1
000130: 20 20 31 20 20 20 20 20 20 20 30 0D 0A 0D 0A 20 1 0....
000140: 20 20 46 69 67 75 72 65 20 31 2E 36 0D 0A 0D 0A Figure 1.6....
000150: 0D 0A 20 20 20 20 20 46 69 67 75 72 65 20 31 2E .. Figure 1.
000160: 36 20 73 68 6F 77 73 20 74 68 65 20 22 74 72 75 6 shows the "tru
000170: 74 68 20 74 61 62 6C 65 22 20 66 6F 72 20 20 65 th table" for e
000180: 58 63 6C 75 73 69 76 65 20 4F 52 2E 20 20 49 6D Xclusive OR. Im
000190: 61 67 69 6E 65 20 74 68 61 74 20 61 20 69 73 0D agine that a is.
0001A0: 0A 20 20 20 74 68 65 20 63 6F 6C 6F 75 72 20 6F . the colour o
0001B0: 66 20 61 20 70 69 78 65 6C 20 6F 6E 20 74 68 65 f a pixel on the
0001C0: 20 73 63 72 65 65 6E 2C 20 61 6E 64 20 74 68 61 screen, and tha
0001D0: 74 20 62 20 69 73 20 74 68 65 20 63 6F 6C 6F 75 t b is the colou
0001E0: 72 20 77 65 20 61 72 65 20 67 6F 69 6E 67 0D 0A r we are going..
0001F0: 20 20 20 74 6F 20 70 72 69 6E 74 20 6F 6E 20 74 to print on t
Size : 512 (Real : 512)
000000: 20 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 2E graphics mode.
000010: 20 20 54 68 69 73 20 69 73 20 74 75 72 6E 65 64 This is turned
000020: 20 6F 6E 20 69 6E 0D 0A 20 20 20 6C 69 6E 65 20 on in.. line
000030: 32 30 20 62 79 20 70 72 69 6E 74 69 6E 67 20 43 20 by printing C
000040: 48 52 24 28 32 33 29 20 66 6F 6C 6C 6F 77 65 64 HR$(23) followed
000050: 20 20 62 79 20 20 43 48 52 24 28 31 29 2E 20 20 by CHR$(1).
000060: 49 6E 20 58 4F 52 20 6D 6F 64 65 2C 20 77 68 65 In XOR mode, whe
000070: 6E 20 79 6F 75 0D 0A 20 20 20 70 72 69 6E 74 20 n you.. print
000080: 61 20 63 68 61 72 61 63 74 65 72 20 74 6F 20 74 a character to t
000090: 68 65 20 73 63 72 65 65 6E 20 69 74 20 63 61 6E he screen it can
0000A0: 20 20 62 65 20 72 65 6D 6F 76 65 64 20 62 79 20 be removed by
0000B0: 70 72 69 6E 74 69 6E 67 20 69 74 20 61 67 61 69 printing it agai
0000C0: 6E 20 61 74 0D 0A 20 20 20 74 68 65 20 73 61 6D n at.. the sam
0000D0: 65 20 70 6F 73 69 74 69 6F 6E 2C 20 6C 65 61 76 e position, leav
0000E0: 69 6E 67 20 77 68 61 74 20 77 61 73 20 20 75 6E ing what was un
0000F0: 64 65 72 6E 65 61 74 68 20 69 6E 74 61 63 74 2E derneath intact.
000100: 20 20 54 68 75 73 2C 20 69 6E 20 6C 69 6E 65 20 Thus, in line
000110: 32 35 30 0D 0A 20 20 20 77 65 20 72 65 6D 6F 76 250.. we remov
000120: 65 20 74 68 65 20 70 6F 69 6E 74 65 72 20 66 72 e the pointer fr
000130: 6F 6D 20 69 74 73 20 6F 6C 64 20 20 70 6F 73 69 om its old posi
000140: 74 69 6F 6E 2C 20 20 61 6E 64 20 69 6E 20 6C 69 tion, and in li
000150: 6E 65 20 32 36 30 20 70 72 69 6E 74 20 69 74 20 ne 260 print it
000160: 61 74 0D 0A 20 20 20 74 68 65 20 6E 65 77 20 70 at.. the new p
000170: 6F 73 69 74 69 6F 6E 2E 20 20 4C 69 6E 65 20 34 osition. Line 4
000180: 30 20 75 73 65 73 20 62 20 61 6E 64 20 20 63 20 0 uses b and c
000190: 20 69 6E 73 74 65 61 64 20 6F 66 20 6F 6C 64 78 instead of oldx
0001A0: 20 61 6E 64 20 6F 6C 64 79 20 74 6F 20 6D 61 6B and oldy to mak
0001B0: 65 0D 0A 20 20 20 69 74 20 73 68 6F 72 74 65 72 e.. it shorter
0001C0: 2E 0D 0A 0D 0A 20 20 20 54 52 55 54 48 20 4F 52 ..... TRUTH OR
0001D0: 20 44 41 52 45 0D 0A 20 20 20 4C 65 74 27 73 20 DARE.. Let's
0001E0: 73 65 65 20 68 6F 77 20 77 65 20 63 61 6E 20 61 see how we can a
0001F0: 6C 74 65 72 20 74 68 61 74 20 20 73 75 62 72 6F lter that subro
Size : 512 (Real : 512)
000000: 32 29 3E 2D 31 29 2D 28 49 4E 4B 45 59 28 30 29 2)>-1)-(INKEY(0)
000010: 3E 2D 31 29 29 2A 28 28 49 4E 4B 45 59 28 32 31 >-1))*((INKEY(21
000020: 29 3D 2D 31 29 2B 32 29 29 29 3A 0D 0A 20 20 20 )=-1)+2))):..
000030: 20 20 20 4D 4F 56 45 20 62 2C 63 3A 50 52 49 4E MOVE b,c:PRIN
000040: 54 20 43 48 52 24 28 32 31 35 29 3B 3A 4D 4F 56 T CHR$(215);:MOV
000050: 45 20 78 2C 79 3A 50 52 49 4E 54 20 43 48 52 24 E x,y:PRINT CHR$
000060: 28 32 31 35 29 3B 3A 57 45 4E 44 0D 0A 0D 0A 20 (215);:WEND....
000070: 20 20 53 57 49 4D 4D 49 4E 47 20 4C 45 53 53 4F SWIMMING LESSO
000080: 4E 0D 0A 20 20 20 49 74 27 73 20 61 62 6F 75 74 N.. It's about
000090: 20 74 69 6D 65 20 66 6F 72 20 61 6E 20 65 78 70 time for an exp
0000A0: 6C 61 6E 61 74 69 6F 6E 20 20 6F 66 20 20 68 6F lanation of ho
0000B0: 77 20 20 73 6F 6D 65 20 20 6F 66 20 74 68 65 20 w some of the
0000C0: 70 72 6F 67 72 61 6D 20 77 6F 72 6B 73 20 69 6E program works in
0000D0: 0D 0A 20 20 20 64 65 74 61 69 6C 2C 20 73 6F 20 .. detail, so
0000E0: 6C 65 74 27 73 20 64 69 76 65 20 69 6E 20 61 6E let's dive in an
0000F0: 64 20 74 61 63 6B 6C 65 20 74 68 65 20 6C 6F 6E d tackle the lon
000100: 67 65 73 74 20 6C 69 6E 65 20 6F 66 20 61 6C 6C gest line of all
000110: 2E 0D 0A 20 20 20 20 20 4C 69 6E 65 20 34 30 20 ... Line 40
000120: 68 61 73 20 73 6F 6D 65 20 76 65 72 79 20 68 6F has some very ho
000130: 72 72 69 62 6C 65 20 20 6C 6F 6F 6B 69 6E 67 20 rrible looking
000140: 20 62 69 74 73 2C 20 20 61 73 20 20 69 74 20 69 bits, as it i
000150: 73 20 64 6F 69 6E 67 20 61 20 6C 6F 74 20 6F 66 s doing a lot of
000160: 0D 0A 20 20 20 74 68 69 6E 67 73 20 61 74 20 6F .. things at o
000170: 6E 63 65 2E 20 20 54 6F 20 67 65 74 20 61 6E 20 nce. To get an
000180: 20 69 64 65 61 20 20 6F 66 20 20 6A 75 73 74 20 idea of just
000190: 20 68 6F 77 20 6D 75 63 68 20 69 73 20 73 71 75 how much is squ
0001A0: 61 73 68 65 64 20 69 6E 20 74 68 65 72 65 2C 0D ashed in there,.
0001B0: 0A 20 20 20 74 61 6B 65 20 61 20 6C 6F 6F 6B 20 . take a look
0001C0: 61 74 20 46 69 67 75 72 65 20 31 2E 36 31 2E 20 at Figure 1.61.
0001D0: 20 54 68 69 73 20 6C 69 73 74 73 20 61 20 73 75 This lists a su
0001E0: 62 72 6F 75 74 69 6E 65 20 74 68 61 74 20 64 6F broutine that do
0001F0: 65 73 20 65 78 61 63 74 6C 79 20 74 68 65 0D 0A es exactly the..
Size : 512 (Real : 512)
000000: 75 74 69 6E 65 20 20 74 6F 20 6D 61 6B 65 20 69 utine to make i
000010: 74 20 6D 6F 72 65 20 6C 69 6B 65 20 6C 69 6E 65 t more like line
000020: 20 34 30 2E 0D 0A 20 20 20 46 69 67 75 72 65 20 40... Figure
000030: 31 2E 36 31 38 20 68 61 73 20 65 78 61 63 74 6C 1.618 has exactl
000040: 79 20 74 68 65 20 73 61 6D 65 20 20 73 74 72 75 y the same stru
000050: 63 74 75 72 65 20 20 61 73 20 20 46 69 67 75 72 cture as Figur
000060: 65 20 31 2E 36 31 20 62 75 74 20 75 73 65 73 20 e 1.61 but uses
000070: 74 68 65 0D 0A 20 20 20 73 61 6D 65 20 74 65 63 the.. same tec
000080: 68 6E 69 71 75 65 73 20 61 73 20 6C 69 6E 65 20 hniques as line
000090: 34 30 2E 20 20 20 3C 3C 54 68 65 73 65 20 20 6C 40. <<These l
0000A0: 69 6E 65 73 20 20 61 72 65 20 20 73 61 76 65 64 ines are saved
0000B0: 20 61 73 20 46 49 47 31 36 31 38 20 6F 6E 20 74 as FIG1618 on t
0000C0: 68 65 0D 0A 20 20 20 64 69 73 63 2E 3E 3E 0D 0A he.. disc.>>..
0000D0: 20 20 20 20 20 54 6F 20 74 65 73 74 20 74 68 65 To test the
0000E0: 20 74 68 72 65 65 20 73 65 6C 65 63 74 69 6F 6E three selection
0000F0: 20 6B 65 79 73 2C 20 77 65 20 20 63 61 6E 20 61 keys, we can a
000100: 64 64 20 74 68 65 20 49 4E 4B 45 59 20 76 61 6C dd the INKEY val
000110: 75 65 73 20 74 6F 67 65 74 68 65 72 2E 0D 0A 20 ues together...
000120: 20 20 49 66 20 6E 6F 6E 65 20 6F 66 20 74 68 65 If none of the
000130: 20 74 68 72 65 65 20 6B 65 79 73 20 69 73 20 62 three keys is b
000140: 65 69 6E 67 20 70 72 65 73 73 65 64 2C 20 74 68 eing pressed, th
000150: 65 20 73 75 6D 20 77 69 6C 6C 20 62 65 20 2D 33 e sum will be -3
000160: 2E 20 20 57 65 20 64 6F 20 6E 6F 74 0D 0A 20 20 . We do not..
000170: 20 68 61 76 65 20 74 6F 20 74 65 73 74 20 74 68 have to test th
000180: 61 74 20 65 61 63 68 20 6F 66 20 74 68 65 20 49 at each of the I
000190: 4E 4B 45 59 20 76 61 6C 75 65 73 20 69 73 20 2D NKEY values is -
0001A0: 31 20 69 6E 64 69 76 69 64 75 61 6C 6C 79 2E 20 1 individually.
0001B0: 20 44 6F 69 6E 67 20 74 68 69 73 0D 0A 20 20 20 Doing this..
0001C0: 67 69 76 65 73 20 75 73 20 6C 69 6E 65 20 33 31 gives us line 31
0001D0: 30 20 69 6E 20 46 69 67 75 72 65 20 31 2E 36 31 0 in Figure 1.61
0001E0: 38 2E 0D 0A 20 20 20 20 20 48 6F 77 20 64 6F 20 8... How do
0001F0: 77 65 20 67 6F 20 61 62 6F 75 74 20 74 72 61 6E we go about tran
Size : 512 (Real : 512)
000000: 20 20 20 73 61 6D 65 20 61 73 20 6C 69 6E 65 20 same as line
000010: 34 30 2C 20 62 75 74 20 69 6E 20 61 20 20 6D 6F 40, but in a mo
000020: 72 65 20 20 63 6F 6E 76 65 6E 74 69 6F 6E 61 6C re conventional
000030: 20 20 77 61 79 2E 20 20 49 66 20 79 6F 75 20 77 way. If you w
000040: 61 6E 74 20 74 6F 20 74 72 79 20 69 74 0D 0A 20 ant to try it..
000050: 20 20 6F 75 74 2C 20 79 6F 75 20 63 6F 75 6C 64 out, you could
000060: 20 74 79 70 65 20 69 74 20 69 6E 20 20 61 6E 64 type it in and
000070: 20 20 72 65 70 6C 61 63 65 20 20 6C 69 6E 65 20 replace line
000080: 20 34 30 20 77 69 74 68 20 22 47 4F 53 55 42 20 40 with "GOSUB
000090: 31 31 30 22 2E 20 20 49 74 20 69 73 0D 0A 20 20 110". It is..
0000A0: 20 6D 75 63 68 20 73 6C 6F 77 65 72 2E 20 20 3C much slower. <
0000B0: 3C 54 68 65 20 64 69 73 63 20 6D 65 6E 75 20 69 <The disc menu i
0000C0: 73 20 73 61 76 65 64 20 61 73 20 44 49 53 43 4D s saved as DISCM
0000D0: 45 4E 55 2E 42 41 53 20 61 6E 64 20 79 6F 75 20 ENU.BAS and you
0000E0: 63 61 6E 20 61 64 64 20 74 68 65 0D 0A 20 20 20 can add the..
0000F0: 6C 69 6E 65 73 20 69 6E 20 46 69 67 75 72 65 20 lines in Figure
000100: 31 2E 36 31 20 62 79 20 74 79 70 69 6E 67 20 4D 1.61 by typing M
000110: 45 52 47 45 22 46 49 47 31 36 31 3E 3E 0D 0A 20 ERGE"FIG161>>..
000120: 20 20 20 20 4C 6F 6F 6B 69 6E 67 20 61 74 20 74 Looking at t
000130: 68 65 20 73 75 62 72 6F 75 74 69 6E 65 20 74 6F he subroutine to
000140: 20 73 74 61 72 74 20 77 69 74 68 2C 20 20 77 65 start with, we
000150: 20 74 65 73 74 20 74 68 65 20 6B 65 79 73 20 62 test the keys b
000160: 79 20 75 73 69 6E 67 20 74 68 65 0D 0A 20 20 20 y using the..
000170: 49 4E 4B 45 59 20 66 75 6E 63 74 69 6F 6E 2E 20 INKEY function.
000180: 20 54 68 65 20 6E 75 6D 62 65 72 20 69 6E 20 62 The number in b
000190: 72 61 63 6B 65 74 73 20 69 73 20 20 61 20 20 63 rackets is a c
0001A0: 6F 64 65 20 66 6F 72 20 74 68 65 20 6B 65 79 20 ode for the key
0001B0: 77 65 20 77 61 6E 74 20 74 6F 0D 0A 20 20 20 63 we want to.. c
0001C0: 68 65 63 6B 2E 20 20 49 66 20 74 68 65 20 20 6B heck. If the k
0001D0: 65 79 20 20 69 73 20 20 6E 6F 74 20 20 70 72 65 ey is not pre
0001E0: 73 73 65 64 2C 20 20 74 68 65 6E 20 20 49 4E 4B ssed, then INK
0001F0: 45 59 20 20 67 69 76 65 73 20 20 74 68 65 20 20 EY gives the
Size : 512 (Real : 512)
000000: 73 66 6F 72 6D 69 6E 67 20 6C 69 6E 65 73 20 20 sforming lines
000010: 31 34 30 2D 31 39 30 20 69 6E 74 6F 20 33 34 30 140-190 into 340
000020: 2D 33 39 30 3F 20 20 54 69 6D 65 20 66 6F 72 20 -390? Time for
000030: 61 0D 0A 20 20 20 70 72 61 63 74 69 63 61 6C 20 a.. practical
000040: 6C 65 73 73 6F 6E 20 69 6E 20 54 72 75 65 20 61 lesson in True a
000050: 6E 64 20 46 61 6C 73 65 2E 20 20 20 54 75 72 6E nd False. Turn
000060: 20 20 79 6F 75 72 20 20 63 6F 6D 70 75 74 65 72 your computer
000070: 20 6F 6E 20 61 6E 64 20 74 79 70 65 20 74 68 65 on and type the
000080: 0D 0A 20 20 20 66 6F 6C 6C 6F 77 69 6E 67 20 63 .. following c
000090: 6F 6D 6D 61 6E 64 73 3A 0D 0A 0D 0A 20 20 20 20 ommands:....
0000A0: 20 50 52 49 4E 54 20 35 3E 32 0D 0A 20 20 20 20 PRINT 5>2..
0000B0: 20 50 52 49 4E 54 20 33 3D 33 0D 0A 20 20 20 20 PRINT 3=3..
0000C0: 20 50 52 49 4E 54 20 31 32 3C 36 36 0D 0A 0D 0A PRINT 12<66....
0000D0: 20 20 20 49 6E 20 65 61 63 68 20 63 61 73 65 20 In each case
0000E0: 22 2D 31 22 20 69 73 20 70 72 69 6E 74 65 64 20 "-1" is printed
0000F0: 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 2E 20 20 on the screen.
000100: 54 72 79 20 74 68 65 73 65 20 63 6F 6D 6D 61 6E Try these comman
000110: 64 73 3A 0D 0A 0D 0A 20 20 20 20 20 50 52 49 4E ds:.... PRIN
000120: 54 20 32 3E 35 0D 0A 20 20 20 20 20 50 52 49 4E T 2>5.. PRIN
000130: 54 20 33 3C 3E 33 0D 0A 20 20 20 20 20 50 52 49 T 3<>3.. PRI
000140: 4E 54 20 31 32 3E 36 36 0D 0A 0D 0A 20 20 20 54 NT 12>66.... T
000150: 68 69 73 20 74 69 6D 65 20 22 30 22 20 69 73 20 his time "0" is
000160: 70 72 69 6E 74 65 64 20 61 6C 6C 20 74 68 72 65 printed all thre
000170: 65 20 20 74 69 6D 65 73 2E 20 20 20 54 68 65 20 e times. The
000180: 72 65 61 73 6F 6E 20 77 65 20 67 65 74 20 22 2D reason we get "-
000190: 31 22 20 6F 72 20 22 30 22 0D 0A 20 20 20 70 72 1" or "0".. pr
0001A0: 69 6E 74 65 64 20 69 73 20 74 68 61 74 20 20 74 inted is that t
0001B0: 68 65 20 20 73 74 61 74 65 6D 65 6E 74 73 20 20 he statements
0001C0: 61 66 74 65 72 20 20 74 68 65 20 20 50 52 49 4E after the PRIN
0001D0: 54 20 20 63 6F 6D 6D 61 6E 64 73 20 20 61 72 65 T commands are
0001E0: 20 6C 6F 67 69 63 61 6C 0D 0A 20 20 20 65 78 70 logical.. exp
0001F0: 72 65 73 73 69 6F 6E 73 2E 20 20 42 41 53 49 43 ressions. BASIC
Size : 512 (Real : 512)
000000: 76 61 6C 75 65 20 2D 31 2C 0D 0A 20 20 20 6F 74 value -1,.. ot
000010: 68 65 72 77 69 73 65 2C 20 69 74 20 72 65 74 75 herwise, it retu
000020: 72 6E 73 20 61 20 20 6E 75 6D 62 65 72 20 20 67 rns a number g
000030: 72 65 61 74 65 72 20 20 74 68 61 6E 20 20 2D 31 reater than -1
000040: 2E 20 20 20 48 61 76 65 20 20 61 20 6C 6F 6F 6B . Have a look
000050: 20 69 6E 20 79 6F 75 72 0D 0A 20 20 20 6D 61 6E in your.. man
000060: 75 61 6C 20 74 6F 20 66 69 6E 64 20 6F 75 74 20 ual to find out
000070: 6D 6F 72 65 2E 20 20 20 49 6E 20 20 6C 69 6E 65 more. In line
000080: 20 20 31 31 30 20 20 77 65 20 20 61 72 65 20 63 110 we are c
000090: 68 65 63 6B 69 6E 67 20 74 68 61 74 20 74 68 65 hecking that the
0000A0: 20 53 50 41 43 45 2C 0D 0A 20 20 20 45 4E 54 45 SPACE,.. ENTE
0000B0: 52 20 61 6E 64 20 43 4F 50 59 20 6B 65 79 73 20 R and COPY keys
0000C0: 61 72 65 20 6E 6F 74 20 62 65 69 6E 67 20 70 72 are not being pr
0000D0: 65 73 73 65 64 2E 0D 0A 20 20 20 20 20 54 68 65 essed... The
0000E0: 20 70 6F 73 69 74 69 6F 6E 20 6F 66 20 74 68 65 position of the
0000F0: 20 70 6F 69 6E 74 65 72 20 69 73 20 20 68 65 6C pointer is hel
000100: 64 20 20 69 6E 20 20 74 68 65 20 20 76 61 72 69 d in the vari
000110: 61 62 6C 65 73 20 78 20 61 6E 64 20 79 2E 20 20 ables x and y.
000120: 4C 69 6E 65 73 0D 0A 20 20 20 31 34 30 2D 31 39 Lines.. 140-19
000130: 30 20 63 68 65 63 6B 20 74 68 65 20 63 75 72 73 0 check the curs
000140: 6F 72 20 6B 65 79 73 2C 20 20 61 6E 64 20 20 61 or keys, and a
000150: 64 6A 75 73 74 20 20 74 77 6F 20 76 61 72 69 61 djust two varia
000160: 62 6C 65 73 2C 20 78 61 64 64 20 61 6E 64 20 79 bles, xadd and y
000170: 61 64 64 2C 0D 0A 20 20 20 77 68 69 63 68 20 61 add,.. which a
000180: 72 65 20 74 68 65 6E 20 61 64 64 65 64 20 74 6F re then added to
000190: 20 78 20 61 6E 64 20 79 20 20 69 6E 20 20 6C 69 x and y in li
0001A0: 6E 65 20 32 30 30 2E 20 20 4C 69 6E 65 73 20 31 ne 200. Lines 1
0001B0: 37 30 20 61 6E 64 20 32 31 30 20 6D 75 6C 74 69 70 and 210 multi
0001C0: 70 6C 79 0D 0A 20 20 20 61 64 64 78 20 61 6E 64 ply.. addx and
0001D0: 20 61 64 64 79 20 62 79 20 33 20 74 6F 20 6D 61 addy by 3 to ma
0001E0: 6B 65 20 74 68 65 20 70 6F 69 6E 74 65 72 20 6D ke the pointer m
0001F0: 6F 76 65 20 61 74 20 61 20 72 65 61 73 6F 6E 61 ove at a reasona
Size : 512 (Real : 512)
000000: 20 77 6F 72 6B 73 20 6F 75 74 20 20 77 68 65 74 works out whet
000010: 68 65 72 20 20 61 20 20 6C 6F 67 69 63 61 6C 20 her a logical
000020: 20 65 78 70 72 65 73 73 69 6F 6E 20 20 69 73 20 expression is
000030: 74 72 75 65 20 6F 72 0D 0A 20 20 20 66 61 6C 73 true or.. fals
000040: 65 2E 20 20 49 66 20 69 74 20 69 73 20 74 72 75 e. If it is tru
000050: 65 2C 20 69 74 20 65 76 61 6C 75 61 74 65 73 20 e, it evaluates
000060: 74 6F 20 20 2D 31 2C 20 20 61 6E 64 20 69 66 20 to -1, and if
000070: 69 74 20 69 73 20 66 61 6C 73 65 2C 20 77 65 20 it is false, we
000080: 67 65 74 20 30 2E 0D 0A 20 20 20 54 68 65 20 65 get 0... The e
000090: 78 70 72 65 73 73 69 6F 6E 20 22 35 3E 32 22 20 xpression "5>2"
0000A0: 69 73 20 74 72 75 65 20 73 6F 20 22 2D 31 22 20 is true so "-1"
0000B0: 69 73 20 70 72 69 6E 74 65 64 20 62 75 74 20 74 is printed but t
0000C0: 68 65 20 65 78 70 72 65 73 73 69 6F 6E 20 22 31 he expression "1
0000D0: 32 3E 36 36 22 0D 0A 20 20 20 69 73 20 66 61 6C 2>66".. is fal
0000E0: 73 65 20 28 62 65 63 61 75 73 65 20 31 32 20 69 se (because 12 i
0000F0: 73 20 6E 6F 74 20 6C 61 72 67 65 72 20 74 68 61 s not larger tha
000100: 6E 20 36 36 29 20 61 6E 64 20 73 6F 20 22 30 22 n 66) and so "0"
000110: 20 69 73 20 70 72 69 6E 74 65 64 2E 0D 0A 20 20 is printed...
000120: 20 20 20 57 65 20 75 73 75 61 6C 6C 79 20 6D 65 We usually me
000130: 65 74 20 6C 6F 67 69 63 61 6C 20 65 78 70 72 65 et logical expre
000140: 73 73 69 6F 6E 73 20 61 73 20 70 61 72 74 20 6F ssions as part o
000150: 66 20 61 6E 20 49 46 20 73 74 61 74 65 6D 65 6E f an IF statemen
000160: 74 3A 0D 0A 0D 0A 20 20 20 20 20 49 46 20 3C 6C t:.... IF <l
000170: 6F 67 69 63 61 6C 20 65 78 70 72 2E 3E 20 54 48 ogical expr.> TH
000180: 45 4E 20 3C 63 6F 6D 6D 61 6E 64 3E 0D 0A 0D 0A EN <command>....
000190: 20 20 20 66 6F 72 20 65 78 61 6D 70 6C 65 3A 0D for example:.
0001A0: 0A 0D 0A 20 20 20 20 20 49 46 20 61 3E 62 20 54 ... IF a>b T
0001B0: 48 45 4E 20 50 52 49 4E 54 22 61 20 69 73 20 62 HEN PRINT"a is b
0001C0: 69 67 67 65 72 21 22 0D 0A 0D 0A 20 20 20 42 41 igger!".... BA
0001D0: 53 49 43 20 77 6F 72 6B 73 20 6F 75 74 20 74 68 SIC works out th
0001E0: 65 20 76 61 6C 75 65 20 20 6F 66 20 20 74 68 65 e value of the
0001F0: 20 20 6C 6F 67 69 63 61 6C 20 20 65 78 70 72 65 logical expre
Size : 512 (Real : 512)
000000: 62 6C 65 20 73 70 65 65 64 2E 20 20 57 65 20 75 ble speed. We u
000010: 73 65 0D 0A 20 20 20 49 4E 4B 45 59 28 32 31 29 se.. INKEY(21)
000020: 20 74 6F 20 74 65 73 74 20 74 68 65 20 53 48 49 to test the SHI
000030: 46 54 20 6B 65 79 2C 20 61 6E 64 20 69 66 20 20 FT key, and if
000040: 69 74 20 69 73 20 64 6F 77 6E 20 74 68 65 20 76 it is down the v
000050: 61 6C 75 65 73 20 6F 66 20 78 61 64 64 20 61 6E alues of xadd an
000060: 64 0D 0A 20 20 20 79 61 64 64 20 61 72 65 20 6D d.. yadd are m
000070: 75 6C 74 69 70 6C 69 65 64 20 74 6F 20 6D 61 6B ultiplied to mak
000080: 65 20 74 68 65 20 6D 6F 76 65 6D 65 6E 74 20 65 e the movement e
000090: 76 65 6E 20 66 61 73 74 65 72 2E 0D 0A 20 20 20 ven faster...
0000A0: 20 20 54 68 65 20 6F 74 68 65 72 20 69 6D 70 6F The other impo
0000B0: 72 74 61 6E 74 20 62 69 74 20 74 6F 20 6D 65 6E rtant bit to men
0000C0: 74 69 6F 6E 20 69 73 20 74 68 65 20 70 72 69 6E tion is the prin
0000D0: 74 69 6E 67 20 6F 66 20 74 68 65 20 70 6F 69 6E ting of the poin
0000E0: 74 65 72 20 6F 6E 20 74 68 65 0D 0A 20 20 20 73 ter on the.. s
0000F0: 63 72 65 65 6E 2E 20 20 57 65 20 61 72 65 20 75 creen. We are u
000100: 73 69 6E 67 20 63 68 61 72 61 63 74 65 72 20 32 sing character 2
000110: 31 35 2C 20 77 68 69 63 68 20 69 73 20 61 20 73 15, which is a s
000120: 75 69 74 61 62 6C 79 20 70 6F 69 6E 74 79 20 73 uitably pointy s
000130: 68 61 70 65 2E 20 20 54 6F 0D 0A 20 20 20 61 6C hape. To.. al
000140: 6C 6F 77 20 74 68 65 20 70 6F 69 6E 74 65 72 20 low the pointer
000150: 74 6F 20 6D 6F 76 65 20 73 6D 6F 6F 74 68 6C 79 to move smoothly
000160: 20 20 61 63 72 6F 73 73 20 20 74 68 65 20 73 63 across the sc
000170: 72 65 65 6E 2C 20 77 65 20 61 72 65 20 70 72 69 reen, we are pri
000180: 6E 74 69 6E 67 20 69 74 0D 0A 20 20 20 61 74 20 nting it.. at
000190: 74 68 65 20 67 72 61 70 68 69 63 73 20 63 75 72 the graphics cur
0001A0: 73 6F 72 20 70 6F 73 69 74 69 6F 6E 2E 20 20 54 sor position. T
0001B0: 68 69 73 20 66 65 61 74 75 72 65 20 20 69 73 20 his feature is
0001C0: 74 75 72 6E 65 64 20 6F 6E 20 77 69 74 68 20 22 turned on with "
0001D0: 54 41 47 22 20 69 6E 0D 0A 20 20 20 6C 69 6E 65 TAG" in.. line
0001E0: 20 33 30 2E 20 20 57 65 20 61 72 65 20 61 6C 73 30. We are als
0001F0: 6F 20 75 73 69 6E 67 20 74 68 65 20 20 58 4F 52 o using the XOR
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 20 2D 20 57 41 43 43 49 20 31 31 tch 2 - WACCI 11
000020: 30 2C 20 4D 61 72 20 31 39 39 37 2C 20 70 2E 20 0, Mar 1997, p.
000030: 31 34 2D 31 35 0D 0A 20 20 20 50 52 4F 47 52 41 14-15.. PROGRA
000040: 4D 4D 45 52 53 27 20 50 41 54 43 48 20 32 0D 0A MMERS' PATCH 2..
000050: 20 20 20 42 79 20 53 74 65 70 68 65 6E 20 61 6E By Stephen an
000060: 64 20 4D 61 74 74 68 65 77 20 50 68 69 6C 6C 69 d Matthew Philli
000070: 70 73 0D 0A 0D 0A 20 20 20 57 65 6C 6C 2C 20 74 ps.... Well, t
000080: 68 69 73 20 6D 6F 6E 74 68 20 20 77 65 20 20 6D his month we m
000090: 6F 76 65 20 20 66 72 6F 6D 20 20 74 68 65 20 20 ove from the
0000A0: 73 74 61 72 74 65 72 20 20 74 6F 20 20 61 20 20 starter to a
0000B0: 6C 69 67 68 74 6C 79 20 67 72 69 6C 6C 65 64 20 lightly grilled
0000C0: 61 6E 64 0D 0A 20 20 20 63 61 72 65 66 75 6C 6C and.. carefull
0000D0: 79 20 73 74 75 66 66 65 64 20 70 6F 72 74 69 6F y stuffed portio
0000E0: 6E 20 6F 66 20 20 70 72 6F 67 72 61 6D 2C 20 20 n of program,
0000F0: 64 65 6C 69 63 61 74 65 6C 79 20 20 73 65 61 73 delicately seas
000100: 6F 6E 65 64 20 77 69 74 68 20 74 61 72 72 61 67 oned with tarrag
000110: 6F 6E 0D 0A 20 20 20 61 6E 64 20 63 68 69 76 65 on.. and chive
000120: 73 2C 20 61 6E 64 20 73 65 72 76 65 64 20 77 69 s, and served wi
000130: 74 68 20 61 20 67 65 6E 65 72 6F 75 73 20 68 65 th a generous he
000140: 6C 70 69 6E 67 20 6F 66 20 76 65 72 62 69 61 67 lping of verbiag
000150: 65 2E 0D 0A 0D 0A 20 20 20 34 30 20 57 48 49 4C e..... 40 WHIL
000160: 45 20 49 4E 4B 45 59 28 34 37 29 2B 49 4E 4B 45 E INKEY(47)+INKE
000170: 59 28 31 38 29 2B 49 4E 4B 45 59 28 39 29 3D 2D Y(18)+INKEY(9)=-
000180: 33 3A 62 3D 78 3A 63 3D 79 3A 0D 0A 20 20 20 20 3:b=x:c=y:..
000190: 20 20 78 3D 4D 41 58 28 30 2C 4D 49 4E 28 36 33 x=MAX(0,MIN(63
0001A0: 32 2C 78 2B 33 2A 28 28 49 4E 4B 45 59 28 38 29 2,x+3*((INKEY(8)
0001B0: 3E 2D 31 29 2D 28 49 4E 4B 45 59 28 31 29 3E 2D >-1)-(INKEY(1)>-
0001C0: 31 29 29 2A 28 34 2B 33 2A 28 49 4E 4B 45 59 28 1))*(4+3*(INKEY(
0001D0: 32 31 29 3D 2D 31 29 29 29 29 3A 0D 0A 20 20 20 21)=-1)))):..
0001E0: 20 20 20 79 3D 4D 41 58 28 31 35 2C 4D 49 4E 28 y=MAX(15,MIN(
0001F0: 33 39 39 2C 79 2B 33 2A 28 28 49 4E 4B 45 59 28 399,y+3*((INKEY(
Size : 512 (Real : 512)
000000: 20 32 30 30 20 69 73 20 66 6F 72 6D 65 64 20 69 200 is formed i
000010: 6E 20 61 20 73 69 6D 69 6C 61 72 20 77 61 79 2E n a similar way.
000020: 0D 0A 0D 0A 20 20 20 4D 41 58 20 50 41 43 4B 53 .... MAX PACKS
000030: 0D 0A 20 20 20 4C 69 6E 65 73 20 32 33 30 2D 32 .. Lines 230-2
000040: 36 30 20 61 72 65 20 74 72 61 6E 73 66 6F 72 6D 60 are transform
000050: 65 64 20 69 6E 74 6F 20 20 34 33 30 2D 34 36 30 ed into 430-460
000060: 20 20 75 73 69 6E 67 20 74 68 65 20 4D 41 58 69 using the MAXi
000070: 6D 75 6D 20 61 6E 64 20 4D 49 4E 69 6D 75 6D 0D mum and MINimum.
000080: 0A 20 20 20 66 75 6E 63 74 69 6F 6E 73 2E 20 20 . functions.
000090: 4D 41 58 20 69 73 20 70 61 73 73 65 64 20 20 73 MAX is passed s
0000A0: 65 76 65 72 61 6C 20 20 6E 75 6D 62 65 72 73 20 everal numbers
0000B0: 20 61 6E 64 20 20 72 65 74 75 72 6E 73 20 74 68 and returns th
0000C0: 65 20 6C 61 72 67 65 73 74 2C 20 4D 49 4E 0D 0A e largest, MIN..
0000D0: 20 20 20 72 65 74 75 72 6E 73 20 74 68 65 20 73 returns the s
0000E0: 6D 61 6C 6C 65 73 74 2E 0D 0A 20 20 20 20 20 4C mallest... L
0000F0: 6F 6F 6B 20 61 74 20 6C 69 6E 65 20 34 34 30 3A ook at line 440:
000100: 0D 0A 0D 0A 20 20 20 20 20 34 34 30 20 78 3D 4D .... 440 x=M
000110: 41 58 28 30 2C 78 29 0D 0A 0D 0A 20 20 20 49 66 AX(0,x).... If
000120: 20 78 3E 30 20 74 68 65 6E 20 4D 41 58 28 30 2C x>0 then MAX(0,
000130: 78 29 20 77 69 6C 6C 20 20 72 65 74 75 72 6E 20 x) will return
000140: 20 78 20 20 73 6F 20 20 77 65 20 61 72 65 20 65 x so we are e
000150: 66 66 65 63 74 69 76 65 6C 79 20 73 61 79 69 6E ffectively sayin
000160: 67 20 22 78 3D 78 22 2E 0D 0A 20 20 20 48 6F 77 g "x=x"... How
000170: 65 76 65 72 2C 20 69 66 20 78 3C 30 2C 20 4D 41 ever, if x<0, MA
000180: 58 28 30 2C 78 29 20 77 69 6C 6C 20 72 65 74 75 X(0,x) will retu
000190: 72 6E 20 20 30 20 20 61 6E 64 20 20 77 65 20 61 rn 0 and we a
0001A0: 72 65 20 73 61 79 69 6E 67 20 22 78 3D 30 22 2C re saying "x=0",
0001B0: 20 73 6F 20 74 68 65 0D 0A 20 20 20 65 66 66 65 so the.. effe
0001C0: 63 74 20 69 73 20 65 78 61 63 74 6C 79 20 74 68 ct is exactly th
0001D0: 65 20 73 61 6D 65 20 61 73 20 74 68 65 20 49 46 e same as the IF
0001E0: 20 73 74 61 74 65 6D 65 6E 74 20 69 6E 20 6C 69 statement in li
0001F0: 6E 65 20 32 34 30 2E 0D 0A 0D 0A 20 20 20 4F 52 ne 240..... OR
Size : 512 (Real : 512)
000000: 73 73 69 6F 6E 2C 20 20 61 6E 64 20 75 6E 6C 65 ssion, and unle
000010: 73 73 20 69 74 20 69 73 0D 0A 20 20 20 66 61 6C ss it is.. fal
000020: 73 65 20 28 7A 65 72 6F 29 2C 20 74 68 65 20 63 se (zero), the c
000030: 6F 6D 6D 61 6E 64 20 66 6F 6C 6C 6F 77 69 6E 67 ommand following
000040: 20 54 48 45 4E 20 69 73 20 65 78 65 63 75 74 65 THEN is execute
000050: 64 2E 20 20 54 72 79 20 74 68 69 73 3A 0D 0A 0D d. Try this:...
000060: 0A 20 20 20 20 20 49 46 20 2D 31 20 54 48 45 4E . IF -1 THEN
000070: 20 50 52 49 4E 54 22 4D 69 6E 75 73 20 6F 6E 65 PRINT"Minus one
000080: 20 69 73 20 74 72 75 65 22 0D 0A 0D 0A 20 20 20 is true"....
000090: 54 68 65 20 75 73 65 66 75 6C 6E 65 73 73 20 6F The usefulness o
0000A0: 66 20 54 72 75 65 20 61 6E 64 20 46 61 6C 73 65 f True and False
0000B0: 20 20 68 61 76 69 6E 67 20 20 6E 75 6D 65 72 69 having numeri
0000C0: 63 61 6C 20 20 76 61 6C 75 65 73 20 69 73 20 74 cal values is t
0000D0: 68 61 74 20 77 65 20 63 61 6E 0D 0A 20 20 20 75 hat we can.. u
0000E0: 73 65 20 74 68 65 20 2D 31 20 61 6E 64 20 30 20 se the -1 and 0
0000F0: 69 6E 20 61 72 69 74 68 6D 65 74 69 63 20 65 78 in arithmetic ex
000100: 70 72 65 73 73 69 6F 6E 73 2C 20 66 6F 72 20 69 pressions, for i
000110: 6E 73 74 61 6E 63 65 3A 0D 0A 0D 0A 20 20 20 20 nstance:....
000120: 20 61 3D 28 35 3E 32 29 0D 0A 20 20 20 20 20 50 a=(5>2).. P
000130: 52 49 4E 54 20 61 2A 33 0D 0A 0D 0A 20 20 20 59 RINT a*3.... Y
000140: 6F 75 20 73 68 6F 75 6C 64 20 67 65 74 20 2D 33 ou should get -3
000150: 20 61 70 70 65 61 72 69 6E 67 2E 20 20 46 69 76 appearing. Fiv
000160: 65 20 69 73 20 20 62 69 67 67 65 72 20 20 74 68 e is bigger th
000170: 61 6E 20 74 77 6F 2C 20 73 6F 20 22 35 3E 32 22 an two, so "5>2"
000180: 20 69 73 20 74 72 75 65 2C 0D 0A 20 20 20 73 6F is true,.. so
000190: 20 61 20 69 73 20 73 65 74 20 74 6F 20 2D 31 2E a is set to -1.
0001A0: 20 20 50 72 69 6E 74 69 6E 67 20 74 68 72 65 65 Printing three
0001B0: 20 74 69 6D 65 73 20 61 20 67 69 76 65 73 20 2D times a gives -
0001C0: 33 2E 0D 0A 20 20 20 20 20 48 6F 77 20 64 6F 65 3... How doe
0001D0: 73 20 74 68 69 73 20 68 65 6C 70 20 75 73 20 77 s this help us w
0001E0: 69 74 68 20 6C 69 6E 65 20 34 30 2C 20 74 68 65 ith line 40, the
0001F0: 6E 3F 20 20 57 65 6C 6C 2C 20 6C 69 6E 65 20 33 n? Well, line 3
Size : 512 (Real : 512)
000000: 41 4E 47 45 20 53 51 55 41 53 48 0D 0A 20 20 20 ANGE SQUASH..
000010: 4C 6F 6F 6B 20 61 74 20 6C 69 6E 65 20 33 37 30 Look at line 370
000020: 2E 20 20 57 68 61 74 20 69 73 20 74 68 65 20 76 . What is the v
000030: 61 6C 75 65 20 20 6F 66 20 20 61 64 64 78 20 6F alue of addx o
000040: 6E 20 74 68 65 20 72 69 67 68 74 20 68 61 6E 64 n the right hand
000050: 20 73 69 64 65 3F 20 20 57 65 0D 0A 20 20 20 68 side? We.. h
000060: 61 76 65 20 6A 75 73 74 20 64 65 66 69 6E 65 64 ave just defined
000070: 20 69 74 20 69 6E 20 6C 69 6E 65 20 33 36 30 2E it in line 360.
000080: 20 20 54 68 65 20 20 72 69 67 68 74 20 68 61 6E The right han
000090: 64 20 73 69 64 65 20 6F 66 20 6C 69 6E 65 20 33 d side of line 3
0000A0: 36 30 20 63 61 6E 20 62 65 0D 0A 20 20 20 69 6E 60 can be.. in
0000B0: 73 65 72 74 65 64 20 69 6E 74 6F 20 6C 69 6E 65 serted into line
0000C0: 20 33 37 30 20 61 6E 64 20 6C 69 6E 65 20 33 36 370 and line 36
0000D0: 30 20 72 65 6D 6F 76 65 64 3A 0D 0A 0D 0A 20 20 0 removed:....
0000E0: 20 20 20 33 37 30 20 61 64 64 78 3D 33 2A 61 64 370 addx=3*ad
0000F0: 64 78 2A 28 34 2B 33 2A 28 49 4E 4B 45 59 28 32 dx*(4+3*(INKEY(2
000100: 31 29 3D 2D 31 29 29 0D 0A 0D 0A 20 20 20 57 65 1)=-1)).... We
000110: 20 63 61 6E 20 74 68 65 6E 20 72 65 6D 6F 76 65 can then remove
000120: 20 6C 69 6E 65 20 33 35 30 20 61 6E 64 20 69 6E line 350 and in
000130: 73 65 72 74 20 69 74 20 69 6E 74 6F 20 6C 69 6E sert it into lin
000140: 65 20 33 37 30 3A 0D 0A 0D 0A 20 20 20 20 20 33 e 370:.... 3
000150: 37 30 20 61 64 64 78 3D 33 2A 28 61 64 64 78 2D 70 addx=3*(addx-
000160: 28 49 4E 4B 45 59 28 31 29 3E 2D 31 29 29 2A 28 (INKEY(1)>-1))*(
000170: 34 2B 33 2A 28 49 4E 4B 45 59 28 32 31 29 3D 2D 4+3*(INKEY(21)=-
000180: 31 29 29 0D 0A 0D 0A 20 20 20 53 69 6D 69 6C 61 1)).... Simila
000190: 72 6C 79 2C 20 6C 69 6E 65 20 33 34 30 20 63 61 rly, line 340 ca
0001A0: 6E 20 62 65 20 72 65 6D 6F 76 65 64 3A 0D 0A 0D n be removed:...
0001B0: 0A 20 20 20 20 20 33 37 30 20 61 64 64 78 3D 33 . 370 addx=3
0001C0: 2A 28 28 49 4E 4B 45 59 28 38 29 3E 2D 31 29 2D *((INKEY(8)>-1)-
0001D0: 28 49 4E 4B 45 59 28 31 29 3E 2D 31 29 29 2A 28 (INKEY(1)>-1))*(
0001E0: 34 2B 33 2A 28 49 4E 4B 45 59 28 32 31 29 3D 2D 4+3*(INKEY(21)=-
0001F0: 31 29 29 0D 0A 0D 0A 20 20 20 20 20 45 78 61 63 1)).... Exac
Size : 512 (Real : 512)
000000: 34 30 20 69 73 3A 0D 0A 0D 0A 20 20 20 20 20 33 40 is:.... 3
000010: 34 30 20 61 64 64 78 3D 28 49 4E 4B 45 59 28 38 40 addx=(INKEY(8
000020: 29 3E 2D 31 29 0D 0A 0D 0A 20 20 20 49 74 20 68 )>-1).... It h
000030: 61 73 20 65 78 61 63 74 6C 79 20 74 68 65 20 73 as exactly the s
000040: 61 6D 65 20 65 66 66 65 63 74 20 61 73 20 6C 69 ame effect as li
000050: 6E 65 20 20 31 34 30 2C 20 62 75 74 20 67 65 74 ne 140, but get
000060: 73 20 72 69 64 20 6F 66 20 74 68 65 20 22 49 46 s rid of the "IF
000070: 22 2E 20 20 49 66 0D 0A 20 20 20 74 68 65 20 6C ". If.. the l
000080: 65 66 74 20 63 75 72 73 6F 72 20 6B 65 79 20 69 eft cursor key i
000090: 73 20 70 72 65 73 73 65 64 2C 20 74 68 65 6E 20 s pressed, then
0000A0: 20 49 4E 4B 45 59 28 38 29 20 77 69 6C 6C 20 62 INKEY(8) will b
0000B0: 65 20 67 72 65 61 74 65 72 20 74 68 61 6E 20 2D e greater than -
0000C0: 31 2C 20 73 6F 0D 0A 20 20 20 22 28 49 4E 4B 45 1, so.. "(INKE
0000D0: 59 28 38 29 3E 2D 31 29 22 20 69 73 20 74 72 75 Y(8)>-1)" is tru
0000E0: 65 20 61 6E 64 20 61 64 64 78 20 69 73 20 73 65 e and addx is se
0000F0: 74 20 74 6F 20 2D 31 2E 20 20 49 66 20 69 74 20 t to -1. If it
000100: 69 73 20 6E 6F 74 20 70 72 65 73 73 65 64 2C 20 is not pressed,
000110: 61 64 64 78 0D 0A 20 20 20 77 69 6C 6C 20 62 65 addx.. will be
000120: 20 73 65 74 20 74 6F 20 7A 65 72 6F 2C 20 61 73 set to zero, as
000130: 20 74 68 65 20 6C 6F 67 69 63 61 6C 20 65 78 70 the logical exp
000140: 72 65 73 73 69 6F 6E 20 22 28 49 4E 4B 45 59 28 ression "(INKEY(
000150: 38 29 3E 2D 31 29 22 20 69 73 20 66 61 6C 73 65 8)>-1)" is false
000160: 2E 0D 0A 20 20 20 20 20 49 6E 20 6C 69 6E 65 73 ... In lines
000170: 20 33 35 30 20 61 6E 64 20 33 39 30 20 77 65 20 350 and 390 we
000180: 20 73 75 62 74 72 61 63 74 20 20 74 68 65 20 20 subtract the
000190: 49 4E 4B 45 59 20 72 65 74 75 72 6E 20 76 61 6C INKEY return val
0001A0: 75 65 20 66 72 6F 6D 20 61 64 64 78 20 61 6E 64 ue from addx and
0001B0: 0D 0A 20 20 20 61 64 64 79 2E 20 20 49 66 20 74 .. addy. If t
0001C0: 68 65 20 6B 65 79 20 69 73 20 20 62 65 69 6E 67 he key is being
0001D0: 20 20 70 72 65 73 73 65 64 20 20 49 4E 4B 45 59 pressed INKEY
0001E0: 20 20 72 65 74 75 72 6E 73 20 20 2D 31 20 73 6F returns -1 so
0001F0: 20 73 75 62 74 72 61 63 74 69 6E 67 20 69 74 0D subtracting it.
Size : 512 (Real : 512)
000000: 74 6C 79 20 74 68 65 20 73 61 6D 65 20 70 72 6F tly the same pro
000010: 63 65 64 75 72 65 20 63 61 6E 20 62 65 20 20 66 cedure can be f
000020: 6F 6C 6C 6F 77 65 64 20 74 6F 20 73 71 75 61 73 ollowed to squas
000030: 68 20 6C 69 6E 65 73 20 33 37 30 2D 34 30 30 20 h lines 370-400
000040: 69 6E 74 6F 0D 0A 20 20 20 6C 69 6E 65 20 34 31 into.. line 41
000050: 30 2E 0D 0A 20 20 20 20 20 4E 6F 77 20 74 68 61 0... Now tha
000060: 74 20 61 6C 6C 20 74 68 6F 73 65 20 6C 69 6E 65 t all those line
000070: 73 20 68 61 76 65 20 62 65 65 6E 20 20 73 71 75 s have been squ
000080: 61 73 68 65 64 20 69 6E 74 6F 20 6A 75 73 74 20 ashed into just
000090: 74 77 6F 20 77 65 20 64 6F 6E 27 74 20 6E 65 65 two we don't nee
0000A0: 64 0D 0A 20 20 20 61 64 64 78 20 61 6E 64 20 61 d.. addx and a
0000B0: 64 64 79 20 61 6E 79 6D 6F 72 65 2E 20 20 4C 69 ddy anymore. Li
0000C0: 6E 65 73 20 33 37 30 2C 20 20 34 31 30 20 20 61 nes 370, 410 a
0000D0: 6E 64 20 20 34 32 30 20 63 61 6E 20 62 65 20 63 nd 420 can be c
0000E0: 6F 6D 62 69 6E 65 64 20 69 6E 74 6F 20 6F 6E 65 ombined into one
0000F0: 0D 0A 20 20 20 61 6E 64 20 6C 69 6E 65 20 33 33 .. and line 33
000100: 30 20 64 65 6C 65 74 65 64 2E 0D 0A 20 20 20 20 0 deleted...
000110: 20 4F 6E 63 65 20 6C 69 6E 65 73 20 34 33 30 20 Once lines 430
000120: 61 6E 64 20 34 34 30 20 61 72 65 20 63 6F 6D 62 and 440 are comb
000130: 69 6E 65 64 20 69 6E 74 6F 0D 0A 0D 0A 20 20 20 ined into....
000140: 20 20 34 34 30 20 78 3D 4D 41 58 28 30 2C 4D 49 440 x=MAX(0,MI
000150: 4E 28 36 33 32 2C 78 29 29 0D 0A 0D 0A 20 20 20 N(632,x))....
000160: 61 6E 64 20 6C 69 6E 65 73 20 34 35 30 20 61 6E and lines 450 an
000170: 64 20 34 36 30 20 69 6E 74 6F 0D 0A 0D 0A 20 20 d 460 into....
000180: 20 20 20 34 36 30 20 79 3D 4D 41 58 28 31 35 2C 460 y=MAX(15,
000190: 4D 49 4E 28 33 39 39 2C 79 29 29 0D 0A 0D 0A 20 MIN(399,y))....
0001A0: 20 20 77 65 20 6A 75 73 74 20 68 61 76 65 20 74 we just have t
0001B0: 6F 20 63 6F 6D 62 69 6E 65 20 74 68 65 20 20 6B o combine the k
0001C0: 65 79 2D 63 68 65 63 6B 69 6E 67 20 20 61 6E 64 ey-checking and
0001D0: 20 72 61 6E 67 65 2D 63 68 65 63 6B 69 6E 67 20 range-checking
0001E0: 70 61 72 74 73 20 74 6F 20 67 65 74 0D 0A 20 20 parts to get..
0001F0: 20 74 68 65 20 65 78 70 72 65 73 73 69 6F 6E 73 the expressions
Size : 512 (Real : 512)
000000: 0A 20 20 20 6D 65 61 6E 73 20 77 65 20 73 75 62 . means we sub
000010: 74 72 61 63 74 20 2D 31 20 6F 72 2C 20 69 6E 20 tract -1 or, in
000020: 6F 74 68 65 72 20 77 6F 72 64 73 2C 20 61 64 64 other words, add
000030: 20 31 2E 0D 0A 20 20 20 20 20 4C 69 6E 65 73 20 1... Lines
000040: 31 36 30 20 61 6E 64 20 32 30 30 20 61 72 65 20 160 and 200 are
000050: 61 20 62 69 74 20 6D 6F 72 65 20 74 72 69 63 6B a bit more trick
000060: 79 20 74 6F 20 61 6C 74 65 72 2E 20 20 54 61 6B y to alter. Tak
000070: 69 6E 67 20 6C 69 6E 65 20 31 36 30 20 61 73 20 ing line 160 as
000080: 61 6E 0D 0A 20 20 20 65 78 61 6D 70 6C 65 2C 20 an.. example,
000090: 69 66 20 53 48 49 46 54 20 69 73 20 62 65 69 6E if SHIFT is bein
0000A0: 67 20 70 72 65 73 73 65 64 20 77 65 20 20 77 61 g pressed we wa
0000B0: 6E 74 20 74 6F 20 6D 75 6C 74 69 70 6C 79 20 62 nt to multiply b
0000C0: 79 20 34 2C 20 6F 74 68 65 72 77 69 73 65 20 77 y 4, otherwise w
0000D0: 65 0D 0A 20 20 20 77 61 6E 74 20 74 6F 20 64 6F e.. want to do
0000E0: 20 6E 6F 74 68 69 6E 67 2E 20 20 41 6E 20 65 71 nothing. An eq
0000F0: 75 69 76 61 6C 65 6E 74 20 20 74 6F 20 20 64 6F uivalent to do
000100: 69 6E 67 20 6E 6F 74 68 69 6E 67 20 69 73 20 6D ing nothing is m
000110: 75 6C 74 69 70 6C 79 69 6E 67 20 62 79 20 31 2E ultiplying by 1.
000120: 0D 0A 20 20 20 49 66 20 77 65 20 63 68 6F 6F 73 .. If we choos
000130: 65 20 74 68 65 20 6C 6F 67 69 63 61 6C 20 65 78 e the logical ex
000140: 70 72 65 73 73 69 6F 6E 20 22 49 4E 4B 45 59 28 pression "INKEY(
000150: 32 31 29 3D 2D 31 22 20 20 74 68 65 6E 20 77 65 21)=-1" then we
000160: 20 67 65 74 20 30 20 77 68 65 6E 20 74 68 65 0D get 0 when the.
000170: 0A 20 20 20 6B 65 79 20 69 73 20 64 6F 77 6E 20 . key is down
000180: 61 6E 64 20 2D 31 20 77 68 65 6E 20 20 69 74 20 and -1 when it
000190: 20 69 73 20 20 75 70 2E 20 20 20 4F 75 72 20 20 is up. Our
0001A0: 74 61 72 67 65 74 20 6D 75 6C 74 69 70 6C 69 65 target multiplie
0001B0: 72 73 20 61 72 65 20 34 20 61 6E 64 20 31 0D 0A rs are 4 and 1..
0001C0: 20 20 20 74 68 6F 75 67 68 20 73 6F 20 73 6F 6D though so som
0001D0: 65 20 6D 61 6E 69 70 75 6C 61 74 69 6F 6E 20 69 e manipulation i
0001E0: 73 20 6E 65 65 64 65 64 20 74 6F 20 6D 61 70 20 s needed to map
0001F0: 74 68 65 20 70 61 69 72 20 30 2C 2D 31 20 74 6F the pair 0,-1 to
Size : 512 (Real : 512)
000000: 20 69 6E 20 6C 69 6E 65 20 34 30 2E 0D 0A 0D 0A in line 40.....
000010: 20 20 20 50 48 45 57 57 21 21 0D 0A 20 20 20 57 PHEWW!!.. W
000020: 65 20 68 6F 70 65 20 79 6F 75 20 63 61 6E 20 75 e hope you can u
000030: 6E 64 65 72 73 74 61 6E 64 20 20 74 68 65 20 20 nderstand the
000040: 63 6F 6D 70 6C 69 63 61 74 65 64 20 20 65 78 70 complicated exp
000050: 72 65 73 73 69 6F 6E 73 20 20 69 6E 20 6C 69 6E ressions in lin
000060: 65 20 34 30 20 6E 6F 77 2E 0D 0A 20 20 20 54 68 e 40 now... Th
000070: 65 79 20 72 65 61 6C 6C 79 20 61 72 65 20 61 62 ey really are ab
000080: 6F 75 74 20 61 73 20 62 61 64 20 61 73 20 74 68 out as bad as th
000090: 69 6E 67 73 20 67 65 74 21 0D 0A 20 20 20 20 20 ings get!..
0000A0: 49 6E 20 74 68 65 20 6E 65 78 74 20 61 72 74 69 In the next arti
0000B0: 63 6C 65 20 77 65 20 77 69 6C 6C 20 20 70 72 6F cle we will pro
0000C0: 62 61 62 6C 79 20 20 74 61 6B 65 20 20 61 20 20 bably take a
0000D0: 67 6F 6F 64 20 6C 6F 6F 6B 20 61 74 20 74 68 65 good look at the
0000E0: 20 6D 61 63 68 69 6E 65 0D 0A 20 20 20 63 6F 64 machine.. cod
0000F0: 65 2C 20 61 6E 64 20 61 6C 73 6F 20 65 78 61 6D e, and also exam
000100: 69 6E 65 20 20 61 20 20 66 65 77 20 20 69 73 73 ine a few iss
000110: 75 65 73 20 20 6F 66 20 20 63 6F 6D 70 61 74 69 ues of compati
000120: 62 69 6C 69 74 79 2E 20 20 54 68 65 6E 20 61 67 bility. Then ag
000130: 61 69 6E 2C 20 77 65 0D 0A 20 20 20 6D 69 67 68 ain, we.. migh
000140: 74 20 6E 6F 74 2E 0D 0A 0D 0A 0D 0A 20 20 20 31 t not....... 1
000150: 30 30 20 52 45 4D 20 41 6E 20 69 6E 65 66 66 69 00 REM An ineffi
000160: 63 69 65 6E 74 20 73 75 62 72 6F 75 74 69 6E 65 cient subroutine
000170: 20 74 6F 20 72 65 70 6C 61 63 65 20 6C 69 6E 65 to replace line
000180: 20 34 30 2E 0D 0A 20 20 20 31 31 30 20 57 48 49 40... 110 WHI
000190: 4C 45 20 49 4E 4B 45 59 28 34 37 29 3D 2D 31 20 LE INKEY(47)=-1
0001A0: 41 4E 44 20 49 4E 4B 45 59 28 31 38 29 3D 2D 31 AND INKEY(18)=-1
0001B0: 20 41 4E 44 20 49 4E 4B 45 59 28 39 29 3D 2D 31 AND INKEY(9)=-1
0001C0: 0D 0A 20 20 20 31 32 30 20 6F 6C 64 78 3D 78 3A .. 120 oldx=x:
0001D0: 6F 6C 64 79 3D 79 0D 0A 20 20 20 31 33 30 20 61 oldy=y.. 130 a
0001E0: 64 64 78 3D 30 3A 61 64 64 79 3D 30 0D 0A 20 20 ddx=0:addy=0..
0001F0: 20 31 33 35 20 52 45 4D 20 43 68 65 63 6B 20 6B 135 REM Check k
Size : 512 (Real : 512)
000000: 20 34 2C 31 2E 0D 0A 20 20 20 20 20 49 66 20 77 4,1... If w
000010: 65 20 6D 75 6C 74 69 70 6C 79 20 62 79 20 33 20 e multiply by 3
000020: 74 68 65 6E 20 77 65 20 67 65 74 20 20 66 72 6F then we get fro
000030: 6D 20 30 2C 2D 31 20 74 6F 20 30 2C 2D 33 2E 20 m 0,-1 to 0,-3.
000040: 20 54 68 65 20 67 61 70 20 62 65 74 77 65 65 6E The gap between
000050: 20 74 68 65 0D 0A 20 20 20 70 61 69 72 20 69 73 the.. pair is
000060: 20 6E 6F 77 20 74 68 65 20 73 61 6D 65 20 61 73 now the same as
000070: 20 62 65 74 77 65 65 6E 20 34 20 61 6E 64 20 31 between 4 and 1
000080: 20 20 73 6F 20 61 6C 6C 20 77 65 20 68 61 76 65 so all we have
000090: 20 74 6F 20 64 6F 20 69 73 20 61 64 64 20 34 20 to do is add 4
0000A0: 61 6E 64 0D 0A 20 20 20 77 65 20 61 72 65 20 74 and.. we are t
0000B0: 68 65 72 65 2E 0D 0A 0D 0A 20 20 20 20 20 53 48 here..... SH
0000C0: 49 46 54 20 6B 65 79 20 70 6F 73 69 74 69 6F 6E IFT key position
0000D0: 20 20 20 20 75 70 20 20 20 20 20 20 64 6F 77 6E up down
0000E0: 0D 0A 20 20 20 20 20 49 4E 4B 45 59 28 32 32 29 .. INKEY(22)
0000F0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2D 31 20 -1
000100: 20 20 20 20 20 3E 20 2D 31 0D 0A 20 20 20 20 20 > -1..
000110: 28 49 4E 4B 45 59 28 32 32 29 3D 2D 31 29 20 20 (INKEY(22)=-1)
000120: 20 20 20 20 20 20 2D 31 20 20 20 20 20 20 30 0D -1 0.
000130: 0A 20 20 20 20 20 33 2A 28 49 4E 4B 45 59 28 32 . 3*(INKEY(2
000140: 32 29 3D 2D 31 29 20 20 20 20 20 20 2D 33 20 20 2)=-1) -3
000150: 20 20 20 20 30 0D 0A 20 20 20 20 20 34 2B 33 2A 0.. 4+3*
000160: 28 49 4E 4B 45 59 28 32 32 29 3D 2D 31 29 20 20 (INKEY(22)=-1)
000170: 20 20 31 20 20 20 20 20 20 20 34 0D 0A 0D 0A 20 1 4....
000180: 20 20 20 20 4C 69 6E 65 20 31 36 30 20 63 61 6E Line 160 can
000190: 20 74 68 65 72 65 66 6F 72 65 20 62 65 20 63 68 therefore be ch
0001A0: 61 6E 67 65 64 20 74 6F 3A 0D 0A 0D 0A 20 20 20 anged to:....
0001B0: 20 20 33 36 30 20 61 64 64 78 3D 61 64 64 78 2A 360 addx=addx*
0001C0: 28 34 2B 33 2A 28 49 4E 4B 45 59 28 32 31 29 3D (4+3*(INKEY(21)=
0001D0: 2D 31 29 29 0D 0A 0D 0A 20 20 20 4C 69 6E 65 20 -1)).... Line
0001E0: 34 30 30 2C 20 77 68 69 63 68 20 69 73 20 65 71 400, which is eq
0001F0: 75 69 76 61 6C 65 6E 74 20 74 6F 20 6C 69 6E 65 uivalent to line
Size : 512 (Real : 512)
000000: 65 79 73 0D 0A 20 20 20 31 34 30 20 49 46 20 49 eys.. 140 IF I
000010: 4E 4B 45 59 28 38 29 3E 2D 31 20 54 48 45 4E 20 NKEY(8)>-1 THEN
000020: 61 64 64 78 3D 2D 31 0D 0A 20 20 20 31 35 30 20 addx=-1.. 150
000030: 49 46 20 49 4E 4B 45 59 28 31 29 3E 2D 31 20 54 IF INKEY(1)>-1 T
000040: 48 45 4E 20 61 64 64 78 3D 61 64 64 78 2B 31 0D HEN addx=addx+1.
000050: 0A 20 20 20 31 36 30 20 49 46 20 49 4E 4B 45 59 . 160 IF INKEY
000060: 28 32 31 29 3E 2D 31 20 54 48 45 4E 20 61 64 64 (21)>-1 THEN add
000070: 78 3D 61 64 64 78 2A 34 0D 0A 20 20 20 31 37 30 x=addx*4.. 170
000080: 20 61 64 64 78 3D 33 2A 61 64 64 78 0D 0A 20 20 addx=3*addx..
000090: 20 31 38 30 20 49 46 20 49 4E 4B 45 59 28 32 29 180 IF INKEY(2)
0000A0: 3E 2D 31 20 54 48 45 4E 20 61 64 64 79 3D 2D 31 >-1 THEN addy=-1
0000B0: 0D 0A 20 20 20 31 39 30 20 49 46 20 49 4E 4B 45 .. 190 IF INKE
0000C0: 59 28 30 29 3E 2D 31 20 54 48 45 4E 20 61 64 64 Y(0)>-1 THEN add
0000D0: 79 3D 61 64 64 79 2B 31 0D 0A 20 20 20 32 30 30 y=addy+1.. 200
0000E0: 20 49 46 20 49 4E 4B 45 59 28 32 31 29 3E 2D 31 IF INKEY(21)>-1
0000F0: 20 54 48 45 4E 20 61 64 64 79 3D 61 64 64 79 2A THEN addy=addy*
000100: 32 0D 0A 20 20 20 32 31 30 20 61 64 64 79 3D 33 2.. 210 addy=3
000110: 2A 61 64 64 79 0D 0A 20 20 20 32 32 30 20 78 3D *addy.. 220 x=
000120: 78 2B 61 64 64 78 3A 79 3D 79 2B 61 64 64 79 0D x+addx:y=y+addy.
000130: 0A 20 20 20 32 32 35 20 52 45 4D 20 43 68 65 63 . 225 REM Chec
000140: 6B 20 78 20 26 20 79 20 61 72 65 20 6F 6E 20 73 k x & y are on s
000150: 63 72 65 65 6E 0D 0A 20 20 20 32 33 30 20 49 46 creen.. 230 IF
000160: 20 78 3E 36 33 32 20 54 48 45 4E 20 78 3D 36 33 x>632 THEN x=63
000170: 32 0D 0A 20 20 20 32 34 30 20 49 46 20 78 3C 30 2.. 240 IF x<0
000180: 20 54 48 45 4E 20 78 3D 30 0D 0A 20 20 20 32 35 THEN x=0.. 25
000190: 30 20 49 46 20 79 3E 33 39 39 20 54 48 45 4E 20 0 IF y>399 THEN
0001A0: 79 3D 33 39 39 0D 0A 20 20 20 32 36 30 20 49 46 y=399.. 260 IF
0001B0: 20 79 3C 31 35 20 54 48 45 4E 20 79 3D 31 35 0D y<15 THEN y=15.
0001C0: 0A 20 20 20 32 36 35 20 52 45 4D 20 52 65 6D 6F . 265 REM Remo
0001D0: 76 65 20 70 6F 69 6E 74 65 72 20 61 6E 64 20 72 ve pointer and r
0001E0: 65 64 69 73 70 6C 61 79 0D 0A 20 20 20 32 37 30 edisplay.. 270
0001F0: 20 4D 4F 56 45 20 6F 6C 64 78 2C 6F 6C 64 79 3A MOVE oldx,oldy:
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 33 20 2D 20 57 41 43 43 49 20 31 31 tch 3 - WACCI 11
000020: 32 2C 20 4D 61 79 20 31 39 39 37 2C 20 70 2E 20 2, May 1997, p.
000030: 31 30 2D 31 32 0D 0A 20 20 20 50 52 4F 47 52 41 10-12.. PROGRA
000040: 4D 4D 45 52 53 27 20 50 41 54 43 48 20 33 0D 0A MMERS' PATCH 3..
000050: 20 20 20 42 79 20 4D 61 74 74 68 65 77 20 61 6E By Matthew an
000060: 64 20 53 74 65 70 68 65 6E 20 50 68 69 6C 6C 69 d Stephen Philli
000070: 70 73 0D 0A 0D 0A 20 20 20 53 69 6E 63 65 20 74 ps.... Since t
000080: 68 69 73 20 61 72 74 69 63 6C 65 20 77 61 73 20 his article was
000090: 77 72 69 74 74 65 6E 20 69 6E 20 20 4C 65 6E 74 written in Lent
0000A0: 2C 20 20 77 65 20 61 72 65 20 6F 66 66 65 72 69 , we are offeri
0000B0: 6E 67 20 6D 6F 72 65 20 66 72 75 67 61 6C 20 66 ng more frugal f
0000C0: 61 72 65 0D 0A 20 20 20 69 6E 20 74 68 65 20 66 are.. in the f
0000D0: 6F 72 6D 20 6F 66 20 61 20 20 6D 65 61 67 72 65 orm of a meagre
0000E0: 20 20 72 61 74 69 6F 6E 20 20 6F 66 20 20 6D 61 ration of ma
0000F0: 63 68 69 6E 65 20 20 63 6F 64 65 20 61 6E 64 20 chine code and
000100: 61 6E 20 75 6E 75 73 75 61 6C 6C 79 20 73 68 6F an unusually sho
000110: 72 74 0D 0A 20 20 20 69 6E 74 72 6F 64 75 63 74 rt.. introduct
000120: 69 6F 6E 2E 20 20 54 68 65 20 20 68 65 61 64 69 ion. The headi
000130: 6E 67 73 20 20 61 72 65 20 20 66 72 6F 6D 20 20 ngs are from
000140: 61 72 74 69 63 6C 65 73 20 20 69 6E 20 20 74 68 articles in th
000150: 69 73 20 20 6D 6F 6E 74 68 27 73 20 67 75 65 73 is month's gues
000160: 74 0D 0A 20 20 20 70 75 62 6C 69 63 61 74 69 6F t.. publicatio
000170: 6E 2C 20 52 49 53 43 20 55 73 65 72 20 6D 61 67 n, RISC User mag
000180: 61 7A 69 6E 65 2E 0D 0A 0D 0A 20 20 20 52 41 44 azine..... RAD
000190: 49 41 4C 20 50 41 4C 45 54 54 45 53 0D 0A 20 20 IAL PALETTES..
0001A0: 20 41 6C 74 68 6F 75 67 68 20 74 68 65 72 65 20 Although there
0001B0: 68 61 76 65 20 62 65 65 6E 20 6D 61 6E 79 20 61 have been many a
0001C0: 72 74 69 63 6C 65 73 20 20 61 62 6F 75 74 20 20 rticles about
0001D0: 42 41 53 49 43 20 6F 76 65 72 20 74 68 65 20 79 BASIC over the y
0001E0: 65 61 72 73 2C 20 61 6E 64 20 61 0D 0A 20 20 20 ears, and a..
0001F0: 66 65 77 20 61 62 6F 75 74 20 6D 61 63 68 69 6E few about machin
Size : 512 (Real : 512)
000000: 77 20 6D 61 6E 79 20 70 61 72 61 6D 65 74 65 72 w many parameter
000010: 73 20 74 68 65 72 65 20 61 72 65 2E 20 20 49 66 s there are. If
000020: 20 77 65 20 64 69 64 0D 0A 20 20 20 74 68 65 20 we did.. the
000030: 66 6F 6C 6C 6F 77 69 6E 67 3A 0D 0A 0D 0A 20 20 following:....
000040: 20 20 20 20 20 20 20 43 41 4C 4C 20 26 39 30 30 CALL &900
000050: 30 2C 36 2C 34 2C 26 43 44 45 46 0D 0A 0D 0A 20 0,6,4,&CDEF....
000060: 20 20 74 68 65 6E 20 77 68 65 6E 20 74 68 65 20 then when the
000070: 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 73 74 61 machine code sta
000080: 72 74 65 64 2C 20 74 68 65 20 41 20 72 65 67 69 rted, the A regi
000090: 73 74 65 72 20 77 6F 75 6C 64 20 62 65 20 65 71 ster would be eq
0000A0: 75 61 6C 20 74 6F 20 33 2C 20 74 6F 0D 0A 20 20 ual to 3, to..
0000B0: 20 74 65 6C 6C 20 75 73 20 74 68 65 20 6E 75 6D tell us the num
0000C0: 62 65 72 20 6F 66 20 70 61 72 61 6D 65 74 65 72 ber of parameter
0000D0: 73 20 70 61 73 73 65 64 2C 20 20 61 6E 64 20 20 s passed, and
0000E0: 49 58 20 77 6F 75 6C 64 20 70 6F 69 6E 74 20 74 IX would point t
0000F0: 6F 20 61 20 6C 69 73 74 20 6F 66 0D 0A 20 20 20 o a list of..
000100: 74 68 65 20 70 61 72 61 6D 65 74 65 72 73 2E 20 the parameters.
000110: 20 54 68 65 72 65 20 61 72 65 20 74 77 6F 20 62 There are two b
000120: 79 74 65 73 20 66 6F 72 20 20 65 61 63 68 20 70 ytes for each p
000130: 61 72 61 6D 65 74 65 72 2C 20 61 6E 64 20 74 68 arameter, and th
000140: 65 20 6C 61 73 74 20 6F 6E 65 0D 0A 20 20 20 69 e last one.. i
000150: 6E 20 74 68 65 20 43 41 4C 4C 20 63 6F 6D 6D 61 n the CALL comma
000160: 6E 64 20 63 6F 6D 65 73 20 66 69 72 73 74 20 20 nd comes first
000170: 69 6E 20 20 74 68 65 20 20 6C 69 73 74 21 20 20 in the list!
000180: 20 49 6E 20 74 68 69 73 20 65 78 61 6D 70 6C 65 In this example
000190: 20 69 74 20 77 6F 75 6C 64 0D 0A 20 20 20 6C 6F it would.. lo
0001A0: 6F 6B 20 6C 69 6B 65 20 74 68 69 73 3A 0D 0A 0D ok like this:...
0001B0: 0A 20 20 20 20 20 20 20 20 20 28 49 58 2B 30 29 . (IX+0)
0001C0: 20 20 45 46 20 20 20 20 20 20 28 49 58 2B 31 29 EF (IX+1)
0001D0: 20 20 43 44 0D 0A 20 20 20 20 20 20 20 20 20 28 CD.. (
0001E0: 49 58 2B 32 29 20 20 30 34 20 20 20 20 20 20 28 IX+2) 04 (
0001F0: 49 58 2B 33 29 20 20 30 30 0D 0A 20 20 20 20 20 IX+3) 00..
Size : 512 (Real : 512)
000000: 65 20 63 6F 64 65 2C 20 74 68 65 72 65 20 68 61 e code, there ha
000010: 76 65 20 20 62 65 65 6E 20 20 68 61 72 64 6C 79 ve been hardly
000020: 20 20 61 6E 79 20 61 62 6F 75 74 20 68 6F 77 20 any about how
000030: 74 6F 20 75 73 65 20 74 68 65 0D 0A 20 20 20 74 to use the.. t
000040: 77 6F 20 74 6F 67 65 74 68 65 72 2E 20 20 54 68 wo together. Th
000050: 65 20 61 64 76 61 6E 74 61 67 65 20 6F 66 20 20 e advantage of
000060: 42 41 53 49 43 20 20 69 73 20 20 74 68 61 74 20 BASIC is that
000070: 20 69 74 20 20 69 73 20 65 61 73 79 20 74 6F 20 it is easy to
000080: 77 72 69 74 65 20 61 6E 64 0D 0A 20 20 20 64 65 write and.. de
000090: 62 75 67 2C 20 61 6E 64 20 74 68 65 72 65 20 69 bug, and there i
0000A0: 73 20 6E 6F 20 6E 65 65 64 20 20 74 6F 20 20 77 s no need to w
0000B0: 6F 72 72 79 20 20 61 62 6F 75 74 20 68 6F 77 20 orry about how
0000C0: 61 6E 64 20 77 68 65 72 65 20 79 6F 75 72 20 76 and where your v
0000D0: 61 72 69 61 62 6C 65 73 0D 0A 20 20 20 61 72 65 ariables.. are
0000E0: 20 73 74 6F 72 65 64 2E 20 20 4D 61 63 68 69 6E stored. Machin
0000F0: 65 20 63 6F 64 65 20 77 69 6E 73 20 6F 6E 20 20 e code wins on
000100: 73 70 65 65 64 20 20 61 6E 64 20 62 65 74 74 65 speed and bette
000110: 72 20 75 73 65 20 6F 66 20 6D 65 6D 6F 72 79 2E r use of memory.
000120: 20 20 54 68 65 72 65 0D 0A 20 20 20 61 72 65 20 There.. are
000130: 61 6C 73 6F 20 6D 61 6E 79 20 74 68 69 6E 67 73 also many things
000140: 20 74 68 61 74 20 63 61 6E 6E 6F 74 20 62 65 20 that cannot be
000150: 64 6F 6E 65 20 77 69 74 68 20 42 41 53 49 43 20 done with BASIC
000160: 61 6C 6F 6E 65 2E 0D 0A 20 20 20 20 20 42 41 53 alone... BAS
000170: 49 43 20 61 6E 64 20 6D 61 63 68 69 6E 65 20 63 IC and machine c
000180: 6F 64 65 20 74 6F 67 65 74 68 65 72 20 63 61 6E ode together can
000190: 20 20 62 65 20 61 20 76 65 72 79 20 70 6F 77 65 be a very powe
0001A0: 72 66 75 6C 20 63 6F 6D 62 69 6E 61 74 69 6F 6E rful combination
0001B0: 2E 20 20 49 66 0D 0A 20 20 20 74 68 65 20 73 70 . If.. the sp
0001C0: 65 65 64 2D 63 72 69 74 69 63 61 6C 20 70 61 72 eed-critical par
0001D0: 74 73 20 6F 66 20 61 20 70 72 6F 67 72 61 6D 20 ts of a program
0001E0: 20 61 72 65 20 63 6F 6E 76 65 72 74 65 64 20 69 are converted i
0001F0: 6E 74 6F 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 nto machine code
Size : 512 (Real : 512)
000000: 20 20 20 20 28 49 58 2B 34 29 20 20 30 36 20 20 (IX+4) 06
000010: 20 20 20 20 28 49 58 2B 35 29 20 20 30 30 0D 0A (IX+5) 00..
000020: 0D 0A 20 20 20 20 20 48 61 76 65 20 61 20 6C 6F .. Have a lo
000030: 6F 6B 20 61 74 20 74 68 65 20 20 6D 61 63 68 69 ok at the machi
000040: 6E 65 20 20 63 6F 64 65 20 20 69 6E 20 20 46 69 ne code in Fi
000050: 67 75 72 65 20 20 32 2E 20 20 20 54 68 65 20 6E gure 2. The n
000060: 75 6D 62 65 72 20 78 20 77 69 6C 6C 20 62 65 0D umber x will be.
000070: 0A 20 20 20 73 74 6F 72 65 64 20 61 74 20 28 49 . stored at (I
000080: 58 2B 30 29 2C 20 61 73 20 69 74 20 69 73 20 20 X+0), as it is
000090: 74 68 65 20 20 6C 61 73 74 20 20 70 61 72 61 6D the last param
0000A0: 65 74 65 72 20 20 69 6E 20 74 68 65 20 6C 69 73 eter in the lis
0000B0: 74 2E 20 20 49 66 20 69 74 20 77 65 72 65 0D 0A t. If it were..
0000C0: 20 20 20 62 69 67 67 65 72 20 74 68 61 6E 20 32 bigger than 2
0000D0: 35 35 20 74 68 65 6E 20 70 61 72 74 20 6F 66 20 55 then part of
0000E0: 74 68 65 20 6E 75 6D 62 65 72 20 77 6F 75 6C 64 the number would
0000F0: 20 62 65 20 61 74 20 28 49 58 2B 31 29 20 61 73 be at (IX+1) as
000100: 20 77 65 6C 6C 2C 20 62 75 74 20 77 65 0D 0A 20 well, but we..
000110: 20 20 68 61 76 65 20 69 67 6E 6F 72 65 64 20 74 have ignored t
000120: 68 69 73 20 63 61 73 65 2E 20 20 54 68 65 20 20 his case. The
000130: 6E 75 6D 62 65 72 20 20 69 73 20 20 6C 6F 61 64 number is load
000140: 65 64 20 20 69 6E 74 6F 20 74 68 65 20 42 20 72 ed into the B r
000150: 65 67 69 73 74 65 72 2C 20 61 6E 64 0D 0A 20 20 egister, and..
000160: 20 74 68 65 6E 20 61 20 6C 6F 6F 70 20 69 73 20 then a loop is
000170: 65 78 65 63 75 74 65 64 20 74 6F 20 70 72 69 6E executed to prin
000180: 74 20 74 68 65 20 22 40 22 20 63 68 61 72 61 63 t the "@" charac
000190: 74 65 72 73 2E 0D 0A 0D 0A 20 20 20 43 48 41 4E ters..... CHAN
0001A0: 47 49 4E 47 20 54 48 45 20 4C 49 47 48 54 0D 0A GING THE LIGHT..
0001B0: 20 20 20 53 75 70 70 6F 73 65 20 77 65 20 77 61 Suppose we wa
0001C0: 6E 74 20 74 6F 20 72 65 74 75 72 6E 20 61 20 76 nt to return a v
0001D0: 61 6C 75 65 20 20 74 6F 20 42 41 53 49 43 20 66 alue to BASIC f
0001E0: 72 6F 6D 20 74 68 65 20 6D 61 63 68 69 6E 65 20 rom the machine
0001F0: 63 6F 64 65 3F 20 20 41 67 61 69 6E 2C 0D 0A 20 code? Again,..
Size : 512 (Real : 512)
000000: 20 61 6E 64 0D 0A 20 20 20 74 68 65 20 72 65 73 and.. the res
000010: 74 20 6C 65 66 74 20 61 73 20 42 41 53 49 43 2C t left as BASIC,
000020: 20 79 6F 75 20 63 61 6E 20 65 6E 64 20 75 70 20 you can end up
000030: 20 77 69 74 68 20 61 6C 6D 6F 73 74 20 61 73 20 with almost as
000040: 67 6F 6F 64 20 61 20 72 65 73 75 6C 74 20 61 73 good a result as
000050: 20 69 66 0D 0A 20 20 20 74 68 65 20 77 68 6F 6C if.. the whol
000060: 65 20 6C 6F 74 20 77 65 72 65 20 77 72 69 74 74 e lot were writt
000070: 65 6E 20 69 6E 20 6D 61 63 68 69 6E 65 20 63 6F en in machine co
000080: 64 65 2C 20 62 75 74 20 77 69 74 68 20 6D 75 63 de, but with muc
000090: 68 20 6C 65 73 73 20 68 61 73 73 6C 65 2E 0D 0A h less hassle...
0000A0: 20 20 20 20 20 54 68 69 73 20 6D 6F 6E 74 68 20 This month
0000B0: 77 65 20 77 69 6C 6C 20 74 61 6B 65 20 61 20 20 we will take a
0000C0: 71 75 69 63 6B 20 20 6C 6F 6F 6B 20 20 61 74 20 quick look at
0000D0: 20 74 68 65 20 65 73 73 65 6E 74 69 61 6C 73 20 the essentials
0000E0: 6F 66 20 68 6F 77 20 74 6F 20 67 65 74 0D 0A 20 of how to get..
0000F0: 20 20 42 41 53 49 43 20 61 6E 64 20 6D 61 63 68 BASIC and mach
000100: 69 6E 65 20 63 6F 64 65 20 74 6F 20 77 6F 72 6B ine code to work
000110: 20 20 74 6F 67 65 74 68 65 72 2C 20 20 74 68 65 together, the
000120: 6E 20 20 6E 65 78 74 20 74 69 6D 65 20 77 65 20 n next time we
000130: 77 69 6C 6C 20 73 65 65 20 68 6F 77 0D 0A 20 20 will see how..
000140: 20 74 68 69 73 20 61 70 70 6C 69 65 73 20 74 6F this applies to
000150: 20 6F 75 72 20 64 69 73 63 20 6D 65 6E 75 2E 0D our disc menu..
000160: 0A 0D 0A 20 20 20 54 55 52 4E 49 4E 47 20 54 48 ... TURNING TH
000170: 45 20 57 4F 52 4C 44 20 47 52 45 59 0D 0A 20 20 E WORLD GREY..
000180: 20 53 6F 6D 65 20 70 69 65 63 65 73 20 6F 66 20 Some pieces of
000190: 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 73 74 61 machine code sta
0001A0: 6E 64 20 68 61 70 70 69 6C 79 20 6F 6E 20 74 68 nd happily on th
0001B0: 65 69 72 20 6F 77 6E 2C 20 73 75 63 68 20 61 73 eir own, such as
0001C0: 20 75 73 69 6E 67 20 43 41 4C 4C 0D 0A 20 20 20 using CALL..
0001D0: 26 42 42 34 45 20 74 6F 20 72 65 73 65 74 20 70 &BB4E to reset p
0001E0: 61 72 74 73 20 20 6F 66 20 20 74 68 65 20 20 73 arts of the s
0001F0: 63 72 65 65 6E 2E 20 20 20 4F 66 74 65 6E 20 20 creen. Often
Size : 512 (Real : 512)
000000: 50 52 49 4E 54 20 43 48 52 24 28 32 31 35 29 3B PRINT CHR$(215);
000010: 0D 0A 20 20 20 32 38 30 20 4D 4F 56 45 20 78 2C .. 280 MOVE x,
000020: 79 3A 50 52 49 4E 54 20 43 48 52 24 28 32 31 35 y:PRINT CHR$(215
000030: 29 3B 0D 0A 20 20 20 32 39 30 20 57 45 4E 44 3A );.. 290 WEND:
000040: 52 45 54 55 52 4E 0D 0A 0D 0A 20 20 20 46 49 47 RETURN.... FIG
000050: 55 52 45 20 31 2E 36 31 0D 0A 0D 0A 0D 0A 0D 0A URE 1.61........
000060: 20 20 20 33 30 30 20 52 45 4D 20 41 20 62 65 74 300 REM A bet
000070: 74 65 72 20 73 75 62 72 6F 75 74 69 6E 65 20 74 ter subroutine t
000080: 6F 20 72 65 70 6C 61 63 65 20 6C 69 6E 65 20 34 o replace line 4
000090: 30 2E 0D 0A 20 20 20 33 31 30 20 57 48 49 4C 45 0... 310 WHILE
0000A0: 20 49 4E 4B 45 59 28 34 37 29 2B 49 4E 4B 45 59 INKEY(47)+INKEY
0000B0: 28 31 38 29 2B 49 4E 4B 45 59 28 39 29 3D 2D 33 (18)+INKEY(9)=-3
0000C0: 0D 0A 20 20 20 33 32 30 20 6F 6C 64 78 3D 78 3A .. 320 oldx=x:
0000D0: 6F 6C 64 79 3D 79 0D 0A 20 20 20 33 33 30 20 61 oldy=y.. 330 a
0000E0: 64 64 78 3D 30 3A 61 64 64 79 3D 30 0D 0A 20 20 ddx=0:addy=0..
0000F0: 20 33 33 35 20 52 45 4D 20 43 68 65 63 6B 20 6B 335 REM Check k
000100: 65 79 73 0D 0A 20 20 20 33 34 30 20 61 64 64 78 eys.. 340 addx
000110: 3D 28 49 4E 4B 45 59 28 38 29 3E 2D 31 29 0D 0A =(INKEY(8)>-1)..
000120: 20 20 20 33 35 30 20 61 64 64 78 3D 61 64 64 78 350 addx=addx
000130: 2D 28 49 4E 4B 45 59 28 31 29 3E 2D 31 29 0D 0A -(INKEY(1)>-1)..
000140: 20 20 20 33 36 30 20 61 64 64 78 3D 61 64 64 78 360 addx=addx
000150: 2A 28 34 2B 33 2A 28 49 4E 4B 45 59 28 32 31 29 *(4+3*(INKEY(21)
000160: 3D 2D 31 29 29 0D 0A 20 20 20 33 37 30 20 61 64 =-1)).. 370 ad
000170: 64 78 3D 33 2A 61 64 64 78 0D 0A 20 20 20 33 38 dx=3*addx.. 38
000180: 30 20 61 64 64 79 3D 28 49 4E 4B 45 59 28 32 29 0 addy=(INKEY(2)
000190: 3E 2D 31 29 0D 0A 20 20 20 33 39 30 20 61 64 64 >-1).. 390 add
0001A0: 79 3D 61 64 64 79 2D 28 49 4E 4B 45 59 28 30 29 y=addy-(INKEY(0)
0001B0: 3E 2D 31 29 0D 0A 20 20 20 34 30 30 20 61 64 64 >-1).. 400 add
0001C0: 79 3D 61 64 64 79 2A 28 28 49 4E 4B 45 59 28 32 y=addy*((INKEY(2
0001D0: 31 29 3D 2D 31 29 2B 32 29 0D 0A 20 20 20 34 31 1)=-1)+2).. 41
0001E0: 30 20 61 64 64 79 3D 33 2A 61 64 64 79 0D 0A 20 0 addy=3*addy..
0001F0: 20 20 34 32 30 20 78 3D 78 2B 61 64 64 78 3A 79 420 x=x+addx:y
Size : 512 (Real : 512)
000000: 74 68 6F 75 67 68 20 20 77 65 20 20 6E 65 65 64 though we need
000010: 20 42 41 53 49 43 20 61 6E 64 0D 0A 20 20 20 6D BASIC and.. m
000020: 61 63 68 69 6E 65 20 63 6F 64 65 20 74 6F 20 63 achine code to c
000030: 6F 6D 6D 75 6E 69 63 61 74 65 2E 20 20 46 6F 72 ommunicate. For
000040: 20 65 78 61 6D 70 6C 65 20 20 79 6F 75 20 6D 69 example you mi
000050: 67 68 74 20 77 61 6E 74 20 61 20 42 41 53 49 43 ght want a BASIC
000060: 20 76 61 72 69 61 62 6C 65 0D 0A 20 20 20 74 6F variable.. to
000070: 20 61 66 66 65 63 74 20 77 68 61 74 20 74 68 65 affect what the
000080: 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 64 6F machine code do
000090: 65 73 2E 20 20 54 68 65 20 6F 62 76 69 6F 75 73 es. The obvious
0000A0: 20 77 61 79 20 74 6F 20 64 6F 20 74 68 69 73 20 way to do this
0000B0: 77 6F 75 6C 64 20 62 65 0D 0A 20 20 20 74 6F 20 would be.. to
0000C0: 50 4F 4B 45 20 74 68 65 20 76 61 6C 75 65 20 6F POKE the value o
0000D0: 66 20 74 68 65 20 20 76 61 72 69 61 62 6C 65 20 f the variable
0000E0: 20 69 6E 74 6F 20 20 61 20 20 6D 65 6D 6F 72 79 into a memory
0000F0: 20 6C 6F 63 61 74 69 6F 6E 2C 20 61 6E 64 20 74 location, and t
000100: 68 65 6E 20 74 68 65 0D 0A 20 20 20 6D 61 63 68 hen the.. mach
000110: 69 6E 65 20 63 6F 64 65 20 63 6F 75 6C 64 20 72 ine code could r
000120: 65 61 64 20 74 68 61 74 20 6C 6F 63 61 74 69 6F ead that locatio
000130: 6E 20 61 6E 64 20 61 63 74 20 6F 6E 20 74 68 65 n and act on the
000140: 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 2E 0D 0A 20 information...
000150: 20 20 20 20 46 69 67 75 72 65 20 32 20 67 69 76 Figure 2 giv
000160: 65 73 20 61 20 62 65 74 74 65 72 20 6D 65 74 68 es a better meth
000170: 6F 64 2E 20 20 54 68 65 20 20 42 41 53 49 43 20 od. The BASIC
000180: 70 72 6F 67 72 61 6D 20 70 6F 6B 65 73 20 69 6E program pokes in
000190: 20 74 68 65 20 6D 61 63 68 69 6E 65 0D 0A 20 20 the machine..
0001A0: 20 63 6F 64 65 20 69 6E 20 6C 69 6E 65 20 31 39 code in line 19
0001B0: 30 2E 20 20 41 66 74 65 72 20 74 68 65 20 20 42 0. After the B
0001C0: 41 53 49 43 20 20 77 65 20 20 6C 69 73 74 20 74 ASIC we list t
0001D0: 68 65 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 he machine code
0001E0: 69 6E 20 61 73 73 65 6D 62 6C 79 0D 0A 20 20 20 in assembly..
0001F0: 6C 61 6E 67 75 61 67 65 2C 20 73 6F 20 74 68 61 language, so tha
Size : 512 (Real : 512)
000000: 3D 79 2B 61 64 64 79 0D 0A 20 20 20 34 32 35 20 =y+addy.. 425
000010: 52 45 4D 20 43 68 65 63 6B 20 78 20 26 20 79 20 REM Check x & y
000020: 61 72 65 20 6F 6E 20 73 63 72 65 65 6E 0D 0A 20 are on screen..
000030: 20 20 34 33 30 20 78 3D 4D 49 4E 28 36 33 32 2C 430 x=MIN(632,
000040: 78 29 0D 0A 20 20 20 34 34 30 20 78 3D 4D 41 58 x).. 440 x=MAX
000050: 28 30 2C 78 29 0D 0A 20 20 20 34 35 30 20 79 3D (0,x).. 450 y=
000060: 4D 49 4E 28 33 39 39 2C 79 29 0D 0A 20 20 20 34 MIN(399,y).. 4
000070: 36 30 20 79 3D 4D 41 58 28 31 35 2C 79 29 0D 0A 60 y=MAX(15,y)..
000080: 20 20 20 34 36 35 20 52 45 4D 20 52 65 6D 6F 76 465 REM Remov
000090: 65 20 70 6F 69 6E 74 65 72 20 61 6E 64 20 72 65 e pointer and re
0000A0: 64 69 73 70 6C 61 79 0D 0A 20 20 20 34 37 30 20 display.. 470
0000B0: 4D 4F 56 45 20 6F 6C 64 78 2C 6F 6C 64 79 3A 50 MOVE oldx,oldy:P
0000C0: 52 49 4E 54 20 43 48 52 24 28 32 31 35 29 3B 0D RINT CHR$(215);.
0000D0: 0A 20 20 20 34 38 30 20 4D 4F 56 45 20 78 2C 79 . 480 MOVE x,y
0000E0: 3A 50 52 49 4E 54 20 43 48 52 24 28 32 31 35 29 :PRINT CHR$(215)
0000F0: 3B 0D 0A 20 20 20 34 39 30 20 57 45 4E 44 3A 52 ;.. 490 WEND:R
000100: 45 54 55 52 4E 0D 0A 0D 0A 20 20 20 46 49 47 55 ETURN.... FIGU
000110: 52 45 20 31 2E 36 31 38 0D 0A 1A 20 42 79 20 53 RE 1.618... 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 65 6C 6C 2C 20 74 68 69 73 20 6D 6F 6E Well, this mon
000150: 74 68 20 20 77 65 20 20 6D 6F 76 65 20 20 66 72 th we move fr
000160: 6F 6D 20 20 74 68 65 20 20 73 74 61 72 74 65 72 om the starter
000170: 20 20 74 6F 20 20 61 20 20 6C 69 67 68 74 6C 79 to a lightly
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 79 6F 75 20 63 61 6E 20 73 65 65 20 77 68 t you can see wh
000010: 61 74 20 69 74 20 20 64 6F 65 73 2E 20 20 3C 3C at it does. <<
000020: 54 68 65 20 42 41 53 49 43 20 69 73 20 73 61 76 The BASIC is sav
000030: 65 64 20 61 73 20 46 49 47 32 0D 0A 20 20 20 6F ed as FIG2.. o
000040: 6E 20 74 68 65 20 64 69 73 63 2E 3E 3E 0D 0A 20 n the disc.>>..
000050: 20 20 20 20 54 68 65 20 70 72 6F 67 72 61 6D 20 The program
000060: 61 73 6B 73 20 66 6F 72 20 61 20 6E 75 6D 62 65 asks for a numbe
000070: 72 20 20 66 72 6F 6D 20 20 74 68 65 20 20 75 73 r from the us
000080: 65 72 2C 20 20 78 2C 20 61 6E 64 20 74 68 65 6E er, x, and then
000090: 20 70 72 69 6E 74 73 20 74 68 61 74 0D 0A 20 20 prints that..
0000A0: 20 6D 61 6E 79 20 22 40 22 20 63 68 61 72 61 63 many "@" charac
0000B0: 74 65 72 73 2E 20 20 57 68 65 6E 20 74 68 65 20 ters. When the
0000C0: 6D 61 63 68 69 6E 65 20 20 63 6F 64 65 20 20 69 machine code i
0000D0: 73 20 63 61 6C 6C 65 64 2C 20 75 73 69 6E 67 20 s called, using
0000E0: 43 41 4C 4C 20 26 39 30 30 30 2C 0D 0A 20 20 20 CALL &9000,..
0000F0: 74 68 65 20 76 61 6C 75 65 20 6F 66 20 78 20 69 the value of x i
000100: 73 20 73 69 6D 70 6C 79 20 74 61 67 67 65 64 20 s simply tagged
000110: 6F 6E 20 20 74 68 65 20 65 6E 64 20 61 66 74 65 on the end afte
000120: 72 20 61 20 63 6F 6D 6D 61 2E 20 20 42 65 66 6F r a comma. Befo
000130: 72 65 20 70 61 73 73 69 6E 67 0D 0A 20 20 20 63 re passing.. c
000140: 6F 6E 74 72 6F 6C 20 74 6F 20 74 68 65 20 6D 61 ontrol to the ma
000150: 63 68 69 6E 65 20 63 6F 64 65 2C 20 42 41 53 49 chine code, BASI
000160: 43 20 20 61 72 72 61 6E 67 65 73 20 74 68 65 73 C arranges thes
000170: 65 20 70 61 72 61 6D 65 74 65 72 73 20 69 6E 74 e parameters int
000180: 6F 20 61 20 62 6C 6F 63 6B 0D 0A 20 20 20 69 6E o a block.. in
000190: 20 6D 65 6D 6F 72 79 2C 20 61 6E 64 20 6C 6F 61 memory, and loa
0001A0: 64 73 20 74 68 65 20 49 58 20 72 65 67 69 73 74 ds the IX regist
0001B0: 65 72 20 20 77 69 74 68 20 74 68 65 20 61 64 64 er with the add
0001C0: 72 65 73 73 20 6F 66 20 74 68 69 73 20 62 6C 6F ress of this blo
0001D0: 63 6B 2E 20 20 54 68 65 0D 0A 20 20 20 41 20 72 ck. The.. A r
0001E0: 65 67 69 73 74 65 72 20 69 73 20 73 65 74 20 75 egister is set u
0001F0: 70 20 74 6F 20 69 6E 64 69 63 61 74 65 20 68 6F p to indicate ho
Size : 512 (Real : 512)
000000: 63 61 6E 20 61 6C 74 65 72 0D 0A 20 20 20 74 68 can alter.. th
000010: 65 20 76 61 6C 75 65 20 6F 66 20 63 25 2E 0D 0A e value of c%...
000020: 20 20 20 20 20 54 72 79 20 74 68 65 20 66 6F 6C Try the fol
000030: 6C 6F 77 69 6E 67 20 63 6F 6D 6D 61 6E 64 73 20 lowing commands
000040: 69 6E 20 42 41 53 49 43 3A 0D 0A 0D 0A 20 20 20 in BASIC:....
000050: 20 20 20 20 20 20 63 25 3D 35 0D 0A 20 20 20 20 c%=5..
000060: 20 20 20 20 20 50 52 49 4E 54 20 40 63 25 0D 0A PRINT @c%..
000070: 20 20 20 20 20 20 20 20 20 50 52 49 4E 54 20 50 PRINT P
000080: 45 45 4B 28 40 63 25 29 0D 0A 0D 0A 20 20 20 41 EEK(@c%).... A
000090: 73 20 40 63 25 20 69 73 20 74 68 65 20 61 64 64 s @c% is the add
0000A0: 72 65 73 73 20 61 74 20 77 68 69 63 68 20 63 25 ress at which c%
0000B0: 20 69 73 20 73 74 6F 72 65 64 2C 20 50 45 45 4B is stored, PEEK
0000C0: 28 40 63 25 29 20 69 73 20 74 68 65 20 76 61 6C (@c%) is the val
0000D0: 75 65 20 6F 66 20 63 25 2E 0D 0A 20 20 20 20 20 ue of c%...
0000E0: 4E 6F 77 20 74 72 79 3A 0D 0A 0D 0A 20 20 20 20 Now try:....
0000F0: 20 20 20 20 20 50 4F 4B 45 20 40 63 25 2C 37 0D POKE @c%,7.
000100: 0A 20 20 20 20 20 20 20 20 20 50 52 49 4E 54 20 . PRINT
000110: 63 25 0D 0A 0D 0A 20 20 20 61 6E 64 20 61 73 20 c%.... and as
000120: 69 66 20 62 79 20 6D 61 67 69 63 2C 20 63 25 20 if by magic, c%
000130: 68 61 73 20 63 68 61 6E 67 65 64 21 0D 0A 20 20 has changed!..
000140: 20 20 20 54 68 65 20 70 72 6F 67 72 61 6D 20 69 The program i
000150: 6E 20 66 69 67 75 72 65 20 32 2E 37 20 20 75 73 n figure 2.7 us
000160: 65 73 20 20 74 68 69 73 20 74 65 63 68 6E 69 71 es this techniq
000170: 75 65 2E 20 20 54 68 65 20 76 61 72 69 61 62 6C ue. The variabl
000180: 65 27 73 20 61 64 64 72 65 73 73 0D 0A 20 20 20 e's address..
000190: 69 73 20 6C 6F 61 64 65 64 20 69 6E 74 6F 20 48 is loaded into H
0001A0: 4C 2C 20 61 6E 64 20 74 68 65 6E 20 74 68 65 20 L, and then the
0001B0: 66 69 72 6D 77 61 72 65 20 63 61 6C 6C 20 74 6F firmware call to
0001C0: 20 72 65 61 64 20 61 20 63 68 61 72 61 63 74 65 read a characte
0001D0: 72 20 66 72 6F 6D 20 74 68 65 0D 0A 20 20 20 73 r from the.. s
0001E0: 63 72 65 65 6E 20 69 73 20 75 73 65 64 2E 20 20 creen is used.
0001F0: 54 68 65 20 20 76 61 6C 75 65 20 20 72 65 74 75 The value retu
Size : 512 (Real : 512)
000000: 77 65 20 68 61 64 20 64 6F 6E 65 0D 0A 0D 0A 20 we had done....
000010: 20 20 20 20 20 20 20 20 63 25 3D 32 30 30 30 3A c%=2000:
000020: 43 41 4C 4C 20 26 39 30 30 30 2C 40 63 25 0D 0A CALL &9000,@c%..
000030: 0D 0A 20 20 20 74 68 65 6E 20 77 65 20 77 6F 75 .. then we wou
000040: 6C 64 20 67 65 74 20 62 61 63 6B 20 20 73 6F 6D ld get back som
000050: 65 20 20 76 65 72 79 20 20 66 75 6E 6E 79 20 20 e very funny
000060: 72 65 73 75 6C 74 73 20 20 69 66 20 77 65 20 64 results if we d
000070: 69 64 6E 27 74 20 7A 65 72 6F 20 74 68 61 74 0D idn't zero that.
000080: 0A 20 20 20 73 65 63 6F 6E 64 20 62 79 74 65 2E . second byte.
000090: 0D 0A 20 20 20 20 20 54 68 65 20 72 65 61 73 6F .. The reaso
0000A0: 6E 20 77 65 20 6B 65 65 70 20 75 73 69 6E 67 20 n we keep using
0000B0: 69 6E 74 65 67 65 72 20 76 61 72 69 61 62 6C 65 integer variable
0000C0: 73 20 69 73 20 74 68 61 74 20 76 61 72 69 61 62 s is that variab
0000D0: 6C 65 73 20 77 69 74 68 6F 75 74 20 74 68 65 0D les without the.
0000E0: 0A 20 20 20 70 65 72 63 65 6E 74 61 67 65 20 73 . percentage s
0000F0: 69 67 6E 20 28 72 65 61 6C 20 76 61 72 69 61 62 ign (real variab
000100: 6C 65 73 29 2C 20 20 61 72 65 20 20 73 74 6F 72 les), are stor
000110: 65 64 20 20 69 6E 20 20 61 20 6D 6F 72 65 20 63 ed in a more c
000120: 6F 6D 70 6C 69 63 61 74 65 64 20 77 61 79 0D 0A omplicated way..
000130: 20 20 20 75 73 69 6E 67 20 66 69 76 65 20 62 79 using five by
000140: 74 65 73 20 72 61 74 68 65 72 20 74 68 61 6E 20 tes rather than
000150: 74 77 6F 2C 20 73 6F 20 69 74 20 6D 61 6B 65 73 two, so it makes
000160: 20 69 74 20 6D 75 63 68 20 65 61 73 69 65 72 20 it much easier
000170: 6A 75 73 74 20 74 6F 20 73 74 69 63 6B 0D 0A 20 just to stick..
000180: 20 20 74 6F 20 69 6E 74 65 67 65 72 73 2E 0D 0A to integers...
000190: 0D 0A 20 20 20 46 45 41 54 55 52 45 53 20 4D 55 .. FEATURES MU
0001A0: 43 48 20 4D 49 53 53 45 44 0D 0A 20 20 20 49 6E CH MISSED.. In
0001B0: 74 65 67 65 72 20 76 61 72 69 61 62 6C 65 73 20 teger variables
0001C0: 74 68 65 6D 73 65 6C 76 65 73 20 61 72 65 20 6E themselves are n
0001D0: 6F 74 20 20 72 65 61 6C 6C 79 20 20 71 75 69 74 ot really quit
0001E0: 65 20 20 61 73 20 20 73 69 6D 70 6C 65 20 61 73 e as simple as
0001F0: 20 77 65 20 6A 75 73 74 0D 0A 20 20 20 6D 61 64 we just.. mad
Size : 512 (Real : 512)
000000: 72 6E 65 64 20 20 69 6E 20 20 41 20 20 69 73 20 rned in A is
000010: 20 74 68 65 6E 20 20 73 61 76 65 64 20 69 6E 20 then saved in
000020: 74 68 65 20 42 41 53 49 43 0D 0A 20 20 20 76 61 the BASIC.. va
000030: 72 69 61 62 6C 65 20 62 65 66 6F 72 65 20 67 6F riable before go
000040: 69 6E 67 20 62 61 63 6B 20 74 6F 20 42 41 53 49 ing back to BASI
000050: 43 2E 0D 0A 20 20 20 20 20 4E 6F 74 65 20 74 68 C... Note th
000060: 61 74 20 74 68 65 20 76 61 72 69 61 62 6C 65 20 at the variable
000070: 77 68 6F 73 65 20 61 64 64 72 65 73 73 20 20 77 whose address w
000080: 65 20 20 70 61 73 73 20 6D 75 73 74 20 61 6C 72 e pass must alr
000090: 65 61 64 79 20 65 78 69 73 74 2E 20 20 54 68 61 eady exist. Tha
0000A0: 74 0D 0A 20 20 20 69 73 20 77 68 79 20 6C 69 6E t.. is why lin
0000B0: 65 20 31 32 30 20 73 65 74 73 20 63 25 20 74 6F e 120 sets c% to
0000C0: 20 7A 65 72 6F 20 62 65 66 6F 72 65 20 63 61 6C zero before cal
0000D0: 6C 69 6E 67 20 74 68 65 20 6D 61 63 68 69 6E 65 ling the machine
0000E0: 20 63 6F 64 65 2E 0D 0A 0D 0A 20 20 20 41 20 44 code..... A D
0000F0: 4F 4F 44 4C 45 20 54 52 41 4E 53 46 4F 52 4D 45 OODLE TRANSFORME
000100: 44 0D 0A 20 20 20 41 63 74 75 61 6C 6C 79 2C 20 D.. Actually,
000110: 74 68 61 74 20 69 73 6E 27 74 20 71 75 69 74 65 that isn't quite
000120: 20 20 74 68 65 20 20 77 68 6F 6C 65 20 20 73 74 the whole st
000130: 6F 72 79 2C 20 20 61 73 20 20 61 66 74 65 72 20 ory, as after
000140: 20 73 61 76 69 6E 67 20 41 20 69 6E 20 74 68 65 saving A in the
000150: 0D 0A 20 20 20 61 64 64 72 65 73 73 20 70 6F 69 .. address poi
000160: 6E 74 65 64 20 74 6F 20 62 79 20 48 4C 2C 20 74 nted to by HL, t
000170: 68 65 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 he machine code
000180: 67 6F 65 73 20 6F 6E 20 74 6F 20 70 75 74 20 7A goes on to put z
000190: 65 72 6F 20 69 6E 20 74 68 65 20 6E 65 78 74 0D ero in the next.
0001A0: 0A 20 20 20 62 79 74 65 20 6F 66 20 6D 65 6D 6F . byte of memo
0001B0: 72 79 2E 20 20 54 68 69 73 20 69 73 20 62 65 63 ry. This is bec
0001C0: 61 75 73 65 20 6F 66 20 74 68 65 20 77 61 79 20 ause of the way
0001D0: 69 6E 74 65 67 65 72 20 76 61 72 69 61 62 6C 65 integer variable
0001E0: 73 20 61 72 65 20 73 74 6F 72 65 64 2E 0D 0A 20 s are stored...
0001F0: 20 20 20 20 54 68 65 20 62 61 73 69 63 20 75 6E The basic un
Size : 512 (Real : 512)
000000: 65 20 6F 75 74 2C 20 61 73 20 69 6E 73 74 65 61 e out, as instea
000010: 64 20 6F 66 20 75 73 69 6E 67 20 20 74 68 65 20 d of using the
000020: 20 74 77 6F 20 20 62 79 74 65 73 20 20 74 6F 20 two bytes to
000030: 73 74 6F 72 65 20 6E 75 6D 62 65 72 73 20 66 72 store numbers fr
000040: 6F 6D 20 30 20 74 6F 0D 0A 20 20 20 36 35 35 33 om 0 to.. 6553
000050: 35 2C 20 74 68 65 79 20 73 74 6F 72 65 20 6E 75 5, they store nu
000060: 6D 62 65 72 73 20 66 72 6F 6D 20 2D 33 32 37 36 mbers from -3276
000070: 38 20 74 6F 20 33 32 37 36 37 2E 0D 0A 20 20 20 8 to 32767...
000080: 20 20 59 6F 75 20 77 69 6C 6C 20 76 65 72 79 20 You will very
000090: 72 61 72 65 6C 79 20 6E 65 65 64 20 74 6F 20 6B rarely need to k
0000A0: 6E 6F 77 20 20 65 78 61 63 74 6C 79 20 20 68 6F now exactly ho
0000B0: 77 20 74 68 65 79 20 61 72 65 20 73 74 6F 72 65 w they are store
0000C0: 64 2E 20 20 49 66 20 79 6F 75 0D 0A 20 20 20 61 d. If you.. a
0000D0: 72 65 20 70 61 73 73 69 6E 67 20 61 20 76 61 6C re passing a val
0000E0: 75 65 20 74 6F 20 6D 61 63 68 69 6E 65 20 63 6F ue to machine co
0000F0: 64 65 2C 20 20 42 41 53 49 43 20 6C 6F 6F 6B 73 de, BASIC looks
000100: 20 61 66 74 65 72 20 74 68 65 20 73 74 6F 72 69 after the stori
000110: 6E 67 20 6F 66 20 74 68 65 0D 0A 20 20 20 76 61 ng of the.. va
000120: 6C 75 65 20 69 6E 20 74 68 65 20 62 75 66 66 65 lue in the buffe
000130: 72 2E 20 20 57 68 65 6E 20 72 65 74 75 72 6E 69 r. When returni
000140: 6E 67 20 20 61 20 20 76 61 6C 75 65 20 66 72 6F ng a value fro
000150: 6D 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 74 m machine code t
000160: 6F 20 42 41 53 49 43 2C 0D 0A 20 20 20 69 66 69 o BASIC,.. ifi
000170: 74 20 69 73 20 61 20 73 69 6E 67 6C 65 20 62 79 t is a single by
000180: 74 65 20 76 61 6C 75 65 20 68 65 6C 64 20 69 6E te value held in
000190: 20 61 6E 20 38 2D 62 69 74 20 72 65 67 69 73 74 an 8-bit regist
0001A0: 65 72 20 77 65 20 6A 75 73 74 20 75 73 65 20 74 er we just use t
0001B0: 68 65 20 73 61 6D 65 0D 0A 20 20 20 74 65 63 68 he same.. tech
0001C0: 6E 69 71 75 65 20 61 73 20 46 69 67 75 72 65 20 nique as Figure
0001D0: 32 2E 37 2E 20 20 49 66 20 74 68 65 20 76 61 6C 2.7. If the val
0001E0: 75 65 20 20 77 61 73 20 68 65 6C 64 20 69 6E 20 ue was held in
0001F0: 61 20 31 36 2D 62 69 74 20 72 65 67 69 73 74 65 a 16-bit registe
Size : 512 (Real : 512)
000000: 69 74 20 6F 66 20 73 74 6F 72 61 67 65 20 69 73 it of storage is
000010: 20 61 20 62 79 74 65 2C 20 20 77 68 69 63 68 20 a byte, which
000020: 20 63 61 6E 20 68 6F 6C 64 20 61 20 6E 75 6D 62 can hold a numb
000030: 65 72 20 66 72 6F 6D 20 30 20 74 6F 0D 0A 20 20 er from 0 to..
000040: 20 32 35 35 2E 20 20 49 66 20 77 65 20 77 61 6E 255. If we wan
000050: 74 20 74 6F 20 20 73 74 6F 72 65 20 20 62 69 67 t to store big
000060: 67 65 72 20 20 6E 75 6D 62 65 72 73 20 20 77 65 ger numbers we
000070: 20 20 6E 65 65 64 20 20 6D 6F 72 65 20 62 79 74 need more byt
000080: 65 73 2E 20 20 41 20 67 6F 6F 64 0D 0A 20 20 20 es. A good..
000090: 61 6E 61 6C 6F 67 79 20 69 73 20 74 6F 20 6C 6F analogy is to lo
0000A0: 6F 6B 20 61 74 20 74 68 65 20 20 66 61 6D 69 6C ok at the famil
0000B0: 69 61 72 20 20 64 65 63 69 6D 61 6C 20 20 6E 75 iar decimal nu
0000C0: 6D 62 65 72 73 2E 20 20 41 20 73 69 6E 67 6C 65 mbers. A single
0000D0: 20 64 69 67 69 74 20 63 61 6E 0D 0A 20 20 20 65 digit can.. e
0000E0: 78 70 72 65 73 73 20 74 68 65 20 6E 75 6D 62 65 xpress the numbe
0000F0: 72 73 20 30 2D 39 2C 20 74 65 6E 20 64 69 66 66 rs 0-9, ten diff
000100: 65 72 65 6E 74 20 20 6E 75 6D 62 65 72 73 20 69 erent numbers i
000110: 6E 20 61 6C 6C 2E 20 20 54 6F 20 65 78 70 72 65 n all. To expre
000120: 73 73 20 62 69 67 67 65 72 0D 0A 20 20 20 6E 75 ss bigger.. nu
000130: 6D 62 65 72 73 20 77 65 20 75 73 65 20 61 6E 6F mbers we use ano
000140: 74 68 65 72 20 64 69 67 69 74 2C 20 67 69 76 69 ther digit, givi
000150: 6E 67 20 20 75 73 20 20 74 65 6E 20 74 69 6D 65 ng us ten time
000160: 73 20 61 73 20 6D 61 6E 79 20 6E 75 6D 62 65 72 s as many number
000170: 73 20 61 67 61 69 6E 3A 0D 0A 20 20 20 74 68 65 s again:.. the
000180: 20 68 75 6E 64 72 65 64 20 64 69 66 66 65 72 65 hundred differe
000190: 6E 74 20 6E 75 6D 62 65 72 73 20 66 72 6F 6D 20 nt numbers from
0001A0: 30 20 20 74 6F 20 20 39 39 2E 20 20 20 57 65 20 0 to 99. We
0001B0: 77 72 69 74 65 20 74 68 65 20 22 74 65 6E 73 22 write the "tens"
0001C0: 20 62 65 66 6F 72 65 0D 0A 20 20 20 74 68 65 20 before.. the
0001D0: 22 75 6E 69 74 73 22 2E 20 20 54 68 65 20 22 74 "units". The "t
0001E0: 65 6E 73 22 20 20 61 72 65 20 20 74 65 72 6D 65 ens" are terme
0001F0: 64 20 20 22 6D 6F 72 65 20 20 73 69 67 6E 69 66 d "more signif
Size : 512 (Real : 512)
000000: 72 20 70 61 69 72 0D 0A 20 20 20 73 75 63 68 20 r pair.. such
000010: 61 73 20 44 45 20 6F 72 20 48 4C 2C 20 20 74 68 as DE or HL, th
000020: 65 6E 20 20 75 73 75 61 6C 6C 79 20 20 77 65 20 en usually we
000030: 20 77 69 6C 6C 20 20 67 65 74 20 20 74 68 65 20 will get the
000040: 72 69 67 68 74 20 72 65 73 75 6C 74 73 20 6A 75 right results ju
000050: 73 74 20 62 79 0D 0A 20 20 20 70 6C 6F 6E 6B 69 st by.. plonki
000060: 6E 67 20 69 74 20 73 74 72 61 69 67 68 74 20 62 ng it straight b
000070: 61 63 6B 20 69 6E 74 6F 20 74 68 65 20 74 77 6F ack into the two
000080: 20 62 79 74 65 73 20 6F 66 20 74 68 65 20 69 6E bytes of the in
000090: 74 65 67 65 72 20 76 61 72 69 61 62 6C 65 2E 0D teger variable..
0000A0: 0A 20 20 20 20 20 46 6F 72 20 65 78 61 6D 70 6C . For exampl
0000B0: 65 2C 20 74 68 65 20 66 69 72 6D 77 61 72 65 20 e, the firmware
0000C0: 63 61 6C 6C 20 20 26 42 42 43 36 20 20 73 65 74 call &BBC6 set
0000D0: 73 20 20 44 45 20 20 61 6E 64 20 20 48 4C 20 20 s DE and HL
0000E0: 74 6F 20 74 68 65 20 78 20 61 6E 64 20 79 0D 0A to the x and y..
0000F0: 20 20 20 70 6F 73 69 74 69 6F 6E 20 6F 66 20 74 position of t
000100: 68 65 20 67 72 61 70 68 69 63 73 20 63 75 72 73 he graphics curs
000110: 6F 72 2C 20 20 65 69 74 68 65 72 20 20 6F 66 20 or, either of
000120: 20 77 68 69 63 68 20 63 6F 75 6C 64 20 62 65 20 which could be
000130: 6E 65 67 61 74 69 76 65 2E 20 20 54 6F 0D 0A 20 negative. To..
000140: 20 20 72 65 74 75 72 6E 20 74 68 65 20 78 20 63 return the x c
000150: 6F 2D 6F 72 64 69 6E 61 74 65 20 74 6F 20 61 20 o-ordinate to a
000160: 42 41 53 49 43 20 20 69 6E 74 65 67 65 72 20 76 BASIC integer v
000170: 61 72 69 61 62 6C 65 2C 20 77 65 20 77 6F 75 6C ariable, we woul
000180: 64 20 73 69 6D 70 6C 79 20 70 75 74 0D 0A 20 20 d simply put..
000190: 20 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 the contents of
0001A0: 20 74 68 65 20 45 20 72 65 67 69 73 74 65 72 20 the E register
0001B0: 69 6E 74 6F 20 74 68 65 20 20 66 69 72 73 74 20 into the first
0001C0: 62 79 74 65 2C 20 61 6E 64 20 74 68 65 20 63 6F byte, and the co
0001D0: 6E 74 65 6E 74 73 20 6F 66 20 44 0D 0A 20 20 20 ntents of D..
0001E0: 69 6E 74 6F 20 74 68 65 20 73 65 63 6F 6E 64 2E into the second.
0001F0: 20 20 54 68 65 20 6E 65 67 61 74 69 76 65 20 6E The negative n
Size : 512 (Real : 512)
000000: 69 63 61 6E 74 22 20 20 74 68 61 6E 20 74 68 65 icant" than the
000010: 20 75 6E 69 74 73 0D 0A 20 20 20 62 65 63 61 75 units.. becau
000020: 73 65 20 74 68 65 79 20 68 65 6C 70 20 75 73 20 se they help us
000030: 74 6F 20 65 78 70 72 65 73 73 20 62 69 67 67 65 to express bigge
000040: 72 20 6E 75 6D 62 65 72 73 2E 0D 0A 20 20 20 20 r numbers...
000050: 20 49 6E 20 74 68 65 20 73 61 6D 65 20 77 61 79 In the same way
000060: 20 75 73 69 6E 67 20 74 77 6F 20 20 62 79 74 65 using two byte
000070: 73 20 20 65 6E 61 62 6C 65 73 20 20 75 73 20 74 s enables us t
000080: 6F 20 73 74 6F 72 65 20 36 35 35 33 36 20 28 3D o store 65536 (=
000090: 20 32 35 36 2A 32 35 36 29 0D 0A 20 20 20 6E 75 256*256).. nu
0000A0: 6D 62 65 72 73 20 66 72 6F 6D 20 30 20 74 6F 20 mbers from 0 to
0000B0: 36 35 35 33 35 2E 20 20 54 68 65 20 20 6D 6F 72 65535. The mor
0000C0: 65 20 20 73 69 67 6E 69 66 69 63 61 6E 74 20 20 e significant
0000D0: 62 79 74 65 2C 20 77 68 69 63 68 20 61 6C 6C 6F byte, which allo
0000E0: 77 73 20 75 73 20 74 6F 0D 0A 20 20 20 73 74 6F ws us to.. sto
0000F0: 72 65 20 6E 75 6D 62 65 72 73 20 62 69 67 67 65 re numbers bigge
000100: 72 20 74 68 61 6E 20 32 35 35 2C 20 69 73 20 20 r than 255, is
000110: 70 6C 61 63 65 64 20 20 61 66 74 65 72 20 74 68 placed after th
000120: 65 20 66 69 72 73 74 20 62 79 74 65 20 69 6E 20 e first byte in
000130: 6D 65 6D 6F 72 79 2C 0D 0A 20 20 20 75 6E 6C 69 memory,.. unli
000140: 6B 65 20 74 68 65 20 77 61 79 20 77 65 20 77 72 ke the way we wr
000150: 69 74 65 20 64 65 63 69 6D 61 6C 20 6E 75 6D 62 ite decimal numb
000160: 65 72 73 2C 20 77 68 65 72 65 20 74 68 65 20 6D ers, where the m
000170: 6F 72 65 20 73 69 67 6E 69 66 69 63 61 6E 74 20 ore significant
000180: 64 69 67 69 74 73 0D 0A 20 20 20 63 6F 6D 65 20 digits.. come
000190: 66 69 72 73 74 2E 0D 0A 20 20 20 20 20 41 6D 73 first... Ams
0001A0: 74 72 61 64 73 20 70 75 74 20 74 68 65 20 6D 6F trads put the mo
0001B0: 73 74 20 73 69 67 6E 69 66 69 63 61 6E 74 20 62 st significant b
0001C0: 79 74 65 20 20 61 66 74 65 72 20 74 68 65 20 6C yte after the l
0001D0: 65 61 73 74 20 73 69 67 6E 69 66 69 63 61 6E 74 east significant
0001E0: 20 62 79 74 65 0D 0A 20 20 20 62 65 63 61 75 73 byte.. becaus
0001F0: 65 20 74 68 61 74 20 69 73 20 68 6F 77 20 74 68 e that is how th
Size : 512 (Real : 512)
000000: 20 20 74 68 65 20 6F 62 76 69 6F 75 73 20 77 61 the obvious wa
000010: 79 20 20 77 6F 75 6C 64 20 20 62 65 20 20 74 6F y would be to
000020: 20 20 73 74 6F 72 65 20 20 74 68 65 20 20 76 61 store the va
000030: 6C 75 65 20 20 69 6E 20 20 61 20 70 61 72 74 69 lue in a parti
000040: 63 75 6C 61 72 20 6D 65 6D 6F 72 79 0D 0A 20 20 cular memory..
000050: 20 6C 6F 63 61 74 69 6F 6E 20 77 68 69 63 68 20 location which
000060: 63 6F 75 6C 64 20 74 68 65 6E 20 62 65 20 50 45 could then be PE
000070: 45 4B 65 64 20 62 79 20 42 41 53 49 43 2E 0D 0A EKed by BASIC...
000080: 20 20 20 20 20 46 69 67 75 72 65 20 32 2E 37 20 Figure 2.7
000090: 67 69 76 65 73 20 61 20 20 6D 6F 72 65 20 20 66 gives a more f
0000A0: 6C 65 78 69 62 6C 65 20 20 6D 65 74 68 6F 64 2E lexible method.
0000B0: 20 20 20 3C 3C 54 68 65 20 20 6C 69 73 74 69 6E <<The listin
0000C0: 67 20 69 73 20 73 61 76 65 64 20 61 73 0D 0A 20 g is saved as..
0000D0: 20 20 46 49 47 32 37 2E 3E 3E 20 20 54 68 65 20 FIG27.>> The
0000E0: 6D 61 63 68 69 6E 65 20 20 63 6F 64 65 20 20 69 machine code i
0000F0: 73 20 20 63 61 6C 6C 65 64 20 20 77 69 74 68 20 s called with
000100: 20 43 41 4C 4C 20 20 26 39 30 30 30 2C 40 63 25 CALL &9000,@c%
000110: 2E 20 20 20 63 25 20 69 73 20 61 6E 0D 0A 20 20 . c% is an..
000120: 20 69 6E 74 65 67 65 72 20 76 61 72 69 61 62 6C integer variabl
000130: 65 2E 20 20 54 68 65 20 22 40 22 20 20 69 6E 20 e. The "@" in
000140: 20 66 72 6F 6E 74 20 20 6D 65 61 6E 73 20 20 74 front means t
000150: 68 61 74 20 20 69 6E 73 74 65 61 64 20 6F 66 20 hat instead of
000160: 70 61 73 73 69 6E 67 20 74 68 65 0D 0A 20 20 20 passing the..
000170: 76 61 6C 75 65 20 6F 66 20 63 25 2C 20 77 65 20 value of c%, we
000180: 61 72 65 20 70 61 73 73 69 6E 67 20 74 68 65 20 are passing the
000190: 20 61 64 64 72 65 73 73 20 20 69 6E 20 6D 65 6D address in mem
0001A0: 6F 72 79 20 61 74 20 77 68 69 63 68 20 69 74 20 ory at which it
0001B0: 69 73 20 73 74 6F 72 65 64 2E 0D 0A 20 20 20 54 is stored... T
0001C0: 68 65 20 69 64 65 61 20 69 73 20 74 68 61 74 20 he idea is that
0001D0: 69 66 20 77 65 20 61 6C 74 65 72 20 20 74 68 65 if we alter the
0001E0: 20 20 63 6F 6E 74 65 6E 74 73 20 20 6F 66 20 74 contents of t
0001F0: 68 69 73 20 61 64 64 72 65 73 73 2C 20 77 65 20 his address, we
Size : 512 (Real : 512)
000000: 65 20 20 5A 38 30 20 20 70 72 6F 63 65 73 73 6F e Z80 processo
000010: 72 20 20 63 6F 6E 74 72 6F 6C 6C 69 6E 67 20 6F r controlling o
000020: 75 72 20 63 6F 6D 70 75 74 65 72 73 20 70 72 65 ur computers pre
000030: 66 65 72 73 0D 0A 20 20 20 69 74 2E 20 20 54 68 fers.. it. Th
000040: 69 73 20 6D 65 74 68 6F 64 20 69 73 20 63 61 6C is method is cal
000050: 6C 65 64 20 20 22 4C 69 74 74 6C 65 20 20 45 6E led "Little En
000060: 64 69 61 6E 22 20 61 72 72 61 6E 67 65 6D 65 6E dian" arrangemen
000070: 74 2C 20 74 6F 20 62 65 20 63 6F 6E 74 72 61 73 t, to be contras
000080: 74 65 64 0D 0A 20 20 20 77 69 74 68 20 22 42 69 ted.. with "Bi
000090: 67 20 45 6E 64 69 61 6E 22 2C 20 61 73 20 75 73 g Endian", as us
0000A0: 65 64 20 62 79 20 20 74 68 65 20 20 41 70 70 6C ed by the Appl
0000B0: 65 20 4D 61 63 69 6E 74 6F 73 68 2C 20 61 6D 6F e Macintosh, amo
0000C0: 6E 67 20 6F 74 68 65 72 73 2C 20 61 6E 64 20 6E ng others, and n
0000D0: 6F 74 0D 0A 20 20 20 74 6F 20 62 65 20 63 6F 6E ot.. to be con
0000E0: 66 75 73 65 64 20 77 69 74 68 20 61 6E 79 74 68 fused with anyth
0000F0: 69 6E 67 20 74 6F 20 64 6F 20 77 69 74 68 20 62 ing to do with b
000100: 6F 69 6C 65 64 20 65 67 67 73 2E 0D 0A 20 20 20 oiled eggs...
000110: 20 20 46 6F 72 20 6E 75 6D 62 65 72 73 20 73 6D For numbers sm
000120: 61 6C 6C 65 72 20 74 68 61 6E 20 32 35 36 2C 20 aller than 256,
000130: 74 68 65 20 73 65 63 6F 6E 64 20 62 79 74 65 20 the second byte
000140: 77 69 6C 6C 20 61 6C 77 61 79 73 20 62 65 20 7A will always be z
000150: 65 72 6F 2C 20 73 6F 20 61 73 0D 0A 20 20 20 77 ero, so as.. w
000160: 65 20 61 72 65 20 72 65 74 75 72 6E 69 6E 67 20 e are returning
000170: 61 20 76 61 6C 75 65 20 62 65 74 77 65 65 6E 20 a value between
000180: 30 20 61 6E 64 20 32 35 35 2C 20 77 65 20 6E 65 0 and 255, we ne
000190: 65 64 20 74 6F 20 73 65 74 20 74 68 65 20 73 65 ed to set the se
0001A0: 63 6F 6E 64 20 62 79 74 65 0D 0A 20 20 20 74 6F cond byte.. to
0001B0: 20 7A 65 72 6F 20 6A 75 73 74 20 74 6F 20 6D 61 zero just to ma
0001C0: 6B 65 20 73 75 72 65 20 20 77 65 20 20 6F 76 65 ke sure we ove
0001D0: 72 77 72 69 74 65 20 61 6E 79 20 70 72 65 76 69 rwrite any previ
0001E0: 6F 75 73 20 76 61 6C 75 65 2E 20 20 46 6F 72 20 ous value. For
0001F0: 65 78 61 6D 70 6C 65 2C 0D 0A 20 20 20 69 66 20 example,.. if
Size : 512 (Real : 512)
000000: 20 62 79 74 65 20 69 73 20 74 68 65 20 6C 65 6E byte is the len
000010: 67 74 68 20 6F 66 20 20 74 68 65 20 73 74 72 69 gth of the stri
000020: 6E 67 2C 20 61 6E 64 20 74 68 65 20 6E 65 78 74 ng, and the next
000030: 20 74 77 6F 20 62 79 74 65 73 0D 0A 20 20 20 67 two bytes.. g
000040: 69 76 65 20 74 68 65 20 61 64 64 72 65 73 73 20 ive the address
000050: 61 74 20 20 77 68 69 63 68 20 20 74 68 65 20 20 at which the
000060: 61 63 74 75 61 6C 20 20 63 68 61 72 61 63 74 65 actual characte
000070: 72 73 20 20 69 6E 20 20 74 68 65 20 73 74 72 69 rs in the stri
000080: 6E 67 20 63 61 6E 20 62 65 0D 0A 20 20 20 66 6F ng can be.. fo
000090: 75 6E 64 2E 0D 0A 20 20 20 20 20 57 68 65 6E 20 und... When
0000A0: 70 61 73 73 69 6E 67 20 74 68 65 20 61 64 64 72 passing the addr
0000B0: 65 73 73 20 6F 66 20 61 20 20 73 74 72 69 6E 67 ess of a string
0000C0: 20 20 76 61 72 69 61 62 6C 65 20 74 6F 20 6D 61 variable to ma
0000D0: 63 68 69 6E 65 20 63 6F 64 65 2C 20 77 65 20 6D chine code, we m
0000E0: 75 73 74 0D 0A 20 20 20 6D 61 6B 65 20 73 75 72 ust.. make sur
0000F0: 65 20 74 68 61 74 20 74 68 65 20 76 61 72 69 61 e that the varia
000100: 62 6C 65 20 61 6C 72 65 61 64 79 20 65 78 69 73 ble already exis
000110: 74 73 2C 20 20 61 6E 64 20 74 68 61 74 20 69 74 ts, and that it
000120: 20 69 73 20 6C 6F 6E 67 20 65 6E 6F 75 67 68 20 is long enough
000130: 74 6F 0D 0A 20 20 20 68 6F 6C 64 20 77 68 61 74 to.. hold what
000140: 20 77 65 20 77 61 6E 74 20 74 68 65 20 6D 61 63 we want the mac
000150: 68 69 6E 65 20 63 6F 64 65 20 74 6F 20 73 74 6F hine code to sto
000160: 72 65 20 69 6E 20 69 74 2E 20 20 4C 69 6E 65 20 re in it. Line
000170: 31 32 30 20 74 61 6B 65 73 20 63 61 72 65 20 6F 120 takes care o
000180: 66 0D 0A 20 20 20 74 68 69 73 20 62 79 20 73 65 f.. this by se
000190: 74 74 69 6E 67 20 61 24 20 74 6F 20 62 65 20 61 tting a$ to be a
0001A0: 20 73 70 61 63 65 2E 0D 0A 20 20 20 20 20 54 68 space... Th
0001B0: 65 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 66 e machine code f
0001C0: 69 72 73 74 20 6C 6F 61 64 73 20 74 68 65 20 20 irst loads the
0001D0: 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 73 address of the s
0001E0: 74 72 69 6E 67 20 64 65 73 63 72 69 70 74 6F 72 tring descriptor
0001F0: 20 62 6C 6F 63 6B 0D 0A 20 20 20 69 6E 74 6F 20 block.. into
Size : 512 (Real : 512)
000000: 31 33 30 20 50 52 49 4E 54 3A 50 52 49 4E 54 22 130 PRINT:PRINT"
000010: 54 68 65 20 6C 65 74 74 65 72 20 61 74 20 74 68 The letter at th
000020: 65 20 74 6F 70 20 6C 65 66 74 20 6F 66 20 74 68 e top left of th
000030: 65 20 73 63 72 65 65 6E 20 69 73 20 61 20 22 3B e screen is a ";
000040: 43 48 52 24 28 63 25 29 0D 0A 20 20 20 31 39 30 CHR$(c%).. 190
000050: 20 44 41 54 41 20 44 44 2C 36 36 2C 30 31 2C 44 DATA DD,66,01,D
000060: 44 2C 36 45 2C 30 30 2C 43 44 2C 36 30 2C 42 42 D,6E,00,CD,60,BB
000070: 2C 37 37 2C 32 33 2C 33 36 2C 30 30 2C 43 39 0D ,77,23,36,00,C9.
000080: 0A 0D 0A 20 20 20 44 44 20 36 36 20 30 31 20 20 ... DD 66 01
000090: 20 20 20 20 4C 44 20 48 2C 28 49 58 2B 31 29 0D LD H,(IX+1).
0000A0: 0A 20 20 20 44 44 20 36 45 20 30 30 20 20 20 20 . DD 6E 00
0000B0: 20 20 4C 44 20 4C 2C 28 49 58 2B 30 29 0D 0A 20 LD L,(IX+0)..
0000C0: 20 20 43 44 20 36 30 20 42 42 20 20 20 20 20 20 CD 60 BB
0000D0: 43 41 4C 4C 20 30 42 42 36 30 68 0D 0A 20 20 20 CALL 0BB60h..
0000E0: 37 37 20 20 20 20 20 20 20 20 20 20 20 20 4C 44 77 LD
0000F0: 20 28 48 4C 29 2C 41 0D 0A 20 20 20 32 33 20 20 (HL),A.. 23
000100: 20 20 20 20 20 20 20 20 20 20 49 4E 43 20 48 4C INC HL
000110: 0D 0A 20 20 20 33 36 20 30 30 20 20 20 20 20 20 .. 36 00
000120: 20 20 20 4C 44 20 28 48 4C 29 2C 30 0D 0A 20 20 LD (HL),0..
000130: 20 43 39 20 20 20 20 20 20 20 20 20 20 20 20 52 C9 R
000140: 45 54 0D 0A 0D 0A 20 20 20 46 69 67 75 72 65 20 ET.... Figure
000150: 32 2E 37 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 31 30 2.7........ 10
000160: 30 20 4D 45 4D 4F 52 59 20 26 38 46 46 46 3A 61 0 MEMORY &8FFF:a
000170: 3D 26 39 30 30 30 3A 46 4F 52 20 78 3D 30 20 54 =&9000:FOR x=0 T
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: 75 6D 62 65 72 73 20 77 69 6C 6C 20 6C 6F 6F 6B umbers will look
000010: 20 61 66 74 65 72 20 74 68 65 6D 73 65 6C 76 65 after themselve
000020: 73 2E 0D 0A 0D 0A 20 20 20 53 4D 41 4C 4C 20 42 s..... SMALL B
000030: 55 54 20 49 4E 44 49 53 50 45 4E 53 41 42 4C 45 UT INDISPENSABLE
000040: 0D 0A 20 20 20 53 74 72 69 6E 67 20 76 61 72 69 .. String vari
000050: 61 62 6C 65 73 20 61 72 65 20 73 74 6F 72 65 64 ables are stored
000060: 20 69 6E 20 61 20 76 65 72 79 20 64 69 66 66 65 in a very diffe
000070: 72 65 6E 74 20 77 61 79 20 66 72 6F 6D 20 69 6E rent way from in
000080: 74 65 67 65 72 73 2E 20 20 49 66 20 79 6F 75 0D tegers. If you.
000090: 0A 20 20 20 68 61 76 65 20 61 20 73 74 72 69 6E . have a strin
0000A0: 67 20 76 61 72 69 61 62 6C 65 20 61 24 2C 20 74 g variable a$, t
0000B0: 68 65 6E 20 20 40 61 24 20 20 67 69 76 65 73 20 hen @a$ gives
0000C0: 20 75 73 20 20 74 68 65 20 61 64 64 72 65 73 73 us the address
0000D0: 20 6F 66 20 74 68 65 20 73 74 72 69 6E 67 0D 0A of the string..
0000E0: 20 20 20 64 65 73 63 72 69 70 74 6F 72 20 62 6C descriptor bl
0000F0: 6F 63 6B 20 66 6F 72 20 61 24 2E 20 20 54 68 65 ock for a$. The
000100: 20 73 74 72 69 6E 67 20 64 65 73 63 72 69 70 74 string descript
000110: 6F 72 20 62 6C 6F 63 6B 20 69 73 20 74 68 72 65 or block is thre
000120: 65 20 62 79 74 65 73 20 6C 6F 6E 67 2C 0D 0A 20 e bytes long,..
000130: 20 20 61 6E 64 20 74 68 65 20 66 69 72 73 74 20 and the first
000140: 62 79 74 65 20 69 73 20 74 68 65 20 6C 65 6E 67 byte is the leng
000150: 74 68 20 6F 66 20 61 24 2E 20 20 54 72 79 20 69 th of a$. Try i
000160: 74 20 6F 75 74 3A 0D 0A 0D 0A 20 20 20 20 20 20 t out:....
000170: 20 20 20 61 24 3D 22 48 65 6C 6C 6F 22 0D 0A 20 a$="Hello"..
000180: 20 20 20 20 20 20 20 20 50 52 49 4E 54 20 50 45 PRINT PE
000190: 45 4B 28 40 61 24 29 0D 0A 0D 0A 20 20 20 54 68 EK(@a$).... Th
0001A0: 65 20 6E 65 78 74 20 74 77 6F 20 62 79 74 65 73 e next two bytes
0001B0: 20 67 69 76 65 20 75 73 20 74 68 65 20 20 61 64 give us the ad
0001C0: 64 72 65 73 73 20 20 61 74 20 77 68 69 63 68 20 dress at which
0001D0: 74 68 65 20 61 63 74 75 61 6C 20 63 68 61 72 61 the actual chara
0001E0: 63 74 65 72 73 20 69 6E 0D 0A 20 20 20 74 68 65 cters in.. the
0001F0: 20 73 74 72 69 6E 67 20 61 72 65 20 73 74 6F 72 string are stor
Size : 512 (Real : 512)
000000: 3A 50 52 49 4E 54 22 54 68 65 20 6C 65 74 74 65 :PRINT"The lette
000010: 72 20 61 74 20 74 68 65 20 74 6F 70 20 6C 65 66 r at the top lef
000020: 74 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 t of the screen
000030: 69 73 20 22 3B 61 24 0D 0A 20 20 20 31 39 30 20 is ";a$.. 190
000040: 44 41 54 41 20 44 44 2C 36 36 2C 30 31 2C 44 44 DATA DD,66,01,DD
000050: 2C 36 45 2C 30 30 2C 32 33 2C 35 45 2C 32 33 2C ,6E,00,23,5E,23,
000060: 35 36 2C 43 44 2C 36 30 2C 42 42 2C 31 32 2C 43 56,CD,60,BB,12,C
000070: 39 0D 0A 0D 0A 20 20 20 44 44 20 36 36 20 30 31 9.... DD 66 01
000080: 20 20 20 20 20 20 4C 44 20 48 2C 28 49 58 2B 31 LD H,(IX+1
000090: 29 0D 0A 20 20 20 44 44 20 36 45 20 30 30 20 20 ).. DD 6E 00
0000A0: 20 20 20 20 4C 44 20 4C 2C 28 49 58 2B 30 29 0D LD L,(IX+0).
0000B0: 0A 20 20 20 32 33 20 20 20 20 20 20 20 20 20 20 . 23
0000C0: 20 20 49 4E 43 20 48 4C 0D 0A 20 20 20 35 45 20 INC HL.. 5E
0000D0: 20 20 20 20 20 20 20 20 20 20 20 4C 44 20 45 2C LD E,
0000E0: 28 48 4C 29 0D 0A 20 20 20 32 33 20 20 20 20 20 (HL).. 23
0000F0: 20 20 20 20 20 20 20 49 4E 43 20 48 4C 0D 0A 20 INC HL..
000100: 20 20 35 36 20 20 20 20 20 20 20 20 20 20 20 20 56
000110: 4C 44 20 44 2C 28 48 4C 29 0D 0A 20 20 20 43 44 LD D,(HL).. CD
000120: 20 36 30 20 42 42 20 20 20 20 20 20 43 41 4C 4C 60 BB CALL
000130: 20 30 42 42 36 30 68 0D 0A 20 20 20 31 32 20 20 0BB60h.. 12
000140: 20 20 20 20 20 20 20 20 20 20 4C 44 20 28 44 45 LD (DE
000150: 29 2C 41 0D 0A 20 20 20 43 39 20 20 20 20 20 20 ),A.. C9
000160: 20 20 20 20 20 20 52 45 54 0D 0A 0D 0A 20 20 20 RET....
000170: 46 69 67 75 72 65 20 32 2E 37 31 0D 0A 1A 72 65 Figure 2.71...re
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: 65 64 2E 20 20 54 68 65 20 66 6F 6C 6C 6F 77 69 ed. The followi
000010: 6E 67 20 20 63 6F 6D 6D 61 6E 64 73 20 20 70 75 ng commands pu
000020: 74 20 74 68 69 73 20 61 64 64 72 65 73 73 20 69 t this address i
000030: 6E 74 6F 20 74 68 65 0D 0A 20 20 20 76 61 72 69 nto the.. vari
000040: 61 62 6C 65 20 61 64 64 72 2C 20 61 6E 64 20 74 able addr, and t
000050: 68 65 6E 20 70 72 69 6E 74 20 6F 75 74 20 74 68 hen print out th
000060: 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6E 20 e characters in
000070: 74 68 65 20 73 74 72 69 6E 67 3A 0D 0A 0D 0A 20 the string:....
000080: 20 20 20 20 20 20 20 20 6C 65 6E 67 74 68 3D 50 length=P
000090: 45 45 4B 28 40 61 24 29 0D 0A 20 20 20 20 20 20 EEK(@a$)..
0000A0: 20 20 20 61 64 64 72 3D 50 45 45 4B 28 40 61 24 addr=PEEK(@a$
0000B0: 2B 31 29 2B 32 35 36 2A 50 45 45 4B 28 40 61 24 +1)+256*PEEK(@a$
0000C0: 2B 32 29 0D 0A 20 20 20 20 20 20 20 20 20 46 4F +2).. FO
0000D0: 52 20 7A 3D 30 20 54 4F 20 6C 65 6E 67 74 68 2D R z=0 TO length-
0000E0: 31 3A 50 52 49 4E 54 20 43 48 52 24 28 50 45 45 1:PRINT CHR$(PEE
0000F0: 4B 28 61 64 64 72 2B 7A 29 29 3B 3A 4E 45 58 54 K(addr+z));:NEXT
000100: 0D 0A 0D 0A 20 20 20 49 74 20 69 73 20 62 61 73 .... It is bas
000110: 69 63 61 6C 6C 79 20 61 20 76 65 72 79 20 73 6C ically a very sl
000120: 6F 77 20 77 61 79 20 6F 66 20 64 6F 69 6E 67 20 ow way of doing
000130: 50 52 49 4E 54 20 61 24 2E 0D 0A 20 20 20 20 20 PRINT a$...
000140: 46 69 67 75 72 65 20 32 2E 37 31 20 3C 3C 73 61 Figure 2.71 <<sa
000150: 76 65 64 20 61 73 20 46 49 47 32 37 31 20 20 6F ved as FIG271 o
000160: 6E 20 20 74 68 65 20 20 64 69 73 63 3E 3E 20 20 n the disc>>
000170: 70 75 74 73 20 74 68 69 73 20 6B 6E 6F 77 6C 65 puts this knowle
000180: 64 67 65 20 69 6E 74 6F 0D 0A 20 20 20 70 72 61 dge into.. pra
000190: 63 74 69 63 65 20 77 69 74 68 20 61 6E 6F 74 68 ctice with anoth
0001A0: 65 72 20 6C 69 74 74 6C 65 20 65 78 61 6D 70 6C er little exampl
0001B0: 65 20 74 6F 20 72 65 61 64 20 61 20 63 68 61 72 e to read a char
0001C0: 61 63 74 65 72 20 6F 66 66 20 74 68 65 20 73 63 acter off the sc
0001D0: 72 65 65 6E 2E 0D 0A 0D 0A 20 20 20 20 20 54 68 reen..... Th
0001E0: 65 72 65 20 69 73 20 71 75 69 74 65 20 61 20 62 ere is quite a b
0001F0: 69 74 20 20 20 6D 6F 72 65 20 20 74 6F 20 20 73 it more to s
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 34 20 2D 20 57 41 43 43 49 20 31 31 tch 4 - WACCI 11
000020: 33 2C 20 4A 75 6E 65 20 31 39 39 37 2C 20 70 2E 3, June 1997, p.
000030: 20 31 31 2D 31 32 0D 0A 20 20 20 50 52 4F 47 52 11-12.. PROGR
000040: 41 4D 4D 45 52 53 27 20 50 41 54 43 48 20 34 0D AMMERS' PATCH 4.
000050: 0A 20 20 20 62 79 20 4D 61 74 74 68 65 77 20 26 . by Matthew &
000060: 20 53 74 65 70 68 65 6E 20 50 68 69 6C 6C 69 70 Stephen Phillip
000070: 73 0D 0A 0D 0A 20 20 20 57 65 20 66 69 6E 64 20 s.... We find
000080: 66 69 6E 65 6C 79 20 67 72 61 74 65 64 20 20 50 finely grated P
000090: 61 72 6D 65 73 61 6E 20 20 63 68 65 65 73 65 20 armesan cheese
0000A0: 20 73 70 72 69 6E 6B 6C 65 64 20 20 67 65 6E 65 sprinkled gene
0000B0: 72 6F 75 73 6C 79 20 6F 76 65 72 20 61 20 67 6F rously over a go
0000C0: 6F 64 0D 0A 20 20 20 70 6C 61 74 65 66 75 6C 20 od.. plateful
0000D0: 6F 66 20 73 70 61 67 68 65 74 74 69 20 70 72 6F of spaghetti pro
0000E0: 64 75 63 65 73 20 61 20 20 70 6C 61 69 6E 2C 20 duces a plain,
0000F0: 20 6E 75 74 72 69 74 69 6F 75 73 2C 20 62 75 74 nutritious, but
000100: 20 73 74 72 69 6E 67 79 20 6D 65 61 6C 2E 20 20 stringy meal.
000110: 41 0D 0A 20 20 20 70 6F 70 75 6C 61 72 20 61 6C A.. popular al
000120: 74 65 72 6E 61 74 69 76 65 20 66 72 6F 6D 20 74 ternative from t
000130: 68 65 20 4F 72 69 65 6E 74 20 69 73 20 65 67 67 he Orient is egg
000140: 20 6E 6F 6F 64 6C 65 73 2C 20 62 75 74 20 77 65 noodles, but we
000150: 20 77 6F 75 6C 64 20 72 65 63 6F 6D 6D 65 6E 64 would recommend
000160: 0D 0A 20 20 20 74 68 65 20 66 6F 6C 6C 6F 77 69 .. the followi
000170: 6E 67 20 61 72 74 69 63 6C 65 2C 20 77 68 69 63 ng article, whic
000180: 68 20 20 69 73 20 20 65 71 75 61 6C 6C 79 20 20 h is equally
000190: 73 74 72 69 6E 67 79 20 20 61 6E 64 20 72 65 71 stringy and req
0001A0: 75 69 72 65 73 20 70 6C 65 6E 74 79 20 6F 66 0D uires plenty of.
0001B0: 0A 20 20 20 62 6C 61 63 6B 20 70 65 70 70 65 72 . black pepper
0001C0: 2E 0D 0A 0D 0A 20 20 20 53 54 52 49 4E 47 49 4E ..... STRINGIN
0001D0: 47 20 41 4C 4F 4E 47 0D 0A 20 20 20 4C 61 73 74 G ALONG.. Last
0001E0: 20 6D 6F 6E 74 68 20 77 65 20 66 69 6E 69 73 68 month we finish
0001F0: 65 64 20 6F 66 66 20 77 69 74 68 20 61 6E 20 65 ed off with an e
Size : 512 (Real : 512)
000000: 74 72 69 6E 67 20 20 68 61 6E 64 6C 69 6E 67 20 tring handling
000010: 20 74 68 61 6E 20 79 6F 75 20 6D 69 67 68 74 20 than you might
000020: 74 68 69 6E 6B 2E 0D 0A 20 20 20 41 66 74 65 72 think... After
000030: 20 79 6F 75 20 68 61 76 65 20 72 75 6E 20 74 68 you have run th
000040: 65 20 61 62 6F 76 65 20 70 72 6F 67 72 61 6D 2C e above program,
000050: 20 6C 69 73 74 20 69 74 20 61 67 61 69 6E 2C 20 list it again,
000060: 61 6E 64 20 68 61 76 65 20 61 20 63 6C 6F 73 65 and have a close
000070: 20 6C 6F 6F 6B 0D 0A 20 20 20 61 74 20 6C 69 6E look.. at lin
000080: 65 20 31 32 30 2E 20 20 41 6E 20 69 6E 74 65 72 e 120. An inter
000090: 65 73 74 69 6E 67 20 65 66 66 65 63 74 2C 20 69 esting effect, i
0000A0: 73 6E 27 74 20 69 74 3F 0D 0A 20 20 20 20 20 4E sn't it?.. N
0000B0: 65 78 74 20 6D 6F 6E 74 68 20 77 65 20 77 69 6C ext month we wil
0000C0: 6C 20 72 75 6E 20 20 6F 76 65 72 20 20 74 68 65 l run over the
0000D0: 20 20 6D 61 69 6E 20 20 70 6F 69 6E 74 73 20 20 main points
0000E0: 6F 66 20 20 68 6F 77 20 74 6F 20 68 61 6E 64 6C of how to handl
0000F0: 65 20 42 41 53 49 43 0D 0A 20 20 20 73 74 72 69 e BASIC.. stri
000100: 6E 67 73 20 69 6E 20 6D 61 63 68 69 6E 65 20 63 ngs in machine c
000110: 6F 64 65 2C 20 61 6E 64 20 67 6F 20 6F 76 65 72 ode, and go over
000120: 20 20 74 68 65 20 20 6D 61 63 68 69 6E 65 20 63 the machine c
000130: 6F 64 65 20 66 6F 72 20 6F 75 72 20 64 69 73 63 ode for our disc
000140: 20 6D 65 6E 75 2E 0D 0A 20 20 20 49 6E 20 74 68 menu... In th
000150: 65 20 6D 65 61 6E 74 69 6D 65 2C 20 68 61 76 65 e meantime, have
000160: 20 66 75 6E 20 70 6C 61 79 69 6E 67 20 20 61 72 fun playing ar
000170: 6F 75 6E 64 20 20 77 69 74 68 20 20 73 6F 6D 65 ound with some
000180: 20 6F 66 20 74 68 65 20 65 78 61 6D 70 6C 65 73 of the examples
000190: 2C 20 61 6E 64 0D 0A 20 20 20 73 65 65 20 77 68 , and.. see wh
0001A0: 61 74 20 65 6C 73 65 20 79 6F 75 20 63 61 6E 20 at else you can
0001B0: 63 6F 6D 65 20 75 70 20 77 69 74 68 2E 0D 0A 0D come up with....
0001C0: 0A 0D 0A 0D 0A 20 20 20 31 30 30 20 4D 45 4D 4F ..... 100 MEMO
0001D0: 52 59 20 26 38 46 46 46 3A 61 3D 26 39 30 30 30 RY &8FFF:a=&9000
0001E0: 3A 46 4F 52 20 78 3D 30 20 54 4F 20 31 30 3A 52 :FOR x=0 TO 10:R
0001F0: 45 41 44 20 61 24 3A 50 4F 4B 45 20 61 2B 78 2C EAD a$:POKE a+x,
Size : 512 (Real : 512)
000000: 78 61 6D 70 6C 65 20 6F 66 20 63 68 61 6E 67 69 xample of changi
000010: 6E 67 20 61 20 42 41 53 49 43 20 73 74 72 69 6E ng a BASIC strin
000020: 67 20 66 72 6F 6D 0D 0A 20 20 20 6D 61 63 68 69 g from.. machi
000030: 6E 65 20 63 6F 64 65 2E 20 20 48 65 72 65 20 69 ne code. Here i
000040: 74 20 20 69 73 20 20 61 67 61 69 6E 20 20 69 6E t is again in
000050: 20 20 46 69 67 75 72 65 20 20 32 2E 37 31 2E 20 Figure 2.71.
000060: 20 20 54 68 65 20 70 72 6F 67 72 61 6D 20 72 65 The program re
000070: 61 64 73 20 61 0D 0A 20 20 20 63 68 61 72 61 63 ads a.. charac
000080: 74 65 72 20 66 72 6F 6D 20 74 68 65 20 73 63 72 ter from the scr
000090: 65 65 6E 20 20 61 6E 64 20 20 70 75 74 73 20 20 een and puts
0000A0: 69 74 20 20 69 6E 74 6F 20 20 74 68 65 20 20 73 it into the s
0000B0: 74 72 69 6E 67 20 6F 66 20 6F 75 72 20 63 68 6F tring of our cho
0000C0: 69 63 65 2E 0D 0A 20 20 20 3C 3C 54 68 65 20 42 ice... <<The B
0000D0: 41 53 49 43 20 76 65 72 73 69 6F 6E 20 69 73 20 ASIC version is
0000E0: 73 61 76 65 64 20 61 73 20 46 49 47 32 37 31 20 saved as FIG271
0000F0: 6F 6E 20 74 68 65 20 64 69 73 63 2E 3E 3E 0D 0A on the disc.>>..
000100: 20 20 20 20 20 4A 75 73 74 20 74 6F 20 72 65 63 Just to rec
000110: 61 70 2C 20 75 6E 6C 69 6B 65 20 77 69 74 68 20 ap, unlike with
000120: 6E 75 6D 65 72 69 63 20 76 61 72 69 61 62 6C 65 numeric variable
000130: 73 2C 20 77 68 65 72 65 20 40 61 25 20 67 69 76 s, where @a% giv
000140: 65 73 20 74 68 65 20 61 63 74 75 61 6C 0D 0A 20 es the actual..
000150: 20 20 61 64 64 72 65 73 73 20 77 68 65 72 65 20 address where
000160: 74 68 65 20 6E 75 6D 62 65 72 20 68 65 6C 64 20 the number held
000170: 69 6E 20 61 25 20 69 73 20 73 74 6F 72 65 64 2C in a% is stored,
000180: 20 66 6F 72 20 61 20 73 74 72 69 6E 67 2C 20 40 for a string, @
000190: 61 24 20 67 69 76 65 73 20 74 68 65 0D 0A 20 20 a$ gives the..
0001A0: 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 address of the
0001B0: 73 74 72 69 6E 67 20 64 65 73 63 72 69 70 74 6F string descripto
0001C0: 72 20 62 6C 6F 63 6B 20 66 6F 72 20 20 61 24 2E r block for a$.
0001D0: 20 20 54 68 69 73 20 62 6C 6F 63 6B 20 69 73 20 This block is
0001E0: 74 68 72 65 65 20 62 79 74 65 73 0D 0A 20 20 20 three bytes..
0001F0: 6C 6F 6E 67 2E 20 20 54 68 65 20 66 69 72 73 74 long. The first
Size : 512 (Real : 512)
000000: 56 41 4C 28 22 26 22 2B 61 24 29 3A 4E 45 58 54 VAL("&"+a$):NEXT
000010: 0D 0A 20 20 20 31 31 30 20 50 52 49 4E 54 22 45 .. 110 PRINT"E
000020: 6E 74 65 72 20 6E 75 6D 62 65 72 20 28 31 20 74 nter number (1 t
000030: 6F 20 32 35 35 29 22 3B 3A 49 4E 50 55 54 20 78 o 255)";:INPUT x
000040: 0D 0A 20 20 20 31 32 30 20 43 41 4C 4C 20 26 39 .. 120 CALL &9
000050: 30 30 30 2C 78 3A 50 52 49 4E 54 0D 0A 20 20 20 000,x:PRINT..
000060: 31 33 30 20 47 4F 54 4F 20 31 31 30 0D 0A 20 20 130 GOTO 110..
000070: 20 31 39 30 20 44 41 54 41 20 44 44 2C 34 36 2C 190 DATA DD,46,
000080: 30 30 2C 33 45 2C 34 30 2C 43 44 2C 35 41 2C 42 00,3E,40,CD,5A,B
000090: 42 2C 31 30 2C 46 42 2C 43 39 0D 0A 0D 0A 20 20 B,10,FB,C9....
0000A0: 20 44 44 20 34 36 20 30 30 20 20 20 20 20 20 20 DD 46 00
0000B0: 20 20 20 20 20 20 20 4C 44 20 42 2C 28 49 58 2B LD B,(IX+
0000C0: 30 29 0D 0A 20 20 20 33 45 20 34 30 20 20 20 20 0).. 3E 40
0000D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 4C 44 20 LD
0000E0: 41 2C 22 40 22 0D 0A 20 20 20 43 44 20 35 41 20 A,"@".. CD 5A
0000F0: 42 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 BB
000100: 6C 6F 6F 70 3A 20 43 41 4C 4C 20 30 42 42 35 41 loop: CALL 0BB5A
000110: 68 0D 0A 20 20 20 31 30 20 46 42 20 20 20 20 20 h.. 10 FB
000120: 20 20 20 20 20 20 20 20 20 20 20 20 44 4A 4E 5A DJNZ
000130: 20 6C 6F 6F 70 0D 0A 20 20 20 43 39 20 20 20 20 loop.. C9
000140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000150: 52 45 54 0D 0A 0D 0A 20 20 20 46 69 67 75 72 65 RET.... Figure
000160: 20 32 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 31 30 30 2........ 100
000170: 20 4D 45 4D 4F 52 59 20 26 38 46 46 46 3A 61 3D MEMORY &8FFF:a=
000180: 26 39 30 30 30 3A 46 4F 52 20 78 3D 30 20 54 4F &9000:FOR x=0 TO
000190: 20 31 33 3A 52 45 41 44 20 61 24 3A 50 4F 4B 45 13:READ a$:POKE
0001A0: 20 61 2B 78 2C 56 41 4C 28 22 26 22 2B 61 24 29 a+x,VAL("&"+a$)
0001B0: 3A 4E 45 58 54 0D 0A 20 20 20 31 31 30 20 4D 4F :NEXT.. 110 MO
0001C0: 44 45 20 32 3A 50 52 49 4E 54 22 42 75 6E 6E 79 DE 2:PRINT"Bunny
0001D0: 6D 65 6E 22 0D 0A 20 20 20 31 32 30 20 63 25 3D men".. 120 c%=
0001E0: 30 3A 4C 4F 43 41 54 45 20 31 2C 31 3A 43 41 4C 0:LOCATE 1,1:CAL
0001F0: 4C 20 26 39 30 30 30 2C 40 63 25 0D 0A 20 20 20 L &9000,@c%..
Size : 512 (Real : 512)
000000: 70 72 6F 70 65 72 6C 79 2E 20 20 49 74 20 69 73 properly. It is
000010: 20 62 65 74 74 65 72 20 20 74 6F 20 20 73 74 69 better to sti
000020: 63 6B 20 20 74 6F 20 61 6C 74 65 72 69 6E 67 20 ck to altering
000030: 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 0D the contents of.
000040: 0A 20 20 20 74 68 65 20 73 74 72 69 6E 67 20 61 . the string a
000050: 6C 6F 6E 65 2E 0D 0A 0D 0A 20 20 20 50 4F 50 20 lone..... POP
000060: 49 54 20 4F 4E 20 41 20 53 54 52 49 4E 47 0D 0A IT ON A STRING..
000070: 20 20 20 41 74 20 6C 6F 6E 67 20 6C 61 73 74 20 At long last
000080: 77 65 20 77 69 6C 6C 20 68 61 76 65 20 61 20 20 we will have a
000090: 67 6F 6F 64 20 20 6C 6F 6F 6B 20 20 61 74 20 74 good look at t
0000A0: 68 65 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 he machine code
0000B0: 66 72 6F 6D 20 74 68 65 20 64 69 73 63 0D 0A 20 from the disc..
0000C0: 20 20 6D 65 6E 75 20 70 72 6F 67 72 61 6D 20 69 menu program i
0000D0: 6E 20 74 68 65 20 46 65 62 72 75 61 72 79 20 20 n the February
0000E0: 61 72 74 69 63 6C 65 2E 20 20 20 54 68 65 20 20 article. The
0000F0: 61 73 73 65 6D 62 6C 79 20 6C 69 73 74 69 6E 67 assembly listing
000100: 20 69 73 20 67 69 76 65 6E 20 69 6E 0D 0A 20 20 is given in..
000110: 20 46 69 67 75 72 65 20 32 2E 37 31 38 2C 20 66 Figure 2.718, f
000120: 6F 6C 6C 6F 77 65 64 20 62 79 20 20 61 20 20 42 ollowed by a B
000130: 41 53 49 43 20 20 70 72 6F 67 72 61 6D 20 20 74 ASIC program t
000140: 6F 20 20 70 6F 6B 65 20 20 69 74 20 69 6E 74 6F o poke it into
000150: 20 6D 65 6D 6F 72 79 20 61 6E 64 0D 0A 20 20 20 memory and..
000160: 64 65 6D 6F 6E 73 74 72 61 74 65 20 69 74 73 20 demonstrate its
000170: 75 73 65 2E 20 20 3C 3C 54 68 69 73 20 69 73 20 use. <<This is
000180: 73 61 76 65 64 20 61 73 20 46 49 47 32 37 31 38 saved as FIG2718
000190: 20 6F 6E 20 74 68 65 20 64 69 73 63 2E 3E 3E 0D on the disc.>>.
0001A0: 0A 20 20 20 20 20 4C 69 6E 65 20 32 30 20 73 68 . Line 20 sh
0001B0: 6F 77 73 20 68 6F 77 20 20 74 68 65 20 20 6D 61 ows how the ma
0001C0: 63 68 69 6E 65 20 20 63 6F 64 65 20 20 63 61 6E chine code can
0001D0: 20 20 62 65 20 20 63 61 6C 6C 65 64 2E 20 20 20 be called.
0001E0: 54 68 65 20 6A 6F 62 20 6F 66 20 74 68 65 0D 0A The job of the..
0001F0: 20 20 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 machine code
Size : 512 (Real : 512)
000000: 77 61 79 2C 20 61 6E 64 20 69 66 20 79 6F 75 72 way, and if your
000010: 20 70 72 6F 67 72 61 6D 20 64 65 66 69 6E 65 73 program defines
000020: 0D 0A 20 20 20 61 20 73 74 72 69 6E 67 20 62 79 .. a string by
000030: 20 73 61 79 69 6E 67 20 61 24 3D 22 20 22 2C 20 saying a$=" ",
000040: 69 74 20 73 65 74 73 20 20 75 70 20 74 68 65 20 it sets up the
000050: 73 74 72 69 6E 67 20 64 65 73 63 72 69 70 74 6F string descripto
000060: 72 20 62 6C 6F 63 6B 20 73 6F 20 74 68 61 74 0D r block so that.
000070: 0A 20 20 20 74 68 65 20 61 64 64 72 65 73 73 20 . the address
000080: 70 6F 69 6E 74 69 6E 67 20 74 6F 20 74 68 65 20 pointing to the
000090: 20 63 68 61 72 61 63 74 65 72 73 20 20 6A 75 73 characters jus
0000A0: 74 20 20 70 6F 69 6E 74 73 20 20 62 61 63 6B 20 t points back
0000B0: 74 6F 20 74 68 65 20 6C 69 6E 65 20 69 6E 0D 0A to the line in..
0000C0: 20 20 20 42 41 53 49 43 20 77 68 65 72 65 20 79 BASIC where y
0000D0: 6F 75 20 64 65 66 69 6E 65 64 20 74 68 65 20 73 ou defined the s
0000E0: 74 72 69 6E 67 21 20 20 20 54 68 65 20 20 61 64 tring! The ad
0000F0: 64 72 65 73 73 20 20 69 73 20 63 68 61 6E 67 65 dress is change
000100: 64 20 74 6F 20 70 6F 69 6E 74 20 74 6F 0D 0A 20 d to point to..
000110: 20 20 73 6F 6D 65 77 68 65 72 65 20 69 6E 20 74 somewhere in t
000120: 68 65 20 73 74 72 69 6E 67 20 20 61 72 65 61 20 he string area
000130: 20 61 73 20 20 73 6F 6F 6E 20 20 61 73 20 20 79 as soon as y
000140: 6F 75 20 20 61 6C 74 65 72 20 20 74 68 65 20 73 ou alter the s
000150: 74 72 69 6E 67 20 77 69 74 68 20 61 0D 0A 20 20 tring with a..
000160: 20 63 6F 6D 6D 61 6E 64 20 6C 69 6B 65 20 61 24 command like a$
000170: 3D 61 24 2B 22 65 78 74 72 61 22 2C 20 6F 72 20 =a$+"extra", or
000180: 73 69 6D 69 6C 61 72 20 63 6F 6E 73 74 72 75 63 similar construc
000190: 74 69 6F 6E 73 2E 20 20 42 65 66 6F 72 65 20 74 tions. Before t
0001A0: 68 69 73 20 68 61 70 70 65 6E 73 0D 0A 20 20 20 his happens..
0001B0: 74 68 6F 75 67 68 2C 20 61 6E 79 20 6D 61 63 68 though, any mach
0001C0: 69 6E 65 20 63 6F 64 65 20 61 6C 74 65 72 69 6E ine code alterin
0001D0: 67 20 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 6F g the contents o
0001E0: 66 20 61 24 20 77 6F 75 6C 64 20 61 6C 73 6F 20 f a$ would also
0001F0: 63 68 61 6E 67 65 20 74 68 65 0D 0A 20 20 20 42 change the.. B
Size : 512 (Real : 512)
000000: 69 73 20 20 74 6F 20 20 72 65 61 64 20 20 63 68 is to read ch
000010: 61 72 61 63 74 65 72 73 20 20 66 72 6F 6D 20 20 aracters from
000020: 74 68 65 20 20 73 63 72 65 65 6E 2C 20 20 73 74 the screen, st
000030: 61 72 74 69 6E 67 20 61 74 20 74 68 65 0D 0A 20 arting at the..
000040: 20 20 63 75 72 72 65 6E 74 20 63 75 72 73 6F 72 current cursor
000050: 20 70 6F 73 69 74 69 6F 6E 2E 20 20 54 68 65 20 position. The
000060: 72 65 73 75 6C 74 73 20 61 72 65 20 70 6C 61 63 results are plac
000070: 65 64 20 69 6E 20 74 68 65 20 73 74 72 69 6E 67 ed in the string
000080: 20 70 61 73 73 65 64 20 66 72 6F 6D 0D 0A 20 20 passed from..
000090: 20 42 41 53 49 43 2E 20 20 54 68 65 20 6D 61 63 BASIC. The mac
0000A0: 68 69 6E 65 20 63 6F 64 65 20 6C 6F 6F 6B 73 20 hine code looks
0000B0: 74 6F 20 20 73 65 65 20 20 68 6F 77 20 20 6C 6F to see how lo
0000C0: 6E 67 20 74 68 69 73 20 73 74 72 69 6E 67 20 69 ng this string i
0000D0: 73 2C 20 61 6E 64 20 74 68 65 6E 0D 0A 20 20 20 s, and then..
0000E0: 72 65 61 64 73 20 74 68 69 73 20 6D 61 6E 79 20 reads this many
0000F0: 63 68 61 72 61 63 74 65 72 73 20 66 72 6F 6D 20 characters from
000100: 74 68 65 20 73 63 72 65 65 6E 20 61 6E 64 20 70 the screen and p
000110: 6C 61 63 65 73 20 74 68 65 6D 20 69 6E 20 74 68 laces them in th
000120: 65 20 73 74 72 69 6E 67 2E 0D 0A 20 20 20 20 20 e string...
000130: 54 68 65 72 65 20 61 72 65 20 70 6C 65 6E 74 79 There are plenty
000140: 20 6F 66 20 63 6F 6D 6D 65 6E 74 73 20 69 6E 20 of comments in
000150: 74 68 65 20 6C 69 73 74 69 6E 67 20 74 6F 20 6D the listing to m
000160: 61 6B 65 20 69 74 20 65 61 73 69 65 72 20 74 6F ake it easier to
000170: 20 66 6F 6C 6C 6F 77 2C 0D 0A 20 20 20 62 75 74 follow,.. but
000180: 20 74 68 65 20 74 68 72 65 65 20 66 69 72 6D 77 the three firmw
000190: 61 72 65 20 63 61 6C 6C 73 20 6E 65 65 64 20 6D are calls need m
0001A0: 6F 72 65 20 65 78 70 6C 61 6E 61 74 69 6F 6E 3A ore explanation:
0001B0: 0D 0A 0D 0A 20 20 20 26 42 42 37 38 20 20 54 58 .... &BB78 TX
0001C0: 54 20 47 45 54 20 43 55 52 53 4F 52 0D 0A 20 20 T GET CURSOR..
0001D0: 20 20 20 20 20 20 20 20 52 65 74 75 72 6E 73 20 Returns
0001E0: 74 68 65 20 63 75 72 72 65 6E 74 20 20 74 65 78 the current tex
0001F0: 74 20 20 63 75 72 73 6F 72 20 20 70 6F 73 69 74 t cursor posit
Size : 512 (Real : 512)
000000: 41 53 49 43 20 70 72 6F 67 72 61 6D 20 6C 69 6E ASIC program lin
000010: 65 20 61 73 20 61 20 73 69 64 65 20 65 66 66 65 e as a side effe
000020: 63 74 2E 0D 0A 20 20 20 20 20 54 68 69 73 20 64 ct... This d
000030: 6F 65 73 20 6E 6F 74 20 72 65 61 6C 6C 79 20 6D oes not really m
000040: 61 74 74 65 72 20 69 6E 20 6F 75 72 20 20 6C 69 atter in our li
000050: 74 74 6C 65 20 65 78 61 6D 70 6C 65 2E 20 20 41 ttle example. A
000060: 6C 6C 20 77 65 20 77 61 6E 74 65 64 20 74 6F 20 ll we wanted to
000070: 64 6F 0D 0A 20 20 20 77 61 73 20 74 6F 20 6D 61 do.. was to ma
000080: 6B 65 20 73 75 72 65 20 74 68 61 74 20 61 24 20 ke sure that a$
000090: 77 61 73 20 20 6F 6E 65 20 20 63 68 61 72 61 63 was one charac
0000A0: 74 65 72 20 6C 6F 6E 67 2C 20 61 6E 64 20 61 24 ter long, and a$
0000B0: 3D 22 53 22 20 64 6F 65 73 20 6A 75 73 74 20 61 ="S" does just a
0000C0: 73 0D 0A 20 20 20 77 65 6C 6C 20 61 73 20 61 24 s.. well as a$
0000D0: 3D 22 20 22 2E 20 20 4F 66 74 65 6E 20 74 68 6F =" ". Often tho
0000E0: 75 67 68 2C 20 20 69 74 20 20 63 6F 75 6C 64 20 ugh, it could
0000F0: 70 72 6F 64 75 63 65 20 75 6E 64 65 73 69 72 61 produce undesira
000100: 62 6C 65 20 63 6F 6E 73 65 71 75 65 6E 63 65 73 ble consequences
000110: 0D 0A 20 20 20 28 62 75 67 73 29 2E 20 20 54 68 .. (bugs). Th
000120: 65 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 63 e machine code c
000130: 61 6E 6E 6F 74 20 74 65 6C 6C 20 77 68 65 74 68 annot tell wheth
000140: 65 72 20 74 68 65 20 63 68 61 72 61 63 74 65 72 er the character
000150: 73 20 6F 66 20 74 68 65 20 73 74 72 69 6E 67 0D s of the string.
000160: 0A 20 20 20 61 72 65 20 70 61 72 74 20 6F 66 20 . are part of
000170: 74 68 65 20 42 41 53 49 43 20 70 72 6F 67 72 61 the BASIC progra
000180: 6D 20 6F 72 20 73 74 6F 72 65 64 20 20 69 6E 20 m or stored in
000190: 74 68 65 20 73 74 72 69 6E 67 20 61 72 65 61 2E the string area.
0001A0: 20 20 57 68 61 74 20 77 65 20 6E 65 65 64 0D 0A What we need..
0001B0: 20 20 20 69 73 20 61 20 77 61 79 20 6F 66 20 66 is a way of f
0001C0: 6F 72 63 69 6E 67 20 42 41 53 49 43 20 74 6F 20 orcing BASIC to
0001D0: 20 73 74 6F 72 65 20 20 74 68 65 20 73 74 72 69 store the stri
0001E0: 6E 67 20 69 6E 20 74 68 65 20 73 74 72 69 6E 67 ng in the string
0001F0: 20 61 72 65 61 2C 20 72 61 74 68 65 72 0D 0A 20 area, rather..
Size : 512 (Real : 512)
000000: 69 6F 6E 2E 20 20 20 54 68 65 20 20 78 2D 63 6F ion. The x-co
000010: 6F 72 64 69 6E 61 74 65 20 69 73 0D 0A 20 20 20 ordinate is..
000020: 20 20 20 20 20 20 20 72 65 74 75 72 6E 65 64 20 returned
000030: 69 6E 20 48 2C 20 61 6E 64 20 72 65 67 69 73 74 in H, and regist
000040: 65 72 20 20 4C 20 20 68 6F 6C 64 73 20 20 74 68 er L holds th
000050: 65 20 79 2D 63 6F 6F 72 64 69 6E 61 74 65 2E 20 e y-coordinate.
000060: 20 41 6C 6C 20 6F 74 68 65 72 0D 0A 20 20 20 20 All other..
000070: 20 20 20 20 20 20 72 65 67 69 73 74 65 72 73 20 registers
000080: 61 70 61 72 74 20 66 72 6F 6D 20 41 46 20 61 72 apart from AF ar
000090: 65 20 70 72 65 73 65 72 76 65 64 2E 0D 0A 0D 0A e preserved.....
0000A0: 20 20 20 26 42 42 36 30 20 20 54 58 54 20 52 44 &BB60 TXT RD
0000B0: 20 43 48 41 52 0D 0A 20 20 20 20 20 20 20 20 20 CHAR..
0000C0: 20 4C 6F 6F 6B 73 20 61 74 20 74 68 65 20 63 75 Looks at the cu
0000D0: 72 72 65 6E 74 20 20 63 75 72 73 6F 72 20 20 70 rrent cursor p
0000E0: 6F 73 69 74 69 6F 6E 20 20 74 6F 20 20 73 65 65 osition to see
0000F0: 20 20 69 66 20 20 61 20 63 68 61 72 61 63 74 65 if a characte
000100: 72 20 69 73 0D 0A 20 20 20 20 20 20 20 20 20 20 r is..
000110: 70 72 65 73 65 6E 74 20 61 6E 64 20 69 64 65 6E present and iden
000120: 74 69 66 69 61 62 6C 65 2E 20 20 54 68 65 20 70 tifiable. The p
000130: 65 6E 20 61 6E 64 20 70 61 70 65 72 20 74 68 61 en and paper tha
000140: 74 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 t the character
000150: 77 61 73 0D 0A 20 20 20 20 20 20 20 20 20 20 70 was.. p
000160: 72 69 6E 74 65 64 20 69 6E 20 68 61 76 65 20 74 rinted in have t
000170: 6F 20 62 65 20 74 68 65 20 73 61 6D 65 20 61 73 o be the same as
000180: 20 20 74 68 65 20 63 75 72 72 65 6E 74 20 70 61 the current pa
000190: 70 65 72 20 61 6E 64 20 70 65 6E 20 66 6F 72 20 per and pen for
0001A0: 69 74 0D 0A 20 20 20 20 20 20 20 20 20 20 74 6F it.. to
0001B0: 20 62 65 20 72 65 63 6F 67 6E 69 7A 65 64 2E 20 be recognized.
0001C0: 20 49 66 20 74 68 65 72 65 20 20 69 73 20 20 61 If there is a
0001D0: 20 20 63 68 61 72 61 63 74 65 72 20 74 68 65 72 character ther
0001E0: 65 2C 20 43 61 72 72 79 20 69 73 20 74 72 75 65 e, Carry is true
0001F0: 2C 0D 0A 20 20 20 20 20 20 20 20 20 20 61 6E 64 ,.. and
Size : 512 (Real : 512)
000000: 20 20 74 68 61 6E 20 70 6F 69 6E 74 69 6E 67 20 than pointing
000010: 62 61 63 6B 20 74 6F 20 74 68 65 20 42 41 53 49 back to the BASI
000020: 43 20 70 72 6F 67 72 61 6D 2E 0D 0A 20 20 20 20 C program...
000030: 20 49 66 20 79 6F 75 20 6A 75 73 74 20 77 61 6E If you just wan
000040: 74 20 20 74 6F 20 20 64 65 66 69 6E 65 20 20 61 t to define a
000050: 20 20 73 74 72 69 6E 67 20 20 6F 66 20 20 61 20 string of a
000060: 20 63 65 72 74 61 69 6E 20 20 6C 65 6E 67 74 68 certain length
000070: 2C 20 73 61 79 20 74 65 6E 0D 0A 20 20 20 6C 65 , say ten.. le
000080: 74 74 65 72 73 2C 20 6A 75 73 74 20 75 73 65 3A tters, just use:
000090: 0D 0A 0D 0A 20 20 20 20 20 31 30 20 61 24 3D 53 .... 10 a$=S
0000A0: 50 41 43 45 24 28 31 30 29 0D 0A 0D 0A 20 20 20 PACE$(10)....
0000B0: 49 66 20 79 6F 75 20 77 61 6E 74 65 64 20 69 74 If you wanted it
0000C0: 20 74 6F 20 63 6F 6E 74 61 69 6E 20 70 61 72 74 to contain part
0000D0: 69 63 75 6C 61 72 20 63 68 61 72 61 63 74 65 72 icular character
0000E0: 73 2C 20 74 68 65 6E 0D 0A 0D 0A 20 20 20 20 20 s, then....
0000F0: 31 30 20 61 24 3D 22 22 2B 22 54 68 69 73 20 73 10 a$=""+"This s
000100: 74 72 69 6E 67 22 0D 0A 0D 0A 20 20 20 64 6F 65 tring".... doe
000110: 73 20 74 68 65 20 74 72 69 63 6B 20 71 75 69 74 s the trick quit
000120: 65 20 6E 69 63 65 6C 79 2E 20 20 42 41 53 49 43 e nicely. BASIC
000130: 20 20 64 6F 65 73 6E 27 74 20 20 73 70 6F 74 20 doesn't spot
000140: 74 68 61 74 20 74 68 65 20 66 69 6E 61 6C 20 76 that the final v
000150: 61 6C 75 65 20 6F 66 0D 0A 20 20 20 61 24 20 69 alue of.. a$ i
000160: 73 20 63 6F 6E 74 61 69 6E 65 64 20 69 6E 20 74 s contained in t
000170: 68 61 74 20 20 6C 69 6E 65 2C 20 20 61 6E 64 20 hat line, and
000180: 20 6A 75 73 74 20 20 73 68 6F 76 65 73 20 20 74 just shoves t
000190: 68 65 20 72 65 73 75 6C 74 20 6F 66 66 20 69 6E he result off in
0001A0: 74 6F 20 74 68 65 0D 0A 20 20 20 73 74 72 69 6E to the.. strin
0001B0: 67 20 61 72 65 61 20 77 69 74 68 6F 75 74 20 66 g area without f
0001C0: 75 72 74 68 65 72 20 61 64 6F 2E 0D 0A 0D 0A 20 urther ado.....
0001D0: 20 20 48 4F 57 20 4C 4F 4E 47 20 49 53 20 41 20 HOW LONG IS A
0001E0: 50 49 45 43 45 20 4F 46 20 53 54 52 49 4E 47 3F PIECE OF STRING?
0001F0: 0D 0A 20 20 20 4D 61 63 68 69 6E 65 20 63 6F 64 .. Machine cod
Size : 512 (Real : 512)
000000: 48 4C 2C 20 74 68 65 6E 20 74 68 65 20 61 64 64 HL, then the add
000010: 72 65 73 73 20 6F 66 20 20 74 68 65 20 20 73 74 ress of the st
000020: 72 69 6E 67 20 20 69 74 73 65 6C 66 20 20 69 73 ring itself is
000030: 20 6C 6F 61 64 65 64 20 69 6E 74 6F 20 44 45 2E loaded into DE.
000040: 20 20 54 68 65 0D 0A 20 20 20 63 68 61 72 61 63 The.. charac
000050: 74 65 72 20 72 65 74 75 72 6E 65 64 20 69 6E 20 ter returned in
000060: 72 65 67 69 73 74 65 72 20 41 20 62 79 20 74 68 register A by th
000070: 65 20 66 69 72 6D 77 61 72 65 20 63 61 6C 6C 20 e firmware call
000080: 69 73 20 74 68 65 6E 20 70 75 74 20 69 6E 74 6F is then put into
000090: 20 74 68 65 0D 0A 20 20 20 73 74 61 72 74 20 6F the.. start o
0000A0: 66 20 74 68 65 20 73 74 72 69 6E 67 2E 20 20 49 f the string. I
0000B0: 74 20 77 6F 75 6C 64 20 20 68 61 76 65 20 20 62 t would have b
0000C0: 65 65 6E 20 20 6D 6F 72 65 20 72 65 73 70 6F 6E een more respon
0000D0: 73 69 62 6C 65 20 74 6F 20 63 68 65 63 6B 20 74 sible to check t
0000E0: 68 61 74 0D 0A 20 20 20 74 68 65 20 73 74 72 69 hat.. the stri
0000F0: 6E 67 20 77 61 73 20 74 68 65 20 72 69 67 68 74 ng was the right
000100: 20 6C 65 6E 67 74 68 20 20 62 65 66 6F 72 65 20 length before
000110: 20 61 6C 74 65 72 69 6E 67 20 20 69 74 2C 20 62 altering it, b
000120: 75 74 20 74 68 61 74 20 77 6F 75 6C 64 20 6D 61 ut that would ma
000130: 6B 65 0D 0A 20 20 20 66 6F 72 20 61 20 72 61 74 ke.. for a rat
000140: 68 65 72 20 63 6F 6D 70 6C 69 63 61 74 65 64 20 her complicated
000150: 65 78 61 6D 70 6C 65 2E 0D 0A 20 20 20 20 20 57 example... W
000160: 68 65 6E 20 79 6F 75 20 72 75 6E 20 74 68 65 20 hen you run the
000170: 70 72 6F 67 72 61 6D 2C 20 61 73 20 20 77 65 6C program, as wel
000180: 6C 20 20 61 73 20 20 63 68 61 6E 67 69 6E 67 20 l as changing
000190: 20 61 24 20 74 6F 20 22 53 22 20 61 6E 64 20 70 a$ to "S" and p
0001A0: 72 69 6E 74 69 6E 67 0D 0A 20 20 20 74 68 69 73 rinting.. this
0001B0: 20 6F 6E 20 73 63 72 65 65 6E 20 69 6E 20 6C 69 on screen in li
0001C0: 6E 65 20 31 33 30 2C 20 69 66 20 20 79 6F 75 20 ne 130, if you
0001D0: 20 6C 69 73 74 20 69 74 20 61 67 61 69 6E 20 61 list it again a
0001E0: 66 74 65 72 77 61 72 64 73 20 79 6F 75 20 77 69 fterwards you wi
0001F0: 6C 6C 20 73 65 65 0D 0A 20 20 20 74 68 61 74 20 ll see.. that
Size : 512 (Real : 512)
000000: 65 20 63 61 6E 20 6C 6F 6F 6B 20 61 74 20 74 68 e can look at th
000010: 65 20 66 69 72 73 74 20 20 62 79 74 65 20 69 6E e first byte in
000020: 20 74 68 65 20 73 74 72 69 6E 67 20 64 65 73 63 the string desc
000030: 72 69 70 74 6F 72 20 62 6C 6F 63 6B 20 74 6F 0D riptor block to.
000040: 0A 20 20 20 66 69 6E 64 20 6F 75 74 20 74 68 65 . find out the
000050: 20 6C 65 6E 67 74 68 20 6F 66 20 74 68 65 20 20 length of the
000060: 73 74 72 69 6E 67 2E 20 20 20 59 6F 75 20 20 61 string. You a
000070: 72 65 20 20 6E 6F 74 20 73 75 70 70 6F 73 65 64 re not supposed
000080: 20 74 6F 20 61 6C 74 65 72 20 74 68 69 73 0D 0A to alter this..
000090: 20 20 20 62 79 74 65 2C 20 77 68 69 63 68 20 20 byte, which
0000A0: 6D 65 61 6E 73 20 20 74 68 61 74 20 20 79 6F 75 means that you
0000B0: 20 20 63 61 6E 6E 6F 74 20 20 63 68 61 6E 67 65 cannot change
0000C0: 20 20 74 68 65 20 20 6C 65 6E 67 74 68 20 20 6F the length o
0000D0: 66 20 20 61 6E 79 20 73 74 72 69 6E 67 0D 0A 20 f any string..
0000E0: 20 20 70 61 72 61 6D 65 74 65 72 20 70 61 73 73 parameter pass
0000F0: 65 64 20 74 6F 20 6D 61 63 68 69 6E 65 20 63 6F ed to machine co
000100: 64 65 2E 0D 0A 20 20 20 20 20 4F 6E 20 74 68 65 de... On the
000110: 20 34 36 34 20 69 74 20 69 73 20 70 6F 73 73 69 464 it is possi
000120: 62 6C 65 20 74 6F 20 20 6D 61 6B 65 20 20 61 20 ble to make a
000130: 20 73 74 72 69 6E 67 20 73 68 6F 72 74 65 72 20 string shorter
000140: 62 79 20 73 69 6D 70 6C 79 20 70 6F 6B 69 6E 67 by simply poking
000150: 20 61 0D 0A 20 20 20 73 6D 61 6C 6C 65 72 20 76 a.. smaller v
000160: 61 6C 75 65 20 69 6E 74 6F 20 74 68 65 20 66 69 alue into the fi
000170: 72 73 74 20 62 79 74 65 20 6F 66 20 74 68 65 20 rst byte of the
000180: 73 74 72 69 6E 67 20 64 65 73 63 72 69 70 74 6F string descripto
000190: 72 2C 20 62 75 74 20 69 66 20 79 6F 75 20 74 72 r, but if you tr
0001A0: 79 0D 0A 20 20 20 74 68 69 73 20 74 72 69 63 6B y.. this trick
0001B0: 20 77 69 74 68 20 6F 74 68 65 72 20 76 65 72 73 with other vers
0001C0: 69 6F 6E 73 20 6F 66 20 74 68 65 20 43 50 43 20 ions of the CPC
0001D0: 79 6F 75 20 77 69 6C 6C 20 66 69 6E 64 20 74 68 you will find th
0001E0: 61 74 20 74 68 65 20 6D 65 6D 6F 72 79 20 69 73 at the memory is
0001F0: 0D 0A 20 20 20 6E 6F 74 20 72 65 75 73 65 64 20 .. not reused
Size : 512 (Real : 512)
000000: 6C 69 6E 65 20 31 32 30 20 68 61 73 20 63 68 61 line 120 has cha
000010: 6E 67 65 64 20 61 6E 64 20 6E 6F 77 20 73 61 79 nged and now say
000020: 73 20 61 24 3D 22 53 22 20 61 74 20 74 68 65 20 s a$="S" at the
000030: 73 74 61 72 74 2E 0D 0A 20 20 20 20 20 54 68 69 start... Thi
000040: 73 20 69 73 20 70 72 6F 62 61 62 6C 79 20 6E 6F s is probably no
000050: 74 20 71 75 69 74 65 20 77 68 61 74 20 79 6F 75 t quite what you
000060: 20 20 77 6F 75 6C 64 20 65 78 70 65 63 74 2E 20 would expect.
000070: 20 41 6C 6C 20 74 68 61 74 20 74 68 65 20 6D 61 All that the ma
000080: 63 68 69 6E 65 0D 0A 20 20 20 63 6F 64 65 20 64 chine.. code d
000090: 69 64 20 77 61 73 20 70 6C 61 63 65 20 61 20 62 id was place a b
0000A0: 79 74 65 20 69 6E 74 6F 20 20 74 68 65 20 20 6D yte into the m
0000B0: 65 6D 6F 72 79 20 20 61 64 64 72 65 73 73 20 70 emory address p
0000C0: 6F 69 6E 74 65 64 20 74 6F 20 62 79 20 44 45 2C ointed to by DE,
0000D0: 20 61 6E 64 0D 0A 20 20 20 74 68 65 20 44 45 20 and.. the DE
0000E0: 72 65 67 69 73 74 65 72 20 68 61 73 20 62 65 65 register has bee
0000F0: 6E 20 6C 6F 61 64 65 64 20 77 69 74 68 20 74 68 n loaded with th
000100: 65 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 e address of the
000110: 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 72 first character
000120: 20 69 6E 0D 0A 20 20 20 74 68 65 20 73 74 72 69 in.. the stri
000130: 6E 67 2E 0D 0A 20 20 20 20 20 4E 6F 72 6D 61 6C ng... Normal
000140: 6C 79 20 74 68 69 73 20 61 64 64 72 65 73 73 20 ly this address
000150: 77 6F 75 6C 64 20 70 6F 69 6E 74 20 74 6F 20 73 would point to s
000160: 6F 6D 65 77 68 65 72 65 20 69 6E 20 74 68 65 20 omewhere in the
000170: 22 73 74 72 69 6E 67 20 61 72 65 61 22 2C 20 74 "string area", t
000180: 68 65 0D 0A 20 20 20 6D 65 6D 6F 72 79 20 6A 75 he.. memory ju
000190: 73 74 20 62 65 6C 6F 77 20 48 49 4D 45 4D 20 77 st below HIMEM w
0001A0: 68 65 72 65 20 74 68 65 20 63 68 61 72 61 63 74 here the charact
0001B0: 65 72 73 20 69 6E 20 74 68 65 20 73 74 72 69 6E ers in the strin
0001C0: 67 73 20 61 72 65 20 6B 65 70 74 2E 20 20 42 75 gs are kept. Bu
0001D0: 74 0D 0A 20 20 20 42 41 53 49 43 20 63 61 6E 20 t.. BASIC can
0001E0: 62 65 20 71 75 69 74 65 20 65 63 6F 6E 6F 6D 69 be quite economi
0001F0: 63 61 6C 20 69 6E 20 69 74 73 20 20 6F 77 6E 20 cal in its own
Size : 512 (Real : 512)
000000: 20 41 20 77 69 6C 6C 20 68 6F 6C 64 20 74 68 65 A will hold the
000010: 20 63 68 61 72 61 63 74 65 72 20 6E 75 6D 62 65 character numbe
000020: 72 2E 20 20 4F 74 68 65 72 77 69 73 65 20 43 61 r. Otherwise Ca
000030: 72 72 79 20 69 73 20 66 61 6C 73 65 20 61 6E 64 rry is false and
000040: 0D 0A 20 20 20 20 20 20 20 20 20 20 41 20 69 73 .. A is
000050: 20 7A 65 72 6F 2E 20 20 41 6C 6C 20 74 68 65 20 zero. All the
000060: 6F 74 68 65 72 20 72 65 67 69 73 74 65 72 73 20 other registers
000070: 61 72 65 20 70 72 65 73 65 72 76 65 64 2E 0D 0A are preserved...
000080: 0D 0A 20 20 20 26 42 42 36 46 20 20 54 58 54 20 .. &BB6F TXT
000090: 53 45 54 20 43 4F 4C 55 4D 4E 0D 0A 20 20 20 20 SET COLUMN..
0000A0: 20 20 20 20 20 20 53 65 74 73 20 6A 75 73 74 20 Sets just
0000B0: 78 2D 63 6F 6F 72 64 69 6E 61 74 65 20 6F 66 20 x-coordinate of
0000C0: 74 68 65 20 74 65 78 74 20 20 63 75 72 73 6F 72 the text cursor
0000D0: 20 20 74 6F 20 61 20 6E 65 77 20 70 6F 73 69 74 to a new posit
0000E0: 69 6F 6E 2C 20 68 65 6C 64 0D 0A 20 20 20 20 20 ion, held..
0000F0: 20 20 20 20 20 69 6E 20 41 2E 20 20 52 65 67 69 in A. Regi
000100: 73 74 65 72 73 20 41 46 20 61 6E 64 20 48 4C 20 sters AF and HL
000110: 61 72 65 20 63 6F 72 72 75 70 74 65 64 2C 20 61 are corrupted, a
000120: 6E 64 20 61 6C 6C 20 6F 74 68 65 72 73 20 70 72 nd all others pr
000130: 65 73 65 72 76 65 64 2E 0D 0A 0D 0A 20 20 20 4E eserved..... N
000140: 4F 20 53 54 52 49 4E 47 53 20 41 54 54 41 43 48 O STRINGS ATTACH
000150: 45 44 0D 0A 20 20 20 57 65 6C 6C 2C 20 74 77 6F ED.. Well, two
000160: 20 61 72 74 69 63 6C 65 73 20 74 6F 20 65 78 70 articles to exp
000170: 6C 61 69 6E 20 6A 75 73 74 20 33 34 20 62 79 74 lain just 34 byt
000180: 65 73 20 20 6F 66 20 6D 61 63 68 69 6E 65 20 63 es of machine c
000190: 6F 64 65 20 6D 75 73 74 20 62 65 20 61 20 62 69 ode must be a bi
0001A0: 74 0D 0A 20 20 20 6F 66 20 61 20 72 65 63 6F 72 t.. of a recor
0001B0: 64 2E 20 20 41 6C 74 68 6F 75 67 68 20 20 69 74 d. Although it
0001C0: 20 20 69 73 20 20 71 75 69 74 65 20 20 73 69 6D is quite sim
0001D0: 70 6C 65 20 20 63 6F 64 65 2C 20 20 69 74 20 64 ple code, it d
0001E0: 65 6D 6F 6E 73 74 72 61 74 65 73 20 73 6F 6D 65 emonstrates some
0001F0: 0D 0A 20 20 20 75 73 65 66 75 6C 20 74 65 63 68 .. useful tech
Size : 512 (Real : 512)
000000: 20 28 44 45 29 2C 41 0D 0A 20 20 20 43 39 20 20 (DE),A.. C9
000010: 20 20 20 20 20 20 20 20 20 20 52 45 54 0D 0A 0D RET...
000020: 0A 20 20 20 46 69 67 75 72 65 20 32 2E 37 31 0D . Figure 2.71.
000030: 0A 0D 0A 0D 0A 0D 0A 20 20 20 3B 69 6E 69 74 69 ....... ;initi
000040: 61 6C 69 73 61 74 69 6F 6E 20 2D 20 66 69 6E 64 alisation - find
000050: 20 63 75 72 73 6F 72 20 6C 6F 63 61 74 69 6F 6E cursor location
000060: 20 61 6E 64 20 66 69 6E 64 20 61 64 64 72 65 73 and find addres
000070: 73 20 61 6E 64 20 6C 65 6E 67 74 68 20 6F 66 20 s and length of
000080: 73 74 72 69 6E 67 0D 0A 0D 0A 20 20 20 43 44 20 string.... CD
000090: 37 38 20 42 42 20 20 43 41 4C 4C 20 30 42 42 37 78 BB CALL 0BB7
0000A0: 38 68 20 20 20 20 20 20 20 3B 67 65 74 20 63 75 8h ;get cu
0000B0: 72 72 65 6E 74 20 63 75 72 73 6F 72 20 70 6F 73 rrent cursor pos
0000C0: 69 74 69 6F 6E 20 69 6E 74 6F 20 48 4C 0D 0A 20 ition into HL..
0000D0: 20 20 34 43 20 20 20 20 20 20 20 20 4C 44 20 43 4C LD C
0000E0: 2C 48 20 20 20 20 20 20 20 20 20 20 20 20 3B 70 ,H ;p
0000F0: 75 74 20 78 2D 63 6F 6F 72 64 69 6E 61 74 65 20 ut x-coordinate
000100: 69 6E 74 6F 20 74 68 65 20 43 20 72 65 67 69 73 into the C regis
000110: 74 65 72 0D 0A 20 20 20 44 44 20 36 45 20 30 30 ter.. DD 6E 00
000120: 20 20 4C 44 20 4C 2C 28 49 58 2B 30 29 20 20 20 LD L,(IX+0)
000130: 20 20 20 20 3B 6C 6F 61 64 20 48 4C 20 77 69 74 ;load HL wit
000140: 68 20 73 74 72 69 6E 67 20 64 65 73 63 72 69 70 h string descrip
000150: 74 6F 72 20 62 6C 6F 63 6B 20 61 64 64 72 65 73 tor block addres
000160: 73 0D 0A 20 20 20 44 44 20 36 36 20 30 31 20 20 s.. DD 66 01
000170: 4C 44 20 48 2C 28 49 58 2B 31 29 0D 0A 20 20 20 LD H,(IX+1)..
000180: 34 36 20 20 20 20 20 20 20 20 4C 44 20 42 2C 28 46 LD B,(
000190: 48 4C 29 20 20 20 20 20 20 20 20 20 3B 6C 6F 61 HL) ;loa
0001A0: 64 20 42 20 77 69 74 68 20 74 68 65 20 6C 65 6E d B with the len
0001B0: 67 74 68 20 6F 66 20 74 68 65 20 73 74 72 69 6E gth of the strin
0001C0: 67 0D 0A 20 20 20 37 38 20 20 20 20 20 20 20 20 g.. 78
0001D0: 4C 44 20 41 2C 42 0D 0A 20 20 20 42 37 20 20 20 LD A,B.. B7
0001E0: 20 20 20 20 20 4F 52 20 41 20 20 20 20 20 20 20 OR A
0001F0: 20 20 20 20 20 20 20 3B 63 68 65 63 6B 20 69 66 ;check if
Size : 512 (Real : 512)
000000: 6E 69 71 75 65 73 2E 20 20 41 20 6C 6F 74 20 6F niques. A lot o
000010: 66 20 70 65 6F 70 6C 65 20 77 68 6F 20 73 74 61 f people who sta
000020: 72 74 20 6C 65 61 72 6E 69 6E 67 20 6D 61 63 68 rt learning mach
000030: 69 6E 65 20 63 6F 64 65 20 64 6F 20 6E 6F 74 0D ine code do not.
000040: 0A 20 20 20 72 65 61 6C 6C 79 20 65 6E 64 20 75 . really end u
000050: 70 20 6D 61 6B 69 6E 67 20 6D 75 63 68 20 75 73 p making much us
000060: 65 20 6F 66 20 69 74 2C 20 61 73 20 69 74 20 69 e of it, as it i
000070: 73 20 73 6F 20 6D 75 63 68 20 65 61 73 69 65 72 s so much easier
000080: 20 74 6F 20 70 72 6F 67 72 61 6D 20 69 6E 0D 0A to program in..
000090: 20 20 20 42 41 53 49 43 2E 20 20 4C 65 61 72 6E BASIC. Learn
0000A0: 69 6E 67 20 68 6F 77 20 74 6F 20 67 65 74 20 42 ing how to get B
0000B0: 41 53 49 43 20 20 61 6E 64 20 6D 61 63 68 69 6E ASIC and machin
0000C0: 65 20 63 6F 64 65 20 77 6F 72 6B 69 6E 67 20 74 e code working t
0000D0: 6F 67 65 74 68 65 72 20 6D 65 61 6E 73 0D 0A 20 ogether means..
0000E0: 20 20 79 6F 75 20 63 61 6E 20 68 61 76 65 20 74 you can have t
0000F0: 68 65 20 62 65 73 74 20 6F 66 20 62 6F 74 68 20 he best of both
000100: 20 77 6F 72 6C 64 73 3A 20 20 20 42 41 53 49 43 worlds: BASIC
000110: 20 77 68 69 63 68 20 69 73 20 71 75 69 63 6B 20 which is quick
000120: 74 6F 20 77 72 69 74 65 20 61 6E 64 0D 0A 20 20 to write and..
000130: 20 65 61 73 79 20 74 6F 20 64 65 62 75 67 2C 20 easy to debug,
000140: 61 6E 64 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 and machine code
000150: 20 66 6F 72 20 65 78 74 72 61 20 73 70 65 65 64 for extra speed
000160: 20 77 68 65 72 65 20 79 6F 75 20 6E 65 65 64 20 where you need
000170: 69 74 20 6D 6F 73 74 2E 0D 0A 20 20 20 20 20 53 it most... S
000180: 6F 6D 65 20 6F 66 20 79 6F 75 20 6D 61 79 20 62 ome of you may b
000190: 65 20 77 6F 6E 64 65 72 69 6E 67 20 77 68 79 20 e wondering why
0001A0: 74 68 65 72 65 20 20 77 61 73 20 61 6E 79 20 6D there was any m
0001B0: 61 63 68 69 6E 65 20 63 6F 64 65 20 61 74 20 61 achine code at a
0001C0: 6C 6C 2E 20 20 49 74 0D 0A 20 20 20 77 6F 75 6C ll. It.. woul
0001D0: 64 20 68 61 76 65 20 62 65 65 6E 20 6D 75 63 68 d have been much
0001E0: 20 65 61 73 69 65 72 20 74 6F 20 20 75 73 65 20 easier to use
0001F0: 20 74 68 65 20 20 43 4F 50 59 43 48 52 24 20 66 the COPYCHR$ f
Size : 512 (Real : 512)
000000: 20 74 68 65 20 6C 65 6E 67 74 68 20 69 73 20 7A the length is z
000010: 65 72 6F 0D 0A 20 20 20 43 38 20 20 20 20 20 20 ero.. C8
000020: 20 20 52 45 54 20 5A 20 20 20 20 20 20 20 20 20 RET Z
000030: 20 20 20 20 3B 69 66 20 73 6F 2C 20 65 78 69 74 ;if so, exit
000040: 2E 2E 2E 0D 0A 20 20 20 32 33 20 20 20 20 20 20 ..... 23
000050: 20 20 49 4E 43 20 48 4C 20 20 20 20 20 20 20 20 INC HL
000060: 20 20 20 20 3B 70 6F 69 6E 74 20 48 4C 20 61 74 ;point HL at
000070: 20 74 68 65 20 6C 6F 77 20 62 79 74 65 20 6F 66 the low byte of
000080: 20 74 68 65 20 73 74 72 69 6E 67 20 61 64 64 72 the string addr
000090: 65 73 73 0D 0A 20 20 20 35 45 20 20 20 20 20 20 ess.. 5E
0000A0: 20 20 4C 44 20 45 2C 28 48 4C 29 20 20 20 20 20 LD E,(HL)
0000B0: 20 20 20 20 3B 6C 6F 61 64 20 69 74 20 69 6E 74 ;load it int
0000C0: 6F 20 45 0D 0A 20 20 20 32 33 20 20 20 20 20 20 o E.. 23
0000D0: 20 20 49 4E 43 20 48 4C 20 20 20 20 20 20 20 20 INC HL
0000E0: 20 20 20 20 3B 6D 6F 76 65 20 6F 6E 20 74 6F 20 ;move on to
0000F0: 74 68 65 20 68 69 67 68 20 62 79 74 65 20 6F 66 the high byte of
000100: 20 74 68 65 20 73 74 72 69 6E 67 20 61 64 64 72 the string addr
000110: 65 73 73 0D 0A 20 20 20 36 36 20 20 20 20 20 20 ess.. 66
000120: 20 20 4C 44 20 48 2C 28 48 4C 29 20 20 20 20 20 LD H,(HL)
000130: 20 20 20 20 3B 6C 6F 61 64 20 69 74 20 69 6E 74 ;load it int
000140: 6F 20 48 0D 0A 20 20 20 36 42 20 20 20 20 20 20 o H.. 6B
000150: 20 20 4C 44 20 4C 2C 45 20 20 20 20 20 20 20 20 LD L,E
000160: 20 20 20 20 3B 63 6F 70 79 20 6C 6F 77 20 62 79 ;copy low by
000170: 74 65 20 74 6F 20 4C 20 28 73 6F 20 48 4C 20 68 te to L (so HL h
000180: 6F 6C 64 73 20 73 74 72 69 6E 67 20 61 64 64 72 olds string addr
000190: 65 73 73 29 0D 0A 0D 0A 20 20 20 3B 6D 61 69 6E ess).... ;main
0001A0: 20 6C 6F 6F 70 20 2D 20 74 72 61 6E 73 66 65 72 loop - transfer
0001B0: 73 20 42 20 63 68 61 72 61 63 74 65 72 73 20 66 s B characters f
0001C0: 72 6F 6D 20 73 63 72 65 65 6E 20 69 6E 74 6F 20 rom screen into
0001D0: 73 74 72 69 6E 67 20 61 74 20 48 4C 0D 0A 0D 0A string at HL....
0001E0: 20 20 20 43 44 20 36 30 20 42 42 20 20 6C 6F 6F CD 60 BB loo
0001F0: 70 3A 20 43 41 4C 4C 20 30 42 42 36 30 68 20 3B p: CALL 0BB60h ;
Size : 512 (Real : 512)
000000: 75 6E 63 74 69 6F 6E 2E 20 20 54 68 65 20 77 68 unction. The wh
000010: 6F 6C 65 20 6F 66 0D 0A 20 20 20 6F 75 72 20 65 ole of.. our e
000020: 78 61 6D 70 6C 65 20 70 72 6F 67 72 61 6D 20 63 xample program c
000030: 6F 75 6C 64 20 62 65 20 72 65 77 72 69 74 74 65 ould be rewritte
000040: 6E 20 6C 69 6B 65 20 74 68 69 73 3A 0D 0A 0D 0A n like this:....
000050: 20 20 20 32 30 20 4D 4F 44 45 20 32 3A 43 41 54 20 MODE 2:CAT
000060: 3A 76 3D 56 50 4F 53 28 23 30 29 3A 66 24 3D 22 :v=VPOS(#0):f$="
000070: 22 3A 4C 4F 43 41 54 45 20 31 2C 34 3A 46 4F 52 ":LOCATE 1,4:FOR
000080: 20 78 3D 31 20 54 4F 20 31 32 3A 66 24 3D 66 24 x=1 TO 12:f$=f$
000090: 2B 43 4F 50 59 43 48 52 24 28 23 30 29 0D 0A 20 +COPYCHR$(#0)..
0000A0: 20 20 3A 4E 45 58 54 3A 4C 4F 43 41 54 45 20 31 :NEXT:LOCATE 1
0000B0: 2C 76 0D 0A 20 20 20 33 30 20 50 52 49 4E 54 22 ,v.. 30 PRINT"
0000C0: 54 68 65 20 66 69 72 73 74 20 66 69 6C 65 20 6F The first file o
0000D0: 6E 20 74 68 69 73 20 64 69 73 63 20 69 73 20 22 n this disc is "
0000E0: 66 24 0D 0A 0D 0A 20 20 20 20 20 54 68 65 20 72 f$.... The r
0000F0: 65 61 73 6F 6E 20 69 73 20 74 68 61 74 20 74 68 eason is that th
000100: 65 20 64 69 73 63 20 20 6D 65 6E 75 20 20 77 61 e disc menu wa
000110: 73 20 20 77 72 69 74 74 65 6E 20 6F 6E 20 61 20 s written on a
000120: 43 50 43 20 34 36 34 2C 20 77 68 69 63 68 20 64 CPC 464, which d
000130: 6F 65 73 0D 0A 20 20 20 6E 6F 74 20 68 61 76 65 oes.. not have
000140: 20 74 68 65 20 43 4F 50 59 43 48 52 24 20 66 75 the COPYCHR$ fu
000150: 6E 63 74 69 6F 6E 2C 20 73 6F 20 77 65 20 20 68 nction, so we h
000160: 61 64 20 74 6F 20 75 73 65 20 73 6F 6D 65 20 6D ad to use some m
000170: 61 63 68 69 6E 65 20 63 6F 64 65 2E 20 20 45 76 achine code. Ev
000180: 65 6E 0D 0A 20 20 20 69 66 20 79 6F 75 20 68 61 en.. if you ha
000190: 76 65 20 61 20 36 36 34 2C 20 36 31 32 38 20 20 ve a 664, 6128
0001A0: 6F 72 20 20 61 20 20 50 6C 75 73 20 20 6D 61 63 or a Plus mac
0001B0: 68 69 6E 65 2C 20 20 69 74 20 69 73 20 77 6F 72 hine, it is wor
0001C0: 74 68 20 6B 6E 6F 77 69 6E 67 20 68 6F 77 20 74 th knowing how t
0001D0: 6F 0D 0A 20 20 20 61 76 6F 69 64 20 75 73 69 6E o.. avoid usin
0001E0: 67 20 74 68 65 20 43 4F 50 59 43 48 52 24 20 66 g the COPYCHR$ f
0001F0: 75 6E 63 74 69 6F 6E 20 73 6F 20 74 68 61 74 20 unction so that
Size : 512 (Real : 512)
000000: 67 65 74 20 63 68 61 72 61 63 74 65 72 20 66 72 get character fr
000010: 6F 6D 20 73 63 72 65 65 6E 0D 0A 20 20 20 37 37 om screen.. 77
000020: 20 20 20 20 20 20 20 20 4C 44 20 28 48 4C 29 2C LD (HL),
000030: 41 20 20 20 20 20 20 20 20 20 3B 70 75 74 20 69 A ;put i
000040: 74 20 69 6E 74 6F 20 73 74 72 69 6E 67 20 73 74 t into string st
000050: 6F 72 61 67 65 20 73 70 61 63 65 0D 0A 20 20 20 orage space..
000060: 32 33 20 20 20 20 20 20 20 20 49 4E 43 20 48 4C 23 INC HL
000070: 20 20 20 20 20 20 20 20 20 20 20 20 3B 6D 6F 76 ;mov
000080: 65 20 6F 6E 20 74 6F 20 6E 65 78 74 20 63 68 61 e on to next cha
000090: 72 61 63 74 65 72 20 69 6E 20 73 74 72 69 6E 67 racter in string
0000A0: 0D 0A 20 20 20 30 43 20 20 20 20 20 20 20 20 49 .. 0C I
0000B0: 4E 43 20 43 20 20 20 20 20 20 20 20 20 20 20 20 NC C
0000C0: 20 3B 43 20 68 6F 6C 64 73 20 63 75 72 73 6F 72 ;C holds cursor
0000D0: 20 78 2D 63 6F 6F 72 64 69 6E 61 74 65 20 2D 20 x-coordinate -
0000E0: 69 6E 63 72 65 61 73 65 20 69 74 0D 0A 20 20 20 increase it..
0000F0: 37 39 20 20 20 20 20 20 20 20 4C 44 20 41 2C 43 79 LD A,C
000100: 0D 0A 20 20 20 45 35 20 20 20 20 20 20 20 20 50 .. E5 P
000110: 55 53 48 20 48 4C 20 20 20 20 20 20 20 20 20 20 USH HL
000120: 20 3B 73 61 76 65 20 48 4C 20 74 6F 20 74 68 65 ;save HL to the
000130: 20 73 74 61 63 6B 20 28 6E 65 78 74 20 72 6F 75 stack (next rou
000140: 74 69 6E 65 20 63 6F 72 72 75 70 74 73 20 48 4C tine corrupts HL
000150: 29 0D 0A 20 20 20 43 44 20 36 46 20 42 42 20 20 ).. CD 6F BB
000160: 43 41 4C 4C 20 30 42 42 36 46 68 20 20 20 20 20 CALL 0BB6Fh
000170: 20 20 3B 73 65 74 20 74 65 78 74 20 63 75 72 73 ;set text curs
000180: 6F 72 20 78 2D 63 6F 6F 72 64 69 6E 61 74 65 20 or x-coordinate
000190: 74 6F 20 76 61 6C 75 65 20 69 6E 20 41 0D 0A 20 to value in A..
0001A0: 20 20 45 31 20 20 20 20 20 20 20 20 50 4F 50 20 E1 POP
0001B0: 48 4C 20 20 20 20 20 20 20 20 20 20 20 20 3B 72 HL ;r
0001C0: 65 73 74 6F 72 65 20 48 4C 20 66 72 6F 6D 20 74 estore HL from t
0001D0: 68 65 20 73 74 61 63 6B 0D 0A 20 20 20 31 30 20 he stack.. 10
0001E0: 46 32 20 20 20 20 20 44 4A 4E 5A 20 6C 6F 6F 70 F2 DJNZ loop
0001F0: 20 20 20 20 20 20 20 20 20 3B 64 65 63 72 65 61 ;decrea
Size : 512 (Real : 512)
000000: 79 6F 75 20 63 61 6E 20 77 72 69 74 65 20 70 72 you can write pr
000010: 6F 67 72 61 6D 73 20 74 68 61 74 20 77 6F 72 6B ograms that work
000020: 0D 0A 20 20 20 6F 6E 20 61 6C 6C 20 6F 66 20 74 .. on all of t
000030: 68 65 20 43 50 43 73 2E 20 20 4F 66 20 63 6F 75 he CPCs. Of cou
000040: 72 73 65 20 74 68 65 20 6D 61 63 68 69 6E 65 20 rse the machine
000050: 63 6F 64 65 20 72 75 6E 73 20 66 61 73 74 65 72 code runs faster
000060: 20 74 68 61 6E 20 74 68 65 20 42 41 53 49 43 0D than the BASIC.
000070: 0A 20 20 20 61 6C 74 65 72 6E 61 74 69 76 65 20 . alternative
000080: 61 73 20 77 65 6C 6C 2E 0D 0A 0D 0A 20 20 20 57 as well..... W
000090: 52 41 50 50 49 4E 47 20 55 50 0D 0A 20 20 20 4E RAPPING UP.. N
0000A0: 65 78 74 20 6D 6F 6E 74 68 20 77 65 20 77 69 6C ext month we wil
0000B0: 6C 20 62 65 20 72 65 74 75 72 6E 69 6E 67 20 74 l be returning t
0000C0: 6F 20 42 41 53 49 43 20 66 6F 72 20 20 61 20 6C o BASIC for a l
0000D0: 61 73 74 20 6C 6F 6F 6B 20 61 74 20 61 20 66 65 ast look at a fe
0000E0: 77 20 6D 6F 72 65 20 6F 66 0D 0A 20 20 20 74 68 w more of.. th
0000F0: 65 20 74 72 69 63 6B 73 20 75 73 65 64 20 69 6E e tricks used in
000100: 20 46 65 62 72 75 61 72 79 27 73 20 64 69 73 63 February's disc
000110: 20 20 6D 65 6E 75 20 20 70 72 6F 67 72 61 6D 2E menu program.
000120: 20 20 41 66 74 65 72 20 74 68 61 74 2C 20 77 68 After that, wh
000130: 6F 20 6B 6E 6F 77 73 3F 0D 0A 20 20 20 50 65 72 o knows?.. Per
000140: 68 61 70 73 20 77 65 20 63 6F 75 6C 64 20 68 61 haps we could ha
000150: 76 65 20 61 20 67 6F 20 20 61 74 20 20 61 6E 6F ve a go at ano
000160: 74 68 65 72 20 20 6C 61 6E 67 75 61 67 65 20 20 ther language
000170: 73 75 63 68 20 20 61 73 20 43 2C 20 69 66 20 74 such as C, if t
000180: 68 65 72 65 20 69 73 0D 0A 20 20 20 65 6E 6F 75 here is.. enou
000190: 67 68 20 69 6E 74 65 72 65 73 74 2C 20 6F 72 20 gh interest, or
0001A0: 65 76 65 6E 20 73 65 65 20 68 6F 77 20 74 6F 20 even see how to
0001B0: 63 6F 6E 74 72 6F 6C 20 61 20 4D 49 44 49 20 69 control a MIDI i
0001C0: 6E 74 65 72 66 61 63 65 2E 20 20 54 68 65 6E 20 nterface. Then
0001D0: 61 67 61 69 6E 2C 0D 0A 20 20 20 74 68 65 72 65 again,.. there
0001E0: 20 69 73 20 61 20 6C 6F 74 20 6D 6F 72 65 20 42 is a lot more B
0001F0: 41 53 49 43 20 66 6F 72 20 75 73 20 74 6F 20 65 ASIC for us to e
Size : 512 (Real : 512)
000000: 73 65 20 42 2C 20 61 6E 64 20 69 66 20 6E 6F 74 se B, and if not
000010: 20 7A 65 72 6F 20 6A 75 6D 70 20 62 61 63 6B 20 zero jump back
000020: 74 6F 20 6C 6F 6F 70 0D 0A 20 20 20 43 39 20 20 to loop.. C9
000030: 20 20 20 20 20 20 52 45 54 20 20 20 20 20 20 20 RET
000040: 20 20 20 20 20 20 20 20 3B 72 65 74 75 72 6E 20 ;return
000050: 77 68 65 6E 63 65 20 77 65 20 63 61 6D 65 20 28 whence we came (
000060: 74 6F 20 42 41 53 49 43 29 0D 0A 0D 0A 20 31 30 to BASIC).... 10
000070: 20 44 45 46 49 4E 54 20 61 2D 7A 3A 4D 45 4D 4F DEFINT a-z:MEMO
000080: 52 59 20 48 49 4D 45 4D 2D 33 34 3A 61 3D 55 4E RY HIMEM-34:a=UN
000090: 54 28 48 49 4D 45 4D 2B 31 29 3A 46 4F 52 20 78 T(HIMEM+1):FOR x
0000A0: 3D 30 20 54 4F 20 33 33 3A 52 45 41 44 20 61 24 =0 TO 33:READ a$
0000B0: 3A 50 4F 4B 45 20 61 2B 78 2C 56 41 0D 0A 20 20 :POKE a+x,VA..
0000C0: 20 20 4C 28 22 26 22 2B 61 24 29 3A 4E 45 58 54 L("&"+a$):NEXT
0000D0: 3A 44 41 54 41 20 43 44 2C 37 38 2C 42 42 2C 34 :DATA CD,78,BB,4
0000E0: 43 2C 44 44 2C 36 45 2C 30 2C 44 44 2C 36 36 2C C,DD,6E,0,DD,66,
0000F0: 31 2C 34 36 2C 37 38 2C 42 37 2C 43 38 2C 32 33 1,46,78,B7,C8,23
000100: 2C 35 45 2C 32 33 2C 36 36 2C 36 42 2C 0D 0A 20 ,5E,23,66,6B,..
000110: 20 20 20 43 44 2C 36 30 2C 42 42 2C 37 37 2C 32 CD,60,BB,77,2
000120: 33 2C 43 2C 37 39 2C 45 35 2C 43 44 2C 36 46 2C 3,C,79,E5,CD,6F,
000130: 42 42 2C 45 31 2C 31 30 2C 46 32 2C 43 39 0D 0A BB,E1,10,F2,C9..
000140: 20 32 30 20 4D 4F 44 45 20 32 3A 43 41 54 3A 76 20 MODE 2:CAT:v
000150: 3D 56 50 4F 53 28 23 30 29 3A 66 24 3D 53 50 41 =VPOS(#0):f$=SPA
000160: 43 45 24 28 31 32 29 3A 4C 4F 43 41 54 45 20 31 CE$(12):LOCATE 1
000170: 2C 34 3A 43 41 4C 4C 20 61 2C 40 66 24 3A 4C 4F ,4:CALL a,@f$:LO
000180: 43 41 54 45 20 31 2C 76 0D 0A 20 33 30 20 50 52 CATE 1,v.. 30 PR
000190: 49 4E 54 22 54 68 65 20 66 69 72 73 74 20 66 69 INT"The first fi
0001A0: 6C 65 20 6F 6E 20 74 68 69 73 20 64 69 73 63 20 le on this disc
0001B0: 69 73 20 22 66 24 0D 0A 0D 0A 20 20 20 46 69 67 is "f$.... Fig
0001C0: 75 72 65 20 32 2E 37 31 38 0D 0A 1A 6C 79 20 67 ure 2.718...ly g
0001D0: 72 61 74 65 64 20 20 50 61 72 6D 65 73 61 6E 20 rated Parmesan
0001E0: 20 63 68 65 65 73 65 20 20 73 70 72 69 6E 6B 6C cheese sprinkl
0001F0: 65 64 20 20 67 65 6E 65 72 6F 75 73 6C 79 20 6F ed generously o
Size : 512 (Real : 512)
000000: 78 70 6C 6F 72 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 xplore.........
000010: 20 20 31 30 30 20 4D 45 4D 4F 52 59 20 26 38 46 100 MEMORY &8F
000020: 46 46 3A 61 3D 26 39 30 30 30 3A 46 4F 52 20 78 FF:a=&9000:FOR x
000030: 3D 30 20 54 4F 20 31 34 3A 52 45 41 44 20 61 24 =0 TO 14:READ a$
000040: 3A 50 4F 4B 45 20 61 2B 78 2C 56 41 4C 28 22 26 :POKE a+x,VAL("&
000050: 22 2B 61 24 29 3A 4E 45 58 54 0D 0A 20 20 20 31 "+a$):NEXT.. 1
000060: 31 30 20 4D 4F 44 45 20 32 3A 50 52 49 4E 54 22 10 MODE 2:PRINT"
000070: 53 69 6C 6C 79 20 73 74 72 69 6E 67 22 0D 0A 20 Silly string"..
000080: 20 20 31 32 30 20 61 24 3D 22 20 22 3A 4C 4F 43 120 a$=" ":LOC
000090: 41 54 45 20 31 2C 31 3A 43 41 4C 4C 20 26 39 30 ATE 1,1:CALL &90
0000A0: 30 30 2C 40 61 24 0D 0A 20 20 20 31 33 30 20 50 00,@a$.. 130 P
0000B0: 52 49 4E 54 3A 50 52 49 4E 54 22 54 68 65 20 6C RINT:PRINT"The l
0000C0: 65 74 74 65 72 20 61 74 20 74 68 65 20 74 6F 70 etter at the top
0000D0: 20 6C 65 66 74 20 6F 66 20 74 68 65 20 73 63 72 left of the scr
0000E0: 65 65 6E 20 69 73 20 22 3B 61 24 0D 0A 20 20 20 een is ";a$..
0000F0: 31 39 30 20 44 41 54 41 20 44 44 2C 36 36 2C 30 190 DATA DD,66,0
000100: 31 2C 44 44 2C 36 45 2C 30 30 2C 32 33 2C 35 45 1,DD,6E,00,23,5E
000110: 2C 32 33 2C 35 36 2C 43 44 2C 36 30 2C 42 42 2C ,23,56,CD,60,BB,
000120: 31 32 2C 43 39 0D 0A 0D 0A 20 20 20 44 44 20 36 12,C9.... DD 6
000130: 36 20 30 31 20 20 20 20 20 20 4C 44 20 48 2C 28 6 01 LD H,(
000140: 49 58 2B 31 29 0D 0A 20 20 20 44 44 20 36 45 20 IX+1).. DD 6E
000150: 30 30 20 20 20 20 20 20 4C 44 20 4C 2C 28 49 58 00 LD L,(IX
000160: 2B 30 29 0D 0A 20 20 20 32 33 20 20 20 20 20 20 +0).. 23
000170: 20 20 20 20 20 20 49 4E 43 20 48 4C 0D 0A 20 20 INC HL..
000180: 20 35 45 20 20 20 20 20 20 20 20 20 20 20 20 4C 5E L
000190: 44 20 45 2C 28 48 4C 29 0D 0A 20 20 20 32 33 20 D E,(HL).. 23
0001A0: 20 20 20 20 20 20 20 20 20 20 20 49 4E 43 20 48 INC H
0001B0: 4C 0D 0A 20 20 20 35 36 20 20 20 20 20 20 20 20 L.. 56
0001C0: 20 20 20 20 4C 44 20 44 2C 28 48 4C 29 0D 0A 20 LD D,(HL)..
0001D0: 20 20 43 44 20 36 30 20 42 42 20 20 20 20 20 20 CD 60 BB
0001E0: 43 41 4C 4C 20 30 42 42 36 30 68 0D 0A 20 20 20 CALL 0BB60h..
0001F0: 31 32 20 20 20 20 20 20 20 20 20 20 20 20 4C 44 12 LD
Size : 512 (Real : 512)
000000: 31 36 20 67 72 61 70 68 69 63 73 20 63 6F 6F 72 16 graphics coor
000010: 64 69 6E 61 74 65 73 20 20 70 65 72 20 20 74 65 dinates per te
000020: 78 74 20 63 6F 6F 72 64 69 6E 61 74 65 2C 20 61 xt coordinate, a
000030: 6C 6C 20 77 65 20 6E 65 65 64 0D 0A 20 20 20 74 ll we need.. t
000040: 6F 20 64 6F 20 69 73 20 69 6E 74 65 67 65 72 20 o do is integer
000050: 64 69 76 69 73 69 6F 6E 20 62 79 20 20 31 36 2E division by 16.
000060: 20 20 20 49 74 20 20 69 73 20 20 6E 6F 74 20 71 It is not q
000070: 75 69 74 65 20 74 68 61 74 20 73 69 6D 70 6C 65 uite that simple
000080: 20 68 6F 77 65 76 65 72 2C 0D 0A 20 20 20 62 65 however,.. be
000090: 63 61 75 73 65 20 74 68 65 20 67 72 61 70 68 69 cause the graphi
0000A0: 63 73 20 63 6F 6F 72 64 69 6E 61 74 65 73 20 20 cs coordinates
0000B0: 73 74 61 72 74 20 20 63 6F 75 6E 74 69 6E 67 20 start counting
0000C0: 20 66 72 6F 6D 20 20 74 68 65 20 62 6F 74 74 6F from the botto
0000D0: 6D 20 6F 66 20 74 68 65 0D 0A 20 20 20 73 63 72 m of the.. scr
0000E0: 65 65 6E 20 28 61 73 20 69 66 20 79 6F 75 20 77 een (as if you w
0000F0: 65 72 65 20 20 64 72 61 77 69 6E 67 20 20 61 20 ere drawing a
000100: 20 67 72 61 70 68 29 20 20 61 6E 64 20 74 68 65 graph) and the
000110: 20 74 65 78 74 20 63 6F 6F 72 64 69 6E 61 74 65 text coordinate
000120: 73 20 73 74 61 72 74 0D 0A 20 20 20 66 72 6F 6D s start.. from
000130: 20 74 68 65 20 74 6F 70 20 28 61 73 20 69 66 20 the top (as if
000140: 20 79 6F 75 20 20 77 65 72 65 20 20 77 72 69 74 you were writ
000150: 69 6E 67 29 2E 20 20 20 54 6F 20 20 73 6F 6C 76 ing). To solv
000160: 65 20 74 68 69 73 20 70 72 6F 62 6C 65 6D 20 77 e this problem w
000170: 65 20 6A 75 73 74 0D 0A 20 20 20 73 75 62 74 72 e just.. subtr
000180: 61 63 74 20 79 20 66 72 6F 6D 20 34 30 30 2E 20 act y from 400.
000190: 20 54 68 69 73 20 67 69 76 65 73 20 20 61 20 20 This gives a
0001A0: 6C 61 72 67 65 20 20 76 61 6C 75 65 20 20 77 68 large value wh
0001B0: 65 6E 20 79 20 69 73 20 73 6D 61 6C 6C 20 28 61 en y is small (a
0001C0: 74 20 74 68 65 0D 0A 20 20 20 62 6F 74 74 6F 6D t the.. bottom
0001D0: 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 29 20 of the screen)
0001E0: 61 6E 64 20 61 20 73 6D 61 6C 6C 20 20 76 61 6C and a small val
0001F0: 75 65 20 20 61 74 20 20 74 68 65 20 20 74 6F 70 ue at the top
Size : 512 (Real : 512)
000000: 20 70 69 65 63 65 20 6F 66 20 6D 61 63 68 69 6E piece of machin
000010: 65 0D 0A 20 20 20 63 6F 64 65 20 74 6F 20 64 6F e.. code to do
000020: 20 74 68 69 73 20 6A 6F 62 2C 20 62 75 74 20 66 this job, but f
000030: 69 72 73 74 20 74 68 65 20 20 74 65 78 74 20 63 irst the text c
000040: 75 72 73 6F 72 20 6E 65 65 64 20 74 6F 20 62 65 ursor need to be
000050: 20 20 4C 4F 43 41 54 45 64 20 74 6F 20 74 68 65 LOCATEd to the
000060: 0D 0A 20 20 20 70 6F 73 69 74 69 6F 6E 20 6F 6E .. position on
000070: 20 73 63 72 65 65 6E 20 77 68 65 72 65 20 77 65 screen where we
000080: 20 77 61 6E 74 20 74 6F 20 73 74 61 72 74 20 72 want to start r
000090: 65 61 64 69 6E 67 2E 0D 0A 0D 0A 20 20 20 57 65 eading..... We
0000A0: 20 68 61 76 65 20 75 73 65 64 20 74 68 65 20 66 have used the f
0000B0: 6F 6C 6C 6F 77 69 6E 67 20 20 65 78 70 72 65 73 ollowing expres
0000C0: 73 69 6F 6E 73 20 20 74 6F 20 63 61 6C 63 75 6C sions to calcul
0000D0: 61 74 65 20 74 68 65 20 74 65 78 74 20 63 6F 6F ate the text coo
0000E0: 72 64 69 6E 61 74 65 73 0D 0A 20 20 20 6E 65 65 rdinates.. nee
0000F0: 64 65 64 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 ded:....
000100: 20 20 20 70 3D 28 78 5C 31 36 30 29 2A 32 30 2B p=(x\160)*20+
000110: 31 0D 0A 20 20 20 20 20 20 20 20 20 20 20 71 3D 1.. q=
000120: 28 34 30 30 2D 79 29 5C 31 36 2B 31 0D 0A 0D 0A (400-y)\16+1....
000130: 20 20 20 77 68 65 72 65 20 78 20 61 6E 64 20 79 where x and y
000140: 20 61 72 65 20 74 68 65 20 67 72 61 70 68 69 63 are the graphic
000150: 73 20 63 6F 6F 72 64 69 6E 61 74 65 64 20 6F 66 s coordinated of
000160: 20 6F 75 72 20 70 6F 69 6E 74 65 72 2C 20 61 6E our pointer, an
000170: 64 20 70 20 61 6E 64 20 71 20 61 72 65 0D 0A 20 d p and q are..
000180: 20 20 74 68 65 20 74 65 78 74 20 63 6F 6F 72 64 the text coord
000190: 69 6E 61 74 65 73 20 77 65 20 6E 65 65 64 2E 0D inates we need..
0001A0: 0A 0D 0A 20 20 20 42 65 66 6F 72 65 20 77 72 69 ... Before wri
0001B0: 74 69 6E 67 20 65 78 70 72 65 73 73 69 6F 6E 73 ting expressions
0001C0: 20 73 75 63 68 20 61 73 20 74 68 65 73 65 2C 20 such as these,
0001D0: 69 74 20 70 61 79 73 20 74 6F 20 77 6F 72 6B 20 it pays to work
0001E0: 6F 75 74 20 65 78 61 63 74 6C 79 20 77 68 61 74 out exactly what
0001F0: 0D 0A 20 20 20 79 6F 75 20 77 61 6E 74 20 74 6F .. you want to
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: 20 64 6F 2E 20 20 50 75 74 20 61 20 64 69 73 63 do. Put a disc
000010: 20 69 6E 20 20 74 68 65 20 20 64 72 69 76 65 2C in the drive,
000020: 20 73 77 69 74 63 68 20 74 6F 20 4D 4F 44 45 20 switch to MODE
000030: 32 20 61 6E 64 20 63 61 74 61 6C 6F 67 75 65 0D 2 and catalogue.
000040: 0A 20 20 20 69 74 2E 20 20 59 6F 75 20 77 69 6C . it. You wil
000050: 6C 20 66 69 6E 64 20 74 68 61 74 20 66 6F 75 72 l find that four
000060: 20 20 63 6F 6C 75 6D 6E 73 20 20 6F 66 20 66 69 columns of fi
000070: 6C 65 6E 61 6D 65 73 20 61 72 65 20 70 72 69 6E lenames are prin
000080: 74 65 64 20 6F 6E 20 73 63 72 65 65 6E 2E 0D 0A ted on screen...
000090: 20 20 20 54 68 65 20 74 65 78 74 20 63 75 72 73 The text curs
0000A0: 6F 72 20 6E 65 65 64 73 20 74 6F 20 62 65 20 20 or needs to be
0000B0: 70 6F 73 69 74 69 6F 6E 65 64 20 20 61 74 20 20 positioned at
0000C0: 74 68 65 20 73 74 61 72 74 20 6F 66 20 77 68 69 the start of whi
0000D0: 63 68 65 76 65 72 20 6F 66 20 74 68 65 0D 0A 20 chever of the..
0000E0: 20 20 66 6F 75 72 20 63 6F 6C 75 6D 6E 73 20 74 four columns t
0000F0: 68 65 20 70 6F 69 6E 74 65 72 20 69 73 20 69 6E he pointer is in
000100: 2E 0D 0A 0D 0A 20 20 20 53 69 6E 63 65 20 74 68 ..... Since th
000110: 65 20 73 63 72 65 65 6E 20 69 73 20 20 36 34 30 e screen is 640
000120: 20 20 67 72 61 70 68 69 63 73 20 20 63 6F 6F 72 graphics coor
000130: 64 69 6E 61 74 65 73 20 20 61 63 72 6F 73 73 2C dinates across,
000140: 20 20 65 61 63 68 20 6F 66 20 74 68 65 20 66 6F each of the fo
000150: 75 72 0D 0A 20 20 20 63 6F 6C 75 6D 6E 73 20 64 ur.. columns d
000160: 69 73 70 6C 61 79 65 64 20 69 73 20 31 36 30 20 isplayed is 160
000170: 63 6F 6F 72 64 69 6E 61 74 65 73 20 77 69 64 65 coordinates wide
000180: 2E 20 20 4F 75 72 20 65 78 70 72 65 73 73 69 6F . Our expressio
000190: 6E 20 69 6E 20 6C 69 6E 65 20 35 30 20 75 73 65 n in line 50 use
0001A0: 73 0D 0A 20 20 20 74 68 65 20 69 6E 74 65 67 65 s.. the intege
0001B0: 72 20 64 69 76 69 73 69 6F 6E 20 6F 70 65 72 61 r division opera
0001C0: 74 6F 72 2C 20 22 5C 22 2E 20 20 54 68 69 73 20 tor, "\". This
0001D0: 20 6F 70 65 72 61 74 6F 72 20 68 61 73 20 74 68 operator has th
0001E0: 65 20 73 61 6D 65 20 65 66 66 65 63 74 20 61 73 e same effect as
0001F0: 0D 0A 20 20 20 75 73 69 6E 67 20 6E 6F 72 6D 61 .. using norma
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 35 20 2D 20 57 41 43 43 49 20 31 31 tch 5 - WACCI 11
000020: 34 2C 20 4A 75 6C 79 20 31 39 39 37 2C 20 70 2E 4, July 1997, p.
000030: 20 32 36 2D 32 37 0D 0A 20 20 20 50 52 4F 47 52 26-27.. PROGR
000040: 41 4D 4D 45 52 53 27 20 50 41 54 43 48 20 35 0D AMMERS' PATCH 5.
000050: 0A 20 20 20 42 79 20 53 74 65 70 68 65 6E 20 61 . By Stephen a
000060: 6E 64 20 4D 61 74 74 68 65 77 20 50 68 69 6C 6C nd Matthew Phill
000070: 69 70 73 0D 0A 0D 0A 20 20 20 57 68 61 74 20 67 ips.... What g
000080: 61 73 74 72 6F 6E 6F 6D 69 63 20 64 65 6C 69 67 astronomic delig
000090: 68 74 73 20 61 77 61 69 74 20 75 73 20 20 66 6F hts await us fo
0000A0: 72 20 20 74 68 65 20 20 66 69 6E 61 6C 20 20 63 r the final c
0000B0: 6F 75 72 73 65 3F 20 20 41 73 20 74 68 65 20 73 ourse? As the s
0000C0: 77 65 65 74 0D 0A 20 20 20 74 72 6F 6C 6C 65 79 weet.. trolley
0000D0: 20 6F 66 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 of programming
0000E0: 77 68 65 65 6C 73 20 20 69 74 73 20 20 77 61 79 wheels its way
0000F0: 20 20 74 68 72 6F 75 67 68 20 20 74 68 65 20 6F through the o
000100: 62 73 74 61 63 6C 65 73 20 6F 66 20 69 6E 74 65 bstacles of inte
000110: 67 65 72 0D 0A 20 20 20 64 69 76 69 73 69 6F 6E ger.. division
000120: 20 61 6E 64 20 74 77 6F 27 73 20 63 6F 6D 70 6C and two's compl
000130: 65 6D 65 6E 74 20 62 69 6E 61 72 79 2C 20 77 65 ement binary, we
000140: 20 20 66 69 6E 64 20 6F 75 72 73 65 6C 76 65 73 find ourselves
000150: 20 74 68 69 6E 6B 69 6E 67 20 22 53 68 61 6C 6C thinking "Shall
000160: 20 49 0D 0A 20 20 20 68 61 76 65 20 74 68 65 20 I.. have the
000170: 73 74 72 61 77 62 65 72 72 69 65 73 3F 22 2C 20 strawberries?",
000180: 61 6E 64 20 20 22 57 68 6F 27 73 20 20 70 61 79 and "Who's pay
000190: 69 6E 67 20 20 74 68 65 20 20 62 69 6C 6C 3F 22 ing the bill?"
0001A0: 2E 20 20 20 28 43 6F 66 66 65 65 20 74 6F 20 62 . (Coffee to b
0001B0: 65 0D 0A 20 20 20 73 65 72 76 65 64 20 69 6E 20 e.. served in
0001C0: 74 68 65 20 6C 6F 75 6E 67 65 2E 29 0D 0A 0D 0A the lounge.)....
0001D0: 20 20 20 41 6C 6C 20 74 68 61 74 20 72 65 6D 61 All that rema
0001E0: 69 6E 73 20 69 6E 20 6F 72 64 65 72 20 74 6F 20 ins in order to
0001F0: 72 6F 75 6E 64 20 20 6F 66 66 20 74 68 65 20 64 round off the d
Size : 512 (Real : 512)
000000: 6C 20 64 69 76 69 73 69 6F 6E 20 61 6E 64 20 74 l division and t
000010: 68 72 6F 77 69 6E 67 20 61 77 61 79 20 20 74 68 hrowing away th
000020: 65 20 70 61 72 74 20 61 66 74 65 72 20 74 68 65 e part after the
000030: 20 64 65 63 69 6D 61 6C 20 70 6F 69 6E 74 2E 0D decimal point..
000040: 0A 20 20 20 44 69 76 69 64 69 6E 67 20 74 68 65 . Dividing the
000050: 20 78 20 63 6F 6F 72 64 69 6E 61 74 65 20 62 79 x coordinate by
000060: 20 31 36 30 20 69 6E 20 74 68 69 73 20 77 61 79 160 in this way
000070: 20 72 65 73 75 6C 74 73 20 69 6E 20 61 20 6E 75 results in a nu
000080: 6D 62 65 72 20 66 72 6F 6D 20 30 20 74 6F 0D 0A mber from 0 to..
000090: 20 20 20 33 2C 20 63 6F 72 72 65 73 70 6F 6E 64 3, correspond
0000A0: 69 6E 67 20 74 6F 20 74 68 65 20 66 6F 75 72 20 ing to the four
0000B0: 63 6F 6C 75 6D 6E 73 20 20 6F 66 20 20 74 65 78 columns of tex
0000C0: 74 2E 20 20 54 68 65 20 66 6F 6C 6C 6F 77 69 6E t. The followin
0000D0: 67 20 74 61 62 6C 65 20 73 68 6F 77 73 0D 0A 20 g table shows..
0000E0: 20 20 77 68 61 74 20 77 65 20 6E 65 65 64 20 74 what we need t
0000F0: 6F 20 61 63 68 69 65 76 65 3A 0D 0A 0D 0A 20 20 o achieve:....
000100: 20 47 72 61 70 68 69 63 73 20 20 20 20 20 20 43 Graphics C
000110: 6F 6C 75 6D 6E 20 20 20 20 20 54 65 78 74 0D 0A olumn Text..
000120: 20 20 20 78 2D 63 6F 6F 72 64 69 6E 61 74 65 73 x-coordinates
000130: 20 20 20 20 20 20 20 20 20 20 20 20 78 2D 63 6F x-co
000140: 6F 72 64 69 6E 61 74 65 0D 0A 0D 0A 20 20 20 20 ordinate....
000150: 20 30 2D 31 35 39 20 20 20 20 20 20 20 30 20 20 0-159 0
000160: 20 20 20 20 20 20 20 20 31 0D 0A 20 20 20 31 36 1.. 16
000170: 30 2D 33 31 39 20 20 20 20 20 20 20 31 20 20 20 0-319 1
000180: 20 20 20 20 20 20 20 32 31 0D 0A 20 20 20 33 32 21.. 32
000190: 30 2D 34 37 39 20 20 20 20 20 20 20 32 20 20 20 0-479 2
0001A0: 20 20 20 20 20 20 20 34 31 0D 0A 20 20 20 34 38 41.. 48
0001B0: 30 2D 36 33 39 20 20 20 20 20 20 20 33 20 20 20 0-639 3
0001C0: 20 20 20 20 20 20 20 36 31 0D 0A 0D 0A 20 20 20 61....
0001D0: 49 66 20 77 65 20 74 68 65 6E 20 6D 75 6C 74 69 If we then multi
0001E0: 70 6C 79 20 74 68 65 20 63 6F 6C 75 6D 6E 20 6E ply the column n
0001F0: 75 6D 62 65 72 20 62 79 20 20 32 30 2C 20 74 68 umber by 20, th
Size : 512 (Real : 512)
000000: 69 73 63 20 63 61 74 61 6C 6F 67 75 69 6E 67 20 isc cataloguing
000010: 70 72 6F 67 72 61 6D 20 69 73 20 74 6F 0D 0A 20 program is to..
000020: 20 20 65 78 70 6C 61 69 6E 20 73 6F 6D 65 20 6F explain some o
000030: 66 20 6C 69 6E 65 73 20 35 30 20 20 61 6E 64 20 f lines 50 and
000040: 20 36 30 2E 20 20 20 53 69 6E 63 65 20 20 69 74 60. Since it
000050: 20 20 77 61 73 20 46 65 62 72 75 61 72 79 20 74 was February t
000060: 68 61 74 20 77 65 20 66 69 72 73 74 0D 0A 20 20 hat we first..
000070: 20 6C 6F 6F 6B 65 64 20 61 74 20 74 68 65 20 70 looked at the p
000080: 72 6F 67 72 61 6D 2C 20 77 65 27 76 65 20 20 61 rogram, we've a
000090: 73 6B 65 64 20 20 4A 6F 68 6E 20 20 74 6F 20 20 sked John to
0000A0: 70 72 69 6E 74 20 20 74 68 65 20 6C 69 73 74 69 print the listi
0000B0: 6E 67 20 61 67 61 69 6E 20 69 6E 0D 0A 20 20 20 ng again in..
0000C0: 46 69 67 75 72 65 20 31 2E 20 20 3C 3C 41 6E 64 Figure 1. <<And
0000D0: 20 79 6F 75 20 63 61 6E 20 6C 6F 61 64 20 69 74 you can load it
0000E0: 20 66 72 6F 6D 20 74 68 65 20 64 69 73 63 20 61 from the disc a
0000F0: 73 20 44 49 53 43 4D 45 4E 55 2E 42 41 53 3E 3E s DISCMENU.BAS>>
000100: 0D 0A 0D 0A 20 20 20 4C 69 6E 65 20 35 30 20 69 .... Line 50 i
000110: 73 20 72 65 61 63 68 65 64 20 77 68 65 6E 20 74 s reached when t
000120: 68 65 20 57 48 49 4C 45 20 63 6F 6E 64 69 74 69 he WHILE conditi
000130: 6F 6E 20 69 6E 20 6C 69 6E 65 20 34 30 20 69 73 on in line 40 is
000140: 20 66 61 6C 73 65 2C 20 69 2E 65 2E 20 77 68 65 false, i.e. whe
000150: 6E 0D 0A 20 20 20 6F 6E 65 20 6F 66 20 74 68 65 n.. one of the
000160: 20 74 68 72 65 65 20 73 65 6C 65 63 74 69 6F 6E three selection
000170: 20 6B 65 79 73 20 69 73 20 20 70 72 65 73 73 65 keys is presse
000180: 64 2E 20 20 54 68 65 20 66 69 72 73 74 20 74 68 d. The first th
000190: 69 6E 67 20 6C 69 6E 65 20 35 30 20 64 6F 65 73 ing line 50 does
0001A0: 0D 0A 20 20 20 69 73 20 63 61 6C 6C 20 74 68 65 .. is call the
0001B0: 20 73 75 62 72 6F 75 74 69 6E 65 20 69 6E 20 6C subroutine in l
0001C0: 69 6E 65 20 38 30 20 20 77 68 69 63 68 20 77 61 ine 80 which wa
0001D0: 69 74 73 20 75 6E 74 69 6C 20 74 68 65 20 75 73 its until the us
0001E0: 65 72 20 68 61 73 20 72 65 6C 65 61 73 65 64 0D er has released.
0001F0: 0A 20 20 20 74 68 65 20 73 65 6C 65 63 74 69 6F . the selectio
Size : 512 (Real : 512)
000000: 61 74 20 77 69 6C 6C 20 67 69 76 65 20 75 73 20 at will give us
000010: 30 2C 20 32 30 2C 20 34 30 2C 0D 0A 20 20 20 36 0, 20, 40,.. 6
000020: 30 2C 20 77 68 69 63 68 20 69 73 20 74 68 65 20 0, which is the
000030: 63 6F 72 72 65 63 74 20 73 65 70 61 72 61 74 69 correct separati
000040: 6F 6E 20 66 6F 72 20 20 74 68 65 20 74 65 78 74 on for the text
000050: 20 63 75 72 73 6F 72 2E 20 20 57 65 20 6A 75 73 cursor. We jus
000060: 74 20 6E 65 65 64 20 74 6F 0D 0A 20 20 20 61 64 t need to.. ad
000070: 64 20 31 20 74 6F 20 67 65 74 20 74 68 65 20 72 d 1 to get the r
000080: 69 67 68 74 20 74 65 78 74 20 63 6F 6F 72 64 69 ight text coordi
000090: 6E 61 74 65 2E 20 20 20 54 72 79 20 20 69 74 20 nate. Try it
0000A0: 6F 75 74 20 69 6E 20 73 74 61 67 65 73 20 77 69 out in stages wi
0000B0: 74 68 20 61 20 66 65 77 0D 0A 20 20 20 65 78 61 th a few.. exa
0000C0: 6D 70 6C 65 20 78 20 76 61 6C 75 65 73 20 69 66 mple x values if
0000D0: 20 79 6F 75 20 6C 69 6B 65 2C 20 73 6F 20 74 68 you like, so th
0000E0: 61 74 20 79 6F 75 20 63 61 6E 20 73 65 65 20 68 at you can see h
0000F0: 6F 77 20 69 74 20 77 6F 72 6B 73 2E 0D 0A 0D 0A ow it works.....
000100: 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6F The expressio
000110: 6E 20 66 6F 72 20 71 20 69 73 20 73 69 6D 70 6C n for q is simpl
000120: 65 72 20 69 6E 20 6F 6E 65 20 77 61 79 20 2D 20 er in one way -
000130: 61 6C 6C 20 77 65 20 77 61 6E 74 20 74 6F 20 64 all we want to d
000140: 6F 20 69 73 20 73 65 74 20 71 20 74 6F 0D 0A 20 o is set q to..
000150: 20 20 62 65 20 74 68 65 20 74 65 78 74 20 6C 69 be the text li
000160: 6E 65 20 74 68 61 74 20 74 68 65 20 67 72 61 70 ne that the grap
000170: 68 69 63 73 20 20 63 75 72 73 6F 72 20 20 69 73 hics cursor is
000180: 20 6F 6E 2E 20 20 54 68 65 72 65 20 61 72 65 20 on. There are
000190: 34 30 30 20 67 72 61 70 68 69 63 73 0D 0A 20 20 400 graphics..
0001A0: 20 63 6F 6F 72 64 69 6E 61 74 65 73 20 76 65 72 coordinates ver
0001B0: 74 69 63 61 6C 6C 79 2C 20 61 6E 64 20 32 35 20 tically, and 25
0001C0: 20 74 65 78 74 20 20 63 6F 6F 72 64 69 6E 61 74 text coordinat
0001D0: 65 73 2E 20 20 20 59 6F 75 20 20 6D 69 67 68 74 es. You might
0001E0: 20 74 68 69 6E 6B 20 74 68 61 74 0D 0A 20 20 20 think that..
0001F0: 73 69 6E 63 65 20 74 68 65 72 65 20 61 72 65 20 since there are
Size : 512 (Real : 512)
000000: 6E 20 6B 65 79 20 61 6E 64 20 74 68 65 6E 20 63 n key and then c
000010: 6C 65 61 72 73 20 74 68 65 20 20 69 6E 70 75 74 lears the input
000020: 20 62 75 66 66 65 72 2E 20 20 54 68 65 6E 20 6C buffer. Then l
000030: 69 6E 65 20 35 30 20 72 65 6D 6F 76 65 73 0D 0A ine 50 removes..
000040: 20 20 20 74 68 65 20 70 6F 69 6E 74 65 72 20 66 the pointer f
000050: 72 6F 6D 20 74 68 65 20 73 63 72 65 65 6E 20 62 rom the screen b
000060: 65 66 6F 72 65 20 74 72 79 69 6E 67 20 74 6F 20 efore trying to
000070: 77 6F 72 6B 20 6F 75 74 20 77 68 61 74 20 74 68 work out what th
000080: 65 20 75 73 65 72 20 77 61 6E 74 65 64 0D 0A 20 e user wanted..
000090: 20 20 74 6F 20 73 65 6C 65 63 74 2E 0D 0A 0D 0A to select.....
0000A0: 20 20 20 57 68 65 6E 20 61 20 73 65 6C 65 63 74 When a select
0000B0: 69 6F 6E 20 6B 65 79 20 69 73 20 70 72 65 73 73 ion key is press
0000C0: 65 64 2C 20 74 68 65 72 65 20 61 72 65 20 74 68 ed, there are th
0000D0: 72 65 65 20 70 6F 73 73 69 62 6C 65 20 63 61 73 ree possible cas
0000E0: 65 73 3A 0D 0A 0D 0A 20 20 20 31 2E 20 54 68 65 es:.... 1. The
0000F0: 20 70 6F 69 6E 74 65 72 20 69 73 20 6F 76 65 72 pointer is over
000100: 20 61 20 66 69 6C 65 6E 61 6D 65 2E 0D 0A 20 20 a filename...
000110: 20 32 2E 20 54 68 65 20 70 6F 69 6E 74 65 72 20 2. The pointer
000120: 69 73 20 6F 76 65 72 20 74 68 65 20 22 75 73 65 is over the "use
000130: 72 20 20 30 22 20 73 74 61 74 65 6D 65 6E 74 2E r 0" statement.
000140: 0D 0A 20 20 20 33 2E 20 54 68 65 20 70 6F 69 6E .. 3. The poin
000150: 74 65 72 20 69 73 20 6F 76 65 72 20 6E 65 69 74 ter is over neit
000160: 68 65 72 20 6F 66 20 74 68 65 20 61 62 6F 76 65 her of the above
000170: 2E 0D 0A 0D 0A 20 20 20 54 6F 20 66 69 6E 64 20 ..... To find
000180: 6F 75 74 20 77 68 69 63 68 20 63 61 73 65 20 77 out which case w
000190: 65 20 68 61 76 65 2C 20 20 77 65 20 20 6E 65 65 e have, we nee
0001A0: 64 20 74 6F 20 72 65 61 64 20 73 6F 6D 65 20 63 d to read some c
0001B0: 68 61 72 61 63 74 65 72 73 20 66 72 6F 6D 20 74 haracters from t
0001C0: 68 65 0D 0A 20 20 20 73 63 72 65 65 6E 2E 20 20 he.. screen.
0001D0: 41 73 20 65 78 70 6C 61 69 6E 65 64 20 69 6E 20 As explained in
0001E0: 74 68 65 20 70 72 65 76 69 6F 75 73 20 61 72 74 the previous art
0001F0: 69 63 6C 65 2C 20 20 77 65 20 68 61 76 65 20 61 icle, we have a
Size : 512 (Real : 512)
000000: 65 20 32 30 29 2E 0D 0A 20 20 20 54 68 65 20 6C e 20)... The l
000010: 69 6E 65 20 75 73 65 64 20 74 6F 20 6C 6F 6F 6B ine used to look
000020: 20 61 20 6C 6F 74 20 73 69 6D 70 6C 65 72 20 20 a lot simpler
000030: 62 75 74 20 4D 61 74 74 68 65 77 20 63 61 6D 65 but Matthew came
000040: 20 75 70 20 77 69 74 68 20 61 6E 20 69 6E 67 65 up with an inge
000050: 6E 69 6F 75 73 0D 0A 20 20 20 77 61 79 20 6F 66 nious.. way of
000060: 20 6D 61 6B 69 6E 67 20 69 74 20 6C 65 73 73 20 making it less
000070: 74 68 61 6E 20 20 72 65 61 64 61 62 6C 65 2E 20 than readable.
000080: 20 20 49 66 20 20 66 6F 72 20 20 74 68 65 20 20 If for the
000090: 6D 6F 6D 65 6E 74 20 77 65 20 69 6D 61 67 69 6E moment we imagin
0000A0: 65 20 69 74 0D 0A 20 20 20 73 61 79 73 20 22 57 e it.. says "W
0000B0: 48 49 4C 45 20 75 3C 30 20 4F 52 20 75 3E 31 35 HILE u<0 OR u>15
0000C0: 22 20 72 61 74 68 65 72 20 20 74 68 61 6E 20 20 " rather than
0000D0: 22 57 48 49 4C 45 20 20 75 20 20 41 4E 44 20 2D "WHILE u AND -
0000E0: 31 36 22 20 74 68 65 6E 20 69 74 20 77 69 6C 6C 16" then it will
0000F0: 20 62 65 0D 0A 20 20 20 65 61 73 69 65 72 20 74 be.. easier t
000100: 6F 20 65 78 70 6C 61 69 6E 2E 0D 0A 0D 0A 20 20 o explain.....
000110: 20 49 6E 69 74 69 61 6C 6C 79 20 75 20 69 73 20 Initially u is
000120: 73 65 74 20 74 6F 20 62 65 20 31 36 20 28 61 6E set to be 16 (an
000130: 20 20 69 6E 76 61 6C 69 64 20 20 75 73 65 72 20 invalid user
000140: 6E 75 6D 62 65 72 29 20 73 6F 20 74 68 61 74 20 number) so that
000150: 74 68 65 20 63 6F 64 65 20 69 6E 0D 0A 20 20 20 the code in..
000160: 74 68 65 20 57 48 49 4C 45 2D 57 45 4E 44 20 6C the WHILE-WEND l
000170: 6F 6F 70 20 69 73 20 65 78 65 63 75 74 65 64 20 oop is executed
000180: 61 74 20 6C 65 61 73 74 20 6F 6E 63 65 2E 20 20 at least once.
000190: 54 68 65 20 63 75 72 73 6F 72 20 69 73 20 4C 4F The cursor is LO
0001A0: 43 41 54 45 64 20 6A 75 73 74 0D 0A 20 20 20 75 CATEd just.. u
0001B0: 6E 64 65 72 20 74 68 65 20 64 69 73 63 20 63 61 nder the disc ca
0001C0: 74 61 6C 6F 67 75 65 20 20 28 75 73 69 6E 67 20 talogue (using
0001D0: 20 76 29 20 20 61 6E 64 20 20 74 68 65 20 20 22 v) and the "
0001E0: 55 73 65 72 3A 22 20 70 72 6F 6D 70 74 20 69 73 User:" prompt is
0001F0: 20 70 72 69 6E 74 65 64 2E 0D 0A 20 20 20 54 68 printed... Th
Size : 512 (Real : 512)
000000: 20 20 53 65 65 20 61 20 6C 61 74 65 72 20 61 72 See a later ar
000010: 74 69 63 6C 65 20 66 6F 72 20 6D 6F 72 65 20 64 ticle for more d
000020: 65 74 61 69 6C 73 2E 3E 3E 0D 0A 0D 0A 20 20 20 etails.>>....
000030: 54 6F 20 77 6F 72 6B 20 6F 75 74 20 22 75 20 41 To work out "u A
000040: 4E 44 20 2D 31 36 22 2C 20 77 65 20 77 72 69 74 ND -16", we writ
000050: 65 20 64 6F 77 6E 20 20 74 68 65 20 76 61 6C 75 e down the valu
000060: 65 20 6F 66 20 75 20 69 6E 20 62 69 6E 61 72 79 e of u in binary
000070: 2C 20 77 69 74 68 20 2D 31 36 0D 0A 20 20 20 77 , with -16.. w
000080: 72 69 74 74 65 6E 20 6F 75 74 20 62 65 6E 65 61 ritten out benea
000090: 74 68 2C 20 61 6E 64 20 41 4E 44 20 65 61 63 68 th, and AND each
0000A0: 20 62 69 74 20 20 6F 66 20 75 20 69 6E 20 74 75 bit of u in tu
0000B0: 72 6E 20 77 69 74 68 20 74 68 65 20 63 6F 72 72 rn with the corr
0000C0: 65 73 70 6F 6E 64 69 6E 67 0D 0A 20 20 20 62 69 esponding.. bi
0000D0: 74 20 62 65 6C 6F 77 2E 20 20 57 68 65 6E 20 79 t below. When y
0000E0: 6F 75 20 41 4E 44 20 74 77 6F 20 62 69 74 73 20 ou AND two bits
0000F0: 74 68 65 6E 20 79 6F 75 20 6F 6E 6C 79 20 67 65 then you only ge
000100: 74 20 61 20 6F 6E 65 20 61 73 20 74 68 65 20 72 t a one as the r
000110: 65 73 75 6C 74 20 69 66 0D 0A 20 20 20 62 6F 74 esult if.. bot
000120: 68 20 74 68 65 20 62 69 74 73 20 77 65 72 65 20 h the bits were
000130: 6F 6E 65 2E 20 20 46 6F 72 20 65 78 61 6D 70 6C one. For exampl
000140: 65 2C 20 69 66 20 75 20 69 73 20 38 37 20 77 65 e, if u is 87 we
000150: 20 67 65 74 3A 0D 0A 0D 0A 20 20 20 75 20 20 20 get:.... u
000160: 20 20 20 20 20 20 20 30 30 30 30 30 30 30 30 30 000000000
000170: 31 30 31 30 31 31 31 0D 0A 20 20 20 2D 31 36 20 1010111.. -16
000180: 20 20 20 20 20 20 20 31 31 31 31 31 31 31 31 31 111111111
000190: 31 31 31 30 30 30 30 0D 0A 20 20 20 20 20 20 20 1110000..
0001A0: 20 20 20 20 20 20 20 2D 2D 2D 2D 2D 2D 2D 2D 2D ---------
0001B0: 2D 2D 2D 2D 2D 2D 2D 0D 0A 20 20 20 75 20 41 4E -------.. u AN
0001C0: 44 20 2D 31 36 20 20 30 30 30 30 30 30 30 30 30 D -16 000000000
0001D0: 31 30 31 30 30 30 30 0D 0A 0D 0A 20 20 20 49 74 1010000.... It
0001E0: 20 69 73 20 71 75 69 74 65 20 65 61 73 79 20 74 is quite easy t
0001F0: 6F 20 73 65 65 20 74 68 61 74 20 75 20 20 41 4E o see that u AN
Size : 512 (Real : 512)
000000: 65 72 65 20 61 72 65 20 74 77 6F 20 74 68 69 6E ere are two thin
000010: 67 73 20 74 6F 20 6E 6F 74 69 63 65 20 61 62 6F gs to notice abo
000020: 75 74 20 20 74 68 65 20 50 52 49 4E 54 20 73 74 ut the PRINT st
000030: 61 74 65 6D 65 6E 74 2C 20 66 69 72 73 74 6C 79 atement, firstly
000040: 20 74 68 61 74 20 77 65 0D 0A 20 20 20 70 72 69 that we.. pri
000050: 6E 74 20 43 48 52 24 28 32 30 29 20 74 6F 6F 2E nt CHR$(20) too.
000060: 20 20 43 68 61 72 61 63 74 65 72 20 32 30 20 69 Character 20 i
000070: 73 20 20 61 20 63 6F 6E 74 72 6F 6C 20 63 68 61 s a control cha
000080: 72 61 63 74 65 72 20 77 68 69 63 68 20 63 6C 65 racter which cle
000090: 61 72 73 20 74 68 65 0D 0A 20 20 20 77 68 6F 6C ars the.. whol
0000A0: 65 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 e of the screen
0000B0: 66 72 6F 6D 20 74 68 65 20 20 63 75 72 73 6F 72 from the cursor
0000C0: 20 20 6F 6E 77 61 72 64 73 2E 20 20 54 68 69 73 onwards. This
0000D0: 20 65 6E 73 75 72 65 73 20 74 68 61 74 20 74 68 ensures that th
0000E0: 65 72 65 20 69 73 0D 0A 20 20 20 6E 6F 20 6D 65 ere is.. no me
0000F0: 73 73 20 61 6E 79 77 68 65 72 65 2E 20 20 53 65 ss anywhere. Se
000100: 63 6F 6E 64 6C 79 2C 20 74 68 65 72 65 20 69 73 condly, there is
000110: 20 61 20 20 73 65 6D 69 63 6F 6C 6F 6E 20 61 74 a semicolon at
000120: 20 74 68 65 20 65 6E 64 2E 20 20 54 68 69 73 20 the end. This
000130: 6D 65 61 6E 73 0D 0A 20 20 20 74 68 61 74 20 74 means.. that t
000140: 68 65 20 63 75 72 73 6F 72 20 72 65 6D 61 69 6E he cursor remain
000150: 73 20 6F 6E 20 74 68 61 74 20 20 6C 69 6E 65 20 s on that line
000160: 20 66 6F 72 20 74 68 65 20 69 6E 70 75 74 20 72 for the input r
000170: 61 74 68 65 72 20 74 68 61 6E 20 62 65 67 69 6E ather than begin
000180: 6E 69 6E 67 0D 0A 20 20 20 61 67 61 69 6E 20 61 ning.. again a
000190: 74 20 74 68 65 20 73 74 61 72 74 20 6F 66 20 74 t the start of t
0001A0: 68 65 20 6E 65 78 74 20 6C 69 6E 65 2E 0D 0A 0D he next line....
0001B0: 0A 20 20 20 54 68 65 20 6E 65 78 74 20 73 74 61 . The next sta
0001C0: 74 65 6D 65 6E 74 20 69 73 20 22 4C 49 4E 45 20 tement is "LINE
0001D0: 49 4E 50 55 54 20 75 24 22 2E 20 20 20 49 6E 70 INPUT u$". Inp
0001E0: 75 74 20 69 6E 74 6F 20 61 20 73 74 72 69 6E 67 ut into a string
0001F0: 20 77 61 73 20 63 68 6F 73 65 6E 20 73 6F 0D 0A was chosen so..
Size : 512 (Real : 512)
000000: 44 20 20 2D 31 36 20 77 69 6C 6C 20 6F 6E 6C 79 D -16 will only
000010: 20 62 65 20 7A 65 72 6F 20 77 68 65 6E 20 74 68 be zero when th
000020: 65 20 62 69 6E 61 72 79 0D 0A 20 20 20 66 6F 72 e binary.. for
000030: 6D 20 6F 66 20 75 20 68 61 73 20 7A 65 72 6F 73 m of u has zeros
000040: 20 77 68 65 72 65 20 2D 31 36 20 20 68 61 73 20 where -16 has
000050: 20 6F 6E 65 73 2E 20 20 20 57 68 65 72 65 20 20 ones. Where
000060: 2D 31 36 20 68 61 73 20 7A 65 72 6F 73 2C 20 75 -16 has zeros, u
000070: 20 63 61 6E 20 62 65 0D 0A 20 20 20 61 6E 79 74 can be.. anyt
000080: 68 69 6E 67 20 77 65 20 6C 69 6B 65 2C 20 61 6E hing we like, an
000090: 64 20 69 74 20 73 6F 20 68 61 70 70 65 6E 73 20 d it so happens
0000A0: 74 68 61 74 20 74 68 65 20 6E 75 6D 62 65 72 73 that the numbers
0000B0: 20 77 69 74 68 20 7A 65 72 6F 73 20 69 6E 20 74 with zeros in t
0000C0: 68 65 20 74 6F 70 0D 0A 20 20 20 74 77 65 6C 76 he top.. twelv
0000D0: 65 20 62 69 74 73 20 61 6E 64 20 7A 65 72 6F 73 e bits and zeros
0000E0: 20 61 6E 64 20 6F 6E 65 73 20 69 6E 20 20 74 68 and ones in th
0000F0: 65 20 20 62 6F 74 74 6F 6D 20 66 6F 75 72 20 62 e bottom four b
000100: 69 74 73 20 61 72 65 20 74 68 65 20 6E 75 6D 62 its are the numb
000110: 65 72 73 20 30 0D 0A 20 20 20 74 6F 20 31 35 2C ers 0.. to 15,
000120: 20 74 68 65 20 76 61 6C 69 64 20 75 73 65 72 20 the valid user
000130: 6E 75 6D 62 65 72 73 21 0D 0A 0D 0A 20 20 20 43 numbers!.... C
000140: 4F 4D 50 4C 49 4D 45 4E 54 41 52 59 20 4D 49 4E OMPLIMENTARY MIN
000150: 54 53 0D 0A 20 20 20 54 68 65 20 41 6D 73 74 72 TS.. The Amstr
000160: 61 64 20 75 73 65 73 20 20 74 68 65 20 20 63 6F ad uses the co
000170: 6D 6D 6F 6E 20 20 74 77 6F 27 73 20 20 63 6F 6D mmon two's com
000180: 70 6C 65 6D 65 6E 74 20 20 6D 65 74 68 6F 64 20 plement method
000190: 20 74 6F 20 73 74 6F 72 65 20 69 6E 74 65 67 65 to store intege
0001A0: 72 0D 0A 20 20 20 76 61 72 69 61 62 6C 65 73 2E r.. variables.
0001B0: 20 20 49 74 20 69 73 20 63 61 6C 6C 65 64 20 20 It is called
0001C0: 74 77 6F 27 73 20 20 63 6F 6D 70 6C 65 6D 65 6E two's complemen
0001D0: 74 20 20 74 6F 20 20 64 69 73 74 69 6E 67 75 69 t to distingui
0001E0: 73 68 20 69 74 20 66 72 6F 6D 20 6F 6E 65 27 73 sh it from one's
0001F0: 0D 0A 20 20 20 63 6F 6D 70 6C 65 6D 65 6E 74 20 .. complement
Size : 512 (Real : 512)
000000: 20 20 20 74 68 61 74 20 6E 6F 20 65 72 72 6F 72 that no error
000010: 73 20 6F 63 63 75 72 20 69 66 20 73 6F 6D 65 74 s occur if somet
000020: 68 69 6E 67 20 6F 74 68 65 72 20 74 68 61 6E 20 hing other than
000030: 61 20 64 69 67 69 74 20 69 73 20 74 79 70 65 64 a digit is typed
000040: 2E 20 20 55 73 69 6E 67 20 4C 49 4E 45 0D 0A 20 . Using LINE..
000050: 20 20 49 4E 50 55 54 20 6D 65 61 6E 73 20 74 68 INPUT means th
000060: 61 74 20 20 65 76 65 6E 20 20 63 6F 6D 6D 61 73 at even commas
000070: 20 20 63 61 6E 20 20 62 65 20 20 74 79 70 65 64 can be typed
000080: 20 20 61 6E 64 20 20 69 74 20 20 77 69 6C 6C 20 and it will
000090: 6E 6F 74 20 63 6F 6D 70 6C 61 69 6E 0D 0A 20 20 not complain..
0000A0: 20 28 6F 72 64 69 6E 61 72 79 20 49 4E 50 55 54 (ordinary INPUT
0000B0: 20 77 69 6C 6C 20 67 69 76 65 20 61 6E 20 20 65 will give an e
0000C0: 72 72 6F 72 20 20 69 66 20 20 61 20 20 63 6F 6D rror if a com
0000D0: 6D 61 20 20 69 73 20 75 73 65 64 20 77 68 65 6E ma is used when
0000E0: 20 69 74 20 64 6F 65 73 6E 27 74 0D 0A 20 20 20 it doesn't..
0000F0: 65 78 70 65 63 74 20 69 74 29 2E 20 20 57 68 69 expect it). Whi
000100: 6C 65 20 6D 6F 73 74 20 75 73 65 72 73 20 77 69 le most users wi
000110: 6C 6C 20 20 64 6F 20 20 77 68 61 74 20 77 65 20 ll do what we
000120: 65 78 70 65 63 74 2C 20 67 6F 6F 64 20 70 72 6F expect, good pro
000130: 67 72 61 6D 73 20 63 6F 70 65 0D 0A 20 20 20 77 grams cope.. w
000140: 69 74 68 20 74 68 65 20 75 6E 65 78 70 65 63 74 ith the unexpect
000150: 65 64 20 74 6F 6F 2E 0D 0A 0D 0A 20 20 20 54 6F ed too..... To
000160: 20 66 69 6E 64 20 6F 75 74 20 77 68 61 74 20 6E find out what n
000170: 75 6D 62 65 72 20 77 61 73 20 74 79 70 65 64 2C umber was typed,
000180: 20 77 65 20 73 65 74 20 20 75 20 74 6F 20 62 65 we set u to be
000190: 20 74 68 65 20 6E 75 6D 65 72 69 63 20 56 41 4C the numeric VAL
0001A0: 75 65 20 6F 66 20 75 24 0D 0A 20 20 20 61 6E 64 ue of u$.. and
0001B0: 20 74 68 65 20 57 45 4E 44 20 74 68 65 6E 20 6C the WEND then l
0001C0: 6F 6F 70 73 20 62 61 63 6B 20 69 66 20 75 20 69 oops back if u i
0001D0: 73 20 6E 6F 74 20 61 20 76 61 6C 69 64 20 75 73 s not a valid us
0001E0: 65 72 20 6E 75 6D 62 65 72 2E 20 20 49 66 20 74 er number. If t
0001F0: 68 65 20 75 73 65 72 0D 0A 20 20 20 64 6F 65 73 he user.. does
Size : 512 (Real : 512)
000000: 20 6F 66 20 74 68 65 20 73 63 72 65 65 6E 20 2D of the screen -
000010: 20 74 68 65 0D 0A 20 20 20 73 61 6D 65 20 61 73 the.. same as
000020: 20 74 68 65 20 74 65 78 74 20 63 75 72 73 6F 72 the text cursor
000030: 2E 20 20 57 65 20 63 61 6E 20 74 68 65 6E 20 20 . We can then
000040: 64 6F 20 69 6E 74 65 67 65 72 20 64 69 76 69 73 do integer divis
000050: 69 6F 6E 20 62 79 20 31 36 20 61 6E 64 20 61 64 ion by 16 and ad
000060: 64 20 31 0D 0A 20 20 20 74 6F 20 66 69 6E 69 73 d 1.. to finis
000070: 68 20 6F 66 66 2E 0D 0A 0D 0A 20 20 20 41 66 74 h off..... Aft
000080: 65 72 20 70 20 61 6E 64 20 71 20 68 61 76 65 20 er p and q have
000090: 62 65 65 6E 20 63 61 6C 63 75 6C 61 74 65 64 2C been calculated,
0000A0: 20 74 68 65 20 20 74 65 78 74 20 63 75 72 73 6F the text curso
0000B0: 72 20 69 73 20 4C 4F 43 41 54 45 64 20 61 74 20 r is LOCATEd at
0000C0: 70 2C 71 20 61 6E 64 0D 0A 20 20 20 74 68 65 20 p,q and.. the
0000D0: 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 63 61 6C machine code cal
0000E0: 6C 65 64 20 74 6F 20 70 75 74 20 20 74 68 65 20 led to put the
0000F0: 20 6E 65 78 74 20 20 31 32 20 63 68 61 72 61 63 next 12 charac
000100: 74 65 72 73 20 69 6E 74 6F 20 66 24 2E 20 20 57 ters into f$. W
000110: 65 20 74 68 65 6E 0D 0A 20 20 20 68 69 74 20 61 e then.. hit a
000120: 20 57 45 4E 44 2E 20 20 54 68 65 20 57 45 4E 44 WEND. The WEND
000130: 20 72 65 66 65 72 73 20 62 61 63 6B 20 74 6F 20 refers back to
000140: 74 68 65 20 73 65 63 6F 6E 64 20 57 48 49 4C 45 the second WHILE
000150: 20 63 6F 6E 64 69 74 69 6F 6E 20 69 6E 20 6C 69 condition in li
000160: 6E 65 20 33 30 0D 0A 20 20 20 74 68 61 74 20 73 ne 30.. that s
000170: 61 79 73 20 74 6F 20 6B 65 65 70 20 6C 6F 6F 70 ays to keep loop
000180: 69 6E 67 20 75 6E 74 69 6C 20 65 69 74 68 65 72 ing until either
000190: 20 74 68 65 20 20 39 74 68 20 63 68 61 72 61 63 the 9th charac
0001A0: 74 65 72 20 6F 66 20 66 24 20 69 73 20 61 20 66 ter of f$ is a f
0001B0: 75 6C 6C 2D 0D 0A 20 20 20 73 74 6F 70 20 28 6F ull-.. stop (o
0001C0: 6E 20 61 20 66 69 6C 65 6E 61 6D 65 29 2C 20 6F n a filename), o
0001D0: 72 20 74 68 65 20 38 74 68 20 20 63 68 61 72 61 r the 8th chara
0001E0: 63 74 65 72 20 20 69 73 20 20 61 20 63 6F 6C 6F cter is a colo
0001F0: 6E 20 28 61 74 20 74 68 65 20 22 44 72 69 76 65 n (at the "Drive
Size : 512 (Real : 512)
000000: 6E 27 74 20 74 79 70 65 20 61 6E 79 74 68 69 6E n't type anythin
000010: 67 20 61 6E 64 20 6A 75 73 74 20 70 72 65 73 73 g and just press
000020: 65 73 20 74 68 65 20 45 6E 74 65 72 2F 52 65 74 es the Enter/Ret
000030: 75 72 6E 20 6B 65 79 20 74 68 65 6E 20 75 20 77 urn key then u w
000040: 69 6C 6C 20 62 65 0D 0A 20 20 20 73 65 74 20 74 ill be.. set t
000050: 6F 20 30 20 2D 20 61 20 76 61 6C 69 64 20 75 73 o 0 - a valid us
000060: 65 72 20 6E 75 6D 62 65 72 20 20 2D 20 20 61 6E er number - an
000070: 64 20 20 75 24 20 77 69 6C 6C 20 62 65 20 65 6D d u$ will be em
000080: 70 74 79 2E 20 20 49 6E 20 74 68 69 73 20 63 61 pty. In this ca
000090: 73 65 20 77 65 0D 0A 20 20 20 61 73 73 75 6D 65 se we.. assume
0000A0: 20 74 68 61 74 20 74 68 65 20 75 73 65 72 20 64 that the user d
0000B0: 69 64 20 6E 6F 74 20 72 65 61 6C 6C 79 20 77 61 id not really wa
0000C0: 6E 74 20 20 74 6F 20 63 68 61 6E 67 65 20 74 68 nt to change th
0000D0: 65 20 75 73 65 72 20 6E 75 6D 62 65 72 2E 20 20 e user number.
0000E0: 41 73 20 61 0D 0A 20 20 20 70 72 6F 67 72 61 6D As a.. program
0000F0: 6D 65 72 20 69 74 20 69 73 20 77 69 73 65 20 20 mer it is wise
000100: 74 6F 20 20 72 65 61 6C 69 73 65 20 20 74 68 61 to realise tha
000110: 74 20 20 75 73 65 72 73 20 20 64 6F 20 20 6E 6F t users do no
000120: 74 20 61 6C 77 61 79 73 20 73 65 6C 65 63 74 20 t always select
000130: 74 68 65 0D 0A 20 20 20 6F 70 74 69 6F 6E 73 20 the.. options
000140: 74 68 65 79 20 69 6E 74 65 6E 64 20 74 6F 2C 20 they intend to,
000150: 61 6E 64 20 77 65 20 20 63 61 6E 20 20 61 6E 74 and we can ant
000160: 69 63 69 70 61 74 65 20 20 74 68 69 73 20 62 79 icipate this by
000170: 20 70 72 6F 76 69 64 69 6E 67 20 61 6E 20 65 61 providing an ea
000180: 73 79 0D 0A 20 20 20 77 61 79 20 6F 75 74 20 69 sy.. way out i
000190: 6E 20 73 75 63 68 20 73 69 74 75 61 74 69 6F 6E n such situation
0001A0: 73 2E 20 20 20 54 68 61 74 20 20 69 73 20 20 77 s. That is w
0001B0: 68 79 20 20 74 68 65 20 20 72 65 73 74 20 20 6F hy the rest o
0001C0: 66 20 74 68 65 20 6C 69 6E 65 20 69 73 20 6E 6F f the line is no
0001D0: 74 0D 0A 20 20 20 65 78 65 63 75 74 65 64 20 69 t.. executed i
0001E0: 66 20 75 24 20 69 73 20 65 6D 70 74 79 2E 0D 0A f u$ is empty...
0001F0: 0D 0A 20 20 20 57 48 49 4C 45 20 41 57 41 59 20 .. WHILE AWAY
Size : 512 (Real : 512)
000000: 20 41 3A 0D 0A 20 20 20 75 73 65 72 20 20 30 22 A:.. user 0"
000010: 20 70 6F 73 69 74 69 6F 6E 29 2E 20 20 49 66 20 position). If
000020: 77 65 20 66 61 6C 6C 20 74 68 72 6F 75 67 68 20 we fall through
000030: 20 74 68 65 20 57 45 4E 44 20 61 6E 64 20 74 68 the WEND and th
000040: 65 20 39 74 68 20 63 68 61 72 61 63 74 65 72 20 e 9th character
000050: 69 73 0D 0A 20 20 20 61 20 66 75 6C 6C 2D 73 74 is.. a full-st
000060: 6F 70 20 74 68 65 6E 20 74 68 65 20 70 72 6F 67 op then the prog
000070: 72 61 6D 20 77 69 74 68 20 66 69 6C 65 6E 61 6D ram with filenam
000080: 65 20 20 66 24 20 69 73 20 72 75 6E 20 28 61 73 e f$ is run (as
000090: 20 64 69 73 63 75 73 73 65 64 20 69 6E 20 74 68 discussed in th
0000A0: 65 0D 0A 20 20 20 66 69 72 73 74 20 61 72 74 69 e.. first arti
0000B0: 63 6C 65 29 2E 20 20 4F 74 68 65 72 77 69 73 65 cle). Otherwise
0000C0: 20 77 65 20 6E 65 65 64 20 74 6F 20 20 61 73 6B we need to ask
0000D0: 20 20 74 68 65 20 20 75 73 65 72 20 77 68 69 63 the user whic
0000E0: 68 20 75 73 65 72 20 6E 75 6D 62 65 72 20 74 6F h user number to
0000F0: 0D 0A 20 20 20 63 68 61 6E 67 65 20 74 6F 2E 0D .. change to..
000100: 0A 0D 0A 20 20 20 55 53 45 46 55 4C 20 55 53 45 ... USEFUL USE
000110: 52 20 55 54 49 4C 49 54 59 0D 0A 20 20 20 4C 69 R UTILITY.. Li
000120: 6E 65 20 36 30 20 6C 6F 6F 70 73 20 75 6E 74 69 ne 60 loops unti
000130: 6C 20 61 20 76 61 6C 69 64 20 75 73 65 72 20 20 l a valid user
000140: 6E 75 6D 62 65 72 20 69 73 20 65 6E 74 65 72 65 number is entere
000150: 64 2C 20 63 68 61 6E 67 65 73 20 74 68 65 20 75 d, changes the u
000160: 73 65 72 20 61 72 65 61 0D 0A 20 20 20 74 6F 20 ser area.. to
000170: 74 68 61 74 20 6E 75 6D 62 65 72 2C 20 63 6C 65 that number, cle
000180: 61 72 73 20 74 68 65 20 73 63 72 65 65 6E 2C 20 ars the screen,
000190: 20 72 65 63 61 74 61 6C 6F 67 75 65 73 20 20 74 recatalogues t
0001A0: 68 65 20 64 69 73 63 20 61 6E 64 20 72 65 73 65 he disc and rese
0001B0: 74 73 20 76 20 74 6F 0D 0A 20 20 20 62 65 20 74 ts v to.. be t
0001C0: 68 65 20 79 2D 63 6F 6F 72 64 69 6E 61 74 65 20 he y-coordinate
0001D0: 6F 66 20 74 68 65 20 74 65 78 74 20 20 63 75 72 of the text cur
0001E0: 73 6F 72 20 20 28 76 20 20 69 73 20 69 6E 69 74 sor (v is init
0001F0: 69 61 6C 6C 79 20 73 65 74 20 69 6E 20 6C 69 6E ially set in lin
Size : 512 (Real : 512)
000000: 54 48 45 20 54 49 4D 45 0D 0A 20 20 20 53 6F 20 THE TIME.. So
000010: 77 68 79 20 64 6F 65 73 20 22 57 48 49 4C 45 20 why does "WHILE
000020: 75 20 41 4E 44 20 2D 31 36 22 20 20 6D 65 61 6E u AND -16" mean
000030: 20 20 74 68 65 20 20 73 61 6D 65 20 61 73 20 22 the same as "
000040: 57 48 49 4C 45 20 75 3C 30 20 4F 52 20 75 3E 31 WHILE u<0 OR u>1
000050: 35 22 3F 20 20 49 74 0D 0A 20 20 20 6D 61 79 20 5"? It.. may
000060: 6D 61 6B 65 20 6D 6F 72 65 20 73 65 6E 73 65 20 make more sense
000070: 77 68 65 6E 20 79 6F 75 20 6B 6E 6F 77 20 20 74 when you know t
000080: 68 61 74 20 2D 31 36 20 69 6E 20 62 69 6E 61 72 hat -16 in binar
000090: 79 20 69 73 20 31 31 31 31 31 31 31 31 31 31 31 y is 11111111111
0000A0: 31 30 30 30 30 2E 0D 0A 20 20 20 54 68 65 20 57 10000... The W
0000B0: 48 49 4C 45 20 6C 6F 6F 70 20 77 69 6C 6C 20 6B HILE loop will k
0000C0: 65 65 70 20 67 6F 69 6E 67 20 75 6E 74 69 6C 20 eep going until
0000D0: 74 68 65 20 63 6F 6E 64 69 74 69 6F 6E 20 69 73 the condition is
0000E0: 20 66 61 6C 73 65 2C 20 77 68 69 63 68 20 69 6E false, which in
0000F0: 20 74 68 69 73 0D 0A 20 20 20 63 61 73 65 20 68 this.. case h
000100: 61 70 70 65 6E 73 20 6F 6E 6C 79 20 77 68 65 6E appens only when
000110: 20 22 75 20 41 4E 44 20 20 2D 31 36 22 20 20 69 "u AND -16" i
000120: 73 20 20 7A 65 72 6F 2E 20 20 3C 3C 57 65 20 68 s zero. <<We h
000130: 61 76 65 20 73 69 6E 63 65 20 64 69 73 63 6F 76 ave since discov
000140: 65 72 65 64 0D 0A 20 20 20 74 68 61 74 20 74 68 ered.. that th
000150: 69 73 20 63 6F 6E 64 69 74 69 6F 6E 20 64 6F 65 is condition doe
000160: 73 20 6E 6F 74 20 77 6F 72 6B 20 70 72 6F 70 65 s not work prope
000170: 72 6C 79 20 20 6F 6E 20 20 74 68 65 20 43 50 43 rly on the CPC
000180: 20 34 36 34 2C 20 61 73 20 74 68 65 72 65 20 69 464, as there i
000190: 73 20 61 0D 0A 20 20 20 62 75 67 20 69 6E 20 42 s a.. bug in B
0001A0: 41 53 49 43 20 31 2E 30 2E 20 20 49 66 20 79 6F ASIC 1.0. If yo
0001B0: 75 20 74 79 70 65 20 69 6E 20 61 20 20 76 61 6C u type in a val
0001C0: 75 65 20 6F 66 20 75 20 74 68 61 74 20 69 73 20 ue of u that is
0001D0: 61 20 6D 75 6C 74 69 70 6C 65 20 6F 66 20 32 35 a multiple of 25
0001E0: 36 2C 0D 0A 20 20 20 69 74 20 77 69 6C 6C 20 6C 6,.. it will l
0001F0: 65 74 20 69 74 20 74 68 72 6F 75 67 68 2E 2E 2E et it through...
Size : 512 (Real : 512)
000000: 77 68 69 63 68 20 69 73 20 6E 65 76 65 72 20 75 which is never u
000010: 73 65 64 20 20 61 6E 79 77 61 79 21 20 20 20 54 sed anyway! T
000020: 68 65 20 20 62 61 73 69 63 20 69 64 65 61 20 69 he basic idea i
000030: 73 20 74 68 61 74 20 6E 65 67 61 74 69 76 65 0D s that negative.
000040: 0A 20 20 20 6E 75 6D 62 65 72 73 20 61 72 65 20 . numbers are
000050: 73 74 6F 72 65 64 20 61 73 20 6C 61 72 67 65 20 stored as large
000060: 70 6F 73 69 74 69 76 65 20 6E 75 6D 62 65 72 73 positive numbers
000070: 2E 20 20 54 68 65 20 6C 61 72 67 65 73 74 20 6E . The largest n
000080: 75 6D 62 65 72 20 74 68 61 74 20 63 61 6E 0D 0A umber that can..
000090: 20 20 20 62 65 20 73 74 6F 72 65 64 20 69 6E 20 be stored in
0000A0: 31 36 20 62 69 74 73 20 20 69 73 20 20 36 35 35 16 bits is 655
0000B0: 33 35 2C 20 20 61 6C 73 6F 20 20 6B 6E 6F 77 6E 35, also known
0000C0: 20 20 61 73 20 46 46 46 46 20 69 6E 20 68 65 78 as FFFF in hex
0000D0: 61 64 65 63 69 6D 61 6C 2C 20 61 6E 64 0D 0A 20 adecimal, and..
0000E0: 20 20 31 31 31 31 31 31 31 31 31 31 31 31 31 31 11111111111111
0000F0: 31 31 20 69 6E 20 62 69 6E 61 72 79 2E 20 20 57 11 in binary. W
000100: 68 65 6E 20 77 65 20 75 73 65 20 74 77 6F 27 73 hen we use two's
000110: 20 63 6F 6D 70 6C 65 6D 65 6E 74 2C 20 77 65 20 complement, we
000120: 70 72 65 74 65 6E 64 20 74 68 61 74 0D 0A 20 20 pretend that..
000130: 20 69 74 20 6D 65 61 6E 73 20 6D 69 6E 75 73 20 it means minus
000140: 31 20 69 6E 73 74 65 61 64 2E 20 20 53 69 6D 69 1 instead. Simi
000150: 6C 61 72 6C 79 20 20 77 65 20 20 6C 65 74 20 20 larly we let
000160: 36 35 35 33 34 20 73 74 61 6E 64 20 66 6F 72 20 65534 stand for
000170: 2D 32 2E 20 20 36 35 35 32 35 2C 0D 0A 20 20 20 -2. 65525,..
000180: 74 65 6E 20 6C 65 73 73 20 74 68 61 6E 20 36 35 ten less than 65
000190: 35 33 35 2C 20 73 74 61 6E 64 73 20 66 6F 72 20 535, stands for
0001A0: 2D 31 31 2C 20 77 68 69 63 68 20 20 69 73 20 74 -11, which is t
0001B0: 65 6E 20 6C 65 73 73 20 74 68 61 6E 20 2D 31 2C en less than -1,
0001C0: 20 61 6E 64 20 73 6F 20 6F 6E 0D 0A 20 20 20 75 and so on.. u
0001D0: 6E 74 69 6C 20 77 65 20 6D 65 65 74 20 75 70 20 ntil we meet up
0001E0: 73 6F 6D 65 77 68 65 72 65 20 69 6E 20 74 68 65 somewhere in the
0001F0: 20 6D 69 64 64 6C 65 3A 0D 0A 0D 0A 20 20 20 2D middle:.... -
Size : 512 (Real : 512)
000000: 20 4E 65 78 74 20 6D 6F 6E 74 68 20 77 65 20 73 Next month we s
000010: 68 61 6C 6C 20 20 62 65 67 69 6E 20 20 64 69 73 hall begin dis
000020: 73 65 63 74 69 6E 67 20 61 6E 6F 74 68 65 72 20 secting another
000030: 73 6D 61 6C 6C 20 70 72 6F 67 72 61 6D 2C 20 74 small program, t
000040: 69 6C 6C 0D 0A 20 20 20 74 68 65 6E 20 70 65 72 ill.. then per
000050: 68 61 70 73 20 79 6F 75 20 63 6F 75 6C 64 20 20 haps you could
000060: 74 68 69 6E 6B 20 20 6F 66 20 20 61 20 20 67 6F think of a go
000070: 6F 64 20 20 72 65 61 73 6F 6E 20 20 77 68 79 20 od reason why
000080: 20 74 68 65 72 65 20 69 73 6E 27 74 20 61 20 6B there isn't a k
000090: 65 79 0D 0A 20 20 20 6E 75 6D 62 65 72 65 64 20 ey.. numbered
0000A0: 37 38 3F 20 20 48 61 76 65 20 66 75 6E 21 0D 0A 78? Have fun!..
0000B0: 0D 0A 0D 0A 31 30 20 44 45 46 49 4E 54 20 61 2D ....10 DEFINT a-
0000C0: 7A 3A 4D 45 4D 4F 52 59 20 48 49 4D 45 4D 2D 33 z:MEMORY HIMEM-3
0000D0: 34 3A 61 3D 55 4E 54 28 48 49 4D 45 4D 2B 31 29 4:a=UNT(HIMEM+1)
0000E0: 3A 46 4F 52 20 78 3D 30 20 54 4F 20 33 33 3A 52 :FOR x=0 TO 33:R
0000F0: 45 41 44 20 61 24 3A 50 4F 4B 45 20 61 2B 78 2C EAD a$:POKE a+x,
000100: 56 41 4C 0D 0A 20 20 20 28 22 26 22 2B 61 24 29 VAL.. ("&"+a$)
000110: 3A 4E 45 58 54 3A 44 41 54 41 20 43 44 2C 37 38 :NEXT:DATA CD,78
000120: 2C 42 42 2C 34 43 2C 44 44 2C 36 45 2C 30 2C 44 ,BB,4C,DD,6E,0,D
000130: 44 2C 36 36 2C 31 2C 34 36 2C 37 38 2C 42 37 2C D,66,1,46,78,B7,
000140: 43 38 2C 32 33 2C 35 45 2C 32 33 2C 36 36 2C 36 C8,23,5E,23,66,6
000150: 42 2C 43 44 0D 0A 20 20 20 2C 36 30 2C 42 42 2C B,CD.. ,60,BB,
000160: 37 37 2C 32 33 2C 43 2C 37 39 2C 45 35 2C 43 44 77,23,C,79,E5,CD
000170: 2C 36 46 2C 42 42 2C 45 31 2C 31 30 2C 46 32 2C ,6F,BB,E1,10,F2,
000180: 43 39 0D 0A 32 30 20 43 41 4C 4C 20 26 42 42 34 C9..20 CALL &BB4
000190: 45 3A 43 41 4C 4C 20 26 42 43 30 32 3A 43 41 4C E:CALL &BC02:CAL
0001A0: 4C 20 26 42 42 42 41 3A 4D 4F 44 45 20 32 3A 50 L &BBBA:MODE 2:P
0001B0: 52 49 4E 54 20 43 48 52 24 28 32 33 29 2B 43 48 RINT CHR$(23)+CH
0001C0: 52 24 28 31 29 3A 78 3D 31 30 30 3A 79 3D 32 39 R$(1):x=100:y=29
0001D0: 36 3A 43 0D 0A 20 20 20 41 54 3A 76 3D 56 50 4F 6:C.. AT:v=VPO
0001E0: 53 28 23 30 29 0D 0A 33 30 20 57 48 49 4C 45 20 S(#0)..30 WHILE
0001F0: 31 3A 54 41 47 3A 66 24 3D 53 50 41 43 45 24 28 1:TAG:f$=SPACE$(
Size : 512 (Real : 512)
000000: 33 32 37 36 38 20 20 31 30 30 30 30 30 30 30 30 32768 100000000
000010: 30 30 30 30 30 30 30 0D 0A 20 20 20 2B 33 32 37 0000000.. +327
000020: 36 37 20 20 30 31 31 31 31 31 31 31 31 31 31 31 67 011111111111
000030: 31 31 31 31 0D 0A 0D 0A 20 20 20 41 73 20 79 6F 1111.... As yo
000040: 75 20 73 65 65 2C 20 74 68 65 20 6C 61 72 67 65 u see, the large
000050: 73 74 20 20 70 6F 73 69 74 69 76 65 20 20 6E 75 st positive nu
000060: 6D 62 65 72 20 20 61 6C 6C 6F 77 65 64 20 20 69 mber allowed i
000070: 6E 20 74 77 6F 27 73 20 63 6F 6D 70 6C 65 6D 65 n two's compleme
000080: 6E 74 20 69 73 0D 0A 20 20 20 33 32 37 36 37 2C nt is.. 32767,
000090: 20 61 6E 64 20 69 74 20 68 61 73 20 74 68 65 20 and it has the
0000A0: 74 6F 70 20 62 69 74 20 7A 65 72 6F 20 69 6E 20 top bit zero in
0000B0: 62 69 6E 61 72 79 2E 20 20 54 68 65 20 6D 6F 73 binary. The mos
0000C0: 74 20 6E 65 67 61 74 69 76 65 20 6E 75 6D 62 65 t negative numbe
0000D0: 72 20 69 73 0D 0A 20 20 20 2D 33 32 37 36 38 2C r is.. -32768,
0000E0: 20 77 68 69 63 68 20 68 61 73 20 74 68 65 20 74 which has the t
0000F0: 6F 70 20 62 69 74 20 73 65 74 2E 20 20 49 6E 20 op bit set. In
000100: 66 61 63 74 2C 20 61 6C 6C 20 74 68 65 20 6E 65 fact, all the ne
000110: 67 61 74 69 76 65 20 6E 75 6D 62 65 72 73 20 68 gative numbers h
000120: 61 76 65 0D 0A 20 20 20 6F 6E 65 20 69 6E 20 74 ave.. one in t
000130: 68 65 20 74 6F 70 20 62 69 74 2C 20 61 6E 64 20 he top bit, and
000140: 61 6C 6C 20 74 68 65 20 70 6F 73 69 74 69 76 65 all the positive
000150: 20 6E 75 6D 62 65 72 73 20 68 61 76 65 20 74 68 numbers have th
000160: 65 20 74 6F 70 20 62 69 74 20 63 6C 65 61 72 2E e top bit clear.
000170: 0D 0A 0D 0A 20 20 20 41 20 67 6F 6F 64 20 20 61 .... A good a
000180: 6E 61 6C 6F 67 79 20 20 66 6F 72 20 20 74 77 6F nalogy for two
000190: 27 73 20 20 63 6F 6D 70 6C 65 6D 65 6E 74 20 20 's complement
0001A0: 61 72 69 74 68 6D 65 74 69 63 20 20 69 73 20 20 arithmetic is
0001B0: 74 68 65 20 20 63 6C 6F 63 6B 20 20 66 61 63 65 the clock face
0001C0: 2E 0D 0A 20 20 20 53 6F 6D 65 74 69 6D 65 73 20 ... Sometimes
0001D0: 77 65 20 63 6F 75 6E 74 20 66 72 6F 6D 20 31 31 we count from 11
0001E0: 3A 30 30 20 74 6F 20 20 31 31 3A 35 39 2C 20 20 :00 to 11:59,
0001F0: 61 6E 64 20 20 68 61 76 65 20 20 75 70 20 74 6F and have up to
Size : 512 (Real : 512)
000000: 31 32 29 3A 57 48 49 4C 45 20 4D 49 44 24 28 66 12):WHILE MID$(f
000010: 24 2C 39 2C 31 29 3C 3E 22 2E 22 20 41 4E 44 20 $,9,1)<>"." AND
000020: 4D 49 44 24 28 66 24 2C 38 2C 31 29 3C 3E 22 3A MID$(f$,8,1)<>":
000030: 22 3A 4D 4F 56 45 0D 0A 20 20 20 20 78 2C 79 3A ":MOVE.. x,y:
000040: 50 52 49 4E 54 20 43 48 52 24 28 32 31 35 29 3B PRINT CHR$(215);
000050: 3A 47 4F 53 55 42 20 38 30 0D 0A 34 30 20 57 48 :GOSUB 80..40 WH
000060: 49 4C 45 20 49 4E 4B 45 59 28 34 37 29 2B 49 4E ILE INKEY(47)+IN
000070: 4B 45 59 28 31 38 29 2B 49 4E 4B 45 59 28 39 29 KEY(18)+INKEY(9)
000080: 3D 2D 33 3A 62 3D 78 3A 63 3D 79 3A 78 3D 4D 41 =-3:b=x:c=y:x=MA
000090: 58 28 30 2C 4D 49 4E 28 36 33 32 2C 78 2B 33 2A X(0,MIN(632,x+3*
0000A0: 28 28 49 4E 4B 45 59 28 38 29 0D 0A 20 20 20 3E ((INKEY(8).. >
0000B0: 2D 31 29 2D 28 49 4E 4B 45 59 28 31 29 3E 2D 31 -1)-(INKEY(1)>-1
0000C0: 29 29 2A 28 34 2B 33 2A 28 49 4E 4B 45 59 28 32 ))*(4+3*(INKEY(2
0000D0: 31 29 3D 2D 31 29 29 29 29 3A 79 3D 4D 41 58 28 1)=-1)))):y=MAX(
0000E0: 31 35 2C 4D 49 4E 28 33 39 39 2C 79 2B 33 2A 28 15,MIN(399,y+3*(
0000F0: 28 49 4E 4B 45 59 28 32 29 3E 2D 0D 0A 20 20 20 (INKEY(2)>-..
000100: 31 29 2D 28 49 4E 4B 45 59 28 30 29 3E 2D 31 29 1)-(INKEY(0)>-1)
000110: 29 2A 28 28 49 4E 4B 45 59 28 32 31 29 3D 2D 31 )*((INKEY(21)=-1
000120: 29 2B 32 29 29 29 3A 4D 4F 56 45 20 62 2C 63 3A )+2))):MOVE b,c:
000130: 50 52 49 4E 54 20 43 48 52 24 28 32 31 35 29 3B PRINT CHR$(215);
000140: 3A 4D 4F 56 45 20 78 2C 79 3A 50 52 0D 0A 20 20 :MOVE x,y:PR..
000150: 20 49 4E 54 20 43 48 52 24 28 32 31 35 29 3B 3A INT CHR$(215);:
000160: 57 45 4E 44 0D 0A 35 30 20 47 4F 53 55 42 20 38 WEND..50 GOSUB 8
000170: 30 3A 4D 4F 56 45 20 78 2C 79 3A 50 52 49 4E 54 0:MOVE x,y:PRINT
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: 20 35 39 20 6D 69 6E 75 74 65 73 20 66 72 6F 6D 59 minutes from
000010: 0D 0A 20 20 20 65 6C 65 76 65 6E 20 6F 27 63 6C .. eleven o'cl
000020: 6F 63 6B 2E 20 20 4F 72 20 77 65 20 63 61 6E 20 ock. Or we can
000030: 20 6C 6F 6F 6B 20 20 61 74 20 20 69 74 20 20 61 look at it a
000040: 6E 6F 74 68 65 72 20 20 77 61 79 20 61 6E 64 20 nother way and
000050: 61 66 74 65 72 20 68 61 6C 66 20 70 61 73 74 0D after half past.
000060: 0A 20 20 20 65 6C 65 76 65 6E 20 77 65 20 73 74 . eleven we st
000070: 61 72 74 20 73 61 79 69 6E 67 20 32 39 20 6D 69 art saying 29 mi
000080: 6E 75 74 65 73 20 74 6F 20 20 74 77 65 6C 76 65 nutes to twelve
000090: 2E 20 20 35 39 20 6D 69 6E 75 74 65 73 20 70 61 . 59 minutes pa
0000A0: 73 74 20 65 6C 65 76 65 6E 20 74 68 65 6E 0D 0A st eleven then..
0000B0: 20 20 20 62 65 63 6F 6D 65 73 20 31 20 6D 69 6E becomes 1 min
0000C0: 75 74 65 20 74 6F 20 20 74 77 65 6C 76 65 20 20 ute to twelve
0000D0: 6F 72 20 20 69 66 20 20 79 6F 75 20 20 70 72 65 or if you pre
0000E0: 66 65 72 2C 20 20 74 77 65 6C 76 65 20 20 6F 27 fer, twelve o'
0000F0: 63 6C 6F 63 6B 20 6D 69 6E 75 73 20 31 0D 0A 20 clock minus 1..
000100: 20 20 6D 69 6E 75 74 65 2E 0D 0A 0D 0A 20 20 20 minute.....
000110: 4D 6F 73 74 20 6F 66 20 74 68 65 20 74 69 6D 65 Most of the time
000120: 20 79 6F 75 20 64 6F 20 6E 6F 74 20 20 6E 65 65 you do not nee
000130: 64 20 20 74 6F 20 6B 6E 6F 77 20 61 6E 79 74 68 d to know anyth
000140: 69 6E 67 20 61 62 6F 75 74 20 68 6F 77 20 74 68 ing about how th
000150: 65 20 63 6F 6D 70 75 74 65 72 0D 0A 20 20 20 73 e computer.. s
000160: 74 6F 72 65 73 20 6E 75 6D 62 65 72 73 2C 20 62 tores numbers, b
000170: 75 74 20 6F 63 63 61 73 69 6F 6E 61 6C 6C 79 20 ut occasionally
000180: 69 74 20 69 73 20 20 75 73 65 66 75 6C 2E 20 20 it is useful.
000190: 20 49 66 20 20 79 6F 75 20 77 61 6E 74 20 74 6F If you want to
0001A0: 20 66 69 6E 64 20 6F 75 74 0D 0A 20 20 20 77 68 find out.. wh
0001B0: 61 74 20 2D 32 33 20 69 73 20 69 6E 20 62 69 6E at -23 is in bin
0001C0: 61 72 79 2C 20 74 68 65 20 20 65 61 73 69 65 73 ary, the easies
0001D0: 74 20 20 74 68 69 6E 67 20 20 74 6F 20 64 6F 20 t thing to do
0001E0: 69 73 20 74 79 70 65 20 50 52 49 4E 54 20 42 49 is type PRINT BI
0001F0: 4E 24 28 2D 32 33 29 2C 0D 0A 20 20 20 62 75 74 N$(-23),.. but
Size : 512 (Real : 512)
000000: 42 42 42 41 3A 4D 0D 0A 20 20 20 4F 44 45 20 31 BBBA:M.. ODE 1
000010: 3A 52 55 4E 20 66 24 0D 0A 36 30 20 75 3D 31 36 :RUN f$..60 u=16
000020: 3A 57 48 49 4C 45 20 75 20 41 4E 44 20 2D 31 36 :WHILE u AND -16
000030: 3A 4C 4F 43 41 54 45 20 31 2C 76 3A 50 52 49 4E :LOCATE 1,v:PRIN
000040: 54 22 55 73 65 72 3A 20 22 2B 43 48 52 24 28 32 T"User: "+CHR$(2
000050: 30 29 3B 3A 4C 49 4E 45 20 49 4E 50 55 54 20 75 0);:LINE INPUT u
000060: 24 3A 75 3D 56 41 4C 28 0D 0A 20 20 20 75 24 29 $:u=VAL(.. u$)
000070: 3A 57 45 4E 44 3A 49 46 20 75 24 3C 3E 22 22 20 :WEND:IF u$<>""
000080: 54 48 45 4E 20 7C 55 53 45 52 2C 75 3A 43 4C 53 THEN |USER,u:CLS
000090: 3A 43 41 54 3A 76 3D 56 50 4F 53 28 23 30 29 0D :CAT:v=VPOS(#0).
0000A0: 0A 37 30 20 57 45 4E 44 0D 0A 38 30 20 57 48 49 .70 WEND..80 WHI
0000B0: 4C 45 20 49 4E 4B 45 59 28 34 37 29 2B 49 4E 4B LE INKEY(47)+INK
0000C0: 45 59 28 31 38 29 2B 49 4E 4B 45 59 28 39 29 3E EY(18)+INKEY(9)>
0000D0: 2D 33 3A 57 45 4E 44 3A 57 48 49 4C 45 20 49 4E -3:WEND:WHILE IN
0000E0: 4B 45 59 24 3C 3E 22 22 3A 57 45 4E 44 3A 52 45 KEY$<>"":WEND:RE
0000F0: 54 55 52 4E 0D 0A 0D 0A 20 20 20 46 69 67 75 72 TURN.... Figur
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: C0 60 60 D6 00 06 00 18 00 18 66 7C CC 7E 60 00 .``.......f|.~`.
000190: 00 66 66 00 C0 18 18 66 7E 00 66 7E 18 18 7C 66 .ff....f~.f~..|f
0001A0: 66 00 00 CC 7C 66 66 7C 60 66 00 18 06 06 FE 00 f...|ff|`f......
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 20 69 66 20 79 6F 75 20 72 65 61 6C 6C 79 20 77 if you really w
000010: 61 6E 74 20 74 6F 20 6B 6E 6F 77 2C 20 74 68 69 ant to know, thi
000020: 73 20 69 73 20 68 6F 77 20 74 6F 20 64 6F 20 69 s is how to do i
000030: 74 20 62 79 20 68 61 6E 64 3A 0D 0A 0D 0A 20 20 t by hand:....
000040: 20 31 2E 20 57 72 69 74 65 20 64 6F 77 6E 20 74 1. Write down t
000050: 68 65 20 70 6F 73 69 74 69 76 65 20 6E 75 6D 62 he positive numb
000060: 65 72 20 69 6E 20 62 69 6E 61 72 79 2E 0D 0A 20 er in binary...
000070: 20 20 32 2E 20 54 61 6B 65 20 74 68 65 20 63 6F 2. Take the co
000080: 6D 70 6C 65 6D 65 6E 74 20 28 63 68 61 6E 67 65 mplement (change
000090: 20 65 61 63 68 20 31 20 74 6F 20 30 20 61 6E 64 each 1 to 0 and
0000A0: 20 65 61 63 68 20 30 20 74 6F 20 31 29 2E 0D 0A each 0 to 1)...
0000B0: 20 20 20 33 2E 20 41 64 64 20 6F 6E 20 6F 6E 65 3. Add on one
0000C0: 2E 0D 0A 0D 0A 20 20 20 46 6F 72 20 65 78 61 6D ..... For exam
0000D0: 70 6C 65 20 77 69 74 68 20 2D 32 33 3A 0D 0A 0D ple with -23:...
0000E0: 0A 20 20 20 32 33 20 69 6E 20 62 69 6E 61 72 79 . 23 in binary
0000F0: 3A 20 20 30 30 30 30 30 30 30 30 30 30 30 31 30 : 0000000000010
000100: 31 31 31 0D 0A 20 20 20 43 6F 6D 70 6C 65 6D 65 111.. Compleme
000110: 6E 74 3A 20 20 20 20 31 31 31 31 31 31 31 31 31 nt: 111111111
000120: 31 31 30 31 30 30 30 0D 0A 20 20 20 41 64 64 20 1101000.. Add
000130: 6F 6E 20 6F 6E 65 3A 20 20 20 20 31 31 31 31 31 on one: 11111
000140: 31 31 31 31 31 31 30 31 30 30 31 0D 0A 0D 0A 20 11111101001....
000150: 20 20 73 6F 20 2D 32 33 20 69 73 20 31 31 31 31 so -23 is 1111
000160: 31 31 31 31 31 31 31 30 31 30 30 31 2E 0D 0A 0D 111111101001....
000170: 0A 20 20 20 49 66 20 79 6F 75 20 61 72 65 20 66 . If you are f
000180: 65 65 6C 69 6E 67 20 72 65 61 6C 6C 79 20 20 6B eeling really k
000190: 65 65 6E 20 20 6F 6E 20 20 6D 61 74 68 73 20 20 een on maths
0001A0: 68 6F 6D 65 77 6F 72 6B 2C 20 79 6F 75 20 63 6F homework, you co
0001B0: 75 6C 64 20 74 72 79 20 61 64 64 69 6E 67 0D 0A uld try adding..
0001C0: 20 20 20 74 6F 67 65 74 68 65 72 20 32 33 20 61 together 23 a
0001D0: 6E 64 20 2D 32 33 20 69 6E 20 62 69 6E 61 72 79 nd -23 in binary
0001E0: 2C 20 20 6A 75 73 74 20 20 74 6F 20 20 63 68 65 , just to che
0001F0: 63 6B 20 20 74 68 61 74 20 79 6F 75 20 67 65 74 ck that you get
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: 20 6E 6F 75 67 68 74 2E 20 20 59 6F 75 0D 0A 20 nought. You..
000010: 20 20 77 69 6C 6C 20 61 63 74 75 61 6C 6C 79 20 will actually
000020: 67 65 74 20 31 20 77 69 74 68 20 73 69 78 74 65 get 1 with sixte
000030: 65 6E 20 7A 65 72 6F 73 20 61 66 74 65 72 20 20 en zeros after
000040: 69 74 2C 20 62 75 74 20 61 73 20 77 65 20 63 61 it, but as we ca
000050: 6E 20 6F 6E 6C 79 20 73 74 6F 72 65 0D 0A 20 20 n only store..
000060: 20 73 69 78 74 65 65 6E 20 62 69 74 73 20 69 6E sixteen bits in
000070: 20 6F 75 72 20 69 6E 74 65 67 65 72 20 76 61 72 our integer var
000080: 69 61 62 6C 65 73 2C 20 69 74 27 73 20 61 73 20 iables, it's as
000090: 67 6F 6F 64 20 61 73 20 6E 6F 75 67 68 74 20 72 good as nought r
0000A0: 65 61 6C 6C 79 2E 0D 0A 0D 0A 20 20 20 43 4F 46 eally..... COF
0000B0: 46 45 45 20 54 49 4D 45 0D 0A 20 20 20 57 65 20 FEE TIME.. We
0000C0: 68 6F 70 65 20 74 68 61 74 20 74 68 65 72 65 20 hope that there
0000D0: 69 73 6E 27 74 20 61 6E 79 74 68 69 6E 67 20 6D isn't anything m
0000E0: 6F 72 65 20 74 6F 20 73 61 79 20 61 62 6F 75 74 ore to say about
0000F0: 20 74 68 61 74 20 70 72 6F 67 72 61 6D 2E 20 20 that program.
000100: 49 74 20 6D 75 73 74 0D 0A 20 20 20 62 65 20 71 It must.. be q
000110: 75 69 74 65 20 61 20 72 65 63 6F 72 64 20 74 61 uite a record ta
000120: 6B 69 6E 67 20 20 73 69 78 20 20 6D 6F 6E 74 68 king six month
000130: 73 20 20 74 6F 20 20 65 78 70 6C 61 69 6E 20 20 s to explain
000140: 73 75 63 68 20 20 61 20 73 68 6F 72 74 20 70 69 such a short pi
000150: 65 63 65 20 6F 66 0D 0A 20 20 20 42 41 53 49 43 ece of.. BASIC
000160: 2E 20 20 57 69 74 68 20 61 20 62 69 74 20 6F 66 . With a bit of
000170: 20 6C 75 63 6B 20 20 79 6F 75 20 20 6E 6F 77 20 luck you now
000180: 20 68 61 76 65 20 20 61 20 20 75 73 65 66 75 6C have a useful
000190: 20 75 74 69 6C 69 74 79 20 61 6E 64 20 61 20 62 utility and a b
0001A0: 65 74 74 65 72 0D 0A 20 20 20 75 6E 64 65 72 73 etter.. unders
0001B0: 74 61 6E 64 69 6E 67 20 6F 66 20 73 6F 6D 65 20 tanding of some
0001C0: 6F 66 20 74 68 65 20 6D 6F 72 65 20 20 61 64 76 of the more adv
0001D0: 61 6E 63 65 64 20 20 74 72 69 63 6B 73 20 20 6F anced tricks o
0001E0: 6E 65 20 20 63 61 6E 20 67 65 74 20 75 70 20 74 ne can get up t
0001F0: 6F 20 69 6E 0D 0A 20 20 20 42 41 53 49 43 2E 20 o in.. BASIC.
Size : 512 (Real : 512)
000000: 6D 65 6E 74 20 20 62 79 20 20 73 65 74 74 69 6E ment by settin
000010: 67 20 69 74 20 74 6F 20 7A 65 72 6F 2E 20 20 57 g it to zero. W
000020: 65 20 77 69 6C 6C 20 64 6F 0D 0A 20 20 20 73 6F e will do.. so
000030: 6D 65 20 65 78 61 6D 70 6C 65 73 20 6F 66 20 77 me examples of w
000040: 68 61 74 20 69 74 20 69 73 20 75 73 65 66 75 6C hat it is useful
000050: 20 66 6F 72 20 6C 61 74 65 72 2E 0D 0A 0D 0A 20 for later.....
000060: 20 20 53 49 5A 49 4E 47 20 49 54 20 55 50 0D 0A SIZING IT UP..
000070: 20 20 20 4F 6E 20 6C 69 6E 65 20 32 30 20 6D 63 On line 20 mc
000080: 6F 6C 20 64 65 74 65 72 6D 69 6E 65 73 20 74 68 ol determines th
000090: 65 20 20 63 6F 6C 6F 75 72 20 20 6F 66 20 20 74 e colour of t
0000A0: 68 65 20 20 6D 65 6E 75 20 20 62 61 72 2E 20 20 he menu bar.
0000B0: 49 66 20 79 6F 75 20 68 61 76 65 20 61 0D 0A 20 If you have a..
0000C0: 20 20 62 61 63 6B 67 72 6F 75 6E 64 20 6F 66 20 background of
0000D0: 50 41 50 45 52 20 30 2C 20 74 68 65 6E 20 6D 63 PAPER 0, then mc
0000E0: 6F 6C 20 73 68 6F 75 6C 64 20 62 65 20 20 73 65 ol should be se
0000F0: 74 20 74 6F 20 74 68 65 20 50 45 4E 20 63 6F 6C t to the PEN col
000100: 6F 75 72 20 79 6F 75 20 77 61 6E 74 0D 0A 20 20 our you want..
000110: 20 66 6F 72 20 74 68 65 20 6D 65 6E 75 20 62 61 for the menu ba
000120: 72 2E 20 20 41 73 20 74 68 65 20 6D 65 6E 75 20 r. As the menu
000130: 20 62 61 72 20 20 69 73 20 20 70 72 69 6E 74 65 bar is printe
000140: 64 20 75 70 20 75 73 69 6E 67 20 58 4F 52 20 67 d up using XOR g
000150: 72 61 70 68 69 63 73 2C 20 69 66 0D 0A 20 20 20 raphics, if..
000160: 79 6F 75 20 68 61 76 65 20 61 20 64 69 66 66 65 you have a diffe
000170: 72 65 6E 74 20 62 61 63 6B 67 72 6F 75 6E 64 20 rent background
000180: 74 68 69 6E 67 73 20 61 72 65 20 20 6D 6F 72 65 things are more
000190: 20 63 6F 6D 70 6C 69 63 61 74 65 64 2E 20 20 49 complicated. I
0001A0: 66 20 78 20 69 73 20 74 68 65 0D 0A 20 20 20 62 f x is the.. b
0001B0: 61 63 6B 67 72 6F 75 6E 64 20 70 65 6E 2C 20 61 ackground pen, a
0001C0: 6E 64 20 79 20 74 68 65 20 70 65 6E 20 79 6F 75 nd y the pen you
0001D0: 20 77 61 6E 74 20 20 66 6F 72 20 74 68 65 20 6D want for the m
0001E0: 65 6E 75 20 62 61 72 2C 20 74 68 65 6E 20 6D 63 enu bar, then mc
0001F0: 6F 6C 20 73 68 6F 75 6C 64 0D 0A 20 20 20 62 65 ol should.. be
Size : 512 (Real : 512)
000000: 61 73 69 73 20 6F 66 20 20 73 65 76 65 72 61 6C asis of several
000010: 20 20 65 78 61 6D 70 6C 65 20 20 70 72 6F 67 72 example progr
000020: 61 6D 73 20 20 6F 76 65 72 20 20 74 68 65 20 20 ams over the
000030: 6E 65 78 74 20 66 65 77 20 61 72 74 69 63 6C 65 next few article
000040: 73 2E 0D 0A 20 20 20 3C 3C 54 68 69 73 20 69 73 s... <<This is
000050: 20 73 61 76 65 64 20 6F 6E 20 74 68 65 20 64 69 saved on the di
000060: 73 63 20 61 73 20 4D 45 4E 55 53 55 42 3E 3E 0D sc as MENUSUB>>.
000070: 0A 0D 0A 20 20 20 49 6E 20 66 61 63 74 20 74 68 ... In fact th
000080: 65 20 73 75 62 72 6F 75 74 69 6E 65 73 20 77 69 e subroutines wi
000090: 6C 6C 20 73 71 75 61 73 68 20 64 6F 77 6E 20 20 ll squash down
0000A0: 69 6E 74 6F 20 6A 75 73 74 20 74 77 6F 20 6C 69 into just two li
0000B0: 6E 65 73 2E 20 20 4C 69 6E 65 73 20 31 30 30 30 nes. Lines 1000
0000C0: 0D 0A 20 20 20 74 6F 20 31 30 30 39 20 63 61 6E .. to 1009 can
0000D0: 20 61 6C 6C 20 62 65 20 74 79 70 65 64 20 69 6E all be typed in
0000E0: 20 20 74 6F 67 65 74 68 65 72 20 20 61 73 20 20 together as
0000F0: 6C 69 6E 65 20 20 31 30 30 30 2C 20 61 6E 64 20 line 1000, and
000100: 74 68 65 20 72 65 73 74 20 6F 66 20 74 68 65 0D the rest of the.
000110: 0A 20 20 20 6C 69 6E 65 73 20 63 61 6E 20 61 6C . lines can al
000120: 6C 20 62 65 20 74 79 70 65 64 20 69 6E 20 61 73 l be typed in as
000130: 20 6C 69 6E 65 20 20 31 30 31 30 2E 20 20 41 6C line 1010. Al
000140: 74 68 6F 75 67 68 20 69 74 20 77 6F 75 6C 64 20 though it would
000150: 68 61 76 65 20 62 65 65 6E 20 6D 6F 72 65 0D 0A have been more..
000160: 20 20 20 69 6D 70 72 65 73 73 69 76 65 20 74 6F impressive to
000170: 20 73 68 6F 77 20 6F 66 66 20 77 69 74 68 20 61 show off with a
000180: 20 74 77 6F 2D 6C 69 6E 65 20 20 6D 65 6E 75 20 two-line menu
000190: 20 73 79 73 74 65 6D 2C 20 77 65 20 68 61 76 65 system, we have
0001A0: 20 6C 69 73 74 65 64 20 69 74 20 69 6E 0D 0A 20 listed it in..
0001B0: 20 20 65 69 67 68 74 65 65 6E 20 6C 69 6E 65 73 eighteen lines
0001C0: 20 74 6F 20 6D 61 6B 65 20 69 74 20 65 61 73 69 to make it easi
0001D0: 65 72 20 74 6F 20 66 6F 6C 6C 6F 77 2E 0D 0A 0D er to follow....
0001E0: 0A 20 20 20 4F 6E 63 65 20 79 6F 75 20 68 61 76 . Once you hav
0001F0: 65 20 73 61 76 65 64 20 74 68 65 20 20 73 75 62 e saved the sub
Size : 512 (Real : 512)
000000: 20 73 65 74 20 74 6F 0D 0A 0D 0A 20 20 20 20 20 set to....
000010: 20 20 20 20 20 20 78 20 58 4F 52 20 79 0D 0A 0D x XOR y...
000020: 0A 20 20 20 54 68 65 20 72 65 73 74 20 6F 66 20 . The rest of
000030: 74 68 65 20 76 61 72 69 61 62 6C 65 73 20 6F 6E the variables on
000040: 20 6C 69 6E 65 20 32 30 20 20 61 72 65 20 20 74 line 20 are t
000050: 6F 20 64 6F 20 77 69 74 68 20 77 68 65 72 65 20 o do with where
000060: 74 68 65 20 6D 65 6E 75 20 69 73 20 6F 6E 0D 0A the menu is on..
000070: 20 20 20 73 63 72 65 65 6E 20 61 6E 64 20 68 6F screen and ho
000080: 77 20 62 69 67 20 74 68 65 20 6D 65 6E 75 20 62 w big the menu b
000090: 61 72 20 73 68 6F 75 6C 64 20 62 65 2E 20 20 46 ar should be. F
0000A0: 6F 72 20 65 78 61 6D 70 6C 65 20 77 65 20 63 6F or example we co
0000B0: 75 6C 64 20 70 72 69 6E 74 20 74 68 65 0D 0A 20 uld print the..
0000C0: 20 20 6D 65 6E 75 20 6D 6F 72 65 20 73 70 61 63 menu more spac
0000D0: 65 64 20 6F 75 74 20 62 79 20 61 6C 74 65 72 69 ed out by alteri
0000E0: 6E 67 20 6C 69 6E 65 20 35 30 3A 0D 0A 0D 0A 20 ng line 50:....
0000F0: 20 20 35 30 20 46 4F 52 20 78 3D 31 20 54 4F 20 50 FOR x=1 TO
000100: 6D 63 68 3A 50 52 49 4E 54 3A 50 52 49 4E 54 22 mch:PRINT:PRINT"
000110: 20 20 49 74 65 6D 22 78 3A 4E 45 58 54 0D 0A 0D Item"x:NEXT...
000120: 0A 20 20 20 52 75 6E 20 74 68 65 20 70 72 6F 67 . Run the prog
000130: 72 61 6D 20 61 67 61 69 6E 2E 20 20 41 6C 74 68 ram again. Alth
000140: 6F 75 67 68 20 74 68 65 20 6D 65 6E 75 20 74 65 ough the menu te
000150: 78 74 20 69 73 20 73 70 72 65 61 64 20 6F 75 74 xt is spread out
000160: 2C 20 74 68 65 20 6D 65 6E 75 20 62 61 72 0D 0A , the menu bar..
000170: 20 20 20 69 73 20 73 74 69 6C 6C 20 69 6E 20 74 is still in t
000180: 68 65 20 73 61 6D 65 20 70 6F 73 69 74 69 6F 6E he same position
000190: 20 61 73 20 20 62 65 66 6F 72 65 2E 20 20 54 6F as before. To
0001A0: 20 63 6F 72 72 65 63 74 20 74 68 69 73 20 79 6F correct this yo
0001B0: 75 20 63 6F 75 6C 64 20 61 6C 74 65 72 0D 0A 20 u could alter..
0001C0: 20 20 6C 69 6E 65 20 32 30 20 61 73 20 66 6F 6C line 20 as fol
0001D0: 6C 6F 77 73 3A 0D 0A 0D 0A 20 20 20 32 30 20 6D lows:.... 20 m
0001E0: 63 6F 6C 3D 31 3A 6D 73 70 3D 33 32 3A 6D 78 3D col=1:msp=32:mx=
0001F0: 32 34 3A 6D 79 3D 33 39 39 2D 33 2A 31 36 2B 38 24:my=399-3*16+8
Size : 512 (Real : 512)
000000: 72 6F 75 74 69 6E 65 73 2C 20 20 79 6F 75 20 20 routines, you
000010: 63 61 6E 20 20 74 68 65 6E 20 20 74 79 70 65 20 can then type
000020: 69 6E 20 74 68 65 20 65 61 72 6C 69 65 72 0D 0A in the earlier..
000030: 20 20 20 6C 69 6E 65 73 20 69 6E 20 74 68 65 20 lines in the
000040: 6C 69 73 74 69 6E 67 20 61 6E 64 20 72 75 6E 20 listing and run
000050: 69 74 20 74 6F 20 73 65 65 20 74 68 65 20 66 69 it to see the fi
000060: 72 73 74 20 65 78 61 6D 70 6C 65 2E 20 20 3C 3C rst example. <<
000070: 54 68 69 73 20 69 73 20 73 61 76 65 64 0D 0A 20 This is saved..
000080: 20 20 61 73 20 4D 45 4E 55 45 58 31 2E 42 41 53 as MENUEX1.BAS
000090: 3E 3E 0D 0A 0D 0A 20 20 20 48 4F 57 20 44 4F 45 >>.... HOW DOE
0000A0: 53 20 49 54 20 57 4F 52 4B 20 54 48 45 4E 3F 0D S IT WORK THEN?.
0000B0: 0A 20 20 20 44 6F 6E 27 74 20 77 6F 72 72 79 20 . Don't worry
0000C0: 61 62 6F 75 74 20 68 6F 77 20 74 68 65 20 20 73 about how the s
0000D0: 75 62 72 6F 75 74 69 6E 65 73 20 20 77 6F 72 6B ubroutines work
0000E0: 20 20 74 6F 20 20 73 74 61 72 74 20 77 69 74 68 to start with
0000F0: 2E 20 20 49 74 20 69 73 20 71 75 69 74 65 0D 0A . It is quite..
000100: 20 20 20 65 61 73 79 20 74 6F 20 75 73 65 20 74 easy to use t
000110: 68 65 6D 20 69 6E 20 70 72 6F 67 72 61 6D 73 20 hem in programs
000120: 20 77 69 74 68 6F 75 74 20 20 6B 6E 6F 77 69 6E without knowin
000130: 67 20 20 68 6F 77 20 20 74 68 65 79 20 64 6F 20 g how they do
000140: 74 68 65 20 77 6F 72 6B 2E 20 20 49 6E 0D 0A 20 the work. In..
000150: 20 20 66 61 63 74 20 74 68 61 74 20 69 73 20 6F fact that is o
000160: 6E 65 20 6F 66 20 74 68 65 20 67 6F 6F 64 20 20 ne of the good
000170: 74 68 69 6E 67 73 20 61 62 6F 75 74 20 73 75 62 things about sub
000180: 72 6F 75 74 69 6E 65 73 2E 20 20 4F 6E 63 65 20 routines. Once
000190: 79 6F 75 20 68 61 76 65 20 6F 6E 65 0D 0A 20 20 you have one..
0001A0: 20 74 68 61 74 20 77 6F 72 6B 73 20 61 6E 64 20 that works and
0001B0: 64 6F 65 73 20 74 68 65 20 20 6A 6F 62 20 20 79 does the job y
0001C0: 6F 75 20 20 77 61 6E 74 20 20 64 6F 69 6E 67 2C ou want doing,
0001D0: 20 20 79 6F 75 20 20 73 68 6F 75 6C 64 6E 27 74 you shouldn't
0001E0: 20 6E 65 65 64 20 74 6F 20 62 65 0D 0A 20 20 20 need to be..
0001F0: 62 6F 74 68 65 72 65 64 20 77 69 74 68 20 68 6F bothered with ho
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 36 20 2D 20 57 41 43 43 49 20 31 31 tch 6 - WACCI 11
000020: 35 2C 20 41 75 67 2F 53 65 70 74 20 31 39 39 37 5, Aug/Sept 1997
000030: 2C 20 70 2E 20 32 36 2D 32 37 0D 0A 20 20 20 50 , p. 26-27.. P
000040: 52 4F 47 52 41 4D 4D 45 52 53 27 20 50 41 54 43 ROGRAMMERS' PATC
000050: 48 20 36 0D 0A 20 20 20 42 79 20 53 74 65 70 68 H 6.. By Steph
000060: 65 6E 20 61 6E 64 20 4D 61 74 74 68 65 77 20 50 en and Matthew P
000070: 68 69 6C 6C 69 70 73 0D 0A 0D 0A 20 20 20 22 57 hillips.... "W
000080: 68 61 74 27 73 20 6F 6E 20 74 68 65 20 6D 65 6E hat's on the men
000090: 75 20 66 6F 72 20 74 68 69 73 20 6D 6F 6E 74 68 u for this month
0000A0: 3F 22 2C 20 20 77 65 20 20 68 65 61 72 20 79 6F ?", we hear yo
0000B0: 75 20 63 72 79 2E 20 20 57 65 6C 6C 2C 20 69 66 u cry. Well, if
0000C0: 20 79 6F 75 20 68 61 64 0D 0A 20 20 20 6B 6E 6F you had.. kno
0000D0: 77 6E 20 77 68 61 74 20 74 68 65 20 61 72 74 69 wn what the arti
0000E0: 63 6C 65 20 20 77 61 73 20 20 67 6F 69 6E 67 20 cle was going
0000F0: 20 74 6F 20 20 62 65 20 20 6F 6E 2C 20 20 79 6F to be on, yo
000100: 75 20 20 77 6F 75 6C 64 20 20 62 65 20 61 73 68 u would be ash
000110: 61 6D 65 64 20 61 74 0D 0A 20 20 20 70 68 72 61 amed at.. phra
000120: 73 69 6E 67 20 74 68 65 20 71 75 65 73 74 69 6F sing the questio
000130: 6E 20 6C 69 6B 65 20 74 68 61 74 2C 20 61 73 20 n like that, as
000140: 69 74 20 20 69 73 20 73 75 63 68 20 61 20 70 72 it is such a pr
000150: 65 64 69 63 74 61 62 6C 65 20 70 75 6E 2C 20 61 edictable pun, a
000160: 6E 64 20 6E 6F 74 0D 0A 20 20 20 72 65 61 6C 6C nd not.. reall
000170: 79 20 75 70 20 74 6F 20 74 68 65 20 73 74 61 6E y up to the stan
000180: 64 61 72 64 20 6F 66 20 68 75 6D 6F 75 72 20 20 dard of humour
000190: 77 65 20 20 63 61 6E 20 65 78 70 65 63 74 20 66 we can expect f
0001A0: 72 6F 6D 20 57 41 43 43 49 2E 20 20 42 75 74 20 rom WACCI. But
0001B0: 73 69 6E 63 65 0D 0A 20 20 20 79 6F 75 20 64 69 since.. you di
0001C0: 64 6E 27 74 20 6B 6E 6F 77 2C 20 77 65 27 6C 6C dn't know, we'll
0001D0: 20 70 72 65 74 65 6E 64 20 74 6F 20 66 69 6E 64 pretend to find
0001E0: 20 69 74 20 61 6D 75 73 69 6E 67 20 61 6E 64 20 it amusing and
0001F0: 74 68 65 6E 20 67 65 74 20 6F 6E 20 77 69 74 68 then get on with
Size : 512 (Real : 512)
000000: 77 20 69 74 20 77 6F 72 6B 73 20 61 6E 79 20 6D w it works any m
000010: 6F 72 65 2E 0D 0A 0D 0A 20 20 20 49 6E 73 74 65 ore..... Inste
000020: 61 64 2C 20 6C 65 74 20 75 73 20 68 61 76 65 20 ad, let us have
000030: 61 20 6C 6F 6F 6B 20 61 74 20 68 6F 77 20 74 68 a look at how th
000040: 65 20 6D 61 69 6E 20 70 72 6F 67 72 61 6D 20 28 e main program (
000050: 6C 69 6E 65 73 20 31 30 20 74 6F 20 39 30 29 20 lines 10 to 90)
000060: 77 6F 72 6B 73 0D 0A 20 20 20 69 6E 20 72 65 6C works.. in rel
000070: 61 74 69 6F 6E 20 74 6F 20 74 68 65 20 20 73 75 ation to the su
000080: 62 72 6F 75 74 69 6E 65 73 2E 20 20 20 4F 75 72 broutines. Our
000090: 20 20 65 78 61 6D 70 6C 65 20 20 70 72 69 6E 74 example print
0000A0: 73 20 20 75 70 20 20 61 20 73 68 6F 72 74 20 6D s up a short m
0000B0: 65 6E 75 2C 0D 0A 20 20 20 61 6C 6C 6F 77 73 20 enu,.. allows
0000C0: 74 68 65 20 75 73 65 72 20 74 6F 20 6D 6F 76 65 the user to move
0000D0: 20 74 68 65 20 6D 65 6E 75 20 62 61 72 20 75 70 the menu bar up
0000E0: 20 61 6E 64 20 64 6F 77 6E 20 77 69 74 68 20 74 and down with t
0000F0: 68 65 20 63 75 72 73 6F 72 20 6B 65 79 73 2C 20 he cursor keys,
000100: 61 6E 64 0D 0A 20 20 20 74 68 65 6E 20 63 68 6F and.. then cho
000110: 6F 73 65 20 61 20 6D 65 6E 75 20 69 74 65 6D 20 ose a menu item
000120: 77 69 74 68 20 74 68 65 20 20 43 4F 50 59 20 20 with the COPY
000130: 6B 65 79 2E 20 20 54 68 65 20 70 72 6F 67 72 61 key. The progra
000140: 6D 20 74 68 65 6E 20 70 72 69 6E 74 73 20 75 70 m then prints up
000150: 20 61 0D 0A 20 20 20 6D 65 73 73 61 67 65 20 74 a.. message t
000160: 65 6C 6C 69 6E 67 20 74 68 65 20 75 73 65 72 20 elling the user
000170: 77 68 69 63 68 20 69 74 65 6D 20 77 61 73 20 73 which item was s
000180: 65 6C 65 63 74 65 64 2E 0D 0A 0D 0A 20 20 20 4C elected..... L
000190: 69 6E 65 73 20 31 30 20 74 6F 20 33 30 20 20 73 ines 10 to 30 s
0001A0: 65 74 20 20 75 70 20 20 73 6F 6D 65 20 20 76 61 et up some va
0001B0: 72 69 61 62 6C 65 73 20 20 77 68 69 63 68 20 20 riables which
0001C0: 74 65 6C 6C 20 20 74 68 65 20 6D 65 6E 75 20 73 tell the menu s
0001D0: 75 62 72 6F 75 74 69 6E 65 0D 0A 20 20 20 69 6D ubroutine.. im
0001E0: 70 6F 72 74 61 6E 74 20 69 6E 66 6F 72 6D 61 74 portant informat
0001F0: 69 6F 6E 20 61 62 6F 75 74 20 74 68 65 20 73 69 ion about the si
Size : 512 (Real : 512)
000000: 20 74 68 65 0D 0A 20 20 20 61 72 74 69 63 6C 65 the.. article
000010: 2C 20 77 68 69 63 68 20 73 74 72 61 6E 67 65 6C , which strangel
000020: 79 20 69 73 20 61 6C 6C 20 61 62 6F 75 74 20 6D y is all about m
000030: 65 6E 75 73 2E 2E 2E 0D 0A 0D 0A 20 20 20 41 20 enus....... A
000040: 42 52 45 41 54 48 20 4F 46 20 46 52 45 53 48 20 BREATH OF FRESH
000050: 41 49 52 0D 0A 20 20 20 54 6F 20 6D 61 6B 65 20 AIR.. To make
000060: 61 20 63 68 61 6E 67 65 20 66 72 6F 6D 20 77 6F a change from wo
000070: 72 6B 69 6E 67 20 6F 75 72 20 77 61 79 20 74 68 rking our way th
000080: 72 6F 75 67 68 20 61 20 73 69 6E 67 6C 65 20 70 rough a single p
000090: 72 6F 67 72 61 6D 2C 20 77 65 20 74 68 6F 75 67 rogram, we thoug
0000A0: 68 74 0D 0A 20 20 20 77 65 20 77 6F 75 6C 64 20 ht.. we would
0000B0: 70 72 65 73 65 6E 74 20 61 20 75 73 65 66 75 6C present a useful
0000C0: 20 73 75 62 72 6F 75 74 69 6E 65 20 74 68 61 74 subroutine that
0000D0: 20 20 79 6F 75 20 63 61 6E 20 69 6E 63 6F 72 70 you can incorp
0000E0: 6F 72 61 74 65 20 69 6E 20 79 6F 75 72 20 6F 77 orate in your ow
0000F0: 6E 0D 0A 20 20 20 70 72 6F 67 72 61 6D 73 2E 0D n.. programs..
000100: 0A 0D 0A 20 20 20 54 68 65 20 65 61 73 69 65 73 ... The easies
000110: 74 20 77 61 79 20 74 6F 20 6C 65 61 72 6E 20 70 t way to learn p
000120: 72 6F 67 72 61 6D 6D 69 6E 67 20 69 73 20 74 6F rogramming is to
000130: 20 61 6C 74 65 72 20 70 72 6F 67 72 61 6D 73 20 alter programs
000140: 77 72 69 74 74 65 6E 20 62 79 20 6F 74 68 65 72 written by other
000150: 0D 0A 20 20 20 70 65 6F 70 6C 65 2E 20 20 57 68 .. people. Wh
000160: 65 6E 20 79 6F 75 20 67 65 74 20 6D 6F 72 65 20 en you get more
000170: 20 65 78 70 65 72 69 65 6E 63 65 64 20 20 69 6E experienced in
000180: 20 20 61 20 63 6F 6D 70 75 74 65 72 20 6C 61 6E a computer lan
000190: 67 75 61 67 65 2C 20 79 6F 75 20 74 68 65 6E 0D guage, you then.
0001A0: 0A 20 20 20 66 69 6E 64 20 74 68 61 74 20 74 68 . find that th
0001B0: 65 20 65 61 73 69 65 73 74 20 77 61 79 20 74 6F e easiest way to
0001C0: 20 77 72 69 74 65 20 61 20 70 72 6F 67 72 61 6D write a program
0001D0: 20 69 73 20 74 6F 20 61 6C 74 65 72 20 6F 6E 65 is to alter one
0001E0: 20 74 68 61 74 20 79 6F 75 20 68 61 76 65 0D 0A that you have..
0001F0: 20 20 20 77 72 69 74 74 65 6E 20 62 65 66 6F 72 written befor
Size : 512 (Real : 512)
000000: 7A 65 20 61 6E 64 20 20 70 6F 73 69 74 69 6F 6E ze and position
000010: 20 20 6F 66 20 74 68 65 20 6D 65 6E 75 20 28 73 of the menu (s
000020: 65 65 20 54 61 62 6C 65 0D 0A 20 20 20 32 29 2E ee Table.. 2).
000030: 0D 0A 0D 0A 20 20 20 4F 6E 65 20 6F 66 20 74 68 .... One of th
000040: 65 73 65 20 20 76 61 72 69 61 62 6C 65 73 2C 20 ese variables,
000050: 20 6D 70 2C 20 20 69 73 20 20 61 6C 73 6F 20 20 mp, is also
000060: 75 73 65 64 20 20 62 79 20 20 74 68 65 20 20 73 used by the s
000070: 75 62 72 6F 75 74 69 6E 65 20 74 6F 20 70 61 73 ubroutine to pas
000080: 73 0D 0A 20 20 20 69 6E 66 6F 72 6D 61 74 69 6F s.. informatio
000090: 6E 20 62 61 63 6B 20 74 6F 20 74 68 65 20 6D 61 n back to the ma
0000A0: 69 6E 20 70 72 6F 67 72 61 6D 2E 20 20 49 6E 20 in program. In
0000B0: 6C 69 6E 65 20 31 30 20 6D 70 20 69 73 20 73 65 line 10 mp is se
0000C0: 74 20 74 6F 20 7A 65 72 6F 2C 20 77 68 69 63 68 t to zero, which
0000D0: 0D 0A 20 20 20 6D 61 6B 65 73 20 74 68 65 20 6D .. makes the m
0000E0: 65 6E 75 20 62 61 72 20 73 74 61 72 74 20 6F 66 enu bar start of
0000F0: 66 20 6F 6E 20 74 68 65 20 20 66 69 72 73 74 20 f on the first
000100: 69 74 65 6D 20 6F 6E 20 74 68 65 20 6D 65 6E 75 item on the menu
000110: 2E 20 20 43 68 61 6E 67 65 20 69 74 20 74 6F 0D . Change it to.
000120: 0A 20 20 20 31 2C 20 32 20 6F 72 20 33 20 61 6E . 1, 2 or 3 an
000130: 64 20 69 74 20 77 69 6C 6C 20 73 74 61 72 74 20 d it will start
000140: 6F 66 66 20 6F 6E 20 6F 6E 65 20 6F 66 20 74 68 off on one of th
000150: 65 20 6F 74 68 65 72 20 6D 65 6E 75 20 69 74 65 e other menu ite
000160: 6D 73 2E 20 20 41 66 74 65 72 20 74 68 65 0D 0A ms. After the..
000170: 20 20 20 70 72 6F 67 72 61 6D 20 68 61 73 20 72 program has r
000180: 65 74 75 72 6E 65 64 20 66 72 6F 6D 20 74 68 65 eturned from the
000190: 20 47 4F 53 55 42 20 31 30 30 30 20 69 6E 20 6C GOSUB 1000 in l
0001A0: 69 6E 65 20 37 30 2C 20 6D 70 20 74 65 6C 6C 73 ine 70, mp tells
0001B0: 20 75 73 20 77 68 65 72 65 20 74 68 65 0D 0A 20 us where the..
0001C0: 20 20 6D 65 6E 75 20 62 61 72 20 68 61 73 20 65 menu bar has e
0001D0: 6E 64 65 64 20 75 70 2E 0D 0A 0D 0A 20 20 20 49 nded up..... I
0001E0: 67 6E 6F 72 65 20 74 68 65 20 6D 66 20 76 61 72 gnore the mf var
0001F0: 69 61 62 6C 65 20 66 6F 72 20 74 68 65 20 6D 6F iable for the mo
Size : 512 (Real : 512)
000000: 65 2E 20 20 50 72 6F 67 72 61 6D 6D 65 72 73 20 e. Programmers
000010: 74 65 6E 64 20 74 6F 20 20 62 75 69 6C 64 20 20 tend to build
000020: 75 70 20 20 6C 69 62 72 61 72 69 65 73 20 6F 66 up libraries of
000030: 20 72 6F 75 74 69 6E 65 73 20 66 6F 72 0D 0A 20 routines for..
000040: 20 20 70 65 72 66 6F 72 6D 69 6E 67 20 75 73 65 performing use
000050: 66 75 6C 20 74 61 73 6B 73 20 77 68 69 63 68 20 ful tasks which
000060: 74 68 65 79 20 20 63 61 6E 20 20 6A 75 73 74 20 they can just
000070: 20 73 6C 6F 74 20 20 69 6E 20 74 6F 20 61 6E 79 slot in to any
000080: 20 6E 65 77 20 70 72 6F 67 72 61 6D 0D 0A 20 20 new program..
000090: 20 62 65 69 6E 67 20 77 72 69 74 74 65 6E 2E 0D being written..
0000A0: 0A 0D 0A 20 20 20 41 46 54 45 52 20 54 48 45 20 ... AFTER THE
0000B0: 4C 45 43 54 55 52 45 0D 0A 20 20 20 4C 69 6E 65 LECTURE.. Line
0000C0: 73 20 31 30 30 30 20 74 6F 20 31 30 31 37 20 6F s 1000 to 1017 o
0000D0: 66 20 4C 69 73 74 69 6E 67 20 31 20 66 6F 72 6D f Listing 1 form
0000E0: 20 61 20 73 75 62 72 6F 75 74 69 6E 65 20 66 6F a subroutine fo
0000F0: 72 20 70 72 6F 64 75 63 69 6E 67 20 6D 65 6E 75 r producing menu
000100: 73 20 77 69 74 68 0D 0A 20 20 20 61 20 73 63 72 s with.. a scr
000110: 6F 6C 6C 69 6E 67 20 62 61 72 20 74 68 61 74 20 olling bar that
000120: 74 68 65 20 75 73 65 72 20 6D 6F 76 65 73 20 20 the user moves
000130: 75 70 20 20 61 6E 64 20 20 64 6F 77 6E 20 74 6F up and down to
000140: 20 73 65 6C 65 63 74 20 74 68 65 20 6D 65 6E 75 select the menu
000150: 20 69 74 65 6D 0D 0A 20 20 20 72 65 71 75 69 72 item.. requir
000160: 65 64 2E 20 20 54 79 70 65 20 69 6E 20 6C 69 6E ed. Type in lin
000170: 65 73 20 31 30 30 30 20 74 6F 20 31 30 31 37 20 es 1000 to 1017
000180: 6F 6E 20 20 74 68 65 69 72 20 6F 77 6E 20 61 6E on their own an
000190: 64 20 73 61 76 65 20 69 74 20 69 6E 20 61 20 66 d save it in a f
0001A0: 69 6C 65 2E 0D 0A 20 20 20 54 68 65 79 20 77 69 ile... They wi
0001B0: 6C 6C 20 6E 6F 74 20 61 63 74 75 61 6C 6C 79 20 ll not actually
0001C0: 64 6F 20 61 6E 79 74 68 69 6E 67 20 6F 6E 20 74 do anything on t
0001D0: 68 65 69 72 20 6F 77 6E 2C 20 62 75 74 20 77 65 heir own, but we
0001E0: 20 77 69 6C 6C 20 62 65 20 75 73 69 6E 67 20 74 will be using t
0001F0: 68 65 6D 0D 0A 20 20 20 61 73 20 74 68 65 20 62 hem.. as the b
Size : 512 (Real : 512)
000000: 61 72 65 20 73 65 74 20 75 70 2C 20 20 74 68 65 are set up, the
000010: 20 20 72 6F 75 74 69 6E 65 73 20 20 61 72 65 20 routines are
000020: 72 65 61 6C 6C 79 20 65 61 73 79 20 74 6F 20 75 really easy to u
000030: 73 65 2E 20 20 49 66 0D 0A 20 20 20 79 6F 75 20 se. If.. you
000040: 77 61 6E 74 65 64 20 74 6F 20 68 61 76 65 20 73 wanted to have s
000050: 65 76 65 72 61 6C 20 64 69 66 66 65 72 65 6E 74 everal different
000060: 20 6D 65 6E 75 73 20 69 6E 20 6F 6E 65 20 70 72 menus in one pr
000070: 6F 67 72 61 6D 2C 20 79 6F 75 20 63 6F 75 6C 64 ogram, you could
000080: 20 64 6F 20 69 74 0D 0A 20 20 20 6A 75 73 74 20 do it.. just
000090: 62 79 20 61 6C 74 65 72 69 6E 67 20 61 20 66 65 by altering a fe
0000A0: 77 20 6F 66 20 74 68 65 20 20 76 61 72 69 61 62 w of the variab
0000B0: 6C 65 73 20 20 66 6F 72 20 20 65 61 63 68 20 63 les for each c
0000C0: 61 73 65 2C 20 61 6E 64 20 74 68 65 6E 20 75 73 ase, and then us
0000D0: 65 20 74 68 65 0D 0A 20 20 20 73 61 6D 65 20 6C e the.. same l
0000E0: 69 6E 65 73 20 31 30 30 30 20 74 6F 20 31 30 31 ines 1000 to 101
0000F0: 37 20 74 6F 20 70 72 6F 76 69 64 65 20 74 68 65 7 to provide the
000100: 20 62 61 73 69 63 20 6D 65 6E 75 20 73 79 73 74 basic menu syst
000110: 65 6D 2E 0D 0A 0D 0A 20 20 20 54 45 4C 4C 20 4D em..... TELL M
000120: 45 20 4D 4F 52 45 0D 0A 20 20 20 57 65 6C 6C 2C E MORE.. Well,
000130: 20 75 6E 66 6F 72 74 75 6E 61 74 65 6C 79 2C 20 unfortunately,
000140: 77 65 20 68 61 76 65 20 72 75 6E 20 6F 75 74 20 we have run out
000150: 20 6F 66 20 20 73 70 61 63 65 2C 20 20 73 6F 20 of space, so
000160: 79 6F 75 20 77 69 6C 6C 20 68 61 76 65 20 74 6F you will have to
000170: 20 77 61 69 74 0D 0A 20 20 20 75 6E 74 69 6C 20 wait.. until
000180: 74 68 65 20 6E 65 78 74 20 74 68 72 69 6C 6C 69 the next thrilli
000190: 6E 67 20 69 6E 73 74 61 6C 6D 65 6E 74 2C 20 20 ng instalment,
0001A0: 77 68 65 6E 20 20 77 65 20 20 77 69 6C 6C 20 65 when we will e
0001B0: 78 70 6C 61 69 6E 20 61 6C 6C 20 61 62 6F 75 74 xplain all about
0001C0: 20 6B 66 2C 0D 0A 20 20 20 61 6E 64 20 64 65 6D kf,.. and dem
0001D0: 6F 6E 73 74 72 61 74 65 20 61 20 66 65 77 20 6D onstrate a few m
0001E0: 6F 72 65 20 69 6E 74 65 72 65 73 74 69 6E 67 20 ore interesting
0001F0: 6D 65 6E 75 20 65 78 61 6D 70 6C 65 73 2E 20 20 menu examples.
Size : 512 (Real : 512)
000000: 65 0D 0A 20 20 20 6D 62 68 20 62 65 63 61 75 73 e.. mbh becaus
000010: 65 20 74 68 65 20 6D 65 6E 75 20 62 61 72 20 69 e the menu bar i
000020: 73 20 64 72 61 77 6E 20 75 73 69 6E 67 20 74 68 s drawn using th
000030: 65 20 44 52 41 57 52 20 28 64 72 61 77 20 72 65 e DRAWR (draw re
000040: 6C 61 74 69 76 65 29 20 63 6F 6D 6D 61 6E 64 2E lative) command.
000050: 0D 0A 20 20 20 57 6F 72 6B 20 6F 75 74 20 74 68 .. Work out th
000060: 65 20 77 69 64 74 68 20 6F 66 20 74 68 65 20 6D e width of the m
000070: 65 6E 75 20 20 62 61 72 20 69 6E 20 67 72 61 70 enu bar in grap
000080: 68 69 63 73 20 63 6F 6F 72 64 69 6E 61 74 65 73 hics coordinates
000090: 2C 20 61 6E 64 20 74 68 65 6E 20 74 61 6B 65 0D , and then take.
0000A0: 0A 20 20 20 6F 66 66 20 6F 6E 65 20 70 69 78 65 . off one pixe
0000B0: 6C 27 73 20 77 6F 72 74 68 20 61 6E 64 20 73 65 l's worth and se
0000C0: 74 20 6D 62 6C 20 20 74 6F 20 20 74 68 61 74 2E t mbl to that.
0000D0: 20 20 49 6E 20 6C 69 6E 65 20 32 30 20 77 65 20 In line 20 we
0000E0: 63 61 6C 63 75 6C 61 74 65 64 20 6D 62 6C 0D 0A calculated mbl..
0000F0: 20 20 20 61 73 20 31 36 2A 36 2D 32 2C 20 77 68 as 16*6-2, wh
000100: 69 63 68 20 69 73 20 31 36 20 66 6F 72 20 65 61 ich is 16 for ea
000110: 63 68 20 20 6F 66 20 20 74 68 65 20 20 73 69 78 ch of the six
000120: 20 63 68 61 72 61 63 74 65 72 73 20 6F 66 20 74 characters of t
000130: 68 65 20 6D 65 6E 75 20 74 65 78 74 2C 0D 0A 20 he menu text,..
000140: 20 20 6C 65 73 73 20 74 77 6F 2C 20 77 68 69 63 less two, whic
000150: 68 20 69 73 20 74 68 65 20 77 69 64 74 68 20 6F h is the width o
000160: 66 20 61 20 70 69 78 65 6C 20 69 6E 20 4D 4F 44 f a pixel in MOD
000170: 45 20 31 2E 20 20 49 6E 20 4D 4F 44 45 20 32 20 E 1. In MODE 2
000180: 79 6F 75 20 77 6F 75 6C 64 20 64 6F 0D 0A 20 20 you would do..
000190: 20 65 69 67 68 74 20 74 69 6D 65 73 20 74 68 65 eight times the
0001A0: 20 6E 75 6D 62 65 72 20 6F 66 20 63 68 61 72 61 number of chara
0001B0: 63 74 65 72 73 2C 20 61 6E 64 20 6F 6E 6C 79 20 cters, and only
0001C0: 74 61 6B 65 20 6F 66 66 20 6F 6E 65 2E 0D 0A 0D take off one....
0001D0: 0A 20 20 20 49 66 20 69 6E 20 64 6F 75 62 74 2C . If in doubt,
0001E0: 20 6A 75 73 74 20 65 78 70 65 72 69 6D 65 6E 74 just experiment
0001F0: 20 77 69 74 68 20 74 68 65 20 76 61 6C 75 65 73 with the values
Size : 512 (Real : 512)
000000: 42 65 66 6F 72 65 20 74 68 65 6E 2C 20 68 61 76 Before then, hav
000010: 65 20 61 0D 0A 20 20 20 67 6F 20 61 74 20 64 65 e a.. go at de
000020: 73 69 67 6E 69 6E 67 20 61 20 66 65 77 20 20 73 signing a few s
000030: 69 6D 70 6C 65 20 20 6D 65 6E 75 73 20 20 74 6F imple menus to
000040: 20 20 67 65 74 20 20 74 68 65 20 20 68 61 6E 67 get the hang
000050: 20 6F 66 20 73 65 74 74 69 6E 67 20 75 70 20 74 of setting up t
000060: 68 65 0D 0A 20 20 20 76 61 72 69 61 62 6C 65 73 he.. variables
000070: 2E 0D 0A 0D 0A 0D 0A 20 20 20 6D 63 68 20 20 20 ....... mch
000080: 20 20 20 20 20 20 4E 75 6D 62 65 72 20 6F 66 20 Number of
000090: 63 68 6F 69 63 65 73 20 6F 6E 20 74 68 65 20 6D choices on the m
0000A0: 65 6E 75 0D 0A 20 20 20 6D 70 20 20 20 20 20 20 enu.. mp
0000B0: 20 20 20 20 4D 65 6E 75 20 62 61 72 20 70 6F 73 Menu bar pos
0000C0: 69 74 69 6F 6E 20 28 7A 65 72 6F 20 66 6F 72 20 ition (zero for
0000D0: 66 69 72 73 74 20 69 74 65 6D 20 6F 6E 20 6D 65 first item on me
0000E0: 6E 75 29 0D 0A 20 20 20 6D 66 20 20 20 20 20 20 nu).. mf
0000F0: 20 20 20 20 4D 65 6E 75 20 66 6C 61 67 73 20 28 Menu flags (
000100: 74 6F 20 62 65 20 65 78 70 6C 61 69 6E 65 64 20 to be explained
000110: 6C 61 74 65 72 29 0D 0A 20 20 20 6D 64 65 20 20 later).. mde
000120: 20 20 20 20 20 20 20 4D 65 6E 75 20 64 65 6C 61 Menu dela
000130: 79 0D 0A 20 20 20 6D 63 6F 6C 20 20 20 20 20 20 y.. mcol
000140: 20 20 50 65 6E 20 74 6F 20 75 73 65 20 66 6F 72 Pen to use for
000150: 20 74 68 65 20 6D 65 6E 75 20 62 61 72 0D 0A 20 the menu bar..
000160: 20 20 6D 73 70 20 20 20 20 20 20 20 20 20 56 65 msp Ve
000170: 72 74 69 63 61 6C 20 73 70 61 63 69 6E 67 20 6F rtical spacing o
000180: 66 20 6D 65 6E 75 20 69 74 65 6D 73 20 69 6E 20 f menu items in
000190: 67 72 61 70 68 69 63 73 20 63 6F 6F 72 64 69 6E graphics coordin
0001A0: 61 74 65 73 0D 0A 20 20 20 6D 78 2C 20 6D 79 20 ates.. mx, my
0001B0: 20 20 20 20 20 47 72 61 70 68 69 63 73 20 63 6F Graphics co
0001C0: 6F 72 64 69 6E 61 74 65 73 20 6F 66 20 74 6F 70 ordinates of top
0001D0: 20 6C 65 66 74 20 6F 66 20 6D 65 6E 75 0D 0A 20 left of menu..
0001E0: 20 20 6D 62 68 20 20 20 20 20 20 20 20 20 4D 65 mbh Me
0001F0: 6E 75 20 62 61 72 20 68 65 69 67 68 74 20 69 6E nu bar height in
Size : 512 (Real : 512)
000000: 20 75 6E 74 69 6C 20 69 74 20 6C 6F 6F 6B 73 20 until it looks
000010: 72 69 67 68 74 21 0D 0A 0D 0A 20 20 20 4B 45 59 right!.... KEY
000020: 53 20 54 4F 20 53 55 43 43 45 53 53 0D 0A 20 20 S TO SUCCESS..
000030: 20 49 6E 20 6C 69 6E 65 20 33 30 20 77 65 20 61 In line 30 we a
000040: 72 65 20 74 65 6C 6C 69 6E 67 20 74 68 65 20 6D re telling the m
000050: 65 6E 75 20 20 72 6F 75 74 69 6E 65 73 20 77 68 enu routines wh
000060: 69 63 68 20 6B 65 79 73 20 77 65 20 77 61 6E 74 ich keys we want
000070: 20 69 74 20 74 6F 20 74 61 6B 65 0D 0A 20 20 20 it to take..
000080: 6E 6F 74 69 63 65 20 6F 66 2E 20 20 57 65 20 68 notice of. We h
000090: 61 76 65 20 63 68 6F 73 65 6E 20 74 68 65 20 20 ave chosen the
0000A0: 63 75 72 73 6F 72 20 20 6B 65 79 73 20 20 61 6E cursor keys an
0000B0: 64 20 20 43 4F 50 59 20 6B 65 79 20 62 79 20 73 d COPY key by s
0000C0: 65 74 74 69 6E 67 20 74 68 65 0D 0A 20 20 20 76 etting the.. v
0000D0: 61 72 69 61 62 6C 65 73 20 74 6F 20 74 68 65 20 ariables to the
0000E0: 61 70 70 72 6F 70 72 69 61 74 65 20 6B 65 79 20 appropriate key
0000F0: 6E 75 6D 62 65 72 73 2C 20 62 75 74 20 79 6F 75 numbers, but you
000100: 20 63 6F 75 6C 64 20 75 73 65 20 61 6E 79 20 6F could use any o
000110: 74 68 65 72 20 6B 65 79 73 0D 0A 20 20 20 62 79 ther keys.. by
000120: 20 63 68 61 6E 67 69 6E 67 20 74 68 65 20 6E 75 changing the nu
000130: 6D 62 65 72 73 2C 20 6F 72 20 65 76 65 6E 20 61 mbers, or even a
000140: 6C 6C 6F 77 20 74 68 65 20 75 73 65 72 20 74 6F llow the user to
000150: 20 72 65 64 65 66 69 6E 65 20 74 68 65 20 6B 65 redefine the ke
000160: 79 73 2E 0D 0A 0D 0A 20 20 20 54 68 65 20 6B 65 ys..... The ke
000170: 79 73 20 69 6E 64 69 63 61 74 65 64 20 62 79 20 ys indicated by
000180: 22 75 70 22 20 61 6E 64 20 22 64 6F 77 22 20 6D "up" and "dow" m
000190: 61 6B 65 20 74 68 65 20 6D 65 6E 75 20 62 61 72 ake the menu bar
0001A0: 20 6D 6F 76 65 20 75 70 20 61 6E 64 20 64 6F 77 move up and dow
0001B0: 6E 20 6F 6E 0D 0A 20 20 20 74 68 65 20 73 63 72 n on.. the scr
0001C0: 65 65 6E 2E 20 20 54 68 65 20 6F 74 68 65 72 20 een. The other
0001D0: 74 68 72 65 65 20 6B 65 79 73 2C 20 22 6C 65 22 three keys, "le"
0001E0: 2C 20 22 72 69 22 20 20 61 6E 64 20 22 66 69 22 , "ri" and "fi"
0001F0: 20 63 61 6E 20 62 65 20 75 73 65 64 20 62 79 20 can be used by
Size : 512 (Real : 512)
000000: 20 67 72 61 70 68 69 63 73 20 63 6F 6F 72 64 69 graphics coordi
000010: 6E 61 74 65 73 0D 0A 20 20 20 6D 62 6C 20 20 20 nates.. mbl
000020: 20 20 20 20 20 20 4D 65 6E 75 20 62 61 72 20 6C Menu bar l
000030: 65 6E 67 74 68 20 69 6E 20 67 72 61 70 68 69 63 ength in graphic
000040: 73 20 63 6F 6F 72 64 69 6E 61 74 65 73 0D 0A 20 s coordinates..
000050: 20 20 75 70 2C 20 64 6F 77 20 20 20 20 20 53 65 up, dow Se
000060: 74 20 74 68 65 73 65 20 74 6F 20 74 68 65 20 49 t these to the I
000070: 4E 4B 45 59 20 6E 75 6D 62 65 72 73 20 6F 66 20 NKEY numbers of
000080: 74 68 65 20 75 70 20 61 6E 64 20 64 6F 77 6E 20 the up and down
000090: 6B 65 79 73 20 6F 66 20 79 6F 75 72 0D 0A 20 20 keys of your..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 6F cho
0000B0: 69 63 65 0D 0A 20 20 20 6C 65 2C 20 72 69 2C 20 ice.. le, ri,
0000C0: 66 69 20 20 53 65 74 20 74 68 65 73 65 20 74 6F fi Set these to
0000D0: 20 74 68 65 20 49 4E 4B 45 59 20 6E 75 6D 62 65 the INKEY numbe
0000E0: 72 73 20 6F 66 20 6F 74 68 65 72 20 6B 65 79 73 rs of other keys
0000F0: 20 74 68 61 74 20 79 6F 75 20 77 61 6E 74 20 74 that you want t
000100: 68 65 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 he..
000110: 20 20 20 6D 65 6E 75 20 74 6F 20 72 65 73 70 6F menu to respo
000120: 6E 64 20 74 6F 2E 0D 0A 20 20 20 6B 66 20 20 20 nd to... kf
000130: 20 20 20 20 20 20 20 4B 65 79 20 66 6C 61 67 73 Key flags
000140: 20 28 74 6F 20 62 65 20 65 78 70 6C 61 69 6E 65 (to be explaine
000150: 64 20 6C 61 74 65 72 29 0D 0A 0D 0A 20 20 20 54 d later).... T
000160: 61 62 6C 65 20 32 0D 0A 0D 0A 20 20 20 2D 2D 2D able 2.... ---
000170: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000180: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D ----------------
000190: 2D 2D 2D 0D 0A 0D 0A 20 20 20 46 69 67 75 72 65 ---.... Figure
0001A0: 20 31 3A 0D 0A 0D 0A 20 20 20 31 30 20 4D 4F 44 1:.... 10 MOD
0001B0: 45 20 31 3A 6D 63 68 3D 34 3A 6D 70 3D 30 3A 6D E 1:mch=4:mp=0:m
0001C0: 66 3D 30 3A 6D 64 65 3D 30 0D 0A 20 20 20 32 30 f=0:mde=0.. 20
0001D0: 20 6D 63 6F 6C 3D 31 3A 6D 73 70 3D 31 36 3A 6D mcol=1:msp=16:m
0001E0: 78 3D 30 3A 6D 79 3D 33 39 39 2D 32 2A 31 36 3A x=0:my=399-2*16:
0001F0: 6D 62 68 3D 31 36 3A 6D 62 6C 3D 31 36 2A 36 2D mbh=16:mbl=16*6-
Size : 512 (Real : 512)
000000: 74 68 65 0D 0A 20 20 20 70 72 6F 67 72 61 6D 6D the.. programm
000010: 65 72 20 74 6F 20 20 70 72 6F 76 69 64 65 20 20 er to provide
000020: 6F 74 68 65 72 20 20 66 65 61 74 75 72 65 73 2E other features.
000030: 20 20 20 54 68 65 20 20 6B 65 79 20 20 66 6C 61 The key fla
000040: 67 73 2C 20 20 76 61 72 69 61 62 6C 65 20 20 6B gs, variable k
000050: 66 2C 0D 0A 20 20 20 69 6E 64 69 63 61 74 65 20 f,.. indicate
000060: 77 68 69 63 68 20 6F 66 20 74 68 65 73 65 20 74 which of these t
000070: 68 72 65 65 20 6B 65 79 73 20 74 68 65 20 20 72 hree keys the r
000080: 6F 75 74 69 6E 65 20 77 69 6C 6C 20 6C 6F 6F 6B outine will look
000090: 20 6F 75 74 20 66 6F 72 2E 20 20 49 6E 20 6F 75 out for. In ou
0000A0: 72 0D 0A 20 20 20 65 78 61 6D 70 6C 65 20 77 65 r.. example we
0000B0: 20 61 72 65 20 6F 6E 6C 79 20 69 6E 74 65 72 65 are only intere
0000C0: 73 74 65 64 20 69 6E 20 77 68 65 6E 20 74 68 65 sted in when the
0000D0: 20 75 73 65 72 20 70 72 65 73 73 65 73 20 43 4F user presses CO
0000E0: 50 59 20 74 6F 20 73 65 6C 65 63 74 20 74 68 65 PY to select the
0000F0: 0D 0A 20 20 20 6D 65 6E 75 20 69 74 65 6D 2E 20 .. menu item.
000100: 20 54 6F 20 64 6F 20 74 68 69 73 2C 20 6B 66 20 To do this, kf
000110: 68 61 73 20 62 65 65 6E 20 73 65 74 20 74 6F 20 has been set to
000120: 34 2E 20 20 4D 6F 72 65 20 6F 6E 20 68 6F 77 20 4. More on how
000130: 6B 66 20 77 6F 72 6B 73 20 6C 61 74 65 72 2E 0D kf works later..
000140: 0A 0D 0A 20 20 20 54 48 45 20 52 45 41 4C 4C 59 ... THE REALLY
000150: 20 45 58 43 49 54 49 4E 47 20 42 49 54 0D 0A 20 EXCITING BIT..
000160: 20 20 4F 6E 63 65 20 61 6C 6C 20 74 68 65 20 76 Once all the v
000170: 61 72 69 61 62 6C 65 73 20 61 72 65 20 73 65 74 ariables are set
000180: 20 20 75 70 2C 20 20 77 65 20 20 64 6F 20 20 47 up, we do G
000190: 4F 53 55 42 20 20 31 30 31 30 20 69 6E 20 6C 69 OSUB 1010 in li
0001A0: 6E 65 20 36 30 2C 20 77 68 69 63 68 0D 0A 20 20 ne 60, which..
0001B0: 20 70 72 69 6E 74 73 20 74 68 65 20 6D 65 6E 75 prints the menu
0001C0: 20 62 61 72 20 75 70 20 6F 6E 20 20 74 68 65 20 bar up on the
0001D0: 20 73 63 72 65 65 6E 2E 20 20 20 54 68 65 20 20 screen. The
0001E0: 47 4F 53 55 42 20 31 30 30 30 20 69 6E 20 74 68 GOSUB 1000 in th
0001F0: 65 20 6E 65 78 74 20 6C 69 6E 65 0D 0A 20 20 20 e next line..
Size : 512 (Real : 512)
000000: 3A 6D 62 68 3D 33 32 3A 6D 62 6C 3D 31 36 2A 37 :mbh=32:mbl=16*7
000010: 2D 32 0D 0A 0D 0A 20 20 20 48 61 76 65 20 61 20 -2.... Have a
000020: 70 6C 61 79 20 61 72 6F 75 6E 64 20 61 6E 64 20 play around and
000030: 74 72 79 20 6F 75 74 20 20 64 69 66 66 65 72 65 try out differe
000040: 6E 74 20 76 61 6C 75 65 73 20 66 6F 72 20 74 68 nt values for th
000050: 65 73 65 20 76 61 72 69 61 62 6C 65 73 2E 20 20 ese variables.
000060: 54 68 65 0D 0A 20 20 20 6D 73 70 20 76 61 72 69 The.. msp vari
000070: 61 62 6C 65 20 73 68 6F 75 6C 64 20 62 65 20 73 able should be s
000080: 65 74 20 61 63 63 6F 72 64 69 6E 67 20 20 74 6F et according to
000090: 20 20 68 6F 77 20 20 66 61 72 20 61 70 61 72 74 how far apart
0000A0: 20 74 68 65 20 6C 69 6E 65 73 20 6F 66 20 74 65 the lines of te
0000B0: 78 74 0D 0A 20 20 20 61 72 65 2E 20 20 49 66 20 xt.. are. If
0000C0: 65 61 63 68 20 6D 65 6E 75 20 69 74 65 6D 20 74 each menu item t
0000D0: 61 6B 65 73 20 75 70 20 20 6F 6E 65 20 20 6C 69 akes up one li
0000E0: 6E 65 2C 20 61 6E 64 20 74 68 65 72 65 20 61 72 ne, and there ar
0000F0: 65 20 6E 6F 20 67 61 70 73 20 62 65 74 77 65 65 e no gaps betwee
000100: 6E 0D 0A 20 20 20 74 68 65 6D 2C 20 6D 73 70 20 n.. them, msp
000110: 6E 65 65 64 73 20 74 6F 20 62 65 20 20 73 65 74 needs to be set
000120: 20 20 74 6F 20 20 31 36 2C 20 20 61 73 20 20 74 to 16, as t
000130: 68 65 72 65 20 20 61 72 65 20 20 74 68 61 74 20 here are that
000140: 6D 61 6E 79 20 67 72 61 70 68 69 63 73 20 79 2D many graphics y-
000150: 0D 0A 20 20 20 63 6F 6F 72 64 69 6E 61 74 65 73 .. coordinates
000160: 20 66 6F 72 20 65 61 63 68 20 74 65 78 74 20 6C for each text l
000170: 69 6E 65 2E 20 20 59 6F 75 20 63 61 6E 20 65 76 ine. You can ev
000180: 65 6E 20 68 61 76 65 20 6D 65 6E 75 20 74 65 78 en have menu tex
000190: 74 20 70 72 69 6E 74 65 64 20 65 76 65 72 79 0D t printed every.
0001A0: 0A 20 20 20 6F 6E 65 20 61 6E 64 20 61 20 68 61 . one and a ha
0001B0: 6C 66 20 6C 69 6E 65 73 20 61 6E 64 20 73 65 74 lf lines and set
0001C0: 20 6D 73 70 20 74 6F 20 32 34 20 69 66 20 79 6F msp to 24 if yo
0001D0: 75 20 66 65 65 6C 20 73 6F 20 69 6E 63 6C 69 6E u feel so inclin
0001E0: 65 64 2E 0D 0A 0D 0A 20 20 20 54 68 65 20 76 61 ed..... The va
0001F0: 72 69 61 62 6C 65 73 20 6D 78 20 61 6E 64 20 6D riables mx and m
Size : 512 (Real : 512)
000000: 63 61 6C 6C 73 20 74 68 65 20 6D 61 69 6E 20 6D calls the main m
000010: 65 6E 75 20 72 6F 75 74 69 6E 65 2C 20 77 68 69 enu routine, whi
000020: 63 68 20 6C 65 74 73 20 74 68 65 20 20 75 73 65 ch lets the use
000030: 72 20 6D 6F 76 65 20 74 68 65 20 6D 65 6E 75 20 r move the menu
000040: 62 61 72 20 75 70 20 61 6E 64 0D 0A 20 20 20 64 bar up and.. d
000050: 6F 77 6E 20 75 6E 74 69 6C 20 74 68 65 20 43 4F own until the CO
000060: 50 59 20 6B 65 79 20 28 69 6E 20 74 68 69 73 20 PY key (in this
000070: 20 63 61 73 65 29 20 20 69 73 20 70 72 65 73 73 case) is press
000080: 65 64 2E 20 20 4C 69 6E 65 20 38 30 20 74 68 65 ed. Line 80 the
000090: 6E 20 69 6E 66 6F 72 6D 73 0D 0A 20 20 20 74 68 n informs.. th
0000A0: 65 20 75 73 65 72 20 6F 66 20 74 68 65 20 70 6F e user of the po
0000B0: 73 69 74 69 6F 6E 20 6F 66 20 74 68 65 20 20 6D sition of the m
0000C0: 65 6E 75 20 20 62 61 72 2E 20 20 20 54 68 69 73 enu bar. This
0000D0: 20 6D 75 73 74 20 62 65 20 74 68 65 20 6D 6F 73 must be the mos
0000E0: 74 20 75 73 65 66 75 6C 0D 0A 20 20 20 6D 65 6E t useful.. men
0000F0: 75 20 65 76 65 72 21 0D 0A 0D 0A 20 20 20 49 66 u ever!.... If
000100: 20 79 6F 75 20 77 61 6E 74 20 74 6F 20 72 65 6D you want to rem
000110: 6F 76 65 20 74 68 65 20 6D 65 6E 75 20 20 62 61 ove the menu ba
000120: 72 20 20 66 72 6F 6D 20 74 68 65 20 73 63 72 65 r from the scre
000130: 65 6E 20 61 67 61 69 6E 20 61 66 74 65 72 20 72 en again after r
000140: 65 74 75 72 6E 69 6E 67 0D 0A 20 20 20 66 72 6F eturning.. fro
000150: 6D 20 6C 69 6E 65 20 31 30 30 30 2C 20 61 6C 6C m line 1000, all
000160: 20 79 6F 75 20 68 61 76 65 20 20 74 6F 20 20 64 you have to d
000170: 6F 20 20 69 73 20 20 47 4F 53 55 42 20 20 31 30 o is GOSUB 10
000180: 31 30 20 61 67 61 69 6E 2E 20 20 59 6F 75 20 6D 10 again. You m
000190: 69 67 68 74 20 6F 66 0D 0A 20 20 20 63 6F 75 72 ight of.. cour
0001A0: 73 65 20 77 61 6E 74 20 74 6F 20 6C 65 61 76 65 se want to leave
0001B0: 20 69 74 20 69 6E 20 70 6C 61 63 65 20 72 65 61 it in place rea
0001C0: 64 79 20 66 6F 72 20 74 68 65 20 6E 65 78 74 20 dy for the next
0001D0: 74 69 6D 65 20 74 68 65 20 6D 65 6E 75 20 69 73 time the menu is
0001E0: 20 75 73 65 64 2E 0D 0A 0D 0A 20 20 20 4F 6E 63 used..... Onc
0001F0: 65 20 74 68 65 20 76 61 72 69 61 62 6C 65 73 20 e the variables
Size : 512 (Real : 512)
000000: 79 20 20 68 6F 6C 64 20 20 74 68 65 20 20 67 72 y hold the gr
000010: 61 70 68 69 63 73 20 20 63 6F 6F 72 64 69 6E 61 aphics coordina
000020: 74 65 73 20 20 6F 66 20 74 68 65 20 74 6F 70 20 tes of the top
000030: 6C 65 66 74 0D 0A 20 20 20 70 69 78 65 6C 20 6F left.. pixel o
000040: 66 20 74 68 65 20 6D 65 6E 75 20 62 61 72 20 77 f the menu bar w
000050: 68 65 6E 20 69 74 20 69 73 20 20 6F 76 65 72 20 hen it is over
000060: 74 68 65 20 66 69 72 73 74 20 6D 65 6E 75 20 69 the first menu i
000070: 74 65 6D 2E 20 20 41 6C 6C 20 74 68 65 20 6F 74 tem. All the ot
000080: 68 65 72 0D 0A 20 20 20 63 6F 6F 72 64 69 6E 61 her.. coordina
000090: 74 65 73 20 6E 65 65 64 65 64 20 61 72 65 20 77 tes needed are w
0000A0: 6F 72 6B 65 64 20 6F 75 74 20 75 73 69 6E 67 20 orked out using
0000B0: 6D 73 70 2E 0D 0A 0D 0A 20 20 20 46 69 6E 61 6C msp..... Final
0000C0: 6C 79 20 74 68 65 20 61 63 74 75 61 6C 20 73 69 ly the actual si
0000D0: 7A 65 20 6F 66 20 74 68 65 20 20 6D 65 6E 75 20 ze of the menu
0000E0: 20 62 61 72 20 20 69 73 20 20 73 74 6F 72 65 64 bar is stored
0000F0: 20 69 6E 20 6D 62 6C 20 61 6E 64 20 6D 62 68 2E in mbl and mbh.
000100: 20 20 54 68 65 0D 0A 20 20 20 68 65 69 67 68 74 The.. height
000110: 2C 20 73 74 6F 72 65 64 20 69 6E 20 6D 62 68 2C , stored in mbh,
000120: 20 69 73 20 6D 65 61 73 75 72 65 64 20 69 6E 20 is measured in
000130: 67 72 61 70 68 69 63 73 20 63 6F 6F 72 64 69 6E graphics coordin
000140: 61 74 65 73 2E 20 20 54 68 69 73 20 63 6F 75 6C ates. This coul
000150: 64 20 62 65 0D 0A 20 20 20 74 68 65 20 73 61 6D d be.. the sam
000160: 65 20 61 73 20 6D 73 70 2C 20 62 75 74 20 6D 61 e as msp, but ma
000170: 6B 69 6E 67 20 20 69 74 20 20 6C 61 72 67 65 72 king it larger
000180: 20 20 6F 72 20 73 6D 61 6C 6C 65 72 20 77 69 6C or smaller wil
000190: 6C 20 70 72 6F 64 75 63 65 20 64 69 66 66 65 72 l produce differ
0001A0: 65 6E 74 0D 0A 20 20 20 65 66 66 65 63 74 73 2E ent.. effects.
0001B0: 0D 0A 0D 0A 20 20 20 54 68 65 20 76 61 72 69 61 .... The varia
0001C0: 62 6C 65 20 66 6F 72 20 74 68 65 20 6C 65 6E 67 ble for the leng
0001D0: 74 68 20 6F 66 20 74 68 65 20 6D 65 6E 75 20 62 th of the menu b
0001E0: 61 72 2C 20 6D 62 6C 2C 20 64 6F 65 73 20 6E 6F ar, mbl, does no
0001F0: 74 20 77 6F 72 6B 20 71 75 69 74 65 20 6C 69 6B t work quite lik
Size : 512 (Real : 512)
000000: 32 0D 0A 20 20 20 33 30 20 75 70 3D 30 3A 64 6F 2.. 30 up=0:do
000010: 77 3D 32 3A 6C 65 3D 38 3A 72 69 3D 31 3A 66 69 w=2:le=8:ri=1:fi
000020: 3D 39 3A 6B 66 3D 34 0D 0A 20 20 20 34 30 20 50 =9:kf=4.. 40 P
000030: 52 49 4E 54 22 4D 65 6E 75 22 3A 50 52 49 4E 54 RINT"Menu":PRINT
000040: 22 2D 2D 2D 2D 22 0D 0A 20 20 20 35 30 20 46 4F "----".. 50 FO
000050: 52 20 78 3D 31 20 54 4F 20 6D 63 68 3A 50 52 49 R x=1 TO mch:PRI
000060: 4E 54 22 49 74 65 6D 22 78 3A 4E 45 58 54 0D 0A NT"Item"x:NEXT..
000070: 20 20 20 36 30 20 47 4F 53 55 42 20 31 30 31 30 60 GOSUB 1010
000080: 0D 0A 20 20 20 37 30 20 47 4F 53 55 42 20 31 30 .. 70 GOSUB 10
000090: 30 30 0D 0A 20 20 20 38 30 20 50 52 49 4E 54 22 00.. 80 PRINT"
0000A0: 59 6F 75 20 68 61 76 65 20 63 68 6F 73 65 6E 20 You have chosen
0000B0: 69 74 65 6D 22 6D 70 2B 31 0D 0A 20 20 20 39 30 item"mp+1.. 90
0000C0: 20 45 4E 44 0D 0A 20 20 20 31 30 30 30 20 6B 70 END.. 1000 kp
0000D0: 3D 30 3A 6D 64 3D 31 3A 6D 7A 3D 30 0D 0A 20 20 =0:md=1:mz=0..
0000E0: 20 31 30 30 31 20 57 48 49 4C 45 20 28 6B 70 20 1001 WHILE (kp
0000F0: 41 4E 44 20 6B 66 29 3D 30 0D 0A 20 20 20 31 30 AND kf)=0.. 10
000100: 30 32 20 57 48 49 4C 45 20 28 32 5E 6D 70 20 41 02 WHILE (2^mp A
000110: 4E 44 20 6D 66 29 3E 30 20 4F 52 20 6D 7A 0D 0A ND mf)>0 OR mz..
000120: 20 20 20 31 30 30 33 20 6D 7A 3D 30 3A 47 4F 53 1003 mz=0:GOS
000130: 55 42 20 31 30 31 30 3A 6D 70 3D 28 6D 70 2B 6D UB 1010:mp=(mp+m
000140: 63 68 2B 6D 64 29 20 4D 4F 44 20 6D 63 68 3A 47 ch+md) MOD mch:G
000150: 4F 53 55 42 20 31 30 31 30 0D 0A 20 20 20 31 30 OSUB 1010.. 10
000160: 30 34 20 57 45 4E 44 0D 0A 20 20 20 31 30 30 35 04 WEND.. 1005
000170: 20 6D 64 3D 28 49 4E 4B 45 59 28 75 70 29 3E 2D md=(INKEY(up)>-
000180: 31 29 2D 28 49 4E 4B 45 59 28 64 6F 77 29 3E 2D 1)-(INKEY(dow)>-
000190: 31 29 3A 6D 7A 3D 6D 64 0D 0A 20 20 20 31 30 30 1):mz=md.. 100
0001A0: 36 20 6B 70 3D 2D 28 49 4E 4B 45 59 28 6C 65 29 6 kp=-(INKEY(le)
0001B0: 3E 2D 31 29 2D 32 2A 28 49 4E 4B 45 59 28 72 69 >-1)-2*(INKEY(ri
0001C0: 29 3E 2D 31 29 2D 34 2A 28 49 4E 4B 45 59 28 66 )>-1)-4*(INKEY(f
0001D0: 69 29 3E 2D 31 29 0D 0A 20 20 20 31 30 30 37 20 i)>-1).. 1007
0001E0: 57 45 4E 44 0D 0A 20 20 20 31 30 30 38 20 57 48 WEND.. 1008 WH
0001F0: 49 4C 45 20 49 4E 4B 45 59 24 3C 3E 22 22 3A 57 ILE INKEY$<>"":W
Size : 512 (Real : 512)
000000: 64 20 72 65 73 70 6F 6E 64 20 74 6F 20 20 74 68 d respond to th
000010: 65 20 20 22 6C 65 22 2C 20 20 22 72 69 22 20 20 e "le", "ri"
000020: 61 6E 64 20 20 22 66 69 22 20 20 6B 65 79 73 2E and "fi" keys.
000030: 20 20 20 4A 75 73 74 20 20 61 64 64 20 20 75 70 Just add up
000040: 20 74 68 65 0D 0A 20 20 20 66 6F 6C 6C 6F 77 69 the.. followi
000050: 6E 67 20 76 61 6C 75 65 73 20 66 6F 72 20 65 61 ng values for ea
000060: 63 68 20 6F 66 20 74 68 65 20 6B 65 79 73 3A 0D ch of the keys:.
000070: 0A 0D 0A 20 20 20 20 20 6C 65 20 20 20 20 20 20 ... le
000080: 31 0D 0A 20 20 20 20 20 72 69 20 20 20 20 20 20 1.. ri
000090: 32 0D 0A 20 20 20 20 20 66 69 20 20 20 20 20 20 2.. fi
0000A0: 34 0D 0A 0D 0A 20 20 20 54 68 75 73 20 33 20 77 4.... Thus 3 w
0000B0: 6F 75 6C 64 20 6D 65 61 6E 20 74 68 61 74 20 6F ould mean that o
0000C0: 6E 6C 79 20 74 68 65 20 22 6C 65 22 20 61 6E 64 nly the "le" and
0000D0: 20 22 72 69 22 20 6B 65 79 73 20 73 68 6F 75 6C "ri" keys shoul
0000E0: 64 20 62 65 20 75 73 65 64 2E 0D 0A 0D 0A 20 20 d be used.....
0000F0: 20 49 6E 20 6F 75 72 20 65 78 61 6D 70 6C 65 20 In our example
000100: 6C 61 73 74 20 6D 6F 6E 74 68 2C 20 77 65 20 73 last month, we s
000110: 65 74 20 6B 66 20 20 74 6F 20 20 62 65 20 34 2C et kf to be 4,
000120: 20 73 6F 20 74 68 61 74 20 6F 6E 6C 79 20 74 68 so that only th
000130: 65 20 22 66 69 22 20 6B 65 79 0D 0A 20 20 20 28 e "fi" key.. (
000140: 77 68 69 63 68 20 77 65 20 68 61 64 20 73 65 74 which we had set
000150: 20 74 6F 20 62 65 20 20 43 4F 50 59 29 20 20 77 to be COPY) w
000160: 61 73 20 20 64 65 74 65 63 74 65 64 2E 20 20 20 as detected.
000170: 49 66 20 20 77 65 20 68 61 64 20 77 61 6E 74 65 If we had wante
000180: 64 20 74 6F 2C 20 77 65 0D 0A 20 20 20 63 6F 75 d to, we.. cou
000190: 6C 64 20 68 61 76 65 20 73 65 74 20 22 6C 65 22 ld have set "le"
0001A0: 20 74 6F 20 62 65 20 20 31 38 20 20 61 6E 64 20 to be 18 and
0001B0: 20 22 72 69 22 20 20 74 6F 20 20 62 65 20 20 36 "ri" to be 6
0001C0: 20 28 74 68 65 20 52 45 54 55 52 4E 20 61 6E 64 (the RETURN and
0001D0: 20 45 4E 54 45 52 0D 0A 20 20 20 6B 65 79 73 29 ENTER.. keys)
0001E0: 2E 20 20 54 68 65 6E 20 77 69 74 68 20 6B 66 20 . Then with kf
0001F0: 73 65 74 20 74 6F 20 37 2C 20 73 6F 20 20 74 68 set to 7, so th
Size : 512 (Real : 512)
000000: 45 4E 44 0D 0A 20 20 20 31 30 30 39 20 52 45 54 END.. 1009 RET
000010: 55 52 4E 0D 0A 20 20 20 31 30 31 30 20 50 52 49 URN.. 1010 PRI
000020: 4E 54 20 43 48 52 24 28 32 33 29 2B 43 48 52 24 NT CHR$(23)+CHR$
000030: 28 31 29 3B 0D 0A 20 20 20 31 30 31 31 20 4D 4F (1);.. 1011 MO
000040: 56 45 20 6D 78 2C 6D 79 2D 6D 70 2A 6D 73 70 2B VE mx,my-mp*msp+
000050: 28 6D 64 3D 2D 31 29 2A 28 6D 62 68 2D 32 29 0D (md=-1)*(mbh-2).
000060: 0A 20 20 20 31 30 31 32 20 46 4F 52 20 6D 63 3D . 1012 FOR mc=
000070: 31 20 54 4F 20 6D 62 68 2F 32 0D 0A 20 20 20 31 1 TO mbh/2.. 1
000080: 30 31 33 20 44 52 41 57 52 20 6D 62 6C 2C 30 2C 013 DRAWR mbl,0,
000090: 6D 63 6F 6C 3A 4D 4F 56 45 52 20 2D 6D 62 6C 2C mcol:MOVER -mbl,
0000A0: 2D 32 2D 28 6D 64 3D 2D 31 29 2A 34 0D 0A 20 20 -2-(md=-1)*4..
0000B0: 20 31 30 31 34 20 46 4F 52 20 64 65 6C 61 79 3D 1014 FOR delay=
0000C0: 30 20 54 4F 20 6D 64 65 3A 4E 45 58 54 0D 0A 20 0 TO mde:NEXT..
0000D0: 20 20 31 30 31 35 20 4E 45 58 54 0D 0A 20 20 20 1015 NEXT..
0000E0: 31 30 31 36 20 50 52 49 4E 54 20 43 48 52 24 28 1016 PRINT CHR$(
0000F0: 32 33 29 2B 43 48 52 24 28 30 29 3B 0D 0A 20 20 23)+CHR$(0);..
000100: 20 31 30 31 37 20 52 45 54 55 52 4E 0D 0A 1A FF 1017 RETURN....
000110: 50 41 54 43 48 20 36 0D 0A 20 20 20 42 79 20 53 PATCH 6.. 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 22 57 68 61 74 27 73 20 6F 6E 20 74 68 65 "What's on the
000150: 20 6D 65 6E 75 20 66 6F 72 20 74 68 69 73 20 6D menu for this m
000160: 6F 6E 74 68 3F 22 2C 20 20 77 65 20 20 68 65 61 onth?", we hea
000170: 72 20 79 6F 75 20 63 72 79 2E 20 20 57 65 6C 6C r you cry. Well
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: 61 74 20 61 6C 6C 20 74 68 72 65 65 20 6B 65 79 at all three key
000010: 73 20 77 65 72 65 20 64 65 74 65 63 74 65 64 2C s were detected,
000020: 20 74 68 65 0D 0A 20 20 20 75 73 65 72 20 63 6F the.. user co
000030: 75 6C 64 20 68 61 76 65 20 75 73 65 64 20 74 68 uld have used th
000040: 65 20 63 75 72 73 6F 72 20 6B 65 79 73 20 20 74 e cursor keys t
000050: 6F 20 20 6D 6F 76 65 20 20 74 68 65 20 6D 65 6E o move the men
000060: 75 20 62 61 72 20 75 70 20 61 6E 64 20 64 6F 77 u bar up and dow
000070: 6E 2C 0D 0A 20 20 20 61 6E 64 20 73 65 6C 65 63 n,.. and selec
000080: 74 65 64 20 74 68 65 20 6D 65 6E 75 20 69 74 65 ted the menu ite
000090: 6D 20 77 69 74 68 20 61 6E 79 20 6F 66 20 74 68 m with any of th
0000A0: 65 20 43 4F 50 59 2C 20 45 4E 54 45 52 20 61 6E e COPY, ENTER an
0000B0: 64 20 52 45 54 55 52 4E 20 6B 65 79 73 2E 0D 0A d RETURN keys...
0000C0: 0D 0A 20 20 20 41 4E 4F 54 48 45 52 20 4D 45 4E .. ANOTHER MEN
0000D0: 55 2C 20 41 4E 4F 54 48 45 52 20 56 41 52 49 41 U, ANOTHER VARIA
0000E0: 42 4C 45 0D 0A 20 20 20 49 6E 20 4C 69 73 74 69 BLE.. In Listi
0000F0: 6E 67 20 31 20 77 65 20 68 61 76 65 20 61 6E 6F ng 1 we have ano
000100: 74 68 65 72 20 65 78 61 6D 70 6C 65 20 20 70 72 ther example pr
000110: 6F 67 72 61 6D 2C 20 77 68 69 63 68 20 73 68 6F ogram, which sho
000120: 77 73 20 61 6E 6F 74 68 65 72 20 77 61 79 20 6F ws another way o
000130: 66 0D 0A 20 20 20 75 73 69 6E 67 20 74 68 65 20 f.. using the
000140: 6D 65 6E 75 20 72 6F 75 74 69 6E 65 73 2C 20 61 menu routines, a
000150: 6E 64 20 61 6C 73 6F 20 68 65 6C 70 73 20 20 79 nd also helps y
000160: 6F 75 20 74 6F 20 63 61 6C 63 75 6C 61 74 65 20 ou to calculate
000170: 74 68 65 20 76 61 6C 75 65 20 6F 66 20 6B 66 0D the value of kf.
000180: 0A 20 20 20 74 68 61 74 20 79 6F 75 20 6E 65 65 . that you nee
000190: 64 2E 20 20 54 68 69 73 20 74 69 6D 65 20 66 69 d. This time fi
0001A0: 20 69 73 20 31 38 20 20 66 6F 72 20 20 74 68 65 is 18 for the
0001B0: 20 20 52 45 54 55 52 4E 20 6B 65 79 2C 20 6C 65 RETURN key, le
0001C0: 20 69 73 20 73 65 74 20 74 6F 20 34 37 0D 0A 20 is set to 47..
0001D0: 20 20 66 6F 72 20 74 68 65 20 73 70 61 63 65 20 for the space
0001E0: 62 61 72 2C 20 61 6E 64 20 77 65 20 64 6F 20 6E bar, and we do n
0001F0: 6F 74 20 6E 65 65 64 20 22 72 69 22 2C 20 73 6F ot need "ri", so
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 37 20 2D 20 57 41 43 43 49 20 31 31 tch 7 - WACCI 11
000020: 36 2C 20 4F 63 74 20 31 39 39 37 2C 20 70 2E 20 6, Oct 1997, p.
000030: 32 33 2D 32 34 0D 0A 20 20 20 50 52 4F 47 52 41 23-24.. PROGRA
000040: 4D 4D 45 52 53 27 20 50 41 54 43 48 20 37 0D 0A MMERS' PATCH 7..
000050: 20 20 20 42 79 20 53 74 65 70 68 65 6E 20 61 6E By Stephen an
000060: 64 20 4D 61 74 74 68 65 77 20 50 68 69 6C 6C 69 d Matthew Philli
000070: 70 73 0D 0A 0D 0A 20 20 20 4C 61 73 74 20 6D 6F ps.... Last mo
000080: 6E 74 68 20 77 65 20 73 74 61 72 74 65 64 20 6C nth we started l
000090: 6F 6F 6B 69 6E 67 20 61 74 20 20 61 20 20 73 68 ooking at a sh
0000A0: 6F 72 74 20 20 72 6F 75 74 69 6E 65 20 66 6F 72 ort routine for
0000B0: 20 68 61 6E 64 6C 69 6E 67 20 6D 65 6E 75 73 20 handling menus
0000C0: 69 6E 0D 0A 20 20 20 42 41 53 49 43 2C 20 61 6E in.. BASIC, an
0000D0: 64 20 70 72 6F 64 75 63 65 64 20 61 20 73 69 6D d produced a sim
0000E0: 70 6C 65 20 73 65 6C 65 63 74 69 6F 6E 20 20 6D ple selection m
0000F0: 65 6E 75 20 20 77 69 74 68 20 61 20 73 63 72 6F enu with a scro
000100: 6C 6C 69 6E 67 20 62 61 72 2E 20 20 54 68 69 73 lling bar. This
000110: 0D 0A 20 20 20 6D 6F 6E 74 68 20 77 65 20 61 72 .. month we ar
000120: 65 20 67 6F 69 6E 67 20 74 6F 20 68 61 76 65 20 e going to have
000130: 61 20 67 6F 20 61 74 20 73 6F 6D 65 20 6D 6F 72 a go at some mor
000140: 65 20 63 6F 6D 70 6C 69 63 61 74 65 64 20 65 78 e complicated ex
000150: 61 6D 70 6C 65 73 2E 0D 0A 0D 0A 20 20 20 54 68 amples..... Th
000160: 65 20 72 6F 75 74 69 6E 65 73 20 61 72 65 20 72 e routines are r
000170: 65 70 72 69 6E 74 65 64 20 74 68 69 73 20 20 6D eprinted this m
000180: 6F 6E 74 68 20 20 69 6E 20 20 6C 69 6E 65 73 20 onth in lines
000190: 31 30 30 30 2D 31 30 31 37 20 6F 66 20 4C 69 73 1000-1017 of Lis
0001A0: 74 69 6E 67 20 31 2C 0D 0A 20 20 20 62 75 74 20 ting 1,.. but
0001B0: 79 6F 75 20 6D 61 79 20 77 61 6E 74 20 74 6F 20 you may want to
0001C0: 68 61 76 65 20 6C 61 73 74 20 6D 6F 6E 74 68 27 have last month'
0001D0: 73 20 20 61 72 74 69 63 6C 65 20 68 61 6E 64 79 s article handy
0001E0: 20 74 6F 20 72 65 66 65 72 20 74 6F 20 74 68 65 to refer to the
0001F0: 20 6C 69 73 74 0D 0A 20 20 20 6F 66 20 76 61 72 list.. of var
Size : 512 (Real : 512)
000000: 20 69 74 20 68 61 73 20 62 65 65 6E 20 6C 65 66 it has been lef
000010: 74 20 61 73 20 69 74 20 69 73 2E 0D 0A 20 20 20 t as it is...
000020: 3C 3C 54 68 65 20 70 72 6F 67 72 61 6D 20 69 73 <<The program is
000030: 20 73 61 76 65 64 20 6F 6E 20 64 69 73 63 20 61 saved on disc a
000040: 73 20 4D 45 4E 55 45 58 32 2E 42 41 53 3E 3E 0D s MENUEX2.BAS>>.
000050: 0A 0D 0A 20 20 20 54 68 65 20 70 72 6F 67 72 61 ... The progra
000060: 6D 20 62 72 69 6E 67 73 20 69 6E 20 61 20 76 61 m brings in a va
000070: 72 69 61 62 6C 65 20 77 65 20 20 68 61 76 65 20 riable we have
000080: 20 6E 6F 74 20 79 65 74 20 6D 65 74 2E 20 20 54 not yet met. T
000090: 68 65 20 6B 65 79 73 20 70 72 65 73 73 65 64 0D he keys pressed.
0000A0: 0A 20 20 20 61 72 65 20 69 6E 64 69 63 61 74 65 . are indicate
0000B0: 64 20 62 79 20 6B 70 2C 20 61 6E 64 20 69 74 20 d by kp, and it
0000C0: 77 6F 72 6B 73 20 69 6E 20 20 74 68 65 20 20 73 works in the s
0000D0: 61 6D 65 20 77 61 79 20 61 73 20 6B 66 20 61 62 ame way as kf ab
0000E0: 6F 76 65 2E 20 20 57 68 65 6E 20 77 65 0D 0A 20 ove. When we..
0000F0: 20 20 72 65 74 75 72 6E 20 66 72 6F 6D 20 6C 69 return from li
000100: 6E 65 20 31 30 30 30 2C 20 69 66 20 6A 75 73 74 ne 1000, if just
000110: 20 74 68 65 20 20 22 66 69 22 20 20 6B 65 79 20 the "fi" key
000120: 69 73 20 70 72 65 73 73 65 64 2C 20 74 68 65 6E is pressed, then
000130: 20 6B 70 20 77 69 6C 6C 20 62 65 0D 0A 20 20 20 kp will be..
000140: 34 2E 20 20 49 66 20 6F 6E 6C 79 20 74 68 65 20 4. If only the
000150: 22 6C 65 22 20 6B 65 79 20 77 61 73 20 70 72 65 "le" key was pre
000160: 73 73 65 64 20 20 74 68 65 6E 20 6B 70 20 77 6F ssed then kp wo
000170: 75 6C 64 20 62 65 20 31 2E 20 20 4F 66 20 63 6F uld be 1. Of co
000180: 75 72 73 65 2C 20 74 68 65 0D 0A 20 20 20 75 73 urse, the.. us
000190: 65 72 20 6D 69 67 68 74 20 68 61 76 65 20 70 72 er might have pr
0001A0: 65 73 73 65 64 20 62 6F 74 68 20 61 74 20 6F 6E essed both at on
0001B0: 63 65 2C 20 69 6E 20 77 68 69 63 68 20 63 61 73 ce, in which cas
0001C0: 65 20 6B 70 20 77 6F 75 6C 64 20 62 65 20 35 2E e kp would be 5.
0001D0: 0D 0A 0D 0A 20 20 20 49 6E 20 4C 69 73 74 69 6E .... In Listin
0001E0: 67 20 31 20 77 65 20 20 68 61 76 65 20 20 69 67 g 1 we have ig
0001F0: 6E 6F 72 65 64 20 20 74 68 65 20 20 63 61 73 65 nored the case
Size : 512 (Real : 512)
000000: 69 61 62 6C 65 73 20 75 73 65 64 20 69 6E 20 74 iables used in t
000010: 68 65 20 70 72 6F 67 72 61 6D 2E 0D 0A 0D 0A 20 he program.....
000020: 20 20 49 6E 20 74 68 65 20 73 69 6D 70 6C 65 20 In the simple
000030: 73 65 6C 65 63 74 69 6F 6E 20 6D 65 6E 75 2C 20 selection menu,
000040: 77 65 20 20 6A 75 73 74 20 20 6E 65 65 64 65 64 we just needed
000050: 20 20 74 6F 20 20 73 65 74 20 75 70 20 77 68 65 to set up whe
000060: 72 65 20 74 68 65 20 6D 65 6E 75 0D 0A 20 20 20 re the menu..
000070: 77 61 73 2C 20 61 6E 64 20 68 6F 77 20 62 69 67 was, and how big
000080: 20 69 74 20 77 61 73 2C 20 61 6E 64 20 74 68 61 it was, and tha
000090: 74 20 77 61 73 20 61 62 6F 75 74 20 69 74 2E 20 t was about it.
0000A0: 20 54 68 65 20 72 6F 75 74 69 6E 65 73 20 61 72 The routines ar
0000B0: 65 20 63 61 70 61 62 6C 65 0D 0A 20 20 20 6F 66 e capable.. of
0000C0: 20 61 20 6C 6F 74 20 6F 66 20 64 69 66 66 65 72 a lot of differ
0000D0: 65 6E 74 20 20 61 70 70 6C 69 63 61 74 69 6F 6E ent application
0000E0: 73 2C 20 20 63 6F 6E 74 72 6F 6C 6C 65 64 20 20 s, controlled
0000F0: 6D 61 69 6E 6C 79 20 20 62 79 20 74 68 65 20 6D mainly by the m
000100: 66 20 28 6D 65 6E 75 0D 0A 20 20 20 66 6C 61 67 f (menu.. flag
000110: 73 29 20 61 6E 64 20 6B 66 20 28 6B 65 79 20 66 s) and kf (key f
000120: 6C 61 67 73 29 20 76 61 72 69 61 62 6C 65 73 2C lags) variables,
000130: 20 20 61 6C 6F 6E 67 20 77 69 74 68 20 6B 70 20 along with kp
000140: 28 6B 65 79 73 20 70 72 65 73 73 65 64 29 2C 20 (keys pressed),
000150: 77 68 69 63 68 0D 0A 20 20 20 72 65 74 75 72 6E which.. return
000160: 73 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 74 6F s information to
000170: 20 75 73 20 61 66 74 65 72 20 74 68 65 20 75 73 us after the us
000180: 65 72 20 68 61 73 20 73 65 6C 65 63 74 65 64 20 er has selected
000190: 61 20 6D 65 6E 75 20 69 74 65 6D 2E 0D 0A 0D 0A a menu item.....
0001A0: 20 20 20 46 4C 41 47 47 49 4E 47 20 44 4F 57 4E FLAGGING DOWN
0001B0: 0D 0A 20 20 20 54 68 65 20 6B 66 20 76 61 72 69 .. The kf vari
0001C0: 61 62 6C 65 20 69 73 20 66 6F 72 20 63 6F 6E 74 able is for cont
0001D0: 72 6F 6C 6C 69 6E 67 20 68 6F 77 20 20 74 68 65 rolling how the
0001E0: 20 72 6F 75 74 69 6E 65 73 20 72 65 73 70 6F 6E routines respon
0001F0: 64 20 74 6F 20 74 68 65 20 6B 65 79 73 2E 0D 0A d to the keys...
Size : 512 (Real : 512)
000000: 73 20 20 77 68 65 72 65 20 20 73 65 76 65 72 61 s where severa
000010: 6C 20 20 6B 65 79 73 20 6D 69 67 68 74 20 62 65 l keys might be
000020: 0D 0A 20 20 20 70 72 65 73 73 65 64 20 61 74 20 .. pressed at
000030: 6F 6E 63 65 2E 20 20 54 68 65 20 57 48 49 4C 45 once. The WHILE
000040: 2D 57 45 4E 44 20 6C 6F 6F 70 20 6F 66 20 20 6C -WEND loop of l
000050: 69 6E 65 73 20 31 31 30 20 74 6F 20 31 34 30 20 ines 110 to 140
000060: 67 6F 65 73 20 72 6F 75 6E 64 20 61 6E 64 0D 0A goes round and..
000070: 20 20 20 72 6F 75 6E 64 20 75 6E 74 69 6C 20 6B round until k
000080: 70 3D 34 2C 20 77 68 69 63 68 20 68 61 70 70 65 p=4, which happe
000090: 6E 73 20 20 77 68 65 6E 20 20 74 68 65 20 20 52 ns when the R
0000A0: 45 54 55 52 4E 20 20 6B 65 79 20 69 73 20 70 72 ETURN key is pr
0000B0: 65 73 73 65 64 20 6F 6E 20 69 74 73 0D 0A 20 20 essed on its..
0000C0: 20 6F 77 6E 2E 20 20 49 6E 20 6C 69 6E 65 20 31 own. In line 1
0000D0: 33 30 2C 20 74 68 65 20 63 6F 6D 6D 61 6E 64 73 30, the commands
0000E0: 20 74 6F 20 20 74 6F 67 67 6C 65 20 20 74 68 65 to toggle the
0000F0: 20 76 61 6C 75 65 73 20 62 65 74 77 65 65 6E 20 values between
000100: 4F 6E 20 61 6E 64 20 4F 66 66 0D 0A 20 20 20 6F On and Off.. o
000110: 6E 6C 79 20 68 61 70 70 65 6E 20 77 68 65 6E 20 nly happen when
000120: 6B 70 3D 31 2C 20 77 68 65 6E 20 6F 6E 6C 79 20 kp=1, when only
000130: 73 70 61 63 65 20 69 73 20 70 72 65 73 73 65 64 space is pressed
000140: 2E 0D 0A 0D 0A 20 20 20 41 6C 74 68 6F 75 67 68 ..... Although
000150: 20 77 65 20 63 6F 75 6C 64 20 74 65 6C 6C 20 77 we could tell w
000160: 68 65 6E 20 62 6F 74 68 20 20 6F 66 20 20 74 68 hen both of th
000170: 6F 73 65 20 20 6B 65 79 73 20 61 72 65 20 70 72 ose keys are pr
000180: 65 73 73 65 64 20 61 74 20 74 68 65 20 73 61 6D essed at the sam
000190: 65 0D 0A 20 20 20 74 69 6D 65 2C 20 74 68 65 20 e.. time, the
0001A0: 75 73 65 72 20 69 73 20 6E 6F 74 20 72 65 61 6C user is not real
0001B0: 6C 79 20 67 69 76 69 6E 67 20 20 61 20 63 6C 65 ly giving a cle
0001C0: 61 72 20 69 6E 64 69 63 61 74 69 6F 6E 20 6F 66 ar indication of
0001D0: 20 77 68 61 74 20 73 68 6F 75 6C 64 20 62 65 0D what should be.
0001E0: 0A 20 20 20 64 6F 6E 65 2C 20 73 6F 20 69 74 20 . done, so it
0001F0: 69 73 20 6D 6F 72 65 20 73 65 6E 73 69 62 6C 65 is more sensible
Size : 512 (Real : 512)
000000: 20 20 20 54 68 65 20 6E 75 6D 62 65 72 73 20 6F The numbers o
000010: 66 20 74 68 65 20 6B 65 79 73 20 20 64 65 74 65 f the keys dete
000020: 63 74 65 64 20 20 62 79 20 20 74 68 65 20 20 72 cted by the r
000030: 6F 75 74 69 6E 65 73 20 20 61 72 65 20 68 65 6C outines are hel
000040: 64 20 69 6E 20 73 65 76 65 72 61 6C 0D 0A 20 20 d in several..
000050: 20 76 61 72 69 61 62 6C 65 73 3A 20 22 75 70 22 variables: "up"
000060: 20 61 6E 64 20 22 64 6F 77 22 20 74 65 6C 6C 20 and "dow" tell
000070: 74 68 65 20 72 6F 75 74 69 6E 65 73 20 20 77 68 the routines wh
000080: 69 63 68 20 6B 65 79 73 20 74 6F 20 75 73 65 20 ich keys to use
000090: 66 6F 72 20 6D 6F 76 69 6E 67 0D 0A 20 20 20 74 for moving.. t
0000A0: 68 65 20 6D 65 6E 75 20 62 61 72 20 75 70 20 61 he menu bar up a
0000B0: 6E 64 20 64 6F 77 6E 2C 20 77 68 69 6C 65 20 22 nd down, while "
0000C0: 6C 65 22 2C 20 22 72 69 22 2C 20 61 6E 64 20 22 le", "ri", and "
0000D0: 66 69 22 20 61 72 65 20 6A 75 73 74 20 74 68 72 fi" are just thr
0000E0: 65 65 20 6F 74 68 65 72 0D 0A 20 20 20 6B 65 79 ee other.. key
0000F0: 73 20 74 68 61 74 20 63 61 6E 20 62 65 20 64 65 s that can be de
000100: 74 65 63 74 65 64 20 62 79 20 20 74 68 65 20 20 tected by the
000110: 72 6F 75 74 69 6E 65 2E 20 20 20 54 68 65 79 20 routine. They
000120: 20 64 6F 20 6E 6F 74 20 68 61 76 65 20 74 6F 20 do not have to
000130: 61 63 74 20 61 73 0D 0A 20 20 20 6C 65 66 74 2C act as.. left,
000140: 20 72 69 67 68 74 2C 20 61 6E 64 20 66 69 72 65 right, and fire
000150: 20 69 6E 20 61 6E 79 20 70 61 72 74 69 63 75 6C in any particul
000160: 61 72 20 77 61 79 3B 20 74 68 65 79 20 61 72 65 ar way; they are
000170: 20 6A 75 73 74 20 63 61 6C 6C 65 64 20 74 68 61 just called tha
000180: 74 20 74 6F 0D 0A 20 20 20 6D 61 6B 65 20 74 68 t to.. make th
000190: 65 6D 20 65 61 73 69 65 72 20 74 6F 20 72 65 6D em easier to rem
0001A0: 65 6D 62 65 72 2E 0D 0A 0D 0A 20 20 20 56 61 72 ember..... Var
0001B0: 69 61 62 6C 65 20 6B 66 20 69 73 20 20 61 20 20 iable kf is a
0001C0: 62 69 74 2D 73 69 67 6E 69 66 69 63 61 6E 74 20 bit-significant
0001D0: 20 6E 75 6D 62 65 72 20 20 73 68 6F 77 69 6E 67 number showing
0001E0: 20 20 77 68 65 74 68 65 72 20 20 74 68 65 20 72 whether the r
0001F0: 6F 75 74 69 6E 65 0D 0A 20 20 20 73 68 6F 75 6C outine.. shoul
Size : 512 (Real : 512)
000000: 69 73 20 69 73 20 77 68 65 72 65 20 74 68 65 20 is is where the
000010: 6D 79 73 74 65 72 69 6F 75 73 20 76 61 72 69 61 mysterious varia
000020: 62 6C 65 20 6D 66 20 63 6F 6D 65 73 20 69 6E 2E ble mf comes in.
000030: 20 20 49 74 0D 0A 20 20 20 69 73 20 61 6E 6F 74 It.. is anot
000040: 68 65 72 20 6F 66 20 74 68 65 73 65 20 62 69 74 her of these bit
000050: 2D 73 69 67 6E 69 66 69 63 61 6E 74 20 76 61 72 -significant var
000060: 69 61 62 6C 65 73 2E 20 20 20 49 6E 20 20 6C 69 iables. In li
000070: 6E 65 20 31 30 20 6D 66 20 69 73 20 73 65 74 20 ne 10 mf is set
000080: 74 6F 0D 0A 20 20 20 38 2B 33 32 2C 20 6F 72 20 to.. 8+32, or
000090: 31 30 31 30 30 30 20 69 6E 20 62 69 6E 61 72 79 101000 in binary
0000A0: 2E 20 20 45 61 63 68 20 20 62 69 6E 61 72 79 20 . Each binary
0000B0: 20 64 69 67 69 74 2C 20 6F 72 20 62 69 74 2C 20 digit, or bit,
0000C0: 63 6F 72 72 65 73 70 6F 6E 64 73 20 74 6F 20 61 corresponds to a
0000D0: 0D 0A 20 20 20 6D 65 6E 75 20 69 74 65 6D 2C 20 .. menu item,
0000E0: 61 6E 64 20 61 20 31 20 74 65 6C 6C 73 20 74 68 and a 1 tells th
0000F0: 65 20 20 6D 65 6E 75 20 20 72 6F 75 74 69 6E 65 e menu routine
000100: 20 74 68 61 74 20 74 68 65 20 69 74 65 6D 20 69 that the item i
000110: 73 20 75 6E 73 65 6C 65 63 74 61 62 6C 65 0D 0A s unselectable..
000120: 20 20 20 61 6E 64 20 73 68 6F 75 6C 64 20 62 65 and should be
000130: 20 72 6F 6C 6C 65 64 20 6F 76 65 72 2E 20 20 54 rolled over. T
000140: 68 65 20 6C 65 61 73 74 20 20 73 69 67 6E 69 66 he least signif
000150: 69 63 61 6E 74 20 62 69 74 20 28 61 74 20 74 68 icant bit (at th
000160: 65 20 72 69 67 68 74 20 68 61 6E 64 0D 0A 20 20 e right hand..
000170: 20 65 6E 64 29 20 72 65 66 65 72 73 20 74 6F 20 end) refers to
000180: 74 68 65 20 66 69 72 73 74 20 20 69 74 65 6D 20 the first item
000190: 20 6F 6E 20 20 74 68 65 20 20 6D 65 6E 75 2E 20 on the menu.
0001A0: 20 20 49 66 20 20 79 6F 75 20 77 61 6E 74 20 74 If you want t
0001B0: 6F 20 75 73 65 20 74 68 69 73 0D 0A 20 20 20 66 o use this.. f
0001C0: 65 61 74 75 72 65 20 79 6F 75 72 20 6D 65 6E 75 eature your menu
0001D0: 20 69 73 20 6C 69 6D 69 74 65 64 20 74 6F 20 31 is limited to 1
0001E0: 36 20 69 74 65 6D 73 2E 0D 0A 0D 0A 20 20 20 59 6 items..... Y
0001F0: 6F 75 20 63 61 6E 20 63 61 6C 63 75 6C 61 74 65 ou can calculate
Size : 512 (Real : 512)
000000: 6C 74 69 70 6C 79 20 62 79 20 31 30 0D 0A 20 20 ltiply by 10..
000010: 20 69 66 20 53 48 49 46 54 20 69 73 20 70 72 65 if SHIFT is pre
000020: 73 73 65 64 2C 20 6F 72 20 62 79 20 31 20 69 66 ssed, or by 1 if
000030: 20 20 69 74 20 69 73 6E 27 74 2E 20 20 59 6F 75 it isn't. You
000040: 20 63 6F 75 6C 64 20 67 65 74 20 74 68 65 20 73 could get the s
000050: 61 6D 65 20 65 66 66 65 63 74 0D 0A 20 20 20 77 ame effect.. w
000060: 69 74 68 20 61 20 6C 6F 74 20 6F 66 20 49 46 20 ith a lot of IF
000070: 73 74 61 74 65 6D 65 6E 74 73 20 69 6E 20 61 20 statements in a
000080: 6D 75 63 68 20 73 69 6D 70 6C 65 72 2C 20 62 75 much simpler, bu
000090: 74 20 6C 6F 6E 67 65 72 2C 20 77 61 79 2E 0D 0A t longer, way...
0000A0: 0D 0A 20 20 20 57 48 41 54 20 41 42 4F 55 54 20 .. WHAT ABOUT
0000B0: 54 48 45 20 53 55 42 52 4F 55 54 49 4E 45 53 3F THE SUBROUTINES?
0000C0: 0D 0A 20 20 20 59 65 73 2C 20 77 65 27 6C 6C 20 .. Yes, we'll
0000D0: 67 65 74 20 6F 6E 74 6F 20 74 68 65 6D 20 6E 65 get onto them ne
0000E0: 78 74 20 20 6D 6F 6E 74 68 2E 20 20 20 42 65 20 xt month. Be
0000F0: 70 61 74 69 65 6E 74 21 20 20 49 6E 20 74 68 65 patient! In the
000100: 20 6D 65 61 6E 74 69 6D 65 2C 20 77 68 79 0D 0A meantime, why..
000110: 20 20 20 6E 6F 74 20 61 6C 74 65 72 20 4C 69 73 not alter Lis
000120: 74 69 6E 67 20 32 20 20 73 6F 20 20 74 68 61 74 ting 2 so that
000130: 20 20 79 6F 75 20 20 63 61 6E 6E 6F 74 20 20 6F you cannot o
000140: 72 64 65 72 20 20 6E 65 67 61 74 69 76 65 20 71 rder negative q
000150: 75 61 6E 74 69 74 69 65 73 20 6F 66 0D 0A 20 20 uantities of..
000160: 20 6D 61 67 61 7A 69 6E 65 73 2E 2E 2E 0D 0A 0D magazines......
000170: 0A 0D 0A 0D 0A 20 20 20 4C 69 73 74 69 6E 67 20 ..... Listing
000180: 31 3A 0D 0A 0D 0A 20 20 20 31 30 20 4D 4F 44 45 1:.... 10 MODE
000190: 20 31 3A 6D 63 68 3D 33 3A 6D 66 3D 30 3A 6D 64 1:mch=3:mf=0:md
0001A0: 65 3D 30 0D 0A 20 20 20 32 30 20 6D 63 6F 6C 3D e=0.. 20 mcol=
0001B0: 32 3A 6D 73 70 3D 31 36 3A 6D 78 3D 30 3A 6D 79 2:msp=16:mx=0:my
0001C0: 3D 33 39 39 2D 35 2A 31 36 3A 6D 62 68 3D 31 36 =399-5*16:mbh=16
0001D0: 3A 6D 62 6C 3D 31 36 2A 32 2D 32 0D 0A 20 20 20 :mbl=16*2-2..
0001E0: 33 30 20 75 70 3D 30 3A 64 6F 77 3D 32 3A 6C 65 30 up=0:dow=2:le
0001F0: 3D 34 37 3A 72 69 3D 31 3A 66 69 3D 31 38 3A 6B =47:ri=1:fi=18:k
Size : 512 (Real : 512)
000000: 20 6D 66 20 69 6E 20 76 61 72 69 6F 75 73 20 20 mf in various
000010: 77 61 79 73 2C 20 20 61 6E 64 20 20 69 74 20 72 ways, and it r
000020: 65 61 6C 6C 79 20 64 65 70 65 6E 64 73 20 6F 6E eally depends on
000030: 20 77 68 65 74 68 65 72 0D 0A 20 20 20 79 6F 75 whether.. you
000040: 20 77 69 6C 6C 20 6E 65 65 64 20 74 6F 20 61 6C will need to al
000050: 74 65 72 20 69 74 20 6D 75 63 68 2E 20 20 20 49 ter it much. I
000060: 66 20 20 6D 66 20 20 69 73 20 20 67 6F 69 6E 67 f mf is going
000070: 20 74 6F 20 73 74 61 79 20 74 68 65 20 73 61 6D to stay the sam
000080: 65 2C 20 74 68 65 0D 0A 20 20 20 65 61 73 69 65 e, the.. easie
000090: 73 74 20 77 61 79 20 69 73 20 74 6F 20 73 65 74 st way is to set
0000A0: 20 69 74 20 69 6E 20 62 69 6E 61 72 79 3A 0D 0A it in binary:..
0000B0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 6D .. m
0000C0: 66 3D 26 78 31 30 31 30 30 30 0D 0A 0D 0A 20 20 f=&x101000....
0000D0: 20 4F 74 68 65 72 77 69 73 65 20 79 6F 75 20 77 Otherwise you w
0000E0: 69 6C 6C 20 70 72 6F 62 61 62 6C 79 20 20 68 61 ill probably ha
0000F0: 76 65 20 20 74 6F 20 20 6D 65 73 73 20 20 61 72 ve to mess ar
000100: 6F 75 6E 64 20 20 77 69 74 68 20 20 70 6F 77 65 ound with powe
000110: 72 73 20 6F 66 20 32 20 74 6F 0D 0A 20 20 20 61 rs of 2 to.. a
000120: 63 68 69 65 76 65 20 74 68 65 20 72 69 67 68 74 chieve the right
000130: 20 76 61 6C 75 65 2E 0D 0A 0D 0A 20 20 20 4C 4F value..... LO
000140: 4F 4B 49 4E 47 20 53 48 49 46 54 59 0D 0A 20 20 OKING SHIFTY..
000150: 20 54 68 65 20 70 72 6F 67 72 61 6D 20 61 73 20 The program as
000160: 69 74 20 73 74 61 6E 64 73 20 6F 6E 6C 79 20 61 it stands only a
000170: 6C 6C 6F 77 73 20 20 79 6F 75 20 20 74 6F 20 61 llows you to a
000180: 6C 74 65 72 20 74 68 65 20 71 75 61 6E 74 69 74 lter the quantit
000190: 69 65 73 20 62 79 20 6F 6E 65 0D 0A 20 20 20 61 ies by one.. a
0001A0: 74 20 61 20 74 69 6D 65 2E 20 20 49 74 20 77 6F t a time. It wo
0001B0: 75 6C 64 20 62 65 20 6E 69 63 65 20 74 6F 20 20 uld be nice to
0001C0: 62 65 20 20 61 62 6C 65 20 20 74 6F 20 68 6F 6C be able to hol
0001D0: 64 20 74 68 65 20 53 48 49 46 54 20 6B 65 79 20 d the SHIFT key
0001E0: 64 6F 77 6E 20 61 6E 64 0D 0A 20 20 20 70 72 65 down and.. pre
0001F0: 73 73 20 6C 65 66 74 20 6F 72 20 72 69 67 68 74 ss left or right
Size : 512 (Real : 512)
000000: 20 6A 75 73 74 20 74 6F 20 20 69 67 6E 6F 72 65 just to ignore
000010: 20 69 74 2E 20 20 49 74 20 61 6C 73 6F 20 6D 61 it. It also ma
000020: 6B 65 73 20 74 68 65 20 42 41 53 49 43 0D 0A 20 kes the BASIC..
000030: 20 20 70 72 6F 67 72 61 6D 20 6D 75 63 68 20 73 program much s
000040: 69 6D 70 6C 65 72 20 66 6F 72 20 61 20 63 68 61 impler for a cha
000050: 6E 67 65 21 0D 0A 0D 0A 20 20 20 4A 75 73 74 20 nge!.... Just
000060: 66 6F 72 20 74 68 65 20 72 65 63 6F 72 64 2C 20 for the record,
000070: 77 65 20 6F 75 67 68 74 20 74 6F 20 70 6F 69 6E we ought to poin
000080: 74 20 20 6F 75 74 20 20 74 68 61 74 20 65 76 65 t out that eve
000090: 6E 20 69 66 20 79 6F 75 20 73 65 74 20 6B 66 20 n if you set kf
0000A0: 74 6F 20 35 0D 0A 20 20 20 74 6F 20 73 68 6F 77 to 5.. to show
0000B0: 20 74 68 61 74 20 79 6F 75 20 61 72 65 20 6E 6F that you are no
0000C0: 74 20 69 6E 74 65 72 65 73 74 65 64 20 69 6E 20 t interested in
0000D0: 74 68 65 20 22 72 69 22 20 20 6B 65 79 2C 20 69 the "ri" key, i
0000E0: 66 20 74 68 65 20 75 73 65 72 20 70 72 65 73 73 f the user press
0000F0: 65 73 0D 0A 20 20 20 74 68 65 20 22 6C 65 22 20 es.. the "le"
000100: 61 6E 64 20 22 72 69 22 20 6B 65 79 73 20 74 6F and "ri" keys to
000110: 67 65 74 68 65 72 20 20 74 68 65 6E 20 20 6B 70 gether then kp
000120: 20 20 77 69 6C 6C 20 20 62 65 20 72 65 74 75 72 will be retur
000130: 6E 65 64 20 61 73 20 33 2C 20 6E 6F 74 20 31 2E ned as 3, not 1.
000140: 0D 0A 20 20 20 54 68 65 72 65 20 61 72 65 20 63 .. There are c
000150: 61 73 65 73 20 77 68 65 72 65 20 74 68 69 73 20 ases where this
000160: 6D 69 67 68 74 20 62 65 20 20 61 20 20 6E 75 69 might be a nui
000170: 73 61 6E 63 65 2C 20 73 6F 20 69 66 20 79 6F 75 sance, so if you
000180: 20 77 61 6E 74 20 74 6F 20 61 76 6F 69 64 0D 0A want to avoid..
000190: 20 20 20 69 74 2C 20 79 6F 75 20 63 61 6E 20 6A it, you can j
0001A0: 75 73 74 20 73 61 79 0D 0A 0D 0A 20 20 20 20 20 ust say....
0001B0: 20 20 20 20 20 20 20 20 6B 70 3D 6B 70 20 41 4E kp=kp AN
0001C0: 44 20 6B 66 0D 0A 0D 0A 20 20 20 73 74 72 61 69 D kf.... strai
0001D0: 67 68 74 20 61 66 74 65 72 20 74 68 65 20 72 65 ght after the re
0001E0: 74 75 72 6E 20 66 72 6F 6D 20 6C 69 6E 65 20 31 turn from line 1
0001F0: 30 30 30 2C 20 20 61 6E 64 20 74 68 65 6E 20 6B 000, and then k
Size : 512 (Real : 512)
000000: 20 74 6F 20 61 6C 74 65 72 20 74 68 65 20 76 61 to alter the va
000010: 6C 75 65 20 20 62 79 20 20 74 65 6E 2E 20 20 54 lue by ten. T
000020: 6F 20 64 6F 20 74 68 69 73 20 77 65 20 77 69 6C o do this we wil
000030: 6C 20 68 61 76 65 0D 0A 20 20 20 74 6F 20 6D 6F l have.. to mo
000040: 64 69 66 79 20 74 68 65 20 6D 65 6E 75 20 73 75 dify the menu su
000050: 62 72 6F 75 74 69 6E 65 2C 20 61 73 20 77 65 20 broutine, as we
000060: 64 6F 6E 27 74 20 68 61 76 65 20 61 20 73 70 61 don't have a spa
000070: 72 65 20 6B 65 79 2E 0D 0A 0D 0A 20 20 20 4A 75 re key..... Ju
000080: 73 74 20 61 64 64 20 6F 6E 74 6F 20 74 68 65 20 st add onto the
000090: 65 6E 64 20 6F 66 20 6C 69 6E 65 20 31 30 30 36 end of line 1006
0000A0: 3A 0D 0A 0D 0A 20 20 20 20 20 20 20 20 20 20 20 :....
0000B0: 20 20 2D 38 2A 28 49 4E 4B 45 59 28 73 68 29 3E -8*(INKEY(sh)>
0000C0: 2D 31 29 0D 0A 0D 0A 20 20 20 61 6E 64 20 61 64 -1).... and ad
0000D0: 64 20 22 73 68 3D 32 31 22 20 74 6F 20 6C 69 6E d "sh=21" to lin
0000E0: 65 20 33 30 2E 20 20 54 68 69 73 20 74 65 73 74 e 30. This test
0000F0: 73 20 61 6E 6F 74 68 65 72 20 6B 65 79 2C 20 22 s another key, "
000100: 73 68 22 2C 20 77 68 69 63 68 20 68 61 73 20 62 sh", which has b
000110: 65 65 6E 0D 0A 20 20 20 73 65 74 20 75 70 20 74 een.. set up t
000120: 6F 20 62 65 20 74 68 65 20 20 53 48 49 46 54 20 o be the SHIFT
000130: 20 6B 65 79 2E 20 20 20 45 69 67 68 74 20 20 77 key. Eight w
000140: 69 6C 6C 20 20 62 65 20 20 61 64 64 65 64 20 20 ill be added
000150: 74 6F 20 6B 70 20 69 66 20 53 48 49 46 54 20 69 to kp if SHIFT i
000160: 73 0D 0A 20 20 20 70 72 65 73 73 65 64 2E 0D 0A s.. pressed...
000170: 0D 0A 20 20 20 57 65 20 64 6F 20 6E 6F 74 20 6E .. We do not n
000180: 65 65 64 20 74 6F 20 61 6C 74 65 72 20 6B 66 20 eed to alter kf
000190: 62 65 63 61 75 73 65 20 20 77 65 20 64 6F 20 6E because we do n
0001A0: 6F 74 20 77 61 6E 74 20 63 6F 6E 74 72 6F 6C 20 ot want control
0001B0: 74 6F 20 72 65 74 75 72 6E 20 66 72 6F 6D 0D 0A to return from..
0001C0: 20 20 20 6C 69 6E 65 20 31 30 30 30 20 69 66 20 line 1000 if
0001D0: 74 68 65 20 53 48 49 46 54 20 6B 65 79 20 69 73 the SHIFT key is
0001E0: 20 70 72 65 73 73 65 64 20 20 6F 6E 20 69 74 73 pressed on its
0001F0: 20 6F 77 6E 2E 20 20 57 68 65 74 68 65 72 20 74 own. Whether t
Size : 512 (Real : 512)
000000: 70 20 77 69 6C 6C 20 6F 6E 6C 79 20 74 65 6C 6C p will only tell
000010: 20 79 6F 75 0D 0A 20 20 20 61 62 6F 75 74 20 74 you.. about t
000020: 68 65 20 73 74 61 74 65 20 6F 66 20 74 68 65 20 he state of the
000030: 6B 65 79 73 20 69 6E 64 69 63 61 74 65 64 20 69 keys indicated i
000040: 6E 20 6B 66 2E 0D 0A 0D 0A 20 20 20 42 41 43 4B n kf..... BACK
000050: 20 54 4F 20 54 48 45 20 49 53 53 55 45 0D 0A 20 TO THE ISSUE..
000060: 20 20 4F 75 72 20 73 65 63 6F 6E 64 20 65 78 61 Our second exa
000070: 6D 70 6C 65 20 74 68 69 73 20 6D 6F 6E 74 68 20 mple this month
000080: 73 68 6F 77 73 20 77 68 61 74 20 79 6F 75 20 6D shows what you m
000090: 69 67 68 74 20 77 61 6E 74 20 74 68 65 20 22 6C ight want the "l
0000A0: 65 22 20 61 6E 64 20 22 72 69 22 0D 0A 20 20 20 e" and "ri"..
0000B0: 6B 65 79 73 20 66 6F 72 2E 20 20 59 6F 75 20 77 keys for. You w
0000C0: 69 6C 6C 20 6E 65 65 64 20 74 6F 20 74 79 70 65 ill need to type
0000D0: 20 69 6E 20 20 6C 69 6E 65 73 20 20 31 30 30 30 in lines 1000
0000E0: 20 74 6F 20 31 30 31 37 20 61 67 61 69 6E 20 74 to 1017 again t
0000F0: 6F 20 67 6F 20 77 69 74 68 0D 0A 20 20 20 4C 69 o go with.. Li
000100: 73 74 69 6E 67 20 32 2E 20 20 3C 3C 54 68 65 20 sting 2. <<The
000110: 77 68 6F 6C 65 20 77 6F 72 6B 69 6E 67 20 20 70 whole working p
000120: 72 6F 67 72 61 6D 20 20 69 73 20 20 73 61 76 65 rogram is save
000130: 64 20 61 73 20 4D 45 4E 55 45 58 33 2E 42 41 53 d as MENUEX3.BAS
000140: 20 6F 6E 20 74 68 65 0D 0A 20 20 20 64 69 73 63 on the.. disc
000150: 3E 3E 0D 0A 0D 0A 20 20 20 54 68 65 20 75 73 65 >>.... The use
000160: 72 20 69 73 20 70 72 65 73 65 6E 74 65 64 20 77 r is presented w
000170: 69 74 68 20 61 6E 20 6F 72 64 65 72 20 66 6F 72 ith an order for
000180: 6D 20 66 6F 72 20 62 61 63 6B 20 69 73 73 75 65 m for back issue
000190: 73 20 6F 66 20 6F 75 72 20 66 61 76 6F 75 72 69 s of our favouri
0001A0: 74 65 0D 0A 20 20 20 6D 61 67 61 7A 69 6E 65 2E te.. magazine.
0001B0: 20 20 54 68 65 20 6C 65 66 74 20 61 6E 64 20 72 The left and r
0001C0: 69 67 68 74 20 20 63 75 72 73 6F 72 20 20 6B 65 ight cursor ke
0001D0: 79 73 20 20 61 64 6A 75 73 74 20 20 74 68 65 20 ys adjust the
0001E0: 71 75 61 6E 74 69 74 79 20 6F 66 20 65 61 63 68 quantity of each
0001F0: 0D 0A 20 20 20 6D 61 67 61 7A 69 6E 65 20 74 6F .. magazine to
Size : 512 (Real : 512)
000000: 68 65 20 53 48 49 46 54 20 6B 65 79 0D 0A 20 20 he SHIFT key..
000010: 20 77 61 73 20 70 72 65 73 73 65 64 20 69 73 20 was pressed is
000020: 73 74 69 6C 6C 20 69 6E 64 69 63 61 74 65 64 20 still indicated
000030: 69 6E 20 6B 70 2C 20 65 76 65 6E 20 20 74 68 6F in kp, even tho
000040: 75 67 68 20 77 65 20 73 65 74 20 6B 66 20 74 6F ugh we set kf to
000050: 20 73 68 6F 77 20 74 68 61 74 0D 0A 20 20 20 77 show that.. w
000060: 65 20 77 65 72 65 20 6E 6F 74 20 69 6E 74 65 72 e were not inter
000070: 65 73 74 65 64 20 69 6E 20 69 74 2E 0D 0A 0D 0A ested in it.....
000080: 20 20 20 46 69 6E 61 6C 6C 79 20 77 65 20 6E 65 Finally we ne
000090: 65 64 20 74 6F 20 61 6C 74 65 72 20 20 6C 69 6E ed to alter lin
0000A0: 65 20 20 31 35 30 2C 20 20 77 68 65 72 65 20 20 e 150, where
0000B0: 74 68 65 20 71 75 61 6E 74 69 74 79 20 6F 66 20 the quantity of
0000C0: 6D 61 67 61 7A 69 6E 65 73 20 69 73 0D 0A 20 20 magazines is..
0000D0: 20 61 64 6A 75 73 74 65 64 3A 0D 0A 0D 0A 20 20 adjusted:....
0000E0: 20 31 35 30 20 6E 75 6D 28 6D 70 29 3D 6E 75 6D 150 num(mp)=num
0000F0: 28 6D 70 29 2B 28 28 28 6B 70 20 41 4E 44 20 31 (mp)+(((kp AND 1
000100: 29 3D 31 29 2D 28 28 6B 70 20 41 4E 44 20 32 29 )=1)-((kp AND 2)
000110: 3D 32 29 29 2A 28 31 2D 39 2A 28 28 6B 70 20 41 =2))*(1-9*((kp A
000120: 4E 44 20 38 29 3D 38 29 29 3A 0D 0A 20 20 20 20 ND 8)=8)):..
000130: 20 20 20 47 4F 53 55 42 20 32 31 30 0D 0A 0D 0A GOSUB 210....
000140: 20 20 20 3C 3C 54 68 65 20 61 6C 74 65 72 65 64 <<The altered
000150: 20 76 65 72 73 69 6F 6E 20 69 73 20 73 61 76 65 version is save
000160: 64 20 61 73 20 4D 45 4E 55 45 58 34 2E 42 41 53 d as MENUEX4.BAS
000170: 20 6F 6E 20 74 68 65 20 64 69 73 63 3E 3E 0D 0A on the disc>>..
000180: 0D 0A 20 20 20 54 68 69 73 20 74 69 6D 65 20 77 .. This time w
000190: 65 20 64 6F 20 6E 65 65 64 20 74 6F 20 20 63 6F e do need to co
0001A0: 70 65 20 20 77 69 74 68 20 20 6D 6F 72 65 20 20 pe with more
0001B0: 74 68 61 6E 20 20 6F 6E 65 20 6B 65 79 20 62 65 than one key be
0001C0: 69 6E 67 20 70 72 65 73 73 65 64 20 61 74 0D 0A ing pressed at..
0001D0: 20 20 20 6F 6E 63 65 2C 20 73 6F 20 74 68 65 20 once, so the
0001E0: 6C 69 6E 65 20 69 73 20 61 20 20 6C 6F 74 20 20 line is a lot
0001F0: 6D 6F 72 65 20 20 63 6F 6D 70 6C 69 63 61 74 65 more complicate
Size : 512 (Real : 512)
000000: 20 62 65 20 6F 72 64 65 72 65 64 2E 20 20 43 65 be ordered. Ce
000010: 72 74 61 69 6E 20 69 73 73 75 65 73 20 61 72 65 rtain issues are
000020: 20 6F 75 74 20 6F 66 20 73 74 6F 63 6B 2C 20 61 out of stock, a
000030: 6E 64 20 73 6F 20 74 68 65 20 6D 65 6E 75 0D 0A nd so the menu..
000040: 20 20 20 62 61 72 20 77 69 6C 6C 20 72 6F 6C 6C bar will roll
000050: 20 73 74 72 61 69 67 68 74 20 6F 76 65 72 20 74 straight over t
000060: 68 65 73 65 20 6F 70 74 69 6F 6E 73 20 20 74 6F hese options to
000070: 20 74 68 65 20 6E 65 78 74 20 6F 6E 65 2E 20 20 the next one.
000080: 59 6F 75 20 6D 61 79 20 68 61 76 65 0D 0A 20 20 You may have..
000090: 20 73 65 65 6E 20 73 69 6D 69 6C 61 72 20 66 65 seen similar fe
0000A0: 61 74 75 72 65 73 20 6F 6E 20 74 68 65 20 6D 65 atures on the me
0000B0: 6E 75 73 20 6F 66 20 74 68 65 20 41 64 76 61 6E nus of the Advan
0000C0: 63 65 64 20 4D 75 73 69 63 20 53 79 73 74 65 6D ced Music System
0000D0: 2E 0D 0A 0D 0A 20 20 20 4C 69 6E 65 20 31 35 30 ..... Line 150
0000E0: 20 61 64 6A 75 73 74 73 20 74 68 65 20 6E 75 6D adjusts the num
0000F0: 62 65 72 20 6F 66 20 6D 61 67 61 7A 69 6E 65 73 ber of magazines
000100: 20 61 63 63 6F 72 64 69 6E 67 20 74 6F 20 77 68 according to wh
000110: 65 74 68 65 72 20 74 68 65 20 22 6C 65 22 20 6F ether the "le" o
000120: 72 0D 0A 20 20 20 22 72 69 22 20 6B 65 79 73 20 r.. "ri" keys
000130: 61 72 65 20 70 72 65 73 73 65 64 2E 20 20 54 68 are pressed. Th
000140: 69 73 20 69 73 20 61 20 20 6D 75 63 68 20 73 69 is is a much si
000150: 6D 70 6C 65 72 20 76 65 72 73 69 6F 6E 20 6F 66 mpler version of
000160: 20 74 68 65 20 74 65 63 68 6E 69 71 75 65 73 0D the techniques.
000170: 0A 20 20 20 77 65 20 65 78 70 6C 61 69 6E 65 64 . we explained
000180: 20 69 6E 20 74 68 65 20 4D 61 72 63 68 20 61 72 in the March ar
000190: 74 69 63 6C 65 2E 0D 0A 0D 0A 20 20 20 48 6F 77 ticle..... How
0001A0: 20 64 6F 20 77 65 20 74 65 6C 6C 20 74 68 65 20 do we tell the
0001B0: 6D 65 6E 75 20 20 72 6F 75 74 69 6E 65 20 20 74 menu routine t
0001C0: 6F 20 20 72 6F 6C 6C 20 6F 76 65 72 20 74 68 65 o roll over the
0001D0: 20 6D 61 67 61 7A 69 6E 65 20 69 73 73 75 65 73 magazine issues
0001E0: 20 77 68 69 63 68 0D 0A 20 20 20 61 72 65 20 6F which.. are o
0001F0: 75 74 20 6F 66 20 73 74 6F 63 6B 3F 20 20 54 68 ut of stock? Th
Size : 512 (Real : 512)
000000: 64 20 20 74 68 61 6E 20 62 65 66 6F 72 65 2E 20 d than before.
000010: 20 54 6F 20 66 69 6E 64 20 6F 75 74 0D 0A 20 20 To find out..
000020: 20 66 72 6F 6D 20 6B 70 20 20 77 68 65 74 68 65 from kp whethe
000030: 72 20 20 61 20 20 70 61 72 74 69 63 75 6C 61 72 r a particular
000040: 20 20 6B 65 79 20 20 69 73 20 20 70 72 65 73 73 key is press
000050: 65 64 20 20 77 65 20 20 41 4E 44 20 20 6B 70 20 ed we AND kp
000060: 20 77 69 74 68 20 20 74 68 65 0D 0A 20 20 20 61 with the.. a
000070: 70 70 72 6F 70 72 69 61 74 65 20 76 61 6C 75 65 ppropriate value
000080: 2E 20 20 54 68 75 73 20 69 66 20 74 68 65 20 22 . Thus if the "
000090: 73 68 22 20 6B 65 79 20 69 73 20 20 70 72 65 73 sh" key is pres
0000A0: 73 65 64 2C 20 6B 70 20 41 4E 44 20 38 20 77 69 sed, kp AND 8 wi
0000B0: 6C 6C 20 62 65 20 38 3A 0D 0A 20 20 20 6F 74 68 ll be 8:.. oth
0000C0: 65 72 77 69 73 65 20 69 74 20 69 73 20 7A 65 72 erwise it is zer
0000D0: 6F 2E 0D 0A 0D 0A 20 20 20 41 67 61 69 6E 20 20 o..... Again
0000E0: 77 65 20 20 61 72 65 20 20 75 73 69 6E 67 20 20 we are using
0000F0: 74 68 65 20 20 20 72 65 73 75 6C 74 73 20 20 20 the results
000100: 6F 66 20 20 20 6C 6F 67 69 63 61 6C 20 20 65 78 of logical ex
000110: 70 72 65 73 73 69 6F 6E 73 20 20 69 6E 20 20 6F pressions in o
000120: 75 72 0D 0A 20 20 20 63 61 6C 63 75 6C 61 74 69 ur.. calculati
000130: 6F 6E 73 2E 20 20 54 68 65 20 69 6D 70 6F 72 74 ons. The import
000140: 61 6E 74 20 70 6F 69 6E 74 20 69 73 20 74 68 61 ant point is tha
000150: 74 20 20 61 20 74 72 75 65 20 73 74 61 74 65 6D t a true statem
000160: 65 6E 74 20 68 61 73 20 76 61 6C 75 65 20 2D 31 ent has value -1
000170: 0D 0A 20 20 20 61 6E 64 20 61 20 66 61 6C 73 65 .. and a false
000180: 20 73 74 61 74 65 6D 65 6E 74 20 67 69 76 65 73 statement gives
000190: 20 30 2E 20 20 54 68 65 20 20 66 69 72 73 74 20 0. The first
0001A0: 70 61 72 74 20 6F 66 20 74 68 65 20 65 78 70 72 part of the expr
0001B0: 65 73 73 69 6F 6E 20 67 69 76 65 73 20 2D 0D 0A ession gives -..
0001C0: 20 20 20 31 2C 20 30 20 6F 72 20 31 20 64 65 70 1, 0 or 1 dep
0001D0: 65 6E 64 69 6E 67 20 6F 6E 20 74 68 65 20 6C 65 ending on the le
0001E0: 66 74 20 20 61 6E 64 20 20 72 69 67 68 74 20 6B ft and right k
0001F0: 65 79 73 2E 20 20 57 65 20 74 68 65 6E 20 6D 75 eys. We then mu
Size : 512 (Real : 512)
000000: 0A 20 20 20 31 36 30 20 4C 4F 43 41 54 45 20 31 . 160 LOCATE 1
000010: 30 2C 6D 70 2B 36 3A 49 46 20 6F 75 72 6B 66 20 0,mp+6:IF ourkf
000020: 41 4E 44 20 32 5E 6D 70 20 54 48 45 4E 20 50 52 AND 2^mp THEN PR
000030: 49 4E 54 22 4F 6E 20 22 20 45 4C 53 45 20 50 52 INT"On " ELSE PR
000040: 49 4E 54 22 4F 66 66 22 0D 0A 20 20 20 31 37 30 INT"Off".. 170
000050: 20 52 45 54 55 52 4E 0D 0A 20 20 20 31 30 30 30 RETURN.. 1000
000060: 20 6B 70 3D 30 3A 6D 64 3D 31 3A 6D 7A 3D 30 0D kp=0:md=1:mz=0.
000070: 0A 20 20 20 31 30 30 31 20 57 48 49 4C 45 20 28 . 1001 WHILE (
000080: 6B 70 20 41 4E 44 20 6B 66 29 3D 30 0D 0A 20 20 kp AND kf)=0..
000090: 20 31 30 30 32 20 57 48 49 4C 45 20 28 32 5E 6D 1002 WHILE (2^m
0000A0: 70 20 41 4E 44 20 6D 66 29 3E 30 20 4F 52 20 6D p AND mf)>0 OR m
0000B0: 7A 0D 0A 20 20 20 31 30 30 33 20 6D 7A 3D 30 3A z.. 1003 mz=0:
0000C0: 47 4F 53 55 42 20 31 30 31 30 3A 6D 70 3D 28 6D GOSUB 1010:mp=(m
0000D0: 70 2B 6D 63 68 2B 6D 64 29 20 4D 4F 44 20 6D 63 p+mch+md) MOD mc
0000E0: 68 3A 47 4F 53 55 42 20 31 30 31 30 0D 0A 20 20 h:GOSUB 1010..
0000F0: 20 31 30 30 34 20 57 45 4E 44 0D 0A 20 20 20 31 1004 WEND.. 1
000100: 30 30 35 20 6D 64 3D 28 49 4E 4B 45 59 28 75 70 005 md=(INKEY(up
000110: 29 3E 2D 31 29 2D 28 49 4E 4B 45 59 28 64 6F 77 )>-1)-(INKEY(dow
000120: 29 3E 2D 31 29 3A 6D 7A 3D 6D 64 0D 0A 20 20 20 )>-1):mz=md..
000130: 31 30 30 36 20 6B 70 3D 2D 28 49 4E 4B 45 59 28 1006 kp=-(INKEY(
000140: 6C 65 29 3E 2D 31 29 2D 32 2A 28 49 4E 4B 45 59 le)>-1)-2*(INKEY
000150: 28 72 69 29 3E 2D 31 29 2D 34 2A 28 49 4E 4B 45 (ri)>-1)-4*(INKE
000160: 59 28 66 69 29 3E 2D 31 29 0D 0A 20 20 20 31 30 Y(fi)>-1).. 10
000170: 30 37 20 57 45 4E 44 0D 0A 20 20 20 31 30 30 38 07 WEND.. 1008
000180: 20 57 48 49 4C 45 20 49 4E 4B 45 59 24 3C 3E 22 WHILE INKEY$<>"
000190: 22 3A 57 45 4E 44 0D 0A 20 20 20 31 30 30 39 20 ":WEND.. 1009
0001A0: 52 45 54 55 52 4E 0D 0A 20 20 20 31 30 31 30 20 RETURN.. 1010
0001B0: 50 52 49 4E 54 20 43 48 52 24 28 32 33 29 2B 43 PRINT CHR$(23)+C
0001C0: 48 52 24 28 31 29 3B 0D 0A 20 20 20 31 30 31 31 HR$(1);.. 1011
0001D0: 20 4D 4F 56 45 20 6D 78 2C 6D 79 2D 6D 70 2A 6D MOVE mx,my-mp*m
0001E0: 73 70 2B 28 6D 64 3D 2D 31 29 2A 28 6D 62 68 2D sp+(md=-1)*(mbh-
0001F0: 32 29 0D 0A 20 20 20 31 30 31 32 20 46 4F 52 20 2).. 1012 FOR
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 38 20 2D 20 57 41 43 43 49 20 31 31 tch 8 - WACCI 11
000020: 37 2C 20 4E 6F 76 2F 44 65 63 20 31 39 39 37 2C 7, Nov/Dec 1997,
000030: 20 70 2E 20 31 35 2D 31 36 0D 0A 20 20 20 50 52 p. 15-16.. PR
000040: 4F 47 52 41 4D 4D 45 52 53 27 20 50 41 54 43 48 OGRAMMERS' PATCH
000050: 20 38 0D 0A 20 20 20 42 79 20 53 74 65 70 68 65 8.. By Stephe
000060: 6E 20 61 6E 64 20 4D 61 74 74 68 65 77 20 50 68 n and Matthew Ph
000070: 69 6C 6C 69 70 73 0D 0A 0D 0A 20 20 20 49 6E 20 illips.... In
000080: 74 68 65 20 6C 61 73 74 20 6F 66 20 74 68 72 65 the last of thre
000090: 65 20 61 72 74 69 63 6C 65 73 20 61 62 6F 75 74 e articles about
0000A0: 20 6D 65 6E 75 20 68 61 6E 64 6C 69 6E 67 20 69 menu handling i
0000B0: 6E 20 42 41 53 49 43 20 77 65 20 61 72 65 20 67 n BASIC we are g
0000C0: 6F 69 6E 67 20 74 6F 0D 0A 20 20 20 6C 6F 6F 6B oing to.. look
0000D0: 20 61 74 20 68 6F 77 20 74 68 65 20 72 6F 75 74 at how the rout
0000E0: 69 6E 65 73 20 20 77 65 20 20 68 61 76 65 20 20 ines we have
0000F0: 70 72 65 73 65 6E 74 65 64 20 20 77 6F 72 6B 2E presented work.
000100: 20 20 20 52 65 6D 65 6D 62 65 72 20 74 68 61 74 Remember that
000110: 20 69 74 20 69 73 0D 0A 20 20 20 70 6F 73 73 69 it is.. possi
000120: 62 6C 65 20 74 6F 20 75 73 65 20 74 68 65 20 73 ble to use the s
000130: 75 62 72 6F 75 74 69 6E 65 73 20 20 79 6F 75 72 ubroutines your
000140: 73 65 6C 66 20 20 77 69 74 68 6F 75 74 20 20 68 self without h
000150: 61 76 69 6E 67 20 61 20 63 6C 75 65 20 68 6F 77 aving a clue how
000160: 20 74 68 65 79 0D 0A 20 20 20 61 63 74 75 61 6C they.. actual
000170: 6C 79 20 64 6F 20 74 68 65 20 6A 6F 62 2E 20 20 ly do the job.
000180: 49 66 20 79 6F 75 20 77 61 6E 74 20 74 6F 20 61 If you want to a
000190: 64 61 70 74 20 74 68 65 20 73 75 62 72 6F 75 74 dapt the subrout
0001A0: 69 6E 65 73 20 79 6F 75 72 73 65 6C 66 20 6F 72 ines yourself or
0001B0: 20 75 73 65 0D 0A 20 20 20 73 6F 6D 65 20 20 6F use.. some o
0001C0: 66 20 20 74 68 65 20 20 74 65 63 68 6E 69 71 75 f the techniqu
0001D0: 65 73 20 20 69 6E 20 20 79 6F 75 72 20 20 20 6F es in your o
0001E0: 77 6E 20 20 70 72 6F 67 72 61 6D 73 2C 20 20 74 wn programs, t
0001F0: 68 65 6E 20 20 74 68 65 20 20 66 6F 6C 6C 6F 77 hen the follow
Size : 512 (Real : 512)
000000: 6D 63 3D 31 20 54 4F 20 6D 62 68 2F 32 0D 0A 20 mc=1 TO mbh/2..
000010: 20 20 31 30 31 33 20 44 52 41 57 52 20 6D 62 6C 1013 DRAWR mbl
000020: 2C 30 2C 6D 63 6F 6C 3A 4D 4F 56 45 52 20 2D 6D ,0,mcol:MOVER -m
000030: 62 6C 2C 2D 32 2D 28 6D 64 3D 2D 31 29 2A 34 0D bl,-2-(md=-1)*4.
000040: 0A 20 20 20 31 30 31 34 20 46 4F 52 20 64 65 6C . 1014 FOR del
000050: 61 79 3D 30 20 54 4F 20 6D 64 65 3A 4E 45 58 54 ay=0 TO mde:NEXT
000060: 0D 0A 20 20 20 31 30 31 35 20 4E 45 58 54 0D 0A .. 1015 NEXT..
000070: 20 20 20 31 30 31 36 20 50 52 49 4E 54 20 43 48 1016 PRINT CH
000080: 52 24 28 32 33 29 2B 43 48 52 24 28 30 29 3B 0D R$(23)+CHR$(0);.
000090: 0A 20 20 20 31 30 31 37 20 52 45 54 55 52 4E 0D . 1017 RETURN.
0000A0: 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 4C 69 73 74 ......... List
0000B0: 69 6E 67 20 32 3A 0D 0A 0D 0A 20 20 20 31 30 20 ing 2:.... 10
0000C0: 6D 63 68 3D 36 3A 6D 66 3D 38 2B 33 32 3A 6D 64 mch=6:mf=8+32:md
0000D0: 65 3D 30 0D 0A 20 20 20 32 30 20 6D 63 6F 6C 3D e=0.. 20 mcol=
0000E0: 31 3A 6D 73 70 3D 33 32 3A 6D 78 3D 31 32 34 3A 1:msp=32:mx=124:
0000F0: 6D 79 3D 33 32 32 3A 6D 62 68 3D 32 32 3A 6D 62 my=322:mbh=22:mb
000100: 6C 3D 31 33 32 0D 0A 20 20 20 33 30 20 75 70 3D l=132.. 30 up=
000110: 30 3A 64 6F 77 3D 32 3A 6C 65 3D 38 3A 72 69 3D 0:dow=2:le=8:ri=
000120: 31 3A 66 69 3D 34 37 3A 6B 66 3D 37 0D 0A 20 20 1:fi=47:kf=7..
000130: 20 34 30 20 44 49 4D 20 6E 75 6D 28 6D 63 68 2D 40 DIM num(mch-
000140: 31 29 0D 0A 20 20 20 35 30 20 4D 4F 44 45 20 31 1).. 50 MODE 1
000150: 3A 4C 4F 43 41 54 45 20 38 2C 33 3A 50 52 49 4E :LOCATE 8,3:PRIN
000160: 54 22 57 41 43 43 49 20 62 61 63 6B 2D 69 73 73 T"WACCI back-iss
000170: 75 65 73 20 6F 72 64 65 72 73 22 0D 0A 20 20 20 ues orders"..
000180: 36 30 20 4C 4F 43 41 54 45 20 38 2C 34 3A 50 52 60 LOCATE 8,4:PR
000190: 49 4E 54 20 53 54 52 49 4E 47 24 28 32 34 2C 22 INT STRING$(24,"
0001A0: 2D 22 29 3A 4C 4F 43 41 54 45 20 31 2C 31 39 0D -"):LOCATE 1,19.
0001B0: 0A 20 20 20 37 30 20 50 52 49 4E 54 22 55 73 65 . 70 PRINT"Use
0001C0: 20 74 68 65 20 63 75 72 73 6F 72 20 6B 65 79 73 the cursor keys
0001D0: 20 74 6F 20 6D 6F 76 65 20 61 6E 64 20 61 6C 74 to move and alt
0001E0: 65 72 2E 20 20 53 50 41 43 45 20 74 6F 20 66 69 er. SPACE to fi
0001F0: 6E 69 73 68 2E 22 0D 0A 20 20 20 38 30 20 46 4F nish.".. 80 FO
Size : 512 (Real : 512)
000000: 69 6E 67 0D 0A 20 20 20 65 78 70 6C 61 6E 61 74 ing.. explanat
000010: 69 6F 6E 20 6D 61 79 20 62 65 20 68 65 6C 70 66 ion may be helpf
000020: 75 6C 2E 20 20 49 66 20 69 74 20 20 69 73 6E 27 ul. If it isn'
000030: 74 20 20 74 68 65 6E 20 20 77 72 69 74 65 20 74 t then write t
000040: 6F 20 46 61 69 72 20 43 6F 6D 6D 65 6E 74 20 61 o Fair Comment a
000050: 6E 64 0D 0A 20 20 20 63 6F 6D 70 6C 61 69 6E 21 nd.. complain!
000060: 0D 0A 0D 0A 20 20 20 54 68 65 20 72 6F 75 74 69 .... The routi
000070: 6E 65 73 20 68 61 76 65 20 62 65 65 6E 20 72 65 nes have been re
000080: 70 72 69 6E 74 65 64 20 20 66 6F 72 20 20 79 6F printed for yo
000090: 75 20 20 79 65 74 20 20 61 67 61 69 6E 2C 20 61 u yet again, a
0000A0: 6C 6F 6E 67 20 77 69 74 68 20 61 20 74 61 62 6C long with a tabl
0000B0: 65 0D 0A 20 20 20 73 68 6F 77 69 6E 67 20 61 6C e.. showing al
0000C0: 6C 20 74 68 65 20 76 61 72 69 61 62 6C 65 73 20 l the variables
0000D0: 77 65 20 20 75 73 65 2E 20 20 20 3C 3C 54 68 65 we use. <<The
0000E0: 20 20 6D 65 6E 75 20 20 72 6F 75 74 69 6E 65 20 menu routine
0000F0: 69 73 20 61 6C 73 6F 20 73 61 76 65 64 20 6F 6E is also saved on
000100: 0D 0A 20 20 20 64 69 73 63 20 61 73 20 4D 45 4E .. disc as MEN
000110: 55 53 55 42 3E 3E 0D 0A 0D 0A 20 20 20 57 45 4E USUB>>.... WEN
000120: 44 49 4E 47 20 4F 55 52 20 57 41 59 0D 0A 20 20 DING OUR WAY..
000130: 20 54 68 65 20 6D 61 69 6E 20 73 75 62 72 6F 75 The main subrou
000140: 74 69 6E 65 2C 20 6C 69 6E 65 73 20 20 31 30 30 tine, lines 100
000150: 30 2D 31 30 30 39 2C 20 20 63 6F 6E 74 61 69 6E 0-1009, contain
000160: 73 20 73 65 76 65 72 61 6C 20 57 48 49 4C 45 2D s several WHILE-
000170: 57 45 4E 44 20 6C 6F 6F 70 73 2E 0D 0A 20 20 20 WEND loops...
000180: 4C 69 6E 65 20 31 30 30 38 20 73 65 65 73 20 6F Line 1008 sees o
000190: 75 72 20 66 61 76 6F 75 72 69 74 65 20 6C 6F 6F ur favourite loo
0001A0: 70 20 20 66 6F 72 20 63 6C 65 61 72 69 6E 67 20 p for clearing
0001B0: 74 68 65 20 6B 65 79 62 6F 61 72 64 20 62 75 66 the keyboard buf
0001C0: 66 65 72 2E 20 20 54 68 69 73 0D 0A 20 20 20 69 fer. This.. i
0001D0: 73 20 64 6F 6E 65 20 62 65 66 6F 72 65 20 72 65 s done before re
0001E0: 74 75 72 6E 69 6E 67 20 74 6F 20 79 6F 75 72 20 turning to your
0001F0: 20 70 72 6F 67 72 61 6D 20 20 69 6E 20 20 6F 72 program in or
Size : 512 (Real : 512)
000000: 52 20 6D 70 3D 30 20 54 4F 20 6D 63 68 2D 31 3A R mp=0 TO mch-1:
000010: 4C 4F 43 41 54 45 20 39 2C 36 2B 6D 70 2A 32 3A LOCATE 9,6+mp*2:
000020: 50 52 49 4E 54 22 57 41 43 43 49 22 34 30 2B 6D PRINT"WACCI"40+m
000030: 70 3A 47 4F 53 55 42 20 32 31 30 3A 4E 45 58 54 p:GOSUB 210:NEXT
000040: 0D 0A 20 20 20 39 30 20 46 4F 52 20 6D 70 3D 30 .. 90 FOR mp=0
000050: 20 54 4F 20 6D 63 68 2D 31 0D 0A 20 20 20 31 30 TO mch-1.. 10
000060: 30 20 49 46 20 6D 66 20 41 4E 44 20 32 5E 6D 70 0 IF mf AND 2^mp
000070: 20 54 48 45 4E 20 4C 4F 43 41 54 45 20 33 30 2C THEN LOCATE 30,
000080: 32 2A 6D 70 2B 36 3A 50 52 49 4E 54 22 28 6E 6F 2*mp+6:PRINT"(no
000090: 20 73 74 6F 63 6B 29 22 0D 0A 20 20 20 31 31 30 stock)".. 110
0000A0: 20 4E 45 58 54 0D 0A 20 20 20 31 32 30 20 6D 70 NEXT.. 120 mp
0000B0: 3D 30 3A 6B 70 3D 30 0D 0A 20 20 20 31 33 30 20 =0:kp=0.. 130
0000C0: 47 4F 53 55 42 20 31 30 31 30 0D 0A 20 20 20 31 GOSUB 1010.. 1
0000D0: 34 30 20 57 48 49 4C 45 20 6B 70 3C 3E 34 0D 0A 40 WHILE kp<>4..
0000E0: 20 20 20 31 35 30 20 6E 75 6D 28 6D 70 29 3D 6E 150 num(mp)=n
0000F0: 75 6D 28 6D 70 29 2B 28 6B 70 3D 31 29 2D 28 6B um(mp)+(kp=1)-(k
000100: 70 3D 32 29 3A 47 4F 53 55 42 20 32 31 30 0D 0A p=2):GOSUB 210..
000110: 20 20 20 31 36 30 20 47 4F 53 55 42 20 31 30 30 160 GOSUB 100
000120: 30 0D 0A 20 20 20 31 37 30 20 57 45 4E 44 0D 0A 0.. 170 WEND..
000130: 20 20 20 31 38 30 20 6D 61 67 73 3D 30 3A 46 4F 180 mags=0:FO
000140: 52 20 78 3D 30 20 54 4F 20 6D 63 68 2D 31 3A 6D R x=0 TO mch-1:m
000150: 61 67 73 3D 6D 61 67 73 2B 6E 75 6D 28 78 29 3A ags=mags+num(x):
000160: 4E 45 58 54 0D 0A 20 20 20 31 39 30 20 4C 4F 43 NEXT.. 190 LOC
000170: 41 54 45 20 31 2C 32 32 3A 50 52 49 4E 54 22 54 ATE 1,22:PRINT"T
000180: 68 61 6E 6B 20 79 6F 75 20 66 6F 72 20 79 6F 75 hank you for you
000190: 72 20 6F 72 64 65 72 2E 22 0D 0A 20 20 20 32 30 r order.".. 20
0001A0: 30 20 50 52 49 4E 54 22 50 6C 65 61 73 65 20 73 0 PRINT"Please s
0001B0: 65 6E 64 20 61 20 63 68 65 71 75 65 20 66 6F 72 end a cheque for
0001C0: 20 A3 22 3B 55 53 49 4E 47 22 23 23 2E 23 23 22 .";USING"##.##"
0001D0: 3B 30 2E 35 2A 6D 61 67 73 3A 45 4E 44 0D 0A 20 ;0.5*mags:END..
0001E0: 20 20 32 31 30 20 4C 4F 43 41 54 45 20 32 37 2C 210 LOCATE 27,
0001F0: 36 2B 6D 70 2A 32 3A 50 52 49 4E 54 20 6E 75 6D 6+mp*2:PRINT num
Size : 512 (Real : 512)
000000: 64 65 72 20 74 6F 20 6D 61 6B 65 20 73 75 72 65 der to make sure
000010: 20 74 68 61 74 20 74 68 65 0D 0A 20 20 20 6B 65 that the.. ke
000020: 79 20 70 72 65 73 73 65 73 20 66 72 6F 6D 20 74 y presses from t
000030: 68 65 20 6D 65 6E 75 20 20 73 65 6C 65 63 74 69 he menu selecti
000040: 6F 6E 20 20 61 72 65 20 20 60 75 73 65 64 20 75 on are `used u
000050: 70 27 20 70 72 6F 70 65 72 6C 79 2E 20 20 54 72 p' properly. Tr
000060: 79 20 74 61 6B 69 6E 67 0D 0A 20 20 20 74 68 65 y taking.. the
000070: 20 6C 69 6E 65 20 6F 75 74 20 61 6E 64 20 79 6F line out and yo
000080: 75 20 77 69 6C 6C 20 73 6F 6F 6E 20 73 65 65 20 u will soon see
000090: 77 68 79 20 69 74 20 69 73 20 75 73 65 66 75 6C why it is useful
0000A0: 20 74 6F 20 68 61 76 65 20 69 74 20 74 68 65 72 to have it ther
0000B0: 65 2E 0D 0A 0D 0A 20 20 20 4C 69 6E 65 73 20 31 e..... Lines 1
0000C0: 30 30 31 2D 31 30 30 37 20 66 6F 72 6D 20 74 68 001-1007 form th
0000D0: 65 20 6D 61 69 6E 20 20 57 48 49 4C 45 2D 57 45 e main WHILE-WE
0000E0: 4E 44 20 20 6C 6F 6F 70 20 20 6F 66 20 74 68 65 ND loop of the
0000F0: 20 73 75 62 72 6F 75 74 69 6E 65 2C 20 77 69 74 subroutine, wit
000100: 68 69 6E 0D 0A 20 20 20 77 68 69 63 68 20 74 68 hin.. which th
000110: 65 72 65 20 69 73 20 79 65 74 20 61 6E 6F 74 68 ere is yet anoth
000120: 65 72 20 6C 6F 6F 70 20 61 74 20 6C 69 6E 65 73 er loop at lines
000130: 20 31 30 30 32 20 74 6F 20 31 30 30 34 2E 0D 0A 1002 to 1004...
000140: 0D 0A 20 20 20 54 68 65 20 6D 61 69 6E 20 6C 6F .. The main lo
000150: 6F 70 20 69 73 20 65 73 73 65 6E 74 69 61 6C 6C op is essentiall
000160: 79 20 20 61 6C 6C 20 20 61 62 6F 75 74 20 20 63 y all about c
000170: 68 65 63 6B 69 6E 67 20 20 74 68 65 20 6B 65 79 hecking the key
000180: 73 20 74 68 61 74 20 74 68 65 20 75 73 65 72 0D s that the user.
000190: 0A 20 20 20 70 72 65 73 73 65 73 2E 20 20 54 68 . presses. Th
0001A0: 65 20 22 75 70 22 20 61 6E 64 20 20 22 64 6F 77 e "up" and "dow
0001B0: 22 20 20 6B 65 79 73 20 20 61 72 65 20 20 64 65 " keys are de
0001C0: 74 65 63 74 65 64 20 20 69 6E 20 20 6C 69 6E 65 tected in line
0001D0: 20 20 31 30 30 35 20 61 6E 64 20 74 68 65 0D 0A 1005 and the..
0001E0: 20 20 20 69 6E 74 65 72 6E 61 6C 20 76 61 72 69 internal vari
0001F0: 61 62 6C 65 20 22 6D 64 22 20 69 73 20 73 65 74 able "md" is set
Size : 512 (Real : 512)
000000: 28 6D 70 29 3A 52 45 54 55 52 4E 0D 0A 1A 00 FF (mp):RETURN.....
000010: 50 41 54 43 48 20 37 0D 0A 20 20 20 42 79 20 53 PATCH 7.. By S
000020: 74 65 70 68 65 6E 20 61 6E 64 20 4D 61 74 74 68 tephen and Matth
000030: 65 77 20 50 68 69 6C 6C 69 70 73 0D 0A 0D 0A 20 ew Phillips....
000040: 20 20 4C 61 73 74 20 6D 6F 6E 74 68 20 77 65 20 Last month we
000050: 73 74 61 72 74 65 64 20 6C 6F 6F 6B 69 6E 67 20 started looking
000060: 61 74 20 20 61 20 20 73 68 6F 72 74 20 20 72 6F at a short ro
000070: 75 74 69 6E 65 20 66 6F 72 20 68 61 6E 64 6C 69 utine for handli
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: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 66 3D 35 0D 0A 20 20 20 34 30 20 6F 75 72 6B 66 f=5.. 40 ourkf
000010: 3D 30 0D 0A 20 20 20 35 30 20 50 52 49 4E 54 22 =0.. 50 PRINT"
000020: 50 72 65 73 73 20 53 50 41 43 45 20 74 6F 20 74 Press SPACE to t
000030: 6F 67 67 6C 65 20 74 68 65 20 76 61 6C 75 65 73 oggle the values
000040: 20 4F 6E 2F 4F 66 66 22 0D 0A 20 20 20 36 30 20 On/Off".. 60
000050: 50 52 49 4E 54 20 43 48 52 24 28 33 34 29 22 4F PRINT CHR$(34)"O
000060: 66 66 22 43 48 52 24 28 33 34 29 22 20 6D 65 61 ff"CHR$(34)" mea
000070: 6E 73 20 74 68 65 20 6B 65 79 20 77 6F 75 6C 64 ns the key would
000080: 20 62 65 20 69 67 6E 6F 72 65 64 22 0D 0A 20 20 be ignored"..
000090: 20 37 30 20 50 52 49 4E 54 3A 50 52 49 4E 54 22 70 PRINT:PRINT"
0000A0: 50 72 65 73 73 20 52 45 54 55 52 4E 20 74 6F 20 Press RETURN to
0000B0: 63 61 6C 63 75 6C 61 74 65 20 74 68 65 20 6B 66 calculate the kf
0000C0: 20 76 61 6C 75 65 22 0D 0A 20 20 20 38 30 20 4C value".. 80 L
0000D0: 4F 43 41 54 45 20 31 2C 36 3A 50 52 49 4E 54 22 OCATE 1,6:PRINT"
0000E0: 6C 65 22 3A 50 52 49 4E 54 22 72 69 22 3A 50 52 le":PRINT"ri":PR
0000F0: 49 4E 54 22 66 69 22 0D 0A 20 20 20 39 30 20 46 INT"fi".. 90 F
000100: 4F 52 20 6D 70 3D 30 20 54 4F 20 6D 63 68 2D 31 OR mp=0 TO mch-1
000110: 3A 47 4F 53 55 42 20 31 36 30 3A 4E 45 58 54 3A :GOSUB 160:NEXT:
000120: 6D 70 3D 30 0D 0A 20 20 20 31 30 30 20 47 4F 53 mp=0.. 100 GOS
000130: 55 42 20 31 30 31 30 0D 0A 20 20 20 31 31 30 20 UB 1010.. 110
000140: 57 48 49 4C 45 20 6B 70 3C 3E 34 0D 0A 20 20 20 WHILE kp<>4..
000150: 31 32 30 20 47 4F 53 55 42 20 31 30 30 30 0D 0A 120 GOSUB 1000..
000160: 20 20 20 31 33 30 20 49 46 20 6B 70 3D 31 20 54 130 IF kp=1 T
000170: 48 45 4E 20 6F 75 72 6B 66 3D 6F 75 72 6B 66 20 HEN ourkf=ourkf
000180: 58 4F 52 20 32 5E 6D 70 3A 47 4F 53 55 42 20 31 XOR 2^mp:GOSUB 1
000190: 36 30 3A 46 4F 52 20 64 65 6C 61 79 3D 31 20 54 60:FOR delay=1 T
0001A0: 4F 20 31 30 30 3A 4E 45 58 54 0D 0A 20 20 20 31 O 100:NEXT.. 1
0001B0: 34 30 20 57 45 4E 44 0D 0A 20 20 20 31 35 30 20 40 WEND.. 150
0001C0: 47 4F 53 55 42 20 31 30 31 30 3A 4C 4F 43 41 54 GOSUB 1010:LOCAT
0001D0: 45 20 31 2C 31 30 3A 50 52 49 4E 54 22 54 68 65 E 1,10:PRINT"The
0001E0: 20 6B 66 20 76 61 6C 75 65 20 79 6F 75 20 6E 65 kf value you ne
0001F0: 65 64 20 69 73 22 6F 75 72 6B 66 3A 45 4E 44 0D ed is"ourkf:END.
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: 65 73 20 74 68 65 20 6D 65 6E 75 20 62 61 72 2E es the menu bar.
000010: 0D 0A 0D 0A 20 20 20 20 20 54 68 65 20 66 69 72 .... The fir
000020: 73 74 20 63 6F 6D 6D 61 6E 64 20 69 6E 73 69 64 st command insid
000030: 65 20 74 68 65 20 6C 6F 6F 70 2C 20 6F 6E 20 20 e the loop, on
000040: 6C 69 6E 65 20 31 30 30 33 2C 20 73 65 74 73 20 line 1003, sets
000050: 6D 7A 20 74 6F 20 7A 65 72 6F 20 61 67 61 69 6E mz to zero again
000060: 2C 0D 0A 20 20 20 6D 61 6B 69 6E 67 20 69 74 20 ,.. making it
000070: 66 61 6C 73 65 2E 20 20 54 68 65 20 6D 65 6E 75 false. The menu
000080: 20 62 61 72 20 74 68 65 6E 20 6D 6F 76 65 73 20 bar then moves
000090: 20 6F 6E 20 20 74 6F 20 74 68 65 20 6E 65 78 74 on to the next
0000A0: 20 6D 65 6E 75 20 69 74 65 6D 20 75 70 20 6F 72 menu item up or
0000B0: 0D 0A 20 20 20 64 6F 77 6E 2E 20 20 55 70 6F 6E .. down. Upon
0000C0: 20 72 65 61 63 68 69 6E 67 20 74 68 65 20 57 45 reaching the WE
0000D0: 4E 44 20 69 6E 20 6C 69 6E 65 20 20 31 30 30 34 ND in line 1004
0000E0: 2C 20 74 68 65 20 62 61 72 20 6D 6F 76 69 6E 67 , the bar moving
0000F0: 20 6C 6F 6F 70 20 77 69 6C 6C 20 6F 6E 6C 79 0D loop will only.
000100: 0A 20 20 20 65 78 65 63 75 74 65 20 61 67 61 69 . execute agai
000110: 6E 20 69 66 20 74 68 65 20 62 61 72 20 69 73 20 n if the bar is
000120: 20 6F 76 65 72 20 20 61 20 20 70 72 6F 68 69 62 over a prohib
000130: 69 74 65 64 20 6D 65 6E 75 20 6F 70 74 69 6F 6E ited menu option
000140: 2C 20 73 69 6E 63 65 20 6D 7A 20 68 61 73 0D 0A , since mz has..
000150: 20 20 20 62 65 65 6E 20 72 65 73 65 74 20 74 6F been reset to
000160: 20 74 68 65 20 66 61 6C 73 65 20 76 61 6C 75 65 the false value
000170: 20 6F 66 20 7A 65 72 6F 2E 0D 0A 0D 0A 20 20 20 of zero.....
000180: 20 20 57 68 79 20 64 69 64 20 77 65 20 6E 65 65 Why did we nee
000190: 64 20 61 6E 6F 74 68 65 72 20 76 61 72 69 61 62 d another variab
0001A0: 6C 65 20 20 74 68 6F 75 67 68 20 20 2D 20 20 63 le though - c
0001B0: 6F 75 6C 64 20 77 65 20 6E 6F 74 20 6A 75 73 74 ould we not just
0001C0: 20 68 61 76 65 20 75 73 65 64 0D 0A 20 20 20 6D have used.. m
0001D0: 64 3F 20 20 57 65 20 63 65 72 74 61 69 6E 6C 79 d? We certainly
0001E0: 20 6E 65 65 64 20 20 61 20 20 76 61 72 69 61 62 need a variab
0001F0: 6C 65 20 20 74 68 61 74 20 20 73 68 6F 77 73 20 le that shows
Size : 512 (Real : 512)
000000: 72 73 74 20 69 74 65 6D 20 6F 6E 0D 0A 20 20 20 rst item on..
000010: 74 68 65 20 6D 65 6E 75 2C 20 74 68 65 20 6E 65 the menu, the ne
000020: 78 74 20 64 69 67 69 74 20 61 6C 6F 6E 67 20 72 xt digit along r
000030: 65 66 65 72 73 20 74 6F 20 74 68 65 20 73 65 63 efers to the sec
000040: 6F 6E 64 20 69 74 65 6D 20 61 6E 64 20 73 6F 20 ond item and so
000050: 6F 6E 2E 0D 0A 0D 0A 20 20 20 46 6F 72 20 65 78 on..... For ex
000060: 61 6D 70 6C 65 2C 20 69 66 20 6D 66 20 77 61 73 ample, if mf was
000070: 20 38 20 28 31 30 30 30 20 20 69 6E 20 20 62 69 8 (1000 in bi
000080: 6E 61 72 79 29 2C 20 20 74 68 69 73 20 6D 65 61 nary), this mea
000090: 6E 73 20 74 68 61 74 20 74 68 65 20 31 73 74 2C ns that the 1st,
0000A0: 20 32 6E 64 0D 0A 20 20 20 61 6E 64 20 33 72 64 2nd.. and 3rd
0000B0: 20 69 74 65 6D 73 20 6F 6E 20 74 68 65 20 6D 65 items on the me
0000C0: 6E 75 20 20 63 61 6E 20 20 62 65 20 20 73 65 6C nu can be sel
0000D0: 65 63 74 65 64 2C 20 20 62 75 74 20 20 74 68 65 ected, but the
0000E0: 20 20 34 74 68 20 69 74 65 6D 20 69 73 20 74 6F 4th item is to
0000F0: 20 62 65 0D 0A 20 20 20 61 76 6F 69 64 65 64 2E be.. avoided.
000100: 20 20 49 66 20 6D 66 20 77 61 73 20 31 32 20 28 If mf was 12 (
000110: 31 31 30 30 20 20 69 6E 20 20 62 69 6E 61 72 79 1100 in binary
000120: 29 2C 20 20 74 68 65 6E 20 20 74 68 65 20 33 72 ), then the 3r
000130: 64 20 69 74 65 6D 20 6D 75 73 74 20 6E 6F 74 20 d item must not
000140: 62 65 0D 0A 20 20 20 73 65 6C 65 63 74 65 64 20 be.. selected
000150: 65 69 74 68 65 72 2E 0D 0A 0D 0A 20 20 20 54 68 either..... Th
000160: 65 20 70 6F 73 69 74 69 6F 6E 20 6F 66 20 74 68 e position of th
000170: 65 20 6D 65 6E 75 20 62 61 72 20 69 73 20 68 65 e menu bar is he
000180: 6C 64 20 69 6E 20 22 6D 70 22 2E 20 20 46 6F 72 ld in "mp". For
000190: 20 6D 6F 72 65 20 74 68 61 6E 20 6F 6E 65 20 72 more than one r
0001A0: 65 61 73 6F 6E 20 77 65 0D 0A 20 20 20 73 74 61 eason we.. sta
0001B0: 72 74 20 63 6F 75 6E 74 69 6E 67 20 66 72 6F 6D rt counting from
0001C0: 20 7A 65 72 6F 2C 20 73 6F 20 6D 70 20 20 69 73 zero, so mp is
0001D0: 20 20 7A 65 72 6F 20 20 77 68 65 6E 20 20 74 68 zero when th
0001E0: 65 20 20 6D 65 6E 75 20 62 61 72 20 69 73 20 6F e menu bar is o
0001F0: 76 65 72 20 74 68 65 0D 0A 20 20 20 66 69 72 73 ver the.. firs
Size : 512 (Real : 512)
000000: 20 20 74 6F 20 20 69 6E 64 69 63 61 74 65 20 20 to indicate
000010: 77 68 69 63 68 20 20 64 69 72 65 63 74 69 6F 6E which direction
000020: 20 74 68 65 20 6D 65 6E 75 20 62 61 72 0D 0A 20 the menu bar..
000030: 20 20 73 68 6F 75 6C 64 20 6D 6F 76 65 2C 20 75 should move, u
000040: 73 69 6E 67 20 6D 75 63 68 20 74 68 65 20 73 61 sing much the sa
000050: 6D 65 20 20 74 65 63 68 6E 69 71 75 65 20 20 61 me technique a
000060: 73 20 69 6E 20 74 68 65 20 64 69 73 63 20 6D 65 s in the disc me
000070: 6E 75 20 70 72 6F 67 72 61 6D 6D 65 0D 0A 20 20 nu programme..
000080: 20 77 65 20 66 65 61 74 75 72 65 64 20 69 6E 20 we featured in
000090: 69 73 73 75 65 20 31 31 30 2E 20 20 49 6E 20 74 issue 110. In t
0000A0: 68 65 20 6E 65 78 74 20 6C 69 6E 65 20 74 68 65 he next line the
0000B0: 20 6F 74 68 65 72 20 6B 65 79 73 2C 20 22 6C 65 other keys, "le
0000C0: 22 2C 20 22 72 69 22 20 61 6E 64 0D 0A 20 20 20 ", "ri" and..
0000D0: 22 66 69 22 20 61 72 65 20 63 68 65 63 6B 65 64 "fi" are checked
0000E0: 2E 20 20 54 68 65 20 76 61 6C 75 65 20 20 6F 66 . The value of
0000F0: 20 20 22 6B 70 22 20 20 69 73 20 20 73 65 74 20 "kp" is set
000100: 61 63 63 6F 72 64 69 6E 67 20 74 6F 20 77 68 65 according to whe
000110: 74 68 65 72 20 74 68 6F 73 65 0D 0A 20 20 20 6B ther those.. k
000120: 65 79 73 20 61 72 65 20 70 72 65 73 73 65 64 20 eys are pressed
000130: 6F 72 20 6E 6F 74 2C 20 61 73 20 77 65 20 20 65 or not, as we e
000140: 78 70 6C 61 69 6E 65 64 20 6C 61 73 74 20 6D 6F xplained last mo
000150: 6E 74 68 2E 20 20 53 65 74 74 69 6E 67 20 61 73 nth. Setting as
000160: 69 64 65 20 6C 69 6E 65 73 0D 0A 20 20 20 31 30 ide lines.. 10
000170: 30 32 20 74 6F 20 31 30 30 34 2C 20 77 68 69 63 02 to 1004, whic
000180: 68 20 64 6F 20 74 68 65 20 6D 6F 76 69 6E 67 20 h do the moving
000190: 6F 66 20 74 68 65 20 6D 65 6E 75 20 62 61 72 2C of the menu bar,
0001A0: 20 74 68 61 74 20 69 73 20 61 6C 6C 20 74 68 65 that is all the
0001B0: 72 65 20 69 73 20 74 6F 0D 0A 20 20 20 69 74 2E re is to.. it.
0001C0: 0D 0A 0D 0A 20 20 20 54 68 65 20 6D 61 69 6E 20 .... The main
0001D0: 6C 6F 6F 70 20 6B 65 65 70 73 20 67 6F 69 6E 67 loop keeps going
0001E0: 20 77 68 69 6C 65 0D 0A 0D 0A 20 20 20 20 20 20 while....
0001F0: 20 20 20 20 20 28 6B 70 20 41 4E 44 20 6B 66 29 (kp AND kf)
Size : 512 (Real : 512)
000000: 74 20 69 74 65 6D 20 6F 6E 20 74 68 65 20 6D 65 t item on the me
000010: 6E 75 2C 20 6F 6E 65 20 77 68 65 6E 20 69 74 20 nu, one when it
000020: 69 73 20 6F 76 65 72 20 74 68 65 20 73 65 63 6F is over the seco
000030: 6E 64 20 69 74 65 6D 20 61 6E 64 20 73 6F 20 6F nd item and so o
000040: 6E 2E 0D 0A 0D 0A 20 20 20 54 68 65 20 65 78 70 n..... The exp
000050: 72 65 73 73 69 6F 6E 0D 0A 0D 0A 20 20 20 20 20 ression....
000060: 20 20 20 20 20 20 28 32 5E 6D 70 20 41 4E 44 20 (2^mp AND
000070: 6D 66 29 3E 30 0D 0A 0D 0A 20 20 20 69 6E 20 6C mf)>0.... in l
000080: 69 6E 65 20 31 30 30 32 20 69 73 20 64 65 73 69 ine 1002 is desi
000090: 67 6E 65 64 20 74 6F 20 74 65 73 74 20 77 68 65 gned to test whe
0000A0: 74 68 65 72 20 74 68 65 20 6D 65 6E 75 20 62 61 ther the menu ba
0000B0: 72 20 69 73 20 6F 76 65 72 20 61 20 70 72 6F 68 r is over a proh
0000C0: 69 62 69 74 65 64 0D 0A 20 20 20 69 74 65 6D 2E ibited.. item.
0000D0: 20 20 28 54 68 65 20 5E 20 73 79 6D 62 6F 6C 20 (The ^ symbol
0000E0: 69 73 20 74 68 65 20 73 61 6D 65 20 20 61 73 20 is the same as
0000F0: 20 74 68 65 20 20 75 70 20 61 72 72 6F 77 20 74 the up arrow t
000100: 68 61 74 20 73 68 61 72 65 73 20 61 20 6B 65 79 hat shares a key
000110: 20 77 69 74 68 0D 0A 20 20 20 74 68 65 20 70 6F with.. the po
000120: 75 6E 64 20 73 69 67 6E 20 6F 6E 20 79 6F 75 72 und sign on your
000130: 20 43 50 43 29 2E 20 20 54 72 79 20 6F 75 74 20 CPC). Try out
000140: 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 6F 6E the following on
000150: 20 79 6F 75 72 20 63 6F 6D 70 75 74 65 72 3A 0D your computer:.
000160: 0A 0D 0A 20 20 20 20 20 46 4F 52 20 6D 70 3D 30 ... FOR mp=0
000170: 20 54 4F 20 36 3A 50 52 49 4E 54 20 42 49 4E 24 TO 6:PRINT BIN$
000180: 28 32 5E 6D 70 29 3A 4E 45 58 54 0D 0A 0D 0A 20 (2^mp):NEXT....
000190: 20 20 54 68 69 73 20 70 72 69 6E 74 73 20 75 70 This prints up
0001A0: 20 32 5E 6D 70 20 69 6E 20 62 69 6E 61 72 79 2C 2^mp in binary,
0001B0: 20 61 6E 64 20 79 6F 75 20 77 69 6C 6C 20 20 73 and you will s
0001C0: 65 65 20 74 68 61 74 20 61 73 20 6D 70 20 67 6F ee that as mp go
0001D0: 65 73 20 66 72 6F 6D 20 30 20 74 6F 0D 0A 20 20 es from 0 to..
0001E0: 20 36 2C 20 74 68 65 20 62 69 6E 61 72 79 20 66 6, the binary f
0001F0: 6F 72 6D 20 6F 66 20 32 5E 6D 70 20 67 6F 65 73 orm of 2^mp goes
Size : 512 (Real : 512)
000000: 3D 30 0D 0A 0D 0A 20 20 20 54 68 69 73 20 70 72 =0.... This pr
000010: 6F 76 69 64 65 73 20 74 68 65 20 6D 65 63 68 61 ovides the mecha
000020: 6E 69 73 6D 20 74 6F 20 69 67 6E 6F 72 65 20 63 nism to ignore c
000030: 65 72 74 61 69 6E 20 6B 65 79 73 2E 20 20 49 66 ertain keys. If
000040: 20 6B 66 20 69 73 20 73 65 74 20 74 6F 20 34 20 kf is set to 4
000050: 28 6F 72 0D 0A 20 20 20 31 30 30 20 69 6E 20 62 (or.. 100 in b
000060: 69 6E 61 72 79 29 2C 20 74 68 65 6E 20 6F 6E 6C inary), then onl
000070: 79 20 74 68 65 20 22 66 69 22 20 20 6B 65 79 20 y the "fi" key
000080: 20 77 69 6C 6C 20 63 61 75 73 65 20 74 68 65 20 will cause the
000090: 73 75 62 72 6F 75 74 69 6E 65 20 74 6F 20 65 6E subroutine to en
0000A0: 64 2E 0D 0A 20 20 20 54 68 65 20 62 69 74 73 20 d... The bits
0000B0: 6F 66 20 6B 70 20 61 72 65 20 73 65 74 20 69 6E of kp are set in
0000C0: 20 20 6C 69 6E 65 20 20 31 30 30 36 20 61 63 63 line 1006 acc
0000D0: 6F 72 64 69 6E 67 20 74 6F 20 77 68 69 63 68 20 ording to which
0000E0: 6B 65 79 73 20 61 72 65 20 70 72 65 73 73 65 64 keys are pressed
0000F0: 2E 0D 0A 20 20 20 53 75 70 70 6F 73 65 20 74 68 ... Suppose th
000100: 65 20 22 6C 65 22 20 61 6E 64 20 22 72 69 22 20 e "le" and "ri"
000110: 20 6B 65 79 73 20 20 77 65 72 65 20 20 70 72 65 keys were pre
000120: 73 73 65 64 3B 20 20 6B 70 20 20 77 6F 75 6C 64 ssed; kp would
000130: 20 20 62 65 20 33 2C 20 6F 72 20 31 31 20 69 6E be 3, or 11 in
000140: 0D 0A 20 20 20 62 69 6E 61 72 79 2E 0D 0A 0D 0A .. binary.....
000150: 20 20 20 20 20 20 20 20 20 20 20 30 31 31 20 20 011
000160: 20 20 6B 70 0D 0A 20 20 20 20 20 20 20 20 20 20 kp..
000170: 20 31 30 30 20 20 20 20 6B 66 0D 0A 20 20 20 20 100 kf..
000180: 20 20 20 20 20 20 20 2D 2D 2D 0D 0A 20 20 20 20 ---..
000190: 20 20 20 20 20 20 20 30 30 30 20 20 20 20 6B 70 000 kp
0001A0: 20 41 4E 44 20 6B 66 0D 0A 0D 0A 20 20 20 54 68 AND kf.... Th
0001B0: 65 20 70 72 65 73 73 69 6E 67 20 6F 66 20 74 68 e pressing of th
0001C0: 65 20 22 6C 65 22 20 61 6E 64 20 22 72 69 22 20 e "le" and "ri"
0001D0: 6B 65 79 73 20 69 73 20 6D 61 73 6B 65 64 20 6F keys is masked o
0001E0: 75 74 20 62 79 20 74 68 65 20 6B 65 79 20 66 6C ut by the key fl
0001F0: 61 67 73 2C 20 6B 66 2C 0D 0A 20 20 20 67 69 76 ags, kf,.. giv
Size : 512 (Real : 512)
000000: 20 66 72 6F 6D 20 20 31 20 20 74 6F 20 31 30 2C from 1 to 10,
000010: 20 31 30 30 2C 20 31 30 30 30 20 61 6E 64 20 73 100, 1000 and s
000020: 6F 20 6F 6E 2E 20 20 57 68 65 6E 0D 0A 20 20 20 o on. When..
000030: 74 68 69 73 20 76 61 6C 75 65 20 69 73 20 41 4E this value is AN
000040: 44 65 64 20 77 69 74 68 20 6D 66 2C 20 69 74 20 Ded with mf, it
000050: 20 68 61 73 20 20 74 68 65 20 65 66 66 65 63 74 has the effect
000060: 20 6F 66 20 70 69 63 6B 69 6E 67 20 6F 75 74 20 of picking out
000070: 74 68 65 20 62 69 6E 61 72 79 0D 0A 20 20 20 64 the binary.. d
000080: 69 67 69 74 20 6F 66 20 6D 66 20 61 70 70 72 6F igit of mf appro
000090: 70 72 69 61 74 65 20 74 6F 20 74 68 61 74 20 6D priate to that m
0000A0: 65 6E 75 20 70 6F 73 69 74 69 6F 6E 20 61 6E 64 enu position and
0000B0: 20 69 67 6E 6F 72 69 6E 67 20 61 6C 6C 20 74 68 ignoring all th
0000C0: 65 20 6F 74 68 65 72 73 2E 0D 0A 20 20 20 54 68 e others... Th
0000D0: 75 73 20 22 32 5E 6D 70 20 41 4E 44 20 6D 66 22 us "2^mp AND mf"
0000E0: 20 69 73 20 7A 65 72 6F 20 77 68 65 6E 20 77 65 is zero when we
0000F0: 20 61 72 65 20 61 6C 6C 6F 77 65 64 20 74 6F 20 are allowed to
000100: 73 74 6F 70 20 6F 6E 20 61 20 6D 65 6E 75 20 70 stop on a menu p
000110: 6F 73 69 74 69 6F 6E 2C 0D 0A 20 20 20 61 6E 64 osition,.. and
000120: 20 67 72 65 61 74 65 72 20 74 68 61 6E 20 7A 65 greater than ze
000130: 72 6F 20 77 68 65 6E 20 77 65 20 6E 65 65 64 20 ro when we need
000140: 74 6F 20 72 6F 6C 6C 20 6F 76 65 72 20 69 74 2E to roll over it.
000150: 0D 0A 0D 0A 20 20 20 20 20 49 66 20 79 6F 75 20 .... If you
000160: 6C 6F 6F 6B 20 61 74 20 6C 69 6E 65 20 31 30 30 look at line 100
000170: 32 20 74 68 6F 75 67 68 2C 20 20 79 6F 75 20 20 2 though, you
000180: 77 69 6C 6C 20 73 65 65 20 74 68 61 74 20 74 68 will see that th
000190: 65 20 57 48 49 4C 45 20 73 74 61 74 65 6D 65 6E e WHILE statemen
0001A0: 74 0D 0A 20 20 20 69 73 20 61 20 6C 69 74 74 6C t.. is a littl
0001B0: 65 20 6D 6F 72 65 20 63 6F 6D 70 6C 69 63 61 74 e more complicat
0001C0: 65 64 2E 20 20 54 68 65 20 20 62 69 74 20 20 77 ed. The bit w
0001D0: 65 20 20 68 61 76 65 20 6A 75 73 74 20 6C 6F 6F e have just loo
0001E0: 6B 65 64 20 61 74 20 6B 65 65 70 73 20 74 68 65 ked at keeps the
0001F0: 0D 0A 20 20 20 6C 6F 6F 70 20 67 6F 69 6E 67 20 .. loop going
Size : 512 (Real : 512)
000000: 69 6E 67 20 61 20 72 65 73 75 6C 74 20 6F 66 20 ing a result of
000010: 7A 65 72 6F 2E 20 20 49 74 20 69 73 20 65 61 73 zero. It is eas
000020: 79 20 20 74 6F 20 20 73 65 65 20 74 68 61 74 20 y to see that
000030: 74 68 65 20 6C 6F 6F 70 20 77 69 6C 6C 20 6F 6E the loop will on
000040: 6C 79 20 63 6F 6D 65 0D 0A 20 20 20 74 6F 20 61 ly come.. to a
000050: 6E 20 65 6E 64 20 77 68 65 6E 20 74 68 65 20 22 n end when the "
000060: 66 69 22 20 6B 65 79 20 69 73 20 70 72 65 73 73 fi" key is press
000070: 65 64 2E 0D 0A 0D 0A 20 20 20 20 20 4D 61 73 6B ed..... Mask
000080: 69 6E 67 20 6F 75 74 20 62 69 74 2D 73 69 67 6E ing out bit-sign
000090: 69 66 69 63 61 6E 74 20 76 61 6C 75 65 73 20 20 ificant values
0000A0: 75 73 69 6E 67 20 20 74 68 65 20 20 41 4E 44 20 using the AND
0000B0: 20 6F 70 65 72 61 74 6F 72 20 20 69 73 20 61 20 operator is a
0000C0: 76 65 72 79 0D 0A 20 20 20 69 6D 70 6F 72 74 61 very.. importa
0000D0: 6E 74 20 74 65 63 68 6E 69 71 75 65 2C 20 65 73 nt technique, es
0000E0: 70 65 63 69 61 6C 6C 79 20 69 66 20 79 6F 75 20 pecially if you
0000F0: 61 72 65 20 74 72 79 69 6E 67 20 74 6F 20 73 71 are trying to sq
000100: 75 65 65 7A 65 20 6C 61 72 67 65 20 61 6D 6F 75 ueeze large amou
000110: 6E 74 73 0D 0A 20 20 20 6F 66 20 69 6E 66 6F 72 nts.. of infor
000120: 6D 61 74 69 6F 6E 20 69 6E 74 6F 20 6D 65 6D 6F mation into memo
000130: 72 79 20 65 66 66 69 63 69 65 6E 74 6C 79 2E 0D ry efficiently..
000140: 0A 0D 0A 20 20 20 50 55 42 20 43 52 41 57 4C 0D ... PUB CRAWL.
000150: 0A 20 20 20 54 68 65 20 73 6D 61 6C 6C 65 72 20 . The smaller
000160: 6C 6F 6F 70 20 69 6E 20 6C 69 6E 65 73 20 31 30 loop in lines 10
000170: 30 32 20 74 6F 20 31 30 30 34 20 20 6D 61 6B 65 02 to 1004 make
000180: 73 20 73 75 72 65 20 74 68 61 74 20 74 68 65 20 s sure that the
000190: 6D 65 6E 75 20 62 61 72 20 6D 6F 76 65 73 0D 0A menu bar moves..
0001A0: 20 20 20 77 68 65 6E 20 74 68 65 20 75 73 65 72 when the user
0001B0: 20 70 72 65 73 73 65 73 20 74 68 65 20 22 75 70 presses the "up
0001C0: 22 20 6F 72 20 22 64 6F 77 22 20 6B 65 79 73 2C " or "dow" keys,
0001D0: 20 61 6E 64 20 6B 65 65 70 73 20 6F 6E 20 6D 6F and keeps on mo
0001E0: 76 69 6E 67 20 74 68 65 20 6D 65 6E 75 0D 0A 20 ving the menu..
0001F0: 20 20 62 61 72 20 69 6E 20 74 68 65 20 73 61 6D bar in the sam
Size : 512 (Real : 512)
000000: 75 6E 74 69 6C 20 77 65 20 61 72 65 20 6F 76 65 until we are ove
000010: 72 20 61 20 20 6D 65 6E 75 20 20 69 74 65 6D 20 r a menu item
000020: 74 68 61 74 20 69 73 20 73 65 6C 65 63 74 61 62 that is selectab
000030: 6C 65 2C 20 62 75 74 20 77 65 20 6E 65 65 64 0D le, but we need.
000040: 0A 20 20 20 61 6E 6F 74 68 65 72 20 70 61 72 74 . another part
000050: 20 74 6F 20 67 65 74 20 74 68 65 20 6D 65 6E 75 to get the menu
000060: 20 62 61 72 20 6D 6F 76 69 6E 67 20 20 69 6E 20 bar moving in
000070: 74 68 65 20 66 69 72 73 74 20 70 6C 61 63 65 2E the first place.
000080: 20 20 4C 69 6E 65 20 31 30 30 35 20 69 73 0D 0A Line 1005 is..
000090: 20 20 20 77 68 65 72 65 20 74 68 65 20 75 70 20 where the up
0000A0: 61 6E 64 20 64 6F 77 6E 20 6B 65 79 73 20 61 72 and down keys ar
0000B0: 65 20 20 63 68 65 63 6B 65 64 2E 20 20 54 68 65 e checked. The
0000C0: 20 6D 64 20 76 61 72 69 61 62 6C 65 20 69 73 20 md variable is
0000D0: 73 65 74 20 61 63 63 6F 72 64 69 6E 67 0D 0A 20 set according..
0000E0: 20 20 74 6F 20 74 68 65 20 64 69 72 65 63 74 69 to the directi
0000F0: 6F 6E 2C 20 61 6E 64 20 74 68 65 6E 20 6D 7A 20 on, and then mz
000100: 69 73 20 70 75 74 20 65 71 75 61 6C 20 20 74 6F is put equal to
000110: 20 6D 64 2E 20 20 49 66 20 75 70 20 6F 72 20 64 md. If up or d
000120: 6F 77 6E 20 68 61 73 20 62 65 65 6E 0D 0A 20 20 own has been..
000130: 20 70 72 65 73 73 65 64 2C 20 6D 64 20 61 6E 64 pressed, md and
000140: 20 6D 7A 20 77 69 6C 6C 20 62 65 20 31 20 20 6F mz will be 1 o
000150: 72 20 20 2D 31 2C 20 20 73 6F 20 20 6D 7A 20 77 r -1, so mz w
000160: 69 6C 6C 20 62 65 20 74 72 75 65 2E 20 20 57 68 ill be true. Wh
000170: 65 6E 20 74 68 65 20 6D 61 69 6E 0D 0A 20 20 20 en the main..
000180: 6C 6F 6F 70 20 67 65 74 73 20 62 61 63 6B 20 74 loop gets back t
000190: 6F 20 6C 69 6E 65 20 31 30 30 32 20 74 68 69 73 o line 1002 this
0001A0: 20 6D 65 61 6E 73 20 74 68 61 74 20 74 68 65 20 means that the
0001B0: 57 48 49 4C 45 20 63 6F 6E 64 69 74 69 6F 6E 20 WHILE condition
0001C0: 74 68 65 72 65 20 77 69 6C 6C 0D 0A 20 20 20 62 there will.. b
0001D0: 65 20 74 72 75 65 2C 20 61 6E 64 20 42 41 53 49 e true, and BASI
0001E0: 43 20 77 69 6C 6C 20 65 78 65 63 75 74 65 20 74 C will execute t
0001F0: 68 65 20 6C 6F 6F 70 20 74 68 61 74 20 6D 6F 76 he loop that mov
Size : 512 (Real : 512)
000000: 65 20 64 69 72 65 63 74 69 6F 6E 20 20 6F 76 65 e direction ove
000010: 72 20 20 61 6E 79 20 20 6D 61 73 6B 65 64 20 20 r any masked
000020: 6F 75 74 20 20 6D 65 6E 75 20 65 6E 74 72 69 65 out menu entrie
000030: 73 2E 20 20 59 6F 75 20 77 69 6C 6C 0D 0A 20 20 s. You will..
000040: 20 72 65 6D 65 6D 62 65 72 20 74 68 65 20 65 78 remember the ex
000050: 61 6D 70 6C 65 20 6C 61 73 74 20 6D 6F 6E 74 68 ample last month
000060: 20 66 6F 72 20 20 6F 72 64 65 72 69 6E 67 20 57 for ordering W
000070: 41 43 43 49 20 62 61 63 6B 20 69 73 73 75 65 73 ACCI back issues
000080: 2C 20 77 68 65 72 65 20 74 68 65 0D 0A 20 20 20 , where the..
000090: 6D 65 6E 75 20 62 61 72 20 64 69 64 20 6E 6F 74 menu bar did not
0000A0: 20 73 74 6F 70 20 6F 76 65 72 20 74 68 65 20 69 stop over the i
0000B0: 73 73 75 65 73 20 74 68 61 74 20 77 65 72 65 20 ssues that were
0000C0: 6F 75 74 20 6F 66 20 73 74 6F 63 6B 2E 0D 0A 0D out of stock....
0000D0: 0A 20 20 20 54 68 65 20 69 6E 66 6F 72 6D 61 74 . The informat
0000E0: 69 6F 6E 20 61 73 20 74 6F 20 77 68 69 63 68 20 ion as to which
0000F0: 6D 65 6E 75 20 69 74 65 6D 73 20 20 61 72 65 20 menu items are
000100: 20 6F 75 74 20 20 6F 66 20 62 6F 75 6E 64 73 20 out of bounds
000110: 69 73 20 68 65 6C 64 20 69 6E 20 74 68 65 0D 0A is held in the..
000120: 20 20 20 70 61 72 61 6D 65 74 65 72 20 22 6D 66 parameter "mf
000130: 22 2E 20 20 54 68 69 73 20 69 73 20 61 6C 73 6F ". This is also
000140: 20 61 20 20 22 62 69 74 20 20 73 69 67 6E 69 66 a "bit signif
000150: 69 63 61 6E 74 22 20 76 61 6C 75 65 2C 20 77 68 icant" value, wh
000160: 69 63 68 20 6D 65 61 6E 73 20 79 6F 75 0D 0A 20 ich means you..
000170: 20 20 68 61 76 65 20 74 6F 20 6C 6F 6F 6B 20 61 have to look a
000180: 74 20 69 74 20 69 6E 20 62 69 6E 61 72 79 20 74 t it in binary t
000190: 6F 20 20 6D 61 6B 65 20 20 61 6E 79 20 20 73 65 o make any se
0001A0: 6E 73 65 20 6F 66 20 69 74 2E 20 20 54 68 65 20 nse of it. The
0001B0: 76 61 6C 75 65 20 6F 66 20 74 68 65 0D 0A 20 20 value of the..
0001C0: 20 6C 65 61 73 74 20 73 69 67 6E 69 66 69 63 61 least significa
0001D0: 6E 74 20 62 69 74 20 28 74 68 65 20 6F 6E 65 20 nt bit (the one
0001E0: 6F 6E 20 74 68 65 20 20 72 69 67 68 74 29 20 20 on the right)
0001F0: 72 65 66 65 72 73 20 74 6F 20 74 68 65 20 66 69 refers to the fi
Size : 512 (Real : 512)
000000: 0A 20 20 20 57 65 20 75 73 65 20 74 68 65 20 75 . We use the u
000010: 73 65 66 75 6C 20 4D 4F 44 20 6F 70 65 72 61 74 seful MOD operat
000020: 6F 72 20 69 6E 20 20 6F 72 64 65 72 20 20 74 6F or in order to
000030: 20 6D 61 6B 65 20 74 68 65 20 6D 65 6E 75 20 62 make the menu b
000040: 61 72 20 6C 6F 6F 70 20 72 6F 75 6E 64 2E 0D 0A ar loop round...
000050: 20 20 20 57 68 65 6E 20 79 6F 75 20 67 65 74 20 When you get
000060: 74 6F 20 74 68 65 20 62 6F 74 74 6F 6D 20 6F 66 to the bottom of
000070: 20 20 74 68 65 20 20 6D 65 6E 75 2C 20 20 70 72 the menu, pr
000080: 65 73 73 69 6E 67 20 74 68 65 20 64 6F 77 6E 20 essing the down
000090: 6B 65 79 20 77 69 6C 6C 20 74 61 6B 65 0D 0A 20 key will take..
0000A0: 20 20 74 68 65 20 6D 65 6E 75 20 62 61 72 20 72 the menu bar r
0000B0: 69 67 68 74 20 74 6F 20 74 68 65 20 74 6F 70 20 ight to the top
0000C0: 6F 66 20 74 68 65 20 6D 65 6E 75 20 61 67 61 69 of the menu agai
0000D0: 6E 2C 20 61 6E 64 20 76 69 63 65 20 76 65 72 73 n, and vice vers
0000E0: 61 2E 0D 0A 0D 0A 20 20 20 20 20 4F 6E 65 20 77 a..... One w
0000F0: 61 79 20 6F 66 20 77 72 69 74 69 6E 67 20 74 68 ay of writing th
000100: 69 73 20 77 6F 75 6C 64 20 62 65 20 73 6F 6D 65 is would be some
000110: 74 68 69 6E 67 20 6C 69 6B 65 20 74 68 65 20 66 thing like the f
000120: 6F 6C 6C 6F 77 69 6E 67 3A 0D 0A 0D 0A 20 20 20 ollowing:....
000130: 20 20 6D 70 3D 6D 70 2B 6D 64 0D 0A 20 20 20 20 mp=mp+md..
000140: 20 49 46 20 6D 70 3D 6D 63 68 20 54 48 45 4E 20 IF mp=mch THEN
000150: 6D 70 3D 30 0D 0A 20 20 20 20 20 49 46 20 6D 70 mp=0.. IF mp
000160: 3D 2D 31 20 54 48 45 4E 20 6D 70 3D 6D 63 68 2D =-1 THEN mp=mch-
000170: 31 0D 0A 0D 0A 20 20 20 62 75 74 20 75 73 69 6E 1.... but usin
000180: 67 20 74 68 65 20 4D 4F 44 20 6F 70 65 72 61 74 g the MOD operat
000190: 6F 72 20 77 65 20 68 61 76 65 20 6D 61 6E 61 67 or we have manag
0001A0: 65 64 20 74 6F 20 63 6F 6E 64 65 6E 73 65 20 69 ed to condense i
0001B0: 74 20 74 6F 3A 0D 0A 0D 0A 20 20 20 20 20 6D 70 t to:.... mp
0001C0: 3D 28 6D 70 2B 6D 63 68 2B 6D 64 29 20 4D 4F 44 =(mp+mch+md) MOD
0001D0: 20 6D 63 68 0D 0A 0D 0A 20 20 20 48 6F 77 20 64 mch.... How d
0001E0: 6F 65 73 20 74 68 69 73 20 77 6F 72 6B 3F 20 20 oes this work?
0001F0: 49 66 20 79 6F 75 20 6C 6F 6F 6B 20 20 75 70 20 If you look up
Size : 512 (Real : 512)
000000: 68 20 20 20 20 20 20 20 20 20 20 20 4E 75 6D 62 h Numb
000010: 65 72 20 6F 66 20 63 68 6F 69 63 65 73 20 6F 6E er of choices on
000020: 20 74 68 65 20 6D 65 6E 75 0D 0A 20 20 20 6D 70 the menu.. mp
000030: 20 20 20 20 20 20 20 20 20 20 20 20 4D 65 6E 75 Menu
000040: 20 62 61 72 20 70 6F 73 69 74 69 6F 6E 20 28 7A bar position (z
000050: 65 72 6F 20 66 6F 72 20 66 69 72 73 74 20 69 74 ero for first it
000060: 65 6D 20 6F 6E 20 6D 65 6E 75 29 0D 0A 20 20 20 em on menu)..
000070: 6D 66 20 20 20 20 20 20 20 20 20 20 20 20 4D 65 mf Me
000080: 6E 75 20 66 6C 61 67 73 20 28 73 65 65 20 6C 61 nu flags (see la
000090: 73 74 20 6D 6F 6E 74 68 29 0D 0A 20 20 20 6D 64 st month).. md
0000A0: 65 20 20 20 20 20 20 20 20 20 20 20 4D 65 6E 75 e Menu
0000B0: 20 64 65 6C 61 79 0D 0A 20 20 20 6D 63 6F 6C 20 delay.. mcol
0000C0: 20 20 20 20 20 20 20 20 20 50 65 6E 20 74 6F 20 Pen to
0000D0: 75 73 65 20 66 6F 72 20 74 68 65 20 6D 65 6E 75 use for the menu
0000E0: 20 62 61 72 0D 0A 20 20 20 6D 73 70 20 20 20 20 bar.. msp
0000F0: 20 20 20 20 20 20 20 56 65 72 74 69 63 61 6C 20 Vertical
000100: 73 70 61 63 69 6E 67 20 6F 66 20 6D 65 6E 75 20 spacing of menu
000110: 69 74 65 6D 73 20 69 6E 20 67 72 61 70 68 69 63 items in graphic
000120: 73 20 63 6F 6F 72 64 69 6E 61 74 65 73 0D 0A 20 s coordinates..
000130: 20 20 6D 78 2C 20 6D 79 20 20 20 20 20 20 20 20 mx, my
000140: 47 72 61 70 68 69 63 73 20 63 6F 6F 72 64 69 6E Graphics coordin
000150: 61 74 65 73 20 6F 66 20 74 6F 70 20 6C 65 66 74 ates of top left
000160: 20 6F 66 20 6D 65 6E 75 0D 0A 20 20 20 6D 62 68 of menu.. mbh
000170: 20 20 20 20 20 20 20 20 20 20 20 4D 65 6E 75 20 Menu
000180: 62 61 72 20 68 65 69 67 68 74 20 69 6E 20 67 72 bar height in gr
000190: 61 70 68 69 63 73 20 63 6F 6F 72 64 69 6E 61 74 aphics coordinat
0001A0: 65 73 0D 0A 20 20 20 6D 62 6C 20 20 20 20 20 20 es.. mbl
0001B0: 20 20 20 20 20 4D 65 6E 75 20 62 61 72 20 6C 65 Menu bar le
0001C0: 6E 67 74 68 20 69 6E 20 67 72 61 70 68 69 63 73 ngth in graphics
0001D0: 20 63 6F 6F 72 64 69 6E 61 74 65 73 0D 0A 20 20 coordinates..
0001E0: 20 75 70 2C 20 64 6F 77 20 20 20 20 20 20 20 49 up, dow I
0001F0: 4E 4B 45 59 20 6E 75 6D 62 65 72 73 20 6F 66 20 NKEY numbers of
Size : 512 (Real : 512)
000000: 20 4D 4F 44 20 20 69 6E 20 79 6F 75 72 20 6D 61 MOD in your ma
000010: 6E 75 61 6C 20 28 64 6F 6E 27 74 20 62 6F 74 68 nual (don't both
000020: 65 72 20 69 66 0D 0A 20 20 20 79 6F 75 20 68 61 er if.. you ha
000030: 76 65 20 61 6E 20 6F 72 69 67 69 6E 61 6C 20 43 ve an original C
000040: 50 43 20 34 36 34 20 6D 61 6E 75 61 6C 20 2D 20 PC 464 manual -
000050: 20 74 68 65 79 20 66 6F 72 67 6F 74 20 74 6F 20 they forgot to
000060: 70 75 74 20 69 74 20 69 6E 29 2C 20 79 6F 75 20 put it in), you
000070: 77 69 6C 6C 0D 0A 20 20 20 66 69 6E 64 20 69 74 will.. find it
000080: 20 64 65 73 63 72 69 62 65 64 20 61 73 20 20 72 described as r
000090: 65 74 75 72 6E 69 6E 67 20 20 74 68 65 20 20 72 eturning the r
0000A0: 65 6D 61 69 6E 64 65 72 20 20 61 66 74 65 72 20 emainder after
0000B0: 20 64 69 76 69 64 69 6E 67 20 74 68 65 20 66 69 dividing the fi
0000C0: 72 73 74 0D 0A 20 20 20 61 72 67 75 6D 65 6E 74 rst.. argument
0000D0: 20 62 79 20 74 68 65 20 73 65 63 6F 6E 64 20 61 by the second a
0000E0: 72 67 75 6D 65 6E 74 2E 20 20 49 6E 20 20 6F 75 rgument. In ou
0000F0: 72 20 20 63 61 73 65 20 20 69 74 20 69 73 20 74 r case it is t
000100: 68 65 20 72 65 6D 61 69 6E 64 65 72 20 61 66 74 he remainder aft
000110: 65 72 0D 0A 20 20 20 64 69 76 69 64 69 6E 67 20 er.. dividing
000120: 6D 70 2B 6D 63 68 2B 6D 64 20 62 79 20 6D 63 68 mp+mch+md by mch
000130: 2E 20 20 41 6E 6F 74 68 65 72 20 77 61 79 20 74 . Another way t
000140: 6F 20 20 74 68 69 6E 6B 20 20 6F 66 20 69 74 20 o think of it
000150: 69 73 20 74 68 61 74 20 4D 4F 44 20 6B 65 65 70 is that MOD keep
000160: 73 0D 0A 20 20 20 6F 6E 20 73 75 62 74 72 61 63 s.. on subtrac
000170: 74 69 6E 67 20 6D 63 68 20 66 72 6F 6D 20 6D 70 ting mch from mp
000180: 2B 6D 63 68 2B 6D 64 20 75 6E 74 69 6C 20 69 74 +mch+md until it
000190: 20 67 65 74 73 20 61 20 72 65 73 75 6C 74 20 66 gets a result f
0001A0: 72 6F 6D 20 30 20 74 6F 20 6D 63 68 2D 31 2E 0D rom 0 to mch-1..
0001B0: 0A 0D 0A 20 20 20 20 20 53 75 70 70 6F 73 65 20 ... Suppose
0001C0: 74 68 61 74 20 6D 63 68 20 69 73 20 36 2C 20 6D that mch is 6, m
0001D0: 65 61 6E 69 6E 67 20 73 69 78 20 6D 65 6E 75 20 eaning six menu
0001E0: 20 69 74 65 6D 73 20 6E 75 6D 62 65 72 65 64 20 items numbered
0001F0: 66 72 6F 6D 20 30 20 74 6F 20 35 2E 20 20 49 66 from 0 to 5. If
Size : 512 (Real : 512)
000000: 74 68 65 20 75 70 20 61 6E 64 20 64 6F 77 6E 20 the up and down
000010: 6B 65 79 73 0D 0A 20 20 20 6C 65 2C 20 72 69 2C keys.. le, ri,
000020: 20 66 69 20 20 20 20 49 4E 4B 45 59 20 6E 75 6D fi INKEY num
000030: 62 65 72 73 20 6F 66 20 6F 74 68 65 72 20 6B 65 bers of other ke
000040: 79 73 20 74 68 61 74 20 74 68 65 20 6D 65 6E 75 ys that the menu
000050: 20 72 65 73 70 6F 6E 64 73 20 74 6F 2E 0D 0A 20 responds to...
000060: 20 20 6B 66 20 20 20 20 20 20 20 20 20 20 20 20 kf
000070: 4B 65 79 20 66 6C 61 67 73 20 28 73 65 65 20 6C Key flags (see l
000080: 61 73 74 20 6D 6F 6E 74 68 29 0D 0A 0D 0A 20 20 ast month)....
000090: 20 56 61 6C 75 65 73 20 72 65 74 75 72 6E 65 64 Values returned
0000A0: 20 62 79 20 74 68 65 20 72 6F 75 74 69 6E 65 73 by the routines
0000B0: 3A 0D 0A 0D 0A 20 20 20 6D 70 20 20 20 20 20 20 :.... mp
0000C0: 20 20 20 20 20 20 4D 65 6E 75 20 62 61 72 20 70 Menu bar p
0000D0: 6F 73 69 74 69 6F 6E 20 28 61 73 20 61 62 6F 76 osition (as abov
0000E0: 65 29 0D 0A 20 20 20 6B 70 20 20 20 20 20 20 20 e).. kp
0000F0: 20 20 20 20 20 4B 65 79 73 20 70 72 65 73 73 65 Keys presse
000100: 64 20 28 73 65 65 20 6C 61 73 74 20 6D 6F 6E 74 d (see last mont
000110: 68 29 0D 0A 0D 0A 20 20 20 56 61 72 69 61 62 6C h).... Variabl
000120: 65 73 20 75 73 65 64 20 69 6E 74 65 72 6E 61 6C es used internal
000130: 6C 79 20 62 79 20 74 68 65 20 72 6F 75 74 69 6E ly by the routin
000140: 65 73 3A 0D 0A 0D 0A 20 20 20 64 65 6C 61 79 0D es:.... delay.
000150: 0A 20 20 20 6D 63 0D 0A 20 20 20 6D 64 0D 0A 20 . mc.. md..
000160: 20 20 6D 7A 0D 0A 0D 0A 0D 0A 20 20 20 4C 69 73 mz...... Lis
000170: 74 69 6E 67 20 31 3A 0D 0A 0D 0A 20 20 20 31 30 ting 1:.... 10
000180: 30 30 20 6B 70 3D 30 3A 6D 64 3D 31 3A 6D 7A 3D 00 kp=0:md=1:mz=
000190: 30 0D 0A 20 20 20 31 30 30 31 20 57 48 49 4C 45 0.. 1001 WHILE
0001A0: 20 28 6B 70 20 41 4E 44 20 6B 66 29 3D 30 0D 0A (kp AND kf)=0..
0001B0: 20 20 20 31 30 30 32 20 57 48 49 4C 45 20 28 32 1002 WHILE (2
0001C0: 5E 6D 70 20 41 4E 44 20 6D 66 29 3E 30 20 4F 52 ^mp AND mf)>0 OR
0001D0: 20 6D 7A 0D 0A 20 20 20 31 30 30 33 20 6D 7A 3D mz.. 1003 mz=
0001E0: 30 3A 47 4F 53 55 42 20 31 30 31 30 3A 6D 70 3D 0:GOSUB 1010:mp=
0001F0: 28 6D 70 2B 6D 63 68 2B 6D 64 29 20 4D 4F 44 20 (mp+mch+md) MOD
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 77 65 20 77 65 72 65 20 6F 6E 20 .. we were on
000010: 74 68 65 20 6C 61 73 74 20 6D 65 6E 75 20 69 74 the last menu it
000020: 65 6D 20 74 68 65 6D 20 6D 70 20 77 6F 75 6C 64 em them mp would
000030: 20 62 65 20 35 2E 20 20 50 72 65 73 73 69 6E 67 be 5. Pressing
000040: 20 64 6F 77 6E 20 77 6F 75 6C 64 20 73 65 74 0D down would set.
000050: 0A 20 20 20 6D 64 20 74 6F 20 31 2C 20 73 6F 20 . md to 1, so
000060: 6D 70 2B 6D 64 20 69 73 20 36 2E 20 20 44 69 76 mp+md is 6. Div
000070: 69 64 65 20 74 68 61 74 20 20 62 79 20 6D 63 68 ide that by mch
000080: 2C 20 77 68 69 63 68 20 69 73 20 36 20 61 6C 73 , which is 6 als
000090: 6F 2C 20 61 6E 64 20 69 74 20 67 6F 65 73 0D 0A o, and it goes..
0000A0: 20 20 20 65 78 61 63 74 6C 79 20 6F 6E 63 65 2C exactly once,
0000B0: 20 73 6F 20 74 68 65 72 65 20 69 73 20 20 6E 6F so there is no
0000C0: 20 20 72 65 6D 61 69 6E 64 65 72 2E 20 20 20 54 remainder. T
0000D0: 68 65 72 65 66 6F 72 65 20 20 74 68 65 20 6E 65 herefore the ne
0000E0: 77 20 76 61 6C 75 65 20 6F 66 20 6D 70 0D 0A 20 w value of mp..
0000F0: 20 20 77 69 6C 6C 20 62 65 20 7A 65 72 6F 2C 20 will be zero,
000100: 77 68 69 63 68 20 73 69 67 6E 69 66 69 65 73 20 which signifies
000110: 74 68 65 20 74 6F 70 20 69 74 65 6D 20 6F 6E 20 the top item on
000120: 74 68 65 20 6D 65 6E 75 2E 0D 0A 0D 0A 20 20 20 the menu.....
000130: 20 20 4C 65 74 20 75 73 20 74 72 79 20 67 6F 69 Let us try goi
000140: 6E 67 20 75 70 20 20 66 72 6F 6D 20 20 74 68 65 ng up from the
000150: 20 20 74 6F 70 20 20 6D 65 6E 75 20 20 69 74 65 top menu ite
000160: 6D 2E 20 20 54 68 65 20 6D 65 6E 75 20 70 6F 73 m. The menu pos
000170: 69 74 69 6F 6E 2C 20 6D 70 2C 0D 0A 20 20 20 73 ition, mp,.. s
000180: 74 61 72 74 73 20 61 73 20 7A 65 72 6F 20 74 68 tarts as zero th
000190: 69 73 20 20 74 69 6D 65 2E 20 20 20 47 6F 69 6E is time. Goin
0001A0: 67 20 20 75 70 20 20 74 72 61 6E 73 6C 61 74 65 g up translate
0001B0: 73 20 20 69 6E 74 6F 20 73 75 62 74 72 61 63 74 s into subtract
0001C0: 69 6E 67 20 31 2C 20 73 6F 0D 0A 20 20 20 6D 70 ing 1, so.. mp
0001D0: 2B 6D 64 20 69 73 20 2D 31 2E 20 20 54 68 65 20 +md is -1. The
0001E0: 6F 6E 6C 79 20 74 72 6F 75 62 6C 65 20 69 73 20 only trouble is
0001F0: 74 68 61 74 20 69 66 20 79 6F 75 20 74 68 65 6E that if you then
Size : 512 (Real : 512)
000000: 20 75 73 20 20 77 68 65 6E 20 20 61 20 6B 65 79 us when a key
000010: 20 68 61 73 20 62 65 65 6E 0D 0A 20 20 20 70 72 has been.. pr
000020: 65 73 73 65 64 20 74 6F 20 74 72 69 67 67 65 72 essed to trigger
000030: 20 74 68 65 20 6C 6F 6F 70 20 69 6E 20 20 6C 69 the loop in li
000040: 6E 65 73 20 20 31 30 30 32 20 20 74 6F 20 20 31 nes 1002 to 1
000050: 30 30 34 20 61 6E 64 20 73 65 74 20 74 68 65 20 004 and set the
000060: 6D 65 6E 75 20 62 61 72 0D 0A 20 20 20 6D 6F 76 menu bar.. mov
000070: 69 6E 67 2E 20 20 57 65 20 61 6C 73 6F 20 6E 65 ing. We also ne
000080: 65 64 20 74 6F 20 72 65 73 65 74 20 74 68 61 74 ed to reset that
000090: 20 20 74 72 69 67 67 65 72 20 20 74 6F 20 7A 65 trigger to ze
0000A0: 72 6F 20 6F 72 20 65 6C 73 65 20 74 68 65 20 6D ro or else the m
0000B0: 65 6E 75 20 62 61 72 0D 0A 20 20 20 77 69 6C 6C enu bar.. will
0000C0: 20 6E 65 76 65 72 20 73 74 6F 70 20 6D 6F 76 69 never stop movi
0000D0: 6E 67 2E 20 20 20 54 68 65 20 20 74 72 6F 75 62 ng. The troub
0000E0: 6C 65 20 20 69 73 20 20 74 68 61 74 20 20 69 66 le is that if
0000F0: 20 20 77 65 20 20 75 73 65 64 20 6D 64 20 66 6F we used md fo
000100: 72 20 74 68 69 73 0D 0A 20 20 20 70 75 72 70 6F r this.. purpo
000110: 73 65 2C 20 77 65 20 77 6F 75 6C 64 20 67 65 74 se, we would get
000120: 20 69 6E 20 61 20 6D 65 73 73 20 20 69 66 20 20 in a mess if
000130: 77 65 20 6D 6F 76 65 64 20 6F 6E 74 6F 20 61 20 we moved onto a
000140: 70 72 6F 68 69 62 69 74 65 64 20 6D 65 6E 75 20 prohibited menu
000150: 69 74 65 6D 2E 0D 0A 20 20 20 48 61 76 69 6E 67 item... Having
000160: 20 73 65 74 20 6D 64 20 74 6F 20 7A 65 72 6F 2C set md to zero,
000170: 20 74 68 65 20 6E 65 78 74 20 20 74 69 6D 65 20 the next time
000180: 20 74 68 72 6F 75 67 68 20 20 74 68 65 20 6C 6F through the lo
000190: 6F 70 20 77 65 20 77 6F 75 6C 64 20 6E 6F 74 20 op we would not
0001A0: 6B 6E 6F 77 0D 0A 20 20 20 77 68 69 63 68 20 64 know.. which d
0001B0: 69 72 65 63 74 69 6F 6E 20 77 65 20 77 65 72 65 irection we were
0001C0: 20 6D 65 61 6E 74 20 74 6F 20 62 65 20 20 67 6F meant to be go
0001D0: 69 6E 67 20 69 6E 20 77 68 65 6E 20 73 6B 69 70 ing in when skip
0001E0: 70 69 6E 67 20 74 68 61 74 20 6D 65 6E 75 20 69 ping that menu i
0001F0: 74 65 6D 0D 0A 20 20 20 74 6F 20 6D 6F 76 65 20 tem.. to move
Size : 512 (Real : 512)
000000: 20 64 6F 20 4D 4F 44 20 36 2C 20 69 74 20 77 69 do MOD 6, it wi
000010: 6C 6C 20 73 74 69 6C 6C 0D 0A 20 20 20 62 65 20 ll still.. be
000020: 2D 31 2C 20 61 6E 64 20 77 65 20 77 61 6E 74 20 -1, and we want
000030: 35 2E 20 20 20 54 68 69 73 20 20 69 73 20 20 77 5. This is w
000040: 68 79 20 20 74 68 65 20 20 65 78 70 72 65 73 73 hy the express
000050: 69 6F 6E 20 69 6E 20 6C 69 6E 65 20 31 30 30 33 ion in line 1003
000060: 20 68 61 73 20 61 6E 0D 0A 20 20 20 65 78 74 72 has an.. extr
000070: 61 20 6D 63 68 20 61 64 64 65 64 20 69 6E 2C 20 a mch added in,
000080: 61 73 20 6D 70 2B 6D 63 68 2B 6D 64 20 69 73 20 as mp+mch+md is
000090: 35 2C 20 20 61 6E 64 20 77 68 65 6E 20 79 6F 75 5, and when you
0000A0: 20 74 61 6B 65 20 74 68 65 20 72 65 6D 61 69 6E take the remain
0000B0: 64 65 72 20 6F 6E 0D 0A 20 20 20 64 69 76 69 73 der on.. divis
0000C0: 69 6F 6E 20 62 79 20 36 2C 20 79 6F 75 20 65 6E ion by 6, you en
0000D0: 64 20 75 70 20 77 69 74 68 20 20 35 20 20 61 73 d up with 5 as
0000E0: 20 20 74 68 65 20 20 61 6E 73 77 65 72 2C 20 77 the answer, w
0000F0: 68 69 63 68 20 69 73 20 74 68 65 20 6C 61 73 74 hich is the last
000100: 20 6D 65 6E 75 0D 0A 20 20 20 69 74 65 6D 2C 20 menu.. item,
000110: 6A 75 73 74 20 61 73 20 77 65 20 77 61 6E 74 2E just as we want.
000120: 0D 0A 0D 0A 20 20 20 54 48 41 54 27 53 20 41 4C .... THAT'S AL
000130: 4C 20 46 4F 4C 4B 53 0D 0A 20 20 20 54 68 61 74 L FOLKS.. That
000140: 20 70 72 65 74 74 79 20 77 65 6C 6C 20 77 72 61 pretty well wra
000150: 70 73 20 75 70 20 74 68 65 20 6D 65 6E 75 20 73 ps up the menu s
000160: 75 62 72 6F 75 74 69 6E 65 73 2C 20 73 6F 20 6E ubroutines, so n
000170: 65 78 74 20 6D 6F 6E 74 68 20 77 65 20 77 69 6C ext month we wil
000180: 6C 20 68 61 76 65 0D 0A 20 20 20 61 20 67 6F 20 l have.. a go
000190: 61 74 20 73 6F 6D 65 74 68 69 6E 67 20 63 6F 6D at something com
0001A0: 70 6C 65 74 65 6C 79 20 64 69 66 66 65 72 65 6E pletely differen
0001B0: 74 2E 20 20 20 4A 75 73 74 20 20 74 6F 20 73 68 t. Just to sh
0001C0: 6F 77 20 74 68 61 74 20 6E 6F 20 70 72 6F 67 72 ow that no progr
0001D0: 61 6D 20 69 73 0D 0A 20 20 20 65 76 65 72 20 70 am is.. ever p
0001E0: 65 72 66 65 63 74 20 74 68 6F 75 67 68 2C 20 74 erfect though, t
0001F0: 72 79 20 74 6F 20 73 65 65 20 20 69 66 20 20 79 ry to see if y
Size : 512 (Real : 512)
000000: 74 6F 20 74 68 65 20 6E 65 78 74 20 6F 6E 65 21 to the next one!
000010: 0D 0A 0D 0A 0D 0A 20 20 20 57 41 52 50 20 46 41 ...... WARP FA
000020: 43 54 4F 52 20 4D 43 48 0D 0A 20 20 20 4C 69 6E CTOR MCH.. Lin
000030: 65 20 31 30 30 33 20 69 73 20 77 68 65 72 65 20 e 1003 is where
000040: 74 68 65 20 6D 65 6E 75 20 62 61 72 20 20 69 73 the menu bar is
000050: 20 20 61 63 74 75 61 6C 6C 79 20 6D 6F 76 65 64 actually moved
000060: 2E 20 20 46 69 72 73 74 20 77 65 20 47 4F 53 55 . First we GOSU
000070: 42 20 31 30 31 30 2C 0D 0A 20 20 20 77 68 69 63 B 1010,.. whic
000080: 68 20 72 65 6D 6F 76 65 73 20 74 68 65 20 62 61 h removes the ba
000090: 72 20 66 72 6F 6D 20 74 68 65 20 20 73 63 72 65 r from the scre
0000A0: 65 6E 2E 20 20 20 54 68 65 6E 20 6D 70 20 69 73 en. Then mp is
0000B0: 20 61 64 6A 75 73 74 65 64 2C 20 61 6E 64 20 66 adjusted, and f
0000C0: 69 6E 61 6C 6C 79 0D 0A 20 20 20 77 65 20 68 61 inally.. we ha
0000D0: 76 65 20 47 4F 53 55 42 20 31 30 31 30 20 61 67 ve GOSUB 1010 ag
0000E0: 61 69 6E 20 74 6F 20 70 75 74 20 74 68 65 20 6D ain to put the m
0000F0: 65 6E 75 20 62 61 72 20 62 61 63 6B 20 6F 6E 20 enu bar back on
000100: 74 68 65 20 73 63 72 65 65 6E 20 69 6E 20 74 68 the screen in th
000110: 65 20 6E 65 77 0D 0A 20 20 20 70 6F 73 69 74 69 e new.. positi
000120: 6F 6E 2E 20 20 54 68 65 20 72 65 61 73 6F 6E 20 on. The reason
000130: 20 77 65 20 20 63 61 6E 20 20 75 73 65 20 20 74 we can use t
000140: 68 65 20 20 73 61 6D 65 20 20 72 6F 75 74 69 6E he same routin
000150: 65 20 20 66 6F 72 20 20 72 65 6D 6F 76 69 6E 67 e for removing
000160: 20 61 6E 64 0D 0A 20 20 20 72 65 64 69 73 70 6C and.. redispl
000170: 61 79 69 6E 67 20 74 68 65 20 6D 65 6E 75 20 62 aying the menu b
000180: 61 72 20 69 73 20 74 68 61 74 20 77 65 20 61 72 ar is that we ar
000190: 65 20 75 73 69 6E 67 20 74 68 65 20 58 4F 52 20 e using the XOR
0001A0: 67 72 61 70 68 69 63 73 20 6D 6F 64 65 2E 0D 0A graphics mode...
0001B0: 0D 0A 20 20 20 20 20 54 68 65 20 61 64 6A 75 73 .. The adjus
0001C0: 74 6D 65 6E 74 20 6F 66 20 6D 70 2C 20 74 68 65 tment of mp, the
0001D0: 20 6D 65 6E 75 20 20 70 6F 73 69 74 69 6F 6E 20 menu position
0001E0: 20 76 61 72 69 61 62 6C 65 2C 20 69 73 20 77 6F variable, is wo
0001F0: 72 74 68 20 6C 6F 6F 6B 69 6E 67 20 61 74 2E 0D rth looking at..
Size : 512 (Real : 512)
000000: 6F 75 20 20 63 61 6E 20 20 66 69 6E 64 20 61 20 ou can find a
000010: 77 61 79 20 6F 66 20 72 65 6D 6F 76 69 6E 67 20 way of removing
000020: 66 6F 75 72 0D 0A 20 20 20 63 68 61 72 61 63 74 four.. charact
000030: 65 72 73 20 66 72 6F 6D 20 6C 69 6E 65 20 31 30 ers from line 10
000040: 30 32 20 69 6E 20 61 20 77 61 79 20 20 77 68 69 02 in a way whi
000050: 63 68 20 64 6F 65 73 20 6E 6F 74 20 61 66 66 65 ch does not affe
000060: 63 74 20 74 68 65 20 6F 70 65 72 61 74 69 6F 6E ct the operation
000070: 20 6F 66 0D 0A 20 20 20 74 68 65 20 70 72 6F 67 of.. the prog
000080: 72 61 6D 2C 20 6F 72 20 69 66 20 61 6E 79 74 68 ram, or if anyth
000090: 69 6E 67 20 73 6C 69 67 68 74 6C 79 20 69 6D 70 ing slightly imp
0000A0: 72 6F 76 65 73 20 69 74 2E 20 20 57 65 20 6F 6E roves it. We on
0000B0: 6C 79 20 73 70 6F 74 74 65 64 20 69 74 20 77 68 ly spotted it wh
0000C0: 65 6E 0D 0A 20 20 20 77 72 69 74 69 6E 67 20 74 en.. writing t
0000D0: 68 69 73 20 66 69 6E 61 6C 20 61 72 74 69 63 6C his final articl
0000E0: 65 21 20 20 20 3C 3C 53 69 6E 63 65 20 20 74 68 e! <<Since th
0000F0: 65 6E 20 20 77 65 20 20 68 61 76 65 20 64 69 73 en we have dis
000100: 63 6F 76 65 72 65 64 20 74 68 61 74 20 74 68 69 covered that thi
000110: 73 0D 0A 20 20 20 61 6C 74 65 72 61 74 69 6F 6E s.. alteration
000120: 20 6D 65 61 6E 73 20 74 68 61 74 20 74 68 65 20 means that the
000130: 70 72 6F 67 72 61 6D 20 20 77 6F 75 6C 64 20 20 program would
000140: 6E 6F 74 20 20 66 75 6E 63 74 69 6F 6E 20 63 6F not function co
000150: 72 72 65 63 74 6C 79 20 6F 6E 20 61 20 43 50 43 rrectly on a CPC
000160: 0D 0A 20 20 20 34 36 34 20 69 66 20 74 68 65 20 .. 464 if the
000170: 6D 65 6E 75 20 68 61 64 20 6D 6F 72 65 20 20 74 menu had more t
000180: 68 61 6E 20 20 38 20 20 69 74 65 6D 73 2C 20 20 han 8 items,
000190: 73 6F 20 20 69 74 20 20 69 73 20 20 62 65 73 74 so it is best
0001A0: 20 74 6F 20 6C 65 61 76 65 20 69 74 20 61 73 0D to leave it as.
0001B0: 0A 20 20 20 70 72 69 6E 74 65 64 21 3E 3E 0D 0A . printed!>>..
0001C0: 0D 0A 0D 0A 0D 0A 20 20 20 54 41 42 4C 45 20 4F ...... TABLE O
0001D0: 46 20 56 41 52 49 41 42 4C 45 53 0D 0A 0D 0A 20 F VARIABLES....
0001E0: 20 20 50 61 72 61 6D 65 74 65 72 73 20 74 6F 20 Parameters to
0001F0: 73 65 74 20 75 70 3A 0D 0A 0D 0A 20 20 20 6D 63 set up:.... mc
Size : 512 (Real : 512)
000000: 41 20 47 4F 4F 44 20 44 45 41 4C 0D 0A 20 20 20 A GOOD DEAL..
000010: 54 68 65 20 67 61 6D 65 20 73 74 61 72 74 73 20 The game starts
000020: 62 79 20 47 4F 53 55 42 62 69 6E 67 20 31 30 30 by GOSUBbing 100
000030: 30 20 74 6F 20 64 65 61 6C 20 20 74 68 65 20 63 0 to deal the c
000040: 61 72 64 73 20 6F 75 74 20 6F 6E 20 74 68 65 20 ards out on the
000050: 74 61 62 6C 65 2E 20 20 49 6E 0D 0A 20 20 20 6C table. In.. l
000060: 69 6E 65 20 35 30 20 77 65 20 70 75 74 20 74 68 ine 50 we put th
000070: 65 20 70 61 63 6B 20 69 6E 20 6F 72 64 65 72 20 e pack in order
000080: 20 73 6F 20 20 77 65 20 6D 75 73 74 20 73 68 75 so we must shu
000090: 66 66 6C 65 20 74 68 65 20 63 61 72 64 73 20 61 ffle the cards a
0000A0: 73 20 77 65 6C 6C 20 61 73 0D 0A 20 20 20 64 65 s well as.. de
0000B0: 61 6C 69 6E 67 2E 20 20 57 65 20 64 6F 20 62 6F aling. We do bo
0000C0: 74 68 20 61 74 20 74 68 65 20 73 61 6D 65 20 20 th at the same
0000D0: 74 69 6D 65 20 20 69 6E 20 20 6C 69 6E 65 20 31 time in line 1
0000E0: 30 31 30 2E 20 20 49 6E 20 61 20 6C 6F 6F 70 20 010. In a loop
0000F0: 73 74 61 72 74 69 6E 67 0D 0A 20 20 20 77 69 74 starting.. wit
000100: 68 20 6E 3D 35 32 2C 20 77 65 20 70 69 63 6B 20 h n=52, we pick
000110: 61 20 72 61 6E 64 6F 6D 20 63 61 72 64 20 62 65 a random card be
000120: 74 77 65 65 6E 20 31 20 61 6E 64 20 6E 20 75 73 tween 1 and n us
000130: 69 6E 67 20 74 68 65 20 65 78 70 72 65 73 73 69 ing the expressi
000140: 6F 6E 0D 0A 0D 0A 20 20 20 63 64 65 6C 3D 49 4E on.... cdel=IN
000150: 54 28 52 4E 44 2A 6E 2B 31 29 0D 0A 0D 0A 20 20 T(RND*n+1)....
000160: 20 57 65 20 70 75 74 20 74 68 69 73 20 63 61 72 We put this car
000170: 64 20 69 6E 20 74 68 65 20 6C 61 79 6F 75 74 20 d in the layout
000180: 20 61 72 72 61 79 20 20 61 74 20 63 28 72 6F 77 array at c(row
000190: 2C 63 6F 6C 29 20 61 6E 64 20 6D 6F 76 65 20 74 ,col) and move t
0001A0: 68 65 20 6E 74 68 20 63 61 72 64 0D 0A 20 20 20 he nth card..
0001B0: 69 6E 20 74 68 65 20 70 61 63 6B 20 74 6F 20 74 in the pack to t
0001C0: 68 65 20 70 6F 73 69 74 69 6F 6E 20 20 76 61 63 he position vac
0001D0: 61 74 65 64 20 20 62 79 20 20 6F 75 72 20 63 68 ated by our ch
0001E0: 6F 73 65 6E 20 63 61 72 64 2E 20 20 54 68 69 73 osen card. This
0001F0: 20 6C 65 61 76 65 73 20 75 73 0D 0A 20 20 20 77 leaves us.. w
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 39 20 2D 20 57 41 43 43 49 20 31 31 tch 9 - WACCI 11
000020: 38 2C 20 4A 61 6E 20 31 39 39 38 2C 20 70 2E 20 8, Jan 1998, p.
000030: 31 38 2D 31 39 0D 0A 20 20 20 50 52 4F 47 52 41 18-19.. PROGRA
000040: 4D 4D 45 52 53 27 20 50 41 54 43 48 20 39 0D 0A MMERS' PATCH 9..
000050: 20 20 20 42 79 20 48 69 6C 61 72 79 20 50 68 69 By Hilary Phi
000060: 6C 6C 69 70 73 0D 0A 0D 0A 20 20 20 59 65 73 2C llips.... Yes,
000070: 20 74 68 69 73 20 6D 6F 6E 74 68 20 74 68 65 20 this month the
000080: 70 72 6F 6F 66 72 65 61 64 65 72 20 67 65 74 73 proofreader gets
000090: 20 61 20 20 67 6F 20 20 61 74 20 77 72 69 74 69 a go at writi
0000A0: 6E 67 20 61 6E 20 61 72 74 69 63 6C 65 2C 20 74 ng an article, t
0000B0: 6F 20 67 69 76 65 0D 0A 20 20 20 4D 61 74 74 68 o give.. Matth
0000C0: 65 77 20 61 6E 64 20 53 74 65 70 68 65 6E 20 61 ew and Stephen a
0000D0: 20 62 72 65 61 6B 2E 20 20 54 68 69 73 20 77 61 break. This wa
0000E0: 73 20 20 69 6E 74 65 6E 64 65 64 20 74 6F 20 62 s intended to b
0000F0: 65 20 61 20 43 68 72 69 73 74 6D 61 73 20 53 70 e a Christmas Sp
000100: 65 63 69 61 6C 0D 0A 20 20 20 6F 6E 20 63 61 72 ecial.. on car
000110: 64 20 67 61 6D 65 73 2C 20 62 75 74 20 57 41 43 d games, but WAC
000120: 43 49 27 73 20 62 72 69 65 66 20 62 69 2D 6D 6F CI's brief bi-mo
000130: 6E 74 68 6C 79 20 73 70 65 6C 6C 20 70 75 74 20 nthly spell put
000140: 70 61 69 64 20 74 6F 20 74 68 61 74 20 69 64 65 paid to that ide
000150: 61 20 73 6F 0D 0A 20 20 20 69 74 20 68 61 73 20 a so.. it has
000160: 74 6F 20 62 65 20 61 20 20 4E 65 77 20 20 59 65 to be a New Ye
000170: 61 72 27 73 20 20 73 70 65 63 69 61 6C 20 20 69 ar's special i
000180: 6E 73 74 65 61 64 2E 20 20 49 20 73 74 61 72 74 nstead. I start
000190: 65 64 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 63 ed programming c
0001A0: 61 72 64 0D 0A 20 20 20 67 61 6D 65 73 20 61 66 ard.. games af
0001B0: 74 65 72 20 73 65 65 69 6E 67 20 61 20 72 61 74 ter seeing a rat
0001C0: 68 65 72 20 20 67 6F 6F 64 20 20 70 61 74 69 65 her good patie
0001D0: 6E 63 65 20 20 67 61 6D 65 20 20 6F 6E 20 20 6D nce game on m
0001E0: 79 20 73 69 73 74 65 72 27 73 20 4D 61 63 20 61 y sister's Mac a
0001F0: 6E 64 0D 0A 20 20 20 77 6F 6E 64 65 72 69 6E 67 nd.. wondering
Size : 512 (Real : 512)
000000: 69 74 68 20 61 6C 6C 20 74 68 65 20 75 6E 64 65 ith all the unde
000010: 61 6C 74 20 63 61 72 64 73 20 69 6E 20 74 68 65 alt cards in the
000020: 20 66 69 72 73 74 20 6E 2D 31 20 70 6F 73 69 74 first n-1 posit
000030: 69 6F 6E 73 20 69 6E 20 74 68 65 20 70 61 63 6B ions in the pack
000040: 2C 20 61 6E 64 20 74 68 65 0D 0A 20 20 20 64 65 , and the.. de
000050: 61 6C 74 20 6F 75 74 20 63 61 72 64 73 20 69 6E alt out cards in
000060: 20 74 68 65 20 6C 61 79 6F 75 74 20 20 61 72 72 the layout arr
000070: 61 79 2E 20 20 20 47 4F 53 55 42 62 69 6E 67 20 ay. GOSUBbing
000080: 20 33 35 30 30 20 70 72 69 6E 74 73 20 74 68 65 3500 prints the
000090: 20 62 61 63 6B 20 6F 66 0D 0A 20 20 20 74 68 65 back of.. the
0000A0: 20 63 61 72 64 20 61 74 20 74 68 65 20 70 6F 73 card at the pos
0000B0: 69 74 69 6F 6E 20 66 6F 72 20 20 63 28 72 6F 77 ition for c(row
0000C0: 2C 63 6F 6C 29 2E 20 20 20 57 65 20 20 63 61 6E ,col). We can
0000D0: 20 74 68 65 6E 20 64 65 63 72 65 61 73 65 20 6E then decrease n
0000E0: 20 62 79 20 6F 6E 65 0D 0A 20 20 20 61 6E 64 20 by one.. and
0000F0: 67 6F 20 74 68 72 6F 75 67 68 20 74 68 65 20 70 go through the p
000100: 72 6F 63 65 73 73 20 61 67 61 69 6E 20 75 6E 74 rocess again unt
000110: 69 6C 20 61 6C 6C 20 74 68 65 20 63 61 72 64 73 il all the cards
000120: 20 68 61 76 65 20 62 65 65 6E 20 64 65 61 6C 74 have been dealt
000130: 2E 0D 0A 0D 0A 20 20 20 57 65 20 6E 65 65 64 20 ..... We need
000140: 6C 69 6E 65 20 31 30 32 30 20 61 73 20 77 65 6C line 1020 as wel
000150: 6C 20 61 73 20 31 30 31 30 20 20 74 6F 20 20 64 l as 1010 to d
000160: 6F 20 74 68 69 73 20 62 65 63 61 75 73 65 20 74 o this because t
000170: 68 65 20 6C 61 79 6F 75 74 20 61 72 72 61 79 20 he layout array
000180: 69 73 0D 0A 20 20 20 6E 6F 74 20 61 20 72 65 63 is.. not a rec
000190: 74 61 6E 67 6C 65 20 62 75 74 20 37 20 72 6F 77 tangle but 7 row
0001A0: 73 20 6F 66 20 37 20 61 6E 64 20 61 6E 20 65 78 s of 7 and an ex
0001B0: 74 72 61 20 72 6F 77 20 6F 66 20 33 20 63 61 72 tra row of 3 car
0001C0: 64 73 2E 0D 0A 0D 0A 20 20 20 50 52 49 4E 54 49 ds..... PRINTI
0001D0: 4E 47 0D 0A 20 20 20 4C 65 74 27 73 20 6E 6F 77 NG.. Let's now
0001E0: 20 6C 6F 6F 6B 20 61 74 20 74 68 65 20 72 6F 75 look at the rou
0001F0: 74 69 6E 65 73 20 20 66 6F 72 20 20 70 72 69 6E tines for prin
Size : 512 (Real : 512)
000000: 20 77 68 65 74 68 65 72 20 49 20 63 6F 75 6C 64 whether I could
000010: 20 72 65 70 72 6F 64 75 63 65 20 69 74 20 6F 6E reproduce it on
000020: 20 4D 61 74 74 68 65 77 27 73 20 43 50 43 2E 20 Matthew's CPC.
000030: 20 49 20 63 6F 75 6C 64 2C 20 62 75 74 20 74 68 I could, but th
000040: 65 0D 0A 20 20 20 6C 69 73 74 69 6E 67 27 73 20 e.. listing's
000050: 61 20 62 69 74 20 6C 6F 6E 67 20 74 6F 20 70 75 a bit long to pu
000060: 74 20 20 69 6E 74 6F 20 20 61 20 20 74 77 6F 2D t into a two-
000070: 70 61 67 65 20 20 57 41 43 43 49 20 61 72 74 69 page WACCI arti
000080: 63 6C 65 20 73 6F 20 68 65 72 65 20 69 73 20 61 cle so here is a
000090: 0D 0A 20 20 20 73 68 6F 72 74 65 72 2C 20 6D 75 .. shorter, mu
0000A0: 6C 74 69 2D 70 6C 61 79 65 72 20 67 61 6D 65 2E lti-player game.
0000B0: 20 20 46 75 6E 20 66 6F 72 20 61 6C 6C 20 20 74 Fun for all t
0000C0: 68 65 20 66 61 6D 69 6C 79 20 69 6E 20 74 68 65 he family in the
0000D0: 20 66 65 73 74 69 76 65 20 73 65 61 73 6F 6E 0D festive season.
0000E0: 0A 20 20 20 77 69 74 68 20 50 65 6C 6D 61 6E 69 . with Pelmani
0000F0: 73 6D 2C 20 6F 72 20 4D 61 74 63 68 69 6E 67 20 sm, or Matching
000100: 43 61 72 64 73 2E 0D 0A 0D 0A 20 20 20 3C 3C 54 Cards..... <<T
000110: 68 69 73 20 69 73 20 73 61 76 65 64 20 6F 6E 20 his is saved on
000120: 64 69 73 63 20 61 73 20 50 45 4C 4D 41 4E 2E 42 disc as PELMAN.B
000130: 41 53 3E 3E 0D 0A 0D 0A 20 20 20 49 6E 20 74 68 AS>>.... In th
000140: 65 20 66 69 6E 65 20 74 72 61 64 69 74 69 6F 6E e fine tradition
000150: 20 6F 66 20 74 68 69 73 20 73 65 72 69 65 73 20 of this series
000160: 20 49 27 6D 20 20 67 6F 69 6E 67 20 74 6F 20 67 I'm going to g
000170: 6F 20 74 68 72 6F 75 67 68 20 74 68 65 20 70 72 o through the pr
000180: 6F 67 72 61 6D 0D 0A 20 20 20 73 68 6F 77 69 6E ogram.. showin
000190: 67 20 68 6F 77 20 69 74 20 77 6F 72 6B 73 20 61 g how it works a
0001A0: 6E 64 20 70 69 63 6B 69 6E 67 20 6F 75 74 20 74 nd picking out t
0001B0: 68 65 20 6D 6F 73 74 20 68 6F 72 72 69 62 6C 65 he most horrible
0001C0: 20 6C 69 6E 65 73 20 61 6E 64 20 74 72 79 69 6E lines and tryin
0001D0: 67 20 74 6F 0D 0A 20 20 20 65 78 70 6C 61 69 6E g to.. explain
0001E0: 20 68 6F 77 20 6F 6E 20 65 61 72 74 68 20 49 20 how on earth I
0001F0: 63 61 6D 65 20 75 70 20 20 77 69 74 68 20 20 74 came up with t
Size : 512 (Real : 512)
000000: 74 69 6E 67 20 74 68 69 6E 67 73 20 69 6E 20 6C ting things in l
000010: 69 6E 65 73 20 33 30 30 30 2D 34 35 33 30 20 61 ines 3000-4530 a
000020: 73 0D 0A 20 20 20 74 68 65 79 20 61 72 65 20 75 s.. they are u
000030: 73 65 64 20 62 79 20 6D 61 6E 79 20 62 69 74 73 sed by many bits
000040: 20 6F 66 20 74 68 65 20 70 72 6F 67 72 61 6D 2E of the program.
000050: 20 20 45 61 63 68 20 72 6F 75 74 69 6E 65 20 75 Each routine u
000060: 73 65 73 20 74 68 65 20 70 6F 73 69 74 69 6F 6E ses the position
000070: 0D 0A 20 20 20 6D 61 72 6B 65 72 73 20 28 72 6F .. markers (ro
000080: 77 2C 63 6F 6C 29 2E 0D 0A 0D 0A 20 20 20 33 30 w,col)..... 30
000090: 30 30 20 50 72 69 6E 74 69 6E 67 20 63 61 72 64 00 Printing card
0000A0: 73 0D 0A 20 20 20 46 6F 72 20 73 69 6D 70 6C 69 s.. For simpli
0000B0: 63 69 74 79 20 69 6E 20 74 68 65 20 76 65 72 73 city in the vers
0000C0: 69 6F 6E 20 66 6F 72 20 74 68 69 73 20 61 72 74 ion for this art
0000D0: 69 63 6C 65 2C 20 74 68 65 20 63 61 72 64 73 20 icle, the cards
0000E0: 61 72 65 20 64 69 73 70 6C 61 79 65 64 20 62 79 are displayed by
0000F0: 0D 0A 20 20 20 6A 75 73 74 20 74 77 6F 20 63 68 .. just two ch
000100: 61 72 61 63 74 65 72 73 2C 20 6F 6E 65 20 66 6F aracters, one fo
000110: 72 20 20 74 68 65 20 20 76 61 6C 75 65 20 20 28 r the value (
000120: 22 63 61 72 64 22 29 20 20 61 6E 64 20 20 6F 6E "card") and on
000130: 65 20 66 6F 72 20 74 68 65 20 73 75 69 74 2E 0D e for the suit..
000140: 0A 20 20 20 54 68 65 73 65 20 61 72 65 20 63 61 . These are ca
000150: 6C 63 75 6C 61 74 65 64 20 66 72 6F 6D 20 63 28 lculated from c(
000160: 72 6F 77 2C 63 6F 6C 29 20 69 6E 20 20 6C 69 6E row,col) in lin
000170: 65 20 20 33 30 30 30 2E 20 20 22 63 61 72 64 22 e 3000. "card"
000180: 20 74 61 6B 65 73 20 61 20 76 61 6C 75 65 0D 0A takes a value..
000190: 20 20 20 66 72 6F 6D 20 31 20 74 6F 20 31 33 20 from 1 to 13
0001A0: 61 6E 64 20 20 22 73 75 69 74 22 20 20 61 20 20 and "suit" a
0001B0: 76 61 6C 75 65 20 20 66 72 6F 6D 20 20 30 20 20 value from 0
0001C0: 74 6F 20 20 33 3A 20 20 63 28 72 6F 77 2C 63 6F to 3: c(row,co
0001D0: 6C 29 20 69 73 20 69 6E 20 66 61 63 74 0D 0A 20 l) is in fact..
0001E0: 20 20 63 61 72 64 2B 28 73 75 69 74 2A 31 34 29 card+(suit*14)
0001F0: 2C 20 68 65 6E 63 65 20 63 61 72 64 3D 63 28 72 , hence card=c(r
Size : 512 (Real : 512)
000000: 68 65 6D 2E 20 20 20 49 27 6C 6C 20 20 74 72 79 hem. I'll try
000010: 20 74 6F 20 6B 65 65 70 20 69 74 20 64 6F 77 6E to keep it down
000020: 20 74 6F 0D 0A 20 20 20 6A 75 73 74 20 6F 6E 65 to.. just one
000030: 20 61 72 74 69 63 6C 65 2C 20 74 68 6F 75 67 68 article, though
000040: 2E 0D 0A 0D 0A 20 20 20 53 45 54 54 49 4E 47 20 ..... SETTING
000050: 4F 55 54 0D 0A 20 20 20 54 68 65 20 66 69 72 73 OUT.. The firs
000060: 74 20 66 65 77 20 6C 69 6E 65 73 20 73 65 74 20 t few lines set
000070: 75 70 20 77 68 61 74 20 77 65 20 77 69 6C 6C 20 up what we will
000080: 6E 65 65 64 20 74 6F 20 70 6C 61 79 20 74 68 65 need to play the
000090: 20 67 61 6D 65 2E 20 20 49 6E 20 6C 69 6E 65 20 game. In line
0000A0: 31 30 0D 0A 20 20 20 77 65 20 63 72 65 61 74 65 10.. we create
0000B0: 20 61 20 73 70 65 63 69 61 6C 20 63 68 61 72 61 a special chara
0000C0: 63 74 65 72 20 73 6F 20 74 68 61 74 20 74 68 65 cter so that the
0000D0: 20 6E 75 6D 62 65 72 20 22 31 30 22 20 63 61 6E number "10" can
0000E0: 20 62 65 20 70 72 69 6E 74 65 64 20 75 70 20 61 be printed up a
0000F0: 73 0D 0A 20 20 20 6F 6E 65 20 63 68 61 72 61 63 s.. one charac
000100: 74 65 72 2E 20 20 4C 69 6E 65 20 33 30 20 73 65 ter. Line 30 se
000110: 74 73 20 20 75 70 20 20 61 72 72 61 79 73 20 20 ts up arrays
000120: 66 6F 72 20 20 74 68 65 20 20 70 61 63 6B 2C 20 for the pack,
000130: 74 68 65 20 63 61 72 64 73 20 69 6E 20 74 68 65 the cards in the
000140: 0D 0A 20 20 20 74 77 6F 2D 64 69 6D 65 6E 73 69 .. two-dimensi
000150: 6F 6E 61 6C 20 6C 61 79 6F 75 74 2C 20 74 68 65 onal layout, the
000160: 20 6E 61 6D 65 73 20 6F 66 20 73 69 78 20 20 70 names of six p
000170: 6C 61 79 65 72 73 20 61 6E 64 20 74 68 65 20 6E layers and the n
000180: 75 6D 62 65 72 73 20 6F 66 20 70 61 69 72 73 0D umbers of pairs.
000190: 0A 20 20 20 77 6F 6E 20 62 79 20 74 68 65 20 73 . won by the s
0001A0: 69 78 20 70 6C 61 79 65 72 73 2E 20 20 4C 69 6E ix players. Lin
0001B0: 65 20 20 34 30 20 20 64 65 66 69 6E 65 73 20 20 e 40 defines
0001C0: 61 20 20 73 74 72 69 6E 67 20 77 68 69 63 68 20 a string which
0001D0: 77 65 20 77 69 6C 6C 20 75 73 65 20 74 6F 0D 0A we will use to..
0001E0: 20 20 20 70 72 69 6E 74 20 75 70 20 74 68 65 20 print up the
0001F0: 76 61 6C 75 65 73 20 6F 66 20 74 68 65 20 63 61 values of the ca
Size : 512 (Real : 512)
000000: 6F 77 2C 63 6F 6C 29 20 6D 6F 64 20 31 34 20 61 ow,col) mod 14 a
000010: 6E 64 20 73 75 69 74 3D 63 28 72 6F 77 2C 63 6F nd suit=c(row,co
000020: 6C 29 5C 31 34 2E 0D 0A 0D 0A 20 20 20 54 68 65 l)\14..... The
000030: 20 73 75 69 74 20 63 68 61 72 61 63 74 65 72 73 suit characters
000040: 20 61 72 65 20 69 6E 20 74 68 65 20 41 53 43 49 are in the ASCI
000050: 49 20 63 68 61 72 61 63 74 65 72 20 73 65 74 20 I character set
000060: 77 68 69 63 68 20 6D 61 6B 65 73 20 74 68 69 6E which makes thin
000070: 67 73 20 76 65 72 79 0D 0A 20 20 20 65 61 73 79 gs very.. easy
000080: 2E 20 20 54 68 65 20 63 68 61 72 61 63 74 65 72 . The character
000090: 20 66 6F 72 20 22 63 61 72 64 22 20 20 69 73 20 for "card" is
0000A0: 20 68 65 6C 64 20 20 69 6E 20 20 74 68 65 20 73 held in the s
0000B0: 74 72 69 6E 67 20 63 61 72 64 24 20 64 65 66 69 tring card$ defi
0000C0: 6E 65 64 20 69 6E 0D 0A 20 20 20 6C 69 6E 65 20 ned in.. line
0000D0: 34 30 2E 20 41 6C 6C 20 77 65 20 68 61 76 65 20 40. All we have
0000E0: 74 6F 20 20 64 6F 20 20 74 6F 20 20 70 72 69 6E to do to prin
0000F0: 74 20 20 69 74 20 20 69 73 20 74 6F 20 74 61 6B t it is to tak
000100: 65 20 6F 75 74 20 74 68 65 20 61 70 70 72 6F 70 e out the approp
000110: 72 69 61 74 65 0D 0A 20 20 20 63 68 61 72 61 63 riate.. charac
000120: 74 65 72 20 75 73 69 6E 67 20 4D 49 44 24 2E 20 ter using MID$.
000130: 20 54 68 65 20 63 6F 6C 6F 75 72 20 74 6F 20 70 The colour to p
000140: 72 69 6E 74 20 74 68 65 20 63 61 72 64 73 20 69 rint the cards i
000150: 73 20 73 6C 69 67 68 74 6C 79 20 74 72 69 63 6B s slightly trick
000160: 79 20 74 6F 0D 0A 20 20 20 77 6F 72 6B 20 6F 75 y to.. work ou
000170: 74 20 61 73 20 77 65 20 77 61 6E 74 20 62 6C 61 t as we want bla
000180: 63 6B 20 28 30 29 20 66 6F 72 20 73 75 69 74 73 ck (0) for suits
000190: 20 30 20 61 6E 64 20 33 20 28 63 6C 75 62 73 20 0 and 3 (clubs
0001A0: 61 6E 64 20 73 70 61 64 65 73 29 20 61 6E 64 20 and spades) and
0001B0: 72 65 64 0D 0A 20 20 20 28 31 29 20 66 6F 72 20 red.. (1) for
0001C0: 73 75 69 74 73 20 31 20 61 6E 64 20 32 20 28 64 suits 1 and 2 (d
0001D0: 69 61 6D 6F 6E 64 73 20 20 61 6E 64 20 20 68 65 iamonds and he
0001E0: 61 72 74 73 29 2E 20 20 54 72 79 20 6F 75 74 20 arts). Try out
0001F0: 74 68 65 20 65 78 70 72 65 73 73 69 6F 6E 20 66 the expression f
Size : 512 (Real : 512)
000000: 72 64 73 2E 0D 0A 0D 0A 20 20 20 49 6E 20 6C 69 rds..... In li
000010: 6E 65 20 35 30 20 77 65 20 70 75 74 20 35 32 20 ne 50 we put 52
000020: 65 6E 74 72 69 65 73 20 69 6E 20 74 68 65 20 22 entries in the "
000030: 70 61 63 6B 22 20 61 72 72 61 79 2E 20 20 57 65 pack" array. We
000040: 20 63 6F 75 6C 64 20 6A 75 73 74 20 72 65 70 72 could just repr
000050: 65 73 65 6E 74 0D 0A 20 20 20 74 68 65 20 63 61 esent.. the ca
000060: 72 64 73 20 62 79 20 74 68 65 20 6E 75 6D 62 65 rds by the numbe
000070: 72 73 20 31 2D 35 32 20 62 75 74 20 69 74 20 20 rs 1-52 but it
000080: 74 75 72 6E 73 20 6F 75 74 20 74 6F 20 62 65 20 turns out to be
000090: 65 61 73 69 65 72 20 74 6F 20 6D 61 6E 69 70 75 easier to manipu
0000A0: 6C 61 74 65 0D 0A 20 20 20 74 68 65 6D 20 69 6E late.. them in
0000B0: 20 6F 74 68 65 72 20 63 61 72 64 20 67 61 6D 65 other card game
0000C0: 73 20 49 20 68 61 76 65 20 20 77 72 69 74 74 65 s I have writte
0000D0: 6E 20 20 69 66 20 77 65 20 75 73 65 20 31 2D 31 n if we use 1-1
0000E0: 33 2C 20 31 35 2D 32 37 2C 20 32 39 2D 34 31 20 3, 15-27, 29-41
0000F0: 61 6E 64 0D 0A 20 20 20 34 33 2D 35 35 20 66 6F and.. 43-55 fo
000100: 72 20 63 6C 75 62 73 2C 20 20 64 69 61 6D 6F 6E r clubs, diamon
000110: 64 73 2C 20 20 68 65 61 72 74 73 20 20 61 6E 64 ds, hearts and
000120: 20 20 73 70 61 64 65 73 20 20 72 65 73 70 65 63 spades respec
000130: 74 69 76 65 6C 79 2C 20 20 68 65 6E 63 65 20 74 tively, hence t
000140: 68 65 0D 0A 20 20 20 70 65 63 75 6C 69 61 72 20 he.. peculiar
000150: 65 78 70 72 65 73 73 69 6F 6E 20 69 6E 20 6C 69 expression in li
000160: 6E 65 20 35 30 2E 20 20 20 4C 69 6E 65 20 20 36 ne 50. Line 6
000170: 30 20 20 73 65 74 73 20 20 75 70 20 74 68 65 20 0 sets up the
000180: 69 6E 6B 73 20 28 62 6C 61 63 6B 2C 20 72 65 64 inks (black, red
000190: 2C 0D 0A 20 20 20 77 68 69 74 65 2C 20 61 6E 64 ,.. white, and
0001A0: 20 67 72 65 65 6E 20 66 6F 72 20 74 68 65 20 63 green for the c
0001B0: 61 72 64 20 74 61 62 6C 65 29 20 61 6E 64 20 20 ard table) and
0001C0: 6C 69 6E 65 20 37 30 20 67 69 76 65 73 20 75 73 line 70 gives us
0001D0: 20 61 20 77 69 6E 64 6F 77 20 61 74 20 74 68 65 a window at the
0001E0: 0D 0A 20 20 20 62 6F 74 74 6F 6D 20 66 6F 72 20 .. bottom for
0001F0: 6D 65 73 73 61 67 65 73 2E 0D 0A 0D 0A 20 20 20 messages.....
Size : 512 (Real : 512)
000000: 6D 63 68 3A 47 4F 53 55 42 20 31 30 31 30 0D 0A mch:GOSUB 1010..
000010: 20 20 20 31 30 30 34 20 57 45 4E 44 0D 0A 20 20 1004 WEND..
000020: 20 31 30 30 35 20 6D 64 3D 28 49 4E 4B 45 59 28 1005 md=(INKEY(
000030: 75 70 29 3E 2D 31 29 2D 28 49 4E 4B 45 59 28 64 up)>-1)-(INKEY(d
000040: 6F 77 29 3E 2D 31 29 3A 6D 7A 3D 6D 64 0D 0A 20 ow)>-1):mz=md..
000050: 20 20 31 30 30 36 20 6B 70 3D 2D 28 49 4E 4B 45 1006 kp=-(INKE
000060: 59 28 6C 65 29 3E 2D 31 29 2D 32 2A 28 49 4E 4B Y(le)>-1)-2*(INK
000070: 45 59 28 72 69 29 3E 2D 31 29 2D 34 2A 28 49 4E EY(ri)>-1)-4*(IN
000080: 4B 45 59 28 66 69 29 3E 2D 31 29 0D 0A 20 20 20 KEY(fi)>-1)..
000090: 31 30 30 37 20 57 45 4E 44 0D 0A 20 20 20 31 30 1007 WEND.. 10
0000A0: 30 38 20 57 48 49 4C 45 20 49 4E 4B 45 59 24 3C 08 WHILE INKEY$<
0000B0: 3E 22 22 3A 57 45 4E 44 0D 0A 20 20 20 31 30 30 >"":WEND.. 100
0000C0: 39 20 52 45 54 55 52 4E 0D 0A 20 20 20 31 30 31 9 RETURN.. 101
0000D0: 30 20 50 52 49 4E 54 20 43 48 52 24 28 32 33 29 0 PRINT CHR$(23)
0000E0: 2B 43 48 52 24 28 31 29 3B 0D 0A 20 20 20 31 30 +CHR$(1);.. 10
0000F0: 31 31 20 4D 4F 56 45 20 6D 78 2C 6D 79 2D 6D 70 11 MOVE mx,my-mp
000100: 2A 6D 73 70 2B 28 6D 64 3D 2D 31 29 2A 28 6D 62 *msp+(md=-1)*(mb
000110: 68 2D 32 29 0D 0A 20 20 20 31 30 31 32 20 46 4F h-2).. 1012 FO
000120: 52 20 6D 63 3D 31 20 54 4F 20 6D 62 68 2F 32 0D R mc=1 TO mbh/2.
000130: 0A 20 20 20 31 30 31 33 20 44 52 41 57 52 20 6D . 1013 DRAWR m
000140: 62 6C 2C 30 2C 6D 63 6F 6C 3A 4D 4F 56 45 52 20 bl,0,mcol:MOVER
000150: 2D 6D 62 6C 2C 2D 32 2D 28 6D 64 3D 2D 31 29 2A -mbl,-2-(md=-1)*
000160: 34 0D 0A 20 20 20 31 30 31 34 20 46 4F 52 20 64 4.. 1014 FOR d
000170: 65 6C 61 79 3D 30 20 54 4F 20 6D 64 65 3A 4E 45 elay=0 TO mde:NE
000180: 58 54 0D 0A 20 20 20 31 30 31 35 20 4E 45 58 54 XT.. 1015 NEXT
000190: 0D 0A 20 20 20 31 30 31 36 20 50 52 49 4E 54 20 .. 1016 PRINT
0001A0: 43 48 52 24 28 32 33 29 2B 43 48 52 24 28 30 29 CHR$(23)+CHR$(0)
0001B0: 3B 0D 0A 20 20 20 31 30 31 37 20 52 45 54 55 52 ;.. 1017 RETUR
0001C0: 4E 0D 0A 1A 20 74 68 65 20 6C 61 73 74 20 6F 66 N... the last of
0001D0: 20 74 68 72 65 65 20 61 72 74 69 63 6C 65 73 20 three articles
0001E0: 61 62 6F 75 74 20 6D 65 6E 75 20 68 61 6E 64 6C about menu handl
0001F0: 69 6E 67 20 69 6E 20 42 41 53 49 43 20 77 65 20 ing in BASIC we
Size : 512 (Real : 512)
000000: 6F 72 20 22 51 22 2C 20 61 6E 64 20 69 66 20 20 or "Q", and if
000010: 79 6F 75 20 20 71 75 69 74 20 20 74 68 65 6E 20 you quit then
000020: 6C 69 6E 65 20 32 35 30 20 72 65 73 65 74 73 20 line 250 resets
000030: 74 68 65 20 73 63 72 65 65 6E 0D 0A 20 20 20 61 the screen.. a
000040: 6E 64 20 74 65 78 74 20 73 65 74 74 69 6E 67 73 nd text settings
000050: 20 75 73 69 6E 67 20 74 77 6F 20 66 69 72 6D 77 using two firmw
000060: 61 72 65 20 63 61 6C 6C 73 2E 0D 0A 0D 0A 20 20 are calls.....
000070: 20 43 4F 55 4C 44 20 44 4F 20 42 45 54 54 45 52 COULD DO BETTER
000080: 0D 0A 20 20 20 54 68 69 73 20 69 73 20 61 20 76 .. This is a v
000090: 65 72 79 20 62 61 73 69 63 20 76 65 72 73 69 6F ery basic versio
0000A0: 6E 20 6F 66 20 74 68 65 20 67 61 6D 65 2C 20 61 n of the game, a
0000B0: 6E 64 20 6C 6F 74 73 20 6F 66 20 74 68 69 6E 67 nd lots of thing
0000C0: 73 20 63 6F 75 6C 64 20 62 65 20 64 6F 6E 65 0D s could be done.
0000D0: 0A 20 20 20 74 6F 20 73 70 69 63 65 20 69 74 20 . to spice it
0000E0: 75 70 2E 20 20 54 68 65 20 63 61 72 64 73 20 20 up. The cards
0000F0: 63 6F 75 6C 64 20 20 62 65 20 20 61 20 20 62 65 could be a be
000100: 74 74 65 72 20 20 73 68 61 70 65 20 61 6E 64 20 tter shape and
000110: 6C 6F 6F 6B 20 6D 6F 72 65 20 6C 69 6B 65 0D 0A look more like..
000120: 20 20 20 70 6C 61 79 69 6E 67 20 63 61 72 64 73 playing cards
000130: 2E 20 20 59 6F 75 20 63 6F 75 6C 64 20 69 6E 63 . You could inc
000140: 6C 75 64 65 20 61 70 70 72 6F 70 72 69 61 74 65 lude appropriate
000150: 20 6D 75 73 69 63 20 77 68 65 6E 20 63 61 72 64 music when card
000160: 73 20 6D 61 74 63 68 20 6F 72 20 64 6F 0D 0A 20 s match or do..
000170: 20 20 6E 6F 74 20 6D 61 74 63 68 2E 20 20 4F 72 not match. Or
000180: 20 79 6F 75 20 63 6F 75 6C 64 20 64 69 73 70 65 you could dispe
000190: 6E 73 65 20 20 77 69 74 68 20 20 74 68 65 20 63 nse with the c
0001A0: 6F 6D 70 75 74 65 72 20 61 6C 74 6F 67 65 74 68 omputer altogeth
0001B0: 65 72 20 61 6E 64 20 75 73 65 20 61 0D 0A 20 20 er and use a..
0001C0: 20 73 69 6D 70 6C 65 20 70 61 63 6B 20 6F 66 20 simple pack of
0001D0: 35 32 20 63 61 72 64 73 20 61 6E 64 20 61 20 74 52 cards and a t
0001E0: 61 62 6C 65 2E 0D 0A 0D 0A 0D 0A 20 20 20 35 20 able....... 5
0001F0: 52 45 4D 20 50 65 6C 6D 61 6E 69 73 6D 20 76 2E REM Pelmanism v.
Size : 512 (Real : 512)
000000: 20 20 20 6C 69 6E 65 73 20 32 35 33 30 2D 32 35 lines 2530-25
000010: 36 30 20 64 65 70 65 6E 64 69 6E 67 20 6F 6E 20 60 depending on
000020: 77 68 69 63 68 20 20 6B 65 79 20 20 69 73 20 20 which key is
000030: 70 72 65 73 73 65 64 2E 20 20 49 66 20 74 68 65 pressed. If the
000040: 20 70 6C 61 79 65 72 20 6D 6F 76 65 73 0D 0A 20 player moves..
000050: 20 20 6F 66 66 20 74 68 65 20 38 78 37 20 72 65 off the 8x7 re
000060: 63 74 61 6E 67 6C 65 20 74 68 65 20 63 75 72 73 ctangle the curs
000070: 6F 72 20 77 72 61 70 73 20 20 72 6F 75 6E 64 20 or wraps round
000080: 20 61 6E 64 20 72 65 61 70 70 65 61 72 73 20 61 and reappears a
000090: 74 20 74 68 65 20 74 6F 70 20 69 66 0D 0A 20 20 t the top if..
0000A0: 20 69 74 20 77 65 6E 74 20 6F 66 66 20 74 68 65 it went off the
0000B0: 20 62 6F 74 74 6F 6D 2C 20 65 74 63 2E 20 20 20 bottom, etc.
0000C0: 54 68 69 73 20 20 69 73 20 20 64 6F 6E 65 20 20 This is done
0000D0: 75 73 69 6E 67 20 4D 4F 44 2E 20 20 49 6E 20 6C using MOD. In l
0000E0: 69 6E 65 20 32 35 33 30 20 77 65 0D 0A 20 20 20 ine 2530 we..
0000F0: 68 61 76 65 20 74 6F 20 61 64 64 20 38 20 62 65 have to add 8 be
000100: 66 6F 72 65 20 4D 4F 44 64 69 6E 67 20 62 79 20 fore MODding by
000110: 20 38 2C 20 20 61 73 20 20 74 68 65 20 63 75 72 8, as the cur
000120: 73 6F 72 20 6D 69 67 68 74 20 62 65 20 61 74 20 sor might be at
000130: 70 6F 73 69 74 69 6F 6E 20 30 0D 0A 20 20 20 28 position 0.. (
000140: 74 68 65 20 66 69 72 73 74 20 72 6F 77 29 20 61 the first row) a
000150: 6E 64 20 4D 4F 44 20 2D 31 20 20 3D 20 20 2D 31 nd MOD -1 = -1
000160: 2C 20 20 77 68 65 72 65 61 73 20 20 77 65 20 20 , whereas we
000170: 77 61 6E 74 20 37 2C 20 66 6F 72 20 74 68 65 20 want 7, for the
000180: 6C 61 73 74 20 72 6F 77 2E 0D 0A 20 20 20 4C 69 last row... Li
000190: 6E 65 20 32 35 35 30 20 69 73 20 73 69 6D 69 6C ne 2550 is simil
0001A0: 61 72 2E 0D 0A 0D 0A 20 20 20 42 65 66 6F 72 65 ar..... Before
0001B0: 20 6D 6F 76 69 6E 67 20 74 68 65 20 63 75 72 73 moving the curs
0001C0: 6F 72 20 77 65 20 64 65 6C 65 74 65 20 69 74 20 or we delete it
0001D0: 20 66 72 6F 6D 20 69 74 73 20 66 6F 72 6D 65 72 from its former
0001E0: 20 70 6F 73 69 74 69 6F 6E 2C 20 61 6E 64 20 61 position, and a
0001F0: 66 74 65 72 0D 0A 20 20 20 6D 6F 76 69 6E 67 20 fter.. moving
Size : 512 (Real : 512)
000000: 6F 72 0D 0A 20 20 20 70 63 6F 6C 20 61 6E 64 20 or.. pcol and
000010: 79 6F 75 20 77 69 6C 6C 20 73 65 65 20 74 68 61 you will see tha
000020: 74 20 69 74 20 77 6F 72 6B 73 2E 0D 0A 0D 0A 20 t it works.....
000030: 20 20 33 35 30 30 20 50 72 69 6E 74 69 6E 67 20 3500 Printing
000040: 62 61 63 6B 73 20 6F 66 20 63 61 72 64 73 0D 0A backs of cards..
000050: 20 20 20 54 68 69 73 20 69 73 20 76 65 72 79 20 This is very
000060: 73 69 6D 70 6C 65 3A 20 74 68 65 20 62 61 63 6B simple: the back
000070: 73 20 20 61 72 65 20 20 74 77 6F 20 63 68 61 72 s are two char
000080: 61 63 74 65 72 73 20 67 6C 65 61 6E 65 64 20 66 acters gleaned f
000090: 72 6F 6D 20 74 68 65 20 41 53 43 49 49 0D 0A 20 rom the ASCII..
0000A0: 20 20 63 68 61 72 61 63 74 65 72 20 73 65 74 2E character set.
0000B0: 0D 0A 0D 0A 20 20 20 34 30 30 30 20 44 65 6C 65 .... 4000 Dele
0000C0: 74 69 6E 67 20 63 61 72 64 73 0D 0A 20 20 20 54 ting cards.. T
0000D0: 68 69 73 20 69 73 20 65 76 65 72 20 73 6F 20 65 his is ever so e
0000E0: 61 73 79 20 61 73 20 61 6C 6C 20 77 65 20 68 61 asy as all we ha
0000F0: 76 65 20 20 74 6F 20 64 6F 20 69 73 20 70 72 69 ve to do is pri
000100: 6E 74 20 73 70 61 63 65 73 20 6F 76 65 72 20 74 nt spaces over t
000110: 68 65 20 74 6F 70 20 6F 66 0D 0A 20 20 20 74 68 he top of.. th
000120: 65 20 63 61 72 64 20 70 72 65 76 69 6F 75 73 6C e card previousl
000130: 79 20 74 68 65 72 65 2E 0D 0A 0D 0A 20 20 20 34 y there..... 4
000140: 35 30 30 20 50 72 69 6E 74 69 6E 67 20 63 75 72 500 Printing cur
000150: 73 6F 72 0D 0A 20 20 20 54 68 69 73 20 69 73 20 sor.. This is
000160: 61 6E 20 22 58 22 20 73 70 72 65 61 64 20 6F 76 an "X" spread ov
000170: 65 72 20 74 77 6F 20 63 68 61 72 61 63 74 65 72 er two character
000180: 73 2C 20 70 72 69 6E 74 65 64 20 69 6E 20 77 68 s, printed in wh
000190: 69 74 65 20 69 6E 20 74 72 61 6E 73 70 61 72 65 ite in transpare
0001A0: 6E 74 0D 0A 20 20 20 6D 6F 64 65 20 6F 76 65 72 nt.. mode over
0001B0: 20 74 68 65 20 63 61 72 64 20 62 65 6C 6F 77 2E the card below.
0001C0: 20 20 49 74 20 69 73 20 20 6E 6F 74 20 20 70 72 It is not pr
0001D0: 69 6E 74 65 64 20 20 75 70 20 20 69 66 20 74 68 inted up if th
0001E0: 65 20 63 61 72 64 20 69 73 20 74 68 65 20 6F 6E e card is the on
0001F0: 65 0D 0A 20 20 20 6A 75 73 74 20 73 65 6C 65 63 e.. just selec
Size : 512 (Real : 512)
000000: 77 65 20 70 72 69 6E 74 20 69 74 20 69 6E 20 69 we print it in i
000010: 74 73 20 6E 65 77 20 70 6F 73 69 74 69 6F 6E 2E ts new position.
000020: 0D 0A 0D 0A 20 20 20 4F 6E 63 65 20 74 68 65 20 .... Once the
000030: 45 4E 54 45 52 2F 52 45 54 55 52 4E 20 6B 65 79 ENTER/RETURN key
000040: 20 68 61 73 20 20 62 65 65 6E 20 20 70 72 65 73 has been pres
000050: 73 65 64 20 20 74 68 65 20 20 63 61 72 64 20 73 sed the card s
000060: 65 6C 65 63 74 65 64 20 69 73 20 74 75 72 6E 65 elected is turne
000070: 64 0D 0A 20 20 20 6F 76 65 72 2C 20 69 2E 65 2E d.. over, i.e.
000080: 20 70 72 69 6E 74 65 64 20 75 70 20 62 79 20 47 printed up by G
000090: 4F 53 55 42 62 69 6E 67 20 33 30 30 30 2E 20 20 OSUBbing 3000.
0000A0: 20 54 68 65 20 76 61 6C 75 65 20 6F 66 20 74 68 The value of th
0000B0: 65 20 63 61 72 64 20 28 77 68 69 63 68 20 77 65 e card (which we
0000C0: 0D 0A 20 20 20 77 6F 72 6B 65 64 20 6F 75 74 20 .. worked out
0000D0: 77 68 65 6E 20 47 4F 53 55 42 62 69 6E 67 20 33 when GOSUBbing 3
0000E0: 30 30 30 29 20 69 73 20 20 73 74 6F 72 65 64 20 000) is stored
0000F0: 20 69 6E 20 63 61 72 64 73 65 6C 20 61 6E 64 20 in cardsel and
000100: 74 68 65 20 70 6F 73 69 74 69 6F 6E 20 69 6E 0D the position in.
000110: 0A 20 20 20 28 72 31 2C 63 31 29 2E 20 20 54 68 . (r1,c1). Th
000120: 65 20 70 6C 61 79 65 72 20 69 73 20 20 74 68 65 e player is the
000130: 6E 20 20 61 73 6B 65 64 20 20 74 6F 20 20 63 68 n asked to ch
000140: 6F 6F 73 65 20 20 61 6E 6F 74 68 65 72 20 63 61 oose another ca
000150: 72 64 2E 20 20 4C 69 6E 65 20 32 30 33 30 0D 0A rd. Line 2030..
000160: 20 20 20 65 6E 73 75 72 65 73 20 74 68 61 74 20 ensures that
000170: 74 68 65 79 20 64 6F 20 6E 6F 74 20 63 68 6F 6F they do not choo
000180: 73 65 20 74 68 65 20 20 73 61 6D 65 20 63 61 72 se the same car
000190: 64 20 61 67 61 69 6E 2C 20 70 72 69 6E 74 73 20 d again, prints
0001A0: 75 70 20 74 68 65 20 73 65 63 6F 6E 64 0D 0A 20 up the second..
0001B0: 20 20 63 61 72 64 20 73 65 6C 65 63 74 65 64 20 card selected
0001C0: 61 6E 64 20 74 68 65 6E 20 63 6F 6D 70 61 72 65 and then compare
0001D0: 73 20 74 68 65 20 76 61 6C 75 65 73 20 6F 66 20 s the values of
0001E0: 74 68 65 20 74 77 6F 20 63 61 72 64 73 2E 0D 0A the two cards...
0001F0: 0D 0A 20 20 20 49 66 20 74 68 65 79 20 61 72 65 .. If they are
Size : 512 (Real : 512)
000000: 74 65 64 2C 20 69 2E 65 2E 20 69 6E 20 74 68 65 ted, i.e. in the
000010: 20 70 6F 73 69 74 69 6F 6E 20 28 72 31 2C 63 31 position (r1,c1
000020: 29 2E 0D 0A 0D 0A 20 20 20 34 35 32 30 20 44 65 )..... 4520 De
000030: 6C 65 74 69 6E 67 20 63 75 72 73 6F 72 0D 0A 20 leting cursor..
000040: 20 20 57 65 20 64 6F 20 6E 6F 74 20 6E 65 65 64 We do not need
000050: 20 74 6F 20 64 65 6C 65 74 65 20 74 68 65 20 63 to delete the c
000060: 75 72 73 6F 72 20 20 69 66 20 69 74 20 69 73 20 ursor if it is
000070: 6F 76 65 72 20 74 68 65 20 63 61 72 64 20 6A 75 over the card ju
000080: 73 74 20 73 65 6C 65 63 74 65 64 2C 0D 0A 20 20 st selected,..
000090: 20 61 73 20 69 74 20 77 61 73 20 6E 6F 74 20 70 as it was not p
0000A0: 72 69 6E 74 65 64 20 74 68 65 72 65 20 20 69 6E rinted there in
0000B0: 20 20 74 68 65 20 20 66 69 72 73 74 20 20 70 6C the first pl
0000C0: 61 63 65 2E 20 20 20 49 66 20 74 68 65 72 65 20 ace. If there
0000D0: 77 61 73 20 6E 6F 20 63 61 72 64 0D 0A 20 20 20 was no card..
0000E0: 75 6E 64 65 72 20 74 68 65 20 63 75 72 73 6F 72 under the cursor
0000F0: 20 74 68 65 6E 20 74 68 65 20 20 63 75 72 73 6F then the curso
000100: 72 20 20 69 73 20 20 64 65 6C 65 74 65 64 20 20 r is deleted
000110: 75 73 69 6E 67 20 74 68 65 20 72 6F 75 74 69 6E using the routin
000120: 65 20 61 74 20 34 30 30 30 3A 0D 0A 20 20 20 6F e at 4000:.. o
000130: 74 68 65 72 77 69 73 65 20 74 68 65 20 62 61 63 therwise the bac
000140: 6B 20 69 73 20 70 72 69 6E 74 65 64 20 75 70 20 k is printed up
000150: 61 67 61 69 6E 20 75 73 69 6E 67 20 33 35 30 30 again using 3500
000160: 2E 0D 0A 0D 0A 20 20 20 4F 4E 20 57 49 54 48 20 ..... ON WITH
000170: 54 48 45 20 47 41 4D 45 0D 0A 20 20 20 4C 69 6E THE GAME.. Lin
000180: 65 73 20 31 31 30 2D 31 34 30 20 61 6C 6C 6F 77 es 110-140 allow
000190: 20 74 68 65 20 75 73 65 72 20 20 74 6F 20 20 73 the user to s
0001A0: 65 6C 65 63 74 20 20 74 68 65 20 20 6E 75 6D 62 elect the numb
0001B0: 65 72 20 6F 66 20 70 6C 61 79 65 72 73 20 61 6E er of players an
0001C0: 64 20 65 6E 74 65 72 0D 0A 20 20 20 74 68 65 69 d enter.. thei
0001D0: 72 20 6E 61 6D 65 73 2C 20 74 68 65 20 66 69 72 r names, the fir
0001E0: 73 74 20 31 36 20 63 68 61 72 61 63 74 65 72 73 st 16 characters
0001F0: 20 6F 66 20 20 77 68 69 63 68 20 61 72 65 20 75 of which are u
Size : 512 (Real : 512)
000000: 20 74 68 65 20 73 61 6D 65 20 74 68 65 6E 20 77 the same then w
000010: 65 20 47 4F 53 55 42 20 32 31 30 30 2C 20 72 65 e GOSUB 2100, re
000020: 6D 6F 76 65 20 74 68 65 20 63 61 72 64 73 20 62 move the cards b
000030: 79 20 64 65 6C 65 74 69 6E 67 20 74 68 65 6D 0D y deleting them.
000040: 0A 20 20 20 61 6E 64 20 73 65 74 74 69 6E 67 20 . and setting
000050: 63 28 72 6F 77 2C 63 6F 6C 29 3D 30 20 66 6F 72 c(row,col)=0 for
000060: 20 20 65 61 63 68 20 20 70 6F 73 69 74 69 6F 6E each position
000070: 2C 20 20 61 6E 64 20 20 61 64 64 20 20 31 20 74 , and add 1 t
000080: 6F 20 74 68 65 20 70 6C 61 79 65 72 27 73 0D 0A o the player's..
000090: 20 20 20 73 63 6F 72 65 20 6F 66 20 70 61 69 72 score of pair
0000A0: 73 20 77 6F 6E 2C 20 70 72 69 6E 74 69 6E 67 20 s won, printing
0000B0: 69 74 20 20 62 65 6C 6F 77 20 20 74 68 65 69 72 it below their
0000C0: 20 20 6E 61 6D 65 20 6F 6E 20 73 63 72 65 65 6E name on screen
0000D0: 2E 20 20 54 68 65 20 70 6C 61 79 65 72 0D 0A 20 . The player..
0000E0: 20 20 74 68 65 6E 20 67 65 74 73 20 61 6E 6F 74 then gets anot
0000F0: 68 65 72 20 74 75 72 6E 2E 20 20 49 66 20 74 68 her turn. If th
000100: 65 20 63 61 72 64 73 20 64 6F 20 6E 6F 74 20 6D e cards do not m
000110: 61 74 63 68 20 74 68 65 6E 20 74 68 65 79 20 61 atch then they a
000120: 72 65 20 73 68 6F 77 6E 20 66 6F 72 0D 0A 20 20 re shown for..
000130: 20 61 20 73 65 74 20 6C 65 6E 67 74 68 20 6F 66 a set length of
000140: 20 74 69 6D 65 20 73 6F 20 74 68 61 74 20 20 61 time so that a
000150: 6C 6C 20 20 70 6C 61 79 65 72 73 20 20 68 61 76 ll players hav
000160: 65 20 61 20 66 61 69 72 20 63 68 61 6E 63 65 20 e a fair chance
000170: 74 6F 20 73 65 65 20 77 68 61 74 0D 0A 20 20 20 to see what..
000180: 61 6E 64 20 77 68 65 72 65 20 74 68 65 79 20 77 and where they w
000190: 65 72 65 2C 20 61 6E 64 20 20 74 68 65 6E 20 20 ere, and then
0001A0: 74 68 65 79 20 20 61 72 65 20 20 74 75 72 6E 65 they are turne
0001B0: 64 20 20 6F 76 65 72 20 61 67 61 69 6E 20 62 79 d over again by
0001C0: 20 47 4F 53 55 42 62 69 6E 67 0D 0A 20 20 20 33 GOSUBbing.. 3
0001D0: 35 30 30 2C 20 61 6E 64 20 69 74 20 69 73 20 74 500, and it is t
0001E0: 68 65 20 6E 65 78 74 20 70 6C 61 79 65 72 27 73 he next player's
0001F0: 20 74 75 72 6E 2E 0D 0A 0D 0A 20 20 20 41 4E 44 turn..... AND
Size : 512 (Real : 512)
000000: 73 65 64 20 62 79 20 74 68 65 20 70 72 6F 67 72 sed by the progr
000010: 61 6D 20 61 6E 64 0D 0A 20 20 20 61 72 65 20 70 am and.. are p
000020: 72 69 6E 74 65 64 20 75 70 20 74 6F 20 74 68 65 rinted up to the
000030: 20 20 72 69 67 68 74 20 20 6F 66 20 20 74 68 65 right of the
000040: 20 20 64 65 61 6C 74 20 20 6F 75 74 20 63 61 72 dealt out car
000050: 64 73 2E 20 20 41 6C 6C 20 73 69 78 20 70 6C 61 ds. All six pla
000060: 79 65 72 73 27 0D 0A 20 20 20 73 63 6F 72 65 73 yers'.. scores
000070: 20 61 72 65 20 73 65 74 20 74 6F 20 30 20 72 65 are set to 0 re
000080: 67 61 72 64 6C 65 73 73 20 6F 66 20 68 6F 77 20 gardless of how
000090: 20 6D 61 6E 79 20 61 72 65 20 70 6C 61 79 69 6E many are playin
0000A0: 67 20 61 73 20 6C 69 6E 65 20 31 35 30 20 63 68 g as line 150 ch
0000B0: 65 63 6B 73 0D 0A 20 20 20 74 68 65 20 73 75 6D ecks.. the sum
0000C0: 20 74 6F 74 61 6C 20 6F 66 20 70 61 69 72 73 20 total of pairs
0000D0: 77 6F 6E 20 74 6F 20 64 65 74 65 72 6D 69 6E 65 won to determine
0000E0: 20 77 68 65 6E 20 74 68 65 20 67 61 6D 65 20 65 when the game e
0000F0: 6E 64 73 2E 0D 0A 0D 0A 20 20 20 54 41 4B 49 4E nds..... TAKIN
000100: 47 20 54 55 52 4E 53 0D 0A 20 20 20 57 65 20 6E G TURNS.. We n
000110: 6F 77 20 47 4F 53 55 42 20 74 68 65 20 6D 61 69 ow GOSUB the mai
000120: 6E 20 6C 6F 6F 70 20 20 69 6E 20 20 32 30 30 30 n loop in 2000
000130: 20 20 66 6F 72 20 20 65 61 63 68 20 70 6C 61 79 for each play
000140: 65 72 27 73 20 74 75 72 6E 2E 20 20 54 68 65 20 er's turn. The
000150: 63 75 72 73 6F 72 0D 0A 20 20 20 73 74 61 72 74 cursor.. start
000160: 73 20 6F 66 66 20 61 74 20 28 30 2C 30 29 20 61 s off at (0,0) a
000170: 6E 64 20 74 68 65 20 70 6F 73 69 74 69 6F 6E 20 nd the position
000180: 20 6F 66 20 74 68 65 20 6C 61 73 74 20 63 61 72 of the last car
000190: 64 20 63 68 6F 73 65 6E 2C 20 28 72 31 2C 63 31 d chosen, (r1,c1
0001A0: 29 2C 20 69 73 0D 0A 20 20 20 73 65 74 20 74 6F ), is.. set to
0001B0: 20 62 65 20 28 2D 31 2C 2D 31 29 20 61 73 20 74 be (-1,-1) as t
0001C0: 68 69 73 20 69 73 20 20 6F 75 74 73 69 64 65 20 his is outside
0001D0: 20 74 68 65 20 70 6C 61 79 69 6E 67 20 61 72 65 the playing are
0001E0: 61 20 73 6F 20 77 6F 6E 27 74 20 69 6E 74 65 72 a so won't inter
0001F0: 66 65 72 65 0D 0A 20 20 20 77 69 74 68 20 74 68 fere.. with th
Size : 512 (Real : 512)
000000: 20 54 48 45 20 57 49 4E 4E 45 52 20 49 53 2E 2E THE WINNER IS..
000010: 2E 0D 0A 20 20 20 4F 6E 63 65 20 61 6C 6C 20 74 ... Once all t
000020: 68 65 20 70 61 69 72 73 20 68 61 76 65 20 62 65 he pairs have be
000030: 65 6E 20 77 6F 6E 2C 20 74 68 65 20 57 48 49 4C en won, the WHIL
000040: 45 2D 57 45 4E 44 20 6C 6F 6F 70 20 69 6E 20 6C E-WEND loop in l
000050: 69 6E 65 20 31 35 30 20 65 6E 64 73 20 61 6E 64 ine 150 ends and
000060: 0D 0A 20 20 20 77 65 20 67 65 74 20 6F 6E 74 6F .. we get onto
000070: 20 74 68 65 20 62 75 73 69 6E 65 73 73 20 20 6F the business o
000080: 66 20 20 77 6F 72 6B 69 6E 67 20 20 6F 75 74 20 f working out
000090: 20 74 68 65 20 20 77 69 6E 6E 65 72 2E 20 20 41 the winner. A
0000A0: 73 20 6D 6F 72 65 20 74 68 61 6E 20 6F 6E 65 0D s more than one.
0000B0: 0A 20 20 20 70 6C 61 79 65 72 20 6D 69 67 68 74 . player might
0000C0: 20 68 61 76 65 20 67 6F 74 20 74 68 65 20 68 69 have got the hi
0000D0: 67 68 65 73 74 20 6E 75 6D 62 65 72 20 6F 66 20 ghest number of
0000E0: 70 61 69 72 73 20 77 65 20 73 74 6F 72 65 20 61 pairs we store a
0000F0: 20 63 68 61 72 61 63 74 65 72 20 66 6F 72 0D 0A character for..
000100: 20 20 20 65 61 63 68 20 6F 66 20 74 68 65 20 77 each of the w
000110: 69 6E 6E 65 72 73 20 69 6E 20 77 69 6E 24 2C 20 inners in win$,
000120: 61 6E 64 20 74 68 65 20 6C 65 6E 67 74 68 20 6F and the length o
000130: 66 20 77 69 6E 24 20 73 68 6F 77 73 20 68 6F 77 f win$ shows how
000140: 20 6D 61 6E 79 20 77 69 6E 6E 65 72 73 0D 0A 20 many winners..
000150: 20 20 74 68 65 72 65 20 61 72 65 2E 20 20 57 65 there are. We
000160: 20 63 61 6E 20 74 68 65 6E 20 20 70 72 69 6E 74 can then print
000170: 20 20 75 70 20 20 61 70 70 72 6F 70 72 69 61 74 up appropriat
000180: 65 20 63 6F 6E 67 72 61 74 75 6C 61 74 6F 72 79 e congratulatory
000190: 20 6D 65 73 73 61 67 65 73 20 69 6E 0D 0A 20 20 messages in..
0001A0: 20 6C 69 6E 65 20 32 32 30 2E 20 20 4C 69 6E 65 line 220. Line
0001B0: 20 32 33 30 20 77 61 69 74 73 20 66 6F 72 20 79 230 waits for y
0001C0: 6F 75 20 20 74 6F 20 20 64 65 63 69 64 65 20 77 ou to decide w
0001D0: 68 65 74 68 65 72 20 74 6F 20 70 6C 61 79 20 61 hether to play a
0001E0: 67 61 69 6E 20 6F 72 20 6E 6F 74 0D 0A 20 20 20 gain or not..
0001F0: 62 79 20 70 72 65 73 73 69 6E 67 20 22 50 22 20 by pressing "P"
Size : 512 (Real : 512)
000000: 65 20 70 72 69 6E 74 69 6E 67 20 75 70 20 6F 66 e printing up of
000010: 20 74 68 65 20 20 63 75 72 73 6F 72 2E 20 20 20 the cursor.
000020: 47 4F 53 55 42 62 69 6E 67 20 20 32 35 30 30 20 GOSUBbing 2500
000030: 74 65 6C 6C 73 20 74 68 65 20 70 6C 61 79 65 72 tells the player
000040: 20 74 6F 0D 0A 20 20 20 63 68 6F 6F 73 65 20 22 to.. choose "
000050: 61 20 63 61 72 64 22 20 6F 72 20 22 61 6E 6F 74 a card" or "anot
000060: 68 65 72 20 63 61 72 64 22 20 20 64 65 70 65 6E her card" depen
000070: 64 69 6E 67 20 20 6F 6E 20 20 74 68 65 20 76 61 ding on the va
000080: 6C 75 65 20 6F 66 20 6D 75 64 24 20 2D 20 74 68 lue of mud$ - th
000090: 69 73 0D 0A 20 20 20 73 61 76 65 73 20 68 61 76 is.. saves hav
0000A0: 69 6E 67 20 74 6F 20 70 75 74 20 69 6E 20 74 68 ing to put in th
0000B0: 65 20 20 73 61 6D 65 20 20 72 6F 75 74 69 6E 65 e same routine
0000C0: 20 20 74 77 69 63 65 2E 20 20 4C 69 6E 65 20 32 twice. Line 2
0000D0: 35 32 30 20 77 61 69 74 73 20 66 6F 72 20 74 68 520 waits for th
0000E0: 65 0D 0A 20 20 20 63 75 72 73 6F 72 20 6B 65 79 e.. cursor key
0000F0: 73 20 6F 72 20 74 68 65 20 45 4E 54 45 52 2F 52 s or the ENTER/R
000100: 45 54 55 52 4E 20 6B 65 79 20 20 74 6F 20 20 62 ETURN key to b
000110: 65 20 20 70 72 65 73 73 65 64 2E 20 20 49 74 20 e pressed. It
000120: 6F 6E 6C 79 20 72 65 73 70 6F 6E 64 73 20 74 6F only responds to
000130: 0D 0A 20 20 20 74 68 65 20 45 4E 54 45 52 2F 52 .. the ENTER/R
000140: 45 54 55 52 4E 20 6B 65 79 20 69 66 20 74 68 65 ETURN key if the
000150: 72 65 20 69 73 20 61 20 63 61 72 64 20 20 69 6E re is a card in
000160: 20 74 68 61 74 20 70 6F 73 69 74 69 6F 6E 2C 20 that position,
000170: 69 6E 20 77 68 69 63 68 20 63 61 73 65 20 61 0D in which case a.
000180: 0A 20 20 20 63 61 72 64 20 68 61 73 20 62 65 65 . card has bee
000190: 6E 20 73 65 6C 65 63 74 65 64 20 61 6E 64 20 77 n selected and w
0001A0: 65 20 63 61 6E 20 52 45 54 55 52 4E 2E 0D 0A 0D e can RETURN....
0001B0: 0A 20 20 20 49 66 20 61 20 63 75 72 73 6F 72 20 . If a cursor
0001C0: 6B 65 79 20 69 73 20 70 72 65 73 73 65 64 20 77 key is pressed w
0001D0: 65 20 20 6E 65 65 64 20 20 74 6F 20 20 6D 6F 76 e need to mov
0001E0: 65 20 74 68 65 20 63 75 72 73 6F 72 2E 20 20 54 e the cursor. T
0001F0: 68 69 73 20 69 73 20 64 6F 6E 65 20 69 6E 0D 0A his is done in..
Size : 512 (Real : 512)
000000: 3B 22 2E 22 20 45 4C 53 45 20 50 52 49 4E 54 22 ;"." ELSE PRINT"
000010: 73 20 61 72 65 3A 22 3A 0D 0A 20 20 20 20 20 20 s are:":..
000020: 20 46 4F 52 20 6E 3D 31 20 54 4F 20 4C 45 4E 28 FOR n=1 TO LEN(
000030: 77 69 6E 24 29 3A 50 52 49 4E 54 20 70 6C 24 28 win$):PRINT pl$(
000040: 41 53 43 28 4D 49 44 24 28 77 69 6E 24 2C 6E 2C ASC(MID$(win$,n,
000050: 31 29 29 29 3A 4E 45 58 54 0D 0A 20 20 20 32 33 1))):NEXT.. 23
000060: 30 20 4C 4F 43 41 54 45 23 31 2C 31 2C 31 3A 50 0 LOCATE#1,1,1:P
000070: 52 49 4E 54 23 31 2C 22 50 72 65 73 73 20 50 20 RINT#1,"Press P
000080: 74 6F 20 70 6C 61 79 20 61 67 61 69 6E 2C 20 51 to play again, Q
000090: 20 74 6F 20 71 75 69 74 22 3B 43 48 52 24 28 32 to quit";CHR$(2
0000A0: 30 29 3B 3A 0D 0A 20 20 20 20 20 20 20 61 24 3D 0);:.. a$=
0000B0: 22 22 3A 57 48 49 4C 45 20 61 24 3C 22 50 22 20 "":WHILE a$<"P"
0000C0: 4F 52 20 61 24 3E 22 51 22 3A 61 24 3D 55 50 50 OR a$>"Q":a$=UPP
0000D0: 45 52 24 28 49 4E 4B 45 59 24 29 3A 57 45 4E 44 ER$(INKEY$):WEND
0000E0: 0D 0A 20 20 20 32 34 30 20 49 46 20 61 24 3D 22 .. 240 IF a$="
0000F0: 50 22 20 47 4F 54 4F 20 35 30 0D 0A 20 20 20 32 P" GOTO 50.. 2
000100: 35 30 20 43 41 4C 4C 20 26 42 43 30 32 3A 43 41 50 CALL &BC02:CA
000110: 4C 4C 20 26 42 42 34 45 3A 4D 4F 44 45 20 31 3A LL &BB4E:MODE 1:
000120: 45 4E 44 0D 0A 20 20 20 31 30 30 30 20 4C 4F 43 END.. 1000 LOC
000130: 41 54 45 23 31 2C 31 30 2C 31 3A 50 52 49 4E 54 ATE#1,10,1:PRINT
000140: 23 31 2C 43 48 52 24 28 31 37 29 3B 22 44 65 61 #1,CHR$(17);"Dea
000150: 6C 69 6E 67 2E 2E 2E 22 3B 43 48 52 24 28 32 30 ling...";CHR$(20
000160: 29 3B 0D 0A 20 20 20 31 30 31 30 20 6E 3D 35 32 );.. 1010 n=52
000170: 3A 46 4F 52 20 72 6F 77 3D 30 20 54 4F 20 36 3A :FOR row=0 TO 6:
000180: 46 4F 52 20 63 6F 6C 3D 30 20 54 4F 20 36 3A 63 FOR col=0 TO 6:c
000190: 64 65 6C 3D 49 4E 54 28 52 4E 44 2A 6E 2B 31 29 del=INT(RND*n+1)
0001A0: 3A 0D 0A 20 20 20 20 20 20 20 20 63 28 72 6F 77 :.. c(row
0001B0: 2C 63 6F 6C 29 3D 70 61 63 6B 28 63 64 65 6C 29 ,col)=pack(cdel)
0001C0: 3A 70 61 63 6B 28 63 64 65 6C 29 3D 70 61 63 6B :pack(cdel)=pack
0001D0: 28 6E 29 3A 47 4F 53 55 42 20 33 35 30 30 3A 6E (n):GOSUB 3500:n
0001E0: 3D 6E 2D 31 3A 4E 45 58 54 3A 4E 45 58 54 0D 0A =n-1:NEXT:NEXT..
0001F0: 20 20 20 31 30 32 30 20 46 4F 52 20 63 6F 6C 3D 1020 FOR col=
Size : 512 (Real : 512)
000000: 00 44 49 53 43 4D 45 4E 55 42 41 53 00 00 00 00 .DISCMENUBAS....
000010: 00 00 00 00 00 70 01 00 74 03 00 00 00 00 00 00 .....p..t.......
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: 74 03 00 8D 04 A6 20 A3 20 03 00 00 F5 01 0D 00 t..... . .......
000050: 00 F5 EF FF 1D 28 03 00 00 F5 29 01 D5 01 A1 20 .....(....)....
000060: 03 00 00 F5 F2 22 22 20 EB 20 7C 00 55 53 45 D2 ....."" . |.USE.
000070: 2C 0D 00 00 F5 01 8A 01 84 01 0D 00 00 F6 EF FF ,...............
000080: B5 00 0A 00 8E 20 61 2D 7A 01 AA 20 FF 42 F5 19 ..... a-z.. .B..
000090: 22 01 0D 00 00 E1 EF FF 1B 28 FF 42 F4 0F 29 01 "........(.B..).
0000A0: 9E 20 0D 00 00 F8 EF 0E 20 EC 20 19 21 01 C3 20 . ...... . .!..
0000B0: 03 00 00 E1 01 BE 20 0D 00 00 E1 F4 0D 00 00 F8 ...... .........
0000C0: 2C FF 1D 28 22 26 22 F4 03 00 00 E1 29 01 B0 01 ,..("&".....)...
0000D0: 8C 20 43 44 2C 37 38 2C 42 42 2C 34 43 2C 44 44 . CD,78,BB,4C,DD
0000E0: 2C 36 45 2C 30 2C 44 44 2C 36 36 2C 31 2C 34 36 ,6E,0,DD,66,1,46
0000F0: 2C 37 38 2C 42 37 2C 43 38 2C 32 33 2C 35 45 2C ,78,B7,C8,23,5E,
000100: 32 33 2C 36 36 2C 36 42 2C 43 44 2C 36 30 2C 42 23,66,6B,CD,60,B
000110: 42 2C 37 37 2C 32 33 2C 43 2C 37 39 2C 45 35 2C B,77,23,C,79,E5,
000120: 43 44 2C 36 46 2C 42 42 2C 45 31 2C 31 30 2C 46 CD,6F,BB,E1,10,F
000130: 32 2C 43 39 00 48 00 14 00 83 20 1C 4E BB 01 83 2,C9.H.... .N...
000140: 20 1C 02 BC 01 83 20 1C BA BB 01 AD 20 10 01 BF ..... ..... ...
000150: 20 FF 03 28 19 17 29 F4 FF 03 28 0F 29 01 0D 00 ..(..)...(.)...
000160: 00 F8 EF 19 64 01 0D 00 00 F9 EF 1A 28 01 01 84 ....d.......(...
000170: 01 0D 00 00 F6 EF FF 7F 28 23 0E 29 00 56 00 1E ........(#.).V..
000180: 00 D6 20 0F 01 D0 01 03 00 00 E6 EF FF 16 28 19 .. ...........(.
000190: 0C 29 01 D6 20 AC 28 03 00 00 E6 2C 17 2C 0F 29 .).. .(....,.,.)
0001A0: F2 22 2E 22 20 FA 20 AC 28 03 00 00 E6 2C 16 2C ."." . .(....,.,
0001B0: 0F 29 F2 22 3A 22 01 AE 20 0D 00 00 F8 2C 0D 00 .).":".. ....,..
0001C0: 00 F9 01 BF 20 FF 03 28 19 D7 29 3B 01 9F 20 1E .... ..(..);.. .
0001D0: 50 00 00 E6 00 28 00 D6 20 FF 0A 28 19 2F 29 F4 P....(.. ..(./).
0001E0: FF 0A 28 19 12 29 F4 FF 0A 28 17 29 EF F5 11 01 ..(..)...(.)....
0001F0: 0D 00 00 E2 EF 0D 00 00 F8 01 0D 00 00 E3 EF 0D ................
Size : 512 (Real : 512)
000000: 30 20 54 4F 20 32 3A 63 64 65 6C 3D 49 4E 54 28 0 TO 2:cdel=INT(
000010: 52 4E 44 28 31 29 2A 6E 2B 31 29 3A 63 28 72 6F RND(1)*n+1):c(ro
000020: 77 2C 63 6F 6C 29 3D 70 61 63 6B 28 63 64 65 6C w,col)=pack(cdel
000030: 29 3A 0D 0A 20 20 20 20 20 20 20 20 70 61 63 6B ):.. pack
000040: 28 63 64 65 6C 29 3D 70 61 63 6B 28 6E 29 3A 47 (cdel)=pack(n):G
000050: 4F 53 55 42 20 33 35 30 30 3A 6E 3D 6E 2D 31 3A OSUB 3500:n=n-1:
000060: 4E 45 58 54 3A 52 45 54 55 52 4E 0D 0A 20 20 20 NEXT:RETURN..
000070: 32 30 30 30 20 72 6F 77 3D 30 3A 63 6F 6C 3D 30 2000 row=0:col=0
000080: 3A 72 31 3D 2D 31 3A 63 31 3D 2D 31 3A 47 4F 53 :r1=-1:c1=-1:GOS
000090: 55 42 20 34 35 30 30 0D 0A 20 20 20 32 30 31 30 UB 4500.. 2010
0000A0: 20 6D 75 64 24 3D 22 22 3A 47 4F 53 55 42 20 32 mud$="":GOSUB 2
0000B0: 35 30 30 3A 47 4F 53 55 42 20 33 30 30 30 3A 72 500:GOSUB 3000:r
0000C0: 31 3D 72 6F 77 3A 63 31 3D 63 6F 6C 3A 63 61 72 1=row:c1=col:car
0000D0: 64 73 65 6C 3D 63 61 72 64 0D 0A 20 20 20 32 30 dsel=card.. 20
0000E0: 32 30 20 6D 75 64 24 3D 22 6E 6F 74 68 65 72 22 20 mud$="nother"
0000F0: 3A 47 4F 53 55 42 20 32 35 30 30 0D 0A 20 20 20 :GOSUB 2500..
000100: 32 30 33 30 20 49 46 20 72 6F 77 3C 3E 72 31 20 2030 IF row<>r1
000110: 4F 52 20 63 6F 6C 3C 3E 63 31 20 54 48 45 4E 20 OR col<>c1 THEN
000120: 47 4F 53 55 42 20 33 30 30 30 20 45 4C 53 45 20 GOSUB 3000 ELSE
000130: 32 30 32 30 0D 0A 20 20 20 32 30 34 30 20 49 46 2020.. 2040 IF
000140: 20 63 61 72 64 3D 63 61 72 64 73 65 6C 20 54 48 card=cardsel TH
000150: 45 4E 20 32 31 30 30 20 45 4C 53 45 20 32 32 30 EN 2100 ELSE 220
000160: 30 0D 0A 20 20 20 32 31 30 30 20 4C 4F 43 41 54 0.. 2100 LOCAT
000170: 45 23 31 2C 31 2C 31 3A 50 52 49 4E 54 23 31 2C E#1,1,1:PRINT#1,
000180: 22 54 68 65 79 20 6D 61 74 63 68 21 20 57 65 6C "They match! Wel
000190: 6C 20 64 6F 6E 65 20 22 3B 70 6C 24 28 74 75 72 l done ";pl$(tur
0001A0: 6E 29 3B 22 2E 22 3B 43 48 52 24 28 32 30 29 3A n);".";CHR$(20):
0001B0: 0D 0A 20 20 20 20 20 20 20 20 46 4F 52 20 64 65 .. FOR de
0001C0: 6C 61 79 3D 31 20 54 4F 20 35 30 30 3A 4E 45 58 lay=1 TO 500:NEX
0001D0: 54 0D 0A 20 20 20 32 31 31 30 20 47 4F 53 55 42 T.. 2110 GOSUB
0001E0: 20 34 30 30 30 3A 63 28 72 6F 77 2C 63 6F 6C 29 4000:c(row,col)
0001F0: 3D 30 3A 72 6F 77 3D 72 31 3A 63 6F 6C 3D 63 31 =0:row=r1:col=c1
Size : 512 (Real : 512)
000000: 00 00 F9 01 0D 00 00 F8 EF FF 76 28 0E 2C FF 77 ..........v(.,.w
000010: 28 1A 78 02 2C 0D 00 00 F8 F4 11 F6 28 28 FF 0A (.x.,.......((..
000020: 28 16 29 EE F5 0F 29 F5 28 FF 0A 28 0F 29 EE F5 (.)...).(..(.)..
000030: 0F 29 29 F6 28 12 F4 11 F6 28 FF 0A 28 19 15 29 .)).(....(..(..)
000040: EF F5 0F 29 29 29 29 01 0D 00 00 F9 EF FF 76 28 ...)))).......v(
000050: 19 0F 2C FF 77 28 1A 8F 01 2C 0D 00 00 F9 F4 11 ..,.w(...,......
000060: F6 28 28 FF 0A 28 10 29 EE F5 0F 29 F5 28 FF 0A .((..(.)...).(..
000070: 28 0E 29 EE F5 0F 29 29 F6 28 28 FF 0A 28 19 15 (.)...)).((..(..
000080: 29 EF F5 0F 29 F4 10 29 29 29 01 AE 20 0D 00 00 )...)..))).. ...
000090: E2 2C 0D 00 00 E3 01 BF 20 FF 03 28 19 D7 29 3B .,...... ..(..);
0000A0: 01 AE 20 0D 00 00 F8 2C 0D 00 00 F9 01 BF 20 FF .. ....,...... .
0000B0: 03 28 19 D7 29 3B 01 D5 00 93 00 32 00 9F 20 1E .(..);.....2.. .
0000C0: 50 00 01 AE 20 0D 00 00 F8 2C 0D 00 00 F9 01 BF P... ....,......
0000D0: 20 FF 03 28 19 D7 29 3B 01 0D 00 00 F0 EF 28 0D ..(..);......(.
0000E0: 00 00 F8 F9 19 A0 29 F6 19 14 F4 0F 01 0D 00 00 ......).........
0000F0: F1 EF 28 1A 90 01 F5 0D 00 00 F9 29 F9 19 10 F4 ..(........)....
000100: 0F 01 A9 20 0D 00 00 F0 2C 0D 00 00 F1 01 83 20 ... ....,......
000110: 0D 00 00 E1 2C 40 03 00 00 E6 01 D5 01 D1 01 A1 ....,@..........
000120: 20 AC 28 03 00 00 E6 2C 17 2C 0F 29 EF 22 2E 22 .(....,.,.)."."
000130: 20 EB 20 AA 20 FF 42 F4 19 22 01 83 20 1C BA BB . . .B..".. ...
000140: 01 AD 20 0F 01 CA 20 03 00 00 E6 00 75 00 3C 00 .. ... .....u.<.
000150: 0D 00 00 F5 EF 19 10 01 D6 20 0D 00 00 F5 20 FA ......... .... .
000160: 20 F5 19 10 01 A9 20 0F 2C 0D 00 00 F6 01 BF 22 ..... .,......"
000170: 55 73 65 72 3A 20 22 F4 FF 03 28 19 14 29 3B 01 User: "...(..);.
000180: A6 20 A3 20 03 00 00 F5 01 0D 00 00 F5 EF FF 1D . . ............
000190: 28 03 00 00 F5 29 01 D5 01 A1 20 03 00 00 F5 F2 (....).... .....
0001A0: 22 22 20 EB 20 7C 00 55 53 45 D2 2C 0D 00 00 F5 "" . |.USE.,....
0001B0: 01 8A 01 84 01 0D 00 00 F6 EF FF 7F 28 23 0E 29 ............(#.)
0001C0: 00 06 00 46 00 D5 00 2B 00 50 00 D6 20 FF 0A 28 ...F...+.P.. ..(
0001D0: 19 2F 29 F4 FF 0A 28 19 12 29 F4 FF 0A 28 17 29 ./)...(..)...(.)
0001E0: EE F5 11 01 D5 01 D6 20 FF 43 F2 22 22 01 D5 01 ....... .C.""...
0001F0: C9 00 00 00 1A 2C 44 44 2C 36 36 2C 31 2C 34 36 .....,DD,66,1,46
Size : 512 (Real : 512)
000000: 3A 63 28 72 6F 77 2C 63 6F 6C 29 3D 30 3A 47 4F :c(row,col)=0:GO
000010: 53 55 42 20 34 30 30 30 0D 0A 20 20 20 32 31 32 SUB 4000.. 212
000020: 30 20 70 77 28 74 75 72 6E 29 3D 70 77 28 74 75 0 pw(turn)=pw(tu
000030: 72 6E 29 2B 31 3A 4C 4F 43 41 54 45 20 32 37 2C rn)+1:LOCATE 27,
000040: 74 75 72 6E 2A 33 2D 31 3A 50 41 50 45 52 20 33 turn*3-1:PAPER 3
000050: 3A 50 45 4E 20 32 3A 0D 0A 20 20 20 20 20 20 20 :PEN 2:..
000060: 20 50 52 49 4E 54 20 70 77 28 74 75 72 6E 29 3A PRINT pw(turn):
000070: 52 45 54 55 52 4E 0D 0A 20 20 20 32 32 30 30 20 RETURN.. 2200
000080: 4C 4F 43 41 54 45 23 31 2C 31 2C 31 3A 50 52 49 LOCATE#1,1,1:PRI
000090: 4E 54 23 31 2C 22 54 68 65 79 20 64 6F 6E 27 74 NT#1,"They don't
0000A0: 20 6D 61 74 63 68 21 22 3B 43 48 52 24 28 32 30 match!";CHR$(20
0000B0: 29 3A 0D 0A 20 20 20 20 20 20 20 20 46 4F 52 20 ):.. FOR
0000C0: 64 65 6C 61 79 3D 31 20 54 4F 20 35 30 30 30 3A delay=1 TO 5000:
0000D0: 4E 45 58 54 0D 0A 20 20 20 32 32 31 30 20 47 4F NEXT.. 2210 GO
0000E0: 53 55 42 20 33 35 30 30 3A 72 6F 77 3D 72 31 3A SUB 3500:row=r1:
0000F0: 63 6F 6C 3D 63 31 3A 47 4F 53 55 42 20 33 35 30 col=c1:GOSUB 350
000100: 30 3A 74 75 72 6E 3D 28 74 75 72 6E 20 4D 4F 44 0:turn=(turn MOD
000110: 20 6E 70 6C 29 2B 31 3A 52 45 54 55 52 4E 0D 0A npl)+1:RETURN..
000120: 20 20 20 32 35 30 30 20 4C 4F 43 41 54 45 23 31 2500 LOCATE#1
000130: 2C 31 2C 31 3A 50 52 49 4E 54 23 31 2C 22 43 68 ,1,1:PRINT#1,"Ch
000140: 6F 6F 73 65 20 61 22 3B 6D 75 64 24 3B 22 20 63 oose a";mud$;" c
000150: 61 72 64 2C 20 22 3B 70 6C 24 28 74 75 72 6E 29 ard, ";pl$(turn)
000160: 3B 22 2E 22 3B 43 48 52 24 28 32 30 29 0D 0A 20 ;".";CHR$(20)..
000170: 20 20 32 35 31 30 20 6B 70 24 3D 22 22 3A 57 48 2510 kp$="":WH
000180: 49 4C 45 20 28 6B 70 24 3C 43 48 52 24 28 32 34 ILE (kp$<CHR$(24
000190: 30 29 20 4F 52 20 6B 70 24 3E 43 48 52 24 28 32 0) OR kp$>CHR$(2
0001A0: 34 33 29 29 20 41 4E 44 20 6B 70 24 3C 3E 43 48 43)) AND kp$<>CH
0001B0: 52 24 28 31 33 29 3A 0D 0A 20 20 20 20 20 20 20 R$(13):..
0001C0: 20 6B 70 24 3D 55 50 50 45 52 24 28 49 4E 4B 45 kp$=UPPER$(INKE
0001D0: 59 24 29 3A 57 45 4E 44 0D 0A 20 20 20 32 35 32 Y$):WEND.. 252
0001E0: 30 20 49 46 20 6B 70 24 3D 43 48 52 24 28 31 33 0 IF kp$=CHR$(13
0001F0: 29 20 41 4E 44 20 63 28 72 6F 77 2C 63 6F 6C 29 ) AND c(row,col)
Size : 512 (Real : 512)
000000: 32 2E 30 20 28 53 69 6D 70 6C 65 20 76 65 72 73 2.0 (Simple vers
000010: 69 6F 6E 29 2C 20 44 65 63 20 31 39 39 37 20 62 ion), Dec 1997 b
000020: 79 20 48 69 6C 61 72 79 20 50 68 69 6C 6C 69 70 y Hilary Phillip
000030: 73 0D 0A 20 20 20 31 30 20 53 59 4D 42 4F 4C 20 s.. 10 SYMBOL
000040: 41 46 54 45 52 20 32 35 35 3A 53 59 4D 42 4F 4C AFTER 255:SYMBOL
000050: 20 32 35 35 2C 37 36 2C 32 31 30 2C 38 32 2C 38 255,76,210,82,8
000060: 32 2C 38 32 2C 38 32 2C 37 36 2C 30 0D 0A 20 20 2,82,82,76,0..
000070: 20 33 30 20 44 49 4D 20 70 61 63 6B 28 35 32 29 30 DIM pack(52)
000080: 3A 44 49 4D 20 63 28 37 2C 36 29 3A 44 49 4D 20 :DIM c(7,6):DIM
000090: 70 6C 24 28 36 29 3A 44 49 4D 20 70 77 28 36 29 pl$(6):DIM pw(6)
0000A0: 0D 0A 20 20 20 34 30 20 63 61 72 64 24 3D 22 41 .. 40 card$="A
0000B0: 32 33 34 35 36 37 38 39 22 2B 43 48 52 24 28 32 23456789"+CHR$(2
0000C0: 35 35 29 2B 22 4A 51 4B 22 0D 0A 20 20 20 35 30 55)+"JQK".. 50
0000D0: 20 46 4F 52 20 6E 3D 31 20 54 4F 20 35 32 3A 70 FOR n=1 TO 52:p
0000E0: 61 63 6B 28 6E 29 3D 6E 2B 28 6E 2D 31 29 5C 31 ack(n)=n+(n-1)\1
0000F0: 33 3A 4E 45 58 54 0D 0A 20 20 20 37 30 20 49 4E 3:NEXT.. 70 IN
000100: 4B 20 30 2C 30 3A 49 4E 4B 20 31 2C 36 3A 49 4E K 0,0:INK 1,6:IN
000110: 4B 20 32 2C 32 36 3A 49 4E 4B 20 33 2C 39 3A 4D K 2,26:INK 3,9:M
000120: 4F 44 45 20 31 3A 50 41 50 45 52 20 33 3A 43 4C ODE 1:PAPER 3:CL
000130: 53 0D 0A 20 20 20 38 30 20 57 49 4E 44 4F 57 23 S.. 80 WINDOW#
000140: 31 2C 31 2C 34 30 2C 32 34 2C 32 35 3A 50 41 50 1,1,40,24,25:PAP
000150: 45 52 23 31 2C 33 3A 50 45 4E 23 31 2C 32 3A 43 ER#1,3:PEN#1,2:C
000160: 4C 53 23 31 0D 0A 20 20 20 31 30 30 20 47 4F 53 LS#1.. 100 GOS
000170: 55 42 20 31 30 30 30 0D 0A 20 20 20 31 31 30 20 UB 1000.. 110
000180: 4C 4F 43 41 54 45 23 31 2C 31 2C 31 3A 50 52 49 LOCATE#1,1,1:PRI
000190: 4E 54 23 31 2C 22 45 6E 74 65 72 20 6E 75 6D 62 NT#1,"Enter numb
0001A0: 65 72 20 6F 66 20 70 6C 61 79 65 72 73 20 28 31 er of players (1
0001B0: 2D 36 29 22 3B 3A 6E 70 6C 3D 30 3A 0D 0A 20 20 -6)";:npl=0:..
0001C0: 20 20 20 20 20 57 48 49 4C 45 20 6E 70 6C 3C 31 WHILE npl<1
0001D0: 20 4F 52 20 6E 70 6C 3E 36 3A 6E 70 6C 3D 56 41 OR npl>6:npl=VA
0001E0: 4C 28 49 4E 4B 45 59 24 29 3A 57 45 4E 44 3A 50 L(INKEY$):WEND:P
0001F0: 52 49 4E 54 23 31 2C 6E 70 6C 0D 0A 20 20 20 31 RINT#1,npl.. 1
Size : 512 (Real : 512)
000000: 3E 30 20 54 48 45 4E 20 52 45 54 55 52 4E 0D 0A >0 THEN RETURN..
000010: 20 20 20 32 35 33 30 20 47 4F 53 55 42 20 34 35 2530 GOSUB 45
000020: 32 30 3A 49 46 20 6B 70 24 3D 43 48 52 24 28 32 20:IF kp$=CHR$(2
000030: 34 30 29 20 54 48 45 4E 20 72 6F 77 3D 28 72 6F 40) THEN row=(ro
000040: 77 2D 31 2B 38 29 20 4D 4F 44 20 38 0D 0A 20 20 w-1+8) MOD 8..
000050: 20 32 35 34 30 20 49 46 20 6B 70 24 3D 43 48 52 2540 IF kp$=CHR
000060: 24 28 32 34 31 29 20 54 48 45 4E 20 72 6F 77 3D $(241) THEN row=
000070: 28 72 6F 77 2B 31 29 20 4D 4F 44 20 38 0D 0A 20 (row+1) MOD 8..
000080: 20 20 32 35 35 30 20 49 46 20 6B 70 24 3D 43 48 2550 IF kp$=CH
000090: 52 24 28 32 34 32 29 20 54 48 45 4E 20 63 6F 6C R$(242) THEN col
0000A0: 3D 28 63 6F 6C 2D 31 2B 37 29 20 4D 4F 44 20 37 =(col-1+7) MOD 7
0000B0: 0D 0A 20 20 20 32 35 36 30 20 49 46 20 6B 70 24 .. 2560 IF kp$
0000C0: 3D 43 48 52 24 28 32 34 33 29 20 54 48 45 4E 20 =CHR$(243) THEN
0000D0: 63 6F 6C 3D 28 63 6F 6C 2B 31 29 20 4D 4F 44 20 col=(col+1) MOD
0000E0: 37 0D 0A 20 20 20 32 35 37 30 20 47 4F 53 55 42 7.. 2570 GOSUB
0000F0: 20 34 35 30 30 3A 47 4F 54 4F 20 32 35 31 30 0D 4500:GOTO 2510.
000100: 0A 20 20 20 33 30 30 30 20 73 75 69 74 3D 63 28 . 3000 suit=c(
000110: 72 6F 77 2C 63 6F 6C 29 5C 31 34 3A 63 61 72 64 row,col)\14:card
000120: 3D 63 28 72 6F 77 2C 63 6F 6C 29 20 4D 4F 44 20 =c(row,col) MOD
000130: 31 34 3A 70 63 6F 6C 3D 4D 49 4E 28 31 2C 73 75 14:pcol=MIN(1,su
000140: 69 74 20 4D 4F 44 20 33 29 0D 0A 20 20 20 33 30 it MOD 3).. 30
000150: 31 30 20 4C 4F 43 41 54 45 20 63 6F 6C 2A 33 2B 10 LOCATE col*3+
000160: 32 2C 72 6F 77 2A 32 2B 32 3A 50 41 50 45 52 20 2,row*2+2:PAPER
000170: 32 3A 50 45 4E 20 70 63 6F 6C 3A 50 52 49 4E 54 2:PEN pcol:PRINT
000180: 20 4D 49 44 24 28 63 61 72 64 24 2C 63 61 72 64 MID$(card$,card
000190: 2C 31 29 3B 0D 0A 20 20 20 20 20 20 20 20 43 48 ,1);.. CH
0001A0: 52 24 28 32 32 36 2B 73 75 69 74 29 3A 52 45 54 R$(226+suit):RET
0001B0: 55 52 4E 0D 0A 20 20 20 33 35 30 30 20 4C 4F 43 URN.. 3500 LOC
0001C0: 41 54 45 20 63 6F 6C 2A 33 2B 32 2C 72 6F 77 2A ATE col*3+2,row*
0001D0: 32 2B 32 3A 50 41 50 45 52 20 30 3A 50 45 4E 20 2+2:PAPER 0:PEN
0001E0: 31 3A 50 52 49 4E 54 20 43 48 52 24 28 32 32 30 1:PRINT CHR$(220
0001F0: 29 43 48 52 24 28 32 32 32 29 3A 52 45 54 55 52 )CHR$(222):RETUR
Size : 512 (Real : 512)
000000: 32 30 20 46 4F 52 20 6E 3D 31 20 54 4F 20 6E 70 20 FOR n=1 TO np
000010: 6C 3A 4C 4F 43 41 54 45 23 31 2C 31 2C 31 3A 50 l:LOCATE#1,1,1:P
000020: 52 49 4E 54 23 31 2C 22 50 6C 61 79 65 72 22 3B RINT#1,"Player";
000030: 6E 3B 22 65 6E 74 65 72 20 79 6F 75 72 20 6E 61 n;"enter your na
000040: 6D 65 3A 22 3B 0D 0A 20 20 20 20 20 20 20 43 48 me:";.. CH
000050: 52 24 28 32 30 29 3A 4C 49 4E 45 20 49 4E 50 55 R$(20):LINE INPU
000060: 54 23 31 2C 61 24 3A 70 6C 24 28 6E 29 3D 4C 45 T#1,a$:pl$(n)=LE
000070: 46 54 24 28 61 24 2C 31 36 29 0D 0A 20 20 20 31 FT$(a$,16).. 1
000080: 33 30 20 4C 4F 43 41 54 45 20 32 35 2C 6E 2A 33 30 LOCATE 25,n*3
000090: 2D 32 3A 50 41 50 45 52 20 33 3A 50 45 4E 20 32 -2:PAPER 3:PEN 2
0000A0: 3A 50 52 49 4E 54 20 70 6C 24 28 6E 29 3A 4E 45 :PRINT pl$(n):NE
0000B0: 58 54 0D 0A 20 20 20 31 34 30 20 46 4F 52 20 6E XT.. 140 FOR n
0000C0: 3D 31 20 54 4F 20 36 3A 70 77 28 6E 29 3D 30 3A =1 TO 6:pw(n)=0:
0000D0: 4E 45 58 54 3A 74 75 72 6E 3D 31 0D 0A 20 20 20 NEXT:turn=1..
0000E0: 31 35 30 20 57 48 49 4C 45 20 70 77 28 31 29 2B 150 WHILE pw(1)+
0000F0: 70 77 28 32 29 2B 70 77 28 33 29 2B 70 77 28 34 pw(2)+pw(3)+pw(4
000100: 29 2B 70 77 28 35 29 2B 70 77 28 36 29 3C 32 36 )+pw(5)+pw(6)<26
000110: 3A 47 4F 53 55 42 20 32 30 30 30 3A 57 45 4E 44 :GOSUB 2000:WEND
000120: 0D 0A 20 20 20 32 30 30 20 77 69 6E 24 3D 22 22 .. 200 win$=""
000130: 3A 46 4F 52 20 6E 3D 31 20 54 4F 20 6E 70 6C 3A :FOR n=1 TO npl:
000140: 49 46 20 70 77 28 6E 29 3D 4D 41 58 28 70 77 28 IF pw(n)=MAX(pw(
000150: 31 29 2C 70 77 28 32 29 2C 70 77 28 33 29 2C 70 1),pw(2),pw(3),p
000160: 77 28 34 29 2C 70 77 28 35 29 2C 70 77 28 36 29 w(4),pw(5),pw(6)
000170: 29 0D 0A 20 20 20 20 20 20 20 54 48 45 4E 20 77 ).. THEN w
000180: 69 6E 24 3D 77 69 6E 24 2B 43 48 52 24 28 6E 29 in$=win$+CHR$(n)
000190: 0D 0A 20 20 20 32 31 30 20 4E 45 58 54 3A 4C 4F .. 210 NEXT:LO
0001A0: 43 41 54 45 20 31 2C 39 3A 50 41 50 45 52 20 33 CATE 1,9:PAPER 3
0001B0: 3A 50 45 4E 20 32 3A 50 52 49 4E 54 22 54 68 65 :PEN 2:PRINT"The
0001C0: 20 77 69 6E 6E 65 72 22 3B 0D 0A 20 20 20 32 32 winner";.. 22
0001D0: 30 20 49 46 20 4C 45 4E 28 77 69 6E 24 29 3D 31 0 IF LEN(win$)=1
0001E0: 20 54 48 45 4E 20 50 52 49 4E 54 22 20 69 73 20 THEN PRINT" is
0001F0: 22 3B 70 6C 24 28 41 53 43 28 77 69 6E 24 29 29 ";pl$(ASC(win$))
Size : 512 (Real : 512)
000000: 4E 0D 0A 20 20 20 34 30 30 30 20 4C 4F 43 41 54 N.. 4000 LOCAT
000010: 45 20 63 6F 6C 2A 33 2B 32 2C 72 6F 77 2A 32 2B E col*3+2,row*2+
000020: 32 3A 50 41 50 45 52 20 33 3A 50 52 49 4E 54 20 2:PAPER 3:PRINT
000030: 22 20 20 22 3A 52 45 54 55 52 4E 0D 0A 20 20 20 " ":RETURN..
000040: 34 35 30 30 20 49 46 20 72 6F 77 3C 3E 72 31 20 4500 IF row<>r1
000050: 4F 52 20 63 6F 6C 3C 3E 63 31 20 54 48 45 4E 20 OR col<>c1 THEN
000060: 4C 4F 43 41 54 45 20 63 6F 6C 2A 33 2B 32 2C 72 LOCATE col*3+2,r
000070: 6F 77 2A 32 2B 32 3A 50 45 4E 20 32 3A 0D 0A 20 ow*2+2:PEN 2:..
000080: 20 20 20 20 20 20 20 50 52 49 4E 54 20 43 48 52 PRINT CHR
000090: 24 28 32 32 29 43 48 52 24 28 31 29 43 48 52 24 $(22)CHR$(1)CHR$
0000A0: 28 31 39 37 29 43 48 52 24 28 31 39 39 29 43 48 (197)CHR$(199)CH
0000B0: 52 24 28 32 32 29 43 48 52 24 28 30 29 0D 0A 20 R$(22)CHR$(0)..
0000C0: 20 20 34 35 31 30 20 52 45 54 55 52 4E 0D 0A 20 4510 RETURN..
0000D0: 20 20 34 35 32 30 20 49 46 20 72 6F 77 3C 3E 72 4520 IF row<>r
0000E0: 31 20 4F 52 20 63 6F 6C 3C 3E 63 31 20 54 48 45 1 OR col<>c1 THE
0000F0: 4E 20 49 46 20 63 28 72 6F 77 2C 63 6F 6C 29 3E N IF c(row,col)>
000100: 30 20 54 48 45 4E 20 33 35 30 30 20 45 4C 53 45 0 THEN 3500 ELSE
000110: 20 34 30 30 30 0D 0A 20 20 20 34 35 33 30 20 52 4000.. 4530 R
000120: 45 54 55 52 4E 0D 0A 1A 69 6C 6C 69 70 73 0D 0A ETURN...illips..
000130: 0D 0A 20 20 20 59 65 73 2C 20 74 68 69 73 20 6D .. Yes, this m
000140: 6F 6E 74 68 20 74 68 65 20 70 72 6F 6F 66 72 65 onth the proofre
000150: 61 64 65 72 20 67 65 74 73 20 61 20 20 67 6F 20 ader gets a go
000160: 20 61 74 20 77 72 69 74 69 6E 67 20 61 6E 20 61 at writing an a
000170: 72 74 69 63 6C 65 2C 20 74 6F 20 67 69 76 65 0D rticle, to give.
000180: 03 00 06 00 EC 03 D5 00 35 00 ED 03 0D 00 00 6D ........5......m
000190: E4 EF 28 FF 0A 28 0D 00 00 75 F0 29 EE F5 0F 29 ..(..(...u.)...)
0001A0: F5 28 FF 0A 28 0D 00 00 64 6F F7 29 EE F5 0F 29 .(..(...do.)...)
0001B0: 01 0D 00 00 6D FA EF 0D 00 00 6D E4 00 3C 00 EE ....m.....m..<..
0001C0: 03 0D 00 00 6B F0 EF F5 28 FF 0A 28 0D 00 00 6C ....k...(..(...l
0001D0: E5 29 EE F5 0F 29 F5 10 F6 28 FF 0A 28 0D 00 00 .)...)...(..(...
0001E0: 72 E9 29 EE F5 0F 29 F5 12 F6 28 FF 0A 28 0D 00 r.)...)...(..(..
0001F0: 00 66 E9 29 EE F5 0F 29 00 06 00 EF 03 D5 00 0E .f.)...)........
Size : 512 (Real : 512)
000000: 39 39 20 52 45 4D 20 46 69 67 75 72 65 20 31 2E 99 REM Figure 1.
000010: 36 31 0D 0A 31 30 30 20 52 45 4D 20 41 6E 20 69 61..100 REM An i
000020: 6E 65 66 66 69 63 69 65 6E 74 20 73 75 62 72 6F nefficient subro
000030: 75 74 69 6E 65 20 74 6F 20 72 65 70 6C 61 63 65 utine to replace
000040: 20 6C 69 6E 65 20 34 30 2E 0D 0A 31 31 30 20 57 line 40...110 W
000050: 48 49 4C 45 20 49 4E 4B 45 59 28 34 37 29 3D 2D HILE INKEY(47)=-
000060: 31 20 41 4E 44 20 49 4E 4B 45 59 28 31 38 29 3D 1 AND INKEY(18)=
000070: 2D 31 20 41 4E 44 20 49 4E 4B 45 59 28 39 29 3D -1 AND INKEY(9)=
000080: 2D 31 0D 0A 31 32 30 20 6F 6C 64 78 3D 78 3A 6F -1..120 oldx=x:o
000090: 6C 64 79 3D 79 0D 0A 31 33 30 20 61 64 64 78 3D ldy=y..130 addx=
0000A0: 30 3A 61 64 64 79 3D 30 0D 0A 31 33 35 20 52 45 0:addy=0..135 RE
0000B0: 4D 20 43 68 65 63 6B 20 6B 65 79 73 0D 0A 31 34 M Check keys..14
0000C0: 30 20 49 46 20 49 4E 4B 45 59 28 38 29 3E 2D 31 0 IF INKEY(8)>-1
0000D0: 20 54 48 45 4E 20 61 64 64 78 3D 2D 31 0D 0A 31 THEN addx=-1..1
0000E0: 35 30 20 49 46 20 49 4E 4B 45 59 28 31 29 3E 2D 50 IF INKEY(1)>-
0000F0: 31 20 54 48 45 4E 20 61 64 64 78 3D 61 64 64 78 1 THEN addx=addx
000100: 2B 31 0D 0A 31 36 30 20 49 46 20 49 4E 4B 45 59 +1..160 IF INKEY
000110: 28 32 31 29 3E 2D 31 20 54 48 45 4E 20 61 64 64 (21)>-1 THEN add
000120: 78 3D 61 64 64 78 2A 34 0D 0A 31 37 30 20 61 64 x=addx*4..170 ad
000130: 64 78 3D 33 2A 61 64 64 78 0D 0A 31 38 30 20 49 dx=3*addx..180 I
000140: 46 20 49 4E 4B 45 59 28 32 29 3E 2D 31 20 54 48 F INKEY(2)>-1 TH
000150: 45 4E 20 61 64 64 79 3D 2D 31 0D 0A 31 39 30 20 EN addy=-1..190
000160: 49 46 20 49 4E 4B 45 59 28 30 29 3E 2D 31 20 54 IF INKEY(0)>-1 T
000170: 48 45 4E 20 61 64 64 79 3D 61 64 64 79 2B 31 0D HEN addy=addy+1.
000180: 0A 32 30 30 20 49 46 20 49 4E 4B 45 59 28 32 31 .200 IF INKEY(21
000190: 29 3E 2D 31 20 54 48 45 4E 20 61 64 64 79 3D 61 )>-1 THEN addy=a
0001A0: 64 64 79 2A 32 0D 0A 32 31 30 20 61 64 64 79 3D ddy*2..210 addy=
0001B0: 33 2A 61 64 64 79 0D 0A 32 32 30 20 78 3D 78 2B 3*addy..220 x=x+
0001C0: 61 64 64 78 3A 79 3D 79 2B 61 64 64 79 0D 0A 32 addx:y=y+addy..2
0001D0: 32 35 20 52 45 4D 20 43 68 65 63 6B 20 78 20 26 25 REM Check x &
0001E0: 20 79 20 61 72 65 20 6F 6E 20 73 63 72 65 65 6E y are on screen
0001F0: 0D 0A 32 33 30 20 49 46 20 78 3E 36 33 32 20 54 ..230 IF x>632 T
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: 48 45 4E 20 78 3D 36 33 32 0D 0A 32 34 30 20 49 HEN x=632..240 I
000010: 46 20 78 3C 30 20 54 48 45 4E 20 78 3D 30 0D 0A F x<0 THEN x=0..
000020: 32 35 30 20 49 46 20 79 3E 33 39 39 20 54 48 45 250 IF y>399 THE
000030: 4E 20 79 3D 33 39 39 0D 0A 32 36 30 20 49 46 20 N y=399..260 IF
000040: 79 3C 31 35 20 54 48 45 4E 20 79 3D 31 35 0D 0A y<15 THEN y=15..
000050: 32 36 35 20 52 45 4D 20 52 65 6D 6F 76 65 20 70 265 REM Remove p
000060: 6F 69 6E 74 65 72 20 61 6E 64 20 72 65 64 69 73 ointer and redis
000070: 70 6C 61 79 0D 0A 32 37 30 20 4D 4F 56 45 20 6F play..270 MOVE o
000080: 6C 64 78 2C 6F 6C 64 79 3A 50 52 49 4E 54 20 43 ldx,oldy:PRINT C
000090: 48 52 24 28 32 31 35 29 3B 0D 0A 32 38 30 20 4D HR$(215);..280 M
0000A0: 4F 56 45 20 78 2C 79 3A 50 52 49 4E 54 20 43 48 OVE x,y:PRINT CH
0000B0: 52 24 28 32 31 35 29 3B 0D 0A 32 39 30 20 57 45 R$(215);..290 WE
0000C0: 4E 44 3A 52 45 54 55 52 4E 0D 0A 1A 6F 6E 74 68 ND:RETURN...onth
0000D0: 20 20 77 65 20 20 6D 6F 76 65 20 20 66 72 6F 6D we move from
0000E0: 20 20 74 68 65 20 20 73 74 61 72 74 65 72 20 20 the starter
0000F0: 74 6F 20 20 61 20 20 6C 69 67 68 74 6C 79 20 67 to a lightly g
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: 0D 00 00 6D F0 29 01 C9 00 1C 00 E8 03 0D 00 00 ...m.)..........
000190: 6B F0 EF 0E 01 0D 00 00 6D E4 EF 0F 01 0D 00 00 k.......m.......
0001A0: 6D FA EF 0E 00 18 00 E9 03 D6 20 28 0D 00 00 6B m......... (...k
0001B0: F0 20 FA 20 0D 00 00 6B E6 29 EF 0E 00 22 00 EA . . ...k.)..."..
0001C0: 03 D6 20 28 10 F8 0D 00 00 6D F0 20 FA 20 0D 00 .. (.....m. . ..
0001D0: 00 6D E6 29 EE 0E 20 FC 20 0D 00 00 6D FA 00 3C .m.).. . ...m..<
0001E0: 00 EB 03 0D 00 00 6D FA EF 0E 01 9F 20 1E F2 03 ......m..... ...
0001F0: 01 0D 00 00 6D F0 EF 28 0D 00 00 6D F0 F4 0D 00 ....m..(...m....
Size : 512 (Real : 512)
000000: 31 30 30 20 4D 45 4D 4F 52 59 20 26 38 46 46 46 100 MEMORY &8FFF
000010: 3A 61 3D 26 39 30 30 30 3A 46 4F 52 20 78 3D 30 :a=&9000:FOR x=0
000020: 20 54 4F 20 31 33 3A 52 45 41 44 20 61 24 3A 50 TO 13:READ a$:P
000030: 4F 4B 45 20 61 2B 78 2C 56 41 4C 28 22 26 22 2B OKE a+x,VAL("&"+
000040: 61 24 29 3A 4E 45 58 54 0D 0A 31 31 30 20 4D 4F a$):NEXT..110 MO
000050: 44 45 20 32 3A 50 52 49 4E 54 22 42 75 6E 6E 79 DE 2:PRINT"Bunny
000060: 6D 65 6E 22 0D 0A 31 32 30 20 63 25 3D 30 3A 4C men"..120 c%=0:L
000070: 4F 43 41 54 45 20 31 2C 31 3A 43 41 4C 4C 20 26 OCATE 1,1:CALL &
000080: 39 30 30 30 2C 40 63 25 0D 0A 31 33 30 20 50 52 9000,@c%..130 PR
000090: 49 4E 54 3A 50 52 49 4E 54 22 54 68 65 20 6C 65 INT:PRINT"The le
0000A0: 74 74 65 72 20 61 74 20 74 68 65 20 74 6F 70 20 tter at the top
0000B0: 6C 65 66 74 20 6F 66 20 74 68 65 20 73 63 72 65 left of the scre
0000C0: 65 6E 20 69 73 20 61 20 22 3B 43 48 52 24 28 63 en is a ";CHR$(c
0000D0: 25 29 0D 0A 31 39 30 20 44 41 54 41 20 44 44 2C %)..190 DATA DD,
0000E0: 36 36 2C 30 31 2C 44 44 2C 36 45 2C 30 30 2C 43 66,01,DD,6E,00,C
0000F0: 44 2C 36 30 2C 42 42 2C 37 37 2C 32 33 2C 33 36 D,60,BB,77,23,36
000100: 2C 30 30 2C 43 39 0D 0A 1A 20 24 24 24 FF 00 FF ,00,C9... $$$...
000110: 00 00 0A 00 00 72 01 00 10 29 00 00 00 00 00 00 .....r...)......
000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000140: 10 29 00 86 03 54 0D 0A 0D 0A 46 69 67 75 72 65 .)...T....Figure
000150: 20 32 2E 37 31 1A 00 0A 00 00 73 01 00 1E 00 00 2.71.....s.....
000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: 61 64 65 72 20 66 6F 72 20 4D 49 44 49 20 7C 53 ader for MIDI |S
000190: 45 4E 44 20 52 53 58 20 28 73 65 65 20 61 72 74 END RSX (see art
0001A0: 69 63 6C 65 20 31 31 29 0D 0A 54 55 4E 45 09 2E icle 11)..TUNE..
0001B0: 42 41 53 09 70 72 6F 67 72 61 6D 20 74 6F 20 70 BAS.program to p
0001C0: 6C 61 79 20 61 20 74 75 6E 65 20 66 72 6F 6D 20 lay a tune from
0001D0: 61 72 74 69 63 6C 65 20 31 32 0D 0A 0D 0A 2D 2D article 12....--
0001E0: 2D 2D 0D 0A 2A 20 53 65 65 20 22 42 6C 61 73 74 --..* See "Blast
0001F0: 20 66 72 6F 6D 20 74 68 65 20 50 61 73 74 22 2C from the Past",
Size : 512 (Real : 512)
000000: 32 39 39 20 52 45 4D 20 46 69 67 75 72 65 20 31 299 REM Figure 1
000010: 2E 36 31 38 0D 0A 33 30 30 20 52 45 4D 20 41 20 .618..300 REM A
000020: 62 65 74 74 65 72 20 73 75 62 72 6F 75 74 69 6E better subroutin
000030: 65 20 74 6F 20 72 65 70 6C 61 63 65 20 6C 69 6E e to replace lin
000040: 65 20 34 30 2E 0D 0A 33 31 30 20 57 48 49 4C 45 e 40...310 WHILE
000050: 20 49 4E 4B 45 59 28 34 37 29 2B 49 4E 4B 45 59 INKEY(47)+INKEY
000060: 28 31 38 29 2B 49 4E 4B 45 59 28 39 29 3D 2D 33 (18)+INKEY(9)=-3
000070: 0D 0A 33 32 30 20 6F 6C 64 78 3D 78 3A 6F 6C 64 ..320 oldx=x:old
000080: 79 3D 79 0D 0A 33 33 30 20 61 64 64 78 3D 30 3A y=y..330 addx=0:
000090: 61 64 64 79 3D 30 0D 0A 33 33 35 20 52 45 4D 20 addy=0..335 REM
0000A0: 43 68 65 63 6B 20 6B 65 79 73 0D 0A 33 34 30 20 Check keys..340
0000B0: 61 64 64 78 3D 28 49 4E 4B 45 59 28 38 29 3E 2D addx=(INKEY(8)>-
0000C0: 31 29 0D 0A 33 35 30 20 61 64 64 78 3D 61 64 64 1)..350 addx=add
0000D0: 78 2D 28 49 4E 4B 45 59 28 31 29 3E 2D 31 29 0D x-(INKEY(1)>-1).
0000E0: 0A 33 36 30 20 61 64 64 78 3D 61 64 64 78 2A 28 .360 addx=addx*(
0000F0: 34 2B 33 2A 28 49 4E 4B 45 59 28 32 31 29 3D 2D 4+3*(INKEY(21)=-
000100: 31 29 29 0D 0A 33 37 30 20 61 64 64 78 3D 33 2A 1))..370 addx=3*
000110: 61 64 64 78 0D 0A 33 38 30 20 61 64 64 79 3D 28 addx..380 addy=(
000120: 49 4E 4B 45 59 28 32 29 3E 2D 31 29 0D 0A 33 39 INKEY(2)>-1)..39
000130: 30 20 61 64 64 79 3D 61 64 64 79 2D 28 49 4E 4B 0 addy=addy-(INK
000140: 45 59 28 30 29 3E 2D 31 29 0D 0A 34 30 30 20 61 EY(0)>-1)..400 a
000150: 64 64 79 3D 61 64 64 79 2A 28 28 49 4E 4B 45 59 ddy=addy*((INKEY
000160: 28 32 31 29 3D 2D 31 29 2B 32 29 0D 0A 34 31 30 (21)=-1)+2)..410
000170: 20 61 64 64 79 3D 33 2A 61 64 64 79 0D 0A 34 32 addy=3*addy..42
000180: 30 20 78 3D 78 2B 61 64 64 78 3A 79 3D 79 2B 61 0 x=x+addx:y=y+a
000190: 64 64 79 0D 0A 34 32 35 20 52 45 4D 20 43 68 65 ddy..425 REM Che
0001A0: 63 6B 20 78 20 26 20 79 20 61 72 65 20 6F 6E 20 ck x & y are on
0001B0: 73 63 72 65 65 6E 0D 0A 34 33 30 20 78 3D 4D 49 screen..430 x=MI
0001C0: 4E 28 36 33 32 2C 78 29 0D 0A 34 34 30 20 78 3D N(632,x)..440 x=
0001D0: 4D 41 58 28 30 2C 78 29 0D 0A 34 35 30 20 79 3D MAX(0,x)..450 y=
0001E0: 4D 49 4E 28 33 39 39 2C 79 29 0D 0A 34 36 30 20 MIN(399,y)..460
0001F0: 79 3D 4D 41 58 28 31 35 2C 79 29 0D 0A 34 36 35 y=MAX(15,y)..465
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: 20 52 45 4D 20 52 65 6D 6F 76 65 20 70 6F 69 6E REM Remove poin
000010: 74 65 72 20 61 6E 64 20 72 65 64 69 73 70 6C 61 ter and redispla
000020: 79 0D 0A 34 37 30 20 4D 4F 56 45 20 6F 6C 64 78 y..470 MOVE oldx
000030: 2C 6F 6C 64 79 3A 50 52 49 4E 54 20 43 48 52 24 ,oldy:PRINT CHR$
000040: 28 32 31 35 29 3B 0D 0A 34 38 30 20 4D 4F 56 45 (215);..480 MOVE
000050: 20 78 2C 79 3A 50 52 49 4E 54 20 43 48 52 24 28 x,y:PRINT CHR$(
000060: 32 31 35 29 3B 0D 0A 34 39 30 20 57 45 4E 44 3A 215);..490 WEND:
000070: 52 45 54 55 52 4E 0D 0A 1A 67 68 74 6C 79 20 67 RETURN...ghtly g
000080: 55 42 20 31 30 31 30 0D 0A 31 30 30 34 20 57 45 UB 1010..1004 WE
000090: 4E 44 0D 0A 31 30 30 35 20 6D 64 3D 28 49 4E 4B ND..1005 md=(INK
0000A0: 45 59 28 75 70 29 3E 2D 31 29 2D 28 49 4E 4B 45 EY(up)>-1)-(INKE
0000B0: 59 28 64 6F 77 29 3E 2D 31 29 3A 6D 7A 3D 6D 64 Y(dow)>-1):mz=md
0000C0: 0D 0A 31 30 30 36 20 6B 70 3D 2D 28 49 4E 4B 45 ..1006 kp=-(INKE
0000D0: 59 28 6C 65 29 3E 2D 31 29 2D 32 2A 28 49 4E 4B Y(le)>-1)-2*(INK
0000E0: 45 59 28 72 69 29 3E 2D 31 29 2D 34 2A 28 49 4E EY(ri)>-1)-4*(IN
0000F0: 4B 45 59 28 66 69 29 3E 2D 31 29 0D 0A 31 30 30 KEY(fi)>-1)..100
000100: 37 20 57 45 4E 44 0D 0A 31 30 30 38 20 57 48 49 7 WEND..1008 WHI
000110: 4C 45 20 49 4E 4B 45 59 24 3C 3E 22 22 3A 57 45 LE INKEY$<>"":WE
000120: 4E 44 0D 0A 31 30 30 39 20 52 45 54 55 52 4E 0D ND..1009 RETURN.
000130: 0A 31 30 31 30 20 50 52 49 4E 54 20 43 48 52 24 .1010 PRINT CHR$
000140: 28 32 33 29 2B 43 48 52 24 28 31 29 3B 0D 0A 31 (23)+CHR$(1);..1
000150: 30 31 31 20 4D 4F 56 45 20 6D 78 2C 6D 79 2D 6D 011 MOVE mx,my-m
000160: 70 2A 6D 73 70 2B 28 6D 64 3D 2D 31 29 2A 28 6D p*msp+(md=-1)*(m
000170: 62 68 2D 32 29 0D 0A 31 30 31 32 20 46 4F 52 20 bh-2)..1012 FOR
000180: 6D 63 3D 31 20 54 4F 20 6D 62 68 2F 32 0D 0A 31 mc=1 TO mbh/2..1
000190: 30 31 33 20 44 52 41 57 52 20 6D 62 6C 2C 30 2C 013 DRAWR mbl,0,
0001A0: 6D 63 6F 6C 3A 4D 4F 56 45 52 20 2D 6D 62 6C 2C mcol:MOVER -mbl,
0001B0: 2D 32 2D 28 6D 64 3D 2D 31 29 2A 34 0D 0A 31 30 -2-(md=-1)*4..10
0001C0: 31 34 20 46 4F 52 20 64 65 6C 61 79 3D 30 20 54 14 FOR delay=0 T
0001D0: 4F 20 6D 64 65 3A 4E 45 58 54 0D 0A 31 30 31 35 O mde:NEXT..1015
0001E0: 20 4E 45 58 54 0D 0A 31 30 31 36 20 50 52 49 4E NEXT..1016 PRIN
0001F0: 54 20 43 48 52 24 28 32 33 29 2B 43 48 52 24 28 T CHR$(23)+CHR$(
Size : 512 (Real : 512)
000000: 31 30 30 20 4D 45 4D 4F 52 59 20 26 38 46 46 46 100 MEMORY &8FFF
000010: 3A 61 3D 26 39 30 30 30 3A 46 4F 52 20 78 3D 30 :a=&9000:FOR x=0
000020: 20 54 4F 20 31 34 3A 52 45 41 44 20 61 24 3A 50 TO 14:READ a$:P
000030: 4F 4B 45 20 61 2B 78 2C 56 41 4C 28 22 26 22 2B OKE a+x,VAL("&"+
000040: 61 24 29 3A 4E 45 58 54 0D 0A 31 31 30 20 4D 4F a$):NEXT..110 MO
000050: 44 45 20 32 3A 50 52 49 4E 54 22 53 69 6C 6C 79 DE 2:PRINT"Silly
000060: 20 73 74 72 69 6E 67 22 0D 0A 31 32 30 20 61 24 string"..120 a$
000070: 3D 22 20 22 3A 4C 4F 43 41 54 45 20 31 2C 31 3A =" ":LOCATE 1,1:
000080: 43 41 4C 4C 20 26 39 30 30 30 2C 40 61 24 0D 0A CALL &9000,@a$..
000090: 31 33 30 20 50 52 49 4E 54 3A 50 52 49 4E 54 22 130 PRINT:PRINT"
0000A0: 54 68 65 20 6C 65 74 74 65 72 20 61 74 20 74 68 The letter at th
0000B0: 65 20 74 6F 70 20 6C 65 66 74 20 6F 66 20 74 68 e top left of th
0000C0: 65 20 73 63 72 65 65 6E 20 69 73 20 22 3B 61 24 e screen is ";a$
0000D0: 0D 0A 31 39 30 20 44 41 54 41 20 44 44 2C 36 36 ..190 DATA DD,66
0000E0: 2C 30 31 2C 44 44 2C 36 45 2C 30 30 2C 32 33 2C ,01,DD,6E,00,23,
0000F0: 35 45 2C 32 33 2C 35 36 2C 43 44 2C 36 30 2C 42 5E,23,56,CD,60,B
000100: 42 2C 31 32 2C 43 39 0D 0A 1A 24 24 24 FF 00 FF B,12,C9...$$$...
000110: 00 00 0A 00 00 72 01 00 10 29 00 00 00 00 00 00 .....r...)......
000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000140: 10 29 00 86 03 54 0D 0A 0D 0A 46 69 67 75 72 65 .)...T....Figure
000150: 20 32 2E 37 31 1A 00 0A 00 00 73 01 00 1E 00 00 2.71.....s.....
000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: C0 7C 30 FE 00 1C 00 18 00 18 66 0C CC 66 76 00 .|0.......f..fv.
000190: 00 66 66 00 C0 18 18 66 66 00 7C 66 18 18 0C 66 .ff....ff.|f...f
0001A0: 66 00 00 0C 0C 66 66 0C 76 66 00 18 3E 3E CC 00 f....ff.vf..>>..
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 31 30 30 20 4D 45 4D 4F 52 59 20 26 38 46 46 46 100 MEMORY &8FFF
000010: 3A 61 3D 26 39 30 30 30 3A 46 4F 52 20 78 3D 30 :a=&9000:FOR x=0
000020: 20 54 4F 20 31 30 3A 52 45 41 44 20 61 24 3A 50 TO 10:READ a$:P
000030: 4F 4B 45 20 61 2B 78 2C 56 41 4C 28 22 26 22 2B OKE a+x,VAL("&"+
000040: 61 24 29 3A 4E 45 58 54 0D 0A 31 31 30 20 50 52 a$):NEXT..110 PR
000050: 49 4E 54 22 45 6E 74 65 72 20 6E 75 6D 62 65 72 INT"Enter number
000060: 20 28 31 20 74 6F 20 32 35 35 29 22 3B 3A 49 4E (1 to 255)";:IN
000070: 50 55 54 20 78 0D 0A 31 32 30 20 43 41 4C 4C 20 PUT x..120 CALL
000080: 26 39 30 30 30 2C 78 3A 50 52 49 4E 54 0D 0A 31 &9000,x:PRINT..1
000090: 33 30 20 47 4F 54 4F 20 31 31 30 0D 0A 31 39 30 30 GOTO 110..190
0000A0: 20 44 41 54 41 20 44 44 2C 34 36 2C 30 30 2C 33 DATA DD,46,00,3
0000B0: 45 2C 34 30 2C 43 44 2C 35 41 2C 42 42 2C 31 30 E,40,CD,5A,BB,10
0000C0: 2C 46 42 2C 43 39 0D 0A 1A 0A 46 69 67 75 72 65 ,FB,C9....Figure
0000D0: 20 32 2E 37 31 1A 00 0A 00 00 73 01 00 1E 00 00 2.71.....s.....
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: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: C0 7C 30 FE 00 1C 00 18 00 18 66 0C CC 66 76 00 .|0.......f..fv.
000190: 00 66 66 00 C0 18 18 66 66 00 7C 66 18 18 0C 66 .ff....ff.|f...f
0001A0: 66 00 00 0C 0C 66 66 0C 76 66 00 18 3E 3E CC 00 f....ff.vf..>>..
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 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: F2 03 01 0D 00 00 6D F0 EF 28 0D 00 00 6D F0 F4 ......m..(...m..
000010: 0D 00 00 6D 63 E8 F4 0D 00 00 6D E4 29 20 FB 20 ...mc.....m.) .
000020: 0D 00 00 6D 63 E8 01 9F 20 1E F2 03 00 06 00 EC ...mc... .......
000030: 03 D5 00 35 00 ED 03 0D 00 00 6D E4 EF 28 FF 0A ...5......m..(..
000040: 28 0D 00 00 75 F0 29 EE F5 0F 29 F5 28 FF 0A 28 (...u.)...).(..(
000050: 0D 00 00 64 6F F7 29 EE F5 0F 29 01 0D 00 00 6D ...do.)...)....m
000060: FA EF 0D 00 00 6D E4 00 3C 00 EE 03 0D 00 00 6B .....m..<......k
000070: F0 EF F5 28 FF 0A 28 0D 00 00 6C E5 29 EE F5 0F ...(..(...l.)...
000080: 29 F5 10 F6 28 FF 0A 28 0D 00 00 72 E9 29 EE F5 )...(..(...r.)..
000090: 0F 29 F5 12 F6 28 FF 0A 28 0D 00 00 66 E9 29 EE .)...(..(...f.).
0000A0: F5 0F 29 00 06 00 EF 03 D5 00 0E 00 F0 03 D6 20 ..)............
0000B0: FF 43 F2 22 22 01 D5 00 06 00 F1 03 C9 00 14 00 .C.""...........
0000C0: F2 03 BF 20 FF 03 28 19 17 29 F4 FF 03 28 0F 29 ... ..(..)...(.)
0000D0: 3B 00 35 00 F3 03 AE 20 0D 00 00 6D F8 2C 0D 00 ;.5.... ...m.,..
0000E0: 00 6D F9 F5 0D 00 00 6D F0 F6 0D 00 00 6D 73 F0 .m.....m.....ms.
0000F0: F4 28 0D 00 00 6D E4 EF F5 0F 29 F6 28 0D 00 00 .(...m....).(...
000100: 6D 62 E8 F5 10 29 00 19 00 F4 03 9E 20 0D 00 00 mb...)...... ...
000110: 6D E3 EF 0F 20 EC 20 0D 00 00 6D 62 E8 F7 10 00 m... . ...mb....
000120: 31 00 F5 03 95 20 0D 00 00 6D 62 EC 2C 0E 2C 0D 1.... ...mb.,.,.
000130: 00 00 6D 63 6F EC 01 AF 20 F5 0D 00 00 6D 62 EC ..mco... ....mb.
000140: 2C F5 10 F5 28 0D 00 00 6D E4 EF F5 0F 29 F6 12 ,...(...m....)..
000150: 00 1C 00 F6 03 9E 20 0D 00 00 64 65 6C 61 F9 EF ...... ...dela..
000160: 0E 20 EC 20 0D 00 00 6D 64 E5 01 B0 00 06 00 F7 . . ...md.......
000170: 03 B0 00 14 00 F8 03 BF 20 FF 03 28 19 17 29 F4 ........ ..(..).
000180: FF 03 28 0E 29 3B 00 06 00 F9 03 C9 00 00 00 1A ..(.);..........
000190: 6D 70 3D 30 3A 6D 66 3D 30 3A 6D 64 65 3D 30 0D mp=0:mf=0:mde=0.
0001A0: 0A 32 30 20 6D 63 6F 6C 3D 31 3A 6D 73 70 3D 31 .20 mcol=1:msp=1
0001B0: 36 3A 6D 78 3D 30 3A 6D 79 3D 33 39 39 2D 32 2A 6:mx=0:my=399-2*
0001C0: 31 36 3A 6D 62 68 3D 31 36 3A 6D 62 6C 3D 31 36 16:mbh=16:mbl=16
0001D0: 2A 36 2D 32 0D 0A 33 30 20 75 70 3D 30 3A 64 6F *6-2..30 up=0:do
0001E0: 77 3D 32 3A 6C 65 3D 38 3A 72 69 3D 31 3A 66 69 w=2:le=8:ri=1:fi
0001F0: 3D 39 3A 6B 66 3D 34 0D 0A 34 30 20 50 52 49 4E =9:kf=4..40 PRIN
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: 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: 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: 31 30 20 44 45 46 49 4E 54 20 61 2D 7A 3A 4D 45 10 DEFINT a-z:ME
000010: 4D 4F 52 59 20 48 49 4D 45 4D 2D 33 34 3A 61 3D MORY HIMEM-34:a=
000020: 55 4E 54 28 48 49 4D 45 4D 2B 31 29 3A 46 4F 52 UNT(HIMEM+1):FOR
000030: 20 78 3D 30 20 54 4F 20 33 33 3A 52 45 41 44 20 x=0 TO 33:READ
000040: 61 24 3A 50 4F 4B 45 20 61 2B 78 2C 56 41 4C 28 a$:POKE a+x,VAL(
000050: 22 26 22 2B 61 24 29 3A 4E 45 58 54 3A 44 41 54 "&"+a$):NEXT:DAT
000060: 41 20 43 44 2C 37 38 2C 42 42 2C 34 43 2C 44 44 A CD,78,BB,4C,DD
000070: 2C 36 45 2C 30 2C 44 44 2C 36 36 2C 31 2C 34 36 ,6E,0,DD,66,1,46
000080: 2C 37 38 2C 42 37 2C 43 38 2C 32 33 2C 35 45 2C ,78,B7,C8,23,5E,
000090: 32 33 2C 36 36 2C 36 42 2C 43 44 2C 36 30 2C 42 23,66,6B,CD,60,B
0000A0: 42 2C 37 37 2C 32 33 2C 43 2C 37 39 2C 45 35 2C B,77,23,C,79,E5,
0000B0: 43 44 2C 36 46 2C 42 42 2C 45 31 2C 31 30 2C 46 CD,6F,BB,E1,10,F
0000C0: 32 2C 43 39 0D 0A 32 30 20 4D 4F 44 45 20 32 3A 2,C9..20 MODE 2:
0000D0: 43 41 54 3A 76 3D 56 50 4F 53 28 23 30 29 3A 66 CAT:v=VPOS(#0):f
0000E0: 24 3D 53 50 41 43 45 24 28 31 32 29 3A 4C 4F 43 $=SPACE$(12):LOC
0000F0: 41 54 45 20 31 2C 34 3A 43 41 4C 4C 20 61 2C 40 ATE 1,4:CALL a,@
000100: 66 24 3A 4C 4F 43 41 54 45 20 31 2C 76 0D 0A 33 f$:LOCATE 1,v..3
000110: 30 20 50 52 49 4E 54 22 54 68 65 20 66 69 72 73 0 PRINT"The firs
000120: 74 20 66 69 6C 65 20 6F 6E 20 74 68 69 73 20 64 t file on this d
000130: 69 73 63 20 69 73 20 22 66 24 0D 0A 1A 20 57 65 isc is "f$... We
000140: 20 66 69 6E 64 20 66 69 6E 65 6C 79 20 67 72 61 find finely gra
000150: 74 65 64 20 20 50 61 72 6D 65 73 61 6E 20 20 63 ted Parmesan c
000160: 68 65 65 73 65 20 20 73 70 72 69 6E 6B 6C 65 64 heese sprinkled
000170: 20 20 67 65 6E 65 72 6F 75 73 6C 79 20 6F 76 65 generously ove
000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 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 4D 45 4E 55 45 58 31 20 42 41 53 00 00 00 00 .MENUEX1 BAS....
000010: 00 00 00 00 00 70 01 00 0F 03 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: 0F 03 00 8E 03 FF 03 28 0E 29 3B 00 06 00 F9 03 .......(.);.....
000050: C9 00 00 00 1A 6D 70 3D 30 3A 6D 66 3D 30 3A 6D .....mp=0:mf=0:m
000060: 64 65 3D 30 0D 0A 32 30 20 6D 63 6F 6C 3D 31 3A de=0..20 mcol=1:
000070: 6D 73 70 3D 31 36 3A 6D 78 3D 30 3A 6D 79 3D 33 msp=16:mx=0:my=3
000080: 2A 00 0A 00 AD 20 0F 01 0D 00 00 6D 63 E8 EF 12 *.... .....mc...
000090: 01 0D 00 00 6D F0 EF 0E 01 0D 00 00 6D E6 EF 0E ....m.......m...
0000A0: 01 0D 00 00 6D 64 E5 EF 0E 00 47 00 14 00 0D 00 ....md....G.....
0000B0: 00 6D 63 6F EC EF 0F 01 0D 00 00 6D 73 F0 EF 19 .mco.......ms...
0000C0: 10 01 0D 00 00 6D F8 EF 0E 01 0D 00 00 6D F9 EF .....m.......m..
0000D0: 1A 8F 01 F5 10 F6 19 10 01 0D 00 00 6D 62 E8 EF ............mb..
0000E0: 19 10 01 0D 00 00 6D 62 EC EF 19 10 F6 14 F5 10 ......mb........
0000F0: 00 35 00 1E 00 0D 00 00 75 F0 EF 0E 01 0D 00 00 .5......u.......
000100: 64 6F F7 EF 10 01 0D 00 00 6C E5 EF 16 01 0D 00 do.......l......
000110: 00 72 E9 EF 0F 01 0D 00 00 66 E9 EF 17 01 0D 00 .r.......f......
000120: 00 6B E6 EF 12 00 14 00 28 00 BF 22 4D 65 6E 75 .k......(.."Menu
000130: 22 01 BF 22 2D 2D 2D 2D 22 00 24 00 32 00 9E 20 ".."----".$.2..
000140: 0D 00 00 F8 EF 0F 20 EC 20 0D 00 00 6D 63 E8 01 ...... . ...mc..
000150: BF 22 49 74 65 6D 22 0D 00 00 F8 01 B0 00 0A 00 ."Item".........
000160: 3C 00 9F 20 1E F2 03 00 0A 00 46 00 9F 20 1E E8 <.. ......F.. ..
000170: 03 00 23 00 50 00 BF 22 59 6F 75 20 68 61 76 65 ..#.P.."You have
000180: 20 63 68 6F 73 65 6E 20 69 74 65 6D 22 0D 00 00 chosen item"...
000190: 6D F0 F4 0F 00 06 00 5A 00 98 00 1C 00 E8 03 0D m......Z........
0001A0: 00 00 6B F0 EF 0E 01 0D 00 00 6D E4 EF 0F 01 0D ..k.......m.....
0001B0: 00 00 6D FA EF 0E 00 18 00 E9 03 D6 20 28 0D 00 ..m......... (..
0001C0: 00 6B F0 20 FA 20 0D 00 00 6B E6 29 EF 0E 00 22 .k. . ...k.)..."
0001D0: 00 EA 03 D6 20 28 10 F8 0D 00 00 6D F0 20 FA 20 .... (.....m. .
0001E0: 0D 00 00 6D E6 29 EE 0E 20 FC 20 0D 00 00 6D FA ...m.).. . ...m.
0001F0: 00 3C 00 EB 03 0D 00 00 6D FA EF 0E 01 9F 20 1E .<......m..... .
Size : 512 (Real : 512)
000000: 00 6D 63 E8 F4 0D 00 00 6D E4 29 20 FB 20 0D 00 .mc.....m.) . ..
000010: 00 6D 63 E8 01 9F 20 1E F2 03 00 06 00 EC 03 D5 .mc... .........
000020: 00 35 00 ED 03 0D 00 00 6D E4 EF 28 FF 0A 28 0D .5......m..(..(.
000030: 00 00 75 F0 29 EE F5 0F 29 F5 28 FF 0A 28 0D 00 ..u.)...).(..(..
000040: 00 64 6F F7 29 EE F5 0F 29 01 0D 00 00 6D FA EF .do.)...)....m..
000050: 0D 00 00 6D E4 00 3C 00 EE 03 0D 00 00 6B F0 EF ...m..<......k..
000060: F5 28 FF 0A 28 0D 00 00 6C E5 29 EE F5 0F 29 F5 .(..(...l.)...).
000070: 10 F6 28 FF 0A 28 0D 00 00 72 E9 29 EE F5 0F 29 ..(..(...r.)...)
000080: F5 12 F6 28 FF 0A 28 0D 00 00 66 E9 29 EE F5 0F ...(..(...f.)...
000090: 29 00 06 00 EF 03 D5 00 0E 00 F0 03 D6 20 FF 43 )............ .C
0000A0: F2 22 22 01 D5 00 06 00 F1 03 C9 00 14 00 F2 03 ."".............
0000B0: BF 20 FF 03 28 19 17 29 F4 FF 03 28 0F 29 3B 00 . ..(..)...(.);.
0000C0: 35 00 F3 03 AE 20 0D 00 00 6D F8 2C 0D 00 00 6D 5.... ...m.,...m
0000D0: F9 F5 0D 00 00 6D F0 F6 0D 00 00 6D 73 F0 F4 28 .....m.....ms..(
0000E0: 0D 00 00 6D E4 EF F5 0F 29 F6 28 0D 00 00 6D 62 ...m....).(...mb
0000F0: E8 F5 10 29 00 19 00 F4 03 9E 20 0D 00 00 6D E3 ...)...... ...m.
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: 68 61 6E 6B 20 79 6F 75 20 66 6F 72 20 79 6F 75 hank you for you
000190: 72 20 6F 72 64 65 72 2E 22 0D 0A 20 20 20 32 30 r order.".. 20
0001A0: 30 20 50 52 49 4E 54 22 50 6C 65 61 73 65 20 73 0 PRINT"Please s
0001B0: 65 6E 64 20 61 20 63 68 65 71 75 65 20 66 6F 72 end a cheque for
0001C0: 20 A3 22 3B 55 53 49 4E 47 22 23 23 2E 23 23 22 .";USING"##.##"
0001D0: 3B 30 2E 35 2A 6D 61 67 73 3A 45 4E 44 0D 0A 20 ;0.5*mags:END..
0001E0: 20 20 32 31 30 20 4C 4F 43 41 54 45 20 32 37 2C 210 LOCATE 27,
0001F0: 36 2B 6D 70 2A 32 3A 50 52 49 4E 54 20 6E 75 6D 6+mp*2:PRINT num
Size : 512 (Real : 512)
000000: 00 F0 03 D6 20 FF 43 F2 22 22 01 D5 00 06 00 F1 .... .C.""......
000010: 03 C9 00 14 00 F2 03 BF 20 FF 03 28 19 17 29 F4 ........ ..(..).
000020: FF 03 28 0F 29 3B 00 35 00 F3 03 AE 20 0D 00 00 ..(.);.5.... ...
000030: 6D F8 2C 0D 00 00 6D F9 F5 0D 00 00 6D F0 F6 0D m.,...m.....m...
000040: 00 00 6D 73 F0 F4 28 0D 00 00 6D E4 EF F5 0F 29 ..ms..(...m....)
000050: F6 28 0D 00 00 6D 62 E8 F5 10 29 00 19 00 F4 03 .(...mb...).....
000060: 9E 20 0D 00 00 6D E3 EF 0F 20 EC 20 0D 00 00 6D . ...m... . ...m
000070: 62 E8 F7 10 00 31 00 F5 03 95 20 0D 00 00 6D 62 b....1.... ...mb
000080: EC 2C 0E 2C 0D 00 00 6D 63 6F EC 01 AF 20 F5 0D .,.,...mco... ..
000090: 00 00 6D 62 EC 2C F5 10 F5 28 0D 00 00 6D E4 EF ..mb.,...(...m..
0000A0: F5 0F 29 F6 12 00 1C 00 F6 03 9E 20 0D 00 00 64 ..)........ ...d
0000B0: 65 6C 61 F9 EF 0E 20 EC 20 0D 00 00 6D 64 E5 01 ela... . ...md..
0000C0: B0 00 06 00 F7 03 B0 00 14 00 F8 03 BF 20 FF 03 ............. ..
0000D0: 28 19 17 29 F4 FF 03 28 0E 29 3B 00 06 00 F9 03 (..)...(.);.....
0000E0: C9 00 00 00 1A 72 69 3D 31 3A 66 69 3D 31 38 3A .....ri=1:fi=18:
0000F0: 6B 66 3D 35 0D 0A 34 30 20 6F 75 72 6B 66 3D 30 kf=5..40 ourkf=0
000100: 20 31 30 31 37 20 52 45 54 55 52 4E 0D 0A 1A FF 1017 RETURN....
000110: 50 41 54 43 48 20 36 0D 0A 20 20 20 42 79 20 53 PATCH 6.. 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 22 57 68 61 74 27 73 20 6F 6E 20 74 68 65 "What's on the
000150: 20 6D 65 6E 75 20 66 6F 72 20 74 68 69 73 20 6D menu for this m
000160: 6F 6E 74 68 3F 22 2C 20 20 77 65 20 20 68 65 61 onth?", we hea
000170: 72 20 79 6F 75 20 63 72 79 2E 20 20 57 65 6C 6C r you cry. Well
000180: 31 29 2D 28 49 4E 4B 45 59 28 64 6F 77 29 3E 2D 1)-(INKEY(dow)>-
000190: 31 29 3A 6D 7A 3D 6D 64 0D 0A 20 20 20 31 30 30 1):mz=md.. 100
0001A0: 36 20 6B 70 3D 2D 28 49 4E 4B 45 59 28 6C 65 29 6 kp=-(INKEY(le)
0001B0: 3E 2D 31 29 2D 32 2A 28 49 4E 4B 45 59 28 72 69 >-1)-2*(INKEY(ri
0001C0: 29 3E 2D 31 29 2D 34 2A 28 49 4E 4B 45 59 28 66 )>-1)-4*(INKEY(f
0001D0: 69 29 3E 2D 31 29 0D 0A 20 20 20 31 30 30 37 20 i)>-1).. 1007
0001E0: 57 45 4E 44 0D 0A 20 20 20 31 30 30 38 20 57 48 WEND.. 1008 WH
0001F0: 49 4C 45 20 49 4E 4B 45 59 24 3C 3E 22 22 3A 57 ILE INKEY$<>"":W
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: 00 4D 45 4E 55 45 58 34 20 42 41 53 00 00 00 00 .MENUEX4 BAS....
000010: 00 00 00 00 00 70 01 00 3B 05 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: 3B 05 00 ED 03 03 9E 20 0D 00 00 64 65 6C 61 F9 ;...... ...dela.
000050: EF 0E 20 EC 20 0D 00 00 6D 64 E5 01 B0 00 06 00 .. . ...md......
000060: F7 03 B0 00 14 00 F8 03 BF 20 FF 03 28 19 17 29 ......... ..(..)
000070: F4 FF 03 28 0E 29 3B 00 06 00 F9 03 C9 00 00 00 ...(.);.........
000080: 21 00 0A 00 0D 00 00 6D 63 E8 EF 14 01 0D 00 00 !......mc.......
000090: 6D E6 EF 16 F4 19 20 01 0D 00 00 6D 64 E5 EF 0E m..... ....md...
0000A0: 00 3F 00 14 00 0D 00 00 6D 63 6F EC EF 0F 01 0D .?......mco.....
0000B0: 00 00 6D 73 F0 EF 19 20 01 0D 00 00 6D F8 EF 19 ..ms... ....m...
0000C0: 7C 01 0D 00 00 6D F9 EF 1A 42 01 01 0D 00 00 6D |....m...B.....m
0000D0: 62 E8 EF 19 16 01 0D 00 00 6D 62 EC EF 19 84 00 b........mb.....
0000E0: 3F 00 1E 00 0D 00 00 75 F0 EF 0E 01 0D 00 00 64 ?......u.......d
0000F0: 6F F7 EF 10 01 0D 00 00 6C E5 EF 16 01 0D 00 00 o.......l.......
000100: 72 E9 EF 0F 01 0D 00 00 66 E9 EF 19 2F 01 0D 00 r.......f.../...
000110: 00 73 E8 EF 19 15 01 0D 00 00 6B E6 EF 15 00 17 .s........k.....
000120: 00 28 00 93 20 0D 00 00 6E 75 ED 28 0D 00 00 6D .(.. ...nu.(...m
000130: 63 E8 F5 0F 29 00 2A 00 32 00 AD 20 0F 01 A9 20 c...).*.2.. ...
000140: 16 2C 11 01 BF 22 57 41 43 43 49 20 62 61 63 6B .,..."WACCI back
000150: 2D 69 73 73 75 65 73 20 6F 72 64 65 72 73 22 00 -issues orders".
000160: 1E 00 3C 00 A9 20 16 2C 12 01 BF 20 FF 7B 28 19 ..<.. .,... .{(.
000170: 18 2C 22 2D 22 29 01 A9 20 0F 2C 19 13 00 40 00 .,"-").. .,...@.
000180: 46 00 BF 22 55 73 65 20 74 68 65 20 63 75 72 73 F.."Use the curs
000190: 6F 72 20 6B 65 79 73 20 74 6F 20 6D 6F 76 65 20 or keys to move
0001A0: 61 6E 64 20 61 6C 74 65 72 2E 20 20 53 50 41 43 and alter. SPAC
0001B0: 45 20 74 6F 20 66 69 6E 69 73 68 2E 22 00 40 00 E to finish.".@.
0001C0: 50 00 9E 20 0D 00 00 6D F0 EF 0E 20 EC 20 0D 00 P.. ...m... . ..
0001D0: 00 6D 63 E8 F5 0F 01 A9 20 17 2C 14 F4 0D 00 00 .mc..... .,.....
0001E0: 6D F0 F6 10 01 BF 22 57 41 43 43 49 22 19 28 F4 m....."WACCI".(.
0001F0: 0D 00 00 6D F0 01 9F 20 1E D2 00 01 B0 00 19 00 ...m... ........
Size : 512 (Real : 512)
000000: 00 4D 45 4E 55 45 58 33 20 42 41 53 00 00 00 00 .MENUEX3 BAS....
000010: 00 00 00 00 00 70 01 00 FD 04 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: FD 04 00 6E 05 EF 0F 20 EC 20 0D 00 00 6D 62 E8 ...n... . ...mb.
000050: F7 10 00 31 00 F5 03 95 20 0D 00 00 6D 62 EC 2C ...1.... ...mb.,
000060: 0E 2C 0D 00 00 6D 63 6F EC 01 AF 20 F5 0D 00 00 .,...mco... ....
000070: 6D 62 EC 2C F5 10 F5 28 0D 00 00 6D E4 EF F5 0F mb.,...(...m....
000080: 21 00 0A 00 0D 00 00 6D 63 E8 EF 14 01 0D 00 00 !......mc.......
000090: 6D E6 EF 16 F4 19 20 01 0D 00 00 6D 64 E5 EF 0E m..... ....md...
0000A0: 00 3F 00 14 00 0D 00 00 6D 63 6F EC EF 0F 01 0D .?......mco.....
0000B0: 00 00 6D 73 F0 EF 19 20 01 0D 00 00 6D F8 EF 19 ..ms... ....m...
0000C0: 7C 01 0D 00 00 6D F9 EF 1A 42 01 01 0D 00 00 6D |....m...B.....m
0000D0: 62 E8 EF 19 16 01 0D 00 00 6D 62 EC EF 19 84 00 b........mb.....
0000E0: 36 00 1E 00 0D 00 00 75 F0 EF 0E 01 0D 00 00 64 6......u.......d
0000F0: 6F F7 EF 10 01 0D 00 00 6C E5 EF 16 01 0D 00 00 o.......l.......
000100: 72 E9 EF 0F 01 0D 00 00 66 E9 EF 19 2F 01 0D 00 r.......f.../...
000110: 00 6B E6 EF 15 00 17 00 28 00 93 20 0D 00 00 6E .k......(.. ...n
000120: 75 ED 28 0D 00 00 6D 63 E8 F5 0F 29 00 2A 00 32 u.(...mc...).*.2
000130: 00 AD 20 0F 01 A9 20 16 2C 11 01 BF 22 57 41 43 .. ... .,..."WAC
000140: 43 49 20 62 61 63 6B 2D 69 73 73 75 65 73 20 6F CI back-issues o
000150: 72 64 65 72 73 22 00 1E 00 3C 00 A9 20 16 2C 12 rders"...<.. .,.
000160: 01 BF 20 FF 7B 28 19 18 2C 22 2D 22 29 01 A9 20 .. .{(..,"-")..
000170: 0F 2C 19 13 00 40 00 46 00 BF 22 55 73 65 20 74 .,...@.F.."Use t
000180: 68 65 20 63 75 72 73 6F 72 20 6B 65 79 73 20 74 he cursor keys t
000190: 6F 20 6D 6F 76 65 20 61 6E 64 20 61 6C 74 65 72 o move and alter
0001A0: 2E 20 20 53 50 41 43 45 20 74 6F 20 66 69 6E 69 . SPACE to fini
0001B0: 73 68 2E 22 00 40 00 50 00 9E 20 0D 00 00 6D F0 sh.".@.P.. ...m.
0001C0: EF 0E 20 EC 20 0D 00 00 6D 63 E8 F5 0F 01 A9 20 .. . ...mc.....
0001D0: 17 2C 14 F4 0D 00 00 6D F0 F6 10 01 BF 22 57 41 .,.....m....."WA
0001E0: 43 43 49 22 19 28 F4 0D 00 00 6D F0 01 9F 20 1E CCI".(....m... .
0001F0: D2 00 01 B0 00 19 00 5A 00 9E 20 0D 00 00 6D F0 .......Z.. ...m.
Size : 512 (Real : 512)
000000: 00 4D 45 4E 55 45 58 32 20 42 41 53 00 00 00 00 .MENUEX2 BAS....
000010: 00 00 00 00 00 70 01 00 64 04 00 00 00 00 00 00 .....p..d.......
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: 64 04 00 3B 04 EC 2C 0E 2C 0D 00 00 6D 63 6F EC d..;..,.,...mco.
000050: 01 AF 20 F5 0D 00 00 6D 62 EC 2C F5 10 F5 28 0D .. ....mb.,...(.
000060: 00 00 6D E4 EF F5 0F 29 F6 12 00 1C 00 F6 03 9E ..m....)........
000070: 20 0D 00 00 64 65 6C 61 F9 EF 0E 20 EC 20 0D 00 ...dela... . ..
000080: 22 00 0A 00 AD 20 0F 01 0D 00 00 6D 63 E8 EF 11 ".... .....mc...
000090: 01 0D 00 00 6D E6 EF 0E 01 0D 00 00 6D 64 E5 EF ....m.......md..
0000A0: 0E 00 47 00 14 00 0D 00 00 6D 63 6F EC EF 10 01 ..G......mco....
0000B0: 0D 00 00 6D 73 F0 EF 19 10 01 0D 00 00 6D F8 EF ...ms........m..
0000C0: 0E 01 0D 00 00 6D F9 EF 1A 8F 01 F5 13 F6 19 10 .....m..........
0000D0: 01 0D 00 00 6D 62 E8 EF 19 10 01 0D 00 00 6D 62 ....mb........mb
0000E0: EC EF 19 10 F6 10 F5 10 00 37 00 1E 00 0D 00 00 .........7......
0000F0: 75 F0 EF 0E 01 0D 00 00 64 6F F7 EF 10 01 0D 00 u.......do......
000100: 00 6C E5 EF 19 2F 01 0D 00 00 72 E9 EF 0F 01 0D .l.../....r.....
000110: 00 00 66 E9 EF 19 12 01 0D 00 00 6B E6 EF 13 00 ..f........k....
000120: 0F 00 28 00 0D 00 00 6F 75 72 6B E6 EF 0E 00 2F ..(....ourk..../
000130: 00 32 00 BF 22 50 72 65 73 73 20 53 50 41 43 45 .2.."Press SPACE
000140: 20 74 6F 20 74 6F 67 67 6C 65 20 74 68 65 20 76 to toggle the v
000150: 61 6C 75 65 73 20 4F 6E 2F 4F 66 66 22 00 39 00 alues On/Off".9.
000160: 3C 00 BF 20 FF 03 28 19 22 29 22 4F 66 66 22 FF <.. ..(.")"Off".
000170: 03 28 19 22 29 22 20 6D 65 61 6E 73 20 74 68 65 .(.")" means the
000180: 20 6B 65 79 20 77 6F 75 6C 64 20 62 65 20 69 67 key would be ig
000190: 6E 6F 72 65 64 22 00 30 00 46 00 BF 01 BF 22 50 nored".0.F...."P
0001A0: 72 65 73 73 20 52 45 54 55 52 4E 20 74 6F 20 63 ress RETURN to c
0001B0: 61 6C 63 75 6C 61 74 65 20 74 68 65 20 6B 66 20 alculate the kf
0001C0: 76 61 6C 75 65 22 00 1C 00 50 00 A9 20 0F 2C 14 value"...P.. .,.
0001D0: 01 BF 22 6C 65 22 01 BF 22 72 69 22 01 BF 22 66 .."le".."ri".."f
0001E0: 69 22 00 29 00 5A 00 9E 20 0D 00 00 6D F0 EF 0E i".).Z.. ...m...
0001F0: 20 EC 20 0D 00 00 6D 63 E8 F5 0F 01 9F 20 1E A0 . ...mc..... ..
Size : 512 (Real : 512)
000000: EF 0E 20 EC 20 0D 00 00 6D 63 E8 F5 0F 00 35 00 .. . ...mc....5.
000010: 64 00 A1 20 0D 00 00 6D E6 20 FA 20 10 F8 0D 00 d.. ...m. . ....
000020: 00 6D F0 20 EB 20 A9 20 19 1E 2C 10 F6 0D 00 00 .m. . . ..,.....
000030: 6D F0 F4 14 01 BF 22 28 6E 6F 20 73 74 6F 63 6B m....."(no stock
000040: 29 22 00 06 00 6E 00 B0 00 14 00 78 00 0D 00 00 )"...n.....x....
000050: 6D F0 EF 0E 01 0D 00 00 6B F0 EF 0E 00 0A 00 82 m.......k.......
000060: 00 9F 20 1E F2 03 00 0E 00 8C 00 D6 20 0D 00 00 .. ......... ...
000070: 6B F0 F2 12 00 3A 00 96 00 0D 00 00 6E 75 ED 28 k....:......nu.(
000080: 0D 00 00 6D F0 29 EF 0D 00 00 6E 75 ED 28 0D 00 ...m.)....nu.(..
000090: 00 6D F0 29 F4 28 0D 00 00 6B F0 EF 0F 29 F5 28 .m.).(...k...).(
0000A0: 0D 00 00 6B F0 EF 10 29 01 9F 20 1E D2 00 00 0A ...k...).. .....
0000B0: 00 A0 00 9F 20 1E E8 03 00 06 00 AA 00 D5 00 41 .... ..........A
0000C0: 00 B4 00 0D 00 00 6D 61 67 F3 EF 0E 01 9E 20 0D ......mag..... .
0000D0: 00 00 F8 EF 0E 20 EC 20 0D 00 00 6D 63 E8 F5 0F ..... . ...mc...
0000E0: 01 0D 00 00 6D 61 67 F3 EF 0D 00 00 6D 61 67 F3 ....mag.....mag.
0000F0: F4 0D 00 00 6E 75 ED 28 0D 00 00 F8 29 01 B0 00 ....nu.(....)...
000100: 28 00 BE 00 A9 20 0F 2C 19 16 01 BF 22 54 68 61 (.... .,...."Tha
000110: 6E 6B 20 79 6F 75 20 66 6F 72 20 79 6F 75 72 20 nk you for your
000120: 6F 72 64 65 72 2E 22 00 3C 00 C8 00 BF 22 50 6C order.".<...."Pl
000130: 65 61 73 65 20 73 65 6E 64 20 61 20 63 68 65 71 ease send a cheq
000140: 75 65 20 66 6F 72 20 A3 22 3B ED 22 23 23 2E 23 ue for .";."##.#
000150: 23 22 3B 1F 00 00 00 00 80 F6 0D 00 00 6D 61 67 #";..........mag
000160: F3 01 98 00 25 00 D2 00 A9 20 19 1B 2C 14 F4 0D ....%.... ..,...
000170: 00 00 6D F0 F6 10 01 BF 20 0D 00 00 6E 75 ED 28 ..m..... ...nu.(
000180: 0D 00 00 6D F0 29 01 C9 00 1C 00 E8 03 0D 00 00 ...m.)..........
000190: 6B F0 EF 0E 01 0D 00 00 6D E4 EF 0F 01 0D 00 00 k.......m.......
0001A0: 6D FA EF 0E 00 18 00 E9 03 D6 20 28 0D 00 00 6B m......... (...k
0001B0: F0 20 FA 20 0D 00 00 6B E6 29 EF 0E 00 22 00 EA . . ...k.)..."..
0001C0: 03 D6 20 28 10 F8 0D 00 00 6D F0 20 FA 20 0D 00 .. (.....m. . ..
0001D0: 00 6D E6 29 EE 0E 20 FC 20 0D 00 00 6D FA 00 3C .m.).. . ...m..<
0001E0: 00 EB 03 0D 00 00 6D FA EF 0E 01 9F 20 1E F2 03 ......m..... ...
0001F0: 01 0D 00 00 6D F0 EF 28 0D 00 00 6D F0 F4 0D 00 ....m..(...m....
Size : 512 (Real : 512)
000000: 00 01 B0 01 0D 00 00 6D F0 EF 0E 00 0A 00 64 00 .......m......d.
000010: 9F 20 1E F2 03 00 0E 00 6E 00 D6 20 0D 00 00 6B . ......n.. ...k
000020: F0 F2 12 00 0A 00 78 00 9F 20 1E E8 03 00 46 00 ......x.. ....F.
000030: 82 00 A1 20 0D 00 00 6B F0 EF 0F 20 EB 20 0D 00 ... ...k... . ..
000040: 00 6F 75 72 6B E6 EF 0D 00 00 6F 75 72 6B E6 20 .ourk.....ourk.
000050: FD 20 10 F8 0D 00 00 6D F0 01 9F 20 1E A0 00 01 . .....m... ....
000060: 9E 20 0D 00 00 64 65 6C 61 F9 EF 0F 20 EC 20 19 . ...dela... . .
000070: 64 01 B0 00 06 00 8C 00 D5 00 37 00 96 00 9F 20 d.........7....
000080: 1E F2 03 01 A9 20 0F 2C 19 0A 01 BF 22 54 68 65 ..... .,...."The
000090: 20 6B 66 20 76 61 6C 75 65 20 79 6F 75 20 6E 65 kf value you ne
0000A0: 65 64 20 69 73 22 0D 00 00 6F 75 72 6B E6 01 98 ed is"...ourk...
0000B0: 00 39 00 A0 00 A9 20 19 0A 2C 0D 00 00 6D F0 F4 .9.... ..,...m..
0000C0: 14 01 A1 20 0D 00 00 6F 75 72 6B E6 20 FA 20 10 ... ...ourk. . .
0000D0: F8 0D 00 00 6D F0 20 EB 20 BF 22 4F 6E 20 22 20 ....m. . ."On "
0000E0: 01 97 20 BF 22 4F 66 66 22 00 06 00 AA 00 C9 00 .. ."Off".......
0000F0: 1C 00 E8 03 0D 00 00 6B F0 EF 0E 01 0D 00 00 6D .......k.......m
000100: E4 EF 0F 01 0D 00 00 6D FA EF 0E 00 18 00 E9 03 .......m........
000110: D6 20 28 0D 00 00 6B F0 20 FA 20 0D 00 00 6B E6 . (...k. . ...k.
000120: 29 EF 0E 00 22 00 EA 03 D6 20 28 10 F8 0D 00 00 )...".... (.....
000130: 6D F0 20 FA 20 0D 00 00 6D E6 29 EE 0E 20 FC 20 m. . ...m.).. .
000140: 0D 00 00 6D FA 00 3C 00 EB 03 0D 00 00 6D FA EF ...m..<......m..
000150: 0E 01 9F 20 1E F2 03 01 0D 00 00 6D F0 EF 28 0D ... .......m..(.
000160: 00 00 6D F0 F4 0D 00 00 6D 63 E8 F4 0D 00 00 6D ..m.....mc.....m
000170: E4 29 20 FB 20 0D 00 00 6D 63 E8 01 9F 20 1E F2 .) . ...mc... ..
000180: 03 00 06 00 EC 03 D5 00 35 00 ED 03 0D 00 00 6D ........5......m
000190: E4 EF 28 FF 0A 28 0D 00 00 75 F0 29 EE F5 0F 29 ..(..(...u.)...)
0001A0: F5 28 FF 0A 28 0D 00 00 64 6F F7 29 EE F5 0F 29 .(..(...do.)...)
0001B0: 01 0D 00 00 6D FA EF 0D 00 00 6D E4 00 3C 00 EE ....m.....m..<..
0001C0: 03 0D 00 00 6B F0 EF F5 28 FF 0A 28 0D 00 00 6C ....k...(..(...l
0001D0: E5 29 EE F5 0F 29 F5 10 F6 28 FF 0A 28 0D 00 00 .)...)...(..(...
0001E0: 72 E9 29 EE F5 0F 29 F5 12 F6 28 FF 0A 28 0D 00 r.)...)...(..(..
0001F0: 00 66 E9 29 EE F5 0F 29 00 06 00 EF 03 D5 00 0E .f.)...)........
Size : 512 (Real : 512)
000000: 5A 00 9E 20 0D 00 00 6D F0 EF 0E 20 EC 20 0D 00 Z.. ...m... . ..
000010: 00 6D 63 E8 F5 0F 00 35 00 64 00 A1 20 0D 00 00 .mc....5.d.. ...
000020: 6D E6 20 FA 20 10 F8 0D 00 00 6D F0 20 EB 20 A9 m. . .....m. . .
000030: 20 19 1E 2C 10 F6 0D 00 00 6D F0 F4 14 01 BF 22 ..,.....m....."
000040: 28 6E 6F 20 73 74 6F 63 6B 29 22 00 06 00 6E 00 (no stock)"...n.
000050: B0 00 14 00 78 00 0D 00 00 6D F0 EF 0E 01 0D 00 ....x....m......
000060: 00 6B F0 EF 0E 00 0A 00 82 00 9F 20 1E F2 03 00 .k......... ....
000070: 0E 00 8C 00 D6 20 0D 00 00 6B F0 F2 12 00 5E 00 ..... ...k....^.
000080: 96 00 0D 00 00 6E 75 ED 28 0D 00 00 6D F0 29 EF .....nu.(...m.).
000090: 0D 00 00 6E 75 ED 28 0D 00 00 6D F0 29 F4 28 28 ...nu.(...m.).((
0000A0: 28 0D 00 00 6B F0 20 FA 20 0F 29 EF 0F 29 F5 28 (...k. . .)..).(
0000B0: 28 0D 00 00 6B F0 20 FA 20 10 29 EF 10 29 29 F6 (...k. . .)..)).
0000C0: 28 0F F5 17 F6 28 28 0D 00 00 6B F0 20 FA 20 16 (....((...k. . .
0000D0: 29 EF 16 29 29 01 9F 20 1E D2 00 00 0A 00 A0 00 )..)).. ........
0000E0: 9F 20 1E E8 03 00 06 00 AA 00 D5 00 41 00 B4 00 . ..........A...
0000F0: 0D 00 00 6D 61 67 F3 EF 0E 01 9E 20 0D 00 00 F8 ...mag..... ....
000100: EF 0E 20 EC 20 0D 00 00 6D 63 E8 F5 0F 01 0D 00 .. . ...mc......
000110: 00 6D 61 67 F3 EF 0D 00 00 6D 61 67 F3 F4 0D 00 .mag.....mag....
000120: 00 6E 75 ED 28 0D 00 00 F8 29 01 B0 00 28 00 BE .nu.(....)...(..
000130: 00 A9 20 0F 2C 19 16 01 BF 22 54 68 61 6E 6B 20 .. .,...."Thank
000140: 79 6F 75 20 66 6F 72 20 79 6F 75 72 20 6F 72 64 you for your ord
000150: 65 72 2E 22 00 3C 00 C8 00 BF 22 50 6C 65 61 73 er.".<...."Pleas
000160: 65 20 73 65 6E 64 20 61 20 63 68 65 71 75 65 20 e send a cheque
000170: 66 6F 72 20 A3 22 3B ED 22 23 23 2E 23 23 22 3B for .";."##.##";
000180: 1F 00 00 00 00 80 F6 0D 00 00 6D 61 67 F3 01 98 ..........mag...
000190: 00 25 00 D2 00 A9 20 19 1B 2C 14 F4 0D 00 00 6D .%.... ..,.....m
0001A0: F0 F6 10 01 BF 20 0D 00 00 6E 75 ED 28 0D 00 00 ..... ...nu.(...
0001B0: 6D F0 29 01 C9 00 1C 00 E8 03 0D 00 00 6B F0 EF m.)..........k..
0001C0: 0E 01 0D 00 00 6D E4 EF 0F 01 0D 00 00 6D FA EF .....m.......m..
0001D0: 0E 00 18 00 E9 03 D6 20 28 0D 00 00 6B F0 20 FA ....... (...k. .
0001E0: 20 0D 00 00 6B E6 29 EF 0E 00 22 00 EA 03 D6 20 ...k.)..."....
0001F0: 28 10 F8 0D 00 00 6D F0 20 FA 20 0D 00 00 6D E6 (.....m. . ...m.
Size : 512 (Real : 512)
000000: 00 50 45 4C 4D 41 4E 20 20 42 41 53 00 00 00 00 .PELMAN BAS....
000010: 00 00 00 00 00 70 01 00 75 0B 00 00 00 00 00 00 .....p..u.......
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: 75 0B 00 44 04 29 FF 03 28 0F 29 FF 03 28 19 C5 u..D.)..(.)..(..
000050: 29 FF 03 28 19 C7 29 FF 03 28 19 16 29 FF 03 28 )..(..)..(..)..(
000060: 0E 29 00 06 00 9E 11 C9 00 49 00 A8 11 A1 20 0D .).......I.... .
000070: 00 00 72 6F F7 F2 0D 00 00 72 B1 20 FC 20 0D 00 ..ro.....r. . ..
000080: 44 00 05 00 C5 20 50 65 6C 6D 61 6E 69 73 6D 20 D.... Pelmanism
000090: 76 2E 32 2E 30 20 28 53 69 6D 70 6C 65 20 76 65 v.2.0 (Simple ve
0000A0: 72 73 69 6F 6E 29 2C 20 44 65 63 20 31 39 39 37 rsion), Dec 1997
0000B0: 20 62 79 20 48 69 6C 61 72 79 20 50 68 69 6C 6C by Hilary Phill
0000C0: 69 70 73 00 27 00 0A 00 CF 20 80 20 19 FF 01 CF ips.'.... . ....
0000D0: 20 19 FF 2C 19 4C 2C 19 D2 2C 19 52 2C 19 52 2C ..,.L,..,.R,.R,
0000E0: 19 52 2C 19 52 2C 19 4C 2C 0E 00 34 00 1E 00 93 .R,.R,.L,..4....
0000F0: 20 0D 00 00 70 61 63 EB 28 19 34 29 01 93 20 0D ...pac.(.4).. .
000100: 00 00 E3 28 15 2C 14 29 01 93 20 03 00 00 70 EC ...(.,.).. ...p.
000110: 28 14 29 01 93 20 0D 00 00 70 F7 28 14 29 00 25 (.).. ...p.(.).%
000120: 00 28 00 03 00 00 63 61 72 E4 EF 22 41 32 33 34 .(....car.."A234
000130: 35 36 37 38 39 22 F4 FF 03 28 19 FF 29 F4 22 4A 56789"...(..)."J
000140: 51 4B 22 00 33 00 32 00 9E 20 0D 00 00 EE EF 0F QK".3.2.. ......
000150: 20 EC 20 19 34 01 0D 00 00 70 61 63 EB 28 0D 00 . .4....pac.(..
000160: 00 EE 29 EF 0D 00 00 EE F4 28 0D 00 00 EE F5 0F ..)......(......
000170: 29 F9 19 0D 01 B0 00 27 00 46 00 A2 20 0E 2C 0E )......'.F.. .,.
000180: 01 A2 20 0F 2C 14 01 A2 20 10 2C 19 1A 01 A2 20 .. .,... .,....
000190: 11 2C 17 01 AD 20 0F 01 BA 20 11 01 8A 00 23 00 .,... ... ....#.
0001A0: 50 00 D8 23 0F 2C 0F 2C 19 28 2C 19 18 2C 19 19 P..#.,.,.(,..,..
0001B0: 01 BA 23 0F 2C 11 01 BB 23 0F 2C 10 01 8A 23 0F ..#.,...#.,...#.
0001C0: 00 0A 00 64 00 9F 20 1E E8 03 00 6B 00 6E 00 A9 ...d.. ....k.n..
0001D0: 23 0F 2C 0F 2C 0F 01 BF 23 0F 2C 22 45 6E 74 65 #.,.,...#.,"Ente
0001E0: 72 20 6E 75 6D 62 65 72 20 6F 66 20 70 6C 61 79 r number of play
0001F0: 65 72 73 20 28 31 2D 36 29 22 3B 01 0D 00 00 6E ers (1-6)";....n
Size : 512 (Real : 512)
000000: 29 EE 0E 20 FC 20 0D 00 00 6D FA 00 3C 00 EB 03 ).. . ...m..<...
000010: 0D 00 00 6D FA EF 0E 01 9F 20 1E F2 03 01 0D 00 ...m..... ......
000020: 00 6D F0 EF 28 0D 00 00 6D F0 F4 0D 00 00 6D 63 .m..(...m.....mc
000030: E8 F4 0D 00 00 6D E4 29 20 FB 20 0D 00 00 6D 63 .....m.) . ...mc
000040: E8 01 9F 20 1E F2 03 00 06 00 EC 03 D5 00 35 00 ... ..........5.
000050: ED 03 0D 00 00 6D E4 EF 28 FF 0A 28 0D 00 00 75 .....m..(..(...u
000060: F0 29 EE F5 0F 29 F5 28 FF 0A 28 0D 00 00 64 6F .)...).(..(...do
000070: F7 29 EE F5 0F 29 01 0D 00 00 6D FA EF 0D 00 00 .)...)....m.....
000080: 6D E4 00 4D 00 EE 03 0D 00 00 6B F0 EF F5 28 FF m..M......k...(.
000090: 0A 28 0D 00 00 6C E5 29 EE F5 0F 29 F5 10 F6 28 .(...l.)...)...(
0000A0: FF 0A 28 0D 00 00 72 E9 29 EE F5 0F 29 F5 12 F6 ..(...r.)...)...
0000B0: 28 FF 0A 28 0D 00 00 66 E9 29 EE F5 0F 29 F5 16 (..(...f.)...)..
0000C0: F6 28 FF 0A 28 0D 00 00 73 E8 29 EE F5 0F 29 00 .(..(...s.)...).
0000D0: 06 00 EF 03 D5 00 0E 00 F0 03 D6 20 FF 43 F2 22 ........... .C."
0000E0: 22 01 D5 00 06 00 F1 03 C9 00 14 00 F2 03 BF 20 "..............
0000F0: FF 03 28 19 17 29 F4 FF 03 28 0F 29 3B 00 35 00 ..(..)...(.);.5.
000100: F3 03 AE 20 0D 00 00 6D F8 2C 0D 00 00 6D F9 F5 ... ...m.,...m..
000110: 0D 00 00 6D F0 F6 0D 00 00 6D 73 F0 F4 28 0D 00 ...m.....ms..(..
000120: 00 6D E4 EF F5 0F 29 F6 28 0D 00 00 6D 62 E8 F5 .m....).(...mb..
000130: 10 29 00 19 00 F4 03 9E 20 0D 00 00 6D E3 EF 0F .)...... ...m...
000140: 20 EC 20 0D 00 00 6D 62 E8 F7 10 00 31 00 F5 03 . ...mb....1...
000150: 95 20 0D 00 00 6D 62 EC 2C 0E 2C 0D 00 00 6D 63 . ...mb.,.,...mc
000160: 6F EC 01 AF 20 F5 0D 00 00 6D 62 EC 2C F5 10 F5 o... ....mb.,...
000170: 28 0D 00 00 6D E4 EF F5 0F 29 F6 12 00 1C 00 F6 (...m....)......
000180: 03 9E 20 0D 00 00 64 65 6C 61 F9 EF 0E 20 EC 20 .. ...dela... .
000190: 0D 00 00 6D 64 E5 01 B0 00 06 00 F7 03 B0 00 14 ...md...........
0001A0: 00 F8 03 BF 20 FF 03 28 19 17 29 F4 FF 03 28 0E .... ..(..)...(.
0001B0: 29 3B 00 06 00 F9 03 C9 00 00 00 1A 32 3A 6D 62 );..........2:mb
0001C0: 6C 3D 31 33 32 0D 0A 33 30 20 75 70 3D 30 3A 64 l=132..30 up=0:d
0001D0: 6F 77 3D 32 3A 6C 65 3D 38 3A 72 69 3D 31 3A 66 ow=2:le=8:ri=1:f
0001E0: 69 3D 34 37 3A 73 68 3D 32 31 3A 6B 66 3D 37 0D i=47:sh=21:kf=7.
0001F0: 0A 34 30 20 44 49 4D 20 6E 75 6D 28 6D 63 68 2D .40 DIM num(mch-
Size : 512 (Real : 512)
000000: 70 EC EF 0E 01 D6 20 0D 00 00 6E 70 EC F1 0F 20 p..... ...np...
000010: FC 20 0D 00 00 6E 70 EC EE 14 01 0D 00 00 6E 70 . ...np.......np
000020: EC EF FF 1D 28 FF 43 29 01 D5 01 BF 23 0F 2C 0D ....(.C)....#.,.
000030: 00 00 6E 70 EC 00 6D 00 78 00 9E 20 0D 00 00 EE ..np..m.x.. ....
000040: EF 0F 20 EC 20 0D 00 00 6E 70 EC 01 A9 23 0F 2C .. . ...np...#.,
000050: 0F 2C 0F 01 BF 23 0F 2C 22 50 6C 61 79 65 72 22 .,...#.,"Player"
000060: 3B 0D 00 00 EE 3B 22 65 6E 74 65 72 20 79 6F 75 ;....;"enter you
000070: 72 20 6E 61 6D 65 3A 22 3B FF 03 28 19 14 29 01 r name:";..(..).
000080: A6 20 A3 23 0F 2C 03 00 00 E1 01 03 00 00 70 EC . .#.,........p.
000090: 28 0D 00 00 EE 29 EF FF 75 28 03 00 00 E1 2C 19 (....)..u(....,.
0000A0: 10 29 00 2A 00 82 00 A9 20 19 19 2C 0D 00 00 EE .).*.... ..,....
0000B0: F6 11 F5 10 01 BA 20 11 01 BB 20 10 01 BF 20 03 ...... ... ... .
0000C0: 00 00 70 EC 28 0D 00 00 EE 29 01 B0 00 2B 00 8C ..p.(....)...+..
0000D0: 00 9E 20 0D 00 00 EE EF 0F 20 EC 20 14 01 0D 00 .. ...... . ....
0000E0: 00 70 F7 28 0D 00 00 EE 29 EF 0E 01 B0 01 0D 00 .p.(....).......
0000F0: 00 74 75 72 EE EF 0F 00 47 00 96 00 D6 20 0D 00 .tur....G.... ..
000100: 00 70 F7 28 0F 29 F4 0D 00 00 70 F7 28 10 29 F4 .p.(.)....p.(.).
000110: 0D 00 00 70 F7 28 11 29 F4 0D 00 00 70 F7 28 12 ...p.(.)....p.(.
000120: 29 F4 0D 00 00 70 F7 28 13 29 F4 0D 00 00 70 F7 )....p.(.)....p.
000130: 28 14 29 F1 19 1A 01 9F 20 1E D0 07 01 D5 00 81 (.)..... .......
000140: 00 C8 00 03 00 00 77 69 EE EF 22 22 01 9E 20 0D ......wi.."".. .
000150: 00 00 EE EF 0F 20 EC 20 0D 00 00 6E 70 EC 01 A1 ..... . ...np...
000160: 20 0D 00 00 70 F7 28 0D 00 00 EE 29 EF FF 76 28 ...p.(....)..v(
000170: 0D 00 00 70 F7 28 0F 29 2C 0D 00 00 70 F7 28 10 ...p.(.),...p.(.
000180: 29 2C 0D 00 00 70 F7 28 11 29 2C 0D 00 00 70 F7 ),...p.(.),...p.
000190: 28 12 29 2C 0D 00 00 70 F7 28 13 29 2C 0D 00 00 (.),...p.(.),...
0001A0: 70 F7 28 14 29 29 20 EB 20 03 00 00 77 69 EE EF p.(.)) . ...wi..
0001B0: 03 00 00 77 69 EE F4 FF 03 28 0D 00 00 EE 29 00 ...wi....(....).
0001C0: 23 00 D2 00 B0 01 A9 20 0F 2C 17 01 BA 20 11 01 #...... .,... ..
0001D0: BB 20 10 01 BF 22 54 68 65 20 77 69 6E 6E 65 72 . ..."The winner
0001E0: 22 3B 00 76 00 DC 00 A1 20 FF 0E 28 03 00 00 77 ";.v.... ..(...w
0001F0: 69 EE 29 EF 0F 20 EB 20 BF 22 20 69 73 20 22 3B i.).. . ." is ";
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: 03 00 00 70 EC 28 FF 01 28 03 00 00 77 69 EE 29 ...p.(..(...wi.)
000010: 29 3B 22 2E 22 20 01 97 20 BF 22 73 20 61 72 65 );"." .. ."s are
000020: 3A 22 01 9E 20 0D 00 00 EE EF 0F 20 EC 20 FF 0E :".. ...... . ..
000030: 28 03 00 00 77 69 EE 29 01 BF 20 03 00 00 70 EC (...wi.).. ...p.
000040: 28 FF 01 28 AC 28 03 00 00 77 69 EE 2C 0D 00 00 (..(.(...wi.,...
000050: EE 2C 0F 29 29 29 01 B0 00 67 00 E6 00 A9 23 0F .,.)))...g....#.
000060: 2C 0F 2C 0F 01 BF 23 0F 2C 22 50 72 65 73 73 20 ,.,...#.,"Press
000070: 50 20 74 6F 20 70 6C 61 79 20 61 67 61 69 6E 2C P to play again,
000080: 20 51 20 74 6F 20 71 75 69 74 22 3B FF 03 28 19 Q to quit";..(.
000090: 14 29 3B 01 03 00 00 E1 EF 22 22 01 D6 20 03 00 .);......"".. ..
0000A0: 00 E1 F1 22 50 22 20 FC 20 03 00 00 E1 EE 22 51 ..."P" . ....."Q
0000B0: 22 01 03 00 00 E1 EF FF 1C 28 FF 43 29 01 D5 00 "........(.C)...
0000C0: 15 00 F0 00 A1 20 03 00 00 E1 EF 22 50 22 20 A0 ..... ....."P" .
0000D0: 20 1E 32 00 00 16 00 FA 00 83 20 1C 02 BC 01 83 .2....... .....
0000E0: 20 1C 4E BB 01 AD 20 0F 01 98 00 2D 00 E8 03 A9 .N... ....-....
0000F0: 23 0F 2C 19 0A 2C 0F 01 BF 23 0F 2C FF 03 28 19 #.,..,...#.,..(.
000100: 11 29 3B 22 44 65 61 6C 69 6E 67 2E 2E 2E 22 3B .);"Dealing...";
000110: FF 03 28 19 14 29 3B 00 9A 00 F2 03 0D 00 00 EE ..(..);.........
000120: EF 19 34 01 9E 20 0D 00 00 72 6F F7 EF 0E 20 EC ..4.. ...ro... .
000130: 20 14 01 9E 20 0D 00 00 63 6F EC EF 0E 20 EC 20 ... ...co... .
000140: 14 01 0D 00 00 63 64 65 EC EF FF 0C 28 FF 45 F6 .....cde....(.E.
000150: 0D 00 00 EE F4 0F 29 01 0D 00 00 E3 28 0D 00 00 ......).....(...
000160: 72 6F F7 2C 0D 00 00 63 6F EC 29 EF 0D 00 00 70 ro.,...co.)....p
000170: 61 63 EB 28 0D 00 00 63 64 65 EC 29 01 0D 00 00 ac.(...cde.)....
000180: 70 61 63 EB 28 0D 00 00 63 64 65 EC 29 EF 0D 00 pac.(...cde.)...
000190: 00 70 61 63 EB 28 0D 00 00 EE 29 01 9F 20 1E AC .pac.(....).. ..
0001A0: 0D 01 0D 00 00 EE EF 0D 00 00 EE F5 0F 01 B0 01 ................
0001B0: B0 00 86 00 FC 03 9E 20 0D 00 00 63 6F EC EF 0E ....... ...co...
0001C0: 20 EC 20 10 01 0D 00 00 63 64 65 EC EF FF 0C 28 . .....cde....(
0001D0: FF 45 28 0F 29 F6 0D 00 00 EE F4 0F 29 01 0D 00 .E(.).......)...
0001E0: 00 E3 28 0D 00 00 72 6F F7 2C 0D 00 00 63 6F EC ..(...ro.,...co.
0001F0: 29 EF 0D 00 00 70 61 63 EB 28 0D 00 00 63 64 65 )....pac.(...cde
Size : 512 (Real : 512)
000000: 31 30 30 30 20 6B 70 3D 30 3A 6D 64 3D 31 3A 6D 1000 kp=0:md=1:m
000010: 7A 3D 30 0D 0A 31 30 30 31 20 57 48 49 4C 45 20 z=0..1001 WHILE
000020: 28 6B 70 20 41 4E 44 20 6B 66 29 3D 30 0D 0A 31 (kp AND kf)=0..1
000030: 30 30 32 20 57 48 49 4C 45 20 28 32 5E 6D 70 20 002 WHILE (2^mp
000040: 41 4E 44 20 6D 66 29 3E 30 20 4F 52 20 6D 7A 0D AND mf)>0 OR mz.
000050: 0A 31 30 30 33 20 6D 7A 3D 30 3A 47 4F 53 55 42 .1003 mz=0:GOSUB
000060: 20 31 30 31 30 3A 6D 70 3D 28 6D 70 2B 6D 63 68 1010:mp=(mp+mch
000070: 2B 6D 64 29 20 4D 4F 44 20 6D 63 68 3A 47 4F 53 +md) MOD mch:GOS
000080: 55 42 20 31 30 31 30 0D 0A 31 30 30 34 20 57 45 UB 1010..1004 WE
000090: 4E 44 0D 0A 31 30 30 35 20 6D 64 3D 28 49 4E 4B ND..1005 md=(INK
0000A0: 45 59 28 75 70 29 3E 2D 31 29 2D 28 49 4E 4B 45 EY(up)>-1)-(INKE
0000B0: 59 28 64 6F 77 29 3E 2D 31 29 3A 6D 7A 3D 6D 64 Y(dow)>-1):mz=md
0000C0: 0D 0A 31 30 30 36 20 6B 70 3D 2D 28 49 4E 4B 45 ..1006 kp=-(INKE
0000D0: 59 28 6C 65 29 3E 2D 31 29 2D 32 2A 28 49 4E 4B Y(le)>-1)-2*(INK
0000E0: 45 59 28 72 69 29 3E 2D 31 29 2D 34 2A 28 49 4E EY(ri)>-1)-4*(IN
0000F0: 4B 45 59 28 66 69 29 3E 2D 31 29 0D 0A 31 30 30 KEY(fi)>-1)..100
000100: 37 20 57 45 4E 44 0D 0A 31 30 30 38 20 57 48 49 7 WEND..1008 WHI
000110: 4C 45 20 49 4E 4B 45 59 24 3C 3E 22 22 3A 57 45 LE INKEY$<>"":WE
000120: 4E 44 0D 0A 31 30 30 39 20 52 45 54 55 52 4E 0D ND..1009 RETURN.
000130: 0A 31 30 31 30 20 50 52 49 4E 54 20 43 48 52 24 .1010 PRINT CHR$
000140: 28 32 33 29 2B 43 48 52 24 28 31 29 3B 0D 0A 31 (23)+CHR$(1);..1
000150: 30 31 31 20 4D 4F 56 45 20 6D 78 2C 6D 79 2D 6D 011 MOVE mx,my-m
000160: 70 2A 6D 73 70 2B 28 6D 64 3D 2D 31 29 2A 28 6D p*msp+(md=-1)*(m
000170: 62 68 2D 32 29 0D 0A 31 30 31 32 20 46 4F 52 20 bh-2)..1012 FOR
000180: 6D 63 3D 31 20 54 4F 20 6D 62 68 2F 32 0D 0A 31 mc=1 TO mbh/2..1
000190: 30 31 33 20 44 52 41 57 52 20 6D 62 6C 2C 30 2C 013 DRAWR mbl,0,
0001A0: 6D 63 6F 6C 3A 4D 4F 56 45 52 20 2D 6D 62 6C 2C mcol:MOVER -mbl,
0001B0: 2D 32 2D 28 6D 64 3D 2D 31 29 2A 34 0D 0A 31 30 -2-(md=-1)*4..10
0001C0: 31 34 20 46 4F 52 20 64 65 6C 61 79 3D 30 20 54 14 FOR delay=0 T
0001D0: 4F 20 6D 64 65 3A 4E 45 58 54 0D 0A 31 30 31 35 O mde:NEXT..1015
0001E0: 20 4E 45 58 54 0D 0A 31 30 31 36 20 50 52 49 4E NEXT..1016 PRIN
0001F0: 54 20 43 48 52 24 28 32 33 29 2B 43 48 52 24 28 T CHR$(23)+CHR$(
Size : 512 (Real : 512)
000000: EC 29 01 0D 00 00 70 61 63 EB 28 0D 00 00 63 64 .)....pac.(...cd
000010: 65 EC 29 EF 0D 00 00 70 61 63 EB 28 0D 00 00 EE e.)....pac.(....
000020: 29 01 9F 20 1E AC 0D 01 0D 00 00 EE EF 0D 00 00 ).. ............
000030: EE F5 0F 01 B0 01 C9 00 2E 00 D0 07 0D 00 00 72 ...............r
000040: 6F F7 EF 0E 01 0D 00 00 63 6F EC EF 0E 01 0D 00 o.......co......
000050: 00 72 B1 EF F5 0F 01 0D 00 00 63 B1 EF F5 0F 01 .r........c.....
000060: 9F 20 1E 94 11 00 47 00 DA 07 03 00 00 6D 75 E4 . ....G......mu.
000070: EF 22 22 01 9F 20 1E C4 09 01 9F 20 1E B8 0B 01 ."".. ..... ....
000080: 0D 00 00 72 B1 EF 0D 00 00 72 6F F7 01 0D 00 00 ...r.....ro.....
000090: 63 B1 EF 0D 00 00 63 6F EC 01 0D 00 00 63 61 72 c.....co.....car
0000A0: 64 73 65 EC EF 0D 00 00 63 61 72 E4 00 1A 00 E4 dse.....car.....
0000B0: 07 03 00 00 6D 75 E4 EF 22 6E 6F 74 68 65 72 22 ....mu.."nother"
0000C0: 01 9F 20 1E C4 09 00 31 00 EE 07 A1 20 0D 00 00 .. ....1.... ...
0000D0: 72 6F F7 F2 0D 00 00 72 B1 20 FC 20 0D 00 00 63 ro.....r. . ...c
0000E0: 6F EC F2 0D 00 00 63 B1 20 EB 20 9F 20 1E B8 0B o.....c. . . ...
0000F0: 20 01 97 20 1E E4 07 00 26 00 F8 07 A1 20 0D 00 .. ....&.... ..
000100: 00 63 61 72 E4 EF 0D 00 00 63 61 72 64 73 65 EC .car.....cardse.
000110: 20 EB 20 1E 34 08 20 01 97 20 1E 98 08 00 58 00 . .4. .. ....X.
000120: 34 08 A9 23 0F 2C 0F 2C 0F 01 BF 23 0F 2C 22 54 4..#.,.,...#.,"T
000130: 68 65 79 20 6D 61 74 63 68 21 20 57 65 6C 6C 20 hey match! Well
000140: 64 6F 6E 65 20 22 3B 03 00 00 70 EC 28 0D 00 00 done ";...p.(...
000150: 74 75 72 EE 29 3B 22 2E 22 3B FF 03 28 19 14 29 tur.);".";..(..)
000160: 01 9E 20 0D 00 00 64 65 6C 61 F9 EF 0F 20 EC 20 .. ...dela... .
000170: 1A F4 01 01 B0 00 56 00 3E 08 9F 20 1E A0 0F 01 ......V.>.. ....
000180: 0D 00 00 E3 28 0D 00 00 72 6F F7 2C 0D 00 00 63 ....(...ro.,...c
000190: 6F EC 29 EF 0E 01 0D 00 00 72 6F F7 EF 0D 00 00 o.)......ro.....
0001A0: 72 B1 01 0D 00 00 63 6F EC EF 0D 00 00 63 B1 01 r.....co.....c..
0001B0: 0D 00 00 E3 28 0D 00 00 72 6F F7 2C 0D 00 00 63 ....(...ro.,...c
0001C0: 6F EC 29 EF 0E 01 9F 20 1E A0 0F 00 50 00 48 08 o.).... ....P.H.
0001D0: 0D 00 00 70 F7 28 0D 00 00 74 75 72 EE 29 EF 0D ...p.(...tur.)..
0001E0: 00 00 70 F7 28 0D 00 00 74 75 72 EE 29 F4 0F 01 ..p.(...tur.)...
0001F0: A9 20 19 1B 2C 0D 00 00 74 75 72 EE F6 11 F5 0F . ..,...tur.....
Size : 512 (Real : 512)
000000: 30 29 3B 0D 0A 31 30 31 37 20 52 45 54 55 52 4E 0);..1017 RETURN
000010: 0D 0A 1A 00 00 72 01 00 C8 25 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: C8 25 00 F1 04 61 79 3D 30 20 54 4F 20 6D 64 65 .%...ay=0 TO mde
000050: 3A 4E 45 58 54 0D 0A 31 30 31 35 20 4E 45 58 54 :NEXT..1015 NEXT
000060: 0D 0A 31 30 31 36 20 50 52 49 4E 54 20 43 48 52 ..1016 PRINT CHR
000070: 24 28 32 33 29 2B 43 48 52 24 28 30 29 3B 0D 0A $(23)+CHR$(0);..
000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: CD CE 91 CD FE 91 CD 12 91 B7 C0 37 C9 3E 45 CD ...........7.>E.
000010: 97 91 CD E6 91 18 EC CD B8 91 7B CD B8 91 16 04 ..........{.....
000020: DD 7E 00 CD B8 91 DD 23 15 20 F5 DD 7E FE CD B8 .~.....#. ..~...
000030: 91 3E 11 CD B8 91 3E FF F3 01 7E FB F5 ED 78 87 .>....>...~...x.
000040: 30 FB FA BD 91 F1 0C ED 79 06 07 10 FE C9 F3 01 0.......y.......
000050: 7E FB C3 DB 91 0C ED 78 77 23 0D ED 78 F2 DB 91 ~......xw#..x...
000060: E6 20 C2 D5 91 C9 F3 01 7E FB C3 F3 91 0C 7E ED . ......~.....~.
000070: 79 23 0D ED 78 F2 F3 91 E6 20 C2 ED 91 C9 21 DA y#..x.... ....!.
000080: 92 F3 01 7E FB ED 78 FE C0 38 FA 0C ED 78 77 23 ...~..x..8...xw#
000090: 0D 3E 05 00 3D 20 FC ED 78 E6 10 20 E8 FB C9 F5 .>..= ..x.. ....
0000A0: 3E FF DF 2D 90 F1 21 DA 92 06 07 36 00 23 10 FB >..-..!....6.#..
0000B0: DD 6E 00 DD 23 DD 66 00 DD 23 22 D8 92 23 36 00 .n..#.f..#"..#6.
0000C0: 3D C9 C1 32 D2 92 AF DF 2D 90 3A D2 92 2A D8 92 =..2....-.:..*..
0000D0: 77 C9 23 10 FD 0D 20 38 3E 0C 32 E2 92 3E 42 C3 w.#... 8>.2..>B.
0000E0: 43 92 7B 32 D1 92 11 E5 92 06 0C C5 3E 4A CD B8 C.{2........>J..
0000F0: 91 3A D1 92 CD B8 91 CD FE 91 CD 12 91 C2 42 92 .:............B.
000100: 21 DD 92 01 04 00 ED B0 C1 10 E0 0E 0B 21 E9 92 !............!..
000110: 06 04 11 E5 92 1A BE 20 B9 13 23 10 F8 3E 0C 91 ....... ..#..>..
000120: 32 E2 92 AF C3 43 92 CD 45 91 B7 C2 42 92 3E 4D 2....C..E...B.>M
000130: CD B8 91 7B CD B8 91 21 E1 92 16 04 7E CD B8 91 ...{...!....~...
000140: 23 15 20 F8 CD E6 91 CD FE 91 CD 12 91 C8 C3 42 #. ............B
000150: 92 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000160: 00 02 00 00 E5 00 00 00 00 00 00 00 00 00 00 00 ................
000170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0001B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
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: 54 68 65 72 65 20 69 73 20 6E 6F 20 70 6F 69 6E There is no poin
000010: 74 20 75 73 69 6E 67 20 74 68 69 73 20 70 72 6F t using this pro
000020: 67 72 61 6D 20 69 66 20 79 6F 75 20 68 61 76 65 gram if you have
000030: 20 61 20 73 69 64 65 20 73 77 69 74 63 68 20 66 a side switch f
000040: 69 74 74 65 64 2E 22 00 62 00 46 00 BF 01 BF 22 itted.".b.F...."
000050: 57 41 52 4E 49 4E 47 3A 20 2D 20 74 68 65 20 63 WARNING: - the c
000060: 6F 6E 74 65 6E 74 73 20 6F 66 20 74 68 65 20 64 ontents of the d
000070: 69 73 63 20 69 6E 20 64 72 69 76 65 20 41 20 77 isc in drive A w
000080: 69 6C 6C 20 62 65 20 6F 76 65 72 77 72 69 74 74 ill be overwritt
000090: 65 6E 20 62 79 20 74 68 69 73 20 20 20 20 20 20 en by this
0000A0: 70 72 6F 67 72 61 6D 2E 22 00 51 00 50 00 BF 01 program.".Q.P...
0000B0: BF 22 54 68 69 73 20 70 72 6F 67 72 61 6D 20 6D ."This program m
0000C0: 61 79 20 62 65 20 66 72 65 65 6C 79 20 64 69 73 ay be freely dis
0000D0: 74 72 69 62 75 74 65 64 20 70 72 6F 76 69 64 65 tributed provide
0000E0: 64 20 74 68 61 74 20 69 74 20 69 73 20 6E 6F 74 d that it is not
0000F0: 20 61 6C 74 65 72 65 64 2E 22 00 08 00 5A 00 BF altered."...Z..
000100: 01 BF 00 68 00 64 00 BF 22 50 75 74 20 64 69 73 ...h.d.."Put dis
000110: 63 20 74 6F 20 63 6F 70 79 20 66 72 6F 6D 20 69 c to copy from i
000120: 6E 20 64 72 69 76 65 20 42 2E 22 01 BF 22 50 75 n drive B.".."Pu
000130: 74 20 64 69 73 63 20 74 6F 20 63 6F 70 79 20 74 t disc to copy t
000140: 6F 20 69 6E 20 64 72 69 76 65 20 41 2E 22 01 BF o in drive A."..
000150: 22 50 72 65 73 73 20 61 6E 79 20 6B 65 79 20 74 "Press any key t
000160: 6F 20 63 6F 70 79 2E 2E 2E 22 00 18 00 6E 00 D6 o copy..."...n..
000170: 20 FF 43 F2 22 22 01 D5 01 D6 20 FF 43 EF 22 22 .C."".... .C.""
000180: 01 D5 00 23 00 78 00 BF 01 7C 00 42 43 4F 50 D9 ...#.x...|.BCOP.
000190: 2C 40 02 00 00 74 72 61 63 EB 2C 40 02 00 00 65 ,@...trac.,@...e
0001A0: F2 01 BF 01 BF 00 57 00 82 00 A1 20 02 00 00 65 ......W.... ...e
0001B0: F2 EE 0E 20 EB 20 BF 22 45 72 72 6F 72 22 02 00 ... . ."Error"..
0001C0: 00 65 F2 22 77 68 65 6E 20 63 6F 70 79 69 6E 67 .e."when copying
0001D0: 20 74 72 61 63 6B 22 02 00 00 74 72 61 63 EB 01 track"...trac..
0001E0: 9F 20 1E C8 00 20 01 97 20 BF 22 43 6F 70 79 69 . ... .. ."Copyi
0001F0: 6E 67 20 63 6F 6D 70 6C 65 74 65 22 00 0E 00 8C ng complete"....
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 30 20 2D 20 57 41 43 43 49 20 31 tch 10 - WACCI 1
000020: 31 39 2C 20 46 65 62 20 31 39 39 38 2C 20 70 2E 19, Feb 1998, p.
000030: 20 31 37 2D 31 38 0D 0A 20 20 20 50 52 4F 47 52 17-18.. PROGR
000040: 41 4D 4D 45 52 53 27 20 50 41 54 43 48 20 31 30 AMMERS' PATCH 10
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 54 Phillips.... T
000070: 68 69 73 20 6D 6F 6E 74 68 20 69 6E 20 50 72 6F his month in Pro
000080: 67 72 61 6D 6D 65 72 73 27 20 50 61 74 63 68 20 grammers' Patch
000090: 77 65 20 61 72 65 20 20 67 6F 69 6E 67 20 20 74 we are going t
0000A0: 6F 20 73 74 61 72 74 20 61 20 73 68 6F 72 74 20 o start a short
0000B0: 73 65 72 69 65 73 20 6F 6E 0D 0A 20 20 20 4D 49 series on.. MI
0000C0: 44 49 20 70 72 6F 67 72 61 6D 6D 69 6E 67 2E 20 DI programming.
0000D0: 20 41 6C 74 68 6F 75 67 68 20 74 68 65 72 65 20 Although there
0000E0: 68 61 76 65 20 62 65 65 6E 20 6D 61 6E 79 20 72 have been many r
0000F0: 65 76 69 65 77 73 20 6F 66 20 4D 49 44 49 20 65 eviews of MIDI e
000100: 71 75 69 70 6D 65 6E 74 0D 0A 20 20 20 66 6F 72 quipment.. for
000110: 20 74 68 65 20 41 6D 73 74 72 61 64 20 69 6E 20 the Amstrad in
000120: 6D 61 67 61 7A 69 6E 65 73 20 6F 76 65 72 20 74 magazines over t
000130: 68 65 20 79 65 61 72 73 2C 20 74 68 65 72 65 20 he years, there
000140: 68 61 73 20 62 65 65 6E 20 76 65 72 79 20 6C 69 has been very li
000150: 74 74 6C 65 20 6F 6E 0D 0A 20 20 20 68 6F 77 20 ttle on.. how
000160: 74 6F 20 70 72 6F 67 72 61 6D 20 79 6F 75 72 20 to program your
000170: 43 50 43 20 74 6F 20 20 63 6F 6E 74 72 6F 6C 20 CPC to control
000180: 20 4D 49 44 49 20 65 71 75 69 70 6D 65 6E 74 2E MIDI equipment.
000190: 20 20 54 68 69 73 20 6D 6F 6E 74 68 20 61 6C 73 This month als
0001A0: 6F 20 73 65 65 73 0D 0A 20 20 20 74 68 65 20 66 o sees.. the f
0001B0: 69 72 73 74 20 61 6E 6E 69 76 65 72 73 61 72 79 irst anniversary
0001C0: 20 6F 66 20 74 68 65 20 50 72 6F 67 72 61 6D 6D of the Programm
0001D0: 65 72 73 27 20 50 61 74 63 68 20 73 65 72 69 65 ers' Patch serie
0001E0: 73 2C 20 61 6E 64 20 69 66 20 74 68 65 20 72 65 s, and if the re
0001F0: 76 69 65 77 73 0D 0A 20 20 20 69 6E 20 6C 61 73 views.. in las
Size : 512 (Real : 512)
000000: 00 BF 01 BF 01 A0 20 1E 64 00 00 2B 00 C8 00 A1 ...... .d..+....
000010: 20 02 00 00 65 F2 20 FA 20 0F 20 EB 20 BF 22 4D ...e. . . . ."M
000020: 69 73 73 69 6E 67 20 61 64 64 72 65 73 73 20 6D issing address m
000030: 61 72 6B 2E 22 00 2E 00 D2 00 A1 20 02 00 00 65 ark."...... ...e
000040: F2 20 FA 20 10 20 EB 20 BF 22 44 69 73 63 20 69 . . . . ."Disc i
000050: 73 20 77 72 69 74 65 20 70 72 6F 74 65 63 74 65 s write protecte
000060: 64 2E 22 00 2D 00 DC 00 A1 20 02 00 00 65 F2 20 d.".-.... ...e.
000070: FA 20 12 20 EB 20 BF 22 43 61 6E 6E 6F 74 20 66 . . . ."Cannot f
000080: 69 6E 64 20 74 68 65 20 73 65 63 74 6F 72 2E 22 ind the sector."
000090: 00 36 00 E6 00 A1 20 02 00 00 65 F2 20 FA 20 16 .6.... ...e. . .
0000A0: 20 EB 20 BF 22 44 69 73 63 20 6D 69 73 73 69 6E . ."Disc missin
0000B0: 67 20 6F 72 20 64 72 69 76 65 20 6E 6F 74 20 72 g or drive not r
0000C0: 65 61 64 79 2E 22 00 25 00 F0 00 A1 20 02 00 00 eady.".%.... ...
0000D0: 65 F2 20 FA 20 19 10 20 EB 20 BF 22 4F 76 65 72 e. . .. . ."Over
0000E0: 72 75 6E 20 65 72 72 6F 72 2E 22 00 22 00 FA 00 run error."."...
0000F0: A1 20 02 00 00 65 F2 20 FA 20 19 20 20 EB 20 BF . ...e. . . . .
000100: 22 44 61 74 61 20 65 72 72 6F 72 2E 22 00 06 00 "Data error."...
000110: 04 01 C9 00 00 00 1A 69 64 65 2E 62 69 6E 22 2C .......ide.bin",
000120: 26 39 30 30 30 3A 67 70 62 75 66 66 25 3D 30 3A &9000:gpbuff%=0:
000130: 43 41 4C 4C 20 26 39 30 30 30 2C 40 67 70 62 75 CALL &9000,@gpbu
000140: 66 66 25 0D 0A 32 30 20 74 72 61 63 6B 25 3D 30 ff%..20 track%=0
000150: 3A 65 72 25 3D 30 0D 0A 33 30 20 4D 4F 44 45 20 :er%=0..30 MODE
000160: 32 0D 0A 34 30 20 50 52 49 4E 54 22 42 53 69 64 2..40 PRINT"BSid
000170: 65 20 76 20 31 2E 30 20 62 79 20 4D 61 74 74 68 e v 1.0 by Matth
000180: 01 D5 00 23 00 78 00 BF 01 7C 00 42 43 4F 50 D9 ...#.x...|.BCOP.
000190: 2C 40 02 00 00 74 72 61 63 EB 2C 40 02 00 00 65 ,@...trac.,@...e
0001A0: F2 01 BF 01 BF 00 57 00 82 00 A1 20 02 00 00 65 ......W.... ...e
0001B0: F2 EE 0E 20 EB 20 BF 22 45 72 72 6F 72 22 02 00 ... . ."Error"..
0001C0: 00 65 F2 22 77 68 65 6E 20 63 6F 70 79 69 6E 67 .e."when copying
0001D0: 20 74 72 61 63 6B 22 02 00 00 74 72 61 63 EB 01 track"...trac..
0001E0: 9F 20 1E C8 00 20 01 97 20 BF 22 43 6F 70 79 69 . ... .. ."Copyi
0001F0: 6E 67 20 63 6F 6D 70 6C 65 74 65 22 00 0E 00 8C ng complete"....
Size : 512 (Real : 512)
000000: 01 BA 20 11 01 BB 20 10 01 BF 20 0D 00 00 70 F7 .. ... ... ...p.
000010: 28 0D 00 00 74 75 72 EE 29 01 C9 00 40 00 98 08 (...tur.)...@...
000020: A9 23 0F 2C 0F 2C 0F 01 BF 23 0F 2C 22 54 68 65 .#.,.,...#.,"The
000030: 79 20 64 6F 6E 27 74 20 6D 61 74 63 68 21 22 3B y don't match!";
000040: FF 03 28 19 14 29 01 9E 20 0D 00 00 64 65 6C 61 ..(..).. ...dela
000050: F9 EF 0F 20 EC 20 1A 88 13 01 B0 00 49 00 A2 08 ... . ......I...
000060: 9F 20 1E AC 0D 01 0D 00 00 72 6F F7 EF 0D 00 00 . .......ro.....
000070: 72 B1 01 0D 00 00 63 6F EC EF 0D 00 00 63 B1 01 r.....co.....c..
000080: 9F 20 1E AC 0D 01 0D 00 00 74 75 72 EE EF 28 0D . .......tur..(.
000090: 00 00 74 75 72 EE 20 FB 20 0D 00 00 6E 70 EC 29 ..tur. . ...np.)
0000A0: F4 0F 01 C9 00 46 00 C4 09 A9 23 0F 2C 0F 2C 0F .....F....#.,.,.
0000B0: 01 BF 23 0F 2C 22 43 68 6F 6F 73 65 20 61 22 3B ..#.,"Choose a";
0000C0: 03 00 00 6D 75 E4 3B 22 20 63 61 72 64 2C 20 22 ...mu.;" card, "
0000D0: 3B 03 00 00 70 EC 28 0D 00 00 74 75 72 EE 29 3B ;...p.(...tur.);
0000E0: 22 2E 22 3B FF 03 28 19 14 29 00 4B 00 CE 09 03 ".";..(..).K....
0000F0: 00 00 6B F0 EF 22 22 01 D6 20 28 03 00 00 6B F0 ..k.."".. (...k.
000100: F1 FF 03 28 19 F0 29 20 FC 20 03 00 00 6B F0 EE ...(..) . ...k..
000110: FF 03 28 19 F3 29 29 20 FA 20 03 00 00 6B F0 F2 ..(..)) . ...k..
000120: FF 03 28 19 0D 29 01 03 00 00 6B F0 EF FF 1C 28 ..(..)....k....(
000130: FF 43 29 01 D5 00 2F 00 D8 09 A1 20 03 00 00 6B .C).../.... ...k
000140: F0 EF FF 03 28 19 0D 29 20 FA 20 0D 00 00 E3 28 ....(..) . ....(
000150: 0D 00 00 72 6F F7 2C 0D 00 00 63 6F EC 29 EE 0E ...ro.,...co.)..
000160: 20 EB 20 C9 00 33 00 E2 09 9F 20 1E A8 11 01 A1 . ..3.... .....
000170: 20 03 00 00 6B F0 EF FF 03 28 19 F0 29 20 EB 20 ...k....(..) .
000180: 0D 00 00 72 6F F7 EF 28 0D 00 00 72 6F F7 F5 0F ...ro..(...ro...
000190: F4 16 29 20 FB 20 16 00 2B 00 EC 09 A1 20 03 00 ..) . ..+.... ..
0001A0: 00 6B F0 EF FF 03 28 19 F1 29 20 EB 20 0D 00 00 .k....(..) . ...
0001B0: 72 6F F7 EF 28 0D 00 00 72 6F F7 F4 0F 29 20 FB ro..(...ro...) .
0001C0: 20 16 00 2D 00 F6 09 A1 20 03 00 00 6B F0 EF FF ..-.... ...k...
0001D0: 03 28 19 F2 29 20 EB 20 0D 00 00 63 6F EC EF 28 .(..) . ...co..(
0001E0: 0D 00 00 63 6F EC F5 0F F4 15 29 20 FB 20 15 00 ...co.....) . ..
0001F0: 2B 00 00 0A A1 20 03 00 00 6B F0 EF FF 03 28 19 +.... ...k....(.
Size : 512 (Real : 512)
000000: 39 38 0D 0A 0D 0A 73 65 63 74 62 75 66 66 3D 30 98....sectbuff=0
000010: 38 30 30 30 68 0D 0A 0D 0A 3B 69 6E 69 74 69 61 8000h....;initia
000020: 6C 69 73 61 74 69 6F 6E 20 72 6F 75 74 69 6E 65 lisation routine
000030: 20 74 6F 20 62 65 20 63 61 6C 6C 65 64 20 77 69 to be called wi
000040: 74 68 20 43 41 4C 4C 20 26 39 30 30 30 0D 0A 41 th CALL &9000..A
000050: 4F 52 47 20 30 39 30 30 30 68 0D 0A 0D 0A 3B 4C ORG 09000h....;L
000060: 44 20 4C 2C 28 49 58 2B 30 29 0D 0A 3B 4C 44 20 D L,(IX+0)..;LD
000070: 48 2C 28 49 58 2B 31 29 0D 0A 3B 4C 44 20 44 45 H,(IX+1)..;LD DE
000080: 2C 67 70 62 75 66 66 0D 0A 3B 4C 44 20 28 48 4C ,gpbuff..;LD (HL
000090: 29 2C 45 0D 0A 3B 49 4E 43 20 48 4C 0D 0A 3B 4C ),E..;INC HL..;L
0000A0: 44 20 28 48 4C 29 2C 44 0D 0A 0D 0A 4C 44 20 42 D (HL),D....LD B
0000B0: 43 2C 6A 75 6D 70 73 0D 0A 4C 44 20 48 4C 2C 77 C,jumps..LD HL,w
0000C0: 6F 72 6B 73 70 0D 0A 43 41 4C 4C 20 30 42 43 44 orksp..CALL 0BCD
0000D0: 31 68 0D 0A 3B 66 69 6E 64 20 66 61 72 20 61 64 1h..;find far ad
0000E0: 64 72 65 73 73 65 73 0D 0A 4C 44 20 49 58 2C 66 dresses..LD IX,f
0000F0: 61 72 61 64 64 72 73 0D 0A 4C 44 20 48 4C 2C 6D araddrs..LD HL,m
000100: 65 73 73 65 73 0D 0A 66 61 72 66 69 6E 64 6C 6F esses..farfindlo
000110: 6F 70 3A 20 4C 44 20 41 2C 28 48 4C 29 0D 0A 4F op: LD A,(HL)..O
000120: 52 20 41 0D 0A 52 45 54 20 5A 0D 0A 50 55 53 48 R A..RET Z..PUSH
000130: 20 48 4C 0D 0A 43 41 4C 4C 20 30 42 43 44 34 68 HL..CALL 0BCD4h
000140: 0D 0A 4C 44 20 28 49 58 2B 30 29 2C 4C 0D 0A 4C ..LD (IX+0),L..L
000150: 44 20 28 49 58 2B 31 29 2C 48 0D 0A 4C 44 20 28 D (IX+1),H..LD (
000160: 49 58 2B 32 29 2C 43 0D 0A 49 4E 43 20 49 58 0D IX+2),C..INC IX.
000170: 0A 49 4E 43 20 49 58 0D 0A 49 4E 43 20 49 58 0D .INC IX..INC IX.
000180: 0A 50 4F 50 20 48 4C 0D 0A 49 4E 43 20 48 4C 0D .POP HL..INC HL.
000190: 0A 4A 52 20 66 61 72 66 69 6E 64 6C 6F 6F 70 0D .JR farfindloop.
0001A0: 0A 0D 0A 3B 20 73 74 6F 72 65 73 20 66 6F 72 20 ...; stores for
0001B0: 52 53 58 20 63 6F 6D 6D 61 6E 64 73 20 74 68 61 RSX commands tha
0001C0: 74 20 61 72 65 20 73 65 61 72 63 68 65 64 20 66 t are searched f
0001D0: 6F 72 2C 20 74 65 72 6D 69 6E 61 74 65 64 20 62 or, terminated b
0001E0: 79 20 61 20 7A 65 72 6F 20 62 79 74 65 0D 0A 6D y a zero byte..m
0001F0: 65 73 73 65 73 3A 20 44 45 46 42 20 30 38 31 68 esses: DEFB 081h
Size : 512 (Real : 512)
000000: F3 29 20 EB 20 0D 00 00 63 6F EC EF 28 0D 00 00 .) . ...co..(...
000010: 63 6F EC F4 0F 29 20 FB 20 15 00 10 00 0A 0A 9F co...) . .......
000020: 20 1E 94 11 01 A0 20 1E CE 09 00 5E 00 B8 0B 0D ..... ....^....
000030: 00 00 73 75 69 F4 EF 0D 00 00 E3 28 0D 00 00 72 ..sui......(...r
000040: 6F F7 2C 0D 00 00 63 6F EC 29 F9 19 0E 01 0D 00 o.,...co.)......
000050: 00 63 61 72 E4 EF 0D 00 00 E3 28 0D 00 00 72 6F .car......(...ro
000060: F7 2C 0D 00 00 63 6F EC 29 20 FB 20 19 0E 01 0D .,...co.) . ....
000070: 00 00 70 63 6F EC EF FF 77 28 0F 2C 0D 00 00 73 ..pco...w(.,...s
000080: 75 69 F4 20 FB 20 11 29 00 52 00 C2 0B A9 20 0D ui. . .).R.... .
000090: 00 00 63 6F EC F6 11 F4 10 2C 0D 00 00 72 6F F7 ..co.....,...ro.
0000A0: F6 10 F4 10 01 BA 20 10 01 BB 20 0D 00 00 70 63 ...... ... ...pc
0000B0: 6F EC 01 BF 20 AC 28 03 00 00 63 61 72 E4 2C 0D o... .(...car.,.
0000C0: 00 00 63 61 72 E4 2C 0F 29 3B FF 03 28 19 E2 F4 ..car.,.);..(...
0000D0: 0D 00 00 73 75 69 F4 29 01 C9 00 35 00 AC 0D A9 ...sui.)...5....
0000E0: 20 0D 00 00 63 6F EC F6 11 F4 10 2C 0D 00 00 72 ...co.....,...r
0000F0: 6F F7 F6 10 F4 10 01 BA 20 0E 01 BB 20 0F 01 BF o....... ... ...
000100: 20 FF 03 28 19 DC 29 FF 03 28 19 DE 29 01 C9 00 ..(..)..(..)...
000110: 29 00 A0 0F A9 20 0D 00 00 63 6F EC F6 11 F4 10 ).... ...co.....
000120: 2C 0D 00 00 72 6F F7 F6 10 F4 10 01 BA 20 11 01 ,...ro....... ..
000130: BF 20 22 20 20 22 01 C9 00 65 00 94 11 A1 20 0D . " "...e.... .
000140: 00 00 72 6F F7 F2 0D 00 00 72 B1 20 FC 20 0D 00 ..ro.....r. . ..
000150: 00 63 6F EC F2 0D 00 00 63 B1 20 EB 20 A9 20 0D .co.....c. . . .
000160: 00 00 63 6F EC F6 11 F4 10 2C 0D 00 00 72 6F F7 ..co.....,...ro.
000170: F6 10 F4 10 01 BB 20 10 01 BF 20 FF 03 28 19 16 ...... ... ..(..
000180: 29 FF 03 28 0F 29 FF 03 28 19 C5 29 FF 03 28 19 )..(.)..(..)..(.
000190: C7 29 FF 03 28 19 16 29 FF 03 28 0E 29 00 06 00 .)..(..)..(.)...
0001A0: 9E 11 C9 00 49 00 A8 11 A1 20 0D 00 00 72 6F F7 ....I.... ...ro.
0001B0: F2 0D 00 00 72 B1 20 FC 20 0D 00 00 63 6F EC F2 ....r. . ...co..
0001C0: 0D 00 00 63 B1 20 EB 20 A1 20 0D 00 00 E3 28 0D ...c. . . ....(.
0001D0: 00 00 72 6F F7 2C 0D 00 00 63 6F EC 29 EE 0E 20 ..ro.,...co.)..
0001E0: EB 20 1E AC 0D 20 01 97 20 1E A0 0F 00 06 00 B2 . ... .. .......
0001F0: 11 C9 00 00 00 1A 2C 37 36 2C 30 0D 0A 33 30 20 ......,76,0..30
Size : 512 (Real : 512)
000000: 00 42 53 49 44 45 20 20 20 42 49 4E 00 00 00 00 .BSIDE BIN....
000010: 00 00 02 00 00 00 90 00 E5 02 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: E5 02 00 00 05 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 33 90 21 38 90 CD D1 BC DD 21 2D 90 21 2A 90 .3.!8.....!-.!*.
000090: 7E B7 C8 E5 CD D4 BC DD 75 00 DD 74 01 DD 71 02 ~.......u..t..q.
0000A0: DD 23 DD 23 DD 23 E1 23 18 E6 81 87 00 00 00 00 .#.#.#.#........
0000B0: 00 00 00 3C 90 C3 42 90 00 00 00 00 42 43 4F 50 ...<..B.....BCOP
0000C0: D9 00 CD 1F 92 21 E2 90 CD D9 90 CD 78 BB 22 D6 .....!......x.".
0000D0: 92 DD 6E 00 DD 66 01 22 D3 92 23 36 00 2B AF 32 ..n..f."..#6.+.2
0000E0: D5 92 77 1E 05 57 3A D5 92 CD F2 90 CD 45 91 D2 ..w..W:......E..
0000F0: 43 92 CD 62 92 B7 C0 3A E2 92 D6 07 47 10 04 3E C..b...:....G..>
000100: 50 18 0E 10 04 3E 52 18 08 10 04 3E 32 18 02 3E P....>R....>2..>
000110: 52 32 E3 92 1E 00 2A D3 92 56 CD A7 92 DD 21 E5 R2....*..V....!.
000120: 92 3A E2 92 47 C5 DD E5 1E 05 21 00 80 CD 7B 91 .:..G.....!...{.
000130: DD E1 D2 42 92 1E 00 21 00 80 CD 8D 91 D2 42 92 ...B...!......B.
000140: C1 10 E2 3A D5 92 C6 01 27 32 D5 92 2A D3 92 7E ...:....'2..*..~
000150: 3C FE 28 20 8D AF C3 43 92 7E B7 C8 CD 5A BB 23 <.( ...C.~...Z.#
000160: 18 F7 43 6F 70 79 69 6E 67 20 74 72 61 63 6B 3A ..Copying track:
000170: 20 00 F5 2A D6 92 CD 75 BB F1 47 CB 3F CB 3F CB ..*...u..G.?.?.
000180: 3F CB 3F 28 05 C6 30 CD 5A BB 78 E6 0F C6 30 C3 ?.?(..0.Z.x...0.
000190: 5A BB 21 DA 92 7E 23 E6 08 47 7E E6 37 B0 C9 3E Z.!..~#..G~.7..>
0001A0: 01 01 7E FA ED 79 21 00 15 2B 7C B5 C8 3E 04 CD ..~..y!..+|..>..
0001B0: B8 91 7B E6 03 CD B8 91 E5 CD FE 91 E1 3A DA 92 ..{..........:..
0001C0: CB 6F 28 E5 C9 E5 C5 CD 1F 91 D5 DF 30 90 D1 3E .o(.........0..>
0001D0: 0F CD B8 91 7B CD B8 91 7A CD B8 91 3E 08 CD B8 ....{...z...>...
0001E0: 91 CD FE 91 3A DA 92 CB 6F 28 F1 3A DB 92 BA C1 ....:...o(.:....
0001F0: E1 20 D2 3A DA 92 E6 08 C0 37 C9 3E 66 CD 97 91 . .:.....7.>f...
Size : 512 (Real : 512)
000000: 00 42 53 49 44 45 20 20 20 42 41 53 00 00 00 00 .BSIDE BAS....
000010: 00 00 00 00 00 70 01 00 96 04 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: 96 04 00 42 04 22 44 61 74 61 20 65 72 72 6F 72 ...B."Data error
000050: 2E 22 00 06 00 04 01 C9 00 00 00 1A 69 64 65 2E ."..........ide.
000060: 62 69 6E 22 2C 26 39 30 30 30 3A 67 70 62 75 66 bin",&9000:gpbuf
000070: 66 25 3D 30 3A 43 41 4C 4C 20 26 39 30 30 30 2C f%=0:CALL &9000,
000080: 38 00 0A 00 AA 20 1C FF 7F 01 A8 22 62 73 69 64 8.... ....."bsid
000090: 65 2E 62 69 6E 22 2C 1C 00 90 01 02 00 00 67 70 e.bin",.......gp
0000A0: 62 75 66 E6 EF 0E 01 83 20 1C 00 90 2C 40 02 00 buf..... ...,@..
0000B0: 00 67 70 62 75 66 E6 00 17 00 14 00 02 00 00 74 .gpbuf.........t
0000C0: 72 61 63 EB EF 0E 01 02 00 00 65 F2 EF 0E 00 08 rac.......e.....
0000D0: 00 1E 00 AD 20 10 00 37 00 28 00 BF 22 42 53 69 .... ..7.(.."BSi
0000E0: 64 65 20 76 20 31 2E 30 20 62 79 20 4D 61 74 74 de v 1.0 by Matt
0000F0: 68 65 77 20 50 68 69 6C 6C 69 70 73 2C 20 53 65 hew Phillips, Se
000100: 70 74 65 6D 62 65 72 20 31 39 39 38 22 00 EA 00 ptember 1998"...
000110: 32 00 BF 01 BF 22 54 68 69 73 20 70 72 6F 67 72 2...."This progr
000120: 61 6D 20 69 73 20 66 6F 72 20 75 73 65 20 62 79 am is for use by
000130: 20 74 68 6F 73 65 20 77 69 74 68 20 61 20 33 2E those with a 3.
000140: 35 22 F4 FF 03 28 19 22 29 F4 22 20 64 69 73 63 5"...(.")." disc
000150: 20 64 72 69 76 65 20 77 68 69 63 68 20 68 61 73 drive which has
000160: 20 6E 6F 20 73 69 64 65 20 73 77 69 74 63 68 66 no side switchf
000170: 69 74 74 65 64 2E 20 20 49 66 20 74 68 65 20 33 itted. If the 3
000180: 2E 35 22 F4 FF 03 28 19 22 29 F4 22 20 64 72 69 .5"...(.")." dri
000190: 76 65 20 69 73 20 63 6F 6E 6E 65 63 74 65 64 20 ve is connected
0001A0: 61 73 20 64 72 69 76 65 20 42 2C 20 74 68 69 73 as drive B, this
0001B0: 20 70 72 6F 67 72 61 6D 20 77 69 6C 6C 20 63 6F program will co
0001C0: 70 79 20 74 68 65 20 20 73 65 63 6F 6E 64 20 73 py the second s
0001D0: 69 64 65 20 6F 66 20 74 68 65 20 64 69 73 63 20 ide of the disc
0001E0: 69 6E 20 64 72 69 76 65 20 42 20 74 6F 20 64 72 in drive B to dr
0001F0: 69 76 65 20 41 2E 22 00 50 00 3C 00 BF 01 BF 22 ive A.".P.<...."
Size : 512 (Real : 512)
000000: 0A 20 20 20 6D 75 73 69 63 21 20 20 46 6F 72 20 . music! For
000010: 69 6E 73 74 61 6E 63 65 2C 20 69 66 20 79 6F 75 instance, if you
000020: 20 68 61 76 65 20 74 77 6F 20 63 6F 6D 70 75 74 have two comput
000030: 65 72 73 20 77 69 74 68 20 4D 49 44 49 20 69 6E ers with MIDI in
000040: 74 65 72 66 61 63 65 73 2C 20 74 68 65 6E 0D 0A terfaces, then..
000050: 20 20 20 79 6F 75 20 63 61 6E 20 75 73 65 20 4D you can use M
000060: 49 44 49 20 74 6F 20 67 65 74 20 74 68 65 20 63 IDI to get the c
000070: 6F 6D 70 75 74 65 72 73 20 74 6F 20 74 72 61 6E omputers to tran
000080: 73 66 65 72 20 61 6E 79 20 6B 69 6E 64 20 6F 66 sfer any kind of
000090: 20 64 61 74 61 20 62 65 74 77 65 65 6E 0D 0A 20 data between..
0000A0: 20 20 74 68 65 6D 2E 0D 0A 0D 0A 20 20 20 57 69 them..... Wi
0000B0: 74 68 20 73 75 69 74 61 62 6C 65 20 73 6F 66 74 th suitable soft
0000C0: 77 61 72 65 2C 20 79 6F 75 20 63 61 6E 20 65 64 ware, you can ed
0000D0: 69 74 20 20 61 20 20 70 69 65 63 65 20 20 6F 66 it a piece of
0000E0: 20 6D 75 73 69 63 20 6F 6E 20 79 6F 75 72 20 63 music on your c
0000F0: 6F 6D 70 75 74 65 72 2C 0D 0A 20 20 20 61 6E 64 omputer,.. and
000100: 20 74 68 65 6E 20 75 73 65 20 4D 49 44 49 20 74 then use MIDI t
000110: 6F 20 20 69 6E 73 74 72 75 63 74 20 20 79 6F 75 o instruct you
000120: 72 20 20 6B 65 79 62 6F 61 72 64 20 20 74 6F 20 r keyboard to
000130: 20 70 6C 61 79 20 69 74 20 66 6F 72 20 79 6F 75 play it for you
000140: 2E 20 20 53 6F 6D 65 0D 0A 20 20 20 65 64 69 74 . Some.. edit
000150: 6F 72 73 20 75 73 65 20 63 6F 6E 76 65 6E 74 69 ors use conventi
000160: 6F 6E 61 6C 20 20 6D 75 73 69 63 61 6C 20 20 6E onal musical n
000170: 6F 74 61 74 69 6F 6E 2C 20 20 6F 74 68 65 72 73 otation, others
000180: 20 20 6F 70 65 72 61 74 65 20 20 6D 6F 72 65 20 operate more
000190: 6C 69 6B 65 20 61 0D 0A 20 20 20 73 65 71 75 65 like a.. seque
0001A0: 6E 63 65 72 2E 20 20 4D 6F 72 65 20 61 64 76 61 ncer. More adva
0001B0: 6E 63 65 64 20 20 73 6F 66 74 77 61 72 65 20 20 nced software
0001C0: 65 6E 61 62 6C 65 73 20 20 79 6F 75 20 20 74 6F enables you to
0001D0: 20 20 70 6C 61 79 20 20 6D 75 73 69 63 20 6F 6E play music on
0001E0: 20 79 6F 75 72 0D 0A 20 20 20 6B 65 79 62 6F 61 your.. keyboa
0001F0: 72 64 20 77 68 69 6C 65 20 74 68 65 20 63 6F 6D rd while the com
Size : 512 (Real : 512)
000000: 74 73 20 61 6E 64 0D 0A 20 20 20 73 6F 6D 65 20 ts and.. some
000010: 74 79 70 65 73 20 6F 66 20 63 6F 6D 70 75 74 65 types of compute
000020: 72 20 63 6F 6D 65 20 77 69 74 68 20 20 4D 49 44 r come with MID
000030: 49 20 63 61 70 61 62 69 6C 69 74 69 65 73 20 62 I capabilities b
000040: 75 69 6C 74 20 69 6E 2E 20 20 54 68 65 20 41 6D uilt in. The Am
000050: 73 74 72 61 64 0D 0A 20 20 20 75 6E 66 6F 72 74 strad.. unfort
000060: 75 6E 61 74 65 6C 79 20 69 73 20 6E 6F 74 20 6F unately is not o
000070: 6E 65 20 6F 66 20 74 68 65 6D 2E 0D 0A 0D 0A 20 ne of them.....
000080: 20 20 4D 49 44 49 20 49 4E 54 45 52 46 41 43 45 MIDI INTERFACE
000090: 53 20 46 4F 52 20 54 48 45 20 43 50 43 0D 0A 20 S FOR THE CPC..
0000A0: 20 20 54 6F 20 75 73 65 20 79 6F 75 72 20 41 6D To use your Am
0000B0: 73 74 72 61 64 20 20 74 6F 20 20 63 6F 6E 74 72 strad to contr
0000C0: 6F 6C 20 20 4D 49 44 49 20 20 69 6E 73 74 72 75 ol MIDI instru
0000D0: 6D 65 6E 74 73 20 20 79 6F 75 20 20 77 69 6C 6C ments you will
0000E0: 20 6E 65 65 64 20 61 20 4D 49 44 49 0D 0A 20 20 need a MIDI..
0000F0: 20 69 6E 74 65 72 66 61 63 65 2C 20 77 68 69 63 interface, whic
000100: 68 20 70 6C 75 67 73 20 69 6E 74 6F 20 74 68 65 h plugs into the
000110: 20 65 78 70 61 6E 73 69 6F 6E 20 20 70 6F 72 74 expansion port
000120: 20 61 6E 64 20 70 72 6F 76 69 64 65 73 20 74 68 and provides th
000130: 65 20 6E 65 63 65 73 73 61 72 79 0D 0A 20 20 20 e necessary..
000140: 65 6C 65 63 74 72 6F 6E 69 63 73 20 61 6E 64 20 electronics and
000150: 74 68 65 20 4D 49 44 49 20 73 6F 63 6B 65 74 73 the MIDI sockets
000160: 2E 20 20 20 54 68 65 72 65 20 20 77 65 72 65 20 . There were
000170: 73 65 76 65 72 61 6C 20 64 69 66 66 65 72 65 6E several differen
000180: 74 20 6D 61 6B 65 73 20 6F 66 0D 0A 20 20 20 69 t makes of.. i
000190: 6E 74 65 72 66 61 63 65 20 70 72 6F 64 75 63 65 nterface produce
0001A0: 64 20 66 6F 72 20 74 68 65 20 20 43 50 43 2C 20 d for the CPC,
0001B0: 20 61 6E 64 20 20 77 68 69 6C 65 20 20 74 68 65 and while the
0001C0: 79 20 20 61 6C 6C 20 20 68 61 64 20 6D 75 63 68 y all had much
0001D0: 20 74 68 65 20 73 61 6D 65 0D 0A 20 20 20 63 61 the same.. ca
0001E0: 70 61 62 69 6C 69 74 79 20 69 6E 20 74 65 72 6D pability in term
0001F0: 73 20 6F 66 20 68 61 72 64 77 61 72 65 2C 20 74 s of hardware, t
Size : 512 (Real : 512)
000000: 70 75 74 65 72 20 72 65 63 6F 72 64 73 20 69 74 puter records it
000010: 20 69 6E 20 6D 65 6D 6F 72 79 20 66 6F 72 20 73 in memory for s
000020: 61 76 69 6E 67 20 6F 72 20 65 64 69 74 69 6E 67 aving or editing
000030: 2E 0D 0A 0D 0A 20 20 20 45 76 65 6E 20 77 69 74 ..... Even wit
000040: 68 6F 75 74 20 65 64 69 74 69 6E 67 20 73 6F 66 hout editing sof
000050: 74 77 61 72 65 2C 20 79 6F 75 20 63 61 6E 20 20 tware, you can
000060: 75 73 65 20 20 4D 49 44 49 20 20 74 6F 20 67 65 use MIDI to ge
000070: 74 20 6D 6F 72 65 20 6F 75 74 20 6F 66 20 79 6F t more out of yo
000080: 75 72 0D 0A 20 20 20 6B 65 79 62 6F 61 72 64 2E ur.. keyboard.
000090: 20 20 46 6F 72 20 65 78 61 6D 70 6C 65 20 20 53 For example S
0000A0: 74 65 70 68 65 6E 27 73 20 20 59 61 6D 61 68 61 tephen's Yamaha
0000B0: 20 20 50 53 53 2D 36 38 30 20 20 6B 65 79 62 6F PSS-680 keybo
0000C0: 61 72 64 20 20 68 61 73 20 61 20 63 75 73 74 6F ard has a custo
0000D0: 6D 0D 0A 20 20 20 64 72 75 6D 6D 65 72 20 66 6F m.. drummer fo
0000E0: 72 20 64 65 73 69 67 6E 69 6E 67 20 64 72 75 6D r designing drum
0000F0: 20 73 65 71 75 65 6E 63 65 73 2C 20 62 75 74 20 sequences, but
000100: 69 74 20 20 63 61 6E 20 6F 6E 6C 79 20 72 65 6D it can only rem
000110: 65 6D 62 65 72 20 61 20 66 65 77 20 61 74 20 61 ember a few at a
000120: 0D 0A 20 20 20 74 69 6D 65 2E 20 20 55 73 69 6E .. time. Usin
000130: 67 20 4D 49 44 49 20 77 65 20 63 61 6E 20 74 72 g MIDI we can tr
000140: 61 6E 73 6D 69 74 20 74 68 65 20 64 72 75 6D 20 ansmit the drum
000150: 6D 65 6D 6F 72 79 20 74 6F 20 74 68 65 20 63 6F memory to the co
000160: 6D 70 75 74 65 72 20 61 6E 64 20 73 61 76 65 0D mputer and save.
000170: 0A 20 20 20 69 74 20 74 6F 20 64 69 73 63 20 66 . it to disc f
000180: 6F 72 20 66 75 74 75 72 65 20 75 73 65 2E 20 20 or future use.
000190: 49 74 20 20 63 61 6E 20 20 74 68 65 6E 20 20 62 It can then b
0001A0: 65 20 20 6C 6F 61 64 65 64 20 61 6E 64 20 73 65 e loaded and se
0001B0: 6E 74 20 62 61 63 6B 20 74 6F 20 74 68 65 0D 0A nt back to the..
0001C0: 20 20 20 6B 65 79 62 6F 61 72 64 2E 0D 0A 0D 0A keyboard.....
0001D0: 20 20 20 57 48 41 54 20 41 42 4F 55 54 20 54 48 WHAT ABOUT TH
0001E0: 45 20 50 52 4F 47 52 41 4D 4D 49 4E 47 3F 0D 0A E PROGRAMMING?..
0001F0: 20 20 20 57 65 6C 6C 2C 20 73 69 6E 63 65 20 74 Well, since t
Size : 512 (Real : 512)
000000: 68 65 20 73 6F 66 74 77 61 72 65 20 20 74 68 61 he software tha
000010: 74 20 63 61 6D 65 20 77 69 74 68 20 65 61 63 68 t came with each
000020: 20 6F 6E 65 20 77 61 73 0D 0A 20 20 20 76 65 72 one was.. ver
000030: 79 20 64 69 66 66 65 72 65 6E 74 20 61 6E 64 20 y different and
000040: 76 61 72 69 65 64 20 69 6E 20 71 75 61 6C 69 74 varied in qualit
000050: 79 2E 0D 0A 0D 0A 20 20 20 54 68 65 20 6D 61 69 y..... The mai
000060: 6E 20 69 6E 74 65 72 66 61 63 65 73 20 61 72 65 n interfaces are
000070: 20 74 68 65 20 45 4D 52 20 69 6E 74 65 72 66 61 the EMR interfa
000080: 63 65 2C 20 74 68 65 20 44 48 43 50 20 69 6E 74 ce, the DHCP int
000090: 65 72 66 61 63 65 2C 20 61 6E 64 20 74 68 65 20 erface, and the
0000A0: 52 41 4D 0D 0A 20 20 20 4D 75 73 69 63 20 4D 61 RAM.. Music Ma
0000B0: 63 68 69 6E 65 2C 20 77 68 69 63 68 20 61 6C 73 chine, which als
0000C0: 6F 20 69 6E 63 6C 75 64 65 64 20 61 20 73 61 6D o included a sam
0000D0: 70 6C 65 72 2E 20 20 42 65 63 61 75 73 65 20 74 pler. Because t
0000E0: 68 65 20 69 6E 74 65 72 66 61 63 65 73 20 75 73 he interfaces us
0000F0: 65 64 0D 0A 20 20 20 64 69 66 66 65 72 65 6E 74 ed.. different
000100: 20 70 6F 72 74 20 61 64 64 72 65 73 73 65 73 2C port addresses,
000110: 20 73 6F 66 74 77 61 72 65 20 77 72 69 74 74 65 software writte
000120: 6E 20 20 66 6F 72 20 20 6F 6E 65 20 20 77 69 6C n for one wil
000130: 6C 20 6E 6F 74 20 77 6F 72 6B 20 6F 6E 20 74 68 l not work on th
000140: 65 0D 0A 20 20 20 6F 74 68 65 72 20 6D 61 6B 65 e.. other make
000150: 73 2E 20 20 54 68 65 72 65 20 68 61 73 20 68 6F s. There has ho
000160: 77 65 76 65 72 20 20 62 65 65 6E 20 20 73 6F 6D wever been som
000170: 65 20 20 73 6F 66 74 77 61 72 65 20 20 77 72 69 e software wri
000180: 74 74 65 6E 20 73 75 63 68 20 61 73 20 74 68 65 tten such as the
000190: 0D 0A 20 20 20 46 6F 75 6E 64 61 74 69 6F 6E 20 .. Foundation
0001A0: 53 74 65 70 2D 54 69 6D 65 20 53 65 71 75 65 6E Step-Time Sequen
0001B0: 63 65 72 20 77 68 69 63 68 20 20 63 61 6E 20 20 cer which can
0001C0: 62 65 20 20 63 6F 6E 66 69 67 75 72 65 64 20 20 be configured
0001D0: 74 6F 20 20 77 6F 72 6B 20 6F 6E 20 61 6C 6C 0D to work on all.
0001E0: 0A 20 20 20 74 68 72 65 65 20 69 6E 74 65 72 66 . three interf
0001F0: 61 63 65 73 2E 0D 0A 0D 0A 20 20 20 49 66 20 79 aces..... If y
Size : 512 (Real : 512)
000000: 68 69 73 20 69 73 20 50 72 6F 67 72 61 6D 6D 65 his is Programme
000010: 72 73 27 20 50 61 74 63 68 20 20 77 65 20 68 61 rs' Patch we ha
000020: 64 20 62 65 74 74 65 72 20 64 6F 20 73 6F 6D 65 d better do some
000030: 20 70 72 6F 67 72 61 6D 6D 69 6E 67 2E 0D 0A 20 programming...
000040: 20 20 59 6F 75 20 77 69 6C 6C 20 70 72 6F 62 61 You will proba
000050: 62 6C 79 20 66 69 6E 64 20 74 68 61 74 20 79 6F bly find that yo
000060: 75 72 20 20 69 6E 74 65 72 66 61 63 65 20 20 6D ur interface m
000070: 61 6E 75 61 6C 20 73 61 79 73 20 76 65 72 79 20 anual says very
000080: 6C 69 74 74 6C 65 20 61 62 6F 75 74 0D 0A 20 20 little about..
000090: 20 68 6F 77 20 74 6F 20 70 72 6F 67 72 61 6D 20 how to program
0000A0: 74 68 65 20 69 6E 74 65 72 66 61 63 65 20 79 6F the interface yo
0000B0: 75 72 73 65 6C 66 2E 20 20 49 20 20 68 61 76 65 urself. I have
0000C0: 20 20 74 6F 20 61 64 6D 69 74 20 74 68 61 74 20 to admit that
0000D0: 6D 75 63 68 20 6F 66 20 74 68 65 0D 0A 20 20 20 much of the..
0000E0: 70 72 6F 67 72 61 6D 6D 69 6E 67 20 69 6E 66 6F programming info
0000F0: 72 6D 61 74 69 6F 6E 20 69 6E 20 74 68 69 73 20 rmation in this
000100: 20 61 72 74 69 63 6C 65 20 20 77 61 73 20 20 66 article was f
000110: 6F 75 6E 64 20 20 62 79 20 64 69 73 61 73 73 65 ound by disasse
000120: 6D 62 6C 69 6E 67 20 74 68 65 0D 0A 20 20 20 6D mbling the.. m
000130: 61 63 68 69 6E 65 20 63 6F 64 65 20 20 66 6F 72 achine code for
000140: 20 20 74 68 65 20 20 46 6F 75 6E 64 61 74 69 6F the Foundatio
000150: 6E 20 20 53 74 65 70 2D 54 69 6D 65 20 20 53 65 n Step-Time Se
000160: 71 75 65 6E 63 65 72 2E 20 20 20 57 68 65 74 68 quencer. Wheth
000170: 65 72 20 20 69 74 20 69 73 0D 0A 20 20 20 73 74 er it is.. st
000180: 72 69 63 74 6C 79 20 73 70 65 61 6B 69 6E 67 20 rictly speaking
000190: 6C 65 67 69 74 69 6D 61 74 65 20 74 6F 20 64 6F legitimate to do
0001A0: 20 74 68 69 73 20 20 49 20 20 61 6D 20 20 6E 6F this I am no
0001B0: 74 20 20 73 75 72 65 2C 20 62 75 74 20 69 6E 20 t sure, but in
0001C0: 61 6E 20 69 64 65 61 6C 0D 0A 20 20 20 77 6F 72 an ideal.. wor
0001D0: 6C 64 20 74 68 65 73 65 20 64 65 74 61 69 6C 73 ld these details
0001E0: 20 77 6F 75 6C 64 20 68 61 76 65 20 62 65 65 6E would have been
0001F0: 20 70 72 6F 76 69 64 65 64 20 69 6E 20 74 68 65 provided in the
Size : 512 (Real : 512)
000000: 6F 75 20 61 72 65 20 69 6E 74 65 72 65 73 74 65 ou are intereste
000010: 64 20 69 6E 20 6D 75 73 69 63 20 61 6E 64 20 68 d in music and h
000020: 61 76 65 20 61 20 73 75 69 74 61 62 6C 65 20 4D ave a suitable M
000030: 49 44 49 20 69 6E 73 74 72 75 6D 65 6E 74 20 74 IDI instrument t
000040: 68 65 6E 20 69 74 0D 0A 20 20 20 77 6F 75 6C 64 hen it.. would
000050: 20 62 65 20 77 65 6C 6C 20 77 6F 72 74 68 20 20 be well worth
000060: 74 72 79 69 6E 67 20 20 74 6F 20 20 67 65 74 20 trying to get
000070: 20 61 20 20 4D 49 44 49 20 20 69 6E 74 65 72 66 a MIDI interf
000080: 61 63 65 2E 20 20 59 6F 75 20 63 61 6E 20 70 72 ace. You can pr
000090: 6F 64 75 63 65 0D 0A 20 20 20 70 72 65 74 74 79 oduce.. pretty
0000A0: 20 67 6F 6F 64 20 72 65 73 75 6C 74 73 20 65 76 good results ev
0000B0: 65 6E 20 77 69 74 68 20 74 68 65 20 43 50 43 2E en with the CPC.
0000C0: 20 20 20 54 68 6F 75 67 68 20 69 74 20 69 73 20 Though it is
0000D0: 71 75 69 74 65 20 68 61 72 64 20 74 6F 20 6F 62 quite hard to ob
0000E0: 74 61 69 6E 0D 0A 20 20 20 41 6D 73 74 72 61 64 tain.. Amstrad
0000F0: 20 67 65 61 72 20 6E 6F 77 2C 20 74 68 65 72 65 gear now, there
000100: 20 6D 75 73 74 20 62 65 20 71 75 69 74 65 20 61 must be quite a
000110: 20 20 6C 6F 74 20 20 6F 66 20 69 74 20 61 62 6F lot of it abo
000120: 75 74 20 61 6E 64 20 79 6F 75 20 6D 61 79 20 66 ut and you may f
000130: 69 6E 64 0D 0A 20 20 20 69 74 20 74 75 72 6E 69 ind.. it turni
000140: 6E 67 20 75 70 20 61 74 20 63 61 72 20 62 6F 6F ng up at car boo
000150: 74 20 73 61 6C 65 73 20 66 72 6F 6D 20 74 69 6D t sales from tim
000160: 65 20 74 6F 20 74 69 6D 65 2E 20 20 49 74 20 6D e to time. It m
000170: 69 67 68 74 20 65 76 65 6E 20 62 65 20 77 6F 72 ight even be wor
000180: 74 68 0D 0A 20 20 20 70 6C 61 63 69 6E 67 20 61 th.. placing a
000190: 6E 20 61 64 20 69 6E 20 79 6F 75 72 20 6C 6F 63 n ad in your loc
0001A0: 61 6C 20 6E 65 77 73 70 61 70 65 72 20 61 73 6B al newspaper ask
0001B0: 69 6E 67 20 66 6F 72 20 41 6D 73 74 72 61 64 20 ing for Amstrad
0001C0: 6B 69 74 2C 20 6F 72 20 6F 66 20 63 6F 75 72 73 kit, or of cours
0001D0: 65 0D 0A 20 20 20 61 6E 20 61 64 20 69 6E 20 57 e.. an ad in W
0001E0: 41 43 43 49 2E 20 20 49 20 20 6F 62 74 61 69 6E ACCI. I obtain
0001F0: 65 64 20 20 6D 79 20 20 52 41 4D 20 20 4D 75 73 ed my RAM Mus
Size : 512 (Real : 512)
000000: 20 69 6E 74 65 72 66 61 63 65 20 6D 61 6E 75 61 interface manua
000010: 6C 73 2E 0D 0A 0D 0A 20 20 20 49 74 20 73 65 65 ls..... It see
000020: 6D 73 20 74 68 61 74 20 74 68 65 20 74 68 72 65 ms that the thre
000030: 65 20 20 6D 61 69 6E 20 20 69 6E 74 65 72 66 61 e main interfa
000040: 63 65 73 20 20 66 6F 72 20 20 74 68 65 20 41 6D ces for the Am
000050: 73 74 72 61 64 20 75 73 65 20 65 69 74 68 65 72 strad use either
000060: 20 74 68 65 0D 0A 20 20 20 73 61 6D 65 20 6F 72 the.. same or
000070: 20 61 20 76 65 72 79 20 73 69 6D 69 6C 61 72 20 a very similar
000080: 63 68 69 70 20 20 74 6F 20 20 68 61 6E 64 6C 65 chip to handle
000090: 20 20 74 68 65 20 20 4D 49 44 49 20 63 68 61 6E the MIDI chan
0000A0: 6E 65 6C 2E 20 20 54 68 65 20 52 41 4D 20 4D 75 nel. The RAM Mu
0000B0: 73 69 63 0D 0A 20 20 20 4D 61 63 68 69 6E 65 20 sic.. Machine
0000C0: 75 73 65 73 20 61 20 4D 6F 74 6F 72 6F 6C 61 20 uses a Motorola
0000D0: 36 38 35 30 20 41 43 49 41 20 63 68 69 70 2C 20 6850 ACIA chip,
0000E0: 20 61 6E 64 20 20 74 68 65 20 64 61 74 61 20 73 and the data s
0000F0: 68 65 65 74 20 66 6F 72 20 74 68 69 73 20 63 68 heet for this ch
000100: 69 70 0D 0A 20 20 20 77 6F 75 6C 64 20 62 65 20 ip.. would be
000110: 71 75 69 74 65 20 75 73 65 66 75 6C 2E 0D 0A 0D quite useful....
000120: 0A 20 20 20 54 68 65 20 6D 6F 73 74 20 69 6D 70 . The most imp
000130: 6F 72 74 61 6E 74 20 20 69 6E 66 6F 72 6D 61 74 ortant informat
000140: 69 6F 6E 20 20 69 73 20 20 74 68 65 20 20 70 6F ion is the po
000150: 72 74 20 20 6E 75 6D 62 65 72 73 20 20 66 6F 72 rt numbers for
000160: 20 74 68 65 20 64 69 66 66 65 72 65 6E 74 0D 0A the different..
000170: 20 20 20 69 6E 74 65 72 66 61 63 65 73 2E 20 20 interfaces.
000180: 54 61 62 6C 65 20 31 20 67 69 76 65 73 20 79 6F Table 1 gives yo
000190: 75 20 61 6C 6C 20 20 79 6F 75 20 20 6E 65 65 64 u all you need
0001A0: 20 20 74 6F 20 20 6B 6E 6F 77 20 66 6F 72 20 74 to know for t
0001B0: 68 65 20 74 68 72 65 65 20 6D 61 69 6E 0D 0A 20 he three main..
0001C0: 20 20 4D 49 44 49 20 69 6E 74 65 72 66 61 63 65 MIDI interface
0001D0: 73 20 66 6F 72 20 20 74 68 65 20 20 41 6D 73 74 s for the Amst
0001E0: 72 61 64 2E 20 20 20 49 66 20 20 61 6E 79 6F 6E rad. If anyon
0001F0: 65 20 20 68 61 73 20 20 61 20 20 64 69 66 66 65 e has a diffe
Size : 512 (Real : 512)
000000: 69 63 20 20 4D 61 63 68 69 6E 65 20 69 6E 20 31 ic Machine in 1
000010: 39 39 30 20 77 68 65 6E 20 61 6E 6F 74 68 65 72 990 when another
000020: 0D 0A 20 20 20 57 41 43 43 49 20 6D 65 6D 62 65 .. WACCI membe
000030: 72 20 73 70 6F 74 74 65 64 20 74 68 65 6D 20 62 r spotted them b
000040: 65 69 6E 67 20 73 6F 6C 64 20 6F 66 66 20 63 68 eing sold off ch
000050: 65 61 70 20 69 6E 20 42 61 72 72 6F 77 2D 69 6E eap in Barrow-in
000060: 2D 46 75 72 6E 65 73 73 2E 0D 0A 0D 0A 20 20 20 -Furness.....
000070: 49 66 20 79 6F 75 20 61 72 65 20 67 6F 6F 64 20 If you are good
000080: 77 69 74 68 20 61 20 73 6F 6C 64 65 72 69 6E 67 with a soldering
000090: 20 69 72 6F 6E 2C 20 49 20 68 61 76 65 20 69 6E iron, I have in
0000A0: 73 74 72 75 63 74 69 6F 6E 73 20 6F 6E 20 68 6F structions on ho
0000B0: 77 20 74 6F 20 62 75 69 6C 64 0D 0A 20 20 20 79 w to build.. y
0000C0: 6F 75 72 20 6F 77 6E 20 4D 49 44 49 20 69 6E 74 our own MIDI int
0000D0: 65 72 66 61 63 65 20 69 66 20 61 6E 79 6F 6E 65 erface if anyone
0000E0: 20 69 73 20 67 6F 6F 64 20 65 6E 6F 75 67 68 20 is good enough
0000F0: 61 74 20 47 65 72 6D 61 6E 20 74 6F 20 66 6F 6C at German to fol
000100: 6C 6F 77 20 74 68 65 6D 2E 0D 0A 0D 0A 20 20 20 low them.....
000110: 59 6F 75 20 77 69 6C 6C 20 61 6C 73 6F 20 6E 65 You will also ne
000120: 65 64 20 61 20 4D 49 44 49 20 6C 65 61 64 20 74 ed a MIDI lead t
000130: 6F 20 63 6F 6E 6E 65 63 74 20 79 6F 75 72 20 43 o connect your C
000140: 50 43 20 74 6F 20 74 68 65 20 4D 49 44 49 20 69 PC to the MIDI i
000150: 6E 73 74 72 75 6D 65 6E 74 2C 0D 0A 20 20 20 62 nstrument,.. b
000160: 75 74 20 74 68 65 73 65 20 61 72 65 20 65 61 73 ut these are eas
000170: 69 6C 79 20 6F 62 74 61 69 6E 65 64 20 69 6E 20 ily obtained in
000180: 6D 75 73 69 63 20 73 68 6F 70 73 2E 0D 0A 0D 0A music shops.....
000190: 20 20 20 53 4F 20 57 48 41 54 20 43 41 4E 20 59 SO WHAT CAN Y
0001A0: 4F 55 20 44 4F 20 57 49 54 48 20 4D 49 44 49 3F OU DO WITH MIDI?
0001B0: 0D 0A 20 20 20 54 68 65 72 65 20 61 72 65 20 61 .. There are a
0001C0: 6C 6C 20 73 6F 72 74 73 20 6F 66 20 61 70 70 6C ll sorts of appl
0001D0: 69 63 61 74 69 6F 6E 73 20 66 6F 72 20 20 4D 49 ications for MI
0001E0: 44 49 2C 20 61 6E 64 20 6E 6F 74 20 61 6C 6C 20 DI, and not all
0001F0: 6F 66 20 74 68 65 6D 20 69 6E 76 6F 6C 76 65 0D of them involve.
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: 73 74 61 72 74 73 20 77 69 74 68 0D 0A 20 20 20 starts with..
000010: 38 20 69 6E 73 74 65 61 64 20 6F 66 20 39 2E 20 8 instead of 9.
000020: 20 57 65 20 68 61 76 65 20 74 6F 20 73 75 70 70 We have to supp
000030: 6C 79 20 20 74 68 65 20 20 70 69 74 63 68 20 6F ly the pitch o
000040: 66 20 74 68 65 20 6E 6F 74 65 20 77 65 20 77 61 f the note we wa
000050: 6E 74 20 74 6F 20 74 75 72 6E 0D 0A 20 20 20 6F nt to turn.. o
000060: 66 66 2C 20 61 73 20 77 65 20 63 6F 75 6C 64 20 ff, as we could
000070: 68 61 76 65 20 73 65 76 65 72 61 6C 20 64 69 66 have several dif
000080: 66 65 72 65 6E 74 20 20 6E 6F 74 65 73 20 70 6C ferent notes pl
000090: 61 79 69 6E 67 20 61 74 20 6F 6E 63 65 2C 20 61 aying at once, a
0000A0: 6C 6C 20 6F 6E 20 74 68 65 0D 0A 20 20 20 73 61 ll on the.. sa
0000B0: 6D 65 20 63 68 61 6E 6E 65 6C 2E 20 20 54 68 65 me channel. The
0000C0: 20 76 65 6C 6F 63 69 74 79 20 69 73 20 75 73 65 velocity is use
0000D0: 64 20 20 69 6E 20 20 73 6F 6D 65 20 74 79 70 65 d in some type
0000E0: 73 20 6F 66 20 69 6E 73 74 72 75 6D 65 6E 74 20 s of instrument
0000F0: 6E 6F 69 73 65 20 74 6F 0D 0A 20 20 20 64 65 74 noise to.. det
000100: 65 72 6D 69 6E 65 20 68 6F 77 20 74 68 65 20 6E ermine how the n
000110: 6F 74 65 20 69 73 20 73 69 6C 65 6E 63 65 64 2E ote is silenced.
000120: 0D 0A 0D 0A 20 20 20 54 68 65 20 42 41 53 49 43 .... The BASIC
000130: 20 6C 69 73 74 69 6E 67 20 70 75 74 73 20 61 6C listing puts al
000140: 6C 20 74 68 61 74 20 74 6F 67 65 74 68 65 72 20 l that together
000150: 20 69 6E 20 61 20 73 69 6D 70 6C 65 20 70 72 6F in a simple pro
000160: 67 72 61 6D 20 74 68 61 74 20 70 6C 61 79 73 20 gram that plays
000170: 61 0D 0A 20 20 20 73 69 6E 67 6C 65 20 4D 69 64 a.. single Mid
000180: 64 6C 65 20 43 2E 20 20 49 74 20 69 73 20 73 65 dle C. It is se
000190: 74 20 20 75 70 20 20 66 6F 72 20 20 74 68 65 20 t up for the
0001A0: 20 52 41 4D 20 20 4D 75 73 69 63 20 4D 61 63 68 RAM Music Mach
0001B0: 69 6E 65 2C 20 62 75 74 20 79 6F 75 20 63 61 6E ine, but you can
0001C0: 0D 0A 20 20 20 61 64 61 70 74 20 69 74 20 66 6F .. adapt it fo
0001D0: 72 20 74 68 65 20 6F 74 68 65 72 20 69 6E 74 65 r the other inte
0001E0: 72 66 61 63 65 73 20 62 79 20 20 63 68 61 6E 67 rfaces by chang
0001F0: 69 6E 67 20 20 74 68 65 20 76 61 6C 75 65 73 20 ing the values
Size : 512 (Real : 512)
000000: 77 65 72 65 20 73 65 6E 74 20 6F 6E 20 63 68 61 were sent on cha
000010: 6E 6E 65 6C 20 31 30 2C 20 77 68 69 6C 65 20 74 nnel 10, while t
000020: 68 65 0D 0A 20 20 20 6B 65 79 62 6F 61 72 64 20 he.. keyboard
000030: 77 6F 75 6C 64 20 62 65 20 6C 69 73 74 65 6E 69 would be listeni
000040: 6E 67 20 6F 75 74 20 6F 6E 20 63 68 61 6E 6E 65 ng out on channe
000050: 6C 20 20 31 2E 20 20 54 68 65 20 77 61 79 20 74 l 1. The way t
000060: 68 65 73 65 20 63 68 61 6E 6E 65 6C 73 20 61 72 hese channels ar
000070: 65 0D 0A 20 20 20 64 65 74 65 72 6D 69 6E 65 64 e.. determined
000080: 20 69 73 20 6E 6F 74 20 62 79 20 20 68 6F 77 20 is not by how
000090: 20 74 68 65 20 20 62 6F 78 65 73 20 20 61 72 65 the boxes are
0000A0: 20 20 70 6C 75 67 67 65 64 20 74 6F 67 65 74 68 plugged togeth
0000B0: 65 72 2E 20 20 49 6E 73 74 65 61 64 20 79 6F 75 er. Instead you
0000C0: 0D 0A 20 20 20 73 65 6C 65 63 74 20 74 68 65 20 .. select the
0000D0: 63 68 61 6E 6E 65 6C 20 62 79 20 75 73 69 6E 67 channel by using
0000E0: 20 74 68 65 20 63 6F 6E 74 72 6F 6C 73 20 6F 6E the controls on
0000F0: 20 74 68 65 20 64 72 75 6D 20 62 6F 78 20 6F 72 the drum box or
000100: 20 6B 65 79 62 6F 61 72 64 2E 0D 0A 0D 0A 20 20 keyboard.....
000110: 20 49 6E 20 66 61 63 74 20 6D 6F 73 74 20 6D 6F In fact most mo
000120: 64 65 72 6E 20 6B 65 79 62 6F 61 72 64 73 20 20 dern keyboards
000130: 61 6E 64 20 20 76 6F 69 63 65 20 20 62 6F 78 65 and voice boxe
000140: 73 20 77 69 6C 6C 20 64 65 66 61 75 6C 74 20 74 s will default t
000150: 6F 20 6C 69 73 74 65 6E 69 6E 67 0D 0A 20 20 20 o listening..
000160: 6F 75 74 20 6F 6E 20 61 6C 6C 20 63 68 61 6E 6E out on all chann
000170: 65 6C 73 20 61 74 20 6F 6E 63 65 2E 20 20 54 68 els at once. Th
000180: 75 73 20 20 77 69 74 68 20 20 6A 75 73 74 20 6F us with just o
000190: 6E 65 20 6B 65 79 62 6F 61 72 64 20 79 6F 75 20 ne keyboard you
0001A0: 63 61 6E 20 73 65 6E 64 20 61 0D 0A 20 20 20 63 can send a.. c
0001B0: 6F 6D 6D 61 6E 64 20 6F 75 74 20 6F 6E 20 63 68 ommand out on ch
0001C0: 61 6E 6E 65 6C 20 31 20 74 6F 20 63 68 6F 6F 73 annel 1 to choos
0001D0: 65 20 61 20 76 69 6F 6C 69 6E 20 6E 6F 69 73 65 e a violin noise
0001E0: 2C 20 61 6E 64 20 61 73 6B 20 63 68 61 6E 6E 65 , and ask channe
0001F0: 6C 20 32 20 74 6F 20 62 65 0D 0A 20 20 20 61 20 l 2 to be.. a
Size : 512 (Real : 512)
000000: 72 65 6E 74 20 74 79 70 65 20 6F 66 0D 0A 20 20 rent type of..
000010: 20 69 6E 74 65 72 66 61 63 65 2C 20 49 20 77 6F interface, I wo
000020: 75 6C 64 20 62 65 20 76 65 72 79 20 69 6E 74 65 uld be very inte
000030: 72 65 73 74 65 64 20 74 6F 20 6B 6E 6F 77 2E 0D rested to know..
000040: 0A 0D 0A 20 20 20 53 45 4E 44 49 4E 47 20 4D 49 ... SENDING MI
000050: 44 49 20 44 41 54 41 0D 0A 20 20 20 54 68 65 20 DI DATA.. The
000060: 65 61 73 69 65 73 74 20 6F 70 65 72 61 74 69 6F easiest operatio
000070: 6E 20 69 73 20 73 65 6E 64 69 6E 67 20 64 61 74 n is sending dat
000080: 61 20 74 6F 20 20 74 68 65 20 4D 49 44 49 20 64 a to the MIDI d
000090: 65 76 69 63 65 73 20 61 74 74 61 63 68 65 64 20 evices attached
0000A0: 74 6F 20 74 68 65 0D 0A 20 20 20 69 6E 74 65 72 to the.. inter
0000B0: 66 61 63 65 2E 20 20 59 6F 75 20 63 61 6E 20 69 face. You can i
0000C0: 6E 20 20 66 61 63 74 20 20 64 6F 20 20 74 68 69 n fact do thi
0000D0: 73 20 20 65 6E 74 69 72 65 6C 79 20 20 66 72 6F s entirely fro
0000E0: 6D 20 20 42 41 53 49 43 2C 20 20 61 6E 64 20 49 m BASIC, and I
0000F0: 20 77 69 6C 6C 0D 0A 20 20 20 70 72 65 73 65 6E will.. presen
000100: 74 20 69 74 20 69 6E 20 74 68 69 73 20 66 6F 72 t it in this for
000110: 6D 20 20 74 6F 20 20 73 74 61 72 74 20 20 77 69 m to start wi
000120: 74 68 2E 20 20 20 42 65 74 74 65 72 20 72 65 73 th. Better res
000130: 75 6C 74 73 20 63 61 6E 20 62 65 20 61 63 68 69 ults can be achi
000140: 65 76 65 64 0D 0A 20 20 20 77 69 74 68 20 61 20 eved.. with a
000150: 73 70 6F 74 20 6F 66 20 6D 61 63 68 69 6E 65 20 spot of machine
000160: 63 6F 64 65 20 6F 66 20 63 6F 75 72 73 65 2E 0D code of course..
000170: 0A 0D 0A 20 20 20 46 69 72 73 74 20 77 65 20 6E ... First we n
000180: 65 65 64 20 74 6F 20 72 65 73 65 74 20 74 68 65 eed to reset the
000190: 20 20 69 6E 74 65 72 66 61 63 65 20 20 61 6E 64 interface and
0001A0: 20 20 67 65 74 20 69 74 20 72 65 61 64 79 20 66 get it ready f
0001B0: 6F 72 20 73 65 6E 64 69 6E 67 20 64 61 74 61 2E or sending data.
0001C0: 0D 0A 20 20 20 4F 6E 20 74 68 65 20 45 4D 52 20 .. On the EMR
0001D0: 69 6E 74 65 72 66 61 63 65 2C 20 74 68 69 73 20 interface, this
0001E0: 69 73 20 64 6F 6E 65 20 77 69 74 68 3A 0D 0A 0D is done with:...
0001F0: 0A 20 20 20 20 20 4F 55 54 20 26 46 38 46 32 2C . OUT &F8F2,
Size : 512 (Real : 512)
000000: 70 69 61 6E 6F 2E 20 20 54 68 65 6E 20 61 6E 79 piano. Then any
000010: 20 4E 6F 74 65 20 4F 6E 20 65 76 65 6E 74 73 20 Note On events
000020: 73 65 6E 74 20 20 6F 75 74 20 6F 6E 20 63 68 61 sent out on cha
000030: 6E 6E 65 6C 20 31 20 77 69 6C 6C 20 62 65 20 70 nnel 1 will be p
000040: 6C 61 79 65 64 20 62 79 0D 0A 20 20 20 79 6F 75 layed by.. you
000050: 72 20 6B 65 79 62 6F 61 72 64 20 77 69 74 68 20 r keyboard with
000060: 74 68 65 20 76 69 6F 6C 69 6E 20 6E 6F 69 73 65 the violin noise
000070: 2C 20 61 6E 64 20 6E 6F 74 65 73 20 6F 6E 20 63 , and notes on c
000080: 68 61 6E 6E 65 6C 20 32 20 77 69 6C 6C 20 62 65 hannel 2 will be
000090: 20 70 6C 61 79 65 64 0D 0A 20 20 20 77 69 74 68 played.. with
0000A0: 20 74 68 65 20 70 69 61 6E 6F 20 6E 6F 69 73 65 the piano noise
0000B0: 2E 0D 0A 0D 0A 20 20 20 54 6F 20 74 75 72 6E 20 ..... To turn
0000C0: 61 20 6E 6F 74 65 20 6F 6E 2C 20 77 65 20 74 72 a note on, we tr
0000D0: 61 6E 73 6D 69 74 20 74 68 72 65 65 20 62 79 74 ansmit three byt
0000E0: 65 73 20 69 6E 20 73 65 71 75 65 6E 63 65 3A 0D es in sequence:.
0000F0: 0A 0D 0A 20 20 20 20 20 26 39 78 20 20 3C 70 69 ... &9x <pi
000100: 74 63 68 3E 20 20 3C 76 65 6C 6F 63 69 74 79 3E tch> <velocity>
000110: 0D 0A 0D 0A 20 20 20 54 68 65 20 66 69 72 73 74 .... The first
000120: 20 69 73 20 74 68 65 20 63 6F 6D 6D 61 6E 64 20 is the command
000130: 20 62 79 74 65 2C 20 20 61 6E 64 20 20 26 39 78 byte, and &9x
000140: 20 20 6D 65 61 6E 73 20 20 4E 6F 74 65 20 20 4F means Note O
000150: 6E 2C 20 77 68 65 72 65 20 78 20 69 73 20 74 68 n, where x is th
000160: 65 0D 0A 20 20 20 63 68 61 6E 6E 65 6C 20 6E 75 e.. channel nu
000170: 6D 62 65 72 20 66 72 6F 6D 20 30 20 74 6F 20 46 mber from 0 to F
000180: 20 20 69 6E 20 20 68 65 78 61 64 65 63 69 6D 61 in hexadecima
000190: 6C 2E 20 20 20 44 69 64 20 49 20 73 61 79 20 74 l. Did I say t
0001A0: 68 65 20 63 68 61 6E 6E 65 6C 73 20 77 65 72 65 he channels were
0001B0: 0D 0A 20 20 20 6E 75 6D 62 65 72 65 64 20 66 72 .. numbered fr
0001C0: 6F 6D 20 31 20 74 6F 20 31 36 3F 20 20 20 59 65 om 1 to 16? Ye
0001D0: 73 2C 20 20 77 65 6C 6C 20 20 75 6E 6C 69 6B 65 s, well unlike
0001E0: 20 63 6F 6D 70 75 74 65 72 20 73 63 69 65 6E 74 computer scient
0001F0: 69 73 74 73 2C 20 6D 75 73 69 63 69 61 6E 73 0D ists, musicians.
Size : 512 (Real : 512)
000000: 33 3A 4F 55 54 20 26 46 38 46 32 2C 26 31 36 0D 3:OUT &F8F2,&16.
000010: 0A 0D 0A 20 20 20 54 68 65 20 44 48 43 50 20 69 ... The DHCP i
000020: 6E 74 65 72 66 61 63 65 20 69 73 20 64 6F 6E 65 nterface is done
000030: 20 74 68 65 20 73 61 6D 65 20 77 61 79 20 62 75 the same way bu
000040: 74 20 77 69 74 68 20 26 46 38 45 30 20 28 74 68 t with &F8E0 (th
000050: 65 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 e address of the
000060: 0D 0A 20 20 20 44 48 43 50 27 73 20 63 6F 6E 74 .. DHCP's cont
000070: 72 6F 6C 20 70 6F 72 74 29 20 69 6E 73 74 65 61 rol port) instea
000080: 64 20 6F 66 20 26 46 38 46 32 20 69 6E 20 65 61 d of &F8F2 in ea
000090: 63 68 20 63 61 73 65 2E 0D 0A 0D 0A 20 20 20 54 ch case..... T
0000A0: 68 65 20 52 41 4D 20 4D 75 73 69 63 20 4D 61 63 he RAM Music Mac
0000B0: 68 69 6E 65 20 20 69 73 20 20 73 6C 69 67 68 74 hine is slight
0000C0: 6C 79 20 20 64 69 66 66 65 72 65 6E 74 2C 20 20 ly different,
0000D0: 61 73 20 20 74 68 65 20 20 73 65 63 6F 6E 64 20 as the second
0000E0: 62 79 74 65 20 73 65 6E 74 0D 0A 20 20 20 73 68 byte sent.. sh
0000F0: 6F 75 6C 64 20 62 65 20 26 31 35 20 69 6E 73 74 ould be &15 inst
000100: 65 61 64 20 6F 66 20 26 31 36 3A 0D 0A 0D 0A 20 ead of &16:....
000110: 20 20 20 20 4F 55 54 20 26 46 38 45 43 2C 33 3A OUT &F8EC,3:
000120: 4F 55 54 20 26 46 38 45 43 2C 26 31 35 0D 0A 0D OUT &F8EC,&15...
000130: 0A 20 20 20 4F 6E 63 65 20 74 68 61 74 20 69 73 . Once that is
000140: 20 64 6F 6E 65 2C 20 77 65 20 63 61 6E 20 20 74 done, we can t
000150: 72 61 6E 73 6D 69 74 20 20 74 68 65 20 64 61 74 ransmit the dat
000160: 61 2E 20 20 54 68 69 73 20 65 6E 74 61 69 6C 73 a. This entails
000170: 20 77 61 69 74 69 6E 67 20 75 6E 74 69 6C 0D 0A waiting until..
000180: 20 20 20 62 69 74 20 32 20 69 73 20 20 73 65 74 bit 2 is set
000190: 20 20 6F 6E 20 20 74 68 65 20 20 73 74 61 74 75 on the statu
0001A0: 73 20 20 70 6F 72 74 2C 20 20 61 6E 64 20 20 74 s port, and t
0001B0: 68 65 6E 20 20 73 65 6E 64 69 6E 67 20 20 74 68 hen sending th
0001C0: 65 20 20 62 79 74 65 20 74 6F 20 62 65 0D 0A 20 e byte to be..
0001D0: 20 20 74 72 61 6E 73 6D 69 74 74 65 64 20 74 6F transmitted to
0001E0: 20 74 68 65 20 64 61 74 61 20 77 72 69 74 65 20 the data write
0001F0: 70 6F 72 74 2E 20 20 54 69 6D 65 20 66 6F 72 20 port. Time for
Size : 512 (Real : 512)
000000: 0A 20 20 20 73 74 61 72 74 20 63 6F 75 6E 74 69 . start counti
000010: 6E 67 20 61 74 20 6F 6E 65 2C 20 73 6F 20 74 68 ng at one, so th
000020: 61 74 20 20 69 73 20 20 68 6F 77 20 74 68 65 20 at is how the
000030: 63 68 61 6E 6E 65 6C 73 20 61 72 65 20 61 6C 77 channels are alw
000040: 61 79 73 20 64 65 73 63 72 69 62 65 64 2C 0D 0A ays described,..
000050: 20 20 20 62 75 74 20 61 73 20 66 61 72 20 61 73 but as far as
000060: 20 74 68 65 20 63 6F 6D 70 75 74 65 72 20 69 73 the computer is
000070: 20 63 6F 6E 63 65 72 6E 65 64 20 74 68 65 79 20 concerned they
000080: 61 72 65 20 6E 75 6D 62 65 72 65 64 20 30 20 74 are numbered 0 t
000090: 6F 20 31 35 20 28 6F 72 20 30 20 74 6F 0D 0A 20 o 15 (or 0 to..
0000A0: 20 20 46 20 69 6E 20 68 65 78 29 2E 0D 0A 0D 0A F in hex).....
0000B0: 20 20 20 50 69 74 63 68 20 69 73 20 68 6F 77 20 Pitch is how
0000C0: 68 69 67 68 20 74 68 65 20 6E 6F 74 65 20 69 73 high the note is
0000D0: 2C 20 61 6E 64 20 69 73 20 20 61 20 76 61 6C 75 , and is a valu
0000E0: 65 20 66 72 6F 6D 20 30 20 74 6F 20 31 32 37 2E e from 0 to 127.
0000F0: 20 20 4D 69 64 64 6C 65 20 43 20 69 73 0D 0A 20 Middle C is..
000100: 20 20 36 30 2C 20 43 20 73 68 61 72 70 20 69 73 60, C sharp is
000110: 20 36 31 2C 20 61 6E 64 20 73 6F 20 20 6F 6E 2E 61, and so on.
000120: 20 20 20 56 65 6C 6F 63 69 74 79 20 20 69 73 20 Velocity is
000130: 74 68 65 20 4D 49 44 49 20 6A 61 72 67 6F 6E 20 the MIDI jargon
000140: 74 65 72 6D 20 66 6F 72 20 68 6F 77 0D 0A 20 20 term for how..
000150: 20 6C 6F 75 64 20 74 68 65 20 6E 6F 74 65 20 69 loud the note i
000160: 73 20 28 74 68 69 6E 6B 20 6F 66 20 68 69 74 74 s (think of hitt
000170: 69 6E 67 20 20 61 20 20 70 69 61 6E 6F 20 20 6B ing a piano k
000180: 65 79 29 2C 20 61 6E 64 20 61 6C 73 6F 20 72 61 ey), and also ra
000190: 6E 67 65 73 20 66 72 6F 6D 20 30 0D 0A 20 20 20 nges from 0..
0001A0: 28 73 69 6C 65 6E 74 29 20 74 6F 20 31 32 37 20 (silent) to 127
0001B0: 28 6C 6F 75 64 65 73 74 29 2E 20 20 53 6F 20 74 (loudest). So t
0001C0: 6F 20 73 74 61 72 74 20 61 20 4D 69 64 64 6C 65 o start a Middle
0001D0: 20 43 20 70 6C 61 79 69 6E 67 20 6F 6E 20 63 68 C playing on ch
0001E0: 61 6E 6E 65 6C 20 31 20 61 74 0D 0A 20 20 20 6D annel 1 at.. m
0001F0: 65 64 69 75 6D 20 76 6F 6C 75 6D 65 2C 20 77 65 edium volume, we
Size : 512 (Real : 512)
000000: 61 20 73 75 62 72 6F 75 74 69 6E 65 3A 0D 0A 0D a subroutine:...
000010: 0A 20 20 20 31 30 30 20 57 48 49 4C 45 20 28 49 . 100 WHILE (I
000020: 4E 50 28 73 74 61 74 75 73 29 20 41 4E 44 20 32 NP(status) AND 2
000030: 29 3D 30 3A 57 45 4E 44 0D 0A 20 20 20 31 31 30 )=0:WEND.. 110
000040: 20 4F 55 54 20 64 61 74 61 77 72 69 74 65 2C 64 OUT datawrite,d
000050: 0D 0A 20 20 20 31 32 30 20 52 45 54 55 52 4E 0D .. 120 RETURN.
000060: 0A 0D 0A 20 20 20 41 74 20 74 68 65 20 73 74 61 ... At the sta
000070: 72 74 20 6F 66 20 20 79 6F 75 72 20 20 70 72 6F rt of your pro
000080: 67 72 61 6D 20 20 79 6F 75 20 20 73 68 6F 75 6C gram you shoul
000090: 64 20 20 73 65 74 20 20 74 68 65 20 76 61 72 69 d set the vari
0000A0: 61 62 6C 65 73 20 73 74 61 74 75 73 20 61 6E 64 ables status and
0000B0: 0D 0A 20 20 20 64 61 74 61 77 72 69 74 65 20 61 .. datawrite a
0000C0: 63 63 6F 72 64 69 6E 67 20 74 6F 20 77 68 69 63 ccording to whic
0000D0: 68 20 69 6E 74 65 72 66 61 63 65 20 79 6F 75 20 h interface you
0000E0: 20 61 72 65 20 20 75 73 69 6E 67 2E 20 20 54 6F are using. To
0000F0: 20 73 65 6E 64 20 61 20 62 79 74 65 20 74 6F 0D send a byte to.
000100: 0A 20 20 20 74 68 65 20 4D 49 44 49 20 69 6E 74 . the MIDI int
000110: 65 72 66 61 63 65 2C 20 61 6C 6C 20 79 6F 75 20 erface, all you
000120: 64 6F 20 69 73 20 70 75 74 20 74 68 65 20 20 76 do is put the v
000130: 61 6C 75 65 20 79 6F 75 20 77 61 6E 74 20 74 6F alue you want to
000140: 20 73 65 6E 64 20 69 6E 20 64 20 61 6E 64 0D 0A send in d and..
000150: 20 20 20 47 4F 53 55 42 20 31 30 30 2E 20 20 4C GOSUB 100. L
000160: 69 6E 65 20 31 30 30 20 77 61 69 74 73 20 20 75 ine 100 waits u
000170: 6E 74 69 6C 20 20 74 68 65 20 20 69 6E 74 65 72 ntil the inter
000180: 66 61 63 65 20 20 69 73 20 20 72 65 61 64 79 20 face is ready
000190: 74 6F 20 74 72 61 6E 73 6D 69 74 20 61 0D 0A 20 to transmit a..
0001A0: 20 20 62 79 74 65 2C 20 61 6E 64 20 74 68 65 6E byte, and then
0001B0: 20 6C 69 6E 65 20 31 31 30 20 73 65 6E 64 73 20 line 110 sends
0001C0: 69 74 2E 0D 0A 0D 0A 20 20 20 4D 49 44 49 20 4E it..... MIDI N
0001D0: 4F 54 45 20 43 4F 4D 4D 41 4E 44 53 0D 0A 20 20 OTE COMMANDS..
0001E0: 20 4F 66 20 63 6F 75 72 73 65 2C 20 79 6F 75 20 Of course, you
0001F0: 61 6C 73 6F 20 6E 65 65 64 20 74 6F 20 20 6B 6E also need to kn
Size : 512 (Real : 512)
000000: 20 77 6F 75 6C 64 20 74 72 61 6E 73 6D 69 74 20 would transmit
000010: 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 62 79 the following by
000020: 74 65 73 3A 0D 0A 0D 0A 20 20 20 20 20 26 39 30 tes:.... &90
000030: 2C 20 36 30 2C 20 36 34 0D 0A 0D 0A 20 20 20 4E , 60, 64.... N
000040: 6F 74 69 63 65 20 74 68 61 74 20 6F 6E 6C 79 20 otice that only
000050: 74 68 65 20 20 66 69 72 73 74 20 20 6F 6E 65 20 the first one
000060: 20 69 73 20 20 77 72 69 74 74 65 6E 20 20 69 6E is written in
000070: 20 20 68 65 78 3A 20 20 74 68 65 20 6F 74 68 65 hex: the othe
000080: 72 20 74 77 6F 20 61 72 65 0D 0A 20 20 20 64 65 r two are.. de
000090: 63 69 6D 61 6C 2E 0D 0A 0D 0A 20 20 20 54 68 65 cimal..... The
0000A0: 20 6E 6F 74 65 20 77 69 6C 6C 20 63 6F 6E 74 69 note will conti
0000B0: 6E 75 65 20 70 6C 61 79 69 6E 67 20 75 6E 74 69 nue playing unti
0000C0: 6C 20 77 65 20 20 74 65 6C 6C 20 20 69 74 20 74 l we tell it t
0000D0: 6F 20 73 74 6F 70 2E 20 20 4F 66 20 63 6F 75 72 o stop. Of cour
0000E0: 73 65 20 77 69 74 68 0D 0A 20 20 20 73 6F 6D 65 se with.. some
0000F0: 20 69 6E 73 74 72 75 6D 65 6E 74 73 2C 20 73 75 instruments, su
000100: 63 68 20 61 73 20 70 69 61 6E 6F 2C 20 69 74 20 ch as piano, it
000110: 20 77 69 6C 6C 20 20 64 69 65 20 61 77 61 79 20 will die away
000120: 74 6F 20 6E 6F 74 68 69 6E 67 20 65 76 65 6E 74 to nothing event
000130: 75 61 6C 6C 79 2C 0D 0A 20 20 20 62 75 74 20 77 ually,.. but w
000140: 69 74 68 20 61 6E 20 6F 72 67 61 6E 20 6E 6F 69 ith an organ noi
000150: 73 65 20 69 74 20 77 69 6C 6C 20 6B 65 65 70 20 se it will keep
000160: 67 6F 69 6E 67 2E 20 20 54 6F 20 74 75 72 6E 20 going. To turn
000170: 69 74 20 6F 66 66 2C 20 77 65 20 74 72 61 6E 73 it off, we trans
000180: 6D 69 74 20 61 0D 0A 20 20 20 4E 6F 74 65 20 4F mit a.. Note O
000190: 66 66 20 65 76 65 6E 74 3A 0D 0A 0D 0A 20 20 20 ff event:....
0001A0: 20 20 26 38 78 20 20 3C 70 69 74 63 68 3E 20 20 &8x <pitch>
0001B0: 3C 76 65 6C 6F 63 69 74 79 3E 0D 0A 0D 0A 20 20 <velocity>....
0001C0: 20 54 68 69 73 20 69 73 20 76 65 72 79 20 73 69 This is very si
0001D0: 6D 69 6C 61 72 20 74 6F 20 4E 6F 74 65 20 4F 6E milar to Note On
0001E0: 2C 20 20 65 78 63 65 70 74 20 74 68 61 74 20 74 , except that t
0001F0: 68 65 20 63 6F 6D 6D 61 6E 64 20 62 79 74 65 20 he command byte
Size : 512 (Real : 512)
000000: 6F 77 20 20 77 68 61 74 20 20 64 61 74 61 20 20 ow what data
000010: 74 6F 20 74 72 61 6E 73 6D 69 74 2E 20 20 4E 65 to transmit. Ne
000020: 78 74 20 6D 6F 6E 74 68 20 77 65 0D 0A 20 20 20 xt month we..
000030: 77 69 6C 6C 20 67 6F 20 69 6E 74 6F 20 74 68 69 will go into thi
000040: 73 20 6D 6F 72 65 20 64 65 65 70 6C 79 2C 20 62 s more deeply, b
000050: 75 74 20 66 6F 72 20 6E 6F 77 20 77 65 20 77 69 ut for now we wi
000060: 6C 6C 20 6C 6F 6F 6B 20 61 74 20 74 68 65 20 63 ll look at the c
000070: 6F 6D 6D 61 6E 64 73 20 74 6F 0D 0A 20 20 20 74 ommands to.. t
000080: 75 72 6E 20 6E 6F 74 65 73 20 6F 6E 20 61 6E 64 urn notes on and
000090: 20 6F 66 66 2E 0D 0A 0D 0A 20 20 20 4D 49 44 49 off..... MIDI
0000A0: 20 63 6F 6D 6D 61 6E 64 73 20 74 6F 20 64 65 61 commands to dea
0000B0: 6C 20 77 69 74 68 20 6E 6F 74 65 73 20 61 72 65 l with notes are
0000C0: 20 74 72 61 6E 73 6D 69 74 74 65 64 20 6F 6E 20 transmitted on
0000D0: 22 63 68 61 6E 6E 65 6C 73 22 2E 20 20 54 68 65 "channels". The
0000E0: 72 65 20 61 72 65 0D 0A 20 20 20 73 69 78 74 65 re are.. sixte
0000F0: 65 6E 20 63 68 61 6E 6E 65 6C 73 2C 20 6E 75 6D en channels, num
000100: 62 65 72 65 64 20 31 20 74 6F 20 31 36 2C 20 61 bered 1 to 16, a
000110: 6E 64 20 20 65 61 63 68 20 6F 66 20 74 68 65 73 nd each of thes
000120: 65 20 63 6F 75 6C 64 20 63 6F 72 72 65 73 70 6F e could correspo
000130: 6E 64 20 74 6F 0D 0A 20 20 20 61 20 64 69 66 66 nd to.. a diff
000140: 65 72 65 6E 74 20 4D 49 44 49 20 64 65 76 69 63 erent MIDI devic
000150: 65 2E 20 20 20 46 6F 72 20 20 65 78 61 6D 70 6C e. For exampl
000160: 65 2C 20 20 79 6F 75 20 20 6D 69 67 68 74 20 20 e, you might
000170: 68 61 76 65 20 20 61 20 20 64 72 75 6D 20 62 6F have a drum bo
000180: 78 20 6F 6E 0D 0A 20 20 20 63 68 61 6E 6E 65 6C x on.. channel
000190: 20 31 30 2C 20 61 6E 64 20 61 20 6B 65 79 62 6F 10, and a keybo
0001A0: 61 72 64 20 6F 6E 20 63 68 61 6E 6E 65 6C 20 20 ard on channel
0001B0: 31 2E 20 20 54 68 65 20 64 72 75 6D 20 62 6F 78 1. The drum box
0001C0: 20 77 6F 75 6C 64 20 6F 6E 6C 79 20 72 65 73 70 would only resp
0001D0: 6F 6E 64 0D 0A 20 20 20 74 6F 20 4E 6F 74 65 20 ond.. to Note
0001E0: 4F 6E 20 61 6E 64 20 4E 6F 74 65 20 4F 66 66 20 On and Note Off
0001F0: 65 76 65 6E 74 73 20 69 66 20 20 74 68 65 79 20 events if they
Size : 512 (Real : 512)
000000: 0A 20 20 20 73 74 61 72 74 69 6E 67 20 61 20 4D . starting a M
000010: 69 64 64 6C 65 20 43 20 6F 6E 20 43 68 61 6E 6E iddle C on Chann
000020: 65 6C 20 31 20 77 6F 75 6C 64 20 62 65 20 64 6F el 1 would be do
000030: 6E 65 20 6C 69 6B 65 20 74 68 69 73 3A 0D 0A 0D ne like this:...
000040: 0A 20 20 20 20 20 7C 53 45 4E 44 2C 26 39 30 2C . |SEND,&90,
000050: 36 30 2C 36 34 0D 0A 0D 0A 20 20 20 61 6E 64 20 60,64.... and
000060: 74 6F 20 74 75 72 6E 20 69 74 20 6F 66 66 20 79 to turn it off y
000070: 6F 75 20 77 6F 75 6C 64 20 64 6F 20 74 68 65 20 ou would do the
000080: 73 61 6D 65 20 62 75 74 20 77 69 74 68 20 26 38 same but with &8
000090: 30 20 69 6E 73 74 65 61 64 20 6F 66 20 26 39 30 0 instead of &90
0000A0: 2E 0D 0A 0D 0A 20 20 20 4D 45 53 53 41 47 45 20 ..... MESSAGE
0000B0: 50 41 52 4C 4F 55 52 0D 0A 20 20 20 50 65 72 68 PARLOUR.. Perh
0000C0: 61 70 73 20 69 74 20 69 73 20 74 69 6D 65 20 74 aps it is time t
0000D0: 6F 20 65 78 70 6C 61 69 6E 20 61 20 62 69 74 20 o explain a bit
0000E0: 6D 6F 72 65 20 61 62 6F 75 74 20 74 68 65 20 64 more about the d
0000F0: 69 66 66 65 72 65 6E 74 20 4D 49 44 49 20 6D 65 ifferent MIDI me
000100: 73 73 61 67 65 73 0D 0A 20 20 20 61 76 61 69 6C ssages.. avail
000110: 61 62 6C 65 2E 20 20 4E 6F 3F 20 20 57 65 6C 6C able. No? Well
000120: 2C 20 69 66 20 79 6F 75 20 77 6F 75 6C 64 20 72 , if you would r
000130: 61 74 68 65 72 20 20 49 20 63 6F 76 65 72 20 69 ather I cover i
000140: 74 20 6E 65 78 74 20 6D 6F 6E 74 68 20 74 68 65 t next month the
000150: 6E 20 79 6F 75 0D 0A 20 20 20 77 69 6C 6C 20 68 n you.. will h
000160: 61 76 65 20 74 6F 20 67 65 74 20 6F 75 74 20 74 ave to get out t
000170: 68 65 20 73 63 69 73 73 6F 72 73 20 61 6E 64 20 he scissors and
000180: 70 61 73 74 65 20 61 6E 64 20 6D 61 6B 65 20 61 paste and make a
000190: 20 6D 65 73 73 20 6F 66 20 79 6F 75 72 20 57 41 mess of your WA
0001A0: 43 43 49 2E 0D 0A 0D 0A 20 20 20 4D 49 44 49 20 CCI..... MIDI
0001B0: 6D 65 73 73 61 67 65 73 20 61 72 65 20 6D 61 64 messages are mad
0001C0: 65 20 75 70 20 6F 66 20 73 74 61 74 75 73 20 62 e up of status b
0001D0: 79 74 65 73 20 61 6E 64 20 64 61 74 61 20 62 79 ytes and data by
0001E0: 74 65 73 2E 20 20 54 68 65 20 73 74 61 74 75 73 tes. The status
0001F0: 20 62 79 74 65 0D 0A 20 20 20 74 65 6C 6C 73 20 byte.. tells
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: 75 73 20 77 68 61 74 20 6B 69 6E 64 20 6F 66 20 us what kind of
000010: 20 6D 65 73 73 61 67 65 20 20 69 74 20 20 69 73 message it is
000020: 2C 20 20 61 6E 64 20 20 74 68 65 20 20 64 61 74 , and the dat
000030: 61 20 20 62 79 74 65 73 20 66 69 6C 6C 20 69 6E a bytes fill in
000040: 20 74 68 65 0D 0A 20 20 20 64 65 74 61 69 6C 73 the.. details
000050: 2E 20 20 53 74 61 74 75 73 20 62 79 74 65 73 20 . Status bytes
000060: 61 72 65 20 61 6C 77 61 79 73 20 62 65 74 77 65 are always betwe
000070: 65 6E 20 31 32 38 20 20 61 6E 64 20 32 35 35 2C en 128 and 255,
000080: 20 61 6E 64 20 64 61 74 61 20 62 79 74 65 73 20 and data bytes
000090: 61 72 65 0D 0A 20 20 20 61 6C 77 61 79 73 20 6C are.. always l
0000A0: 65 73 73 20 20 74 68 61 6E 20 20 31 32 38 2E 20 ess than 128.
0000B0: 20 20 49 74 20 20 69 73 20 20 65 61 73 69 65 73 It is easies
0000C0: 74 20 20 74 6F 20 20 74 68 69 6E 6B 20 20 6F 66 t to think of
0000D0: 20 20 73 74 61 74 75 73 20 20 62 79 74 65 73 20 status bytes
0000E0: 69 6E 0D 0A 20 20 20 68 65 78 61 64 65 63 69 6D in.. hexadecim
0000F0: 61 6C 2E 20 20 54 68 65 20 66 6F 6C 6C 6F 77 69 al. The followi
000100: 6E 67 20 74 61 62 6C 65 20 6C 69 73 74 73 20 61 ng table lists a
000110: 6C 6C 20 74 68 65 20 74 79 70 65 73 20 6F 66 20 ll the types of
000120: 6D 65 73 73 61 67 65 3A 0D 0A 0D 0A 20 20 20 20 message:....
000130: 20 26 38 78 20 20 20 20 20 4E 6F 74 65 20 6F 66 &8x Note of
000140: 66 20 28 32 29 0D 0A 20 20 20 20 20 26 39 78 20 f (2).. &9x
000150: 20 20 20 20 4E 6F 74 65 20 6F 6E 20 28 32 29 0D Note on (2).
000160: 0A 20 20 20 20 20 26 41 78 20 20 20 20 20 50 6F . &Ax Po
000170: 6C 79 70 68 6F 6E 69 63 20 6B 65 79 20 70 72 65 lyphonic key pre
000180: 73 73 75 72 65 20 28 32 29 0D 0A 20 20 20 20 20 ssure (2)..
000190: 26 42 78 20 20 20 20 20 43 6F 6E 74 72 6F 6C 20 &Bx Control
0001A0: 63 68 61 6E 67 65 20 28 32 29 0D 0A 20 20 20 20 change (2)..
0001B0: 20 26 43 78 20 20 20 20 20 50 72 6F 67 72 61 6D &Cx Program
0001C0: 6D 65 20 63 68 61 6E 67 65 20 28 31 29 0D 0A 20 me change (1)..
0001D0: 20 20 20 20 26 44 78 20 20 20 20 20 4F 76 65 72 &Dx Over
0001E0: 61 6C 6C 20 6B 65 79 20 70 72 65 73 73 75 72 65 all key pressure
0001F0: 20 28 31 29 0D 0A 20 20 20 20 20 26 45 78 20 20 (1).. &Ex
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 31 20 2D 20 57 41 43 43 49 20 31 tch 11 - WACCI 1
000020: 32 30 2C 20 4D 61 72 2F 41 70 72 20 31 39 39 38 20, Mar/Apr 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 31 0D 0A 20 20 20 42 79 20 4D 61 74 74 H 11.. 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 43 6F 6E 74 69 6E 75 69 6E 67 20 6F 75 Continuing ou
000080: 72 20 6C 6F 6F 6B 20 61 74 20 20 70 72 6F 67 72 r look at progr
000090: 61 6D 6D 69 6E 67 20 20 4D 49 44 49 20 20 69 6E amming MIDI in
0000A0: 74 65 72 66 61 63 65 73 2C 20 20 74 68 69 73 20 terfaces, this
0000B0: 6D 6F 6E 74 68 20 77 65 20 77 69 6C 6C 0D 0A 20 month we will..
0000C0: 20 20 66 69 6E 64 20 6F 75 74 20 68 6F 77 20 74 find out how t
0000D0: 6F 20 73 65 6C 65 63 74 20 20 69 6E 73 74 72 75 o select instru
0000E0: 6D 65 6E 74 73 20 20 61 6E 64 20 20 75 73 65 20 ments and use
0000F0: 76 61 72 69 6F 75 73 20 6F 74 68 65 72 20 4D 49 various other MI
000100: 44 49 20 63 6F 6D 6D 61 6E 64 73 2E 0D 0A 20 20 DI commands...
000110: 20 4E 65 78 74 20 6D 6F 6E 74 68 20 77 65 20 6D Next month we m
000120: 69 67 68 74 20 65 76 65 6E 20 6D 61 6E 61 67 65 ight even manage
000130: 20 61 20 70 72 6F 67 72 61 6D 20 74 68 61 74 20 a program that
000140: 61 63 74 75 61 6C 6C 79 20 70 6C 61 79 73 20 61 actually plays a
000150: 20 74 75 6E 65 2E 2E 2E 0D 0A 0D 0A 20 20 20 4C tune....... L
000160: 61 73 74 20 74 69 6D 65 20 77 65 20 75 73 65 64 ast time we used
000170: 20 61 20 70 69 65 63 65 20 20 6F 66 20 20 42 41 a piece of BA
000180: 53 49 43 20 20 74 6F 20 20 63 6F 6E 74 72 6F 6C SIC to control
000190: 20 74 68 65 20 4D 49 44 49 20 69 6E 74 65 72 66 the MIDI interf
0001A0: 61 63 65 2E 20 54 68 69 73 0D 0A 20 20 20 6D 6F ace. This.. mo
0001B0: 6E 74 68 20 77 65 20 68 61 76 65 20 70 72 69 6E nth we have prin
0001C0: 74 65 64 20 61 6E 6F 74 68 65 72 20 6C 69 73 74 ted another list
0001D0: 69 6E 67 20 20 77 68 69 63 68 20 20 75 73 65 73 ing which uses
0001E0: 20 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 74 machine code t
0001F0: 6F 20 64 6F 20 74 68 65 0D 0A 20 20 20 73 61 6D o do the.. sam
Size : 512 (Real : 512)
000000: 20 20 20 50 69 74 63 68 20 62 65 6E 64 20 28 32 Pitch bend (2
000010: 29 0D 0A 20 20 20 20 20 26 46 78 20 20 20 20 20 ).. &Fx
000020: 53 79 73 74 65 6D 20 6D 65 73 73 61 67 65 73 0D System messages.
000030: 0A 0D 0A 20 20 20 54 68 65 20 6E 75 6D 62 65 72 ... The number
000040: 20 69 6E 20 62 72 61 63 6B 65 74 73 20 69 73 20 in brackets is
000050: 74 68 65 20 20 6E 75 6D 62 65 72 20 20 6F 66 20 the number of
000060: 20 64 61 74 61 20 62 79 74 65 73 20 74 68 61 74 data bytes that
000070: 20 6D 75 73 74 20 66 6F 6C 6C 6F 77 20 66 6F 72 must follow for
000080: 0D 0A 20 20 20 74 68 61 74 20 73 74 61 74 75 73 .. that status
000090: 20 62 79 74 65 2E 20 20 54 68 65 20 22 78 22 20 byte. The "x"
0000A0: 72 65 70 72 65 73 65 6E 74 73 20 74 68 65 20 73 represents the s
0000B0: 65 63 6F 6E 64 20 68 65 78 20 64 69 67 69 74 2C econd hex digit,
0000C0: 20 6F 72 20 6E 79 62 62 6C 65 2C 20 61 6E 64 0D or nybble, and.
0000D0: 0A 20 20 20 69 6E 20 6D 6F 73 74 20 63 61 73 65 . in most case
0000E0: 73 20 64 65 74 65 72 6D 69 6E 65 73 20 74 68 65 s determines the
0000F0: 20 63 68 61 6E 6E 65 6C 20 6E 75 6D 62 65 72 2C channel number,
000100: 20 20 30 20 74 6F 20 46 20 72 65 66 65 72 72 69 0 to F referri
000110: 6E 67 20 74 6F 20 63 68 61 6E 6E 65 6C 73 0D 0A ng to channels..
000120: 20 20 20 31 20 74 6F 20 31 36 2E 20 20 41 73 20 1 to 16. As
000130: 49 20 20 65 78 70 6C 61 69 6E 65 64 20 20 6C 61 I explained la
000140: 73 74 20 20 6D 6F 6E 74 68 2C 20 20 64 69 66 66 st month, diff
000150: 65 72 65 6E 74 20 63 68 61 6E 6E 65 6C 73 20 6D erent channels m
000160: 69 67 68 74 20 72 65 66 65 72 20 74 6F 0D 0A 20 ight refer to..
000170: 20 20 64 69 66 66 65 72 65 6E 74 20 70 69 65 63 different piec
000180: 65 73 20 6F 66 20 4D 49 44 49 20 65 71 75 69 70 es of MIDI equip
000190: 6D 65 6E 74 2C 20 6F 72 20 20 6F 6E 20 20 61 20 ment, or on a
0001A0: 70 6F 6C 79 70 68 6F 6E 69 63 20 6B 65 79 62 6F polyphonic keybo
0001B0: 61 72 64 20 6F 72 20 76 6F 69 63 65 0D 0A 20 20 ard or voice..
0001C0: 20 62 6F 78 20 63 61 6E 20 62 65 20 20 75 73 65 box can be use
0001D0: 64 20 20 74 6F 20 20 64 69 73 74 69 6E 67 75 69 d to distingui
0001E0: 73 68 20 20 62 65 74 77 65 65 6E 20 20 73 65 76 sh between sev
0001F0: 65 72 61 6C 20 20 64 69 66 66 65 72 65 6E 74 20 eral different
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: 69 6E 20 6C 69 6E 65 73 20 31 30 20 61 6E 64 0D in lines 10 and.
000010: 0A 20 20 20 33 30 2E 20 20 3C 3C 49 74 20 69 73 . 30. <<It is
000020: 20 73 61 76 65 64 20 6F 6E 20 64 69 73 63 20 61 saved on disc a
000030: 73 20 4D 49 44 49 31 2E 42 41 53 3E 3E 0D 0A 0D s MIDI1.BAS>>...
000040: 0A 20 20 20 4F 56 45 52 20 54 4F 20 59 4F 55 0D . OVER TO YOU.
000050: 0A 20 20 20 57 65 6C 6C 2C 20 74 68 61 74 27 73 . Well, that's
000060: 20 79 6F 75 72 20 20 6C 6F 74 20 20 75 6E 74 69 your lot unti
000070: 6C 20 20 4D 61 72 63 68 21 20 20 20 49 6E 20 20 l March! In
000080: 74 68 65 20 20 6D 65 61 6E 20 20 74 69 6D 65 20 the mean time
000090: 20 68 61 76 65 20 20 61 20 67 6F 20 61 74 0D 0A have a go at..
0000A0: 20 20 20 69 6E 73 74 72 75 63 74 69 6E 67 20 79 instructing y
0000B0: 6F 75 72 20 6B 65 79 62 6F 61 72 64 20 74 6F 20 our keyboard to
0000C0: 70 6C 61 79 20 20 61 20 20 74 75 6E 65 2C 20 20 play a tune,
0000D0: 61 6E 64 20 65 78 70 65 72 69 6D 65 6E 74 20 77 and experiment w
0000E0: 69 74 68 20 64 69 66 66 65 72 65 6E 74 0D 0A 20 ith different..
0000F0: 20 20 63 68 61 6E 6E 65 6C 20 6E 75 6D 62 65 72 channel number
000100: 73 20 2D 20 20 79 6F 75 20 20 6D 69 67 68 74 20 s - you might
000110: 20 65 76 65 6E 20 20 66 69 6E 64 20 20 74 68 61 even find tha
000120: 74 20 20 6F 6E 65 20 20 70 72 6F 64 75 63 65 73 t one produces
000130: 20 64 72 75 6D 20 6E 6F 69 73 65 73 0D 0A 20 20 drum noises..
000140: 20 69 6E 73 74 65 61 64 20 6F 66 20 6E 6F 74 65 instead of note
000150: 73 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 20 20 54 41 42 s......... TAB
000160: 4C 45 20 31 0D 0A 20 20 20 20 20 20 20 20 20 20 LE 1..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 20 20 20 20 20 52 41 4D 20 20 20 20 45 4D 52 RAM EMR
000190: 20 20 20 20 44 48 43 50 0D 0A 20 20 20 73 74 61 DHCP.. sta
0001A0: 74 75 73 20 28 72 65 61 64 20 6F 6E 6C 79 29 20 tus (read only)
0001B0: 20 20 20 20 20 20 20 20 20 20 26 46 38 45 45 20 &F8EE
0001C0: 20 26 46 38 46 32 20 20 26 46 38 45 30 0D 0A 20 &F8F2 &F8E0..
0001D0: 20 20 63 6F 6E 74 72 6F 6C 20 28 77 72 69 74 65 control (write
0001E0: 20 6F 6E 6C 79 29 20 20 20 20 20 20 20 20 20 26 only) &
0001F0: 46 38 45 43 20 20 26 46 38 46 32 20 20 26 46 38 F8EC &F8F2 &F8
Size : 512 (Real : 512)
000000: 20 20 2D 20 52 41 4D 20 4D 75 73 69 63 20 4D 61 - RAM Music Ma
000010: 63 68 69 6E 65 0D 0A 20 20 20 20 20 7C 43 48 4F chine.. |CHO
000020: 55 54 2C 31 20 20 20 2D 20 45 4D 52 20 69 6E 74 UT,1 - EMR int
000030: 65 72 66 61 63 65 0D 0A 20 20 20 20 20 7C 43 48 erface.. |CH
000040: 4F 55 54 2C 32 20 20 20 2D 20 44 48 43 50 20 69 OUT,2 - DHCP i
000050: 6E 74 65 72 66 61 63 65 0D 0A 0D 0A 20 20 20 54 nterface.... T
000060: 68 65 20 7C 43 48 4F 55 54 20 63 6F 6D 6D 61 6E he |CHOUT comman
000070: 64 20 6D 61 6B 65 73 20 20 74 68 65 20 20 6E 65 d makes the ne
000080: 63 65 73 73 61 72 79 20 20 61 64 6A 75 73 74 6D cessary adjustm
000090: 65 6E 74 73 20 20 74 6F 20 20 65 6E 73 75 72 65 ents to ensure
0000A0: 20 74 68 61 74 20 74 68 65 0D 0A 20 20 20 63 6F that the.. co
0000B0: 72 72 65 63 74 20 70 6F 72 74 20 61 64 64 72 65 rrect port addre
0000C0: 73 73 65 73 20 61 72 65 20 75 73 65 64 2C 20 61 sses are used, a
0000D0: 6E 64 20 20 61 6C 73 6F 20 20 73 65 74 73 20 20 nd also sets
0000E0: 74 68 65 20 4D 49 44 49 20 69 6E 74 65 72 66 61 the MIDI interfa
0000F0: 63 65 20 74 6F 20 62 65 0D 0A 20 20 20 72 65 61 ce to be.. rea
000100: 64 79 20 74 6F 20 73 65 6E 64 20 64 61 74 61 2E dy to send data.
000110: 0D 0A 0D 0A 20 20 20 4E 65 78 74 20 20 79 6F 75 .... Next you
000120: 20 20 63 61 6E 20 20 75 73 65 20 20 74 68 65 20 can use the
000130: 20 7C 53 45 4E 44 20 20 63 6F 6D 6D 61 6E 64 20 |SEND command
000140: 20 74 6F 20 20 73 65 6E 64 20 20 69 6E 73 74 72 to send instr
000150: 75 63 74 69 6F 6E 73 20 20 74 6F 20 20 4D 49 44 uctions to MID
000160: 49 0D 0A 20 20 20 69 6E 73 74 72 75 6D 65 6E 74 I.. instrument
000170: 73 2E 20 20 54 68 65 20 7C 53 45 4E 44 20 52 53 s. The |SEND RS
000180: 58 20 74 61 6B 65 73 20 61 73 20 6D 61 6E 79 20 X takes as many
000190: 20 61 72 67 75 6D 65 6E 74 73 20 61 73 20 79 6F arguments as yo
0001A0: 75 20 6C 69 6B 65 2C 20 61 6E 64 20 74 68 65 79 u like, and they
0001B0: 0D 0A 20 20 20 61 72 65 20 73 65 6E 74 20 6F 75 .. are sent ou
0001C0: 74 20 76 69 61 20 74 68 65 20 20 4D 49 44 49 20 t via the MIDI
0001D0: 20 69 6E 74 65 72 66 61 63 65 20 20 69 6E 20 20 interface in
0001E0: 6F 72 64 65 72 2E 20 20 4C 61 73 74 20 6D 6F 6E order. Last mon
0001F0: 74 68 27 73 20 65 78 61 6D 70 6C 65 20 6F 66 0D th's example of.
Size : 512 (Real : 512)
000000: 45 30 0D 0A 20 20 20 64 61 74 61 20 72 65 61 64 E0.. data read
000010: 20 28 72 65 61 64 20 6F 6E 6C 79 29 20 20 20 20 (read only)
000020: 20 20 20 20 26 46 38 45 46 20 20 26 46 38 46 33 &F8EF &F8F3
000030: 20 20 26 46 38 45 31 0D 0A 20 20 20 64 61 74 61 &F8E1.. data
000040: 20 77 72 69 74 65 20 28 77 72 69 74 65 20 6F 6E write (write on
000050: 6C 79 29 20 20 20 20 20 20 26 46 38 45 44 20 20 ly) &F8ED
000060: 26 46 38 46 33 20 20 26 46 38 45 31 0D 0A 0D 0A &F8F3 &F8E1....
000070: 0D 0A 0D 0A 20 20 20 31 30 20 20 73 74 61 74 75 .... 10 statu
000080: 73 3D 26 46 38 45 45 3A 63 6F 6E 74 72 6F 6C 3D s=&F8EE:control=
000090: 26 46 38 45 43 3A 64 61 74 61 77 72 69 74 65 3D &F8EC:datawrite=
0000A0: 26 46 38 45 44 0D 0A 20 20 20 32 30 20 20 4F 55 &F8ED.. 20 OU
0000B0: 54 20 63 6F 6E 74 72 6F 6C 2C 33 0D 0A 20 20 20 T control,3..
0000C0: 33 30 20 20 4F 55 54 20 63 6F 6E 74 72 6F 6C 2C 30 OUT control,
0000D0: 26 31 35 3A 52 45 4D 20 63 68 61 6E 67 65 20 74 &15:REM change t
0000E0: 6F 20 26 31 36 20 66 6F 72 20 45 4D 52 20 61 6E o &16 for EMR an
0000F0: 64 20 44 48 43 50 0D 0A 20 20 20 34 30 20 20 46 d DHCP.. 40 F
000100: 4F 52 20 78 3D 30 20 54 4F 20 32 3A 52 45 41 44 OR x=0 TO 2:READ
000110: 20 64 3A 47 4F 53 55 42 20 31 30 30 3A 4E 45 58 d:GOSUB 100:NEX
000120: 54 0D 0A 20 20 20 35 30 20 20 46 4F 52 20 78 3D T.. 50 FOR x=
000130: 30 20 54 4F 20 35 30 30 30 3A 4E 45 58 54 0D 0A 0 TO 5000:NEXT..
000140: 20 20 20 36 30 20 20 46 4F 52 20 78 3D 30 20 54 60 FOR x=0 T
000150: 4F 20 32 3A 52 45 41 44 20 64 3A 47 4F 53 55 42 O 2:READ d:GOSUB
000160: 20 31 30 30 3A 4E 45 58 54 0D 0A 20 20 20 37 30 100:NEXT.. 70
000170: 20 20 45 4E 44 0D 0A 20 20 20 38 30 20 20 44 41 END.. 80 DA
000180: 54 41 20 26 39 30 2C 36 30 2C 36 34 2C 26 38 30 TA &90,60,64,&80
000190: 2C 36 30 2C 30 0D 0A 20 20 20 31 30 30 20 57 48 ,60,0.. 100 WH
0001A0: 49 4C 45 20 28 49 4E 50 28 73 74 61 74 75 73 29 ILE (INP(status)
0001B0: 20 41 4E 44 20 32 29 3D 30 3A 57 45 4E 44 0D 0A AND 2)=0:WEND..
0001C0: 20 20 20 31 31 30 20 4F 55 54 20 64 61 74 61 77 110 OUT dataw
0001D0: 72 69 74 65 2C 64 0D 0A 20 20 20 31 32 30 20 52 rite,d.. 120 R
0001E0: 45 54 55 52 4E 0D 0A 1A 0D 0A 0D 0A 20 20 20 54 ETURN....... T
0001F0: 68 69 73 20 6D 6F 6E 74 68 20 69 6E 20 50 72 6F his month in Pro
Size : 512 (Real : 512)
000000: 69 6E 73 74 72 75 6D 65 6E 74 73 0D 0A 20 20 20 instruments..
000010: 70 6C 61 79 65 64 20 6F 6E 20 74 68 65 20 73 61 played on the sa
000020: 6D 65 20 70 69 65 63 65 20 6F 66 20 4D 49 44 49 me piece of MIDI
000030: 20 65 71 75 69 70 6D 65 6E 74 2E 0D 0A 0D 0A 20 equipment.....
000040: 20 20 54 68 65 20 73 74 61 74 75 73 20 62 79 74 The status byt
000050: 65 20 26 39 30 20 77 6F 75 6C 64 20 62 65 20 61 e &90 would be a
000060: 20 4E 6F 74 65 20 20 4F 6E 20 20 65 76 65 6E 74 Note On event
000070: 20 6F 6E 20 63 68 61 6E 6E 65 6C 20 31 2C 20 61 on channel 1, a
000080: 6E 64 20 26 38 31 20 77 6F 75 6C 64 0D 0A 20 20 nd &81 would..
000090: 20 62 65 20 61 20 4E 6F 74 65 20 4F 66 66 20 6F be a Note Off o
0000A0: 6E 20 63 68 61 6E 6E 65 6C 20 32 2E 20 20 54 68 n channel 2. Th
0000B0: 65 20 6F 6E 6C 79 20 65 78 63 65 70 74 69 6F 6E e only exception
0000C0: 20 69 6E 20 66 61 63 74 20 69 73 20 26 46 78 2C in fact is &Fx,
0000D0: 20 74 68 65 20 73 79 73 74 65 6D 0D 0A 20 20 20 the system..
0000E0: 6D 65 73 73 61 67 65 73 2C 20 77 68 69 63 68 20 messages, which
0000F0: 61 66 66 65 63 74 20 61 6C 6C 20 63 68 61 6E 6E affect all chann
000100: 65 6C 73 20 20 61 74 20 20 6F 6E 63 65 2E 20 20 els at once.
000110: 48 65 72 65 20 74 68 65 20 22 78 22 20 64 69 73 Here the "x" dis
000120: 74 69 6E 67 75 69 73 68 65 73 0D 0A 20 20 20 62 tinguishes.. b
000130: 65 74 77 65 65 6E 20 64 69 66 66 65 72 65 6E 74 etween different
000140: 20 6B 69 6E 64 73 20 6F 66 20 73 79 73 74 65 6D kinds of system
000150: 20 6D 65 73 73 61 67 65 20 69 6E 73 74 65 61 64 message instead
000160: 2E 0D 0A 0D 0A 20 20 20 4F 4E 45 20 4D 41 4E 20 ..... ONE MAN
000170: 42 41 4E 44 0D 0A 20 20 20 54 68 65 20 6E 65 78 BAND.. The nex
000180: 74 20 6D 6F 73 74 20 75 73 65 66 75 6C 20 4D 49 t most useful MI
000190: 44 49 20 20 6D 65 73 73 61 67 65 20 20 61 66 74 DI message aft
0001A0: 65 72 20 20 4E 6F 74 65 20 20 4F 6E 20 20 61 6E er Note On an
0001B0: 64 20 20 4E 6F 74 65 20 4F 66 66 20 69 73 20 26 d Note Off is &
0001C0: 43 78 2C 0D 0A 20 20 20 50 72 6F 67 72 61 6D 6D Cx,.. Programm
0001D0: 65 20 43 68 61 6E 67 65 2E 20 20 54 68 69 73 20 e Change. This
0001E0: 69 73 20 75 73 65 64 20 74 6F 20 73 65 6C 65 63 is used to selec
0001F0: 74 20 77 68 61 74 20 69 6E 73 74 72 75 6D 65 6E t what instrumen
Size : 512 (Real : 512)
000000: 20 6F 6E 65 20 77 65 20 73 65 6E 74 2C 20 74 68 one we sent, th
000010: 61 74 20 69 73 20 61 6E 6F 74 68 65 72 20 62 79 at is another by
000020: 74 65 20 6F 66 20 26 39 30 2E 0D 0A 0D 0A 20 20 te of &90.....
000030: 20 4F 66 20 63 6F 75 72 73 65 2C 20 79 6F 75 20 Of course, you
000040: 63 61 6E 20 70 75 74 20 69 6E 20 74 68 6F 73 65 can put in those
000050: 20 26 39 30 20 62 79 74 65 73 20 69 66 20 79 6F &90 bytes if yo
000060: 75 20 6C 69 6B 65 2C 20 61 6E 64 20 69 66 20 79 u like, and if y
000070: 6F 75 20 61 72 65 20 6A 75 73 74 0D 0A 20 20 20 ou are just..
000080: 73 65 6E 64 69 6E 67 20 4D 49 44 49 20 64 61 74 sending MIDI dat
000090: 61 20 79 6F 75 20 64 6F 20 6E 6F 74 20 72 65 61 a you do not rea
0000A0: 6C 6C 79 20 6E 65 65 64 20 74 6F 20 6B 6E 6F 77 lly need to know
0000B0: 20 61 62 6F 75 74 20 72 75 6E 6E 69 6E 67 20 73 about running s
0000C0: 74 61 74 75 73 2E 20 20 49 66 0D 0A 20 20 20 79 tatus. If.. y
0000D0: 6F 75 20 61 72 65 20 72 65 63 65 69 76 69 6E 67 ou are receiving
0000E0: 20 64 61 74 61 20 66 72 6F 6D 20 20 74 68 65 20 data from the
0000F0: 20 6B 65 79 62 6F 61 72 64 20 20 74 68 6F 75 67 keyboard thoug
000100: 68 2C 20 20 79 6F 75 20 77 69 6C 6C 20 68 61 76 h, you will hav
000110: 65 20 74 6F 20 63 6F 70 65 0D 0A 20 20 20 77 69 e to cope.. wi
000120: 74 68 20 69 74 2E 20 20 57 68 65 6E 20 49 20 66 th it. When I f
000130: 69 72 73 74 20 20 73 74 61 72 74 65 64 20 20 65 irst started e
000140: 78 70 65 72 69 6D 65 6E 74 69 6E 67 20 20 77 69 xperimenting wi
000150: 74 68 20 72 65 63 6F 72 64 69 6E 67 20 64 61 74 th recording dat
000160: 61 20 66 72 6F 6D 20 61 0D 0A 20 20 20 6B 65 79 a from a.. key
000170: 62 6F 61 72 64 2C 20 49 20 64 69 64 20 6E 6F 74 board, I did not
000180: 20 6B 6E 6F 77 20 20 61 62 6F 75 74 20 20 72 75 know about ru
000190: 6E 6E 69 6E 67 20 20 73 74 61 74 75 73 2C 20 20 nning status,
0001A0: 73 6F 20 20 49 20 74 68 6F 75 67 68 74 20 74 68 so I thought th
0001B0: 65 72 65 20 77 61 73 0D 0A 20 20 20 73 6F 6D 65 ere was.. some
0001C0: 74 68 69 6E 67 20 77 72 6F 6E 67 20 77 69 74 68 thing wrong with
0001D0: 20 6D 79 20 69 6E 74 65 72 66 61 63 65 21 0D 0A my interface!..
0001E0: 0D 0A 20 20 20 59 6F 75 20 61 72 65 20 61 6C 73 .. You are als
0001F0: 6F 20 61 6C 6C 6F 77 65 64 20 74 6F 20 74 75 72 o allowed to tur
Size : 512 (Real : 512)
000000: 74 20 6E 6F 69 73 65 20 74 6F 20 75 73 65 20 66 t noise to use f
000010: 6F 72 0D 0A 20 20 20 74 68 65 20 6E 6F 74 65 73 or.. the notes
000020: 20 6F 6E 20 61 20 63 68 61 6E 6E 65 6C 2E 20 20 on a channel.
000030: 49 74 20 74 61 6B 65 73 20 20 6F 6E 65 20 20 64 It takes one d
000040: 61 74 61 20 62 79 74 65 20 61 73 20 61 20 70 61 ata byte as a pa
000050: 72 61 6D 65 74 65 72 2C 20 61 6C 6C 6F 77 69 6E rameter, allowin
000060: 67 0D 0A 20 20 20 79 6F 75 20 20 74 6F 20 20 63 g.. you to c
000070: 68 6F 6F 73 65 20 20 66 72 6F 6D 20 20 31 32 38 hoose from 128
000080: 20 20 64 69 66 66 65 72 65 6E 74 20 20 20 69 6E different in
000090: 73 74 72 75 6D 65 6E 74 73 20 20 6E 75 6D 62 65 struments numbe
0000A0: 72 65 64 20 20 30 20 20 74 6F 20 20 31 32 37 2E red 0 to 127.
0000B0: 0D 0A 20 20 20 55 6E 66 6F 72 74 75 6E 61 74 65 .. Unfortunate
0000C0: 6C 79 20 64 69 66 66 65 72 65 6E 74 20 74 79 70 ly different typ
0000D0: 65 73 20 6F 66 20 20 4D 49 44 49 20 20 6B 65 79 es of MIDI key
0000E0: 62 6F 61 72 64 20 20 75 73 65 20 64 69 66 66 65 board use diffe
0000F0: 72 65 6E 74 20 6E 75 6D 62 65 72 73 20 74 6F 0D rent numbers to.
000100: 0A 20 20 20 73 65 6C 65 63 74 20 61 20 76 69 6F . select a vio
000110: 6C 69 6E 2C 20 73 61 79 2E 20 20 53 6F 6D 65 20 lin, say. Some
000120: 6B 65 79 62 6F 61 72 64 73 20 20 66 6F 6C 6C 6F keyboards follo
000130: 77 20 20 61 20 63 6F 64 65 20 63 61 6C 6C 65 64 w a code called
000140: 20 47 65 6E 65 72 61 6C 20 4D 49 44 49 2C 0D 0A General MIDI,..
000150: 20 20 20 61 6E 64 20 74 6F 20 73 65 6C 65 63 74 and to select
000160: 20 61 20 76 69 6F 6C 69 6E 20 6F 6E 20 63 68 61 a violin on cha
000170: 6E 6E 65 6C 20 31 20 79 6F 75 20 77 6F 75 6C 64 nnel 1 you would
000180: 20 64 6F 3A 0D 0A 0D 0A 20 20 20 20 20 7C 53 45 do:.... |SE
000190: 4E 44 2C 26 43 30 2C 34 31 0D 0A 0D 0A 20 20 20 ND,&C0,41....
0001A0: 49 20 61 6D 20 67 75 65 73 73 69 6E 67 20 61 20 I am guessing a
0001B0: 62 69 74 20 20 68 65 72 65 2C 20 20 61 73 20 20 bit here, as
0001C0: 69 74 20 20 6D 69 67 68 74 20 20 6E 6F 74 20 20 it might not
0001D0: 62 65 20 20 61 20 76 69 6F 6C 69 6E 2C 20 62 75 be a violin, bu
0001E0: 74 20 69 74 20 77 6F 75 6C 64 0D 0A 20 20 20 63 t it would.. c
0001F0: 65 72 74 61 69 6E 6C 79 20 62 65 20 61 20 73 74 ertainly be a st
Size : 512 (Real : 512)
000000: 6E 20 20 61 20 20 6E 6F 74 65 20 20 6F 66 66 20 n a note off
000010: 20 75 73 69 6E 67 20 20 61 20 20 4E 6F 74 65 20 using a Note
000020: 4F 6E 20 65 76 65 6E 74 20 77 69 74 68 20 61 0D On event with a.
000030: 0A 20 20 20 76 65 6C 6F 63 69 74 79 20 6F 66 20 . velocity of
000040: 7A 65 72 6F 3A 0D 0A 0D 0A 20 20 20 20 20 7C 53 zero:.... |S
000050: 45 4E 44 2C 26 39 30 2C 36 30 2C 30 0D 0A 0D 0A END,&90,60,0....
000060: 20 20 20 77 6F 75 6C 64 20 74 75 72 6E 20 6F 66 would turn of
000070: 66 20 61 20 4D 69 64 64 6C 65 20 43 20 20 70 6C f a Middle C pl
000080: 61 79 69 6E 67 20 20 6F 6E 20 20 63 68 61 6E 6E aying on chann
000090: 65 6C 20 20 31 2E 20 20 57 68 65 6E 20 79 6F 75 el 1. When you
0000A0: 20 63 6F 6D 62 69 6E 65 20 74 68 69 73 0D 0A 20 combine this..
0000B0: 20 20 77 69 74 68 20 72 75 6E 6E 69 6E 67 20 73 with running s
0000C0: 74 61 74 75 73 2C 20 79 6F 75 20 20 63 61 6E 20 tatus, you can
0000D0: 20 70 6C 61 79 20 20 6C 6F 6E 67 20 20 70 69 65 play long pie
0000E0: 63 65 73 20 20 6F 6E 20 20 6F 6E 65 20 63 68 61 ces on one cha
0000F0: 6E 6E 65 6C 20 77 69 74 68 6F 75 74 0D 0A 20 20 nnel without..
000100: 20 73 65 6E 64 69 6E 67 20 61 6E 79 20 73 74 61 sending any sta
000110: 74 75 73 20 62 79 74 65 73 20 61 70 61 72 74 20 tus bytes apart
000120: 66 72 6F 6D 20 74 68 65 20 66 69 72 73 74 20 4E from the first N
000130: 6F 74 65 20 4F 6E 2E 0D 0A 0D 0A 20 20 20 41 46 ote On..... AF
000140: 54 45 52 20 45 46 46 45 43 54 53 0D 0A 20 20 20 TER EFFECTS..
000150: 47 65 74 74 69 6E 67 20 62 61 63 6B 20 74 6F 20 Getting back to
000160: 74 68 65 20 73 74 61 74 75 73 20 63 6F 64 65 73 the status codes
000170: 2C 20 69 66 20 20 79 6F 75 20 20 77 61 6E 74 20 , if you want
000180: 20 74 6F 20 63 68 61 6E 67 65 20 74 68 65 20 76 to change the v
000190: 6F 6C 75 6D 65 20 6F 66 20 61 0D 0A 20 20 20 6E olume of a.. n
0001A0: 6F 74 65 20 61 66 74 65 72 20 69 74 20 68 61 73 ote after it has
0001B0: 20 73 74 61 72 74 65 64 2C 20 79 6F 75 20 20 6E started, you n
0001C0: 65 65 64 20 20 74 68 65 20 20 73 65 72 76 69 63 eed the servic
0001D0: 65 73 20 6F 66 20 26 41 78 2C 20 50 6F 6C 79 70 es of &Ax, Polyp
0001E0: 68 6F 6E 69 63 20 4B 65 79 0D 0A 20 20 20 50 72 honic Key.. Pr
0001F0: 65 73 73 75 72 65 20 28 6F 72 20 61 66 74 65 72 essure (or after
Size : 512 (Real : 512)
000000: 72 69 6E 67 20 69 6E 73 74 72 75 6D 65 6E 74 2E ring instrument.
000010: 20 20 20 49 66 20 20 79 6F 75 72 20 20 6B 65 79 If your key
000020: 62 6F 61 72 64 20 64 6F 65 73 20 6E 6F 74 20 63 board does not c
000030: 6F 6E 66 6F 72 6D 20 74 6F 0D 0A 20 20 20 47 65 onform to.. Ge
000040: 6E 65 72 61 6C 20 4D 49 44 49 20 74 68 65 6E 20 neral MIDI then
000050: 74 68 65 72 65 20 6D 61 79 20 62 65 20 61 20 6C there may be a l
000060: 69 73 74 20 20 6F 66 20 74 68 65 20 6E 75 6D 62 ist of the numb
000070: 65 72 73 20 69 6E 20 79 6F 75 72 20 6D 61 6E 75 ers in your manu
000080: 61 6C 20 6F 72 20 6F 6E 0D 0A 20 20 20 74 68 65 al or on.. the
000090: 20 6B 65 79 62 6F 61 72 64 20 69 74 73 65 6C 66 keyboard itself
0000A0: 2E 0D 0A 0D 0A 20 20 20 41 66 74 65 72 20 74 68 ..... After th
0000B0: 61 74 2C 20 7C 53 45 4E 44 2C 26 39 30 2C 36 39 at, |SEND,&90,69
0000C0: 2C 36 34 20 77 6F 75 6C 64 20 20 70 6C 61 79 20 ,64 would play
0000D0: 20 74 68 65 20 20 41 20 20 61 62 6F 76 65 20 20 the A above
0000E0: 4D 69 64 64 6C 65 20 43 20 28 6B 6E 6F 77 6E 20 Middle C (known
0000F0: 61 73 0D 0A 20 20 20 49 6E 74 65 72 6E 61 74 69 as.. Internati
000100: 6F 6E 61 6C 20 41 29 20 75 73 69 6E 67 20 74 68 onal A) using th
000110: 65 20 76 69 6F 6C 69 6E 20 6E 6F 69 73 65 2E 20 e violin noise.
000120: 20 49 66 20 79 6F 75 20 74 68 65 6E 20 64 69 64 If you then did
000130: 0D 0A 0D 0A 20 20 20 20 20 7C 53 45 4E 44 2C 26 .... |SEND,&
000140: 43 31 2C 35 37 2C 26 39 31 2C 36 30 2C 36 34 0D C1,57,&91,60,64.
000150: 0A 0D 0A 20 20 20 69 74 20 77 6F 75 6C 64 20 73 ... it would s
000160: 65 6C 65 63 74 20 61 20 62 72 61 73 73 20 69 6E elect a brass in
000170: 73 74 72 75 6D 65 6E 74 20 20 6F 6E 20 20 63 68 strument on ch
000180: 61 6E 6E 65 6C 20 32 20 61 6E 64 20 73 74 61 72 annel 2 and star
000190: 74 20 70 6C 61 79 69 6E 67 20 4D 69 64 64 6C 65 t playing Middle
0001A0: 0D 0A 20 20 20 43 2E 20 20 54 6F 20 74 75 72 6E .. C. To turn
0001B0: 20 74 68 65 20 6E 6F 74 65 73 20 6F 66 66 2C 20 the notes off,
0001C0: 79 6F 75 20 77 6F 75 6C 64 20 74 68 65 6E 20 64 you would then d
0001D0: 6F 0D 0A 0D 0A 20 20 20 20 20 7C 53 45 4E 44 2C o.... |SEND,
0001E0: 26 38 30 2C 36 39 2C 30 20 28 66 6F 72 20 74 68 &80,69,0 (for th
0001F0: 65 20 76 69 6F 6C 69 6E 29 0D 0A 20 20 20 20 20 e violin)..
Size : 512 (Real : 512)
000000: 74 6F 75 63 68 29 2E 20 20 54 68 69 73 20 74 61 touch). This ta
000010: 6B 65 73 20 74 77 6F 20 20 64 61 74 61 20 20 62 kes two data b
000020: 79 74 65 73 3A 20 66 69 72 73 74 20 74 68 65 20 ytes: first the
000030: 70 69 74 63 68 20 6F 66 0D 0A 20 20 20 74 68 65 pitch of.. the
000040: 20 20 6E 6F 74 65 20 20 63 6F 6E 63 65 72 6E 65 note concerne
000050: 64 2C 20 20 73 65 63 6F 6E 64 6C 79 20 20 74 68 d, secondly th
000060: 65 20 20 20 6E 65 77 20 20 70 72 65 73 73 75 72 e new pressur
000070: 65 20 20 28 6F 72 20 20 76 6F 6C 75 6D 65 29 20 e (or volume)
000080: 20 76 61 6C 75 65 2E 0D 0A 20 20 20 4F 62 76 69 value... Obvi
000090: 6F 75 73 6C 79 20 77 69 74 68 20 73 6F 6D 65 20 ously with some
0000A0: 69 6E 73 74 72 75 6D 65 6E 74 73 2C 20 6C 69 6B instruments, lik
0000B0: 65 20 70 69 61 6E 6F 2C 20 20 79 6F 75 20 63 61 e piano, you ca
0000C0: 6E 6E 6F 74 20 63 68 61 6E 67 65 20 74 68 65 20 nnot change the
0000D0: 76 6F 6C 75 6D 65 0D 0A 20 20 20 6F 66 20 61 20 volume.. of a
0000E0: 6E 6F 74 65 20 6F 6E 63 65 20 74 68 65 20 20 6B note once the k
0000F0: 65 79 20 20 68 61 73 20 20 62 65 65 6E 20 20 73 ey has been s
000100: 74 72 75 63 6B 2C 20 20 61 6E 64 20 20 73 6F 6D truck, and som
000110: 65 20 6B 65 79 62 6F 61 72 64 73 20 77 69 6C 6C e keyboards will
000120: 20 74 61 6B 65 0D 0A 20 20 20 61 63 63 6F 75 6E take.. accoun
000130: 74 20 6F 66 20 74 68 69 73 2E 20 20 20 4C 65 73 t of this. Les
000140: 73 20 20 65 78 70 65 6E 73 69 76 65 20 20 6D 6F s expensive mo
000150: 64 65 6C 73 20 20 6F 66 20 20 6B 65 79 62 6F 61 dels of keyboa
000160: 72 64 20 20 64 6F 20 6E 6F 74 20 69 6D 70 6C 65 rd do not imple
000170: 6D 65 6E 74 0D 0A 20 20 20 61 66 74 65 72 74 6F ment.. afterto
000180: 75 63 68 20 61 74 20 61 6C 6C 2E 0D 0A 0D 0A 20 uch at all.....
000190: 20 20 53 74 61 74 75 73 20 62 79 74 65 20 26 44 Status byte &D
0001A0: 78 2C 20 4F 76 65 72 61 6C 6C 20 4B 65 79 20 50 x, Overall Key P
0001B0: 72 65 73 73 75 72 65 2C 20 77 6F 72 6B 73 20 69 ressure, works i
0001C0: 6E 20 61 20 73 69 6D 69 6C 61 72 20 77 61 79 2C n a similar way,
0001D0: 20 62 75 74 20 61 70 70 6C 69 65 73 0D 0A 20 20 but applies..
0001E0: 20 74 6F 20 61 6C 6C 20 6E 6F 74 65 73 20 6F 6E to all notes on
0001F0: 20 20 74 68 65 20 20 63 68 61 6E 6E 65 6C 2E 20 the channel.
Size : 512 (Real : 512)
000000: 7C 53 45 4E 44 2C 26 38 31 2C 36 30 2C 30 20 28 |SEND,&81,60,0 (
000010: 66 6F 72 20 74 68 65 20 62 72 61 73 73 29 0D 0A for the brass)..
000020: 0D 0A 20 20 20 4F 6E 20 61 20 70 6F 6C 79 70 68 .. On a polyph
000030: 6F 6E 69 63 20 6B 65 79 62 6F 61 72 64 20 79 6F onic keyboard yo
000040: 75 20 63 61 6E 20 68 61 76 65 20 20 73 65 76 65 u can have seve
000050: 72 61 6C 20 6E 6F 74 65 73 20 73 6F 75 6E 64 69 ral notes soundi
000060: 6E 67 20 61 74 20 6F 6E 63 65 20 65 76 65 6E 0D ng at once even.
000070: 0A 20 20 20 6F 6E 20 74 68 65 20 73 61 6D 65 20 . on the same
000080: 63 68 61 6E 6E 65 6C 2C 20 73 6F 20 79 6F 75 20 channel, so you
000090: 20 63 6F 75 6C 64 20 20 73 74 61 72 74 20 20 73 could start s
0000A0: 65 76 65 72 61 6C 20 76 69 6F 6C 69 6E 20 6E 6F everal violin no
0000B0: 74 65 73 20 61 74 20 6F 6E 63 65 20 6F 6E 0D 0A tes at once on..
0000C0: 20 20 20 63 68 61 6E 6E 65 6C 20 31 3A 0D 0A 0D channel 1:...
0000D0: 0A 20 20 20 20 20 7C 53 45 4E 44 2C 26 39 30 2C . |SEND,&90,
0000E0: 36 30 2C 34 30 2C 26 39 30 2C 36 34 2C 34 30 2C 60,40,&90,64,40,
0000F0: 26 39 30 2C 36 37 2C 34 30 0D 0A 0D 0A 20 20 20 &90,67,40....
000100: 61 6E 64 20 74 68 65 6E 20 74 75 72 6E 20 74 68 and then turn th
000110: 65 6D 20 20 6F 66 66 20 20 6F 6E 65 20 20 62 79 em off one by
000120: 20 20 6F 6E 65 20 20 77 69 74 68 20 20 74 68 65 one with the
000130: 20 20 61 70 70 72 6F 70 72 69 61 74 65 20 26 38 appropriate &8
000140: 30 20 4E 6F 74 65 20 4F 66 66 0D 0A 20 20 20 65 0 Note Off.. e
000150: 76 65 6E 74 73 2E 0D 0A 0D 0A 20 20 20 52 55 4E vents..... RUN
000160: 4E 49 4E 47 20 43 4F 4D 4D 45 4E 54 41 52 59 0D NING COMMENTARY.
000170: 0A 20 20 20 42 65 66 6F 72 65 20 77 65 20 6C 6F . Before we lo
000180: 6F 6B 20 61 74 20 74 68 65 20 6F 74 68 65 72 20 ok at the other
000190: 73 74 61 74 75 73 20 20 63 6F 64 65 73 2C 20 20 status codes,
0001A0: 69 74 20 20 73 65 65 6D 73 20 6C 69 6B 65 20 61 it seems like a
0001B0: 20 67 6F 6F 64 20 70 6F 69 6E 74 20 74 6F 0D 0A good point to..
0001C0: 20 20 20 6D 65 6E 74 69 6F 6E 20 22 72 75 6E 6E mention "runn
0001D0: 69 6E 67 20 73 74 61 74 75 73 22 2E 20 20 57 65 ing status". We
0001E0: 20 68 61 76 65 20 20 6A 75 73 74 20 20 74 75 72 have just tur
0001F0: 6E 65 64 20 20 6F 6E 20 20 74 68 72 65 65 20 6E ned on three n
Size : 512 (Real : 512)
000000: 20 20 49 74 20 20 6F 6E 6C 79 20 20 6E 65 65 64 It only need
000010: 73 20 20 6F 6E 65 20 20 64 61 74 61 20 20 62 79 s one data by
000020: 74 65 2C 20 74 68 65 20 6E 65 77 0D 0A 20 20 20 te, the new..
000030: 70 72 65 73 73 75 72 65 20 76 61 6C 75 65 2E 0D pressure value..
000040: 0A 0D 0A 20 20 20 55 52 41 4E 49 55 4D 20 4F 52 ... URANIUM OR
000050: 45 0D 0A 20 20 20 50 69 74 63 68 20 42 65 6E 64 E.. Pitch Bend
000060: 2C 20 26 45 78 2C 20 69 73 20 66 6F 72 20 76 61 , &Ex, is for va
000070: 72 79 69 6E 67 20 74 68 65 20 20 70 69 74 63 68 rying the pitch
000080: 20 20 6F 66 20 6E 6F 74 65 73 20 74 68 61 74 20 of notes that
000090: 61 72 65 20 70 6C 61 79 69 6E 67 2E 20 20 49 74 are playing. It
0000A0: 0D 0A 20 20 20 69 73 20 66 6F 6C 6C 6F 77 65 64 .. is followed
0000B0: 20 62 79 20 74 77 6F 20 64 61 74 61 20 62 79 74 by two data byt
0000C0: 65 73 20 77 68 69 63 68 20 61 72 65 20 70 75 74 es which are put
0000D0: 20 74 6F 67 65 74 68 65 72 20 74 6F 20 67 69 76 together to giv
0000E0: 65 20 61 20 22 6D 6F 64 75 6C 61 74 69 6F 6E 0D e a "modulation.
0000F0: 0A 20 20 20 76 61 6C 75 65 22 2C 20 72 61 6E 67 . value", rang
000100: 69 6E 67 20 66 72 6F 6D 20 30 20 74 6F 20 31 36 ing from 0 to 16
000110: 33 38 33 2E 20 20 49 66 20 20 74 68 65 20 6D 6F 383. If the mo
000120: 64 75 6C 61 74 69 6F 6E 20 76 61 6C 75 65 20 77 dulation value w
000130: 61 73 20 6D 2C 20 74 68 65 6E 20 74 68 65 0D 0A as m, then the..
000140: 20 20 20 74 77 6F 20 64 61 74 61 20 62 79 74 65 two data byte
000150: 73 20 61 72 65 20 63 61 6C 63 75 6C 61 74 65 64 s are calculated
000160: 20 61 73 20 66 6F 6C 6C 6F 77 73 3A 0D 0A 0D 0A as follows:....
000170: 20 20 20 20 20 62 79 74 65 31 3D 6D 20 4D 4F 44 byte1=m MOD
000180: 20 31 32 38 0D 0A 20 20 20 20 20 62 79 74 65 32 128.. byte2
000190: 3D 6D 5C 31 32 38 0D 0A 0D 0A 20 20 20 41 20 6D =m\128.... A m
0001A0: 6F 64 75 6C 61 74 69 6F 6E 20 76 61 6C 75 65 20 odulation value
0001B0: 6F 66 20 38 31 39 32 20 20 69 73 20 20 74 68 65 of 8192 is the
0001C0: 20 20 63 65 6E 74 72 65 20 20 73 65 74 74 69 6E centre settin
0001D0: 67 2C 20 77 68 69 63 68 20 6D 65 61 6E 73 20 74 g, which means t
0001E0: 68 61 74 20 74 68 65 0D 0A 20 20 20 70 69 74 63 hat the.. pitc
0001F0: 68 65 73 20 6F 66 20 74 68 65 20 20 6E 6F 74 65 hes of the note
Size : 512 (Real : 512)
000000: 6F 74 65 73 2C 20 65 61 63 68 20 62 79 0D 0A 20 otes, each by..
000010: 20 20 73 65 6E 64 69 6E 67 20 74 68 65 20 73 74 sending the st
000020: 61 74 75 73 20 62 79 74 65 20 6F 66 20 26 39 30 atus byte of &90
000030: 20 20 66 6F 6C 6C 6F 77 65 64 20 20 62 79 20 20 followed by
000040: 74 77 6F 20 62 79 74 65 73 20 6F 66 20 64 61 74 two bytes of dat
000050: 61 2E 20 20 57 65 20 63 6F 75 6C 64 0D 0A 20 20 a. We could..
000060: 20 68 61 76 65 20 61 6C 73 6F 20 64 6F 6E 65 20 have also done
000070: 69 74 20 6C 69 6B 65 20 74 68 69 73 3A 0D 0A 0D it like this:...
000080: 0A 20 20 20 20 20 7C 53 45 4E 44 2C 26 39 30 2C . |SEND,&90,
000090: 36 30 2C 34 30 2C 36 34 2C 34 30 2C 36 37 2C 34 60,40,64,40,67,4
0000A0: 30 0D 0A 0D 0A 20 20 20 41 66 74 65 72 20 74 68 0.... After th
0000B0: 65 20 76 6F 6C 75 6D 65 20 62 79 74 65 20 6F 66 e volume byte of
0000C0: 20 34 30 20 66 6F 72 20 74 68 65 20 20 66 69 72 40 for the fir
0000D0: 73 74 20 6E 6F 74 65 2C 20 69 6E 73 74 65 61 64 st note, instead
0000E0: 20 6F 66 20 74 68 65 20 26 39 30 20 73 74 61 74 of the &90 stat
0000F0: 75 73 0D 0A 20 20 20 62 79 74 65 20 77 65 20 68 us.. byte we h
000100: 61 76 65 20 67 6F 6E 65 20 20 73 74 72 61 69 67 ave gone straig
000110: 68 74 20 20 6F 6E 20 20 74 6F 20 20 74 68 65 20 ht on to the
000120: 20 70 69 74 63 68 20 20 64 61 74 61 20 20 66 6F pitch data fo
000130: 72 20 20 74 68 65 20 6E 65 78 74 20 6E 6F 74 65 r the next note
000140: 2E 0D 0A 20 20 20 42 65 63 61 75 73 65 20 64 61 ... Because da
000150: 74 61 20 62 79 74 65 73 20 61 72 65 20 61 6C 6C ta bytes are all
000160: 20 6C 65 73 73 20 74 68 61 6E 20 31 32 38 2C 20 less than 128,
000170: 20 74 68 65 20 20 70 69 74 63 68 20 6F 66 20 36 the pitch of 6
000180: 34 20 6D 75 73 74 20 62 65 20 61 20 64 61 74 61 4 must be a data
000190: 0D 0A 20 20 20 62 79 74 65 20 6E 6F 74 20 61 20 .. byte not a
0001A0: 73 74 61 74 75 73 20 62 79 74 65 2C 20 73 6F 20 status byte, so
0001B0: 4D 49 44 49 20 20 65 71 75 69 70 6D 65 6E 74 20 MIDI equipment
0001C0: 61 73 73 75 6D 65 73 20 74 68 61 74 20 74 68 65 assumes that the
0001D0: 20 6D 69 73 73 69 6E 67 20 73 74 61 74 75 73 0D missing status.
0001E0: 0A 20 20 20 63 6F 64 65 20 69 73 20 74 68 65 20 . code is the
0001F0: 73 61 6D 65 20 61 73 20 74 68 65 20 6C 61 73 74 same as the last
Size : 512 (Real : 512)
000000: 32 32 30 20 44 41 54 41 20 39 44 32 38 46 36 32 220 DATA 9D28F62
000010: 31 33 31 39 44 31 38 46 31 34 46 43 42 30 31 30 1319D18F14FCB010
000020: 36 34 44 34 0D 0A 20 32 33 30 20 44 41 54 41 20 64D4.. 230 DATA
000030: 30 30 44 44 30 39 34 37 44 44 32 42 44 44 32 42 00DD0947DD2BDD2B
000040: 44 44 37 45 30 30 43 35 35 35 44 0D 0A 20 32 34 DD7E00C555D.. 24
000050: 30 20 44 41 54 41 20 43 44 32 32 39 44 43 31 31 0 DATA CD229DC11
000060: 30 46 32 43 39 30 30 30 30 30 30 30 30 30 30 34 0F2C900000000004
000070: 31 38 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 20 18............
000080: 20 4C 49 53 54 49 4E 47 20 32 0D 0A 0D 0A 20 20 LISTING 2....
000090: 20 3B 53 65 6E 64 20 76 65 72 73 69 6F 6E 20 32 ;Send version 2
0000A0: 2E 30 30 2C 20 31 31 2F 35 2F 31 39 39 37 0D 0A .00, 11/5/1997..
0000B0: 20 20 20 3B 64 65 73 69 67 6E 65 64 20 74 6F 20 ;designed to
0000C0: 62 65 20 61 73 73 65 6D 62 6C 65 64 20 77 69 74 be assembled wit
0000D0: 68 20 5A 4D 41 43 0D 0A 0D 0A 20 20 20 3B 69 6E h ZMAC.... ;in
0000E0: 69 74 69 61 6C 69 73 65 20 52 53 58 73 20 62 79 itialise RSXs by
0000F0: 20 43 41 4C 4C 20 26 39 44 30 30 0D 0A 0D 0A 20 CALL &9D00....
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000110: 20 20 41 4F 52 47 20 39 44 30 30 68 0D 0A 0D 0A AORG 9D00h....
000120: 20 20 20 69 6E 69 74 69 61 6C 69 73 65 3A 20 20 initialise:
000130: 20 20 20 4C 44 20 42 43 2C 72 73 78 74 61 62 0D LD BC,rsxtab.
000140: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000150: 20 20 20 20 4C 44 20 48 4C 2C 77 72 6B 73 70 0D LD HL,wrksp.
000160: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000170: 20 20 20 20 4A 50 20 30 42 43 44 31 68 0D 0A 20 JP 0BCD1h..
000180: 20 20 72 73 78 74 61 62 3A 20 20 20 20 20 20 20 rsxtab:
000190: 20 20 44 45 46 57 20 6E 61 6D 65 73 0D 0A 20 20 DEFW names..
0001A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001B0: 20 4A 50 20 73 65 6E 64 0D 0A 20 20 20 20 20 20 JP send..
0001C0: 20 20 20 20 20 20 20 20 20 20 20 20 20 4A 50 20 JP
0001D0: 63 68 6F 75 74 0D 0A 20 20 20 6E 61 6D 65 73 3A chout.. names:
0001E0: 20 20 20 20 20 20 20 20 20 20 44 45 46 42 20 22 DEFB "
0001F0: 53 45 4E 22 2C 22 44 22 2B 31 32 38 0D 0A 20 20 SEN","D"+128..
Size : 512 (Real : 512)
000000: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000010: 20 20 20 20 20 4C 44 20 41 2C 28 49 58 2B 30 29 LD A,(IX+0)
000020: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
000030: 20 20 20 20 20 50 55 53 48 20 42 43 0D 0A 20 20 PUSH BC..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 43 41 4C 4C 20 6A 6D 70 6D 69 64 69 73 65 6E CALL jmpmidisen
000060: 64 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 d..
000070: 20 20 20 20 20 20 50 4F 50 20 42 43 0D 0A 20 20 POP BC..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000090: 20 44 4A 4E 5A 20 73 65 6E 64 6C 6F 6F 70 0D 0A DJNZ sendloop..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000B0: 20 20 20 52 45 54 0D 0A 1A 38 0D 0A 20 20 20 50 RET...8.. P
0000C0: 52 4F 47 52 41 4D 4D 45 52 53 27 20 50 41 54 43 ROGRAMMERS' PATC
0000D0: 48 20 31 31 0D 0A 20 20 20 42 79 20 4D 61 74 74 H 11.. By Matt
0000E0: 68 65 77 20 50 68 69 6C 6C 69 70 73 0D 0A 0D 0A hew Phillips....
0000F0: 20 20 20 43 6F 6E 74 69 6E 75 69 6E 67 20 6F 75 Continuing ou
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 4C 44 20 LD
000110: 48 4C 2C 44 48 43 50 62 6C 6F 63 6B 73 0D 0A 20 HL,DHCPblocks..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 4A 52 20 63 6F 70 79 62 6C 6F 63 6B 73 0D JR copyblocks.
000140: 0A 0D 0A 20 20 20 73 65 6E 64 3A 20 20 20 20 20 ... send:
000150: 20 20 20 20 20 20 4C 44 20 43 2C 41 0D 0A 20 20 LD C,A..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 52 4C 43 20 43 0D 0A 20 20 20 20 20 20 20 20 RLC C..
000180: 20 20 20 20 20 20 20 20 20 20 20 4C 44 20 42 2C LD B,
000190: 30 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 0..
0001A0: 20 20 20 20 20 20 41 44 44 20 49 58 2C 42 43 0D ADD IX,BC.
0001B0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001C0: 20 20 20 20 4C 44 20 42 2C 41 0D 0A 20 20 20 73 LD B,A.. s
0001D0: 65 6E 64 6C 6F 6F 70 3A 20 20 20 20 20 20 20 44 endloop: D
0001E0: 45 43 20 49 58 0D 0A 20 20 20 20 20 20 20 20 20 EC IX..
0001F0: 20 20 20 20 20 20 20 20 20 20 44 45 43 20 49 58 DEC IX
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000010: 20 44 45 46 42 20 22 43 48 4F 55 22 2C 22 54 22 DEFB "CHOU","T"
000020: 2B 31 32 38 0D 0A 20 20 20 20 20 20 20 20 20 20 +128..
000030: 20 20 20 20 20 20 20 20 20 44 45 46 42 20 30 0D DEFB 0.
000040: 0A 20 20 20 77 72 6B 73 70 3A 20 20 20 20 20 20 . wrksp:
000050: 20 20 20 20 44 45 46 53 20 34 0D 0A 0D 0A 0D 0A DEFS 4......
000060: 20 20 20 6A 75 6D 70 62 6C 6F 63 6B 73 3A 0D 0A jumpblocks:..
000070: 20 20 20 6A 6D 70 72 65 73 65 74 3A 20 20 20 20 jmpreset:
000080: 20 20 20 4A 50 20 72 61 6D 72 65 73 65 74 0D 0A JP ramreset..
000090: 20 20 20 6A 6D 70 6D 69 64 69 73 65 6E 64 3A 20 jmpmidisend:
0000A0: 20 20 20 4A 50 20 72 61 6D 73 65 6E 64 0D 0A 0D JP ramsend...
0000B0: 0A 20 20 20 52 41 4D 62 6C 6F 63 6B 73 3A 20 20 . RAMblocks:
0000C0: 20 20 20 20 4A 50 20 72 61 6D 72 65 73 65 74 0D JP ramreset.
0000D0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0000E0: 20 20 20 20 4A 50 20 72 61 6D 73 65 6E 64 0D 0A JP ramsend..
0000F0: 20 20 20 45 4D 52 62 6C 6F 63 6B 73 3A 20 20 20 EMRblocks:
000100: 20 20 20 4A 50 20 65 6D 72 72 65 73 65 74 0D 0A JP emrreset..
000110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000120: 20 20 20 4A 50 20 65 6D 72 73 65 6E 64 0D 0A 20 JP emrsend..
000130: 20 20 44 48 43 50 62 6C 6F 63 6B 73 3A 20 20 20 DHCPblocks:
000140: 20 20 4A 50 20 64 68 63 70 72 65 73 65 74 0D 0A JP dhcpreset..
000150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000160: 20 20 20 4A 50 20 64 68 63 70 73 65 6E 64 0D 0A JP dhcpsend..
000170: 0D 0A 20 20 20 72 61 6D 72 65 73 65 74 3A 20 20 .. ramreset:
000180: 20 20 20 20 20 4C 44 20 42 43 2C 30 46 38 45 43 LD BC,0F8EC
000190: 68 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 h..
0001A0: 20 20 20 20 20 20 4C 44 20 41 2C 33 0D 0A 20 20 LD A,3..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 4F 55 54 20 28 43 29 2C 41 0D 0A 20 20 20 20 OUT (C),A..
0001D0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4C L
0001E0: 44 20 41 2C 31 35 68 0D 0A 20 20 20 20 20 20 20 D A,15h..
0001F0: 20 20 20 20 20 20 20 20 20 20 20 20 4F 55 54 20 OUT
Size : 512 (Real : 512)
000000: 73 20 20 77 69 6C 6C 20 20 6E 6F 74 20 20 62 65 s will not be
000010: 20 20 61 6C 74 65 72 65 64 2E 20 20 20 47 69 76 altered. Giv
000020: 69 6E 67 20 20 73 6D 61 6C 6C 65 72 20 6F 72 20 ing smaller or
000030: 6C 61 72 67 65 72 0D 0A 20 20 20 6D 6F 64 75 6C larger.. modul
000040: 61 74 69 6F 6E 20 76 61 6C 75 65 73 20 73 6C 69 ation values sli
000050: 67 68 74 6C 79 20 63 68 61 6E 67 65 73 20 74 68 ghtly changes th
000060: 65 20 70 69 74 63 68 20 20 6F 66 20 74 68 65 20 e pitch of the
000070: 6E 6F 74 65 73 20 70 6C 61 79 69 6E 67 20 6F 6E notes playing on
000080: 20 74 68 61 74 0D 0A 20 20 20 63 68 61 6E 6E 65 that.. channe
000090: 6C 2E 20 20 59 6F 75 20 77 6F 75 6C 64 20 68 61 l. You would ha
0000A0: 76 65 20 74 6F 20 73 65 6E 64 20 20 71 75 69 74 ve to send quit
0000B0: 65 20 20 61 20 20 6C 6F 74 20 20 6F 66 20 70 69 e a lot of pi
0000C0: 74 63 68 20 62 65 6E 64 20 6D 65 73 73 61 67 65 tch bend message
0000D0: 73 20 74 6F 0D 0A 20 20 20 61 63 68 69 65 76 65 s to.. achieve
0000E0: 20 61 6E 79 20 75 73 65 66 75 6C 20 65 66 66 65 any useful effe
0000F0: 63 74 20 6C 69 6B 65 20 76 69 62 72 61 74 6F 2E ct like vibrato.
000100: 0D 0A 0D 0A 20 20 20 48 45 52 45 20 57 45 20 41 .... HERE WE A
000110: 52 45 20 41 47 41 49 4E 0D 0A 20 20 20 59 65 73 RE AGAIN.. Yes
000120: 2C 20 77 65 27 72 65 20 64 72 61 77 69 6E 67 20 , we're drawing
000130: 74 6F 20 74 68 65 20 65 6E 64 20 6F 66 20 61 6E to the end of an
000140: 6F 74 68 65 72 20 61 72 74 69 63 6C 65 2E 20 20 other article.
000150: 57 65 20 68 61 76 65 20 6E 6F 74 20 79 65 74 20 We have not yet
000160: 63 6F 76 65 72 65 64 0D 0A 20 20 20 61 6C 6C 20 covered.. all
000170: 74 68 65 20 4D 49 44 49 20 73 74 61 74 75 73 20 the MIDI status
000180: 63 6F 64 65 73 2C 20 62 75 74 20 74 68 65 20 6D codes, but the m
000190: 6F 73 74 20 69 6D 70 6F 72 74 61 6E 74 20 6F 6E ost important on
0001A0: 65 73 20 61 72 65 20 6F 75 74 20 6F 66 20 74 68 es are out of th
0001B0: 65 20 77 61 79 2E 0D 0A 20 20 20 49 66 20 79 6F e way... If yo
0001C0: 75 20 61 72 65 20 72 65 61 6C 6C 79 20 20 67 65 u are really ge
0001D0: 74 74 69 6E 67 20 20 69 6E 74 6F 20 20 74 68 69 tting into thi
0001E0: 73 2C 20 20 77 68 79 20 20 6E 6F 74 20 20 70 6F s, why not po
0001F0: 70 20 20 64 6F 77 6E 20 74 6F 20 79 6F 75 72 20 p down to your
Size : 512 (Real : 512)
000000: 28 43 29 2C 41 0D 0A 20 20 20 20 20 20 20 20 20 (C),A..
000010: 20 20 20 20 20 20 20 20 20 20 52 45 54 0D 0A 0D RET...
000020: 0A 20 20 20 65 6D 72 72 65 73 65 74 3A 20 20 20 . emrreset:
000030: 20 20 20 20 4C 44 20 42 43 2C 30 46 38 46 32 68 LD BC,0F8F2h
000040: 0D 0A 20 20 20 65 68 72 63 6F 6D 6D 6F 6E 3A 20 .. ehrcommon:
000050: 20 20 20 20 20 4C 44 20 41 2C 33 0D 0A 20 20 20 LD A,3..
000060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000070: 4F 55 54 20 28 43 29 2C 41 0D 0A 20 20 20 20 20 OUT (C),A..
000080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4C 44 LD
000090: 20 41 2C 31 36 68 0D 0A 20 20 20 20 20 20 20 20 A,16h..
0000A0: 20 20 20 20 20 20 20 20 20 20 20 4F 55 54 20 28 OUT (
0000B0: 43 29 2C 41 0D 0A 20 20 20 20 20 20 20 20 20 20 C),A..
0000C0: 20 20 20 20 20 20 20 20 20 52 45 54 0D 0A 0D 0A RET....
0000D0: 20 20 20 64 68 63 70 72 65 73 65 74 3A 20 20 20 dhcpreset:
0000E0: 20 20 20 4C 44 20 42 43 2C 30 46 38 45 30 68 0D LD BC,0F8E0h.
0000F0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000100: 20 20 20 20 4A 52 20 65 68 72 63 6F 6D 6D 6F 6E JR ehrcommon
000110: 0D 0A 0D 0A 20 20 20 72 61 6D 73 65 6E 64 3A 20 .... ramsend:
000120: 20 20 20 20 20 20 20 4C 44 20 42 43 2C 30 46 38 LD BC,0F8
000130: 45 45 68 0D 0A 20 20 20 20 20 20 20 20 20 20 20 EEh..
000140: 20 20 20 20 20 20 20 20 50 55 53 48 20 41 46 0D PUSH AF.
000150: 0A 20 20 20 72 61 6D 73 6C 70 3A 20 20 20 20 20 . ramslp:
000160: 20 20 20 20 49 4E 20 41 2C 28 43 29 0D 0A 20 20 IN A,(C)..
000170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000180: 20 41 4E 44 20 32 0D 0A 20 20 20 20 20 20 20 20 AND 2..
000190: 20 20 20 20 20 20 20 20 20 20 20 4A 52 20 5A 2C JR Z,
0001A0: 72 61 6D 73 6C 70 0D 0A 20 20 20 20 20 20 20 20 ramslp..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 50 4F 50 20 41 POP A
0001C0: 46 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 F..
0001D0: 20 20 20 20 20 20 44 45 43 20 43 0D 0A 20 20 20 DEC C..
0001E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001F0: 4F 55 54 20 28 43 29 2C 41 0D 0A 20 20 20 20 20 OUT (C),A..
Size : 512 (Real : 512)
000000: 6C 6F 63 61 6C 0D 0A 20 20 20 6C 69 62 72 61 72 local.. librar
000010: 79 20 61 6E 64 20 73 65 65 20 77 68 61 74 20 62 y and see what b
000020: 6F 6F 6B 73 20 74 68 65 79 20 20 68 61 76 65 20 ooks they have
000030: 20 6F 6E 20 20 4D 49 44 49 3F 20 20 20 49 20 77 on MIDI? I w
000040: 69 6C 6C 20 74 72 79 20 74 6F 20 63 6F 6D 70 69 ill try to compi
000050: 6C 65 20 61 0D 0A 20 20 20 6C 69 73 74 20 6F 66 le a.. list of
000060: 20 67 6F 6F 64 20 6F 6E 65 73 20 74 6F 20 6C 6F good ones to lo
000070: 6F 6B 20 6F 75 74 20 66 6F 72 20 74 6F 20 62 65 ok out for to be
000080: 20 70 72 69 6E 74 65 64 20 77 69 74 68 20 6E 65 printed with ne
000090: 78 74 20 6D 6F 6E 74 68 27 73 20 61 72 74 69 63 xt month's artic
0000A0: 6C 65 2E 0D 0A 0D 0A 0D 0A 0D 0A 20 4C 49 53 54 le......... LIST
0000B0: 49 4E 47 20 31 0D 0A 0D 0A 20 31 30 20 53 59 4D ING 1.... 10 SYM
0000C0: 42 4F 4C 20 41 46 54 45 52 20 32 35 36 3A 4D 45 BOL AFTER 256:ME
0000D0: 4D 4F 52 59 20 26 39 43 46 46 0D 0A 20 32 30 20 MORY &9CFF.. 20
0000E0: 52 45 53 54 4F 52 45 20 31 30 30 3A 65 72 3D 30 RESTORE 100:er=0
0000F0: 3A 61 64 64 72 3D 48 49 4D 45 4D 2B 31 0D 0A 20 :addr=HIMEM+1..
000100: 33 30 20 46 4F 52 20 69 25 3D 30 20 54 4F 20 31 30 FOR i%=0 TO 1
000110: 34 3A 52 45 41 44 20 63 6F 64 24 3A 63 68 6B 25 4:READ cod$:chk%
000120: 3D 30 0D 0A 20 34 30 20 46 4F 52 20 6A 25 3D 30 =0.. 40 FOR j%=0
000130: 20 54 4F 20 31 31 3A 61 25 3D 56 41 4C 28 22 26 TO 11:a%=VAL("&
000140: 22 2B 4D 49 44 24 28 63 6F 64 24 2C 6A 25 2A 32 "+MID$(cod$,j%*2
000150: 2B 31 2C 32 29 29 0D 0A 20 35 30 20 50 4F 4B 45 +1,2)).. 50 POKE
000160: 20 61 64 64 72 2C 61 25 3A 63 68 6B 25 3D 63 68 addr,a%:chk%=ch
000170: 6B 25 2B 61 25 3A 61 64 64 72 3D 61 64 64 72 2B k%+a%:addr=addr+
000180: 31 3A 4E 45 58 54 0D 0A 20 36 30 20 49 46 20 63 1:NEXT.. 60 IF c
000190: 68 6B 25 3C 3E 56 41 4C 28 22 26 22 2B 52 49 47 hk%<>VAL("&"+RIG
0001A0: 48 54 24 28 63 6F 64 24 2C 33 29 29 20 54 48 45 HT$(cod$,3)) THE
0001B0: 4E 20 50 52 49 4E 54 22 45 72 72 6F 72 20 69 6E N PRINT"Error in
0001C0: 20 6C 69 6E 65 22 3B 69 25 2A 31 30 2B 31 30 30 line";i%*10+100
0001D0: 3A 65 72 3D 2D 31 0D 0A 20 37 30 20 4E 45 58 54 :er=-1.. 70 NEXT
0001E0: 3A 49 46 20 65 72 20 54 48 45 4E 20 45 4E 44 0D :IF er THEN END.
0001F0: 0A 20 38 30 20 43 41 4C 4C 20 48 49 4D 45 4D 2B . 80 CALL HIMEM+
Size : 512 (Real : 512)
000000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 45 RE
000010: 54 0D 0A 0D 0A 20 20 20 65 6D 72 73 65 6E 64 3A T.... emrsend:
000020: 20 20 20 20 20 20 20 20 4C 44 20 42 43 2C 30 46 LD BC,0F
000030: 38 46 32 68 0D 0A 20 20 20 65 68 73 63 6F 6D 6D 8F2h.. ehscomm
000040: 6F 6E 3A 20 20 20 20 20 20 50 55 53 48 20 41 46 on: PUSH AF
000050: 0D 0A 20 20 20 65 6D 72 73 6C 70 3A 20 20 20 20 .. emrslp:
000060: 20 20 20 20 20 49 4E 20 41 2C 28 43 29 0D 0A 20 IN A,(C)..
000070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000080: 20 20 41 4E 44 20 32 0D 0A 20 20 20 20 20 20 20 AND 2..
000090: 20 20 20 20 20 20 20 20 20 20 20 20 4A 52 20 5A JR Z
0000A0: 2C 65 6D 72 73 6C 70 0D 0A 20 20 20 20 20 20 20 ,emrslp..
0000B0: 20 20 20 20 20 20 20 20 20 20 20 20 50 4F 50 20 POP
0000C0: 41 46 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 AF..
0000D0: 20 20 20 20 20 20 20 49 4E 43 20 43 0D 0A 20 20 INC C..
0000E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0000F0: 20 4F 55 54 20 28 43 29 2C 41 0D 0A 20 20 20 20 OUT (C),A..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 R
000110: 45 54 0D 0A 0D 0A 20 20 20 64 68 63 70 73 65 6E ET.... dhcpsen
000120: 64 3A 20 20 20 20 20 20 20 4C 44 20 42 43 2C 30 d: LD BC,0
000130: 46 38 45 30 68 0D 0A 20 20 20 20 20 20 20 20 20 F8E0h..
000140: 20 20 20 20 20 20 20 20 20 20 4A 52 20 65 68 73 JR ehs
000150: 63 6F 6D 6D 6F 6E 0D 0A 0D 0A 20 20 20 63 68 6F common.... cho
000160: 75 74 3A 20 20 20 20 20 20 20 20 20 20 43 50 20 ut: CP
000170: 31 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 1..
000180: 20 20 20 20 20 20 52 45 54 20 4E 5A 0D 0A 20 20 RET NZ..
000190: 20 63 68 6F 75 74 6A 70 32 3A 20 20 20 20 20 20 choutjp2:
0001A0: 20 4C 44 20 41 2C 28 49 58 2B 30 29 0D 0A 20 20 LD A,(IX+0)..
0001B0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0001C0: 20 4C 44 20 44 45 2C 6A 75 6D 70 62 6C 6F 63 6B LD DE,jumpblock
0001D0: 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 s..
0001E0: 20 20 20 20 20 20 4C 44 20 42 43 2C 45 4D 52 62 LD BC,EMRb
0001F0: 6C 6F 63 6B 73 2D 52 41 4D 62 6C 6F 63 6B 73 0D locks-RAMblocks.
Size : 512 (Real : 512)
000000: 31 0D 0A 20 39 30 20 50 52 49 4E 54 22 7C 43 48 1.. 90 PRINT"|CH
000010: 4F 55 54 20 61 6E 64 20 7C 53 45 4E 44 20 69 6E OUT and |SEND in
000020: 73 74 61 6C 6C 65 64 2E 22 0D 0A 20 31 30 30 20 stalled.".. 100
000030: 44 41 54 41 20 30 31 30 39 39 44 32 31 31 42 39 DATA 01099D211B9
000040: 44 43 33 44 31 42 43 31 31 39 44 43 33 35 34 31 DC3D1BC119DC3541
000050: 0D 0A 20 31 31 30 20 44 41 54 41 20 39 38 39 44 .. 110 DATA 989D
000060: 43 33 37 37 39 44 35 33 34 35 34 45 43 34 34 33 C3779D53454EC443
000070: 34 38 34 46 35 39 30 0D 0A 20 31 32 30 20 44 41 484F590.. 120 DA
000080: 54 41 20 35 35 44 34 30 30 30 30 30 30 30 30 30 TA 55D4000000000
000090: 30 43 33 33 37 39 44 43 33 35 34 33 44 37 0D 0A 0C3379DC3543D7..
0000A0: 20 31 33 30 20 44 41 54 41 20 39 44 43 33 33 37 130 DATA 9DC337
0000B0: 39 44 43 33 35 34 39 44 43 33 34 33 39 44 43 33 9DC3549DC3439DC3
0000C0: 36 33 36 42 31 0D 0A 20 31 34 30 20 44 41 54 41 636B1.. 140 DATA
0000D0: 20 39 44 43 33 34 46 39 44 43 33 37 32 39 44 30 9DC34F9DC3729D0
0000E0: 31 45 43 46 38 33 45 30 33 36 34 34 0D 0A 20 31 1ECF83E03644.. 1
0000F0: 35 30 20 44 41 54 41 20 45 44 37 39 33 45 31 35 50 DATA ED793E15
000100: 45 44 37 39 43 39 30 31 46 32 46 38 33 45 30 33 ED79C901F2F83E03
000110: 36 31 34 0D 0A 20 31 36 30 20 44 41 54 41 20 45 614.. 160 DATA E
000120: 44 37 39 33 45 31 36 45 44 37 39 43 39 30 31 45 D793E16ED79C901E
000130: 30 46 38 31 38 46 32 36 43 43 0D 0A 20 31 37 30 0F818F26CC.. 170
000140: 20 44 41 54 41 20 30 31 45 45 46 38 46 35 45 44 DATA 01EEF8F5ED
000150: 37 38 45 36 30 32 32 38 46 41 46 31 30 44 37 34 78E60228FAF10D74
000160: 39 0D 0A 20 31 38 30 20 44 41 54 41 20 45 44 37 9.. 180 DATA ED7
000170: 39 43 39 30 31 46 32 46 38 46 35 45 44 37 38 45 9C901F2F8F5ED78E
000180: 36 30 32 32 38 37 38 34 0D 0A 20 31 39 30 20 44 60228784.. 190 D
000190: 41 54 41 20 46 41 46 31 30 43 45 44 37 39 43 39 ATA FAF10CED79C9
0001A0: 30 31 45 30 46 38 31 38 45 46 46 45 38 30 34 0D 01E0F818EFFE804.
0001B0: 0A 20 32 30 30 20 44 41 54 41 20 30 31 43 30 44 . 200 DATA 01C0D
0001C0: 44 37 45 30 30 31 31 31 46 39 44 30 31 30 36 30 D7E00111F9D01060
0001D0: 30 32 31 33 31 31 0D 0A 20 32 31 30 20 44 41 54 021311.. 210 DAT
0001E0: 41 20 32 35 39 44 42 37 32 30 30 34 45 44 42 30 A 259DB72004EDB0
0001F0: 31 38 39 32 33 44 32 31 32 42 34 36 44 0D 0A 20 18923D212B46D..
Size : 512 (Real : 512)
000000: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
000010: 20 20 20 20 4C 44 20 48 4C 2C 52 41 4D 62 6C 6F LD HL,RAMblo
000020: 63 6B 73 0D 0A 20 20 20 20 20 20 20 20 20 20 20 cks..
000030: 20 20 20 20 20 20 20 20 4F 52 20 41 0D 0A 20 20 OR A..
000040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000050: 20 4A 52 20 4E 5A 2C 6E 6F 74 52 41 4D 0D 0A 20 JR NZ,notRAM..
000060: 20 20 63 6F 70 79 62 6C 6F 63 6B 73 3A 20 20 20 copyblocks:
000070: 20 20 4C 44 49 52 0D 0A 20 20 20 20 20 20 20 20 LDIR..
000080: 20 20 20 20 20 20 20 20 20 20 20 4A 52 20 6A 6D JR jm
000090: 70 72 65 73 65 74 0D 0A 20 20 20 6E 6F 74 52 41 preset.. notRA
0000A0: 4D 3A 20 20 20 20 20 20 20 20 20 44 45 43 20 41 M: DEC A
0000B0: 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..
0000C0: 20 20 20 20 20 4C 44 20 48 4C 2C 45 4D 52 62 6C LD HL,EMRbl
0000D0: 6F 63 6B 73 0D 0A 20 20 20 20 20 20 20 20 20 20 ocks..
0000E0: 20 20 20 20 20 20 20 20 20 4A 52 20 5A 2C 63 6F JR Z,co
0000F0: 70 79 62 6C 6F 63 6B 73 0D 0A 20 20 20 20 20 20 pyblocks..
000100: 20 20 20 20 20 20 20 20 20 20 20 20 20 4C 44 20 LD
000110: 48 4C 2C 44 48 43 50 62 6C 6F 63 6B 73 0D 0A 20 HL,DHCPblocks..
000120: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000130: 20 20 4A 52 20 63 6F 70 79 62 6C 6F 63 6B 73 0D JR copyblocks.
000140: 0A 0D 0A 20 20 20 73 65 6E 64 3A 20 20 20 20 20 ... send:
000150: 20 20 20 20 20 20 4C 44 20 43 2C 41 0D 0A 20 20 LD C,A..
000160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
000170: 20 52 4C 43 20 43 0D 0A 20 20 20 20 20 20 20 20 RLC C..
000180: 20 20 20 20 20 20 20 20 20 20 20 4C 44 20 42 2C LD B,
000190: 30 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 0..
0001A0: 20 20 20 20 20 20 41 44 44 20 49 58 2C 42 43 0D ADD IX,BC.
0001B0: 0A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0001C0: 20 20 20 20 4C 44 20 42 2C 41 0D 0A 20 20 20 73 LD B,A.. s
0001D0: 65 6E 64 6C 6F 6F 70 3A 20 20 20 20 20 20 20 44 endloop: D
0001E0: 45 43 20 49 58 0D 0A 20 20 20 20 20 20 20 20 20 EC IX..
0001F0: 20 20 20 20 20 20 20 20 20 20 44 45 43 20 49 58 DEC IX
Size : 512 (Real : 512)
000000: 00 53 45 4E 44 20 20 20 20 42 41 53 00 00 00 00 .SEND BAS....
000010: 00 00 00 00 00 70 01 00 4C 03 00 00 00 00 00 00 .....p..L.......
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: 4C 03 00 8F 03 30 36 34 44 34 00 22 00 E6 00 8C L....064D4."....
000050: 20 30 30 44 44 30 39 34 37 44 44 32 42 44 44 32 00DD0947DD2BDD2
000060: 42 44 44 37 45 30 30 43 35 35 35 44 00 22 00 F0 BDD7E00C555D."..
000070: 00 8C 20 43 44 32 32 39 44 43 31 31 30 46 32 43 .. CD229DC110F2C
000080: 12 00 0A 00 CF 20 80 20 1A 00 01 01 AA 20 1C FF ..... . ..... ..
000090: 9C 00 1F 00 14 00 C7 20 1E 64 00 01 0D 00 00 65 ....... .d.....e
0000A0: F2 EF 0E 01 0D 00 00 61 64 64 F2 EF FF 42 F4 0F .......add...B..
0000B0: 00 24 00 1E 00 9E 20 02 00 00 E9 EF 0E 20 EC 20 .$.... ...... .
0000C0: 19 0E 01 C3 20 03 00 00 63 6F E4 01 02 00 00 63 .... ...co.....c
0000D0: 68 EB EF 0E 00 34 00 28 00 9E 20 02 00 00 EA EF h....4.(.. .....
0000E0: 0E 20 EC 20 19 0B 01 02 00 00 E1 EF FF 1D 28 22 . . ..........("
0000F0: 26 22 F4 AC 28 03 00 00 63 6F E4 2C 02 00 00 EA &"..(...co.,....
000100: F6 10 F4 0F 2C 10 29 29 00 3A 00 32 00 BE 20 0D ....,.)).:.2.. .
000110: 00 00 61 64 64 F2 2C 02 00 00 E1 01 02 00 00 63 ..add.,........c
000120: 68 EB EF 02 00 00 63 68 EB F4 02 00 00 E1 01 0D h.....ch........
000130: 00 00 61 64 64 F2 EF 0D 00 00 61 64 64 F2 F4 0F ..add.....add...
000140: 01 B0 00 49 00 3C 00 A1 20 02 00 00 63 68 EB F2 ...I.<.. ...ch..
000150: FF 1D 28 22 26 22 F4 FF 79 28 03 00 00 63 6F E4 ..("&"..y(...co.
000160: 2C 11 29 29 20 EB 20 BF 22 45 72 72 6F 72 20 69 ,.)) . ."Error i
000170: 6E 20 6C 69 6E 65 22 3B 02 00 00 E9 F6 19 0A F4 n line";........
000180: 19 64 01 0D 00 00 65 F2 EF F5 0F 00 12 00 46 00 .d....e.......F.
000190: B0 01 A1 20 0D 00 00 65 F2 20 EB 20 98 00 0B 00 ... ...e. . ....
0001A0: 50 00 83 20 FF 42 F4 0F 00 23 00 5A 00 BF 22 7C P.. .B...#.Z.."|
0001B0: 43 48 4F 55 54 20 61 6E 64 20 7C 53 45 4E 44 20 CHOUT and |SEND
0001C0: 69 6E 73 74 61 6C 6C 65 64 2E 22 00 22 00 64 00 installed.".".d.
0001D0: 8C 20 30 31 30 39 39 44 32 31 31 42 39 44 43 33 . 01099D211B9DC3
0001E0: 44 31 42 43 31 31 39 44 43 33 35 34 31 00 22 00 D1BC119DC3541.".
0001F0: 6E 00 8C 20 39 38 39 44 43 33 37 37 39 44 35 33 n.. 989DC3779D53
Size : 512 (Real : 512)
000000: 58 2B 30 29 0D 0A 09 09 4C 44 20 44 45 2C 6A 75 X+0)....LD DE,ju
000010: 6D 70 62 6C 6F 63 6B 73 0D 0A 09 09 4C 44 20 42 mpblocks....LD B
000020: 43 2C 45 4D 52 62 6C 6F 63 6B 73 2D 52 41 4D 62 C,EMRblocks-RAMb
000030: 6C 6F 63 6B 73 0D 0A 09 09 4C 44 20 48 4C 2C 52 locks....LD HL,R
000040: 41 4D 62 6C 6F 63 6B 73 0D 0A 09 09 4F 52 20 41 AMblocks....OR A
000050: 0D 0A 09 09 4A 52 20 4E 5A 2C 6E 6F 74 52 41 4D ....JR NZ,notRAM
000060: 0D 0A 63 6F 70 79 62 6C 6F 63 6B 73 3A 09 4C 44 ..copyblocks:.LD
000070: 49 52 0D 0A 09 09 4A 52 20 6A 6D 70 72 65 73 65 IR....JR jmprese
000080: 74 0D 0A 6E 6F 74 52 41 4D 3A 09 09 44 45 43 20 t..notRAM:..DEC
000090: 41 0D 0A 09 09 4C 44 20 48 4C 2C 45 4D 52 62 6C A....LD HL,EMRbl
0000A0: 6F 63 6B 73 0D 0A 09 09 4A 52 20 5A 2C 63 6F 70 ocks....JR Z,cop
0000B0: 79 62 6C 6F 63 6B 73 0D 0A 09 09 4C 44 20 48 4C yblocks....LD HL
0000C0: 2C 44 48 43 50 62 6C 6F 63 6B 73 0D 0A 09 09 4A ,DHCPblocks....J
0000D0: 52 20 63 6F 70 79 62 6C 6F 63 6B 73 0D 0A 0D 0A R copyblocks....
0000E0: 73 65 6E 64 3A 09 09 4C 44 20 43 2C 41 0D 0A 09 send:..LD C,A...
0000F0: 09 52 4C 43 20 43 0D 0A 09 09 4C 44 20 42 2C 30 .RLC C....LD B,0
000100: 0D 0A 09 09 41 44 44 20 49 58 2C 42 43 0D 0A 09 ....ADD IX,BC...
000110: 09 4C 44 20 42 2C 41 0D 0A 73 65 6E 64 6C 6F 6F .LD B,A..sendloo
000120: 70 3A 09 44 45 43 20 49 58 0D 0A 09 09 44 45 43 p:.DEC IX....DEC
000130: 20 49 58 0D 0A 09 09 4C 44 20 41 2C 28 49 58 2B IX....LD A,(IX+
000140: 30 29 0D 0A 09 09 50 55 53 48 20 42 43 0D 0A 09 0)....PUSH BC...
000150: 09 43 41 4C 4C 20 6A 6D 70 6D 69 64 69 73 65 6E .CALL jmpmidisen
000160: 64 0D 0A 09 09 50 4F 50 20 42 43 0D 0A 09 09 44 d....POP BC....D
000170: 4A 4E 5A 20 73 65 6E 64 6C 6F 6F 70 0D 0A 09 09 JNZ sendloop....
000180: 52 45 54 0D 0A 1A 20 20 20 20 24 24 24 FF 00 FF RET... $$$...
000190: 30 30 2C 20 31 31 2F 35 2F 31 39 39 37 0D 0A 3B 00, 11/5/1997..;
0001A0: 64 65 73 69 67 6E 65 64 20 74 6F 20 62 65 20 61 designed to be a
0001B0: 73 73 65 6D 62 6C 65 64 20 77 69 74 68 20 5A 4D ssembled with ZM
0001C0: 41 43 0D 0A 0D 0A 3B 69 6E 69 74 69 61 6C 69 73 AC....;initialis
0001D0: 65 20 52 53 58 73 20 62 79 20 43 41 4C 4C 20 26 e RSXs by CALL &
0001E0: 39 44 30 30 0D 0A 0D 0A 09 09 41 4F 52 47 20 39 9D00......AORG 9
0001F0: 44 30 30 68 0D 0A 0D 0A 69 6E 69 74 69 61 6C 69 D00h....initiali
Size : 512 (Real : 512)
000000: 34 35 34 45 43 34 34 33 34 38 34 46 35 39 30 00 454EC443484F590.
000010: 22 00 78 00 8C 20 35 35 44 34 30 30 30 30 30 30 ".x.. 55D4000000
000020: 30 30 30 30 43 33 33 37 39 44 43 33 35 34 33 44 0000C3379DC3543D
000030: 37 00 22 00 82 00 8C 20 39 44 43 33 33 37 39 44 7.".... 9DC3379D
000040: 43 33 35 34 39 44 43 33 34 33 39 44 43 33 36 33 C3549DC3439DC363
000050: 36 42 31 00 22 00 8C 00 8C 20 39 44 43 33 34 46 6B1.".... 9DC34F
000060: 39 44 43 33 37 32 39 44 30 31 45 43 46 38 33 45 9DC3729D01ECF83E
000070: 30 33 36 34 34 00 22 00 96 00 8C 20 45 44 37 39 03644.".... ED79
000080: 33 45 31 35 45 44 37 39 43 39 30 31 46 32 46 38 3E15ED79C901F2F8
000090: 33 45 30 33 36 31 34 00 22 00 A0 00 8C 20 45 44 3E03614.".... ED
0000A0: 37 39 33 45 31 36 45 44 37 39 43 39 30 31 45 30 793E16ED79C901E0
0000B0: 46 38 31 38 46 32 36 43 43 00 22 00 AA 00 8C 20 F818F26CC."....
0000C0: 30 31 45 45 46 38 46 35 45 44 37 38 45 36 30 32 01EEF8F5ED78E602
0000D0: 32 38 46 41 46 31 30 44 37 34 39 00 22 00 B4 00 28FAF10D749."...
0000E0: 8C 20 45 44 37 39 43 39 30 31 46 32 46 38 46 35 . ED79C901F2F8F5
0000F0: 45 44 37 38 45 36 30 32 32 38 37 38 34 00 22 00 ED78E60228784.".
000100: BE 00 8C 20 46 41 46 31 30 43 45 44 37 39 43 39 ... FAF10CED79C9
000110: 30 31 45 30 46 38 31 38 45 46 46 45 38 30 34 00 01E0F818EFFE804.
000120: 22 00 C8 00 8C 20 30 31 43 30 44 44 37 45 30 30 ".... 01C0DD7E00
000130: 31 31 31 46 39 44 30 31 30 36 30 30 32 31 33 31 111F9D0106002131
000140: 31 00 22 00 D2 00 8C 20 32 35 39 44 42 37 32 30 1.".... 259DB720
000150: 30 34 45 44 42 30 31 38 39 32 33 44 32 31 32 42 04EDB018923D212B
000160: 34 36 44 00 22 00 DC 00 8C 20 39 44 32 38 46 36 46D.".... 9D28F6
000170: 32 31 33 31 39 44 31 38 46 31 34 46 43 42 30 31 21319D18F14FCB01
000180: 30 36 34 44 34 00 22 00 E6 00 8C 20 30 30 44 44 064D4.".... 00DD
000190: 30 39 34 37 44 44 32 42 44 44 32 42 44 44 37 45 0947DD2BDD2BDD7E
0001A0: 30 30 43 35 35 35 44 00 22 00 F0 00 8C 20 43 44 00C555D.".... CD
0001B0: 32 32 39 44 43 31 31 30 46 32 43 39 30 30 30 30 229DC110F2C90000
0001C0: 30 30 30 30 30 30 34 31 38 00 00 00 1A 3D 30 20 000000418....=0
0001D0: 54 4F 20 31 34 3A 52 45 41 44 20 63 6F 64 24 3A TO 14:READ cod$:
0001E0: 63 68 6B 25 3D 30 0D 0A 34 30 20 46 4F 52 20 6A chk%=0..40 FOR j
0001F0: 25 3D 30 20 54 4F 20 31 31 3A 61 25 3D 56 41 4C %=0 TO 11:a%=VAL
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: 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: 00 4D 49 44 49 31 20 20 20 42 41 53 00 00 00 00 .MIDI1 BAS....
000010: 00 00 00 00 00 70 01 00 2D 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: 2D 01 00 57 03 75 F3 29 20 FA 20 10 29 EF 0E 01 -..W.u.) . .)...
000050: D5 00 18 00 6E 00 B9 20 0D 00 00 64 61 74 61 77 ....n.. ...dataw
000060: 72 69 74 E5 2C 0D 00 00 E4 00 06 00 78 00 C9 00 rit.,.......x...
000070: 00 00 1A 0A 32 30 20 4F 55 54 20 63 6F 6E 74 72 ....20 OUT contr
000080: 32 00 0A 00 0D 00 00 73 74 61 74 75 F3 EF 1C EE 2......statu....
000090: F8 01 0D 00 00 63 6F 6E 74 72 6F EC EF 1C EC F8 .....contro.....
0000A0: 01 0D 00 00 64 61 74 61 77 72 69 74 E5 EF 1C ED ....datawrit....
0000B0: F8 00 13 00 14 00 B9 20 0D 00 00 63 6F 6E 74 72 ....... ...contr
0000C0: 6F EC 2C 11 00 36 00 1E 00 B9 20 0D 00 00 63 6F o.,..6.... ...co
0000D0: 6E 74 72 6F EC 2C 1C 15 00 01 C5 20 63 68 61 6E ntro.,..... chan
0000E0: 67 65 20 74 6F 20 26 31 36 20 66 6F 72 20 45 4D ge to &16 for EM
0000F0: 52 20 61 6E 64 20 44 48 43 50 00 20 00 28 00 9E R and DHCP. .(..
000100: 20 0D 00 00 F8 EF 0E 20 EC 20 10 01 C3 20 0D 00 ...... . ... ..
000110: 00 E4 01 9F 20 1E 64 00 01 B0 00 15 00 32 00 9E .... .d......2..
000120: 20 0D 00 00 F8 EF 0E 20 EC 20 1A 88 13 01 B0 00 ...... . ......
000130: 20 00 3C 00 9E 20 0D 00 00 F8 EF 0E 20 EC 20 10 .<.. ...... . .
000140: 01 C3 20 0D 00 00 E4 01 9F 20 1E 64 00 01 B0 00 .. ...... .d....
000150: 06 00 46 00 98 00 19 00 50 00 8C 20 26 39 30 2C ..F.....P.. &90,
000160: 36 30 2C 36 34 2C 26 38 30 2C 36 30 2C 30 00 1E 60,64,&80,60,0..
000170: 00 64 00 D6 20 28 FF 0B 28 0D 00 00 73 74 61 74 .d.. (..(...stat
000180: 75 F3 29 20 FA 20 10 29 EF 0E 01 D5 00 18 00 6E u.) . .).......n
000190: 00 B9 20 0D 00 00 64 61 74 61 77 72 69 74 E5 2C .. ...datawrit.,
0001A0: 0D 00 00 E4 00 06 00 78 00 C9 00 00 00 1A 0A 32 .......x.......2
0001B0: 30 20 4F 55 54 20 63 6F 6E 74 72 6F 6C 2C 33 0D 0 OUT control,3.
0001C0: 0A 33 30 20 4F 55 54 20 63 6F 6E 74 72 6F 6C 2C .30 OUT control,
0001D0: 26 31 35 3A 52 45 4D 20 63 68 61 6E 67 65 20 74 &15:REM change t
0001E0: 6F 20 26 31 36 20 66 6F 72 20 45 4D 52 20 61 6E o &16 for EMR an
0001F0: 64 20 44 48 43 50 0D 0A 34 30 20 46 4F 52 20 78 d DHCP..40 FOR x
Size : 512 (Real : 512)
000000: 3B 53 65 6E 64 20 76 65 72 73 69 6F 6E 20 32 2E ;Send version 2.
000010: 30 30 2C 20 31 31 2F 35 2F 31 39 39 37 0D 0A 3B 00, 11/5/1997..;
000020: 64 65 73 69 67 6E 65 64 20 74 6F 20 62 65 20 61 designed to be a
000030: 73 73 65 6D 62 6C 65 64 20 77 69 74 68 20 5A 4D ssembled with ZM
000040: 41 43 0D 0A 0D 0A 3B 69 6E 69 74 69 61 6C 69 73 AC....;initialis
000050: 65 20 52 53 58 73 20 62 79 20 43 41 4C 4C 20 26 e RSXs by CALL &
000060: 39 44 30 30 0D 0A 0D 0A 09 09 41 4F 52 47 20 39 9D00......AORG 9
000070: 44 30 30 68 0D 0A 0D 0A 69 6E 69 74 69 61 6C 69 D00h....initiali
000080: 73 65 3A 20 09 4C 44 20 42 43 2C 72 73 78 74 61 se: .LD BC,rsxta
000090: 62 0D 0A 09 09 4C 44 20 48 4C 2C 77 72 6B 73 70 b....LD HL,wrksp
0000A0: 0D 0A 09 09 4A 50 20 30 42 43 44 31 68 0D 0A 72 ....JP 0BCD1h..r
0000B0: 73 78 74 61 62 3A 09 09 44 45 46 57 20 6E 61 6D sxtab:..DEFW nam
0000C0: 65 73 0D 0A 09 09 4A 50 20 73 65 6E 64 0D 0A 09 es....JP send...
0000D0: 09 4A 50 20 63 68 6F 75 74 0D 0A 6E 61 6D 65 73 .JP chout..names
0000E0: 3A 09 09 44 45 46 42 20 22 53 45 4E 22 2C 22 44 :..DEFB "SEN","D
0000F0: 22 2B 31 32 38 0D 0A 09 09 44 45 46 42 20 22 43 "+128....DEFB "C
000100: 48 4F 55 22 2C 22 54 22 2B 31 32 38 0D 0A 09 09 HOU","T"+128....
000110: 44 45 46 42 20 30 0D 0A 77 72 6B 73 70 3A 09 09 DEFB 0..wrksp:..
000120: 44 45 46 53 20 34 0D 0A 0D 0A 0D 0A 6A 75 6D 70 DEFS 4......jump
000130: 62 6C 6F 63 6B 73 3A 0D 0A 6A 6D 70 72 65 73 65 blocks:..jmprese
000140: 74 3A 09 4A 50 20 72 61 6D 72 65 73 65 74 0D 0A t:.JP ramreset..
000150: 6A 6D 70 6D 69 64 69 73 65 6E 64 3A 09 4A 50 20 jmpmidisend:.JP
000160: 72 61 6D 73 65 6E 64 0D 0A 0D 0A 52 41 4D 62 6C ramsend....RAMbl
000170: 6F 63 6B 73 3A 09 4A 50 20 72 61 6D 72 65 73 65 ocks:.JP ramrese
000180: 74 0D 0A 09 09 4A 50 20 72 61 6D 73 65 6E 64 0D t....JP ramsend.
000190: 0A 45 4D 52 62 6C 6F 63 6B 73 3A 09 4A 50 20 65 .EMRblocks:.JP e
0001A0: 6D 72 72 65 73 65 74 0D 0A 09 09 4A 50 20 65 6D mrreset....JP em
0001B0: 72 73 65 6E 64 0D 0A 44 48 43 50 62 6C 6F 63 6B rsend..DHCPblock
0001C0: 73 3A 09 4A 50 20 64 68 63 70 72 65 73 65 74 0D s:.JP dhcpreset.
0001D0: 0A 09 09 4A 50 20 64 68 63 70 73 65 6E 64 0D 0A ...JP dhcpsend..
0001E0: 0D 0A 72 61 6D 72 65 73 65 74 3A 09 4C 44 20 42 ..ramreset:.LD B
0001F0: 43 2C 30 46 38 45 43 68 0D 0A 09 09 4C 44 20 41 C,0F8ECh....LD 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: 2C 33 0D 0A 09 09 4F 55 54 20 28 43 29 2C 41 0D ,3....OUT (C),A.
000010: 0A 09 09 4C 44 20 41 2C 31 35 68 0D 0A 09 09 4F ...LD A,15h....O
000020: 55 54 20 28 43 29 2C 41 0D 0A 09 09 52 45 54 0D UT (C),A....RET.
000030: 0A 0D 0A 65 6D 72 72 65 73 65 74 3A 09 4C 44 20 ...emrreset:.LD
000040: 42 43 2C 30 46 38 46 32 68 0D 0A 65 68 72 63 6F BC,0F8F2h..ehrco
000050: 6D 6D 6F 6E 3A 09 4C 44 20 41 2C 33 0D 0A 09 09 mmon:.LD A,3....
000060: 4F 55 54 20 28 43 29 2C 41 0D 0A 09 09 4C 44 20 OUT (C),A....LD
000070: 41 2C 31 36 68 0D 0A 09 09 4F 55 54 20 28 43 29 A,16h....OUT (C)
000080: 2C 41 0D 0A 09 09 52 45 54 0D 0A 0D 0A 64 68 63 ,A....RET....dhc
000090: 70 72 65 73 65 74 3A 09 4C 44 20 42 43 2C 30 46 preset:.LD BC,0F
0000A0: 38 45 30 68 0D 0A 09 09 4A 52 20 65 68 72 63 6F 8E0h....JR ehrco
0000B0: 6D 6D 6F 6E 0D 0A 0D 0A 72 61 6D 73 65 6E 64 3A mmon....ramsend:
0000C0: 09 4C 44 20 42 43 2C 30 46 38 45 45 68 0D 0A 09 .LD BC,0F8EEh...
0000D0: 09 50 55 53 48 20 41 46 0D 0A 72 61 6D 73 6C 70 .PUSH AF..ramslp
0000E0: 3A 09 09 49 4E 20 41 2C 28 43 29 0D 0A 09 09 41 :..IN A,(C)....A
0000F0: 4E 44 20 32 0D 0A 09 09 4A 52 20 5A 2C 72 61 6D ND 2....JR Z,ram
000100: 73 6C 70 0D 0A 09 09 50 4F 50 20 41 46 0D 0A 09 slp....POP AF...
000110: 09 44 45 43 20 43 0D 0A 09 09 4F 55 54 20 28 43 .DEC C....OUT (C
000120: 29 2C 41 0D 0A 09 09 52 45 54 0D 0A 0D 0A 65 6D ),A....RET....em
000130: 72 73 65 6E 64 3A 09 4C 44 20 42 43 2C 30 46 38 rsend:.LD BC,0F8
000140: 46 32 68 0D 0A 65 68 73 63 6F 6D 6D 6F 6E 3A 09 F2h..ehscommon:.
000150: 50 55 53 48 20 41 46 0D 0A 65 6D 72 73 6C 70 3A PUSH AF..emrslp:
000160: 09 09 49 4E 20 41 2C 28 43 29 0D 0A 09 09 41 4E ..IN A,(C)....AN
000170: 44 20 32 0D 0A 09 09 4A 52 20 5A 2C 65 6D 72 73 D 2....JR Z,emrs
000180: 6C 70 0D 0A 09 09 50 4F 50 20 41 46 0D 0A 09 09 lp....POP AF....
000190: 49 4E 43 20 43 0D 0A 09 09 4F 55 54 20 28 43 29 INC C....OUT (C)
0001A0: 2C 41 0D 0A 09 09 52 45 54 0D 0A 0D 0A 64 68 63 ,A....RET....dhc
0001B0: 70 73 65 6E 64 3A 09 4C 44 20 42 43 2C 30 46 38 psend:.LD BC,0F8
0001C0: 45 30 68 0D 0A 09 09 4A 52 20 65 68 73 63 6F 6D E0h....JR ehscom
0001D0: 6D 6F 6E 0D 0A 0D 0A 63 68 6F 75 74 3A 09 09 43 mon....chout:..C
0001E0: 50 20 31 0D 0A 09 09 52 45 54 20 4E 5A 0D 0A 63 P 1....RET NZ..c
0001F0: 68 6F 75 74 6A 70 32 3A 09 4C 44 20 41 2C 28 49 houtjp2:.LD A,(I
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 ................
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