Amstrad Unlocked (UK) (1985) (Version Basic 1.0) [Original] [TAPE] [EDUCATIF].cdt
HexaDumpAscii only
000000:  5A 58 54 61 70 65 21 1A 01 0D 20 71 37 11 5B 09    ZXTape!... q7.[.
000010:  A6 04 A6 04 A7 04 4E 09 FE 0F 08 11 00 07 01 00    ......N.........
000020:  2C 80 41 4D 53 54 52 41 44 20 55 4E 4C 4F 43 4B    ,.AMSTRAD UNLOCK
000030:  45 01 00 01 00 08 70 01 FF BA 6E 00 00 00 00 00    E.....p...n.....
000040:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000050:  00 53 00 00 00 00 00 00 50 50 00 00 00 00 00 00    .S......PP......
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:  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 CB 9F FF FF FF FF 11 53 09 A6 04 A6 04 B0 04    ........S.......
000130:  5E 09 FF 0F 08 98 0A 15 08 00 16 28 00 14 00 A4    ^..........(....
000140:  20 8D 20 19 42 2C 0F 2C 19 20 2C 19 20 2C 19 20     . .B,.,. ,. ,. 
000150:  01 B3 20 9F 20 1E 48 08 01 B2 20 9C 20 A0 20 1E    .. . .H... . . .
000160:  48 08 00 3A 00 15 00 A1 20 28 FF 12 28 1F 00 00    H..:.... (..(...
000170:  19 38 90 29 F2 0F 20 FC 20 FF 12 28 1F 00 00 3F    .8.).. . ..(...?
000180:  38 90 29 F2 19 50 29 20 FA 20 FF 12 28 1F 00 00    8.)..P) . ..(...
000190:  67 27 90 29 F2 0F 20 EB 20 83 20 0E 00 8F 00 1E    g'.).. . . .....
0001A0:  00 BB 20 0F 01 BA 20 0E 01 A2 20 0F 2C 19 18 01    .. ... ... .,...
0001B0:  A2 20 0E 2C 19 0F 01 82 20 19 0F 01 AD 20 0E 01    . .,.... .... ..
0001C0:  BF 22 0C 44 61 76 69 64 0A 22 01 BF 22 43 6F 6D    .".David.".."Com
0001D0:  70 75 74 65 72 0A 22 01 BF 22 53 6F 66 74 77 61    puter.".."Softwa
0001E0:  72 65 22 01 BF 22 0A 30 33 2D 32 33 33 2D 39 32    re"..".03-233-92
0001F0:  32 37 20 0A 0A 22 01 BF 22 0A 0A 41 4D 53 54 52    27 ..".."..AMSTR
000200:  41 44 20 55 4E 4C 4F 43 4B 45 44 0A 0A 0A 0A 22    AD UNLOCKED...."
000210:  01 BF 20 FF 03 28 19 A4 29 3B 22 20 31 39 38 34    .. ..(..);" 1984
000220:  22 01 9F 20 1E 52 08 20 20 20 20 00 57 00 28 00    ".. .R.    .W.(.
000230:  A2 20 0F 2C 19 18 01 A2 20 0E 2C 4B 05 0E 01 82    . .,.... .,K....
000240:  20 0E 01 AD 20 10 01 03 00 00 EE EF 22 0C 22 01     ... .......".".
000250:  BF 20 EA 20 28 19 17 29 3B 22 2A 2A 20 4D 4F 52    . . (..);"** MOR
000260:  45 20 41 42 4F 55 54 20 54 48 45 20 41 4D 53 54    E ABOUT THE AMST
000270:  52 41 44 20 43 50 43 20 34 36 34 20 2A 2A 0A 0A    RAD CPC 464 **..
000280:  22 20 20 20 00 4D 00 32 00 BF 22 20 20 20 30 31    "   .M.2.."   01
000290:  20 41 64 64 69 74 69 6F 6E 61 6C 20 63 6F 6D 6D     Additional comm
0002A0:  61 6E 64 73 20 20 20 20 30 32 20 41 72 63 73 69    ands    02 Arcsi
0002B0:  6E 2C 20 61 72 63 6F 73 20 20 20 20 20 20 20 20    n, arcos        
0002C0:  20 20 20 30 33 20 42 41 53 49 43 20 62 75 67 73       03 BASIC bugs
0002D0:  22 00 55 00 3C 00 BF 22 20 20 20 30 34 20 43 54    ".U.<.."   04 CT
0002E0:  52 4C 20 6B 65 79 73 20 20 20 20 20 20 20 20 20    RL keys         
0002F0:  20 20 20 20 20 30 35 20 43 54 52 4C 20 63 75 72         05 CTRL cur
000300:  73 6F 72 20 20 20 20 20 20 20 20 20 20 20 20 20    sor             
000310:  30 36 20 43 61 73 73 65 74 74 65 20 66 69 6C 65    06 Cassette file
000320:  73 22 20 20 20 20 00 4C 00 46 00 BF 22 20 20 20    s"    .L.F.."   
000330:  30 37 20 43 61 6C 6C 20 42 45 4C 4C 20 7D 08 20    07 Call BELL }. 
000340:  20 20 20 20 20 20 20 20 20 20 20 20 30 38 20 44                08 D
000350:  61 74 61 63 6F 72 64 65 72 20 20 20 20 20 20 20    atacorder       
000360:  20 20 20 20 20 20 20 30 39 20 44 45 43 24 2C 20           09 DEC$, 
000370:  55 4E 54 22 00 4D 00 50 00 BF 22 20 20 20 31 30    UNT".M.P.."   10
000380:  20 44 41 54 41 2C 20 74 6F 6B 65 6E 69 73 65 64     DATA, tokenised
000390:  20 20 20 20 20 20 20 20 31 31 20 44 49 4D 20 20            11 DIM  
0003A0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0003B0:  20 20 20 31 32 20 45 20 6E 6F 74 61 74 69 6F 6E       12 E notation
0003C0:  22 00 55 00 5A 00 BF 22 20 20 20 31 33 20 46 4F    ".U.Z.."   13 FO
0003D0:  52 20 2E 2E 2E 20 4E 45 58 54 20 20 20 20 20 20    R ... NEXT      
0003E0:  20 20 20 20 20 31 34 20 46 69 6E 64 20 76 61 72         14 Find var
0003F0:  69 61 62 6C 65 73 20 65 74 63 20 20 20 20 20 20    iables etc      
000400:  31 35 20 48 65 78 2C 20 77 68 61 74 20 69 73 20    15 Hex, what is 
000410:  69 74 22 20 20 20 00 46 00 64 00 BF 22 20 20 20    it"   .F.d.."   
000420:  31 36 20 48 61 6E 64 62 6F 6F 6B 20 65 72 72 6F    16 Handbook erro
000430:  72 73 20 20 20 20 20 20 20 20 31 37 20 49 6E 35    rs        17 In5
000440:  EE 74 65 67 65 72 20 64 69 76 69 73 69 6F 6E 5C    .teger division\
000450:  20 20 20 20 20 20 20 31 38 20 4D 4F 44 22 00 49           18 MOD".I
000460:  00 6E 00 BF 22 20 20 20 31 39 20 4D 65 6D 6F 72    .n.."   19 Memor
000470:  79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    y               
000480:  20 20 32 30 20 4D 69 73 63 65 6C 6C 61 6E 65 6F      20 Miscellaneo
000490:  75 73 20 20 20 20 20 20 20 20 20 20 20 32 31 20    us           21 
0004A0:  4D 49 44 24 3D 22 20 00 52 00 78 00 BF 22 20 20    MID$=" .R.x.."  
0004B0:  20 32 32 20 4D 49 44 24 28 58 24 2C 59 29 20 20     22 MID$(X$,Y)  
0004C0:  20 20 20 20 20 20 20 20 20 20 20 32 33 20 4E 75               23 Nu
0004D0:  6D 62 65 72 20 62 61 73 65 73 20 20 20 20 20 20    mber bases      
0004E0:  20 20 20 20 20 20 32 34 20 50 72 6F 67 72 61 6D          24 Program
0004F0:  20 73 74 6F 72 61 67 65 22 00 4C 00 82 00 BF 22     storage".L...."
000500:  20 20 20 32 35 20 50 72 69 6E 74 20 73 65 70 61       25 Print sepa
000510:  72 61 74 6F 72 20 3B 20 20 20 20 20 20 32 36 20    rator ;      26 
000520:  50 61 73 73 69 6E 67 20 70 61 72 61 6D 65 74 65    Passing paramete
000530:  72 73 20 20 20 20 20 20 32 37 20 52 41 4D 20 26    rs      27 RAM &
000540:  20 94 49 52 4F 4D 22 00 51 00 8C 00 BF 22 20 20     .IROM".Q...."  
000550:  20 32 38 20 52 65 63 6F 72 64 20 70 72 6F 74 65     28 Record prote
000560:  63 74 20 20 20 20 20 20 20 20 20 32 39 20 52 45    ct         29 RE
000570:  4D 3A 20 20 20 20 20 20 20 20 20 20 20 20 20 20    M:              
000580:  20 20 20 20 20 20 33 30 20 52 45 4D 2C 20 74 6F          30 REM, to
000590:  6B 65 6E 69 73 65 64 22 00 4A 00 96 00 BF 22 20    kenised".J...." 
0005A0:  20 20 33 31 20 53 74 6F 72 61 67 65 20 6F 66 20      31 Storage of 
0005B0:  70 72 6F 67 72 61 6D 73 20 20 20 20 33 32 20 53    programs    32 S
0005C0:  50 43 28 58 29 20 20 20 20 20 20 20 20 20 20 20    PC(X)           
0005D0:  20 20 20 20 20 20 20 33 33 20 53 6F 72 74 69 6E           33 Sortin
0005E0:  67 22 00 4A 00 A0 00 BF 22 20 20 20 33 34 20 53    g".J...."   34 S
0005F0:  63 72 6F 6C 6C 20 20 20 20 20 20 20 20 20 20 20    croll           
000600:  20 20 20 20 20 20 33 35 20 53 63 69 65 6E 74 69          35 Scienti
000610:  66 69 63 20 6E 6F 74 61 74 69 6F 6E 20 20 20 20    fic notation    
000620:  20 33 36 20 54 49 4D 45 53 45 54 22 00 4B 00 AA     36 TIMESET".K..
000630:  00 BF 22 20 20 20 33 37 20 54 6F 6B 65 6E 73 20    .."   37 Tokens 
000640:  20 20 20 19 76 20 20 20 20 20 20 20 20 20 20 20       .v           
000650:  20 20 33 38 20 54 72 69 67 20 66 75 6E 63 74 69      38 Trig functi
000660:  6F 6E 73 20 20 20 20 20 20 20 20 20 20 33 39 20    ons          39 
000670:  57 68 79 20 68 65 78 22 20 00 33 00 B4 00 BF 22    Why hex" .3...."
000680:  20 20 20 34 30 20 5A 65 72 6F 20 63 6C 6F 63 6B       40 Zero clock
000690:  20 20 20 20 20 20 20 20 20 20 20 20 20 34 31 20                 41 
0006A0:  45 6E 64 20 70 72 6F 67 72 61 6D 22 00 13 00 BE    End program"....
0006B0:  00 A1 20 0D 00 00 70 F0 20 EB 20 BF 22 07 22 00    .. ...p. . .".".
0006C0:  3F 00 C8 00 A9 20 19 16 2C 19 19 01 A3 22 18 20    ?.... ..,...£". 
0006D0:  20 54 59 50 45 20 49 4E 20 4F 50 54 49 4F 4E 20     TYPE IN OPTION 
0006E0:  4E 55 4D 42 45 52 2C 20 50 52 45 53 53 20 45 4E    NUMBER, PRESS EN
0006F0:  54 45 52 20 18 22 2C 03 00 00 E7 20 20 20 00 2F    TER .",....   ./
000700:  00 D2 00 0D 00 00 E7 EF FF 1D 28 03 00 00 E7 29    ..........(....)
000710:  01 A1 20 28 0D 00 00 E7 F1 0F 29 20 FC 20 28 0D    .. (......) . (.
000720:  00 00 E7 EE 19 29 29 20 EB 20 1E C8 00 00 AF 00    .....)) . ......
000730:  DC 00 B2 20 0D 00 00 E7 20 9F 20 1E FA 00 2C 1E    ... .... . ...,.
000740:  F0 05 2C 1E 04 6E 78 01 2C 1E 24 04 2C 1E FC 03    ..,..nx.,.$.,...
000750:  2C 1E B8 01 2C 1E 86 06 2C 1E 9A 06 2C 1E 76 02    ,...,...,...,.v.
000760:  2C 1E 16 03 2C 1E 82 05 2C 1E DE 03 2C 1E 5E 06    ,...,...,...,.^.
000770:  2C 1E AE 06 2C 1E F6 04 2C 1E 0E 01 2C 1E 36 01    ,...,...,...,.6.
000780:  2C 1E 02 03 2C 1E 18 06 2C 1E EE 07 2C 1E 26 02    ,...,...,...,.&.
000790:  2C 1E 44 02 2C 1E F6 04 2C 1E 4C 04 2C 1E 68 01    ,.D.,...,.L.,.h.
0007A0:  2C 1E 02 08 2C 1E 18 06 2C 1E A0 05 2C 1E FE 01    ,...,...,...,...
0007B0:  2C 1E 16 03 2C 1E 4C 04 2C 1E 62 02 2C 1E B4 05    ,...,.L.,.b.,...
0007C0:  2C 1E A8 02 2C 1E DE 03 2C 1E 40 06 2C 1E 52 03    ,...,...,.@.,.R.
0007D0:  2C 1E F0 05 2C 1E 5A 05 2C 1E 40 06 20 20 00 14    ,...,.Z.,.@.  ..
0007E0:  00 E6 00 A1 20 0D 00 00 E7 EF 19 29 20 EB 20 1E    .... ......) . .
0007F0:  3E 08 00 14 00 F0 00 0D 00 00 70 F0 EF 0F 01 A0    >.........p.....
000800:  20 1E 28 00 20 20 00 49 00 FA 00 03 00 00 EE EF     .(.  .I........
000810:  22 0C 2A 2A 20 41 44 44 49 54 49 4F 4E 41 4C 20    ".** ADDITIONAL 
000820:  43 4F 4D 4D 41 4E 44 53 20 2A 2A 0A 22 01 9F 20    COMMANDS **.".. 
000830:  1E 1C 02 01 9F 20 1E 44 02 01 9F 20 1E 62 02 01    ..... .D... .b..
000840:  9F 20 1E 76 02 01 9F 81 0F 20 1E A8 02 01 C9 20    . .v..... ..... 
000850:  20 00 40 00 04 01 03 00 00 EE EF 22 0C 2A 2A 20     .@........".** 
000860:  42 41 53 49 43 20 42 55 47 53 20 2A 2A 0A 22 01    BASIC BUGS **.".
000870:  9F 20 1E 36 01 01 9F 20 1E 68 01 01 9F 20 1E B8    . .6... .h... ..
000880:  01 01 9F 20 1E FE 01 01 9F 20 1E 16 03 01 C9 20    ... ..... ..... 
000890:  20 00 32 00 0E 01 03 00 00 EE EF 22 0C 2A 2A 20     .2........".** 
0008A0:  48 41 4E 44 42 4F 4F 4B 20 45 52 52 4F 52 53 20    HANDBOOK ERRORS 
0008B0:  2A 2A 0A 22 01 9F 20 1E 18 01 01 9F 20 1E B8 01    **.".. ..... ...
0008C0:  01 C9 20 00 26 00 18 01 BF 22 0C 2A 2A 20 48 41    .. .&....".** HA
0008D0:  4E 44 42 4F 4F 4B 20 45 52 52 4F 52 53 20 2A 2A    NDBOOK ERRORS **
0008E0:  0A 0A 22 01 A0 20 1E 40 01 00 C9 00 22 01 03 00    ..".. .@...."...
0008F0:  00 EE EF 22 0C 2A 2A 20 42 41 53 49 43 20 42 55    ...".** BASIC BU
000900:  47 53 20 2A 2A 0A 0A 22 01 BF 20 03 00 00 EE 01    GS **..".. .....
000910:  BF 22 45 76 65 72 79 20 6D 61 63 68 69 6E 65 20    ."Every machine 
000920:  68 61 73 20 69 74 27 73 20 27 62 75 67 73 27 2C    has it's 'bugs',
000930:  20 61 6E 64 20 74 68 65 20 41 6D 73 74 72 61 64     and the Amstrad
000940:  20 68 61 73 20 69 74 73 20 02 5D FF FF FF FF 11     has its .].....
000950:  4B 09 A6 04 A6 04 8D 04 1A 09 FE 0F 08 0F 00 07    K...............
000960:  01 00 2C 80 41 4D 53 54 52 41 44 20 55 4E 4C 4F    ..,.AMSTRAD UNLO
000970:  43 4B 45 02 00 01 00 08 70 09 00 BA 6E 00 00 00    CKE.....p...n...
000980:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000990:  00 00 00 53 00 00 00 00 00 00 50 50 00 00 00 00    ...S......PP....
0009A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0009B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0009C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0009D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0009E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0009F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000A00:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000A10:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000A20:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000A30:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000A40:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000A50:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
000A60:  00 00 00 6B 2C FF FF FF FF 11 46 09 A6 04 A6 04    ...k,.....F.....
000A70:  AE 04 5B 09 00 10 08 95 0A 15 08 00 16 73 68 61    ..[..........sha
000A80:  72 65 2E 0A 0A 20 20 20 20 20 20 20 20 20 20 20    re...           
000A90:  20 20 20 20 20 20 20 20 54 68 65 20 66 69 72 73            The firs
000AA0:  74 20 69 73 20 6E 6F 74 20 72 65 61 6C 6C 79 20    t is not really 
000AB0:  61 20 66 61 75 6C 74 20 69 6E 20 74 68 65 20 42    a fault in the B
000AC0:  41 53 49 43 20 62 75 74 20 61 6E 20 65 72 72 6F    ASIC but an erro
000AD0:  72 20 69 6E 20 74 68 65 20 6D 61 6E 75 61 6C 2E    r in the manual.
000AE0:  0A 0A 22 20 20 20 00 0A 00 2C 01 A0 20 1E 40 01    .."   ...,.. .@.
000AF0:  00 0A 00 36 01 BF 03 00 00 EE 00 F8 00 40 01 BF    ...6.........@..
000B00:  22 2A 2A 20 49 4E 54 45 47 45 52 20 44 49 56 49    "** INTEGER DIVI
000B10:  53 49 4F 4E 20 2A 2A 0A 0A 20 20 20 20 20 20 20    SION **..       
000B20:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
000B30:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
000B40:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
000B50:  20 20 20 54 68 65 20 6D 61 6E 75 61 6C 2C 20 69       The manual, i
000B60:  6E 20 43 68 61 70 74 65 72 20 34 2C 20 70 61 67    n Chapter 4, pag
000B70:  65 20 32 2C 20 73 74 61 74 65 73 20 74 D0 21 68    e 2, states t.!h
000B80:  61 74 20 77 68 65 6E 20 75 73 69 6E 67 20 5C 20    at when using \ 
000B90:  69 6E 73 74 65 61 64 20 6F 66 20 2F 20 66 6F 72    instead of / for
000BA0:  20 20 20 20 20 64 69 76 69 73 69 6F 6E 2C 20 74         division, t
000BB0:  68 65 20 72 65 73 75 6C 74 20 69 73 20 73 68 6F    he result is sho
000BC0:  72 74 65 6E 65 64 20 74 6F 20 67 69 76 65 20 74    rtened to give t
000BD0:  68 65 20 77 68 6F 6C 65 20 6E 75 6D 62 65 72 20    he whole number 
000BE0:  70 61 72 74 20 6F 66 20 74 68 65 20 72 65 73 75    part of the resu
000BF0:  6C 74 2C 22 00 29 00 4A 01 BF 22 74 68 65 20 64    lt,".).J.."the d
000C00:  65 63 69 6D 61 6C 20 70 61 72 74 20 62 65 69 6E    ecimal part bein
000C10:  67 20 64 69 73 63 61 72 64 65 64 2E 22 00 FB 00    g discarded."...
000C20:  54 01 BF 22 0A 0A 54 68 69 73 20 69 73 20 69 6E    T.."..This is in
000C30:  63 6F 72 72 65 63 74 2C 20 74 68 65 20 41 6D 73    correct, the Ams
000C40:  74 72 61 64 20 75 73 69 6E 67 20 74 68 65 20 5C    trad using the \
000C50:  20 28 69 6E 74 65 67 65 72 20 64 69 76 69 73 69     (integer divisi
000C60:  6F 6E 29 20 6F 70 65 72 61 74 6F 72 20 69 6E 20    on) operator in 
000C70:  74 68 65 20 20 20 73 74 61 6E 64 61 72 64 20 A7    the   standard .
000C80:  2A 6D 61 6E 6E 65 72 2C 20 69 65 20 6E 75 6D 65    *manner, ie nume
000C90:  72 61 74 6F 72 20 61 6E 64 20 64 65 6E 6F 6D 69    rator and denomi
000CA0:  6E 61 74 6F 72 20 61 72 65 20 72 6F 75 6E 64 65    nator are rounde
000CB0:  64 20 74 6F 20 74 68 65 20 6E 65 61 72 65 73 74    d to the nearest
000CC0:  20 77 68 6F 6C 65 20 20 6E 75 6D 62 65 72 2C 20     whole  number, 
000CD0:  61 6E 64 20 74 68 65 6E 20 74 68 65 20 72 65 73    and then the res
000CE0:  75 6C 74 20 69 73 20 74 72 75 6E 63 61 74 65 64    ult is truncated
000CF0:  20 74 6F 20 74 68 65 20 6E 65 61 72 65 73 74 20     to the nearest 
000D00:  77 68 6F 6C 65 20 6E 75 6D 62 65 72 20 62 65 6C    whole number bel
000D10:  6F 77 2E 22 20 20 20 20 20 20 00 0A 00 5E 01 A0    ow."      ...^..
000D20:  20 1E 2A 08 00 F9 00 68 01 BF 20 03 00 00 EE 01     .*....h.. .....
000D30:  BF 22 2A 2A 20 50 52 49 4E 54 20 53 45 50 41 52    ."** PRINT SEPAR
000D40:  41 54 4F 52 20 28 3B 29 20 2A 2A 0A 20 20 20 20    ATOR (;) **.    
000D50:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
000D60:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
000D70:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
000D80:  20 4A 90 20 20 45 67 20 50 52 49 4E 54 20 41 24     J.  Eg PRINT A$
000D90:  3B 42 24 20 73 68 6F 75 6C 64 20 72 65 73 75 6C    ;B$ should resul
000DA0:  74 20 69 6E 20 74 68 65 20 74 77 6F 20 73 74 72    t in the two str
000DB0:  69 6E 67 73 20 62 65 69 6E 67 20 70 72 69 6E 74    ings being print
000DC0:  65 64 20 63 6F 6E 73 65 63 75 74 69 76 65 6C 79    ed consecutively
000DD0:  20 6F 6E 20 20 74 68 65 20 73 61 6D 65 20 6C 69     on  the same li
000DE0:  6E 65 2E 20 4E 6F 72 6D 61 6C 6C 79 20 74 68 69    ne. Normally thi
000DF0:  73 20 69 73 20 74 68 65 20 63 61 73 65 2C 20 62    s is the case, b
000E00:  75 74 20 69 66 20 74 68 65 69 72 20 63 6F 6D 62    ut if their comb
000E10:  69 6E 65 64 20 6C 65 6E 67 74 68 20 69 73 22 00    ined length is".
000E20:  9D 00 72 01 BF 22 67 72 65 61 74 65 72 20 74 68    ..r.."greater th
000E30:  61 6E 20 74 68 65 20 63 68 61 72 61 63 74 65 72    an the character
000E40:  20 73 70 61 63 65 20 72 65 6D 61 69 6E 69 6E 67     space remaining
000E50:  20 6F 6E 20 74 68 65 20 6C 69 6E 65 2C 20 74 68     on the line, th
000E60:  65 20 41 6D 73 74 72 61 64 27 73 20 42 41 53 49    e Amstrad's BASI
000E70:  43 20 20 20 20 20 6D 61 6C 66 75 6E 63 74 69 6F    C     malfunctio
000E80:  6E 73 2C 57 A4 20 61 6E 64 20 70 72 69 6E 74 73    ns,W. and prints
000E90:  20 74 68 65 20 73 65 63 6F 6E 64 20 73 74 72 69     the second stri
000EA0:  6E 67 20 6F 6E 20 74 68 65 20 66 6F 6C 6C 6F 77    ng on the follow
000EB0:  69 6E 67 20 6C 69 6E 65 2C 20 65 67 0A 22 00 46    ing line, eg.".F
000EC0:  00 7C 01 BF 22 41 24 3D 22 3B FF 03 28 19 22 29    .|.."A$=";..(.")
000ED0:  3B 22 41 41 41 41 41 41 41 41 41 41 41 41 41 41    ;"AAAAAAAAAAAAAA
000EE0:  41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41    AAAAAAAAAAAAAAAA
000EF0:  41 41 41 41 41 41 41 41 41 41 41 22 3B FF 03 28    AAAAAAAAAAA";..(
000F00:  19 22 29 20 00 45 00 86 01 BF 22 42 24 3D 22 3B    .") .E...."B$=";
000F10:  FF 03 28 19 22 29 3B 22 42 42 42 42 42 42 42 42    ..(.");"BBBBBBBB
000F20:  42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42    BBBBBBBBBBBBBBBB
000F30:  42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42    BBBBBBBBBBBBBBBB
000F40:  42 22 3B FF 03 28 19 22 29 00 5D 00 90 01 BF 22    B";..(.").]...."
000F50:  50 52 49 4E 54 20 41 24 2C 42 24 20 20 20 20 20    PRINT A$,B$     
000F60:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
000F70:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
000F80:  20 20 20 20 20 FC 94 20 20 20 20 20 20 20 20 20         ..         
000F90:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
000FA0:  20 20 67 69 76 65 73 22 00 82 00 9A 01 BF 22 41      gives"......"A
000FB0:  41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41    AAAAAAAAAAAAAAAA
000FC0:  41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41    AAAAAAAAAAAAAAAA
000FD0:  41 41 41 41 41 41 41 41 20 20 20 20 20 20 20 20    AAAAAAAA        
000FE0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
000FF0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42                   B
001000:  42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42    BBBBBBBBBBBBBBBB
001010:  42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42    BBBBBBBBBBBBBBBB
001020:  42 42 42 42 42 42 42 42 0A 22 00 B1 00 A4 01 BF    BBBBBBBB."......
001030:  22 54 68 69 73 20 62 75 67 20 63 61 6E 20 62 65    "This bug can be
001040:  20 6F 76 65 72 63 6F 6D 65 20 62 79 20 75 73 69     overcome by usi
001050:  6E 67 20 61 20 70 6C 75 73 20 73 69 67 6E 20 69    ng a plus sign i
001060:  6E 20 70 6C 61 63 65 20 6F 66 20 74 68 65 20 73    n place of the s
001070:  65 6D 69 2D 63 6F 6C 6F 6E 2C 20 65 67 20 20 20    emi-colon, eg   
001080:  20 0A 50 52 49 4E 54 63 F8 20 41 24 2B 42 24 20     .PRINTc. A$+B$ 
001090:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0010A0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0010B0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0010C0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0010D0:  20 20 20 20 67 69 76 65 73 22 20 20 20 00 60 00        gives"   .`.
0010E0:  AE 01 BF 22 41 41 41 41 41 41 41 41 41 41 41 41    ..."AAAAAAAAAAAA
0010F0:  41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41    AAAAAAAAAAAAAAAA
001100:  41 41 41 41 41 41 41 41 41 41 41 41 41 42 42 42    AAAAAAAAAAAAABBB
001110:  42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42    BBBBBBBBBBBBBBBB
001120:  42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42    BBBBBBBBBBBBBBBB
001130:  42 42 42 42 42 42 22 01 A0 20 1E 2A 08 00 C9 00    BBBBBB".. .*....
001140:  B8 01 BF 20 03 00 00 EE 01 BF 22 2A 2A 20 43 41    ... ......"** CA
001150:  53 53 45 54 54 45 20 46 49 4C 45 53 20 2A 2A 0A    SSETTE FILES **.
001160:  0A 22 01 BF 22 43 68 61 70 74 65 72 20 33 20 70    .".."Chapter 3 p
001170:  61 67 65 20 34 2C 20 61 6E 64 20 43 68 61 70 74    age 4, and Chapt
001180:  65 72 20 38 20 70 61 67 65 7A 30 20 35 34 20 6F    er 8 pagez0 54 o
001190:  66 20 74 68 65 20 68 61 6E 64 62 6F 6F 6B 20 73    f the handbook s
0011A0:  61 79 20 74 68 61 74 20 50 52 49 4E 54 20 23 39    ay that PRINT #9
0011B0:  20 73 68 6F 75 6C 64 62 65 20 75 73 65 64 20 66     shouldbe used f
0011C0:  6F 72 20 6F 75 74 70 75 74 20 74 6F 20 63 61 73    or output to cas
0011D0:  73 65 74 74 65 20 66 69 6C 65 73 2E 20 54 68 65    sette files. The
0011E0:  20 42 41 53 49 43 20 69 6E 74 65 72 70 72 65 74     BASIC interpret
0011F0:  65 72 20 68 6F 77 65 76 65 72 20 6D 61 6C 66 75    er however malfu
001200:  6E 63 74 69 6F 6E 73 22 00 8B 00 C2 01 BF 22 0B    nctions"......".
001210:  69 66 20 74 68 69 73 20 69 73 20 64 6F 6E 65 2C    if this is done,
001220:  20 74 61 6B 69 6E 67 20 63 6F 6D 6D 61 73 20 77     taking commas w
001230:  69 74 68 69 6E 20 73 74 72 69 6E 67 73 20 61 73    ithin strings as
001240:  20 73 65 70 61 72 61 74 6F 72 73 2C 20 61 6E 64     separators, and
001250:  20 72 65 6A 65 63 74 69 6E 67 20 74 68 6F 73 65     rejecting those
001260:  61 63 74 75 61 6C 6C 79 20 75 73 65 64 20 61 73    actually used as
001270:  20 73 65 70 61 72 61 74 6F 72 73 20 62 65 74 77     separators betw
001280:  65 65 6E 20 73 74 72 69 6E 67 73 8F 43 FF FF FF    een strings.C...
001290:  FF 11 47 09 A6 04 A6 04 A3 04 46 09 01 10 08 10    ..G.....£.F.....
0012A0:  00 07 01 00 2C 80 41 4D 53 54 52 41 44 20 55 4E    ....,.AMSTRAD UN
0012B0:  4C 4F 43 4B 45 03 00 01 00 08 70 11 00 BA 6E 00    LOCKE.....p...n.
0012C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0012D0:  00 00 00 00 00 53 00 00 00 00 00 00 50 50 00 00    .....S......PP..
0012E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0012F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001300:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001310:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001320:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001330:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001340:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001350:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001360:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001370:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001380:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001390:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0013A0:  00 00 00 00 00 3A B3 FF FF FF FF 11 44 09 A6 04    .....:......D...
0013B0:  A6 04 AE 04 5C 09 00 10 08 93 0A 15 08 00 16 2C    ....\..........,
0013C0:  20 65 67 0A 22 20 20 00 50 00 CC 01 BF 22 31 30     eg."  .P...."10
0013D0:  20 41 24 3D 22 3B FF 03 28 19 22 29 3B 22 48 65     A$=";..(.");"He
0013E0:  6C 6C 6F 2C 20 4A 6F 68 6E 22 3B FF 03 28 19 22    llo, John";..(."
0013F0:  29 3B 22 3A 42 24 3D 22 3B FF 03 28 19 22 29 3B    );":B$=";..(.");
001400:  22 48 65 6C 6C 6F 2C 20 4D 61 72 79 22 3B FF 03    "Hello, Mary";..
001410:  28 19 22 29 20 20 20 00 4F 00 D6 01 BF 22 32 30    (.")   .O...."20
001420:  20 4F 50 45 4E 4F 55 54 20 22 3B FF 03 28 19 22     OPENOUT ";..(."
001430:  29 3B 22 54 45 53 54 22 3B FF 03 28 19 22 29 3B    );"TEST";..(.");
001440:  22 3A 50 52 49 4E 54 20 23 39 2C 41 24 2C 42 24    ":PRINT #9,A$,B$
001450:  3A 43 4C 4F 53 45 4F 55 54 3A 43 4C 45 41 52 22    :CLOSEOUT:CLEAR"
001460:  20 20 20 20 20 20 00 5C 00 E0 01 BF 22 33 30 20          .\...."30 
001470:  4F 50 45 4E 49 4E 20 22 3B FF 03 28 19 22 29 3B    OPENIN ";..(.");
001480:  22 54 45 53 54 22 3B FF 03 28 19 22 29 3B 22 3A    "TEST";..(.");":
001490:  49 4E 50 55 54 20 23 39 2C 43 24 2C 44 24 3A 43    INPUT #9,C$,D$:C
0014A0:  4C 4F 53 45 49 4E 3A 50 52 49 4E 54 20 43 24 3A    LOSEIN:PRINT C$:
0014B0:  50 52 49 4E 54 20 44 24 22 20 20 20 20 20 20 38    PRINT D$"      8
0014C0:  48 20 20 20 00 7B 00 EA 01 BF 22 0A 0A 77 69 6C    H   .{...."..wil
0014D0:  6C 20 67 69 76 65 20 20 20 20 20 20 48 65 6C 6C    l give      Hell
0014E0:  6F 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    o               
0014F0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
001500:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
001510:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
001520:  20 20 20 20 20 20 20 20 20 20 20 20 4A 6F 68 6E                John
001530:  20 20 48 65 6C 6C 6F 20 20 22 20 20 20 20 20 00      Hello  "     .
001540:  87 00 F4 01 BF 22 0A 0A 48 6F 77 65 76 65 72 2C    ....."..However,
001550:  20 73 75 62 73 74 69 74 75 74 69 6E 67 20 57 52     substituting WR
001560:  49 54 45 20 23 39 20 66 6F 72 20 50 52 49 4E 54    ITE #9 for PRINT
001570:  20 23 39 20 65 6E 61 62 6C 65 73 20 63 61 73 73     #9 enables cass
001580:  65 74 74 65 20 64 61 74 61 20 66 69 6C 65 73 20    ette data files 
001590:  74 6F 20 62 65 20 20 20 77 72 69 74 74 65 6E 20    to be   written 
0015A0:  61 6E 64 20 72 65 61 64 20 77 69 74 68 6F 75 74    and read without
0015B0:  20 63 6F 72 72 75 70 74 69 6F 6E 2E 22 01 A0 20     corruption.".. 
0015C0:  1E 26 7A 2A 08 20 20 20 00 CA 00 FE 01 BF 20 03    .&z*.   ...... .
0015D0:  00 00 EE 01 BF 22 2A 2A 20 52 45 4D 3A 20 2A 2A    ....."** REM: **
0015E0:  0A 0A 22 01 BF 22 54 68 65 20 75 73 65 20 6F 66    ..".."The use of
0015F0:  20 74 68 65 20 63 6F 6C 6F 6E 20 61 73 20 61 20     the colon as a 
001600:  73 65 70 61 72 61 74 6F 72 20 66 6F 72 20 6D 75    separator for mu
001610:  6C 74 69 2D 73 74 61 74 65 6D 65 6E 74 73 20 69    lti-statements i
001620:  73 20 6E 6F 74 20 20 70 65 72 6D 69 74 74 65 64    s not  permitted
001630:  20 61 66 74 65 72 52 45 4D 2C 20 74 68 65 20 73     afterREM, the s
001640:  75 62 73 65 71 75 65 6E 74 20 73 74 61 74 65 6D    ubsequent statem
001650:  65 6E 74 73 20 62 65 69 6E 67 20 74 61 6B 65 6E    ents being taken
001660:  20 62 79 20 74 68 65 20 41 6D 73 74 72 61 64 27     by the Amstrad'
001670:  73 20 42 41 53 49 43 20 61 73 20 70 61 72 74 20    s BASIC as part 
001680:  6F 66 20 74 68 65 72 65 6D 61 72 6B 2E 0A 0A 22    of theremark..."
001690:  20 20 00 3D 00 08 02 BF 22 44 6F 20 6E 6F 74 20      .=...."Do not 
0016A0:  74 68 65 72 65 66 6F 72 65 20 75 73 65 2C 20 65    therefore use, e
0016B0:  67 0A 0A 22 01 BF 22 31 30 30 20 52 45 4D 20 44    g..".."100 REM D
0016C0:  45 46 49 1F 44 4E 45 20 41 3A 41 3D 35 35 0A 0A    EFI.DNE A:A=55..
0016D0:  22 00 38 00 12 02 BF 22 55 73 65 20 69 6E 73 74    ".8...."Use inst
0016E0:  65 61 64 2C 20 65 67 0A 0A 22 01 BF 22 31 30 30    ead, eg..".."100
0016F0:  20 41 3D 35 35 3A 52 45 4D 20 44 45 46 49 4E 45     A=55:REM DEFINE
001700:  20 41 22 01 A0 20 1E 2A 08 00 28 00 1C 02 03 00     A".. .*..(.....
001710:  00 EE EF 22 0C 2A 2A 20 41 44 44 49 54 49 4F 4E    ...".** ADDITION
001720:  41 4C 20 43 4F 4D 4D 41 4E 44 53 20 2A 2A 0A 0A    AL COMMANDS **..
001730:  22 00 81 00 26 02 BF 03 00 00 EE 01 BF 22 2A 2A    "...&........"**
001740:  20 4D 49 44 24 28 2E 2E 2E 29 3D 20 2A 2A 0A 0A     MID$(...)= **..
001750:  22 01 BF 22 54 68 65 20 6E 6F 72 6D 61 6C 20 75    ".."The normal u
001760:  73 61 67 65 20 6F 66 20 4D 49 44 24 20 69 73 20    sage of MID$ is 
001770:  74 6F 20 69 64 65 6E 74 69 66 79 20 74 68 65 20    to identify the 
001780:  63 68 61 72 61 63 74 65 72 73 20 63 6F 6E 74 61    characters conta
001790:  69 6E 65 64 20 69 6E 20 61 20 73 75 62 73 65 74    ined in a subset
0017A0:  20 6F 66 20 61 20 73 74 72 69 6E 67 2C 20 65 67     of a string, eg
0017B0:  0A 22 00 64 00 30 02 BF 22 41 24 3D 22 3B FF 03    .".d.0.."A$=";..
0017C0:  28 19 22 29 3B FB 5A 22 41 42 43 44 45 46 47 48    (.");.Z"ABCDEFGH
0017D0:  49 4A 4B 22 3B FF 03 28 19 22 29 01 BF 22 42 24    IJK";..(.").."B$
0017E0:  3D 4D 49 44 24 28 41 24 2C 34 2C 32 29 22 01 BF    =MID$(A$,4,2)"..
0017F0:  22 50 52 49 4E 54 20 42 24 20 20 20 20 20 20 20    "PRINT B$       
001800:  20 20 20 20 20 77 6F 75 6C 64 20 67 69 76 65 20         would give 
001810:  44 45 2E 0A 22 20 20 20 00 AF 00 3A 02 BF 20 22    DE.."   ...:.. "
001820:  54 68 65 20 43 50 43 20 34 36 34 2C 20 61 6E 64    The CPC 464, and
001830:  20 61 20 66 65 77 20 6F 74 68 65 72 20 6D 61 63     a few other mac
001840:  68 69 6E 65 73 2C 20 61 6C 6C 6F 77 20 74 68 65    hines, allow the
001850:  20 72 65 76 65 72 73 65 20 75 73 65 20 6F 66 20     reverse use of 
001860:  4D 49 44 24 20 74 6F 20 61 6C 74 65 72 20 61 20    MID$ to alter a 
001870:  73 74 72 69 6E 67 2C 20 65 67 20 4D 49 44 24 28    string, eg MID$(
001880:  41 24 2C 37 2C 33 29 3D 22 3B FF 03 28 19 22 29    A$,7,3)=";..(.")
001890:  3B 22 58 59 5A 22 3B FF 03 28 19 22 29 3B 22 20    ;"XYZ";..(.");" 
0018A0:  77 6F 75 6C 64 20 63 68 61 6E 67 65 20 41 24 20    would change A$ 
0018B0:  74 6F 20 41 42 43 44 45 46 58 59 5A 4A 4B 2E 22    to ABCDEFXYZJK."
0018C0:  01 A0 20 1E 2A 08 20 39 75 00 00 01 44 02 BF 03    .. .*. 9u...D...
0018D0:  00 00 EE 01 BF 22 2A 2A 20 4D 49 44 24 28 58 2C    ....."** MID$(X,
0018E0:  59 29 20 2A 2A 0A 0A 22 01 BF 22 4D 49 44 24 20    Y) **..".."MID$ 
0018F0:  6E 6F 72 6D 61 6C 6C 79 20 72 65 71 75 69 72 65    normally require
001900:  73 20 74 68 72 65 65 20 70 61 72 61 6D 65 74 65    s three paramete
001910:  72 73 2C 20 69 65 20 4D 49 44 24 28 41 24 2C 58    rs, ie MID$(A$,X
001920:  2C 59 29 20 67 69 76 69 6E 67 20 74 68 65 20 73    ,Y) giving the s
001930:  70 65 63 69 66 69 65 64 20 20 20 73 74 72 69 6E    pecified   strin
001940:  67 20 28 41 24 29 2C 20 74 68 65 20 73 74 61 72    g (A$), the star
001950:  74 20 63 68 61 72 61 63 74 65 72 20 63 6F 75 6E    t character coun
001960:  74 20 28 58 29 2C 20 61 6E 64 20 74 68 65 20 6E    t (X), and the n
001970:  75 6D 62 65 72 20 6F 66 20 63 68 61 72 61 63 74    umber of charact
001980:  65 72 73 20 28 59 29 2E 20 20 20 57 69 74 68 20    ers (Y).   With 
001990:  74 68 65 20 41 6D 73 74 72 61 64 20 68 6F 77 65    the Amstrad howe
0019A0:  76 65 72 2C 20 74 68 65 20 6C 61 73 74 20 70 61    ver, the last pa
0019B0:  72 61 6D 65 74 65 72 20 20 6D 61 79 20 62 65 20    rameter  may be 
0019C0:  6F 6D 69 74 74 65 64 2E 22 46 3F 00 C8 00 4E 02    omitted."F?...N.
0019D0:  BF 22 0A 57 68 65 6E 20 74 68 69 73 20 69 73 20    .".When this is 
0019E0:  64 6F 6E 65 2C 20 74 68 65 20 76 61 6C 75 65 20    done, the value 
0019F0:  6F 66 20 59 20 69 73 20 74 61 6B 65 6E 20 74 6F    of Y is taken to
001A00:  20 62 65 20 65 71 75 61 6C 20 74 6F 20 74 68 65     be equal to the
001A10:  20 72 65 6D 61 69 6E 69 6E 67 20 6E 75 6D 62 65     remaining numbe
001A20:  72 20 20 6F 66 20 63 68 61 72 61 63 74 65 72 73    r  of characters
001A30:  20 69 6E 20 74 68 65 20 73 74 72 69 6E 67 2C 20     in the string, 
001A40:  65 67 2C 20 69 66 20 4D 24 20 69 73 20 41 42 43    eg, if M$ is ABC
001A50:  44 45 46 47 48 49 4A 4B 2C 20 74 68 65 6E 20 4D    DEFGHIJK, then M
001A60:  49 44 24 28 4D 24 2C 38 29 20 69 73 20 48 49 4A    ID$(M$,8) is HIJ
001A70:  4B 4C 2C 69 65 20 66 72 6F 6D 20 74 68 65 20 65    KL,ie from the e
001A80:  69 67 74 68 20 63 68 61 72 61 63 74 65 72 20 6F    igth character o
001A90:  6E 2E 22 00 84 00 58 02 BF 22 0A 54 68 69 73 20    n."...X..".This 
001AA0:  66 61 63 69 6C 69 74 79 20 69 73 20 61 76 61 69    facility is avai
001AB0:  6C 61 62 6C 65 20 65 69 74 68 65 72 20 77 69 74    lable either wit
001AC0:  68 20 74 68 65 20 6E 6F 72 6D 61 E6 31 6C 20 75    h the norma.1l u
001AD0:  73 61 67 65 20 6F 66 20 65 67 20 41 24 3D 4D 49    sage of eg A$=MI
001AE0:  44 24 28 2E 2E 2E 29 20 6F 72 20 20 20 74 68 65    D$(...) or   the
001AF0:  20 72 65 76 65 72 73 65 20 61 70 70 6C 69 63 61     reverse applica
001B00:  74 69 6F 6E 2C 20 4D 49 44 24 28 2E 2E 2E 29 3D    tion, MID$(...)=
001B10:  20 2E 22 01 A0 20 1E 2A 08 00 BA 00 62 02 BF 03     .".. .*....b...
001B20:  00 00 EE 01 BF 22 2A 2A 20 53 50 43 28 58 29 20    ....."** SPC(X) 
001B30:  2A 2A 0A 0A 22 01 BF 22 54 68 65 20 63 6F 6D 6D    **..".."The comm
001B40:  61 6E 64 20 53 50 43 20 69 73 20 6E 6F 74 20 6D    and SPC is not m
001B50:  65 6E 74 69 6F 6E 65 64 20 69 6E 20 74 68 65 20    entioned in the 
001B60:  68 61 6E 64 62 6F 6F 6B 2C 20 65 76 65 6E 20 74    handbook, even t
001B70:  68 6F 75 67 68 20 61 76 61 69 6C 61 62 6C 65 2E    hough available.
001B80:  0A 0A 22 01 BF 22 49 74 20 69 73 20 73 69 6D 69    ..".."It is simi
001B90:  6C 61 72 20 74 6F 20 74 68 65 20 50 52 49 4E 54    lar to the PRINT
001BA0:  20 54 41 42 28 58 29 20 66 61 63 69 6C 69 74 79     TAB(X) facility
001BB0:  2C 20 62 75 74 20 77 68 65 72 65 61 73 20 62 6F    , but whereas bo
001BC0:  74 68 20 50 52 49 4E 54 20 54 41 42 28 3D C8 FF    th PRINT TAB(=..
001BD0:  FF FF FF 11 40 09 A6 04 A6 04 89 04 12 09 FE 0F    ....@...........
001BE0:  08 10 00 07 01 00 2C 80 41 4D 53 54 52 41 44 20    ......,.AMSTRAD 
001BF0:  55 4E 4C 4F 43 4B 45 04 00 01 00 08 70 19 00 BA    UNLOCKE.....p...
001C00:  6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    n...............
001C10:  00 00 00 00 00 00 00 53 00 00 00 00 00 00 50 50    .......S......PP
001C20:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001C30:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001C40:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001C50:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001C60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001C70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001C80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001C90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001CA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001CB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001CC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001CD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
001CE0:  00 00 00 00 00 00 00 32 53 FF FF FF FF 11 43 09    .......2S.....C.
001CF0:  A6 04 A6 04 BA 04 73 09 FE 0F 08 8A 0A 15 08 00    ......s.........
001D00:  16 35 29 3B 41 24 22 00 AA 00 6C 02 BF 22 61 6E    .5);A$"...l.."an
001D10:  64 20 50 52 49 4E 54 20 53 50 43 28 34 29 3B 41    d PRINT SPC(4);A
001D20:  24 20 77 6F 75 6C 64 20 70 72 69 6E 74 20 41 24    $ would print A$
001D30:  20 63 6F 6D 6D 65 6E 63 69 6E 67 20 61 74 20 74     commencing at t
001D40:  68 65 20 66 69 66 74 68 20 63 6F 6C 75 6D 6E 20    he fifth column 
001D50:  6F 66 20 74 68 65 20 6E 65 78 74 20 20 20 6C 69    of the next   li
001D60:  6E 65 2C 20 6F 6E 6C 79 20 74 68 65 20 53 50 43    ne, only the SPC
001D70:  20 63 6F 6D 6D 61 6E 64 20 77 6F 75 6C 64 20 64     command would d
001D80:  65 6C 65 74 65 20 61 6E 79 20 65 78 69 73 74 69    elete any existi
001D90:  6E 67 20 74 65 78 74 20 69 6E 20 63 6F 6C 75 6D    ng text in colum
001DA0:  6E 73 20 31 20 74 6F 20 34 2E 22 01 A0 20 1E 2A    ns 1 to 4.".. .*
001DB0:  08 00 C5 00 76 02 BF 20 03 00 00 EE 01 BF 22 2A    ....v.. ......"*
001DC0:  2A 20 44 45 43 24 2C 20 55 4E 54 20 65 74 63 20    * DEC$, UNT etc 
001DD0:  2A 2A 0A 0A 22 01 BF 22 57 68 65 6E 20 70 72 65    **..".."When pre
001DE0:  73 65 6E 74 65 64 20 77 69 74 68 20 61 20 34 20    sented with a 4 
001DF0:  64 69 67 69 74 20 68 65 78 20 6E 75 6D 62 65 72    digit hex number
001E00:  2C 17 38 20 61 20 63 6F 6D 70 75 74 65 72 20 6D    ,.8 a computer m
001E10:  61 79 20 72 65 74 75 72 6E 20 69 74 20 61 73 20    ay return it as 
001E20:  61 20 64 65 63 69 6D 61 6C 20 65 69 74 68 65 72    a decimal either
001E30:  20 69 6E 20 74 68 65 20 72 61 6E 67 65 20 30 20     in the range 0 
001E40:  74 6F 20 36 35 35 33 35 20 6F 72 20 66 72 6F 6D    to 65535 or from
001E50:  20 2D 33 32 37 36 37 20 74 6F 20 2B 33 32 37 36     -32767 to +3276
001E60:  37 2E 20 41 6C 74 68 6F 75 67 68 20 74 68 65 20    7. Although the 
001E70:  41 6D 73 74 72 61 64 22 00 F9 00 80 02 BF 22 64    Amstrad"......"d
001E80:  6F 65 73 20 74 68 65 20 6C 61 74 74 65 72 2C 20    oes the latter, 
001E90:  69 74 20 77 61 73 20 65 76 69 64 65 6E 74 6C 79    it was evidently
001EA0:  20 6E 6F 74 20 69 6E 74 65 6E 64 65 64 20 74 6F     not intended to
001EB0:  2C 20 62 65 63 61 75 73 65 20 69 74 20 68 61 73    , because it has
001EC0:  20 62 65 65 6E 20 70 72 6F 76 69 64 65 64 20 77     been provided w
001ED0:  69 74 68 20 74 68 65 20 66 75 6E 63 74 69 6F 6E    ith the function
001EE0:  20 55 4E 54 2C 20 64 65 63 6C 61 72 65 64 20 61     UNT, declared a
001EF0:  73 20 62 65 69 6E 67 20 74 6F 20 72 65 74 75 72    s being to retur
001F00:  6E 20 61 90 93 20 6E 75 6D 62 65 72 20 69 6E 20    n a.. number in 
001F10:  74 68 65 20 72 61 6E 67 65 20 20 20 20 20 20 20    the range       
001F20:  20 2B 2F 2D 20 33 32 37 36 37 2C 20 77 68 69 63     +/- 32767, whic
001F30:  68 20 74 68 65 20 6D 61 63 68 69 6E 65 20 64 6F    h the machine do
001F40:  65 73 20 61 6E 79 77 61 79 2E 20 54 68 65 20 70    es anyway. The p
001F50:  72 65 73 65 6E 63 65 20 69 6E 20 74 68 65 20 74    resence in the t
001F60:  6F 6B 65 6E 20 74 61 62 6C 65 20 6F 66 20 74 68    oken table of th
001F70:  65 22 3B 00 E5 00 8A 02 BF 22 75 6E 69 6D 70 6C    e";......"unimpl
001F80:  65 6D 65 6E 74 65 64 20 63 6F 6D 6D 61 6E 64 20    emented command 
001F90:  44 45 43 24 20 61 6C 73 6F 20 73 65 65 6D 73 20    DEC$ also seems 
001FA0:  74 6F 20 63 6F 6E 66 69 72 6D 20 74 68 69 73 20    to confirm this 
001FB0:  76 69 65 77 2E 0A 0A 22 01 BF 22 57 65 20 61 72    view...".."We ar
001FC0:  65 20 74 68 75 73 20 6C 65 66 74 20 77 69 74 68    e thus left with
001FD0:  20 61 20 72 65 64 75 6E 64 61 6E 74 20 63 6F 6D     a redundant com
001FE0:  6D 61 6E 64 20 55 4E 54 2C 20 61 6E 64 20 6E 6F    mand UNT, and no
001FF0:  20 77 61 79 20 6F 66 20 61 63 63 65 73 73 69 6E     way of accessin
002000:  67 20 61 20 68 89 2B 65 78 20 20 20 20 6E 75 6D    g a h.+ex    num
002010:  62 65 72 20 67 72 65 61 74 65 72 20 74 68 61 6E    ber greater than
002020:  20 26 37 46 46 46 2E 20 41 6C 6C 20 69 73 20 6E     &7FFF. All is n
002030:  6F 74 20 6C 6F 73 74 20 68 6F 77 65 76 65 72 2C    ot lost however,
002040:  20 66 6F 72 20 74 68 65 20 6F 6E 65 2D 6C 69 6E     for the one-lin
002050:  65 20 72 6F 75 74 69 6E 65 22 00 4E 00 94 02 BF    e routine".N....
002060:  22 62 65 6C 6F 77 20 70 72 6F 76 69 64 65 73 20    "below provides 
002070:  74 68 65 20 66 61 63 69 6C 69 74 79 2E 20 54 6F    the facility. To
002080:  20 75 73 65 2C 20 74 79 70 65 20 69 6E 20 65 67     use, type in eg
002090:  20 50 52 49 4E 54 20 46 4E 20 44 45 43 28 26 43     PRINT FN DEC(&C
0020A0:  30 30 30 29 2E 0A 0A 22 00 77 00 9E 02 BF 22 31    000)...".w...."1
0020B0:  30 20 44 45 46 20 46 4E 28 41 29 3D 56 41 4C 28    0 DEF FN(A)=VAL(
0020C0:  22 3B FF 03 28 19 22 29 3B 22 26 22 3B FF 03 28    ";..(.");"&";..(
0020D0:  19 22 29 3B 22 2B 52 49 47 48 54 24 28 48 45 58    .");"+RIGHT$(HEX
0020E0:  24 28 41 29 2C 32 29 29 2B 56 41 4C 28 22 F4 FF    $(A),2))+VAL("..
0020F0:  03 28 19 22 29 3B 22 26 22 F4 FF 03 28 19 22 29    .(.");"&"...(.")
002100:  F4 22 2B 4C 45 46 54 CF BC 24 28 48 45 58 24 28    ."+LEFT..$(HEX$(
002110:  41 29 2C 32 29 29 2A 32 35 36 22 01 A0 20 1E 2A    A),2))*256".. .*
002120:  08 00 C5 00 A8 02 BF 20 03 00 00 EE 01 BF 22 2A    ....... ......"*
002130:  2A 20 53 43 52 4F 4C 4C 20 2A 2A 0A 0A 22 01 BF    * SCROLL **.."..
002140:  22 4F 6E 65 20 66 61 63 69 6C 69 74 79 20 6E 6F    "One facility no
002150:  74 20 70 72 6F 76 69 64 65 64 20 6F 6E 20 74 68    t provided on th
002160:  65 20 41 6D 73 74 72 61 64 20 69 73 20 73 63 72    e Amstrad is scr
002170:  65 65 6E 20 73 63 72 6F 6C 6C 69 6E 67 20 77 69    een scrolling wi
002180:  74 68 69 6E 20 70 72 6F 67 72 61 6D 73 2E 20 20    thin programs.  
002190:  20 0A 54 68 69 73 20 63 61 6E 20 65 61 73 69 6C     .This can easil
0021A0:  79 20 62 65 20 69 6E 63 6F 72 70 6F 72 61 74 65    y be incorporate
0021B0:  64 20 62 79 20 69 6E 63 6C 75 64 69 6E 67 20 6C    d by including l
0021C0:  69 6E 65 73 20 31 30 20 74 6F 20 34 30 20 62 65    ines 10 to 40 be
0021D0:  6C 6F 77 2C 20 77 68 69 63 68 20 70 6C 61 63 65    low, which place
0021E0:  20 61 22 3B 20 20 00 87 00 B2 02 BF 22 6D 61 63     a";  ......"mac
0021F0:  68 69 6E 65 20 63 6F 64 65 20 72 6F 75 74 69 6E    hine code routin
002200:  65 20 69 6E 20 6D 65 6D 6F 10 01 72 79 2C 20 61    e in memo..ry, a
002210:  6E 64 20 74 68 65 6E 20 61 63 63 65 73 73 69 6E    nd then accessin
002220:  67 20 74 68 69 73 20 62 79 20 43 41 4C 4C 20 53    g this by CALL S
002230:  43 52 4F 4C 4C 55 50 20 6F 72 20 20 20 20 20 43    CROLLUP or     C
002240:  41 4C 4C 20 53 43 52 4F 4C 4C 44 4F 57 4E 2C 20    ALL SCROLLDOWN, 
002250:  61 73 20 65 67 20 69 6E 20 6C 69 6E 65 73 20 31    as eg in lines 1
002260:  30 30 20 74 6F 20 31 32 30 2E 22 20 20 20 20 00    00 to 120."    .
002270:  82 00 BC 02 BF 22 0A 0A 31 30 20 4D 45 4D 4F 52    ....."..10 MEMOR
002280:  59 20 34 33 35 30 30 3A 46 4F 52 20 58 3D 30 20    Y 43500:FOR X=0 
002290:  54 4F 20 32 37 3A 52 45 41 44 20 41 3A 50 4F 4B    TO 27:READ A:POK
0022A0:  45 20 34 33 39 37 36 2B 58 2C 41 3A 4E 45 58 54    E 43976+X,A:NEXT
0022B0:  22 01 BF 22 32 30 20 44 41 54 41 20 32 34 35 2C    ".."20 DATA 245,
0022C0:  31 39 37 2C 32 31 33 2C 32 32 39 2C 36 2C 30 2C    197,213,229,6,0,
0022D0:  32 30 35 2C 37 37 2C 31 38 38 2C 32 32 35 2C 32    205,77,188,225,2
0022E0:  30 39 2C 31 39 33 2C 32 34 31 2C 32 30 31 22 20    09,193,241,201" 
0022F0:  20 00 42 00 C6 02 BF 22 33 30 20 44 41 54 41 20     .B...."30 DATA 
002300:  32 34 35 2C 31 39 37 2C 32 31 33 27 D9 2C 32 32    245,197,213'.,22
002310:  39 2C 36 2C 31 2C 32 30 35 2C 37 37 2C 31 38 38    9,6,1,205,77,188
002320:  2C 32 32 35 2C 32 30 39 2C 31 39 33 2C 32 34 31    ,225,209,193,241
002330:  2C 32 30 31 22 00 61 00 D0 02 BF 22 34 30 20 53    ,201".a...."40 S
002340:  43 52 4F 4C 4C 55 50 3D 34 33 39 39 30 3A 53 43    CROLLUP=43990:SC
002350:  52 4F 4C 4C 44 4F 57 4E 3D 34 33 39 37 36 0A 22    ROLLDOWN=43976."
002360:  01 BF 22 31 30 30 20 47 24 3D 49 4E 4B 45 59 24    .."100 G$=INKEY$
002370:  3A 49 46 20 47 24 3D 22 3B FF 03 28 19 22 29 3B    :IF G$=";..(.");
002380:  FF 03 28 19 22 29 3B 22 20 54 48 45 4E 20 31 30    ..(.");" THEN 10
002390:  30 22 20 20 20 20 00 70 00 DA 02 BF 22 31 31 30    0"    .p...."110
0023A0:  20 49 46 20 47 24 3D 22 3B FF 03 28 19 22 29 3B     IF G$=";..(.");
0023B0:  22 75 22 3B FF 03 28 19 22 29 3B 22 20 54 48 45    "u";..(.");" THE
0023C0:  4E 20 43 41 4C 4C 20 53 43 52 4F 4C 4C 55 50 20    N CALL SCROLLUP 
0023D0:  45 4C 53 45 20 49 46 20 47 24 3D 22 3B FF 03 28    ELSE IF G$=";..(
0023E0:  19 22 29 3B 22 64 22 3B FF 03 28 19 22 29 3B 22    .");"d";..(.");"
0023F0:  20 54 48 45 4E 20 43 41 4C 4C 20 53 43 52 4F 4C     THEN CALL SCROL
002400:  4C 44 4F 57 4E 22 00 1A 00 E4 02 BF 22 3D C4 31    LDOWN"......"=.1
002410:  32 30 20 47 4F 54 4F 20 31 30 30 22 01 9F 20 1E    20 GOTO 100".. .
002420:  2A 08 00 F0 00 EE 02 BF 22 0C 56 61 6C 75 65 73    *.......".Values
002430:  20 73 65 6E 74 20 74 6F 20 70 6F 72 74 20 32 35     sent to port 25
002440:  36 20 63 6F 6E 74 72 6F 6C 20 73 63 72 65 65 6E    6 control screen
002450:  20 68 6F 72 69 7A 6F 6E 74 61 6C 20 6F 66 66 73     horizontal offs
002460:  65 74 2C 20 61 6E 64 20 63 61 6E 20 62 65 20 75    et, and can be u
002470:  73 65 64 20 66 6F 72 20 20 20 73 69 64 65 77 61    sed for   sidewa
002480:  79 73 20 73 63 72 6F 6C 6C 69 6E 67 2C 20 61 73    ys scrolling, as
002490:  20 62 65 6C 6F 77 2E 20 4C 69 6E 65 20 31 30 20     below. Line 10 
0024A0:  69 73 20 73 69 6D 70 6C 79 20 74 6F 20 70 75 74    is simply to put
0024B0:  20 61 20 64 69 73 70 6C 61 79 20 6F 6E 20 73 63     a display on sc
0024C0:  72 65 65 6E 3B 20 6C 69 6E 65 31 30 30 20 69 73    reen; line100 is
0024D0:  20 61 20 64 65 6C 61 79 2C 20 61 6E 64 20 74 68     a delay, and th
0024E0:  69 73 20 73 75 62 72 6F 75 74 69 6E 65 20 77 6F    is subroutine wo
0024F0:  75 6C 64 20 75 73 75 61 6C 6C 79 20 62 65 20 65    uld usually be e
002500:  67 20 67 61 6D 65 20 63 6F 6E 74 72 6F 6C 2E 3A    g game control.:
002510:  A0 FF FF FF FF 11 3F 09 A6 04 A6 04 9E 04 3B 09    ......?.......;.
002520:  FF 0F 08 10 00 07 01 00 2C 80 41 4D 53 54 52 41    ........,.AMSTRA
002530:  44 20 55 4E 4C 4F 43 4B 45 05 00 01 00 08 70 21    D UNLOCKE.....p!
002540:  00 BA 6E 00 00 00 00 00 00 00 00 00 00 00 00 00    ..n.............
002550:  00 00 00 00 00 00 00 00 00 53 00 00 00 00 00 00    .........S......
002560:  50 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00    PP..............
002570:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002580:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002590:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0025A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0025B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0025C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0025D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0025E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0025F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002600:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002610:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002620:  00 00 00 00 00 00 00 00 00 35 C2 FF FF FF FF 11    .........5......
002630:  3B 09 A6 04 A6 04 AA 04 52 09 00 10 08 83 0A 15    ;.......R.......
002640:  08 00 16 0A 0A 22 00 A3 00 F8 02 BF 22 31 30 20    .....".£...."10 
002650:  46 4F 52 20 58 3D 31 20 54 4F 20 32 35 3A 50 52    FOR X=1 TO 25:PR
002660:  49 4E 54 20 54 41 42 28 58 29 3B 22 3B FF 03 28    INT TAB(X);";..(
002670:  19 22 29 3B 22 41 22 3B FF 03 28 19 22 29 3B 22    .");"A";..(.");"
002680:  3A 4E 45 58 54 22 01 BF 22 32 30 20 46 4F 52 20    :NEXT".."20 FOR 
002690:  53 3D 31 20 54 4F 20 34 30 3A 4F 55 54 20 32 35    S=1 TO 40:OUT 25
0026A0:  36 2C 53 22 01 BF 22 33 30 20 47 4F 53 55 42 20    6,S".."30 GOSUB 
0026B0:  31 30 30 3A 4E 45 58 54 3A 47 4F 54 4F 20 32 30    100:NEXT:GOTO 20
0026C0:  22 01 BF 22 31 30 30 20 46 4F 52 20 59 3D 31 20    ".."100 FOR Y=1 
0026D0:  54 4F 20 32 35 3A 4E 45 58 54 3A 3A 52 45 54 55    TO 25:NEXT::RETU
0026E0:  52 4E 22 01 A0 20 1E 2A 08 00 F5 00 02 03 BF 20    RN".. .*....... 
0026F0:  03 00 00 EE 01 BF 22 2A 2A 20 4D 4F 44 20 43 4F    ......"** MOD CO
002700:  4D 4D 41 4E 44 20 2A 2A 0A 0A 22 01 BF 22 54 68    MMAND **..".."Th
002710:  65 20 6D 6F 64 75 6C 75 73 20 61 72 69 74 68 6D    e modulus arithm
002720:  65 74 69 63 20 66 75 6E 63 74 69 6F 6E 20 4D 4F    etic function MO
002730:  44 20 69 73 20 61 76 61 69 6C 61 62 6C 65 20 6F    D is available o
002740:  6E 20 20 CB 6F 74 68 65 20 41 4D 53 54 52 41 44    n  .othe AMSTRAD
002750:  2C 20 61 6C 74 68 6F 75 67 68 20 6E 6F 74 20 20    , although not  
002760:  6D 65 6E 74 69 6F 6E 65 64 20 69 6E 20 74 68 65    mentioned in the
002770:  20 68 61 6E 64 62 6F 6F 6B 2E 20 49 74 20 67 69     handbook. It gi
002780:  76 65 73 20 74 68 65 20 69 6E 74 65 67 65 72 20    ves the integer 
002790:  76 61 6C 75 65 20 74 68 61 74 20 69 73 20 74 68    value that is th
0027A0:  65 20 72 65 6D 61 69 6E 64 65 72 20 6F 66 20 20    e remainder of  
0027B0:  61 6E 20 69 6E 74 65 67 65 72 20 64 69 76 69 73    an integer divis
0027C0:  69 6F 6E 20 28 73 65 65 20 69 6E 64 65 78 20 69    ion (see index i
0027D0:  74 65 6D 20 31 37 29 20 65 67 3A 0A 0A 22 20 20    tem 17) eg:.."  
0027E0:  00 42 00 0C 03 BF 22 20 20 20 20 32 35 2E 36 38    .B...."    25.68
0027F0:  20 4D 4F 44 20 36 2E 39 39 20 20 20 67 69 76 65     MOD 6.99   give
002800:  73 20 35 20 20 28 32 36 2F 37 3D 33 20 72 65 6D    s 5  (26/7=3 rem
002810:  61 69 6E 64 65 72 20 35 29 22 01 A0 20 1E 2A 08    ainder 5)".. .*.
002820:  20 20 00 CF 00 16 03 BF 20 03 00 00 EE 01 BF 22      ...... ......"
002830:  2A 2A 20 54 4F 4B 45 4E 53 20 2D 20 52 45 4D 20    ** TOKENS - REM 
002840:  26 20 44 41 54 5B CB 41 20 2A 2A 0A 22 01 BF 22    & DAT[.A **.".."
002850:  42 41 53 49 43 20 70 72 6F 67 72 61 6D 73 20 61    BASIC programs a
002860:  72 65 20 6E 6F 74 20 73 74 6F 72 65 64 20 62 79    re not stored by
002870:  20 74 68 65 20 63 6F 6D 70 75 74 65 72 20 69 6E     the computer in
002880:  20 74 68 65 20 77 61 79 20 79 6F 75 20 74 79 70     the way you typ
002890:  65 20 74 68 65 6D 20 69 6E 2E 20 54 68 69 73 20    e them in. This 
0028A0:  69 73 20 63 6F 76 65 72 65 64 20 69 6E 20 6D 6F    is covered in mo
0028B0:  72 65 20 64 65 74 61 69 6C 20 69 6E 20 74 68 65    re detail in the
0028C0:  20 73 65 63 74 69 6F 6E 73 20 6F 6E 20 70 72 6F     sections on pro
0028D0:  67 72 61 6D 20 73 74 6F 72 61 67 65 20 61 6E 64    gram storage and
0028E0:  20 74 6F 6B 65 6E 69 73 61 74 69 6F 6E 2C 22 20     tokenisation," 
0028F0:  20 20 20 00 B0 00 20 03 BF 22 66 6F 72 20 74 68       ... .."for th
002900:  65 20 6D 6F 6D 65 6E 74 20 69 74 20 69 73 20 73    e moment it is s
002910:  75 66 66 69 63 69 65 6E 74 20 74 6F 20 6B 6E 6F    ufficient to kno
002920:  77 20 74 68 61 74 20 6B 65 79 77 6F 72 64 73 20    w that keywords 
002930:  28 63 6F 6D 6D 61 6E 64 73 20 73 75 63 68 20 61    (commands such a
002940:  73 20 50 52 49 4E 54 12 4F 20 26 20 49 4E 50 55    s PRINT.O & INPU
002950:  54 20 65 74 63 29 2C 20 61 72 65 20 72 65 70 72    T etc), are repr
002960:  65 73 65 6E 74 65 64 20 69 6E 20 74 68 65 20 63    esented in the c
002970:  6F 6D 70 75 74 65 72 73 20 6D 65 6D 6F 72 79 20    omputers memory 
002980:  61 73 20 6E 75 6D 62 65 72 73 20 6F 72 20 61 73    as numbers or as
002990:  20 70 61 69 72 73 20 6F 66 20 20 20 6E 75 6D 62     pairs of   numb
0029A0:  65 72 73 2E 22 00 FA 00 2A 03 BF 20 22 0A 4F 6E    ers."...*.. ".On
0029B0:  65 20 6F 66 20 74 68 65 20 6E 75 6D 62 65 72 73    e of the numbers
0029C0:  20 75 73 65 64 20 28 26 41 33 2C 20 64 65 63 69     used (&A3, deci
0029D0:  6D 61 6C 20 31 36 33 29 20 68 61 70 70 65 6E 73    mal 163) happens
0029E0:  20 74 6F 20 62 65 20 74 68 65 20 41 53 43 49 49     to be the ASCII
0029F0:  20 63 6F 64 65 20 66 6F 72 20 A3 2C 20 20 77 68     code for £,  wh
002A00:  69 63 68 20 61 70 70 65 61 72 73 20 6F 6E 20 74    ich appears on t
002A10:  68 65 20 6B 65 79 62 6F 61 72 64 2C 20 61 6E 64    he keyboard, and
002A20:  20 77 68 69 63 68 20 63 61 6E 20 74 68 75 73 20     which can thus 
002A30:  62 65 20 75 73 65 64 20 69 6E 20 52 45 4D 20 6F    be used in REM o
002A40:  72 20 44 41 54 41 20 20 20 4E 1A 20 20 20 20 20    r DATA   N.     
002A50:  73 74 61 74 65 6D 65 6D 74 73 2E 20 55 6E 66 6F    statememts. Unfo
002A60:  72 74 75 6E 61 74 65 6C 79 2C 20 64 75 65 20 74    rtunately, due t
002A70:  6F 20 61 20 66 61 75 6C 74 20 69 6E 20 69 74 73    o a fault in its
002A80:  20 64 65 73 69 67 6E 2C 20 74 68 65 20 42 41 53     design, the BAS
002A90:  49 43 20 69 6E 74 65 72 70 72 65 74 65 72 2C 22    IC interpreter,"
002AA0:  20 00 A9 00 34 03 BF 22 77 68 65 6E 20 6D 65 65     ...4.."when mee
002AB0:  74 69 6E 67 20 74 68 65 20 63 68 61 72 61 63 74    ting the charact
002AC0:  65 72 2C 20 74 68 69 6E 6B 73 20 69 74 20 69 73    er, thinks it is
002AD0:  20 61 20 6B 65 79 77 6F 72 64 20 74 6F 6B 65 6E     a keyword token
002AE0:  20 61 6E 64 20 73 69 6E 63 65 20 31 36 33 20 69     and since 163 i
002AF0:  73 20 74 68 65 20 20 20 74 6F 6B 65 6E 20 66 6F    s the   token fo
002B00:  72 20 49 4E 50 55 54 2C 20 61 6E 79 20 A3 20 73    r INPUT, any £ s
002B10:  69 67 6E 73 20 69 6E 20 44 41 54 41 20 6F 72 20    igns in DATA or 
002B20:  52 45 4D 20 73 74 61 74 65 6D 65 6E 74 73 20 77    REM statements w
002B30:  69 6C 6C 20 61 70 70 65 61 72 20 61 73 20 49 4E    ill appear as IN
002B40:  50 55 54 20 77 68 65 6E 22 3B 00 3F DC 95 00 3E    PUT when";.?...>
002B50:  03 BF 22 6C 69 73 74 65 64 20 74 6F 20 73 63 72    .."listed to scr
002B60:  65 65 6E 2E 0A 22 01 BF 22 54 68 65 72 65 20 69    een..".."There i
002B70:  73 20 61 20 77 61 79 20 6F 66 20 6F 76 65 72 63    s a way of overc
002B80:  6F 6D 69 6E 67 20 74 68 65 20 70 72 6F 62 6C 65    oming the proble
002B90:  6D 2C 20 77 68 69 63 68 20 69 73 20 74 6F 20 65    m, which is to e
002BA0:  6E 63 6C 6F 73 65 20 69 6E 20 71 75 6F 74 65 73    nclose in quotes
002BB0:  20 61 6E 79 20 77 6F 72 64 63 6F 6E 74 61 69 6E     any wordcontain
002BC0:  69 6E 67 20 A3 20 69 6E 20 52 45 4D 20 6F 72 20    ing £ in REM or 
002BD0:  44 41 54 41 20 6C 69 6E 65 73 2C 20 65 67 0A 22    DATA lines, eg."
002BE0:  20 00 5D 00 48 03 BF 22 31 30 30 20 44 41 54 41     .].H.."100 DATA
002BF0:  20 35 35 24 2C 32 30 30 20 79 65 6E 2C 66 69 66     55$,200 yen,fif
002C00:  74 79 20 73 68 69 6C 6C 69 6E 67 73 2C 22 3B FF    ty shillings,";.
002C10:  03 28 19 22 29 3B 22 A3 35 2E 32 35 22 3B FF 03    .(.");"£5.25";..
002C20:  28 19 22 29 3B 22 2C 31 30 30 20 6C 69 72 61 22    (.");",100 lira"
002C30:  01 A0 20 1E 2A 08 20 20 20 20 20 20 20 20 00 C5    .. .*.        ..
002C40:  00 52 03 BF 20 03 00 00 EE 01 BF 22 0B 9E 94 0B    .R.. ......"....
002C50:  2A 2A 20 54 4F 4B 45 4E 53 20 2A 2A 22 01 BF 22    ** TOKENS **".."
002C60:  54 68 65 20 76 61 72 69 6F 75 73 20 6B 65 79 77    The various keyw
002C70:  6F 72 64 73 20 28 69 65 20 74 68 65 20 63 6F 6D    ords (ie the com
002C80:  6D 61 6E 64 73 2C 20 73 75 63 68 20 61 73 20 50    mands, such as P
002C90:  52 49 4E 54 2C 20 47 4F 54 4F 2C 20 53 41 56 45    RINT, GOTO, SAVE
002CA0:  20 65 74 63 29 20 61 72 65 20 6E 6F 74 20 20 20     etc) are not   
002CB0:  73 74 6F 72 65 64 20 69 6E 20 74 68 65 20 77 61    stored in the wa
002CC0:  79 20 74 68 65 79 20 61 72 65 20 74 79 70 65 64    y they are typed
002CD0:  20 69 6E 2C 20 62 75 74 20 61 73 20 61 20 6E 75     in, but as a nu
002CE0:  6D 65 72 69 63 20 63 6F 64 65 2E 20 20 54 68 69    meric code.  Thi
002CF0:  73 20 73 61 76 65 73 20 73 70 61 63 65 20 69 6E    s saves space in
002D00:  22 3B 20 20 20 00 71 00 5C 03 BF 22 6D 65 6D 6F    ";   .q.\.."memo
002D10:  72 79 20 61 6E 64 20 61 6C 73 6F 20 6D 61 6B 65    ry and also make
002D20:  73 20 70 72 6F 67 72 61 6D 73 20 6D 75 63 68 20    s programs much 
002D30:  66 61 73 74 65 72 20 72 75 6E 6E 69 6E 67 2E 20    faster running. 
002D40:  54 68 65 20 6B 65 79 77 6F 72 64 73 20 61 6E 23    The keywords an#
002D50:  52 64 20 74 68 65 69 72 20 74 6F 6B 65 6E 6E 75    Rd their tokennu
002D60:  6D 62 65 72 73 20 61 72 65 20 6C 69 73 74 65 64    mbers are listed
002D70:  20 62 65 6C 6F 77 0A 22 00 F5 00 66 03 BF 22 31     below."...f.."1
002D80:  32 38 20 41 46 54 45 52 2C 20 31 32 39 20 41 55    28 AFTER, 129 AU
002D90:  54 4F 2C 20 31 33 30 20 42 4F 52 44 45 52 2C 20    TO, 130 BORDER, 
002DA0:  31 33 31 20 43 41 4C 4C 2C 20 31 33 32 20 43 41    131 CALL, 132 CA
002DB0:  54 2C 20 31 33 33 20 43 48 41 49 4E 2C 20 31 33    T, 133 CHAIN, 13
002DC0:  34 20 43 4C 45 41 52 2C 20 20 20 20 20 20 20 31    4 CLEAR,       1
002DD0:  33 35 20 43 4C 47 2C 20 31 33 36 20 43 4C 4F 53    35 CLG, 136 CLOS
002DE0:  45 49 4E 2C 20 31 33 37 20 43 4C 4F 53 45 4F 55    EIN, 137 CLOSEOU
002DF0:  54 2C 20 31 33 38 20 43 4C 53 2C 20 31 33 39 20    T, 138 CLS, 139 
002E00:  43 4F 4E 54 2C 20 31 34 30 20 44 41 54 41 2C 20    CONT, 140 DATA, 
002E10:  31 34 31 20 44 45 46 2C 20 20 20 20 20 20 20 31    141 DEF,       1
002E20:  34 32 20 44 45 46 49 4E 54 2C 20 31 34 33 20 44    42 DEFINT, 143 D
002E30:  45 46 52 45 41 4C 2C 20 31 34 34 20 44 45 46 53    EFREAL, 144 DEFS
002E40:  54 52 2C 20 31 34 35 20 44 45 47 2C 20 31 34 36    TR, 145 DEG, 146
002E50:  20 B8 C8 FF FF FF FF 11 3A 09 A6 04 A6 04 9F 04     .......:.......
002E60:  3D 09 01 10 08 11 00 07 01 00 2C 80 41 4D 53 54    =.........,.AMST
002E70:  52 41 44 20 55 4E 4C 4F 43 4B 45 06 00 01 00 08    RAD UNLOCKE.....
002E80:  70 29 00 BA 6E 00 00 00 00 00 00 00 00 00 00 00    p)..n...........
002E90:  00 00 00 00 00 00 00 00 00 00 00 53 00 00 00 00    ...........S....
002EA0:  00 00 50 50 00 00 00 00 00 00 00 00 00 00 00 00    ..PP............
002EB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002EC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002ED0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002EE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002EF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002F00:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002F10:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002F20:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002F30:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002F40:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002F50:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
002F60:  00 00 00 00 00 00 00 00 00 00 00 91 6D FF FF FF    ............m...
002F70:  FF 11 3A 09 A6 04 A6 04 A7 04 4E 09 FF 0F 08 87    ..:.......N.....
002F80:  0A 15 08 00 16 44 45 4C 45 54 45 2C 20 31 34 37    .....DELETE, 147
002F90:  20 44 49 4D 2C 20 31 34 38 20 44 52 41 57 2C 22     DIM, 148 DRAW,"
002FA0:  20 00 A4 00 70 03 BF 22 31 34 39 20 44 52 41 57     ...p.."149 DRAW
002FB0:  52 2C 20 31 35 30 20 45 44 49 54 2C 20 31 35 31    R, 150 EDIT, 151
002FC0:  20 45 4C 53 45 2C 20 31 35 32 20 45 4E 44 2C 20     ELSE, 152 END, 
002FD0:  31 35 33 20 45 4E 54 2C 20 31 35 34 20 45 4E 56    153 ENT, 154 ENV
002FE0:  2C 20 31 35 35 20 45 52 41 53 45 2C 20 31 35 36    , 155 ERASE, 156
002FF0:  20 45 52 52 4F 52 2C 20 31 35 37 20 45 56 45 52     ERROR, 157 EVER
003000:  59 2C 20 31 35 38 20 46 4F 52 2C 20 31 35 39 20    Y, 158 FOR, 159 
003010:  47 4F 53 55 42 2C 20 31 36 30 20 47 4F 54 4F 2C    GOSUB, 160 GOTO,
003020:  20 31 36 31 20 49 46 2C 20 31 36 32 20 49 4E 4B     161 IF, 162 INK
003030:  2C 20 31 36 33 20 49 4E 50 55 54 2C 20 31 36 34    , 163 INPUT, 164
003040:  20 4B 45 59 22 00 A9 00 7A 03 BF 22 31 36 35 20     KEY"...z.."165 
003050:  4C 45 54 2C 20 31 36 36 20 4C 49 4E 45 2C 20 31    LET, 166 LINE, 1
003060:  36 37 20 4C 49 53 54 2C 20 31 36 38 20 4C 4F 41    67 LIST, 168 LOA
003070:  44 2C 20 31 36 39 20 4C 4F 43 41 54 45 2C 20 31    D, 169 LOCATE, 1
003080:  37 30 20 4D 45 A2 E8 4D 4F 52 59 2C 20 31 37 31    70 ME..MORY, 171
003090:  20 4D 45 52 47 45 2C 20 20 20 20 20 20 20 31 37     MERGE,       17
0030A0:  32 20 4D 49 44 24 2C 20 31 37 33 20 4D 4F 44 45    2 MID$, 173 MODE
0030B0:  2C 20 31 37 34 20 4D 4F 56 45 2C 20 31 37 35 20    , 174 MOVE, 175 
0030C0:  4D 4F 56 45 52 2C 20 31 37 36 20 4E 45 58 54 2C    MOVER, 176 NEXT,
0030D0:  20 31 37 37 20 4E 45 57 2C 20 31 37 38 20 4F 4E     177 NEW, 178 ON
0030E0:  2C 20 31 37 39 20 4F 4E 20 42 52 45 41 4B 22 3B    , 179 ON BREAK";
0030F0:  00 F6 00 84 03 BF 22 31 38 30 20 4F 4E 20 45 52    ......"180 ON ER
003100:  52 4F 52 20 47 4F 54 4F 2C 20 31 38 31 20 4F 4E    ROR GOTO, 181 ON
003110:  20 53 51 2C 20 31 38 32 20 4F 50 45 4E 49 4E 2C     SQ, 182 OPENIN,
003120:  20 31 38 33 20 4F 50 45 4E 4F 55 54 2C 20 31 38     183 OPENOUT, 18
003130:  34 20 4F 52 49 47 49 4E 2C 20 31 38 35 20 4F 55    4 ORIGIN, 185 OU
003140:  54 2C 20 20 20 20 20 31 38 36 20 50 41 50 45 52    T,     186 PAPER
003150:  2C 20 31 38 37 20 50 45 4E 2C 20 31 38 38 20 50    , 187 PEN, 188 P
003160:  4C 4F 54 2C 20 31 38 39 20 50 4C 4F 54 52 2C 20    LOT, 189 PLOTR, 
003170:  31 39 30 20 50 4F 4B 45 2C 20 31 39 31 20 50 52    190 POKE, 191 PR
003180:  49 4E 54 2C 20 31 39 CE 07 32 20 27 20 28 52 45    INT, 19..2 ' (RE
003190:  4D 29 2C 20 20 20 20 20 20 31 39 33 20 52 41 44    M),      193 RAD
0031A0:  2C 20 31 39 34 20 52 41 4E 44 4F 4D 49 5A 45 2C    , 194 RANDOMIZE,
0031B0:  20 31 39 35 20 52 45 41 44 2C 20 31 39 36 20 52     195 READ, 196 R
0031C0:  45 4C 45 41 53 45 2C 20 31 39 37 20 52 45 4D 2C    ELEASE, 197 REM,
0031D0:  20 31 39 38 20 52 45 4E 55 4D 2C 20 31 39 39 20     198 RENUM, 199 
0031E0:  52 45 53 54 4F 52 45 22 00 F7 00 8E 03 BF 22 32    RESTORE"......"2
0031F0:  30 30 20 52 45 53 55 4D 45 2C 20 32 30 31 20 52    00 RESUME, 201 R
003200:  45 54 55 52 4E 2C 20 32 30 32 20 52 55 4E 2C 20    ETURN, 202 RUN, 
003210:  32 30 33 20 53 41 56 45 2C 20 32 30 34 20 53 4F    203 SAVE, 204 SO
003220:  55 4E 44 2C 20 32 30 35 20 53 50 45 45 44 2C 20    UND, 205 SPEED, 
003230:  32 30 36 20 53 54 4F 50 2C 20 20 20 20 20 20 32    206 STOP,      2
003240:  30 37 20 53 59 4D 42 4F 4C 2C 20 32 30 38 20 54    07 SYMBOL, 208 T
003250:  41 47 2C 20 32 30 39 20 54 41 47 4F 46 46 2C 20    AG, 209 TAGOFF, 
003260:  32 31 30 20 54 52 4F 46 46 2C 20 32 31 31 20 54    210 TROFF, 211 T
003270:  52 4F 4E 2C 20 32 31 32 20 57 41 49 54 2C 20 32    RON, 212 WAIT, 2
003280:  31 33 20 57 45 4E 44 2C 20 9A 53 20 20 20 20 20    13 WEND, .S     
003290:  20 32 31 34 20 57 48 49 4C 45 2C 20 32 31 35 20     214 WHILE, 215 
0032A0:  57 49 44 54 48 2C 20 32 31 36 20 57 49 4E 44 4F    WIDTH, 216 WINDO
0032B0:  57 2C 20 32 31 37 20 57 52 49 54 45 2C 20 32 31    W, 217 WRITE, 21
0032C0:  38 20 5A 4F 4E 45 2C 20 32 31 39 20 44 49 2C 20    8 ZONE, 219 DI, 
0032D0:  32 32 30 20 45 49 2C 20 32 32 37 20 45 52 4C 2C    220 EI, 227 ERL,
0032E0:  22 00 D2 00 98 03 BF 22 32 32 38 20 46 4E 2C 20    "......"228 FN, 
0032F0:  32 32 39 20 53 50 43 2C 20 32 33 30 20 53 54 45    229 SPC, 230 STE
003300:  50 2C 20 32 33 31 20 53 57 41 50 2C 20 32 33 34    P, 231 SWAP, 234
003310:  20 54 41 42 2C 20 32 33 35 20 54 48 45 4E 2C 20     TAB, 235 THEN, 
003320:  32 33 36 20 54 4F 2C 20 32 33 37 20 55 53 49 4E    236 TO, 237 USIN
003330:  47 2C 20 32 33 38 20 3E 32 33 39 20 3D 2C 20 32    G, 238 >239 =, 2
003340:  34 30 20 3E 3D 2C 20 32 34 31 20 3C 2C 20 32 34    40 >=, 241 <, 24
003350:  32 20 3C 3E 2C 20 32 34 33 20 3C 3D 2C 20 32 34    2 <>, 243 <=, 24
003360:  34 20 2B 2C 20 32 34 35 20 2D 2C 20 32 34 36 20    4 +, 245 -, 246 
003370:  2A 2C 20 32 34 37 20 2F 2C 20 32 34 38 20 5E 2C    *, 247 /, 248 ^,
003380:  20 32 34 39 20 5C 2C 20 32 35 30 65 1E 20 41 4E     249 \, 250e. AN
003390:  44 2C 20 32 35 31 20 4D 4F 44 2C 20 32 35 32 20    D, 251 MOD, 252 
0033A0:  4F 52 2C 20 32 35 33 20 58 4F 52 2C 20 32 35 34    OR, 253 XOR, 254
0033B0:  20 4E 4F 54 22 00 57 00 A2 03 BF 22 0A 20 20 20     NOT".W....".   
0033C0:  20 20 20 20 20 20 20 18 20 41 20 46 55 52 54 48           . A FURTH
0033D0:  45 52 20 4C 49 53 54 20 4F 46 20 54 4F 4B 45 4E    ER LIST OF TOKEN
0033E0:  53 20 46 4F 4C 4C 4F 57 53 20 2D 20 50 52 45 53    S FOLLOWS - PRES
0033F0:  53 20 41 4E 59 20 4B 45 59 20 54 4F 20 43 4F 4E    S ANY KEY TO CON
003400:  54 49 4E 55 45 20 18 22 3B 20 20 20 00 1C 00 AC    TINUE .";   ....
003410:  03 03 00 00 C7 EF FF 43 01 A1 20 03 00 00 C7 EF    .......C.. .....
003420:  22 22 20 EB 20 1E AC 03 00 6F 00 B6 03 BF 03 00    "" . ....o......
003430:  00 CE 01 BF 22 2A 2A 20 54 4F 4B 45 4E 53 20 2A    ...."** TOKENS *
003440:  2A 0A 22 01 BF 22 41 6C 6C 20 74 68 65 20 74 6F    *.".."All the to
003450:  6B 65 6E 73 20 69 6E 20 74 68 69 73 20 73 65 63    kens in this sec
003460:  6F 6E 64 20 6C 69 73 74 20 68 61 76 65 20 70 61    ond list have pa
003470:  69 72 73 20 6F 66 20 6E 75 6D 62 65 72 73 2C 20    irs of numbers, 
003480:  62 65 69 6E 67 20 70 72 65 66 69 78 65 ED F7 64    being prefixe..d
003490:  20 62 79 20 32 35 35 2E 22 00 F8 00 C0 03 BF 22     by 255."......"
0034A0:  30 20 41 42 53 2C 20 31 20 41 53 43 2C 20 32 20    0 ABS, 1 ASC, 2 
0034B0:  41 54 4E 2C 20 33 20 43 48 52 24 2C 20 34 20 43    ATN, 3 CHR$, 4 C
0034C0:  49 4E 54 2C 20 35 20 43 4F 53 2C 20 36 20 43 52    INT, 5 COS, 6 CR
0034D0:  45 41 4C 2C 20 37 20 45 58 50 2C 20 38 20 45 58    EAL, 7 EXP, 8 EX
0034E0:  50 2C 20 39 20 46 52 45 2C 20 20 20 20 20 20 20    P, 9 FRE,       
0034F0:  31 30 20 49 4E 4B 45 59 2C 20 31 31 20 49 4E 50    10 INKEY, 11 INP
003500:  2C 20 31 32 20 49 4E 54 2C 20 31 33 20 4A 4F 59    , 12 INT, 13 JOY
003510:  2C 20 31 34 20 4C 45 4E 2C 20 31 35 20 4C 4F 47    , 14 LEN, 15 LOG
003520:  2C 20 31 36 20 4C 4F 47 31 30 2C 20 31 37 20 4C    , 16 LOG10, 17 L
003530:  4F 57 45 52 24 2C 20 31 38 20 50 45 45 4B 2C 20    OWER$, 18 PEEK, 
003540:  31 39 20 52 45 4D 41 49 4E 2C 20 32 30 20 53 47    19 REMAIN, 20 SG
003550:  4E 2C 20 32 31 20 53 49 4E 2C 20 32 32 20 53 50    N, 21 SIN, 22 SP
003560:  41 43 45 24 2C 20 32 33 20 53 51 2C 20 32 34 20    ACE$, 23 SQ, 24 
003570:  53 51 52 2C 20 32 35 20 53 54 52 24 2C 20 32 36    SQR, 25 STR$, 26
003580:  20 54 41 4E 2C 20 32 37 20 55 4E 54 2C 22 20 0C     TAN, 27 UNT," .
003590:  2D 20 20 00 F2 00 CA 03 BF 22 32 38 20 55 50 50    -  ......"28 UPP
0035A0:  45 52 24 2C 20 32 39 20 56 41 4C 2C 20 36 34 20    ER$, 29 VAL, 64 
0035B0:  45 4F 46 2C 20 36 35 20 45 52 52 2C 20 36 36 20    EOF, 65 ERR, 66 
0035C0:  48 49 4D 45 4D 2C 20 36 37 20 49 4E 4B 45 59 24    HIMEM, 67 INKEY$
0035D0:  2C 20 36 38 20 50 49 2C 20 36 39 20 52 4E 44 2C    , 68 PI, 69 RND,
0035E0:  20 37 30 20 54 49 4D 45 2C 20 37 31 20 58 50 4F     70 TIME, 71 XPO
0035F0:  53 2C 20 37 32 20 59 50 4F 53 2C 20 31 31 33 20    S, 72 YPOS, 113 
003600:  42 49 4E 24 2C 20 31 31 34 20 44 45 43 24 2C 20    BIN$, 114 DEC$, 
003610:  31 31 35 20 48 45 58 24 2C 20 31 31 36 20 49 4E    115 HEX$, 116 IN
003620:  53 54 52 2C 20 31 31 37 20 4C 45 46 54 24 2C 20    STR, 117 LEFT$, 
003630:  31 31 38 20 4D 41 58 2C 20 20 31 31 39 20 4D 49    118 MAX,  119 MI
003640:  4E 2C 20 31 32 30 20 50 4F 53 2C 20 31 32 31 20    N, 120 POS, 121 
003650:  52 49 47 48 54 24 2C 20 31 32 32 20 52 4F 55 4E    RIGHT$, 122 ROUN
003660:  44 2C 20 31 32 33 20 53 54 52 49 4E 47 24 2C 20    D, 123 STRING$, 
003670:  31 32 34 20 54 45 53 54 2C 20 31 32 35 20 54 45    124 TEST, 125 TE
003680:  53 54 52 2C 22 00 16 00 D4 03 BF 22 31 32 37 20    STR,"......"127 
003690:  56 C3 7B 50 4F 53 22 01 A0 20 1E 2A 08 00 E3 00    V.{POS".. .*....
0036A0:  DE 03 BF 03 00 00 CE 01 BF 22 2A 2A 20 53 43 49    ........."** SCI
0036B0:  45 4E 54 49 46 49 43 20 4E 4F 54 41 54 49 4F 4E    ENTIFIC NOTATION
0036C0:  20 2A 2A 0A 0A 22 01 BF 22 54 68 65 72 65 20 69     **..".."There i
0036D0:  73 20 61 20 6C 69 6D 69 74 20 74 6F 20 74 68 65    s a limit to the
0036E0:  20 73 69 7A 65 20 6F 66 20 6E 75 6D 62 65 72 20     size of number 
0036F0:  77 68 69 63 68 20 63 6F 6D 70 75 74 65 72 73 20    which computers 
003700:  63 61 6E 20 64 69 73 70 6C 61 79 20 6F 6E 20 73    can display on s
003710:  63 72 65 65 6E 20 69 6E 20 74 68 65 20 63 6F 6E    creen in the con
003720:  76 65 6E 74 69 6F 6E 61 6C 20 6D 61 6E 6E 65 72    ventional manner
003730:  2E 20 20 57 69 74 68 20 74 68 65 20 43 50 43 20    .  With the CPC 
003740:  34 36 34 20 74 68 69 73 20 6C 69 6D 69 74 20 69    464 this limit i
003750:  73 20 61 20 6E 75 6D 62 65 72 20 6F 66 20 75 70    s a number of up
003760:  20 74 6F 20 6E 69 6E 65 20 64 69 67 69 74 73 2C     to nine digits,
003770:  20 65 67 20 36 37 38 33 32 31 36 39 35 2E 0A 22     eg 678321695.."
003780:  00 F7 00 E8 03 BF 22 41 62 6F 76 65 20 74 68 69    ......"Above thi
003790:  73 2C 20 25 29 FF FF FF FF 11 39 09 A6 04 A6 04    s, %).....9.....
0037A0:  9F 04 3E 09 FD 0F 08 10 00 07 01 00 2C 80 41 4D    ..>.........,.AM
0037B0:  53 54 52 41 44 20 55 4E 4C 4F 43 4B 45 07 00 01    STRAD UNLOCKE...
0037C0:  00 08 70 31 00 BA 6E 00 00 00 00 00 00 00 00 00    ..p1..n.........
0037D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 53 00 00    .............S..
0037E0:  00 00 00 00 50 50 00 00 00 00 00 00 00 00 00 00    ....PP..........
0037F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003800:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003810:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003820:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003830:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003840:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003850:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003860:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003870:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003880:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
003890:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0038A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 C0 F2 FF    ................
0038B0:  FF FF FF 11 3B 09 A6 04 A6 04 AA 04 52 09 01 10    ....;.......R...
0038C0:  08 82 0A 15 08 00 16 61 6E 64 20 77 69 74 68 20    .......and with 
0038D0:  76 65 72 79 20 73 6D 61 6C 6C 20 6E 75 6D 62 65    very small numbe
0038E0:  72 73 20 61 6C 73 6F 2C 20 74 68 65 20 63 6F 6D    rs also, the com
0038F0:  70 75 74 65 72 20 61 64 6F 70 74 73 20 61 20 64    puter adopts a d
003900:  69 66 66 65 72 65 6E 74 20 20 20 73 79 73 74 65    ifferent   syste
003910:  6D 2C 20 6B 6E 6F 77 6E 20 61 73 20 73 63 69 65    m, known as scie
003920:  6E 74 69 66 69 63 20 6E 6F 74 61 74 69 6F 6E 2E    ntific notation.
003930:  20 20 46 6F 72 20 65 78 61 6D 70 6C 65 2C 20 69      For example, i
003940:  66 20 79 6F 75 20 74 79 70 65 20 69 6E 20 41 3D    f you type in A=
003950:  35 36 37 38 39 32 33 34 35 33 2C 61 6E 64 20 74    5678923453,and t
003960:  68 65 6E 2C 20 50 52 49 4E 54 20 41 2C 20 74 68    hen, PRINT A, th
003970:  65 20 76 61 6C 75 65 20 61 70 70 65 61 72 69 6E    e value appearin
003980:  67 20 6F 6E 20 73 63 72 65 65 6E 20 77 69 6C 6C    g on screen will
003990:  20 62 65 20 35 2E 36 37 38 39 32 45 2B 30 39 2C     be 5.67892E+09,
0039A0:  20 69 65 22 20 20 20 20 20 20 20 00 A8 00 F2 03     ie"       .....
0039B0:  BF 22 35 2E 36 37 38 39 32 20 77 69 74 68 20 74    ."5.67892 with t
0039C0:  68 65 20 64 65 63 69 47 6F 6D 61 6C 20 70 6F 69    he deciGomal poi
0039D0:  6E 74 20 73 68 69 66 74 65 64 20 39 20 70 6C 61    nt shifted 9 pla
0039E0:  63 65 73 20 74 6F 20 74 68 65 20 72 69 67 68 74    ces to the right
0039F0:  2E 0A 0A 22 01 BF 22 54 68 65 20 41 6D 73 74 72    ...".."The Amstr
003A00:  61 64 20 61 6C 73 6F 20 6C 65 74 73 20 79 6F 75    ad also lets you
003A10:  20 75 73 65 20 74 68 69 73 20 73 79 73 74 65 6D     use this system
003A20:  20 66 6F 72 20 65 6E 74 65 72 69 6E 67 20 76 61     for entering va
003A30:  6C 75 65 73 2C 20 69 65 20 41 3D 32 2E 32 45 2B    lues, ie A=2.2E+
003A40:  31 32 2E 22 01 A0 20 1E 2A 08 20 20 20 20 20 20    12.".. .*.      
003A50:  20 20 20 20 20 00 A3 00 FC 03 BF 20 03 00 00 EE         .£.... ....
003A60:  01 BF 22 2A 2A 20 43 54 52 4C 20 43 55 52 53 4F    .."** CTRL CURSO
003A70:  52 20 2A 2A 0A 22 01 BF 22 54 68 65 20 63 75 72    R **.".."The cur
003A80:  73 6F 72 20 6B 65 79 73 20 66 75 6E 63 74 69 6F    sor keys functio
003A90:  6E 20 69 6E 20 61 20 73 70 65 63 69 61 6C 20 77    n in a special w
003AA0:  61 79 2C 20 77 68 69 63 68 20 69 73 20 76 65 72    ay, which is ver
003AB0:  79 20 75 73 65 66 75 6C 20 77 68 65 6E 20 65 64    y useful when ed
003AC0:  69 74 69 6E 67 2C 20 20 20 64 95 69 66 20 74 68    iting,   d.if th
003AD0:  65 20 43 54 52 4C 20 6B 65 79 20 69 73 20 73 69    e CTRL key is si
003AE0:  6D 75 6C 74 61 6E 65 6F 75 73 6C 79 20 70 72 65    multaneously pre
003AF0:  73 73 65 64 2E 0A 22 20 20 20 00 58 00 06 04 BF    ssed.."   .X....
003B00:  22 43 54 52 4C 20 2B 20 43 55 52 53 4F 52 20 4C    "CTRL + CURSOR L
003B10:  45 46 54 22 01 BF 22 54 68 65 20 63 75 72 73 6F    EFT".."The curso
003B20:  72 20 6A 75 6D 70 73 20 74 6F 20 74 68 65 20 73    r jumps to the s
003B30:  74 61 72 74 20 6F 66 20 74 68 65 20 63 75 72 72    tart of the curr
003B40:  65 6E 74 20 73 63 72 65 65 6E 20 6C 69 6E 65 2E    ent screen line.
003B50:  0A 22 00 A8 00 10 04 BF 22 43 54 52 4C 20 2B 20    ."......"CTRL + 
003B60:  43 55 52 53 4F 52 20 52 49 47 48 54 22 01 BF 22    CURSOR RIGHT".."
003B70:  54 68 65 20 63 75 72 73 6F 72 20 6A 75 6D 70 73    The cursor jumps
003B80:  20 74 6F 20 74 68 65 20 65 6E 64 20 6F 66 20 74     to the end of t
003B90:  68 65 20 63 75 72 72 65 6E 74 20 73 63 72 65 65    he current scree
003BA0:  6E 20 6C 69 6E 65 2E 0A 22 01 BF 22 43 54 52 4C    n line..".."CTRL
003BB0:  20 2B 20 43 55 52 53 4F 52 20 55 50 22 01 BF 22     + CURSOR UP".."
003BC0:  54 68 65 20 63 75 72 73 6F 72 20 52 D5 6A 75 6D    The cursor R.jum
003BD0:  70 73 20 74 6F 20 74 68 65 20 73 74 61 72 74 20    ps to the start 
003BE0:  6F 66 20 74 68 65 20 63 75 72 72 65 6E 74 20 6C    of the current l
003BF0:  6F 67 69 63 20 6C 69 6E 65 2E 0A 22 00 B5 00 1A    ogic line.."....
003C00:  04 BF 22 43 54 52 4C 20 2B 20 43 55 52 53 4F 52    .."CTRL + CURSOR
003C10:  20 44 4F 57 4E 22 01 BF 22 54 68 65 20 63 75 72     DOWN".."The cur
003C20:  73 6F 72 20 6A 75 6D 70 73 20 74 6F 20 74 68 65    sor jumps to the
003C30:  20 65 6E 64 20 6F 66 20 74 68 65 20 63 75 72 72     end of the curr
003C40:  65 6E 74 20 6C 6F 67 69 63 20 6C 69 6E 65 2E 0A    ent logic line..
003C50:  22 01 BF 22 4E 42 20 41 20 6C 6F 67 69 63 20 6C    ".."NB A logic l
003C60:  69 6E 65 20 69 73 20 61 20 63 6F 6D 70 6C 65 74    ine is a complet
003C70:  65 20 70 72 6F 67 72 61 6D 20 6C 69 6E 65 2C 20    e program line, 
003C80:  77 68 69 63 68 20 6D 61 79 20 6F 63 63 75 70 79    which may occupy
003C90:  20 73 65 76 65 72 61 6C 20 73 63 72 65 65 6E 20     several screen 
003CA0:  20 20 20 20 6C 69 6E 65 73 2E 22 01 A0 20 1E 2A        lines.".. .*
003CB0:  08 00 C1 00 24 04 BF 03 00 00 EE 01 BF 22 2A 2A    ....$........"**
003CC0:  20 43 54 52 4C 20 4B 45 59 53 20 2A 2A 64 1D 22     CTRL KEYS **d."
003CD0:  01 BF 22 0A 54 68 65 72 65 20 61 72 65 20 61 20    ..".There are a 
003CE0:  6E 75 6D 62 65 72 20 6F 66 20 6B 65 79 73 20 77    number of keys w
003CF0:  68 69 63 68 2C 20 69 66 20 70 72 65 73 73 65 64    hich, if pressed
003D00:  20 74 6F 67 65 74 68 65 72 20 77 69 74 68 20 43     together with C
003D10:  54 52 4C 20 61 6E 64 20 69 6E 63 6C 75 64 65 64    TRL and included
003D20:  20 20 20 20 69 6E 73 69 64 65 20 71 75 6F 74 65        inside quote
003D30:  73 20 22 3B FF 03 28 19 22 29 3B 22 20 69 6E 20    s ";..(.");" in 
003D40:  61 20 50 52 49 4E 54 20 73 74 61 74 65 6D 65 6E    a PRINT statemen
003D50:  74 2C 20 77 69 6C 6C 20 70 65 72 66 6F 72 6D 20    t, will perform 
003D60:  73 70 65 63 69 61 6C 20 66 75 6E 63 74 69 6F 6E    special function
003D70:  73 2E 0A 22 00 C5 00 2E 04 BF 22 54 68 65 20 63    s.."......"The c
003D80:  68 61 72 61 63 74 65 72 20 77 68 69 63 68 20 61    haracter which a
003D90:  70 70 65 61 72 73 20 69 6E 20 74 68 65 20 74 65    ppears in the te
003DA0:  78 74 20 77 68 65 6E 20 74 68 65 20 70 72 6F 67    xt when the prog
003DB0:  72 61 6D 20 69 73 20 6C 69 73 74 65 64 20 69 73    ram is listed is
003DC0:  20 6E 6F 74 20 20 20 20 20 20 20 70 72 69 6E 9D     not       prin.
003DD0:  C0 74 65 64 20 77 68 65 6E 20 74 68 65 20 70 72    .ted when the pr
003DE0:  6F 67 72 61 6D 20 69 73 20 72 75 6E 2E 0A 22 01    ogram is run..".
003DF0:  BF 22 54 68 65 20 6D 6F 73 74 20 75 73 65 66 75    ."The most usefu
003E00:  6C 20 6F 66 20 74 68 65 73 65 20 43 54 52 4C 20    l of these CTRL 
003E10:  6B 65 79 73 2C 20 61 6E 64 20 74 68 65 69 72 20    keys, and their 
003E20:  65 66 66 65 63 74 2C 20 61 72 65 20 6C 69 73 74    effect, are list
003E30:  65 64 20 62 65 6C 6F 77 2E 0A 22 00 EE 00 38 04    ed below.."...8.
003E40:  BF 22 43 54 52 4C 20 2B 20 47 20 20 20 20 20 20    ."CTRL + G      
003E50:  20 20 20 53 6F 75 6E 64 73 20 62 65 6C 6C 20 20       Sounds bell  
003E60:  20 20 20 20 20 20 20 20 20 43 54 52 4C 20 2B 20             CTRL + 
003E70:  58 20 20 20 20 20 20 20 20 20 49 6E 76 65 72 74    X         Invert
003E80:  73 20 63 6F 6C 6F 75 72 73 20 20 20 20 20 20 20    s colours       
003E90:  20 20 0A 43 54 52 4C 20 2B 20 4C 20 20 20 20 20      .CTRL + L     
003EA0:  20 20 20 20 43 6C 65 61 72 73 20 73 63 72 65 65        Clears scree
003EB0:  6E 20 20 20 20 20 20 20 20 20 43 54 52 4C 20 2B    n         CTRL +
003EC0:  20 A3 20 20 20 20 20 20 20 20 20 48 6F 6D 65 73     £         Homes
003ED0:  20 FF 11 63 75 72 73 6F 72 20 20 20 20 20 20 20     ..cursor       
003EE0:  20 20 20 20 20 0A 43 54 52 4C 20 2B 20 48 20 20         .CTRL + H  
003EF0:  20 20 20 20 20 20 20 43 75 72 73 6F 72 20 6C 65           Cursor le
003F00:  66 74 20 20 20 20 20 20 20 20 20 20 20 43 54 52    ft           CTR
003F10:  4C 20 2B 20 49 20 20 20 20 20 20 20 20 20 43 75    L + I         Cu
003F20:  72 73 6F 72 20 72 69 67 68 74 22 00 50 00 42 04    rsor right".P.B.
003F30:  BF 22 0A 43 54 52 4C 20 2B 20 4A 20 20 20 20 20    .".CTRL + J     
003F40:  20 20 20 20 43 75 72 73 6F 72 20 64 6F 77 6E 20        Cursor down 
003F50:  20 20 20 20 20 20 20 20 20 20 43 54 52 4C 20 2B              CTRL +
003F60:  20 4B 20 20 20 20 20 20 20 20 20 43 75 72 73 6F     K         Curso
003F70:  72 20 75 70 22 01 A0 20 1E 2A 08 00 90 00 4C 04    r up".. .*....L.
003F80:  BF 20 03 00 00 EE 01 BF 22 2A 2A 20 50 52 4F 47    . ......"** PROG
003F90:  52 41 4D 20 53 54 4F 52 41 47 45 20 2A 2A 22 01    RAM STORAGE **".
003FA0:  BF 22 0A 49 74 20 69 73 20 73 75 67 67 65 73 74    .".It is suggest
003FB0:  65 64 20 74 68 61 74 20 79 6F 75 20 6C 6F 6F 6B    ed that you look
003FC0:  20 61 74 20 74 68 65 20 6E 6F 74 65 73 20 6F 6E     at the notes on
003FD0:  20 74 6F 93 1D 6B 65 6E 73 20 61 6E 64 20 68 65     to..kens and he
003FE0:  78 61 64 65 63 69 6D 61 6C 20 6E 6F 74 61 74 69    xadecimal notati
003FF0:  6F 6E 20 20 20 62 65 66 6F 72 65 20 74 68 69 73    on   before this
004000:  20 73 65 63 74 69 6F 6E 2E 0A 22 20 20 00 FA 00     section.."  ...
004010:  56 04 BF 22 42 41 53 49 43 20 70 72 6F 67 72 61    V.."BASIC progra
004020:  6D 73 20 61 72 65 20 73 74 6F 72 65 64 20 69 6E    ms are stored in
004030:  20 6D 65 6D 6F 72 79 20 61 74 20 61 64 64 72 65     memory at addre
004040:  73 73 65 73 20 66 72 6F 6D 20 33 36 38 20 6F 6E    sses from 368 on
004050:  77 61 72 64 73 2E 20 20 4B 65 79 77 6F 72 64 73    wards.  Keywords
004060:  20 20 20 20 28 63 6F 6D 6D 61 6E 64 73 29 20 61        (commands) a
004070:  72 65 20 74 6F 6B 65 6E 69 73 65 64 2C 20 61 6E    re tokenised, an
004080:  64 20 73 69 6D 69 6C 61 72 20 73 79 73 74 65 6D    d similar system
004090:  73 20 61 72 65 20 75 73 65 64 20 74 6F 20 72 65    s are used to re
0040A0:  70 72 65 73 65 6E 74 20 76 61 72 69 61 62 6C 65    present variable
0040B0:  73 20 20 20 61 6E 64 20 6E 75 6D 62 65 72 73 20    s   and numbers 
0040C0:  69 6E 20 74 68 65 20 70 72 6F 67 72 61 6D 2C 20    in the program, 
0040D0:  6F 74 68 65 72 11 45 FF FF FF FF 11 38 09 A6 04    other.E.....8...
0040E0:  A6 04 9F 04 3E 09 FF 0F 08 11 00 07 01 00 2C 80    ....>.........,.
0040F0:  41 4D 53 54 52 41 44 20 55 4E 4C 4F 43 4B 45 08    AMSTRAD UNLOCKE.
004100:  00 01 00 08 70 39 00 BA 6E 00 00 00 00 00 00 00    ....p9..n.......
004110:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53    ...............S
004120:  00 00 00 00 00 00 50 50 00 00 00 00 00 00 00 00    ......PP........
004130:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004140:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004150:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004160:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004170:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004180:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004190:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0041A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0041B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0041C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0041D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0041E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80    ................
0041F0:  AD FF FF FF FF 11 37 09 A6 04 A6 04 A9 04 52 09    ......7.......R.
004200:  FF 0F 08 85 0A 15 08 00 16 20 74 68 61 6E 20 6C    ......... than l
004210:  69 6E 65 20 6E 75 6D 62 65 72 73 20 74 68 65 6D    ine numbers them
004220:  73 65 6C 76 65 73 2C 20 77 68 69 63 68 20 61 72    selves, which ar
004230:  65 20 73 74 6F 72 65 64 22 3B 20 00 F1 00 60 04    e stored"; ...`.
004240:  BF 22 69 6E 20 72 65 76 65 72 73 65 64 20 68 65    ."in reversed he
004250:  78 2E 20 4F 74 68 65 72 20 63 68 61 72 61 63 74    x. Other charact
004260:  65 72 73 20 61 72 65 20 72 65 70 72 65 73 65 6E    ers are represen
004270:  74 65 64 20 62 79 20 74 68 65 69 72 20 41 53 43    ted by their ASC
004280:  49 49 20 63 6F 64 65 73 2E 0A 22 01 BF 22 45 61    II codes..".."Ea
004290:  63 68 20 6C 69 6E 65 20 6F 66 20 61 20 42 41 53    ch line of a BAS
0042A0:  49 43 20 70 72 6F 67 72 61 6D 20 69 73 20 62 6F    IC program is bo
0042B0:  74 68 20 70 72 65 63 65 64 65 64 20 61 6E 64 20    th preceded and 
0042C0:  66 6F 6C 6C 6F 77 65 64 20 62 79 20 61 20 7A 65    followed by a ze
0042D0:  72 6F 2C 20 61 73 20 61 20 20 20 20 20 20 6D 61    ro, as a      ma
0042E0:  72 6B 65 72 2C 20 61 6E 64 20 74 68 65 20 66 69    rker, and the fi
0042F0:  72 73 74 20 6F 66 20 74 68 65 73 65 20 69 73 20    rst of these is 
004300:  69 74 73 65 6C 66 20 70 72 75 B9 65 63 65 64 65    itself pru.ecede
004310:  64 20 62 79 20 61 20 6E 75 6D 62 65 72 20 77 68    d by a number wh
004320:  69 63 68 20 69 6E 64 69 63 61 74 65 73 22 00 AF    ich indicates"..
004330:  00 6A 04 BF 22 68 6F 77 20 6D 61 6E 79 20 63 68    .j.."how many ch
004340:  61 72 61 63 74 65 72 73 20 74 68 65 72 65 20 61    aracters there a
004350:  72 65 20 69 6E 20 74 68 65 20 65 6E 63 6F 64 65    re in the encode
004360:  64 20 6C 69 6E 65 2C 20 69 6E 63 6C 75 64 69 6E    d line, includin
004370:  67 20 74 68 65 20 74 77 6F 20 7A 65 72 6F 73 20    g the two zeros 
004380:  61 6E 64 20 20 6C 69 6E 65 20 6C 65 6E 67 74 68    and  line length
004390:  20 66 69 67 75 72 65 2E 20 54 68 65 20 65 6E 64     figure. The end
0043A0:  20 6F 66 20 74 68 65 20 70 72 6F 67 72 61 6D 20     of the program 
0043B0:  69 74 73 65 6C 66 20 69 73 20 69 6E 64 69 63 61    itself is indica
0043C0:  74 65 64 20 62 79 20 61 20 66 75 72 74 68 65 72    ted by a further
0043D0:  20 66 6F 75 72 7A 65 72 6F 73 2E 0A 22 00 E4 00     fourzeros.."...
0043E0:  74 04 BF 22 56 61 72 69 61 62 6C 65 20 6E 61 6D    t.."Variable nam
0043F0:  65 73 20 61 72 65 20 72 65 70 72 65 73 65 6E 74    es are represent
004400:  65 64 20 62 79 20 74 68 65 69 72 F0 8F 20 41 53    ed by their.. AS
004410:  43 49 49 20 63 6F 64 65 73 2C 20 62 75 74 20 66    CII codes, but f
004420:  6F 72 20 69 64 65 6E 74 69 66 69 63 61 74 69 6F    or identificatio
004430:  6E 20 6F 6E 65 20 62 69 74 20 69 73 20 73 65 74    n one bit is set
004440:  20 69 6E 20 74 68 65 20 6C 61 73 74 20 63 68 61     in the last cha
004450:  72 61 63 74 65 72 20 62 79 20 61 64 64 69 6E 67    racter by adding
004460:  20 38 30 20 74 6F 20 69 74 73 20 76 61 6C 75 65     80 to its value
004470:  2C 20 65 67 20 74 68 65 20 76 61 72 69 61 62 6C    , eg the variabl
004480:  65 20 41 42 43 20 77 6F 75 6C 64 20 61 70 70 65    e ABC would appe
004490:  61 72 20 61 73 20 36 35 20 36 36 20 31 34 37 2C    ar as 65 66 147,
0044A0:  20 58 59 20 61 73 20 38 38 20 31 36 39 20 61 6E     XY as 88 169 an
0044B0:  64 20 44 20 61 73 20 31 34 38 2E 0A 22 01 9F 20    d D as 148..".. 
0044C0:  1E 2A 08 00 F4 00 7E 04 BF 22 0C 57 68 65 72 65    .*....~..".Where
0044D0:  20 6E 75 6D 65 72 69 63 20 76 61 6C 75 65 73 20     numeric values 
0044E0:  61 70 70 65 61 72 20 69 6E 20 70 72 6F 67 72 61    appear in progra
0044F0:  6D 73 2C 20 74 68 65 79 20 61 72 65 2C 20 69 66    ms, they are, if
004500:  20 73 70 65 63 69 66 69 65 64 20 61 73 3F B1 20     specified as?. 
004510:  62 69 6E 61 72 79 20 6F 72 20 68 65 78 6F 72 20    binary or hexor 
004520:  61 73 20 64 65 63 69 6D 61 6C 20 6E 75 6D 62 65    as decimal numbe
004530:  72 73 20 77 68 69 63 68 20 6D 75 73 74 20 62 65    rs which must be
004540:  20 69 6E 74 65 67 65 72 73 20 28 65 67 20 47 4F     integers (eg GO
004550:  54 4F 20 65 74 63 29 2C 20 72 65 70 72 65 73 65    TO etc), represe
004560:  6E 74 65 64 20 69 6E 20 20 20 20 20 20 72 65 76    nted in      rev
004570:  65 72 73 65 64 20 68 65 78 2C 20 70 72 65 63 65    ersed hex, prece
004580:  64 65 64 20 62 79 20 74 68 65 20 63 6F 64 65 20    ded by the code 
004590:  31 31 2C 20 31 32 20 6F 72 20 31 34 2C 20 74 6F    11, 12 or 14, to
0045A0:  20 69 6E 64 69 63 61 74 65 20 62 69 6E 61 72 79     indicate binary
0045B0:  2C 20 68 65 78 20 6F 72 22 00 95 00 88 04 BF 22    , hex or"......"
0045C0:  64 65 63 69 6D 61 6C 20 66 6F 72 6D 2E 20 52 65    decimal form. Re
0045D0:  61 6C 20 6E 75 6D 62 65 72 73 2C 20 69 65 20 64    al numbers, ie d
0045E0:  65 63 69 6D 61 6C 73 20 77 68 69 63 68 20 63 61    ecimals which ca
0045F0:  6E 20 68 61 76 65 20 61 20 66 72 61 63 74 69 6F    n have a fractio
004600:  6E 61 6C 20 63 6F 6D 70 6F 6E 65 6E 74 20 20 61    nal component  a
004610:  99 20 28 65 67 20 31 35 2E 32 33 34 29 20 61 72    . (eg 15.234) ar
004620:  65 20 64 65 61 6C 74 20 77 69 74 68 20 69 6E 20    e dealt with in 
004630:  61 20 6D 75 63 68 20 6D 6F 72 65 20 63 6F 6D 70    a much more comp
004640:  6C 65 78 20 77 61 79 2E 0A 22 01 9F 20 1E 2A 08    lex way..".. .*.
004650:  00 6C 00 92 04 BF 22 0C 49 66 20 61 20 73 69 6D    .l....".If a sim
004660:  70 6C 65 20 70 72 6F 67 72 61 6D 20 20 31 30 20    ple program  10 
004670:  52 45 4D 20 20 20 20 32 30 20 50 52 49 4E 54 20    REM    20 PRINT 
004680:  22 F4 FF 03 28 19 22 29 F4 22 41 22 F4 FF 03 28    "...(.")."A"...(
004690:  19 22 29 F4 22 20 20 69 73 20 65 6E 74 65 72 65    .")."  is entere
0046A0:  64 2C 20 61 6E 64 20 74 68 65 20 6D 65 6D 6F 72    d, and the memor
0046B0:  79 20 63 6F 6E 74 65 6E 74 73 22 3B 00 6A 00 9C    y contents";.j..
0046C0:  04 BF 22 65 78 61 6D 69 6E 65 64 20 62 79 20 74    .."examined by t
0046D0:  79 70 69 6E 67 20 69 6E 20 20 20 46 4F 52 20 58    yping in   FOR X
0046E0:  3D 33 36 38 20 54 4F 20 33 38 37 3A 50 52 49 4E    =368 TO 387:PRIN
0046F0:  54 20 50 45 45 4B 28 58 29 3B 22 F4 FF 03 28 19    T PEEK(X);"...(.
004700:  22 29 F4 22 20 22 F4 FF 03 28 19 22 29 F4 22 3B    ")." "...(.").";
004710:  3A 67 08 4E 45 58 54 20 20 20 79 6F 75 20 77 69    :g.NEXT   you wi
004720:  6C 6C 20 66 69 6E 64 22 00 3D 00 A6 04 BF 22 0A    ll find".=....".
004730:  36 20 30 20 31 30 20 30 20 31 39 37 20 30 20 31    6 0 10 0 197 0 1
004740:  30 20 30 20 32 30 20 30 20 31 39 31 20 33 32 20    0 0 20 0 191 32 
004750:  33 34 20 36 35 20 33 34 20 30 20 30 20 30 20 30    34 65 34 0 0 0 0
004760:  20 30 0A 22 20 00 3B 00 B0 04 BF 22 41 20 42 20     0." .;...."A B 
004770:  43 20 20 44 20 45 20 20 20 46 20 47 20 20 48 20    C  D E   F G  H 
004780:  49 20 20 4A 20 4B 20 20 20 4C 20 20 4D 20 20 4E    I  J K   L  M  N
004790:  20 20 4F 20 20 50 20 51 20 52 20 53 20 54 0A 22      O  P Q R S T."
0047A0:  00 53 00 BA 04 BF 22 54 68 65 20 6C 65 74 74 65    .S...."The lette
0047B0:  72 73 20 41 2D 54 20 68 61 76 65 20 62 65 65 6E    rs A-T have been
0047C0:  20 61 64 64 65 64 20 62 65 6E 65 61 74 68 20 74     added beneath t
0047D0:  68 65 20 6E 75 6D 62 65 72 73 20 66 6F 72 20 65    he numbers for e
0047E0:  61 73 65 20 6F 66 20 72 65 66 65 72 65 6E 63 65    ase of reference
0047F0:  2E 0A 22 00 79 00 C4 04 BF 22 4C 65 74 74 65 72    ..".y...."Letter
004800:  73 20 41 2D 46 20 72 65 70 72 65 73 65 6E 74 20    s A-F represent 
004810:  6C 69 6E B8 11 65 20 31 30 2C 20 47 2D 50 20 61    lin..e 10, G-P a
004820:  72 65 20 6C 69 6E 65 20 32 30 20 61 6E 64 20 51    re line 20 and Q
004830:  2D 54 20 61 72 65 20 74 68 65 20 66 6F 75 72 20    -T are the four 
004840:  7A 65 72 6F 73 20 77 68 69 63 68 20 69 6E 64 69    zeros which indi
004850:  63 61 74 65 20 74 68 65 20 65 6E 64 20 6F 66 20    cate the end of 
004860:  74 68 65 20 70 72 6F 67 72 61 6D 2E 0A 22 00 A9    the program.."..
004870:  00 CE 04 BF 22 41 20 69 6E 64 69 63 61 74 65 73    ...."A indicates
004880:  20 74 68 61 74 20 74 68 65 20 65 6E 63 6F 64 65     that the encode
004890:  64 20 6C 69 6E 65 20 31 30 20 6F 63 63 75 70 69    d line 10 occupi
0048A0:  65 73 20 36 20 63 68 61 72 61 63 74 65 72 73 2C    es 6 characters,
0048B0:  20 42 20 61 6E 64 20 46 20 61 72 65 20 74 68 65     B and F are the
0048C0:  20 7A 65 72 6F 6D 61 72 6B 65 72 73 20 66 6F 72     zeromarkers for
0048D0:  20 73 74 61 72 74 20 61 6E 64 20 66 69 6E 69 73     start and finis
0048E0:  68 20 6F 66 20 74 68 65 20 6C 69 6E 65 2C 20 61    h of the line, a
0048F0:  6E 64 20 44 20 61 6E 64 20 43 2C 20 30 31 30 2C    nd D and C, 010,
004900:  20 61 72 65 20 74 68 65 20 6C 69 6E 65 20 6E 75     are the line nu
004910:  6D 62 65 72 2C B5 76 22 3B 00 26 00 D8 04 BF 22    mber,.v";.&...."
004920:  61 6E 64 20 31 39 37 20 69 73 20 74 68 65 20 74    and 197 is the t
004930:  6F 6B 65 6E 20 66 6F 72 20 52 45 4D 2E 0A 22 00    oken for REM..".
004940:  FB 00 E2 04 BF 22 53 69 6D 69 6C 61 72 6C 79 20    ....."Similarly 
004950:  77 69 74 68 20 6C 69 6E 65 20 32 30 2C 20 47 20    with line 20, G 
004960:  69 6E 64 69 63 61 74 65 73 20 61 20 6C 69 6E 65    indicates a line
004970:  20 6C 65 6E 67 74 68 20 6F 66 20 31 30 20 63 68     length of 10 ch
004980:  61 72 61 63 74 65 72 73 2C 20 48 20 61 6E 64 20    aracters, H and 
004990:  50 20 61 72 65 20 74 68 65 20 73 74 61 72 74 2F    P are the start/
0049A0:  65 6E 64 20 6D 61 72 6B 65 72 73 20 61 6E 64 20    end markers and 
0049B0:  4A 2F 49 20 61 72 65 20 74 68 65 20 6C 69 6E 65    J/I are the line
0049C0:  20 6E 75 6D 62 65 72 2E 20 4B 20 28 31 39 31 29     number. K (191)
0049D0:  20 69 73 20 74 68 65 20 74 6F 6B 65 6E 20 66 6F     is the token fo
0049E0:  72 20 20 20 20 20 50 52 49 4E 54 2C 20 4C 20 28    r     PRINT, L (
0049F0:  33 32 29 20 69 73 20 41 53 43 49 49 20 66 6F 72    32) is ASCII for
004A00:  20 73 70 61 63 65 2C 20 4D 20 61 6E 64 20 4F 20     space, M and O 
004A10:  28 33 34 29 20 61 72 09 21 FF FF FF FF 11 3A 09    (34) ar.!.....:.
004A20:  A6 04 A6 04 84 04 08 09 FE 0F 08 10 00 07 01 00    ................
004A30:  2C 80 41 4D 53 54 52 41 44 20 55 4E 4C 4F 43 4B    ,.AMSTRAD UNLOCK
004A40:  45 09 00 01 00 08 70 41 00 BA 6E 00 00 00 00 00    E.....pA..n.....
004A50:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004A60:  00 53 00 00 00 00 00 00 50 50 00 00 00 00 00 00    .S......PP......
004A70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004A80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004A90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004AA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004AB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004AC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004AD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004AE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004AF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004B00:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004B10:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004B20:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
004B30:  00 2B 20 FF FF FF FF 11 39 09 A6 04 A6 04 AA 04    .+ .....9.......
004B40:  53 09 01 10 08 81 0A 15 08 00 16 65 20 41 53 43    S..........e ASC
004B50:  49 49 20 66 6F 72 20 71 75 6F 74 65 73 2C 20 61    II for quotes, a
004B60:  6E 64 20 4E 20 28 36 35 29 22 20 20 20 20 00 21    nd N (65)"    .!
004B70:  00 EC 04 BF 22 69 73 20 74 68 65 20 41 53 43 49    ...."is the ASCI
004B80:  49 20 66 6F 72 20 41 2E 22 01 A0 20 1E 2A 08 00    I for A.".. .*..
004B90:  C2 00 F6 04 BF 03 00 00 EE 01 BF 22 2A 2A 20 4E    ..........."** N
004BA0:  55 4D 42 45 52 20 42 41 53 45 53 20 2A 2A 0A 22    UMBER BASES **."
004BB0:  01 BF 22 54 68 65 20 27 6E 75 6D 62 65 72 20 62    .."The 'number b
004BC0:  61 73 65 27 20 6F 66 20 61 20 63 6F 75 6E 74 69    ase' of a counti
004BD0:  6E 67 20 73 79 73 74 65 6D 20 69 73 20 74 68 65    ng system is the
004BE0:  20 66 69 67 75 72 65 20 77 68 69 63 68 2C 20 77     figure which, w
004BF0:  68 65 6E 20 72 65 61 63 68 65 64 2C 20 63 61 75    hen reached, cau
004C00:  73 65 73 75 73 20 74 6F 20 70 75 74 20 61 20 7A    sesus to put a z
004C10:  65 72 6F 20 69 6E 20 61 20 63 6F 6C 75 6D 6E 20    ero in a column 
004C20:  6F 66 20 6E 75 6D 62 65 72 73 20 61 6E 64 20 69    of numbers and i
004C30:  6E 63 72 65 61 73 65 20 62 79 20 6F 6E 65 20 74    ncrease by one t
004C40:  68 65 20 66 69 67 75 72 65 20 69 88 25 6E 20 74    he figure i.%n t
004C50:  68 65 22 00 F6 00 00 05 BF 22 63 6F 6C 75 6D 6E    he"......"column
004C60:  20 74 6F 20 69 74 73 20 6C 65 66 74 2E 20 57 65     to its left. We
004C70:  20 61 72 65 20 61 63 63 75 73 74 6F 6D 65 64 20     are accustomed 
004C80:  74 6F 64 61 79 20 74 6F 20 75 73 69 6E 67 20 62    today to using b
004C90:  61 73 65 20 31 30 20 28 64 65 63 69 6D 61 6C 20    ase 10 (decimal 
004CA0:  6F 72 20 64 65 6E 61 72 79 29 62 75 74 20 61 6E    or denary)but an
004CB0:  79 20 6E 75 6D 62 65 72 20 62 61 73 65 20 63 61    y number base ca
004CC0:  6E 20 62 65 20 75 73 65 64 2E 20 41 74 20 6F 6E    n be used. At on
004CD0:  65 20 74 69 6D 65 20 62 61 73 65 20 35 20 61 6E    e time base 5 an
004CE0:  64 20 62 61 73 65 20 31 35 20 77 65 72 65 20 63    d base 15 were c
004CF0:  6F 6D 6D 6F 6E 70 6C 61 63 65 28 74 68 65 20 6E    ommonplace(the n
004D00:  75 72 73 65 72 79 20 72 68 79 6D 65 20 27 45 65    ursery rhyme 'Ee
004D10:  6E 79 20 6D 65 65 6E 79 20 6D 69 6E 79 20 6D 6F    ny meeny miny mo
004D20:  27 20 69 73 20 61 20 72 65 6C 69 63 20 6F 66 20    ' is a relic of 
004D30:  74 68 69 73 2C 20 74 68 65 20 6E 75 6D 62 65 72    this, the number
004D40:  73 20 62 65 69 6E 67 22 20 00 F9 00 0A B7 93 05    s being" .......
004D50:  BF 22 73 61 69 64 20 27 45 69 6E 61 2C 20 6D 65    ."said 'Eina, me
004D60:  69 6E 61 2C 20 6D 65 74 68 65 72 61 2C 20 74 65    ina, methera, te
004D70:  74 68 65 72 61 20 2E 2E 2E 20 62 75 6D 66 69 74    thera ... bumfit
004D80:  27 29 20 61 6E 64 20 75 6E 74 69 6C 20 72 65 63    ') and until rec
004D90:  65 6E 74 6C 79 20 77 65 20 75 73 65 64 20 6D 61    ently we used ma
004DA0:  6E 79 6F 74 68 65 72 20 62 61 73 65 73 2C 20 65    nyother bases, e
004DB0:  67 20 31 36 20 66 6F 72 20 70 6F 75 6E 64 73 20    g 16 for pounds 
004DC0:  61 6E 64 20 6F 75 6E 63 65 73 2C 20 33 20 66 6F    and ounces, 3 fo
004DD0:  72 20 66 65 65 74 20 61 6E 64 20 79 61 72 64 73    r feet and yards
004DE0:  3B 20 6D 61 6E 79 20 6F 66 20 74 68 65 73 65 20    ; many of these 
004DF0:  20 20 73 79 73 74 65 6D 73 20 77 65 72 65 20 76      systems were v
004E00:  65 72 79 20 63 6F 6D 70 6C 65 78 20 69 6E 64 65    ery complex inde
004E10:  65 64 2C 20 74 68 65 20 6E 75 6D 62 65 72 20 62    ed, the number b
004E20:  61 73 65 20 63 68 61 6E 67 69 6E 67 2C 20 61 73    ase changing, as
004E30:  20 69 6E 20 69 6E 63 68 65 73 20 26 20 66 65 65     in inches & fee
004E40:  74 2E 22 20 00 D2 00 14 05 BF 22 54 6F 20 61 89    t." ......"To a.
004E50:  3C 76 6F 69 64 20 68 61 76 69 6E 67 20 64 6F 75    <void having dou
004E60:  62 6C 65 20 6E 75 6D 62 65 72 73 20 69 6E 20 61    ble numbers in a
004E70:  20 63 6F 6C 75 6D 6E 2C 20 77 68 65 6E 20 75 73     column, when us
004E80:  69 6E 67 20 62 61 73 65 73 20 67 72 65 61 74 65    ing bases greate
004E90:  72 20 74 68 61 6E 20 31 30 20 20 20 20 6D 61 74    r than 10    mat
004EA0:  68 65 6D 61 74 69 63 69 61 6E 73 20 61 6E 64 20    hematicians and 
004EB0:  70 72 6F 67 72 61 6D 6D 65 72 73 20 65 78 74 65    programmers exte
004EC0:  6E 64 20 74 68 65 20 6E 75 6D 62 65 72 20 72 61    nd the number ra
004ED0:  6E 67 65 20 62 79 20 75 73 69 6E 67 20 6C 65 74    nge by using let
004EE0:  74 65 72 73 2C 20 20 20 20 20 20 20 20 65 67 20    ters,        eg 
004EF0:  41 20 66 6F 72 20 31 30 2C 20 42 20 66 6F 72 20    A for 10, B for 
004F00:  31 31 2C 20 43 20 66 6F 72 20 31 32 20 65 74 63    11, C for 12 etc
004F10:  2E 0A 22 20 20 20 20 20 00 0A 00 1E 05 9F 20 1E    .."     ...... .
004F20:  2A 08 00 EC 00 28 05 BF 22 0C 42 61 73 65 20 31    *....(..".Base 1
004F30:  36 2C 20 6F 72 20 68 65 78 61 64 65 63 69 6D 61    6, or hexadecima
004F40:  6C 20 69 73 20 63 6F 6D 6D 6F 6E 6C 79 20 75 73    l is commonly us
004F50:  65 06 E1 64 20 77 69 74 68 20 63 6F 6D 70 75 74    e..d with comput
004F60:  65 72 73 2E 20 20 57 69 74 68 20 68 65 78 2C 20    ers.  With hex, 
004F70:  69 74 20 69 73 20 75 73 75 61 6C 20 74 6F 20 70    it is usual to p
004F80:  72 65 66 69 78 20 6E 75 6D 62 65 72 73 20 77 69    refix numbers wi
004F90:  74 68 20 24 2C 20 48 2C 20 26 20 6F 72 20 26 48    th $, H, & or &H
004FA0:  20 74 6F 20 61 76 6F 69 64 20 64 6F 75 62 74 20     to avoid doubt 
004FB0:  61 73 20 74 6F 20 77 68 69 63 68 20 73 79 73 74    as to which syst
004FC0:  65 6D 20 69 73 20 62 65 69 6E 67 20 75 73 65 64    em is being used
004FD0:  2E 20 54 72 79 20 74 68 65 20 65 78 61 6D 70 6C    . Try the exampl
004FE0:  65 73 20 61 6E 64 20 73 65 65 20 69 66 20 79 6F    es and see if yo
004FF0:  75 20 63 61 6E 20 67 65 74 20 74 68 65 20 63 6F    u can get the co
005000:  72 72 65 63 74 20 61 6E 73 77 65 72 73 2E 0A 22    rrect answers.."
005010:  00 E9 00 32 05 BF 22 20 20 20 44 20 30 30 30 3D    ...2.."   D 000=
005020:  48 20 30 30 20 20 20 20 20 20 20 44 20 30 30 31    H 00       D 001
005030:  3D 48 20 30 31 20 20 20 20 20 20 20 44 20 30 30    =H 01       D 00
005040:  39 3D 48 20 30 39 20 20 20 20 20 20 20 44 20 30    9=H 09       D 0
005050:  31 30 3D 03 6A 48 20 30 41 20 20 20 20 20 20 20    10=.jH 0A       
005060:  20 20 20 20 20 20 20 20 20 20 20 20 44 20 30 31                D 01
005070:  31 3D 48 20 30 42 20 20 20 20 20 20 20 44 20 30    1=H 0B       D 0
005080:  31 35 3D 48 20 30 46 20 20 20 20 20 20 20 44 20    15=H 0F       D 
005090:  30 31 36 3D 48 20 31 30 20 20 20 20 20 20 20 44    016=H 10       D
0050A0:  20 30 31 37 3D 48 20 31 31 20 20 20 20 20 20 20     017=H 11       
0050B0:  20 20 20 20 20 20 20 20 20 20 20 20 44 20 30 33                D 03
0050C0:  31 3D 48 20 31 46 20 20 20 20 20 20 20 44 20 30    1=H 1F       D 0
0050D0:  33 32 3D 48 20 32 30 20 20 20 20 20 20 20 44 20    32=H 20       D 
0050E0:  30 33 33 3D 48 20 32 31 20 20 20 20 20 20 20 44    033=H 21       D
0050F0:  20 32 35 35 3D 48 20 46 46 0A 22 00 F8 00 3C 05     255=H FF."...<.
005100:  BF 22 0A 42 65 63 61 75 73 65 20 74 68 65 20 63    .".Because the c
005110:  65 6E 74 72 61 6C 20 70 72 6F 63 65 73 73 6F 72    entral processor
005120:  20 63 61 6E 20 6F 6E 6C 79 20 68 61 6E 64 6C 65     can only handle
005130:  20 74 77 6F 2D 64 69 67 69 74 20 68 65 78 20 6E     two-digit hex n
005140:  75 6D 62 65 72 73 20 28 30 2D 46 46 20 6F 72 20    umbers (0-FF or 
005150:  20 20 20 30 2D BF 1D 32 35 35 20 64 65 63 69 6D       0-..255 decim
005160:  61 6C 29 20 61 6E 79 20 74 68 61 74 20 61 72 65    al) any that are
005170:  20 6C 61 72 67 65 72 2C 20 73 75 63 68 20 61 73     larger, such as
005180:  20 6D 65 6D 6F 72 79 20 61 64 64 72 65 73 73 65     memory addresse
005190:  73 2C 20 68 61 76 65 20 74 6F 20 62 65 20 64 65    s, have to be de
0051A0:  61 6C 74 20 20 77 69 74 68 20 69 6E 20 74 77 6F    alt  with in two
0051B0:  20 6F 70 65 72 61 74 69 6F 6E 73 2C 20 61 6E 64     operations, and
0051C0:  20 63 6F 6E 73 65 71 75 65 6E 74 6C 79 20 62 65     consequently be
0051D0:  63 6F 6D 65 20 72 65 76 65 72 73 65 64 2E 20 42    come reversed. B
0051E0:  79 20 77 61 79 20 6F 66 20 65 78 61 6D 70 6C 65    y way of example
0051F0:  2C 20 43 33 22 00 E6 00 46 05 BF 22 69 73 20 74    , C3"...F.."is t
005200:  68 65 20 6D 61 63 68 69 6E 65 73 20 63 6F 64 65    he machines code
005210:  20 66 6F 72 20 27 6A 75 6D 70 20 74 6F 20 61 64     for 'jump to ad
005220:  64 72 65 73 73 20 66 6F 6C 6C 6F 77 69 6E 67 27    dress following'
005230:  2C 20 61 6E 64 20 73 6F 20 74 68 65 20 63 6F 64    , and so the cod
005240:  65 20 66 6F 72 20 20 20 20 20 20 20 74 72 61 6E    e for       tran
005250:  73 66 65 72 72 69 6E 6F E7 67 20 74 6F 20 61 64    sferrino.g to ad
005260:  64 72 65 73 73 20 26 32 33 41 37 20 77 6F 75 6C    dress &23A7 woul
005270:  64 20 62 65 20 43 33 20 41 37 20 32 33 2E 20 54    d be C3 A7 23. T
005280:  68 69 73 20 73 79 73 74 65 6D 20 69 73 20 6B 6E    his system is kn
005290:  6F 77 6E 20 61 73 20 72 65 76 65 72 73 65 68 65    own as reversehe
0052A0:  78 2C 20 6F 72 20 4C 53 42 2F 4D 53 42 20 28 6C    x, or LSB/MSB (l
0052B0:  65 61 73 74 20 73 69 67 6E 69 66 69 63 61 6E 74    east significant
0052C0:  20 62 79 74 65 2F 6D 6F 73 74 20 73 69 67 6E 69     byte/most signi
0052D0:  66 69 63 61 6E 74 20 62 79 74 65 29 2E 00 89 00    ficant byte)....
0052E0:  50 05 BF 22 0A 49 74 20 64 6F 65 73 6E 27 74 20    P..".It doesn't 
0052F0:  72 65 61 6C 6C 79 20 6D 61 74 74 65 72 20 69 66    really matter if
005300:  20 79 6F 75 20 64 6F 20 6E 6F 74 20 75 6E 64 65     you do not unde
005310:  72 73 74 61 6E 64 20 74 68 65 20 73 79 73 74 65    rstand the syste
005320:  6D 2C 20 69 74 20 69 73 20 6F 6E 6C 79 20 72 65    m, it is only re
005330:  61 6C 6C 79 20 6E 65 63 65 73 73 61 72 79 20 66    ally necessary f
005340:  6F 72 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20    or machine code 
005350:  70 72 6F 67 72 61 6D 6D 69 28 70 FF FF FF FF 11    programmi(p.....
005360:  39 09 A6 04 A6 04 8A 04 13 09 FE 0F 08 12 00 07    9...............
005370:  01 00 2C 80 41 4D 53 54 52 41 44 20 55 4E 4C 4F    ..,.AMSTRAD UNLO
005380:  43 4B 45 0A 00 01 00 08 70 49 00 BA 6E 00 00 00    CKE.....pI..n...
005390:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0053A0:  00 00 00 53 00 00 00 00 00 00 50 50 00 00 00 00    ...S......PP....
0053B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0053C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0053D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0053E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0053F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005400:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005410:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005420:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005430:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005440:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005450:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005460:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005470:  00 00 00 8F 8F FF FF FF FF 11 37 09 A6 04 A6 04    ..........7.....
005480:  AA 04 52 09 FF 0F 08 81 0A 15 08 00 16 6E 67 2E    ..R..........ng.
005490:  22 01 A0 20 1E 2A 08 20 20 20 00 C3 00 5A 05 BF    ".. .*.   ...Z..
0054A0:  03 00 00 EE 01 BF 22 2A 2A 20 57 48 59 20 48 45    ......"** WHY HE
0054B0:  58 3F 20 2A 2A 0A 22 01 BF 22 43 6F 6D 70 75 74    X? **.".."Comput
0054C0:  65 72 73 20 61 72 65 20 6E 6F 74 20 76 65 72 79    ers are not very
0054D0:  20 63 6C 65 76 65 72 2E 20 42 65 63 61 75 73 65     clever. Because
0054E0:  20 6D 65 6D 6F 72 79 20 63 65 6C 6C 73 20 63 61     memory cells ca
0054F0:  6E 20 6F 6E 6C 79 20 62 65 20 6F 6E 20 6F 72 20    n only be on or 
005500:  6F 66 66 20 28 30 2F 31 29 2C 74 68 65 20 63 65    off (0/1),the ce
005510:  6E 74 72 61 6C 20 70 72 6F 63 65 73 73 6F 72 20    ntral processor 
005520:  63 61 6E 20 6F 6E 6C 79 20 63 6F 75 6E 74 20 69    can only count i
005530:  6E 20 62 61 73 65 20 32 2C 20 6F 72 20 62 69 6E    n base 2, or bin
005540:  61 72 79 2C 20 62 75 74 20 64 6F 65 73 20 73 6F    ary, but does so
005550:  20 76 65 72 79 20 66 61 73 74 22 3B 20 00 F6 00     very fast"; ...
005560:  64 05 BF 22 41 6E 20 27 65 69 67 68 74 20 62 69    d.."An 'eight bi
005570:  74 27 20 6D 61 63 68 69 6E 65 20 73 75 63 68 20    t' machine such 
005580:  61 73 20 74 68 65 20 43 50 43 20 34 36 9B E7 34    as the CPC 46..4
005590:  20 63 61 6E 20 64 65 61 6C 20 77 69 74 68 20 65     can deal with e
0055A0:  69 67 68 74 20 6F 66 20 74 68 65 73 65 20 63 65    ight of these ce
0055B0:  6C 6C 73 20 61 74 61 20 74 69 6D 65 20 28 6F 6E    lls ata time (on
0055C0:  65 20 62 79 74 65 29 20 61 6E 64 20 73 6F 20 63    e byte) and so c
0055D0:  61 6E 20 61 63 63 65 70 74 20 6E 75 6D 62 65 72    an accept number
0055E0:  73 20 66 72 6F 6D 20 42 20 30 30 30 30 30 30 30    s from B 0000000
0055F0:  30 20 74 6F 20 42 20 31 31 31 31 31 31 31 31 2C    0 to B 11111111,
005600:  20 20 20 20 20 20 64 65 63 69 6D 61 6C 20 30 2D          decimal 0-
005610:  32 35 35 2C 20 68 65 78 20 30 2D 46 46 2E 20 4B    255, hex 0-FF. K
005620:  65 79 69 6E 67 20 69 6E 20 62 69 6E 61 72 79 20    eying in binary 
005630:  6E 75 6D 62 65 72 73 20 69 73 20 73 6F 6D 65 74    numbers is somet
005640:  68 69 6E 67 20 6F 66 20 61 20 63 68 6F 72 65 2C    hing of a chore,
005650:  20 61 6E 64 22 00 F6 00 6E 05 BF 22 73 6F 20 61     and"...n.."so a
005660:  6E 20 69 6E 74 65 72 66 61 63 65 20 61 72 72 61    n interface arra
005670:  6E 67 65 6D 65 6E 74 20 69 73 20 70 72 6F 76 69    ngement is provi
005680:  64 65 64 20 73 6F 20 74 68 65 20 75 73 65 72 64    ded so the userd
005690:  17 20 63 61 6E 20 6B 65 79 20 69 6E 20 75 73 69    . can key in usi
0056A0:  6E 67 20 61 20 64 69 66 66 65 72 65 6E 74 6E 75    ng a differentnu
0056B0:  6D 62 65 72 20 62 61 73 65 2E 20 48 65 78 20 75    mber base. Hex u
0056C0:  73 65 73 20 6F 6E 6C 79 20 74 77 6F 20 64 69 67    ses only two dig
0056D0:  69 74 73 20 66 6F 72 20 61 6E 79 20 6E 75 6D 62    its for any numb
0056E0:  65 72 20 77 68 69 63 68 20 74 68 65 20 6D 61 63    er which the mac
0056F0:  68 69 6E 65 20 63 61 6E 20 20 20 20 20 20 68 61    hine can      ha
005700:  6E 64 6C 65 2C 20 69 73 20 65 61 73 69 65 72 20    ndle, is easier 
005710:  66 6F 72 20 69 74 20 74 6F 20 63 6F 6E 76 65 72    for it to conver
005720:  74 20 74 68 61 6E 20 64 65 63 69 6D 61 6C 2C 20    t than decimal, 
005730:  61 6E 64 20 73 6F 20 74 68 69 73 20 69 73 20 74    and so this is t
005740:  68 65 20 6F 6E 65 20 75 73 65 64 2E 22 00 4A 00    he one used.".J.
005750:  78 05 BF 22 42 61 73 65 20 32 35 35 20 77 6F 75    x.."Base 255 wou
005760:  6C 64 20 6F 6E 6C 79 20 6E 65 65 64 20 61 20 73    ld only need a s
005770:  69 6E 67 6C 65 20 64 69 67 69 74 2C 20 62 75 74    ingle digit, but
005780:  20 77 68 61 74 20 66 6F 6C 6C 6F 77 73 20 5A 21     what follows Z!
005790:  22 52 CB 01 A0 20 1E 2A 08 00 B9 00 82 05 BF 03    "R... .*........
0057A0:  00 00 EE 01 BF 22 2A 2A 20 44 49 4D 20 2A 2A 0A    ....."** DIM **.
0057B0:  22 01 BF 22 4F 6E 65 20 77 6F 75 6C 64 20 73 75    ".."One would su
0057C0:  70 70 6F 73 65 20 66 72 6F 6D 20 72 65 61 64 69    ppose from readi
0057D0:  6E 67 20 43 68 61 70 74 65 72 20 38 20 70 61 67    ng Chapter 8 pag
0057E0:  65 20 31 32 20 6F 66 20 74 68 65 20 6D 61 6E 75    e 12 of the manu
0057F0:  61 6C 2C 20 74 68 61 74 20 44 49 4D 20 41 28 35    al, that DIM A(5
005800:  29 20 20 20 70 72 6F 76 69 64 65 73 20 61 20 35    )   provides a 5
005810:  20 77 61 79 20 61 72 72 61 79 20 66 72 6F 6D 20     way array from 
005820:  41 28 31 29 20 74 6F 20 41 28 35 29 2E 20 4E 6F    A(1) to A(5). No
005830:  74 20 73 6F 20 2D 20 74 68 65 20 61 72 72 61 79    t so - the array
005840:  20 69 73 20 41 28 30 29 20 74 6F 20 41 28 35 29     is A(0) to A(5)
005850:  3B 22 00 F9 00 8C 05 BF 22 65 76 65 6E 20 74 68    ;"......"even th
005860:  6F 75 67 68 20 74 68 65 20 43 50 43 20 34 36 34    ough the CPC 464
005870:  20 68 61 73 20 6D 6F 72 65 20 6D 65 6D 6F 72 79     has more memory
005880:  20 74 68 61 6E 20 6D 6F 73 74 20 6D 69 63 72 6F     than most micro
005890:  73 2C 20 33 06 69 74 20 63 61 6E 20 73 74 69 6C    s, 3.it can stil
0058A0:  6C 20 62 65 20 61 74 20 61 20 20 70 72 65 6D 69    l be at a  premi
0058B0:  75 6D 20 77 69 74 68 20 76 65 72 79 20 6C 61 72    um with very lar
0058C0:  67 65 20 70 72 6F 67 72 61 6D 73 2C 20 61 6E 64    ge programs, and
0058D0:  20 66 61 69 6C 69 6E 67 20 74 6F 20 6D 61 6B 65     failing to make
0058E0:  20 75 73 65 20 6F 66 20 65 67 20 41 28 30 29 20     use of eg A(0) 
0058F0:  63 61 6E 20 72 65 73 75 6C 74 20 69 6E 20 61 20    can result in a 
005900:  6C 61 72 67 65 20 6C 6F 73 73 20 6F 66 20 6D 65    large loss of me
005910:  6D 6F 72 79 2C 20 65 73 70 65 63 69 61 6C 6C 79    mory, especially
005920:  20 77 69 74 68 20 61 72 72 61 79 20 76 61 72 69     with array vari
005930:  61 62 6C 65 73 20 6F 66 20 73 65 76 65 72 61 6C    ables of several
005940:  20 64 69 6D 65 6E 73 69 6F 6E 73 22 3B 00 22 00     dimensions";.".
005950:  96 05 BF 22 73 75 63 68 20 61 73 20 41 28 35 2C    ..."such as A(5,
005960:  35 2C 35 2C 35 29 2E 0A 22 01 A0 20 1E 2A 08 00    5,5,5)..".. .*..
005970:  C7 00 A0 05 BF 03 00 00 EE 01 BF 22 2A 2A 20 52    ..........."** R
005980:  45 43 4F 52 44 20 50 52 4F 54 45 43 54 20 2A 2A    ECORD PROTECT **
005990:  0A 0A 22 01 BF D4 38 22 41 63 63 69 64 65 6E 74    .."...8"Accident
0059A0:  61 6C 20 6F 76 65 72 77 72 69 74 69 6E 67 20 6F    al overwriting o
0059B0:  66 20 70 72 6F 67 72 61 6D 73 20 72 65 63 6F 72    f programs recor
0059C0:  64 65 64 20 6F 6E 20 63 61 73 73 65 74 74 65 20    ded on cassette 
0059D0:  63 61 6E 20 62 65 20 70 72 65 76 65 6E 74 65 64    can be prevented
0059E0:  20 62 79 20 20 20 20 20 72 65 6D 6F 76 69 6E 67     by     removing
0059F0:  20 74 68 65 20 72 65 63 6F 72 64 2D 70 72 6F 74     the record-prot
005A00:  65 63 74 20 74 61 62 20 61 74 20 74 68 65 20 6C    ect tab at the l
005A10:  65 66 74 20 68 61 6E 64 20 72 65 61 72 20 63 6F    eft hand rear co
005A20:  72 6E 65 72 20 6F 66 20 74 68 65 20 63 61 73 73    rner of the cass
005A30:  65 74 74 65 2E 0A 0A 22 00 BE 00 AA 05 BF 22 4E    ette..."......"N
005A40:  65 76 65 72 20 6C 65 61 76 65 20 63 61 73 73 65    ever leave casse
005A50:  74 74 65 73 20 6E 65 61 72 20 73 74 72 6F 6E 67    ttes near strong
005A60:  20 6D 61 67 6E 65 74 69 63 20 66 69 65 6C 64 73     magnetic fields
005A70:  20 2D 20 68 6F 75 72 73 20 6F 66 20 77 6F 72 6B     - hours of work
005A80:  2C 20 6F 72 20 6C 6F 74 73 20 6F 66 20 20 20 6D    , or lots of   m
005A90:  6F 6E 65 79 2C 20 63 02 7F 61 6E 20 62 65 20 6C    oney, c..an be l
005AA0:  6F 73 74 20 62 79 20 70 72 6F 67 72 61 6D 20 65    ost by program e
005AB0:  72 61 73 75 72 65 3B 20 74 65 6C 65 76 69 73 69    rasure; televisi
005AC0:  6F 6E 20 73 65 74 73 20 61 72 65 20 6E 6F 74 6F    on sets are noto
005AD0:  72 69 6F 75 73 20 66 6F 72 20 74 68 69 73 2C 20    rious for this, 
005AE0:  20 61 73 20 61 72 65 20 70 72 69 6E 74 65 72 73     as are printers
005AF0:  2E 22 01 A0 20 1E 2A 08 00 C1 00 B4 05 BF 20 03    .".. .*....... .
005B00:  00 00 EE 01 BF 22 0B 2A 2A 20 53 4F 52 54 49 4E    .....".** SORTIN
005B10:  47 20 2A 2A 0A 22 01 BF 22 54 68 65 20 73 75 62    G **.".."The sub
005B20:  2D 72 6F 75 74 69 6E 65 20 62 65 6C 6F 77 20 77    -routine below w
005B30:  69 6C 6C 20 70 72 6F 64 75 63 65 20 61 20 72 65    ill produce a re
005B40:  61 73 6F 6E 61 62 6C 79 20 66 61 73 74 20 73 6F    asonably fast so
005B50:  72 74 3B 20 66 6F 72 20 6D 61 78 69 6D 75 6D 20    rt; for maximum 
005B60:  73 70 65 65 64 20 20 20 20 69 6E 63 6C 75 64 65    speed    include
005B70:  20 69 74 20 6E 65 61 72 20 74 68 65 20 62 65 67     it near the beg
005B80:  69 6E 6E 69 6E 67 20 6F 66 20 74 68 65 20 70 72    inning of the pr
005B90:  6F 67 72 61 6D 2E 20 42 65 7D 2A 66 6F 72 65 20    ogram. Be}*fore 
005BA0:  63 61 6C 6C 69 6E 67 2C 20 65 73 74 61 62 6C 69    calling, establi
005BB0:  73 68 20 4E 20 61 73 22 20 20 20 00 C0 00 BE 05    sh N as"   .....
005BC0:  BF 22 65 71 75 61 6C 20 74 6F 20 74 68 65 20 6E    ."equal to the n
005BD0:  75 6D 62 65 72 20 6F 66 20 69 74 65 6D 73 2C 20    umber of items, 
005BE0:  61 6E 64 20 61 72 72 61 6E 67 65 20 74 68 65 73    and arrange thes
005BF0:  65 20 69 6E 20 61 6E 20 61 72 72 61 79 20 53 28    e in an array S(
005C00:  31 29 20 74 6F 20 53 28 4E 29 20 2D 20 79 6F 75    1) to S(N) - you
005C10:  20 20 6D 75 73 74 20 6F 66 20 63 6F 75 72 73 65      must of course
005C20:  20 44 49 4D 20 74 68 69 73 2E 20 54 68 65 79 20     DIM this. They 
005C30:  77 69 6C 6C 20 62 65 20 72 65 74 75 72 6E 65 64    will be returned
005C40:  20 69 6E 20 74 68 65 20 73 61 6D 65 20 61 72 72     in the same arr
005C50:  61 79 2C 20 62 75 74 20 73 6F 72 74 65 64 20 20    ay, but sorted  
005C60:  20 20 69 6E 74 6F 20 61 73 63 65 6E 64 69 6E 67      into ascending
005C70:  20 6F 72 64 65 72 2E 0A 22 20 20 00 C7 00 C8 05     order.."  .....
005C80:  BF 22 43 68 61 6E 67 69 6E 67 20 72 65 66 65 72    ."Changing refer
005C90:  65 6E 63 65 73 20 74 6F 20 53 28 93 AC FF FF FF    ences to S(.....
005CA0:  FF 11 3A 09 A6 04 A6 04 9D 04 38 09 FF 0F 08 11    ..:.......8.....
005CB0:  00 07 01 00 2C 80 41 4D 53 54 52 41 44 20 55 4E    ....,.AMSTRAD UN
005CC0:  4C 4F 43 4B 45 0B 00 01 00 08 70 51 00 BA 6E 00    LOCKE.....pQ..n.
005CD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005CE0:  00 00 00 00 00 53 00 00 00 00 00 00 50 50 00 00    .....S......PP..
005CF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005D00:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005D10:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005D20:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005D30:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005D40:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005D50:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005D60:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005D70:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005D80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005D90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005DA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
005DB0:  00 00 00 00 00 DE 10 FF FF FF FF 11 38 09 A6 04    ............8...
005DC0:  A6 04 A7 04 4D 09 FD 0F 08 7F 0A 15 08 00 16 20    ....M.......... 
005DD0:  29 20 74 6F 20 53 24 28 20 29 20 63 6F 6E 76 65    ) to S$( ) conve
005DE0:  72 74 73 20 74 68 65 20 72 6F 75 74 69 6E 65 20    rts the routine 
005DF0:  74 6F 20 61 20 73 74 72 69 6E 67 20 73 6F 72 74    to a string sort
005E00:  3B 20 66 6F 72 20 74 68 69 73 20 70 75 72 70 6F    ; for this purpo
005E10:  73 65 20 6C 65 74 74 65 72 73 20 61 74 20 74 68    se letters at th
005E20:  65 20 73 74 61 72 74 20 6F 66 20 74 68 65 20 61    e start of the a
005E30:  6C 70 68 61 62 65 74 20 61 72 65 20 72 65 67 61    lphabet are rega
005E40:  72 64 65 64 20 61 73 20 68 61 76 69 6E 67 20 6C    rded as having l
005E50:  6F 77 65 72 20 20 76 61 6C 75 65 20 74 68 61 6E    ower  value than
005E60:  20 74 68 6F 73 65 20 6E 65 61 72 20 74 68 65 20     those near the 
005E70:  65 6E 64 2E 0A 22 00 7F 00 D2 05 BF 22 20 20 20    end.."......"   
005E80:  20 20 20 31 30 20 55 3D 32 3A 44 3D 4E 3A 46 3D       10 U=2:D=N:F=
005E90:  30 22 01 BF 22 20 20 20 20 20 20 32 30 20 50 3D    0".."      20 P=
005EA0:  55 22 01 BF 22 20 20 20 20 20 20 49 46 20 53 28    U".."      IF S(
005EB0:  50 2D 31 29 3C 3D 53 28 50 29 20 54 48 45 4E 20    P-1)<=S(P) THEN 
005EC0:  35 30 22 01 BF 22 20 20 20 20 20 20 34 30 20 89    50".."      40 .
005ED0:  37 53 28 30 29 3D 53 28 50 29 3A 53 28 50 29 3D    7S(0)=S(P):S(P)=
005EE0:  53 28 50 2D 31 29 3A 53 28 50 2D 31 29 3D 53 28    S(P-1):S(P-1)=S(
005EF0:  30 29 3A 46 3D 50 22 00 B1 00 DC 05 BF 22 20 20    0):F=P"......"  
005F00:  20 20 20 20 35 30 20 50 3D 50 2B 31 3A 49 46 20        50 P=P+1:IF 
005F10:  50 3C 3D 44 20 54 48 45 4E 20 33 30 22 01 BF 22    P<=D THEN 30".."
005F20:  20 20 20 20 20 20 36 30 20 44 3D 46 2D 31 3A 49          60 D=F-1:I
005F30:  46 20 44 3C 55 20 54 48 45 4E 20 31 32 30 22 01    F D<U THEN 120".
005F40:  BF 22 20 20 20 20 20 20 37 30 20 50 3D 44 22 01    ."      70 P=D".
005F50:  BF 22 20 20 20 20 20 20 38 30 20 49 46 20 53 28    ."      80 IF S(
005F60:  50 2D 31 29 3C 3D 53 28 50 29 20 54 48 45 4E 20    P-1)<=S(P) THEN 
005F70:  31 30 30 22 01 BF 22 20 20 20 20 20 20 39 30 20    100".."      90 
005F80:  53 28 30 29 3D 53 28 50 29 3A 53 28 50 29 3D 53    S(0)=S(P):S(P)=S
005F90:  28 50 2D 31 29 3A 53 28 50 2D 31 29 3D 53 28 30    (P-1):S(P-1)=S(0
005FA0:  29 3A 46 3D 50 22 20 20 00 6D 00 E6 05 BF 22 20    ):F=P"  .m...." 
005FB0:  20 20 20 20 31 30 30 20 50 3D 50 2D 31 3A 49 46        100 P=P-1:IF
005FC0:  20 50 3E 3D 55 20 54 48 45 4E 20 38 30 22 01 BF     P>=U THEN 80"..
005FD0:  22 FF 59 20 20 20 20 20 31 31 30 20 55 3D 46 2B    ".Y     110 U=F+
005FE0:  31 22 01 BF 22 20 20 20 20 20 31 32 30 20 49 46    1".."     120 IF
005FF0:  20 44 3E 3D 55 20 54 48 45 4E 20 32 30 22 01 BF     D>=U THEN 20"..
006000:  22 20 20 20 20 20 31 33 30 20 52 45 54 55 52 4E    "     130 RETURN
006010:  22 01 A0 20 1E 2A 08 00 FB 00 F0 05 BF 03 00 00    ".. .*..........
006020:  EE 01 BF 22 2A 2A 20 54 52 49 47 20 46 55 4E 43    ..."** TRIG FUNC
006030:  54 49 4F 4E 53 20 2A 2A 0A 22 01 BF 22 4F 6E 20    TIONS **.".."On 
006040:  74 68 65 20 41 6D 73 74 72 61 64 2C 20 74 68 65    the Amstrad, the
006050:  20 53 49 4E 2C 20 43 4F 53 20 6F 72 20 54 41 4E     SIN, COS or TAN
006060:  20 6F 66 20 61 6E 20 61 6E 67 6C 65 20 63 61 6E     of an angle can
006070:  20 62 65 20 66 6F 75 6E 64 2C 20 61 6E 64 20 75     be found, and u
006080:  73 69 6E 67 20 41 54 4E 20 74 68 65 20 61 6E 67    sing ATN the ang
006090:  6C 65 20 6F 66 20 77 68 69 63 68 20 74 68 65 20    le of which the 
0060A0:  54 41 4E 20 69 73 20 6B 6E 6F 77 6E 2E 20 54 68    TAN is known. Th
0060B0:  65 20 66 75 6E 63 74 69 6F 6E 73 20 41 52 43 53    e functions ARCS
0060C0:  49 4E 20 61 6E 64 20 41 52 43 4F 53 2C 20 74 6F    IN and ARCOS, to
0060D0:  20 66 69 2D 3A 6E 64 20 61 6E 67 6C 65 73 20 6B     fi-:nd angles k
0060E0:  6E 6F 77 69 6E 67 20 74 68 65 69 72 20 53 49 4E    nowing their SIN
0060F0:  20 6F 72 20 43 4F 53 2C 20 61 72 65 20 6E 6F 74     or COS, are not
006100:  20 68 6F 77 65 76 65 72 20 70 72 6F 76 69 64 65     however provide
006110:  64 2E 0A 22 00 61 00 FA 05 BF 22 54 68 65 20 6D    d..".a...."The m
006120:  69 73 73 69 6E 67 20 66 75 6E 63 74 69 6F 6E 73    issing functions
006130:  20 63 61 6E 20 62 65 20 63 72 65 61 74 65 64 20     can be created 
006140:  69 66 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67    if the following
006150:  20 69 73 20 70 75 74 20 61 74 20 74 68 65 20 73     is put at the s
006160:  74 61 72 74 20 6F 66 20 61 20 20 70 72 6F 67 72    tart of a  progr
006170:  61 6D 3A 0A 22 00 96 00 04 06 BF 22 20 20 20 20    am:."......"    
006180:  31 30 20 44 45 46 20 46 4E 20 53 28 58 29 3D 28    10 DEF FN S(X)=(
006190:  41 54 4E 28 58 2F 53 51 52 28 2D 58 2A 58 2B 31    ATN(X/SQR(-X*X+1
0061A0:  2E 30 30 30 30 30 31 29 29 29 2A 31 38 30 2F 50    .000001)))*180/P
0061B0:  49 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    I               
0061C0:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
0061D0:  32 30 20 44 45 80 9C 46 20 46 4E 20 43 28 58 29    20 DE..F FN C(X)
0061E0:  3D 28 2D 41 54 4E 28 58 2F 53 51 52 28 2D 58 2A    =(-ATN(X/SQR(-X*
0061F0:  58 2B 31 2E 30 30 30 30 30 31 29 29 2B 31 2E 35    X+1.000001))+1.5
006200:  37 30 38 29 2A 31 38 30 2F 50 49 0A 22 00 BA 00    708)*180/PI."...
006210:  0E 06 BF 22 54 68 65 72 65 61 66 74 65 72 20 69    ..."Thereafter i
006220:  66 20 58 20 69 73 20 74 68 65 20 53 49 4E 20 6F    f X is the SIN o
006230:  72 20 43 4F 53 20 6F 66 20 61 6E 20 61 6E 67 6C    r COS of an angl
006240:  65 2C 20 50 52 49 4E 54 20 46 4E 20 53 28 58 29    e, PRINT FN S(X)
006250:  20 61 6E 64 20 50 52 49 4E 54 20 46 4E 20 43 28     and PRINT FN C(
006260:  58 29 20 20 72 65 73 70 65 63 74 69 76 65 6C 79    X)  respectively
006270:  20 77 69 6C 6C 20 67 69 76 65 20 74 68 65 20 61     will give the a
006280:  6E 67 6C 65 20 69 6E 20 64 65 67 72 65 65 73 2E    ngle in degrees.
006290:  20 54 6F 20 77 6F 72 6B 20 69 6E 20 72 61 64 69     To work in radi
0062A0:  61 6E 73 2C 20 6F 6D 69 74 20 2A 31 38 30 2F 50    ans, omit *180/P
0062B0:  49 20 69 6E 62 6F 74 68 20 6C 69 6E 65 73 2E 0A    I inboth lines..
0062C0:  22 01 A0 20 1E 2A 08 00 E0 00 18 06 BF 03 00 00    ".. .*..........
0062D0:  EE 01 BF 22 2A 2A 20 B6 4E 52 41 4D 20 26 20 52    ..."** .NRAM & R
0062E0:  4F 4D 20 2A 2A 0A 0A 22 01 BF 22 54 68 65 72 65    OM **..".."There
0062F0:  20 61 72 65 20 74 77 6F 20 74 79 70 65 73 20 6F     are two types o
006300:  66 20 6D 65 6D 6F 72 79 20 62 75 69 6C 74 20 69    f memory built i
006310:  6E 74 6F 20 74 68 65 20 63 6F 6D 70 75 74 65 72    nto the computer
006320:  20 2D 20 52 41 4D 20 61 6E 64 20 52 4F 4D 2E 0A     - RAM and ROM..
006330:  22 01 BF 22 52 4F 4D 20 69 73 20 52 65 61 64 20    ".."ROM is Read 
006340:  4F 6E 6C 79 20 4D 65 6D 6F 72 79 2C 20 77 68 6F    Only Memory, who
006350:  73 65 20 63 6F 6E 74 65 6E 74 73 20 61 72 65 20    se contents are 
006360:  70 65 72 6D 61 6E 65 6E 74 2C 20 75 6E 61 66 66    permanent, unaff
006370:  65 63 74 65 64 20 62 79 20 70 6F 77 65 72 2D 6F    ected by power-o
006380:  66 66 20 20 61 6E 64 20 63 61 6E 6E 6F 74 20 62    ff  and cannot b
006390:  65 20 63 68 61 6E 67 65 64 20 62 79 20 74 68 65    e changed by the
0063A0:  20 75 73 65 72 2E 0A 22 20 00 B6 00 22 06 BF 22     user.." ...".."
0063B0:  52 41 4D 20 69 73 20 52 61 6E 64 6F 6D 20 41 63    RAM is Random Ac
0063C0:  63 65 73 73 20 4D 65 6D 6F 72 79 2C 20 74 68 65    cess Memory, the
0063D0:  20 63 6F 6E 74 65 6E 74 73 A4 6E 20 6F 66 20 77     contents.n of w
0063E0:  68 69 63 68 20 63 61 6E 20 62 65 20 63 68 61 6E    hich can be chan
0063F0:  67 65 64 20 62 79 20 74 68 65 20 75 73 65 72 20    ged by the user 
006400:  20 20 28 65 67 20 62 79 20 6C 6F 61 64 69 6E 67      (eg by loading
006410:  20 61 20 70 72 6F 67 72 61 6D 20 66 72 6F 6D 20     a program from 
006420:  63 61 73 73 65 74 74 65 2C 20 6F 72 20 62 79 20    cassette, or by 
006430:  50 4F 4B 45 29 2C 20 61 6E 64 20 77 68 69 63 68    POKE), and which
006440:  20 61 72 65 20 77 69 70 65 64 20 63 6C 65 61 6E     are wiped clean
006450:  20 20 62 79 20 70 6F 77 65 72 2D 6F 66 66 2E 0A      by power-off..
006460:  22 00 F6 00 2C 06 BF 22 50 72 6F 67 72 61 6D 73    "...,.."Programs
006470:  20 61 72 65 20 6C 6F 61 64 65 64 20 69 6E 74 6F     are loaded into
006480:  20 52 41 4D 2C 20 74 68 65 20 52 4F 4D 20 62 61     RAM, the ROM ba
006490:  6E 6B 73 20 63 6F 6E 74 61 69 6E 69 6E 67 20 74    nks containing t
0064A0:  68 65 20 42 41 53 49 43 20 69 6E 74 65 72 70 72    he BASIC interpr
0064B0:  65 74 65 72 20 61 6E 64 74 68 65 20 6F 70 65 72    eter andthe oper
0064C0:  61 74 69 6E 67 20 73 79 73 74 65 6D 20 28 61 74    ating system (at
0064D0:  20 26 43 30 30 30 2D 26 46 46 46 FE 78 46 20 61     &C000-&FFF.xF a
0064E0:  6E 64 20 26 30 30 30 30 2D 26 33 46 46 46 20 72    nd &0000-&3FFF r
0064F0:  65 73 70 65 63 74 69 76 65 6C 79 29 2E 20 54 68    espectively). Th
006500:  65 20 75 73 65 72 20 20 20 20 63 61 6E 6E 6F 74    e user    cannot
006510:  20 6E 6F 72 6D 61 6C 6C 79 20 65 78 61 6D 69 6E     normally examin
006520:  65 20 74 68 65 20 52 4F 4D 2C 20 62 65 63 61 75    e the ROM, becau
006530:  73 65 20 69 74 20 69 73 20 6F 76 65 72 6C 61 69    se it is overlai
006540:  6E 20 62 79 20 61 64 64 69 74 69 6F 6E 61 6C 20    n by additional 
006550:  52 41 4D 2C 20 61 6E 64 22 00 B5 00 36 06 BF 22    RAM, and"...6.."
006560:  69 73 20 73 77 69 74 63 68 65 64 20 69 6E 20 62    is switched in b
006570:  79 20 63 6F 6D 70 6C 65 78 20 70 72 6F 67 72 61    y complex progra
006580:  6D 73 2C 20 6F 72 20 62 79 20 42 41 53 49 43 2C    ms, or by BASIC,
006590:  20 77 68 65 6E 20 72 65 71 75 69 72 65 64 2E 20     when required. 
0065A0:  54 68 69 73 20 73 65 63 74 69 6F 6E 20 6F 66 20    This section of 
0065B0:  41 6D 73 74 72 61 64 20 55 6E 6C 6F 63 6B 65 64    Amstrad Unlocked
0065C0:  20 68 6F 77 65 76 65 72 20 70 65 72 6D 69 74 73     however permits
0065D0:  20 79 6F 75 20 74 6F 20 6C 6F 6F 6B 20 A9 35 FF     you to look .5.
0065E0:  FF FF FF 11 37 09 A6 04 A6 04 9E 04 3C 09 FE 0F    ....7.......<...
0065F0:  08 10 00 07 01 00 2C 80 41 4D 53 54 52 41 44 20    ......,.AMSTRAD 
006600:  55 4E 4C 4F 43 4B 45 0C 00 01 00 08 70 59 00 BA    UNLOCKE.....pY..
006610:  6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    n...............
006620:  00 00 00 00 00 00 00 53 00 00 00 00 00 00 50 50    .......S......PP
006630:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006640:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006650:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006660:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006670:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006680:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006690:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0066A0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0066B0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0066C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0066D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0066E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0066F0:  00 00 00 00 00 00 00 D6 F0 FF FF FF FF 11 36 09    ..............6.
006700:  A6 04 A6 04 A8 04 4E 09 FF 0F 08 80 0A 15 08 00    ......N.........
006710:  16 74 68 72 6F 75 67 68 20 74 68 65 20 52 4F 4D    .through the ROM
006720:  20 62 61 6E 6B 73 2E 22 01 9F 20 1E 2A 08 01 A0     banks.".. .*...
006730:  20 1E F4 06 20 20 20 20 20 20 20 20 20 20 20 20     ...            
006740:  20 20 00 EC 00 40 06 BF 03 00 00 EE 01 BF 22 2A      ...@........"*
006750:  2A 20 54 49 4D 45 53 45 54 20 2A 2A 0A 22 01 BF    * TIMESET **."..
006760:  22 54 68 65 72 65 20 69 73 20 6E 6F 20 6D 65 61    "There is no mea
006770:  6E 73 20 70 72 6F 76 69 64 65 64 20 6F 6E 20 74    ns provided on t
006780:  68 65 20 41 6D 73 74 72 61 64 20 74 6F 20 7A 65    he Amstrad to ze
006790:  72 6F 20 74 68 65 20 63 6C 6F 63 6B 2C 20 61 6E    ro the clock, an
0067A0:  64 20 74 6F 20 64 65 74 65 72 6D 69 6E 65 20 61    d to determine a
0067B0:  6E 65 6C 61 70 73 65 64 20 74 69 6D 65 20 69 74    nelapsed time it
0067C0:  20 69 73 20 74 68 65 72 65 66 6F 72 65 20 6E 65     is therefore ne
0067D0:  63 65 73 73 61 72 79 20 74 6F 20 61 64 6F 70 74    cessary to adopt
0067E0:  20 74 68 65 20 72 61 74 68 65 72 20 63 69 72 63     the rather circ
0067F0:  75 69 74 6F 75 73 20 70 72 6F 63 65 64 75 72 65    uitous procedure
006800:  20 6F 75 74 6C 69 6E 65 64 20 69 6E 20 43 68 61     outlined in Cha
006810:  70 1E 3D 74 65 72 20 38 20 70 61 67 65 20 34 38    p.=ter 8 page 48
006820:  20 6F 66 20 74 68 65 20 6D 61 6E 75 61 6C 2E 22     of the manual."
006830:  00 85 00 4A 06 BF 22 0A 48 6F 77 65 76 65 72 2C    ...J..".However,
006840:  20 69 66 20 74 68 65 20 6C 69 74 74 6C 65 20 72     if the little r
006850:  6F 75 74 69 6E 65 20 62 65 6C 6F 77 20 69 73 20    outine below is 
006860:  69 6E 63 6C 75 64 65 64 20 61 74 20 74 68 65 20    included at the 
006870:  73 74 61 72 74 20 6F 66 20 61 20 70 72 6F 67 72    start of a progr
006880:  61 6D 20 69 74 20 69 73 70 6F 73 73 69 62 6C 65    am it ispossible
006890:  20 74 6F 20 7A 65 72 6F 20 74 68 65 20 63 6C 6F     to zero the clo
0068A0:  63 6B 20 62 79 20 43 41 4C 4C 20 54 49 4D 45 53    ck by CALL TIMES
0068B0:  45 54 2E 0A 22 00 C1 00 54 06 BF 22 20 20 20 31    ET.."...T.."   1
0068C0:  30 20 4D 45 4D 4F 52 59 20 34 33 35 30 30 3A 46    0 MEMORY 43500:F
0068D0:  4F 52 20 58 3D 30 20 54 4F 20 31 35 3A 52 45 41    OR X=0 TO 15:REA
0068E0:  44 20 41 3A 50 4F 4B 45 20 34 33 39 36 30 2B 58    D A:POKE 43960+X
0068F0:  2C 41 3A 4E 45 58 54 20 20 20 20 20 20 20 20 20    ,A:NEXT         
006900:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32                   2
006910:  30 20 44 D8 58 41 54 41 20 32 34 35 2C 32 31 33    0 D.XATA 245,213
006920:  2C 32 32 39 2C 31 37 2C 30 2C 30 2C 33 33 2C 30    ,229,17,0,0,33,0
006930:  2C 30 2C 32 30 35 2C 31 36 2C 31 38 39 2C 32 32    ,0,205,16,189,22
006940:  35 2C 32 30 39 2C 32 34 31 2C 32 30 31 20 20 20    5,209,241,201   
006950:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
006960:  20 33 30 20 54 49 4D 45 53 45 54 3D 34 33 39 36     30 TIMESET=4396
006970:  30 22 01 A0 20 1E 2A 08 00 BA 00 5E 06 BF 03 00    0".. .*....^....
006980:  00 EE 01 BF 22 2A 2A 20 46 4F 52 2E 2E 2E 4E 45    ...."** FOR...NE
006990:  58 54 20 2A 2A 0A 22 01 BF 22 4F 6E 20 6D 6F 73    XT **.".."On mos
0069A0:  74 20 6D 61 63 68 69 6E 65 73 20 61 20 46 4F 52    t machines a FOR
0069B0:  20 2E 2E 2E 20 4E 45 58 54 20 6C 6F 6F 70 20 69     ... NEXT loop i
0069C0:  73 20 61 6C 77 61 79 73 20 65 78 65 63 75 74 65    s always execute
0069D0:  64 20 61 74 20 6C 65 61 73 74 20 6F 6E 63 65 2E    d at least once.
0069E0:  0A 22 01 BF 22 54 68 65 20 41 6D 73 74 72 61 64    .".."The Amstrad
0069F0:  20 69 73 20 68 6F 77 65 76 65 72 20 72 61 74 68     is however rath
006A00:  65 72 20 6D 6F 72 65 20 6C 6F 67 69 63 61 6C 20    er more logical 
006A10:  2D 20 69 66 20 7E 22 74 68 65 20 73 65 63 6F 6E    - if ~"the secon
006A20:  64 20 70 61 72 61 6D 65 74 65 72 20 69 73 20 6C    d parameter is l
006A30:  65 73 73 22 00 58 00 68 06 BF 22 74 68 61 6E 20    ess".X.h.."than 
006A40:  74 68 65 20 66 69 72 73 74 2C 20 61 6E 64 20 74    the first, and t
006A50:  68 65 72 65 20 69 73 20 6E 6F 20 6E 65 67 61 74    here is no negat
006A60:  69 76 65 20 53 54 45 50 2C 20 74 68 65 6E 20 74    ive STEP, then t
006A70:  68 65 20 6C 6F 6F 70 20 69 73 20 6E 6F 74 20 65    he loop is not e
006A80:  78 65 63 75 74 65 64 2C 20 65 67 22 00 36 00 72    xecuted, eg".6.r
006A90:  06 BF 22 46 4F 52 20 58 3D 36 20 54 4F 20 35 3A    .."FOR X=6 TO 5:
006AA0:  50 52 49 4E 54 20 22 3B FF 03 28 19 22 29 3B 22    PRINT ";..(.");"
006AB0:  41 22 3B FF 03 28 19 22 29 3B 22 3A 4E 45 58 54    A";..(.");":NEXT
006AC0:  0A 22 00 60 00 7C 06 BF 22 54 68 65 20 41 6D 73    .".`.|.."The Ams
006AD0:  74 72 61 64 20 77 6F 75 6C 64 20 62 79 70 61 73    trad would bypas
006AE0:  73 20 74 68 65 20 46 4F 52 20 2E 2E 2E 20 4E 45    s the FOR ... NE
006AF0:  58 54 20 6C 6F 6F 70 2C 20 6F 74 68 65 72 20 6D    XT loop, other m
006B00:  61 63 68 69 6E 65 73 20 77 6F 75 6C 64 20 70 72    achines would pr
006B10:  69 6E 74 20 41 2E 22 F1 FD 01 A0 20 1E 2A 08 20    int A.".... .*. 
006B20:  20 20 20 20 00 94 00 86 06 BF 03 00 00 EE 01 BF        ............
006B30:  22 2A 2A 20 43 41 4C 4C 20 42 45 4C 4C 20 2A 2A    "** CALL BELL **
006B40:  0A 22 01 BF 22 49 66 20 74 68 65 20 72 6F 75 74    .".."If the rout
006B50:  69 6E 65 20 6C 69 73 74 65 64 20 62 65 6C 6F 77    ine listed below
006B60:  20 69 73 20 69 6E 63 6C 75 64 65 64 20 61 74 20     is included at 
006B70:  74 68 65 20 73 74 61 72 74 20 6F 66 20 61 20 70    the start of a p
006B80:  72 6F 67 72 61 6D 2C 20 61 20 62 65 65 70 20 63    rogram, a beep c
006B90:  61 6E 20 62 65 63 61 75 73 65 64 20 61 74 20 61    an becaused at a
006BA0:  6E 79 20 74 69 6D 65 20 62 79 20 43 41 4C 4C 20    ny time by CALL 
006BB0:  42 45 4C 4C 2E 0A 0A 22 00 BF 00 90 06 BF 22 20    BELL..."......" 
006BC0:  20 20 31 30 20 4D 45 4D 4F 52 59 20 34 33 35 30      10 MEMORY 4350
006BD0:  30 3A 46 4F 52 20 58 3D 30 20 54 4F 20 37 3A 3A    0:FOR X=0 TO 7::
006BE0:  52 45 41 44 20 41 3A 50 4F 4B 45 20 34 33 39 35    READ A:POKE 4395
006BF0:  32 2B 58 2C 41 3A 4E 45 58 54 20 20 20 20 20 20    2+X,A:NEXT      
006C00:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
006C10:  20 20 32 30 20 44 41 54 41 D2 6D 20 32 34 35 2C      20 DATA.m 245,
006C20:  36 32 2C 37 2C 32 30 35 2C 39 30 2C 31 38 37 2C    62,7,205,90,187,
006C30:  32 34 31 2C 32 30 31 20 20 20 20 20 20 20 20 20    241,201         
006C40:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
006C50:  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                    
006C60:  20 20 20 20 33 30 20 42 45 4C 4C 3D 34 33 39 35        30 BELL=4395
006C70:  32 22 01 A0 20 1E 2A 08 20 00 F4 00 9A 06 BF 20    2".. .*. ...... 
006C80:  03 00 00 EE 01 BF 22 0A 2A 2A 20 44 41 54 41 43    ......".** DATAC
006C90:  4F 52 44 45 52 20 2A 2A 0A 22 01 BF 22 43 61 73    ORDER **.".."Cas
006CA0:  73 65 74 74 65 20 68 65 61 64 73 20 73 68 6F 75    sette heads shou
006CB0:  6C 64 20 62 65 20 63 6C 65 61 6E 65 64 20 72 65    ld be cleaned re
006CC0:  67 75 6C 61 72 6C 79 2C 20 69 66 20 6C 6F 61 64    gularly, if load
006CD0:  69 6E 67 20 65 72 72 6F 72 73 20 61 72 65 20 74    ing errors are t
006CE0:  6F 20 62 65 20 61 76 6F 69 64 65 64 2E 4F 70 65    o be avoided.Ope
006CF0:  6E 20 63 61 73 73 65 74 74 65 20 64 6F 6F 72 2C    n cassette door,
006D00:  20 70 72 65 73 73 20 50 4C 41 59 20 74 6F 20 6D     press PLAY to m
006D10:  6F 76 65 20 68 65 61 64 73 20 66 F3 AE 6F 72 77    ove heads f..orw
006D20:  61 72 64 2C 20 61 6E 64 20 77 69 70 65 20 77 69    ard, and wipe wi
006D30:  74 68 20 63 6C 65 61 6E 69 6E 67 20 20 20 20 66    th cleaning    f
006D40:  6C 75 69 64 20 6F 6E 20 63 6F 74 74 6F 6E 20 77    luid on cotton w
006D50:  6F 6F 6C 2E 20 44 72 79 20 77 69 74 68 20 63 6F    ool. Dry with co
006D60:  74 74 6F 6E 20 77 6F 6F 6C 2E 22 20 20 20 20 00    tton wool."    .
006D70:  95 00 A4 06 BF 22 0A 54 68 65 20 63 61 73 73 65    .....".The casse
006D80:  74 74 65 20 6D 6F 74 6F 72 20 69 73 20 63 6F 6E    tte motor is con
006D90:  74 72 6F 6C 6C 65 64 20 62 79 20 70 6F 72 74 20    trolled by port 
006DA0:  35 31 32 2E 20 49 66 20 74 68 65 20 50 4C 41 59    512. If the PLAY
006DB0:  20 6B 65 79 20 69 73 20 64 6F 77 6E 2C 20 74 68     key is down, th
006DC0:  65 20 6D 6F 74 6F 72 63 61 6E 20 62 65 20 65 6E    e motorcan be en
006DD0:  61 62 6C 65 64 2F 64 69 73 61 62 6C 65 64 20 62    abled/disabled b
006DE0:  79 20 4F 55 54 20 35 31 32 2C 58 20 77 68 65 72    y OUT 512,X wher
006DF0:  65 20 58 20 69 73 20 32 35 35 2F 30 2E 22 01 A0    e X is 255/0."..
006E00:  20 1E 2A 08 00 CE 00 AE 06 BF 03 00 00 EE 01 BF     .*.............
006E10:  22 2A 2A 20 46 49 4E 44 20 43 4F 4D 4D C6 AA 41    "** FIND COMM..A
006E20:  4E 44 53 20 26 20 56 41 52 49 41 42 4C 45 53 20    NDS & VARIABLES 
006E30:  2A 2A 0A 22 01 BF 22 54 68 65 20 72 6F 75 74 69    **.".."The routi
006E40:  6E 65 20 62 65 6C 6F 77 20 65 6E 61 62 6C 65 73    ne below enables
006E50:  20 61 6C 6C 20 6C 69 6E 65 73 20 63 6F 6E 74 61     all lines conta
006E60:  69 6E 69 6E 67 20 61 6E 79 20 73 70 65 63 69 66    ining any specif
006E70:  69 65 64 20 76 61 72 69 61 62 6C 65 20 6F 72 20    ied variable or 
006E80:  63 6F 6D 6D 61 6E 64 74 6F 20 62 65 20 66 6F 75    commandto be fou
006E90:  6E 64 20 61 6E 64 20 6C 69 73 74 65 64 20 74 6F    nd and listed to
006EA0:  20 73 63 72 65 65 6E 2E 20 53 61 76 65 20 6F 6E     screen. Save on
006EB0:  20 63 61 73 73 65 74 74 65 20 61 6E 64 20 4D 45     cassette and ME
006EC0:  52 47 45 20 77 68 65 6E 20 72 65 71 75 69 72 65    RGE when require
006ED0:  64 2E 0A 22 00 95 00 B8 06 BF 22 54 6F 20 75 73    d.."......"To us
006EE0:  65 2C 20 74 79 70 65 20 69 6E 20 74 68 65 20 74    e, type in the t
006EF0:  65 78 74 20 73 6F 75 67 68 74 20 61 73 20 6C 69    ext sought as li
006F00:  6E 65 20 31 2C 20 74 68 65 6E 20 63 61 6C 6C 20    ne 1, then call 
006F10:  74 68 65 20 72 6F 75 74 69 6E 65 2C 20 65 67 69    the routine, egi
006F20:  B6 FF FF FF FF 11 38 09 A6 04 A6 04 9F 04 3D 09    ......8.......=.
006F30:  FD 0F 08 10 00 07 01 00 2C 80 41 4D 53 54 52 41    ........,.AMSTRA
006F40:  44 20 55 4E 4C 4F 43 4B 45 0D 00 01 00 08 70 61    D UNLOCKE.....pa
006F50:  00 BA 6E 00 00 00 00 00 00 00 00 00 00 00 00 00    ..n.............
006F60:  00 00 00 00 00 00 00 00 00 53 00 00 00 00 00 00    .........S......
006F70:  50 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00    PP..............
006F80:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006F90:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006FA0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006FB0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006FC0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006FD0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006FE0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
006FF0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007000:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007010:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007020:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007030:  00 00 00 00 00 00 00 00 00 D1 61 FF FF FF FF 11    ..........a.....
007040:  37 09 A6 04 A6 04 A7 04 4D 09 FF 0F 08 83 0A 15    7.......M.......
007050:  08 00 16 20 74 6F 20 66 69 6E 64 20 61 6C 6C 6C    ... to find alll
007060:  69 6E 65 73 20 63 6F 6E 74 61 69 6E 69 6E 67 20    ines containing 
007070:  49 4E 50 55 54 20 58 24 2C 20 65 6E 74 65 72 20    INPUT X$, enter 
007080:  31 20 49 4E 50 55 54 20 58 24 20 74 68 65 6E 20    1 INPUT X$ then 
007090:  47 4F 54 4F 20 36 35 30 30 30 0A 0A 22 00 6C 00    GOTO 65000..".l.
0070A0:  C2 06 BF 22 36 35 30 30 30 20 4C 46 24 3D 22 F4    ..."65000 LF$=".
0070B0:  FF 03 28 19 22 29 F4 FF 03 28 19 22 29 F4 22 3A    ..(.")...(.").":
0070C0:  54 54 3D 30 3A 4C 4C 3D 50 45 45 4B 28 33 36 38    TT=0:LL=PEEK(368
0070D0:  29 3A 46 4F 52 20 58 3D 33 37 32 20 54 4F 20 33    ):FOR X=372 TO 3
0070E0:  36 36 2B 4C 4C 3A 4C 46 24 3D 4C 46 24 2B 43 48    66+LL:LF$=LF$+CH
0070F0:  52 24 28 50 45 45 4B 28 58 29 29 3A 4E 45 58 54    R$(PEEK(X)):NEXT
007100:  3A 43 50 3D 33 36 38 22 20 00 85 00 CC 06 BF 22    :CP=368" ......"
007110:  36 35 30 31 30 20 43 50 3D 43 4C 2B 4C 4C 3A 4C    65010 CP=CL+LL:L
007120:  4C 3D 50 45 45 4B 28 43 50 29 3A 49 46 20 4C 4C    L=PEEK(CP):IF LL
007130:  3D 30 20 54 48 45 4E 20 36 35 30 35 30 22 01 BF    =0 THEN 65050"..
007140:  22 36 35 30 32 30 20 43 4C 24 3D 22 3B FF 03 28    "65020 CL$=";..(
007150:  19 22 29 87 5F 3B FF 03 28 19 22 29 3B 22 3A 46    .")._;..(.");":F
007160:  4F 52 20 58 3D 43 50 2B 34 20 54 4F 20 43 50 2B    OR X=CP+4 TO CP+
007170:  4C 4C 2D 32 3A 43 4C 24 3D 43 4C 24 2B 43 48 52    LL-2:CL$=CL$+CHR
007180:  24 28 50 45 45 4B 28 58 29 29 3A 4E 45 58 54 22    $(PEEK(X)):NEXT"
007190:  00 4A 00 D6 06 BF 22 36 35 30 33 30 20 49 46 20    .J...."65030 IF 
0071A0:  49 4E 53 54 52 28 43 4C 24 2C 4C 46 24 29 20 54    INSTR(CL$,LF$) T
0071B0:  48 45 4E 20 54 54 3D 31 3A 50 52 49 4E 54 20 50    HEN TT=1:PRINT P
0071C0:  45 45 4B 28 43 50 2B 33 29 2A 32 35 36 2B 50 45    EEK(CP+3)*256+PE
0071D0:  45 4B 28 43 50 2B 32 29 3B 22 00 7D 00 E0 06 BF    EK(CP+2);".}....
0071E0:  22 36 35 30 34 30 20 47 4F 54 4F 20 36 35 30 31    "65040 GOTO 6501
0071F0:  30 22 01 BF 22 36 35 30 35 30 20 50 52 49 4E 54    0".."65050 PRINT
007200:  3A 50 52 49 4E 54 22 3B FF 03 28 19 22 29 3B 22    :PRINT";..(.");"
007210:  46 49 4E 49 53 48 45 44 20 53 45 41 52 43 48 22    FINISHED SEARCH"
007220:  3B FF 03 28 19 22 29 3B 22 3A 49 46 20 54 54 3D    ;..(.");":IF TT=
007230:  30 20 54 48 45 4E 20 50 52 49 4E 54 22 3B FF 03    0 THEN PRINT";..
007240:  28 19 22 29 3B 22 4E 4F 54 20 46 4F 55 4E 44 22    (.");"NOT FOUND"
007250:  3B FF 03 28 19 ED C2 22 29 00 17 00 EA 06 BF 22    ;..(...")......"
007260:  36 35 30 36 30 20 45 4E 44 22 01 A0 20 1E 2A 08    65060 END".. .*.
007270:  00 54 00 F4 06 AA 20 1C FF AA 01 C7 20 1E E4 07    .T.... ..... ...
007280:  01 9E 20 0D 00 00 F8 EF 1C 00 AB 20 EC 20 1C 23    .. ........ . .#
007290:  AB 01 C3 20 03 00 00 E8 01 03 00 00 E8 EF 22 26    ... .........."&
0072A0:  22 F4 03 00 00 E8 01 BE 20 0D 00 00 F8 2C FF 1D    "....... ....,..
0072B0:  28 03 00 00 E8 29 01 B0 01 0D 00 00 70 EB EF 1C    (....)......p...
0072C0:  00 AB 20 20 00 2D 00 FE 06 0D 00 00 63 E1 EF 0E    ..  .-......c...
0072D0:  01 8A 01 D8 20 23 0F 2C 0F 2C 19 50 2C 19 18 2C    .... #.,.,.P,..,
0072E0:  19 19 01 D8 20 23 10 2C 0F 2C 19 50 2C 0F 2C 19    .... #.,.,.P,.,.
0072F0:  16 00 8D 00 08 07 BF 23 0F 2C 22 0C 50 72 65 73    .......#.,".Pres
007300:  73 20 6B 65 79 3A 20 41 20 43 48 41 4E 47 45 20    s key: A CHANGE 
007310:  41 44 44 52 45 53 53 2C 20 46 20 46 4F 52 57 41    ADDRESS, F FORWA
007320:  52 44 20 4C 49 53 54 2C 20 42 20 42 41 43 4B 57    RD LIST, B BACKW
007330:  41 52 44 53 20 4C 49 53 54 2C 20 49 20 4D 41 49    ARDS LIST, I MAI
007340:  4E 20 49 4E 44 45 58 22 01 BF 23 0F 2C 22 41 6C    N INDEX"..#.,"Al
007350:  6C 20 76 61 6C 75 65 71 81 73 20 69 6E 20 68 65    l valueq.s in he
007360:  78 2E 20 43 75 72 72 65 6E 74 20 61 64 64 72 65    x. Current addre
007370:  73 73 20 22 3B FF 73 28 0D 00 00 63 E1 2C 12 29    ss ";.s(...c.,.)
007380:  00 20 00 12 07 03 00 00 E7 EF FF 1C 28 FF 43 29    . ..........(.C)
007390:  01 A1 20 03 00 00 E7 EF 22 22 20 EB 20 1E 12 07    .. ....."" . ...
0073A0:  00 13 00 1C 07 A1 20 03 00 00 E7 EF 22 49 22 20    ...... ....."I" 
0073B0:  EB 20 C9 00 15 00 26 07 A1 20 03 00 00 E7 EF 22    . ....&.. ....."
0073C0:  41 22 20 EB 20 1E 94 07 00 38 00 30 07 A1 20 0D    A" . ....8.0.. .
0073D0:  00 00 67 67 E7 EF 0E 20 FA 20 28 03 00 00 E7 EF    ..gg... . (.....
0073E0:  22 46 22 20 FC 20 03 00 00 E7 EF 22 42 22 29 20    "F" . ....."B") 
0073F0:  EB 20 0D 00 00 67 67 E7 EF 0F 01 A0 20 1E 62 07    . ...gg..... .b.
007400:  00 2F 00 3A 07 A1 20 03 00 00 E7 EF 22 42 22 20    ./.:.. ....."B" 
007410:  FA 20 0D 00 00 63 E1 EE 15 20 EB 20 0D 00 00 63    . ...c... . ...c
007420:  E1 EF 0D 00 00 63 E1 F5 16 01 A0 20 1E 62 07 00    .....c..... .b..
007430:  34 00 44 07 A1 20 03 00 00 E7 EF 22 46 22 20 FA    4.D.. ....."F" .
007440:  20 0D 00 00 63 E1 F1 1F 00 00 F1 7F 90 20 EB 20     ...c........ . 
007450:  0D 00 00 63 E1 EF 0D 00 00 55 E3 63 E1 F4 16 01    ...c.....U.c....
007460:  A0 20 1E 62 07 00 0D 00 4E 07 A0 20 1E 12 07 20    . .b....N.. ... 
007470:  20 20 00 2E 00 58 07 A1 20 0D 00 00 63 E1 EE 1C      ...X.. ...c...
007480:  FF 3F 20 FA 20 0D 00 00 63 E1 F1 1F 00 00 00 40    .? . ...c......@
007490:  90 20 EB 20 0D 00 00 63 E1 EF 1F 00 00 00 40 90    . . ...c......@.
0074A0:  00 2F 00 62 07 A1 20 0D 00 00 63 E1 EE 1C FF 3F    ./.b.. ...c....?
0074B0:  20 FA 20 0D 00 00 63 E1 F1 1F 00 00 00 40 90 20     . ...c......@. 
0074C0:  EB 20 0D 00 00 63 E1 EF 1F 00 00 00 40 90 20 00    . ...c......@. .
0074D0:  95 00 6C 07 BF 23 10 2C FF 73 28 0D 00 00 63 E1    ..l..#.,.s(...c.
0074E0:  2C 12 29 3B 22 20 22 3B 01 9E 20 0D 00 00 F8 EF    ,.);" ";.. .....
0074F0:  0E 20 EC 20 15 01 03 00 00 70 E1 EF FF 73 28 0D    . . .....p...s(.
007500:  00 00 63 E1 F4 0D 00 00 F8 2C 12 29 01 BE 20 1C    ..c......,.).. .
007510:  11 AB 2C FF 1D 28 22 26 22 F4 FF 79 28 03 00 00    ..,..("&"..y(...
007520:  70 E1 2C 10 29 29 01 BE 20 1C 12 AB 2C FF 1D 28    p.,.)).. ...,..(
007530:  22 26 22 F4 FF 75 28 03 00 00 70 E1 2C 10 29 29    "&"..u(...p.,.))
007540:  01 83 20 0D 00 00 70 EB 01 BF 23 10 2C FF 73 28    .. ...p...#.,.s(
007550:  FF 12 28 1C 24 AB 29 2C 10 29 3B 4A 1F 22 20 22    ..(.$.),.);J." "
007560:  3B 01 B0 20 20 20 00 B0 00 76 07 BF 23 10 2C 22    ;..   ...v..#.,"
007570:  20 20 20 20 20 20 20 20 20 20 22 3B 01 9E 20 0D              ";.. .
007580:  00 00 F8 EF 0E 20 EC 20 15 01 03 00 00 70 E1 EF    ..... . .....p..
007590:  FF 73 28 0D 00 00 63 E1 F4 0D 00 00 F8 2C 12 29    .s(...c......,.)
0075A0:  01 BE 20 1C 11 AB 2C FF 1D 28 22 26 22 F4 FF 79    .. ...,..("&"..y
0075B0:  28 03 00 00 70 E1 2C 10 29 29 01 BE 20 1C 12 AB    (...p.,.)).. ...
0075C0:  2C FF 1D 28 22 26 22 F4 FF 75 28 03 00 00 70 E1    ,..("&"..u(...p.
0075D0:  2C 10 29 29 01 83 20 0D 00 00 70 EB 01 0D 00 00    ,.)).. ...p.....
0075E0:  61 F0 EF FF 12 28 1C 24 AB 29 01 A1 20 0D 00 00    a....(.$.).. ...
0075F0:  61 F0 F1 19 20 20 EB 20 0D 00 00 61 F0 EF 19 2E    a...  . ...a....
007600:  20 01 97 20 0D 00 00 61 F0 EF 0D 00 00 61 F0 20     .. ...a.....a. 
007610:  20 20 20 20 20 20 00 27 00 80 07 BF 23 10 2C FF          .'....#.,.
007620:  03 28 0D 00 00 61 F0 29 3B 22 20 22 3B 01 B0 01    .(...a.);" ";...
007630:  BF 23 10 01 A0 20 1E 08 07 20 20 20 20 00 0A 00    .#... ...    ...
007640:  8A 07 A0 20 1E 08 07 00 47 00 94 07 0D 00 00 67    ... ....G......g
007650:  67 E7 EF 0E 01 A3 20 23 0F 2C 22 0C 45 43 53 6E    g....£ #.,".ECSn
007660:  74 65 72 20 68 65 78 20 61 64 64 72 65 73 73 2C    ter hex address,
007670:  20 77 69 74 68 6F 75 74 20 26 20 22 3B 03 00 00     without & ";...
007680:  E7 01 03 00 00 E7 EF FF 1C 28 03 00 00 E7 29 20    .........(....) 
007690:  00 27 00 9E 07 A1 20 FF 0E 28 03 00 00 E7 29 F1    .'.... ..(....).
0076A0:  12 20 EB 20 03 00 00 E7 EF 22 30 22 F4 03 00 00    . . ....."0"....
0076B0:  E7 01 A0 20 1E 9E 07 00 17 00 A8 07 A1 20 FF 0E    ... ......... ..
0076C0:  28 03 00 00 E7 29 EE 12 20 EB 20 1E 94 07 00 65    (....).. . ....e
0076D0:  00 B2 07 0D 00 00 63 F5 EF 0E 01 9E 20 0D 00 00    ......c..... ...
0076E0:  F8 EF 0F 20 EC 20 12 01 03 00 00 F4 EF AC 28 03    ... . ........(.
0076F0:  00 00 E7 2C 0D 00 00 F8 2C 0F 29 01 A1 20 03 00    ...,....,.).. ..
007700:  00 F4 EE 22 46 22 20 FC 20 03 00 00 F4 F1 22 30    ..."F" . ....."0
007710:  22 20 FC 20 28 03 00 00 F4 F1 22 41 22 20 FA 20    " . (....."A" . 
007720:  03 00 00 F4 EE 22 39 22 29 20 EB 20 0D 00 00 63    ....."9") . ...c
007730:  F5 EF 0F 00 16 00 BC 07 B0 01 A1 20 0D 00 00 63    ........... ...c
007740:  F5 EF 0F 20 EB 20 1E 94 07 00 38 00 C6 07 0D 00    ... . ....8.....
007750:  00 63 E1 EF FF 1D 28 22 26 22 F4 03 00 00 E7 C4    .c....("&"......
007760:  BA 29 01 A1 20 0D 00 00 63 E1 F1 0E 20 EB 20 0D    .).. ...c... . .
007770:  00 00 63 E1 EF 1F 00 00 00 00 91 F4 0D 00 00 63    ..c............c
007780:  E1 20 20 00 22 00 D0 07 A1 20 0D 00 00 63 E1 EE    .  .".... ...c..
007790:  1F 00 00 F8 7F 90 20 EB 20 0D 00 00 63 E1 EF 1F    ...... . ...c...
0077A0:  00 00 F8 7F 90 00 0A 00 DA 07 A0 20 1E 08 07 00    ........... ....
0077B0:  73 00 E4 07 8C 20 66 33 2C 63 35 2C 64 35 2C 65    s.... f3,c5,d5,e
0077C0:  35 2C 66 35 2C 66 64 2C 65 35 2C 64 64 2C 65 35    5,f5,fd,e5,dd,e5
0077D0:  2C 63 64 2C 30 30 2C 62 39 2C 66 35 2C 63 64 2C    ,cd,00,b9,f5,cd,
0077E0:  30 36 2C 62 39 2C 33 61 2C 30 2C 30 2C 33 32 2C    06,b9,3a,0,0,32,
0077F0:  32 34 2C 61 62 2C 66 31 2C 63 64 2C 30 63 2C 62    24,ab,f1,cd,0c,b
007800:  39 2C 64 64 2C 65 31 2C 66 64 2C 65 31 2C 66 31    9,dd,e1,fd,e1,f1
007810:  2C 65 31 2C 64 31 2C 63 31 2C 66 62 2C 63 39 20    ,e1,d1,c1,fb,c9 
007820:  20 20 00 9E 00 EE 07 BF 03 00 00 EE 01 BF 22 2A      ............"*
007830:  2A 20 4D 49 53 43 45 4C 4C 41 4E 45 4F 55 53 20    * MISCELLANEOUS 
007840:  2A 2A 0A 22 01 BF 22 4F 4E 20 42 52 45 41 4B 20    **.".."ON BREAK 
007850:  64 6F 65 73 20 6E 6F 74 20 61 6C 77 61 79 73 20    does not always 
007860:  70 7B 15 FF FF FF FF 11 37 09 A6 04 A6 04 A2 04    p{......7.......
007870:  42 09 FF 0F 08 11 00 07 01 00 2C 80 41 4D 53 54    B.........,.AMST
007880:  52 41 44 20 55 4E 4C 4F 43 4B 45 0E FF 01 BA 06    RAD UNLOCKE.....
007890:  70 69 00 BA 6E 00 00 00 00 00 00 00 00 00 00 00    pi..n...........
0078A0:  00 00 00 00 00 00 00 00 00 00 00 53 00 00 00 00    ...........S....
0078B0:  00 00 50 50 00 00 00 00 00 00 00 00 00 00 00 00    ..PP............
0078C0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0078D0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0078E0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0078F0:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007900:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007910:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007920:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007930:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007940:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007950:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007960:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
007970:  00 00 00 00 00 00 00 00 00 00 00 F3 84 FF FF FF    ................
007980:  FF 11 38 09 A6 04 A6 04 A7 04 4C 09 FF 0F 08 11    ..8.......L.....
007990:  00 13 07 00 16 72 65 76 65 6E 74 20 74 68 65 20    .....revent the 
0079A0:  75 73 65 20 6F 66 20 45 53 43 20 74 6F 20 62 72    use of ESC to br
0079B0:  65 61 6B 20 61 20 70 72 6F 67 72 61 6D 20 2D 20    eak a program - 
0079C0:  69 74 20 73 74 69 6C 6C 20 20 20 6F 70 65 72 61    it still   opera
0079D0:  74 65 73 20 64 75 72 69 6E 67 20 49 4E 50 55 54    tes during INPUT
0079E0:  2C 20 4C 4F 41 44 20 26 20 53 41 56 45 20 65 74    , LOAD & SAVE et
0079F0:  63 2E 0A 22 00 C0 00 F8 07 BF 22 50 4F 4B 45 20    c.."......"POKE 
007A00:  34 36 33 31 32 2C 32 32 35 2F 30 20 20 20 45 6E    46312,225/0   En
007A10:  61 62 6C 65 73 2F 64 69 73 61 62 6C 65 73 20 43    ables/disables C
007A20:  41 50 53 20 4C 4F 43 4B 2E 0A 22 01 BF 22 50 4F    APS LOCK..".."PO
007A30:  4B 45 20 34 38 36 32 32 2C 32 30 31 2F 31 39 35    KE 48622,201/195
007A40:  20 44 69 73 61 62 6C 65 73 2F 65 6E 61 62 6C 65     Disables/enable
007A50:  73 20 72 65 73 65 74 2C 20 69 65 20 43 54 52 4C    s reset, ie CTRL
007A60:  2E 53 48 49 46 54 2E 45 53 43 2E 0A 22 01 BF 22    .SHIFT.ESC..".."
007A70:  43 41 4C 4C 20 34 37 39 34 34 2F 37 20 20 20 20    CALL 47944/7    
007A80:  20 20 20 44 69 73 61 62 6C 65 73 2F 65 6E 61 62       Disables/enab
007A90:  6C 65 73 20 45 26 88 53 43 20 69 66 20 75 73 65    les E&.SC if use
007AA0:  64 20 69 6E 20 61 20 70 72 6F 67 72 61 6D 2E 22    d in a program."
007AB0:  01 A0 20 1E 2A 08 00 DF 00 02 08 BF 20 03 00 00    .. .*....... ...
007AC0:  EE 01 BF 22 2A 2A 20 50 41 52 41 4D 45 54 45 52    ..."** PARAMETER
007AD0:  20 50 41 53 53 49 4E 47 2C 20 42 41 53 49 43 20     PASSING, BASIC 
007AE0:  3C 3E 20 4D 41 43 48 49 4E 45 20 43 4F 44 45 20    <> MACHINE CODE 
007AF0:  2A 2A 0A 22 01 BF 22 50 61 72 61 6D 65 74 65 72    **.".."Parameter
007B00:  73 20 6D 61 79 20 62 65 20 70 61 73 73 65 64 20    s may be passed 
007B10:  74 6F 20 6D 61 63 68 69 6E 65 20 63 6F 64 65 20    to machine code 
007B20:  72 6F 75 74 69 6E 65 73 20 62 79 20 65 67 20 43    routines by eg C
007B30:  41 4C 4C 20 41 2C 42 2C 40 43 2C 40 44 24 20 6F    ALL A,B,@C,@D$ o
007B40:  72 20 20 20 20 20 20 65 67 20 43 41 4C 4C 20 47    r      eg CALL G
007B50:  2C 40 45 24 2C 26 35 30 30 30 2C 46 20 77 68 65    ,@E$,&5000,F whe
007B60:  72 65 20 41 2C 47 20 61 72 65 20 63 6F 64 65 20    re A,G are code 
007B70:  6C 6F 63 61 74 69 6F 6E 73 3B 20 32 35 30 30 30    locations; 25000
007B80:  2C 26 35 30 30 30 20 61 72 65 20 69 6E 74 65 67    ,&5000 are integ
007B90:  65 72 73 3B 22 00 F7 05 A6 00 0C 08 BF 22 42 2C    ers;"........"B,
007BA0:  43 2C 46 20 61 72 65 20 69 6E 74 65 67 65 72 20    C,F are integer 
007BB0:  76 61 72 69 61 62 6C 65 73 3B 20 45 24 2C 44 24    variables; E$,D$
007BC0:  20 61 72 65 20 73 74 72 69 6E 67 20 76 61 72 69     are string vari
007BD0:  61 62 6C 65 73 2E 20 52 65 67 69 73 74 65 72 20    ables. Register 
007BE0:  49 58 20 63 6F 6E 74 61 69 6E 73 20 20 20 74 68    IX contains   th
007BF0:  65 20 61 64 64 72 65 73 73 20 6F 66 20 74 68 65    e address of the
007C00:  20 66 69 6E 61 6C 20 70 61 72 61 6D 65 74 65 72     final parameter
007C10:  20 70 61 73 73 65 64 2E 20 57 68 65 72 65 20 61     passed. Where a
007C20:  20 76 61 72 69 61 62 6C 65 20 6E 61 6D 65 20 69     variable name i
007C30:  73 20 70 72 65 66 61 63 65 64 20 62 79 20 40 2C    s prefaced by @,
007C40:  20 69 6E 73 74 65 61 64 20 6F 66 20 74 68 65 20     instead of the 
007C50:  76 61 6C 75 65 2C 20 74 68 65 20 6C 6F 63 61 74    value, the locat
007C60:  69 6F 6E 20 77 68 65 72 65 20 74 68 69 73 20 69    ion where this i
007C70:  73 20 73 74 6F 72 65 64 20 69 73 20 74 72 61 6E    s stored is tran
007C80:  73 6D 69 74 74 65 64 20 6F 72 20 69 6E 22 00 F5    smitted or in"..
007C90:  00 16 08 BF 22 74 68 65 20 1E 2D 63 61 73 65 20    ...."the .-case 
007CA0:  6F 66 20 73 74 72 69 6E 67 20 76 61 72 69 61 62    of string variab
007CB0:  6C 65 73 20 74 68 65 20 73 74 72 69 6E 67 20 64    les the string d
007CC0:  61 74 61 20 61 64 64 72 65 73 73 20 28 74 68 72    ata address (thr
007CD0:  65 65 20 62 79 74 65 73 2C 20 74 68 65 20 66 69    ee bytes, the fi
007CE0:  72 73 74 20 20 20 20 69 6E 64 69 63 61 74 69 6E    rst    indicatin
007CF0:  67 20 6C 65 6E 67 74 68 2C 20 61 6E 64 20 74 77    g length, and tw
007D00:  6F 20 74 68 65 20 6C 6F 63 61 74 69 6F 6E 20 6F    o the location o
007D10:  66 20 74 68 65 20 73 74 72 69 6E 67 29 2E 20 42    f the string). B
007D20:  79 20 75 73 69 6E 67 20 40 20 74 68 65 72 65 66    y using @ theref
007D30:  6F 72 65 2C 20 20 20 74 68 65 20 63 6F 64 65 20    ore,   the code 
007D40:  63 61 6E 20 62 65 20 6D 61 64 65 20 74 6F 20 70    can be made to p
007D50:  61 73 73 20 76 61 6C 75 65 73 20 62 61 63 6B 20    ass values back 
007D60:  74 6F 20 42 41 53 49 43 20 62 79 20 63 68 61 6E    to BASIC by chan
007D70:  67 69 6E 67 20 76 61 72 69 61 62 6C 65 20 76 61    ging variable va
007D80:  6C 75 65 73 22 00 1C 00 20 08 BF 22 62 65 66 6F    lues"... .."befo
007D90:  72 65 20 72 65 74 75 72 6E 2E 22 DC EA 01 A0 20    re return.".... 
007DA0:  1E 2A 08 00 30 00 2A 08 A9 20 19 1B 2C 19 19 01    .*..0.*.. ..,...
007DB0:  BF 22 18 20 50 52 45 53 53 20 41 4E 59 20 4B 45    .". PRESS ANY KE
007DC0:  59 20 54 4F 20 43 4F 4E 54 49 4E 55 45 20 18 07    Y TO CONTINUE ..
007DD0:  22 20 20 00 21 00 34 08 03 00 00 E7 EF FF 43 01    "  .!.4.......C.
007DE0:  A1 20 03 00 00 E7 EF 22 22 20 EB 20 1E 34 08 20    . ....."" . .4. 
007DF0:  01 97 20 C9 00 0C 00 3E 08 7C 00 42 41 53 49 C3    .. ....>.|.BASI.
007E00:  00 06 00 48 08 CA 00 90 00 52 08 0D 00 00 74 E5    ...H.....R....t.
007E10:  EF 10 01 9A 20 10 2C 10 2C 13 2C 0F 2C 0D 00 00    .... .,.,.,.,...
007E20:  74 E5 F6 19 0A F5 12 2C 0E 2C 0F 2C 10 2C F5 13    t......,.,.,.,..
007E30:  2C 0F 01 9A 20 12 2C 11 2C 11 2C 0F 2C 0D 00 00    ,... .,.,.,.,...
007E40:  74 E5 F6 19 14 F5 14 2C 0E 2C 0F 2C 11 2C F5 11    t......,.,.,.,..
007E50:  2C 0F 01 9A 20 13 2C 11 2C 11 2C 0F 2C 0D 00 00    ,... .,.,.,.,...
007E60:  74 E5 F6 19 1E F5 14 2C 0E 2C 0F 2C 11 2C F5 11    t......,.,.,.,..
007E70:  2C 0F 01 9A 20 14 2C 13 2C 10 2C 0F 2C 0D 00 00    ,... .,.,.,.,...
007E80:  74 E5 F6 19 28 F5 19 0A 2C 0E 2C 0F 2C 13 2C F5    t...(...,.,.,.,.
007E90:  10 2C 0F 20 20 20 00 39 00 5C 08 C7 20 4A 2A 1E    .,.   .9.\.. J*.
007EA0:  84 08 01 9E 20 0D 00 00 F8 EF 0F 20 EC 20 19 31    .... ...... . .1
007EB0:  01 C3 20 0D 00 00 F0 2C 0D 00 00 E4 01 CC 20 10    .. ....,...... .
007EC0:  2C 0D 00 00 F0 2C 0E 2C 0E 2C 0D 00 00 E4 20 20    ,....,.,.,....  
007ED0:  20 00 15 00 66 08 A1 20 FF 17 28 0F 29 EE 19 7F     ...f.. ..(.)...
007EE0:  20 EB 20 1E 66 08 00 06 00 70 08 B0 00 32 00 7A     . .f....p...2.z
007EF0:  08 CC 20 19 31 2C 19 EF 2C 0E 2C 0E 2C 14 01 CC    .. .1,..,.,.,...
007F00:  20 19 2A 2C 1A 7B 01 2C 0E 2C 0E 2C 14 01 CC 20     .*,.{.,.,.,... 
007F10:  19 1C 2C 1A DE 01 2C 0E 2C 0E 2C 14 01 C9 00 7F    ..,...,.,.,.....
007F20:  00 84 08 8C 20 31 39 30 2C 32 2C 32 31 33 2C 32    .... 190,2,213,2
007F30:  2C 32 33 39 2C 32 2C 32 36 38 2C 32 2C 32 38 34    ,239,2,268,2,284
007F40:  2C 32 2C 32 36 38 2C 34 2C 33 31 39 2C 32 2C 33    ,2,268,4,319,2,3
007F50:  35 38 2C 32 2C 33 31 39 2C 32 2C 32 38 34 2C 32    58,2,319,2,284,2
007F60:  2C 34 37 38 2C 34 2C 32 38 34 2C 32 2C 33 31 39    ,478,4,284,2,319
007F70:  2C 32 2C 33 35 38 2C 32 2C 33 37 39 2C 32 2C 33    ,2,358,2,379,2,3
007F80:  35 38 2C 32 2C 33 31 39 2C 32 2C 34 37 38 2C 34    58,2,319,2,478,4
007F90:  2C 32 36 38 2C 32 2C 32 38 34 2C 32 20 00 7F DC    ,268,2,284,2 ...
007FA0:  B3 00 8E 08 8C 20 33 31 39 2C 32 2C 33 35 38 2C    ..... 319,2,358,
007FB0:  32 2C 32 38 34 2C 32 2C 32 31 33 2C 32 2C 32 33    2,284,2,213,2,23
007FC0:  39 2C 35 2C 32 33 39 2C 34 2C 31 39 30 2C 32 2C    9,5,239,4,190,2,
007FD0:  32 31 33 2C 32 2C 32 33 39 2C 32 2C 32 36 38 2C    213,2,239,2,268,
007FE0:  32 2C 32 38 34 2C 32 2C 32 36 38 2C 34 2C 33 37    2,284,2,268,4,37
007FF0:  39 2C 34 2C 33 35 38 2C 32 2C 33 37 39 2C 32 2C    9,4,358,2,379,2,
008000:  33 35 38 2C 32 2C 32 38 34 2C 34 2C 32 38 34 2C    358,2,284,4,284,
008010:  32 2C 33 31 39 2C 32 2C 33 35 38 2C 32 20 00 3A    2,319,2,358,2 .:
008020:  00 98 08 8C 20 33 37 39 2C 32 2C 32 33 39 2C 32    .... 379,2,239,2
008030:  2C 32 35 33 2C 32 2C 32 38 34 2C 32 2C 33 30 31    ,253,2,284,2,301
008040:  2C 32 2C 32 35 33 2C 34 2C 33 37 39 2C 32 2C 32    ,2,253,4,379,2,2
008050:  38 34 2C 34 2C 31 2C 34 00 00 00 00 00 00 00 00    84,4,1,4........
008060:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
008070:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
008080:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
008090:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
0080A0:  00 84 8C FF FF FF FF                               .......
RESULT OF SEARCH :
PRO=47   CHEA=0   COD=15   MUSI=0   COP=0   GRA=32   WRIT=4   198=2   199=1   STARTER=0   KBI=0   CAAV=0   L.TOURNIER=0  
  q7N,AMSTRAD UNLOCKEpnSPPS (  B,, , ,   H   H ((8)  (8)P)  (g')      , ,  "Davi
d ""Computer ""Software"" 03-233-9227   ""  AMSTRAD UNLOCKED    " ()" 1984" R   
 W( , ,K  ""  ()"** MORE ABOUT THE AMSTRAD CPC 464 **  "   M2"   01 Additional c
ommands    02 Arcsin, arcos           03 BASIC bugs"U"   04 CTRL keys           
   05 CTRL cursor             06 Cassette files"    LF"   07 Call BELL          
    08 Datacorder              09 DEC$, UNT"MP"   10 DATA, tokenised        11 D
IM                     12 E notation"UZ"   13 FOR ... NEXT           14 Find var
iables etc      15 Hex, what is it"   Fd"   16 Handbook errors        17 In5tege
r division       18 MOD"In"   19 Memory                 20 Miscellaneous        
   21 MID$" Rx"   22 MID$(X$,Y)             23 Number bases            24 Progra
m storage"L"   25 Print separator       26 Passing parameters      27 RAM & IROM
"Q"   28 Record protect         29 REM                    30 REM, tokenised"J"  
 31 Storage of programs    32 SPC(X)                  33 Sorting"J"   34 Scroll 
                35 Scientific notation     36 TIMESET"K"   37 Tokens    v       
      38 Trig functions          39 Why hex" 3"   40 Zero clock             41 E
nd program"  p  "" ,£"  TYPE IN OPTION NUMBER, PRESS ENTER ",   / () ( )  ( ))  
    ,,nx,$,,,,,v,,,,,,,,6,,,,&,D,,L,h,,,,,,L,b,,,,,R,,Z,    )   p (  I"** ADDITI
ONAL COMMANDS ** "  D b v   "** BASIC BUGS ** " 6 h     2"** HANDBOOK ERRORS ** 
"   &"** HANDBOOK ERRORS **  " ""** BASIC BUGS **  " "Every machine has it's 'bu
gs', and the Amstrad has its K,AMSTRAD UNLOCKEpnSPPk,F share.                   
  The first is not really a fault in the BASIC but an error in the manual.  "   
 ,  6"** INTEGER DIVISION **                                                    
        The manual, in Chapter 4, page 2, states t!hat when using  instead of / 
for     division, the result is shortened to give the whole number part of the r
esult,")J"the decimal part being discarded."T"  This is incorrect, the Amstrad u
sing the  (integer division) operator in the   standard *manner, ie numerator an
d denominator are rounded to the nearest whole  number, and then the result is t
runcated to the nearest whole number below."        *h "** PRINT SEPARATOR () **
                                                      J  Eg PRINT A$B$ should re
sult in the two strings being printed consecutively on  the same line. Normally 
this is the case, but if their combined length is"r"greater than the character s
pace remaining on the line, the Amstrad's BASIC     malfunctions,W and prints th
e second string on the following line, eg "F"A$"(")"AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA"(") E"B$"(")"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"(")"PRINT A
$,B$                                                                     gives""
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                                       
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB ""This bug can be overcome by using a 
plus sign in place of the semi-colon, eg     PRINTc A$+B$                       
                                              gives"   "AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" * "** CASSETTE FILES
 **  ""Chapter 3 page 4, and Chapter 8 pagez0 54 of the handbook say that PRINT 
#9 shouldbe used for output to cassette files. The BASIC interpreter however mal
functions""if this is done, taking commas within strings as separators, and reje
cting thoseactually used as separators between stringsCG£F,AMSTRAD UNLOCKEpnSPPD
 , eg "  P"10 A$"(")"Hello, John"(")"B$"(")"Hello, Mary"(")   O"20 OPENOUT "(")"
TEST"(")"PRINT #9,A$,B$CLOSEOUTCLEAR"      "30 OPENIN "(")"TEST"(")"INPUT #9,C$,
D$CLOSEINPRINT C$PRINT D$"      8H   "  will give      Hello                    
                                                       John  Hello  "     "  How
ever, substituting WRITE #9 for PRINT #9 enables cassette data files to be   wri
tten and read without corruption." &z*    "** REM **  ""The use of the colon as 
a separator for multi-statements is not  permitted afterREM, the subsequent stat
ements being taken by the Amstrad's BASIC as part of theremark.  "  "Do not ther
efore use, eg  ""100 REM DEFIDNE AA55  "8"Use instead, eg  ""100 A55REM DEFINE A
" *("** ADDITIONAL COMMANDS **  "&"** MID$(...) **  ""The normal usage of MID$ i
s to identify the characters contained in a subset of a string, eg "d0"A$"(")Z"A
BCDEFGHIJK"(")"B$MID$(A$,4,2)""PRINT B$            would give DE. "    "The CPC 
464, and a few other machines, allow the reverse use of MID$ to alter a string, 
eg MID$(A$,7,3)"(")"XYZ"(")" would change A$ to ABCDEFXYZJK." * 9uD"** MID$(X,Y)
 **  ""MID$ normally requires three parameters, ie MID$(A$,X,Y) giving the speci
fied   string (A$), the start character count (X), and the number of characters 
(Y).   With the Amstrad however, the last parameter  may be omitted."FN" When th
is is done, the value of Y is taken to be equal to the remaining number  of char
acters in the string, eg, if M$ is ABCDEFGHIJK, then MID$(M$,8) is HIJKL,ie from
 the eigth character on."X" This facility is available either with the norma1l u
sage of eg A$MID$(...) or   the reverse application, MID$(...) ." *b"** SPC(X) *
*  ""The command SPC is not mentioned in the handbook, even though available.  "
"It is similar to the PRINT TAB(X) facility, but whereas both PRINT TAB(,AMSTRAD
 UNLOCKEpnSPP2SCs 5)A$"l"and PRINT SPC(4)A$ would print A$ commencing at the fif
th column of the next   line, only the SPC command would delete any existing tex
t in columns 1 to 4." *v "** DEC$, UNT etc **  ""When presented with a 4 digit h
ex number,8 a computer may return it as a decimal either in the range 0 to 65535
 or from -32767 to +32767. Although the Amstrad""does the latter, it was evident
ly not intended to, because it has been provided with the function UNT, declared
 as being to return a number in the range        +/- 32767, which the machine do
es anyway. The presence in the token table of the""unimplemented command DEC$ al
so seems to confirm this view.  ""We are thus left with a redundant command UNT,
 and no way of accessing a h+ex    number greater than &7FFF. All is not lost ho
wever, for the one-line routine"N"below provides the facility. To use, type in e
g PRINT FN DEC(&C000).  "w"10 DEF FN(A)VAL("(")"&"(")"+RIGHT$(HEX$(A),2))+VAL("(
")"&"(")"+LEFT$(HEX$(A),2))*256" * "** SCROLL **  ""One facility not provided on
 the Amstrad is screen scrolling within programs.    This can easily be incorpor
ated by including lines 10 to 40 below, which place a"  "machine code routine in
 memory, and then accessing this by CALL SCROLLUP or     CALL SCROLLDOWN, as eg 
in lines 100 to 120."    "  10 MEMORY 43500FOR X0 TO 27READ APOKE 43976+X,ANEXT"
"20 DATA 245,197,213,229,6,0,205,77,188,225,209,193,241,201"  B"30 DATA 245,197,
213',229,6,1,205,77,188,225,209,193,241,201"a"40 SCROLLUP43990SCROLLDOWN43976 ""
100 G$INKEY$IF G$"(")(")" THEN 100"    p"110 IF G$"(")"u"(")" THEN CALL SCROLLUP
 ELSE IF G$"(")"d"(")" THEN CALL SCROLLDOWN""120 GOTO 100" *"Values sent to port
 256 control screen horizontal offset, and can be used for   sideways scrolling,
 as below. Line 10 is simply to put a display on screen line100 is a delay, and 
this subroutine would usually be eg game control.,AMSTRAD UNLOCKEp!nSPP5R   "£"1
0 FOR X1 TO 25PRINT TAB(X)"(")"A"(")"NEXT""20 FOR S1 TO 40OUT 256,S""30 GOSUB 10
0NEXTGOTO 20""100 FOR Y1 TO 25NEXTRETURN" * "** MOD COMMAND **  ""The modulus ar
ithmetic function MOD is available on  othe AMSTRAD, although not  mentioned in 
the handbook. It gives the integer value that is the remainder of  an integer di
vision (see index item 17) eg  "  B"    25.68 MOD 6.99   gives 5  (26/73 remaind
er 5)" *   "** TOKENS - REM & DATA ** ""BASIC programs are not stored by the com
puter in the way you type them in. This is covered in more detail in the section
s on program storage and tokenisation,"     "for the moment it is sufficient to 
know that keywords (commands such as PRINTO & INPUT etc), are represented in the
 computers memory as numbers or as pairs of   numbers."* " One of the numbers us
ed (&A3, decimal 163) happens to be the ASCII code for £,  which appears on the 
keyboard, and which can thus be used in REM or DATA   N     statememts. Unfortun
ately, due to a fault in its design, the BASIC interpreter," 4"when meeting the 
character, thinks it is a keyword token and since 163 is the   token for INPUT, 
any £ signs in DATA or REM statements will appear as INPUT when""listed to scree
n. ""There is a way of overcoming the problem, which is to enclose in quotes any
 wordcontaining £ in REM or DATA lines, eg " H"100 DATA 55$,200 yen,fifty shilli
ngs,"(")"£5.25"(")",100 lira" *        R "** TOKENS **""The various keywords (ie
 the commands, such as PRINT, GOTO, SAVE etc) are not   stored in the way they a
re typed in, but as a numeric code.  This saves space in"   q"memory and also ma
kes programs much faster running. The keywords an#Rd their tokennumbers are list
ed below "f"128 AFTER, 129 AUTO, 130 BORDER, 131 CALL, 132 CAT, 133 CHAIN, 134 C
LEAR,       135 CLG, 136 CLOSEIN, 137 CLOSEOUT, 138 CLS, 139 CONT, 140 DATA, 141
 DEF,       142 DEFINT, 143 DEFREAL, 144 DEFSTR, 145 DEG, 146 ,AMSTRAD UNLOCKEp)
nSPPmN DELETE, 147 DIM, 148 DRAW," p"149 DRAWR, 150 EDIT, 151 ELSE, 152 END, 153
 ENT, 154 ENV, 155 ERASE, 156 ERROR, 157 EVERY, 158 FOR, 159 GOSUB, 160 GOTO, 16
1 IF, 162 INK, 163 INPUT, 164 KEY"z"165 LET, 166 LINE, 167 LIST, 168 LOAD, 169 L
OCATE, 170 MEMORY, 171 MERGE,       172 MID$, 173 MODE, 174 MOVE, 175 MOVER, 176
 NEXT, 177 NEW, 178 ON, 179 ON BREAK""180 ON ERROR GOTO, 181 ON SQ, 182 OPENIN, 
183 OPENOUT, 184 ORIGIN, 185 OUT,     186 PAPER, 187 PEN, 188 PLOT, 189 PLOTR, 1
90 POKE, 191 PRINT, 192 ' (REM),      193 RAD, 194 RANDOMIZE, 195 READ, 196 RELE
ASE, 197 REM, 198 RENUM, 199 RESTORE""200 RESUME, 201 RETURN, 202 RUN, 203 SAVE,
 204 SOUND, 205 SPEED, 206 STOP,      207 SYMBOL, 208 TAG, 209 TAGOFF, 210 TROFF
, 211 TRON, 212 WAIT, 213 WEND, S      214 WHILE, 215 WIDTH, 216 WINDOW, 217 WRI
TE, 218 ZONE, 219 DI, 220 EI, 227 ERL,""228 FN, 229 SPC, 230 STEP, 231 SWAP, 234
 TAB, 235 THEN, 236 TO, 237 USING, 238 239 , 240 , 241 , 242 , 243 , 244 +, 245 
-, 246 *, 247 /, 248 , 249 , 250e AND, 251 MOD, 252 OR, 253 XOR, 254 NOT"W"     
       A FURTHER LIST OF TOKENS FOLLOWS - PRESS ANY KEY TO CONTINUE "   C ""  o"
** TOKENS ** ""All the tokens in this second list have pairs of numbers, being p
refixed by 255.""0 ABS, 1 ASC, 2 ATN, 3 CHR$, 4 CINT, 5 COS, 6 CREAL, 7 EXP, 8 E
XP, 9 FRE,       10 INKEY, 11 INP, 12 INT, 13 JOY, 14 LEN, 15 LOG, 16 LOG10, 17 
LOWER$, 18 PEEK, 19 REMAIN, 20 SGN, 21 SIN, 22 SPACE$, 23 SQ, 24 SQR, 25 STR$, 2
6 TAN, 27 UNT," -  "28 UPPER$, 29 VAL, 64 EOF, 65 ERR, 66 HIMEM, 67 INKEY$, 68 P
I, 69 RND, 70 TIME, 71 XPOS, 72 YPOS, 113 BIN$, 114 DEC$, 115 HEX$, 116 INSTR, 1
17 LEFT$, 118 MAX,  119 MIN, 120 POS, 121 RIGHT$, 122 ROUND, 123 STRING$, 124 TE
ST, 125 TESTR,""127 VPOS" *"** SCIENTIFIC NOTATION **  ""There is a limit to the
 size of number which computers can display on screen in the conventional manner
.  With the CPC 464 this limit is a number of up to nine digits, eg 678321695. "
"Above this, %)9,AMSTRAD UNLOCKEp1nSPPR and with very small numbers also, the co
mputer adopts a different   system, known as scientific notation.  For example, 
if you type in A5678923453,and then, PRINT A, the value appearing on screen will
 be 5.67892E+09, ie"       "5.67892 with the deciGomal point shifted 9 places to
 the right.  ""The Amstrad also lets you use this system for entering values, ie
 A2.2E+12." *           £ "** CTRL CURSOR ** ""The cursor keys function in a spe
cial way, which is very useful when editing,   dif the CTRL key is simultaneousl
y pressed. "   X"CTRL + CURSOR LEFT""The cursor jumps to the start of the curren
t screen line. ""CTRL + CURSOR RIGHT""The cursor jumps to the end of the current
 screen line. ""CTRL + CURSOR UP""The cursor Rjumps to the start of the current 
logic line. ""CTRL + CURSOR DOWN""The cursor jumps to the end of the current log
ic line. ""NB A logic line is a complete program line, which may occupy several 
screen     lines." *$"** CTRL KEYS **d"" There are a number of keys which, if pr
essed together with CTRL and included    inside quotes "(")" in a PRINT statemen
t, will perform special functions. "."The character which appears in the text wh
en the program is listed is not       printed when the program is run. ""The mos
t useful of these CTRL keys, and their effect, are listed below. "8"CTRL + G    
     Sounds bell           CTRL + X         Inverts colours          CTRL + L   
      Clears screen         CTRL + £         Homes cursor             CTRL + H  
       Cursor left           CTRL + I         Cursor right"PB" CTRL + J         
Cursor down           CTRL + K         Cursor up" *L "** PROGRAM STORAGE **"" It
 is suggested that you look at the notes on tokens and hexadecimal notation   be
fore this section. "  V"BASIC programs are stored in memory at addresses from 36
8 onwards.  Keywords    (commands) are tokenised, and similar systems are used t
o represent variables   and numbers in the program, otherE8,AMSTRAD UNLOCKEp9nSP
P7R  than line numbers themselves, which are stored" "in reversed hex. Other cha
racters are represented by their ASCII codes. ""Each line of a BASIC program is 
both preceded and followed by a zero, as a      marker, and the first of these i
s itself prueceded by a number which indicates"j"how many characters there are i
n the encoded line, including the two zeros and  line length figure. The end of 
the program itself is indicated by a further fourzeros. "t"Variable names are re
presented by their ASCII codes, but for identification one bit is set in the las
t character by adding 80 to its value, eg the variable ABC would appear as 65 66
 147, XY as 88 169 and D as 148. " *"Where numeric values appear in programs, th
ey are, if specified as binary or hexor as decimal numbers which must be integer
s (eg GOTO etc), represented in      reversed hex, preceded by the code 11, 12 o
r 14, to indicate binary, hex or""decimal form. Real numbers, ie decimals which 
can have a fractional component  a (eg 15.234) are dealt with in a much more com
plex way. " *l"If a simple program  10 REM    20 PRINT "(")"A"(")"  is entered, 
and the memory contents"j"examined by typing in   FOR X368 TO 387PRINT PEEK(X)"(
")" "(")"gNEXT   you will find"" 6 0 10 0 197 0 10 0 20 0 191 32 34 65 34 0 0 0 
0 0 " "A B C  D E   F G  H I  J K   L  M  N  O  P Q R S T "S"The letters A-T hav
e been added beneath the numbers for ease of reference. "y"Letters A-F represent
 line 10, G-P are line 20 and Q-T are the four zeros which indicate the end of t
he program. ""A indicates that the encoded line 10 occupies 6 characters, B and 
F are the zeromarkers for start and finish of the line, and D and C, 010, are th
e line number,v"&"and 197 is the token for REM. ""Similarly with line 20, G indi
cates a line length of 10 characters, H and P are the start/end markers and J/I 
are the line number. K (191) is the token for     PRINT, L (32) is ASCII for spa
ce, M and O (34) ar!,AMSTRAD UNLOCKEpAnSPP+ 9S e ASCII for quotes, and N (65)"  
  !"is the ASCII for A." *"** NUMBER BASES ** ""The 'number base' of a counting 
system is the figure which, when reached, causesus to put a zero in a column of 
numbers and increase by one the figure i%n the""column to its left. We are accus
tomed today to using base 10 (decimal or denary)but any number base can be used.
 At one time base 5 and base 15 were commonplace(the nursery rhyme 'Eeny meeny m
iny mo' is a relic of this, the numbers being"  "said 'Eina, meina, methera, tet
hera ... bumfit') and until recently we used manyother bases, eg 16 for pounds a
nd ounces, 3 for feet and yards many of these   systems were very complex indeed
, the number base changing, as in inches & feet." "To avoid having double number
s in a column, when using bases greater than 10    mathematicians and programmer
s extend the number range by using letters,        eg A for 10, B for 11, C for 
12 etc. "       *("Base 16, or hexadecimal is commonly used with computers.  Wit
h hex, it is usual to prefix numbers with $, H, & or &H to avoid doubt as to whi
ch system is being used. Try the examples and see if you can get the correct ans
wers. "2"   D 000H 00       D 001H 01       D 009H 09       D 010jH 0A          
         D 011H 0B       D 015H 0F       D 016H 10       D 017H 11              
     D 031H 1F       D 032H 20       D 033H 21       D 255H FF "" Because the ce
ntral processor can only handle two-digit hex numbers (0-FF or    0-255 decimal)
 any that are larger, such as memory addresses, have to be dealt  with in two op
erations, and consequently become reversed. By way of example, C3"F"is the machi
nes code for 'jump to address following', and so the code for       transferrino
g to address &23A7 would be C3 A7 23. This system is known as reversehex, or LSB
/MSB (least significant byte/most significant byte).P" It doesn't really matter 
if you do not understand the system, it is only really necessary for machine cod
e programmi(p9,AMSTRAD UNLOCKE pInSPP7R ng." *   Z"** WHY HEX ** ""Computers are
 not very clever. Because memory cells can only be on or off (0/1),the central p
rocessor can only count in base 2, or binary, but does so very fast" d"An 'eight
 bit' machine such as the CPC 464 can deal with eight of these cells ata time (o
ne byte) and so can accept numbers from B 00000000 to B 11111111,      decimal 0
-255, hex 0-FF. Keying in binary numbers is something of a chore, and"n"so an in
terface arrangement is provided so the userd can key in using a differentnumber 
base. Hex uses only two digits for any number which the machine can      handle,
 is easier for it to convert than decimal, and so this is the one used."Jx"Base 
255 would only need a single digit, but what follows Z!"R *"** DIM ** ""One woul
d suppose from reading Chapter 8 page 12 of the manual, that DIM A(5)   provides
 a 5 way array from A(1) to A(5). Not so - the array is A(0) to A(5)""even thoug
h the CPC 464 has more memory than most micros, 3it can still be at a  premium w
ith very large programs, and failing to make use of eg A(0) can result in a larg
e loss of memory, especially with array variables of several dimensions"""such a
s A(5,5,5,5). " *"** RECORD PROTECT **  "8"Accidental overwriting of programs re
corded on cassette can be prevented by     removing the record-protect tab at th
e left hand rear corner of the cassette.  ""Never leave cassettes near strong ma
gnetic fields - hours of work, or lots of   money, can be lost by program erasur
e television sets are notorious for this,  as are printers." * "** SORTING ** ""
The sub-routine below will produce a reasonably fast sort for maximum speed    i
nclude it near the beginning of the program. Be*fore calling, establish N as"   
"equal to the number of items, and arrange these in an array S(1) to S(N) - you 
 must of course DIM this. They will be returned in the same array, but sorted   
 into ascending order. "  "Changing references to S(8,AMSTRAD UNLOCKEpQnSPP8M  )
 to S$( ) converts the routine to a string sort for this purpose letters at the 
start of the alphabet are regarded as having lower  value than those near the en
d. ""      10 U2DNF0""      20 PU""      IF S(P-1)S(P) THEN 50""      40 7S(0)S(
P)S(P)S(P-1)S(P-1)S(0)FP""      50 PP+1IF PD THEN 30""      60 DF-1IF DU THEN 12
0""      70 PD""      80 IF S(P-1)S(P) THEN 100""      90 S(0)S(P)S(P)S(P-1)S(P-
1)S(0)FP"  m"     100 PP-1IF PU THEN 80""Y     110 UF+1""     120 IF DU THEN 20"
"     130 RETURN" *"** TRIG FUNCTIONS ** ""On the Amstrad, the SIN, COS or TAN o
f an angle can be found, and using ATN the angle of which the TAN is known. The 
functions ARCSIN and ARCOS, to fi-nd angles knowing their SIN or COS, are not ho
wever provided. "a"The missing functions can be created if the following is put 
at the start of a  program ""    10 DEF FN S(X)(ATN(X/SQR(-X*X+1.000001)))*180/P
I                               20 DEF FN C(X)(-ATN(X/SQR(-X*X+1.000001))+1.5708
)*180/PI ""Thereafter if X is the SIN or COS of an angle, PRINT FN S(X) and PRIN
T FN C(X)  respectively will give the angle in degrees. To work in radians, omit
 *180/PI inboth lines. " *"** NRAM & ROM **  ""There are two types of memory bui
lt into the computer - RAM and ROM. ""ROM is Read Only Memory, whose contents ar
e permanent, unaffected by power-off  and cannot be changed by the user. " ""RAM
 is Random Access Memory, the contentsn of which can be changed by the user   (e
g by loading a program from cassette, or by POKE), and which are wiped clean  by
 power-off. ","Programs are loaded into RAM, the ROM banks containing the BASIC 
interpreter andthe operating system (at &C000-&FFFxF and &0000-&3FFF respectivel
y). The user    cannot normally examine the ROM, because it is overlain by addit
ional RAM, and"6"is switched in by complex programs, or by BASIC, when required.
 This section of Amstrad Unlocked however permits you to look 57,AMSTRAD UNLOCKE
pYnSPP6N through the ROM banks." *               "** TIMESET ** ""There is no me
ans provided on the Amstrad to zero the clock, and to determine anelapsed time i
t is therefore necessary to adopt the rather circuitous procedure outlined in Ch
apter 8 page 48 of the manual."J" However, if the little routine below is includ
ed at the start of a program it ispossible to zero the clock by CALL TIMESET. "T
"   10 MEMORY 43500FOR X0 TO 15READ APOKE 43960+X,ANEXT                        2
0 DXATA 245,213,229,17,0,0,33,0,0,205,16,189,225,209,241,201                    
30 TIMESET43960" *"** FOR...NEXT ** ""On most machines a FOR ... NEXT loop is al
ways executed at least once. ""The Amstrad is however rather more logical - if "
the second parameter is less"Xh"than the first, and there is no negative STEP, t
hen the loop is not executed, eg"6r"FOR X6 TO 5PRINT "(")"A"(")"NEXT ""The Amstr
ad would bypass the FOR ... NEXT loop, other machines would print A." *     "** 
CALL BELL ** ""If the routine listed below is included at the start of a program
, a beep can becaused at any time by CALL BELL.  ""   10 MEMORY 43500FOR X0 TO 7
READ APOKE 43952+X,ANEXT                        20 DATAm 245,62,7,205,90,187,241
,201                                             30 BELL43952" *  " ** DATACORDE
R ** ""Cassette heads should be cleaned regularly, if loading errors are to be a
voided.Open cassette door, press PLAY to move heads forward, and wipe with clean
ing    fluid on cotton wool. Dry with cotton wool."    " The cassette motor is c
ontrolled by port 512. If the PLAY key is down, the motorcan be enabled/disabled
 by OUT 512,X where X is 255/0." *"** FIND COMMANDS & VARIABLES ** ""The routine
 below enables all lines containing any specified variable or commandto be found
 and listed to screen. Save on cassette and MERGE when required. ""To use, type 
in the text sought as line 1, then call the routine, egi8,AMSTRAD UNLOCKE panSPP
a7M  to find alllines containing INPUT X$, enter 1 INPUT X$ then GOTO 65000  "l"
65000 LF$"(")(")"TT0LLPEEK(368)FOR X372 TO 366+LLLF$LF$+CHR$(PEEK(X))NEXTCP368" 
"65010 CPCL+LLLLPEEK(CP)IF LL0 THEN 65050""65020 CL$"(")(")"FOR XCP+4 TO CP+LL-2
CL$CL$+CHR$(PEEK(X))NEXT"J"65030 IF INSTR(CL$,LF$) THEN TT1PRINT PEEK(CP+3)*256+
PEEK(CP+2)""65040 GOTO 65010""65050 PRINTPRINT"(")"FINISHED SEARCH"(")"IF TT0 TH
EN PRINT"(")"NOT FOUND"(")"65060 END" *T      # "&"  ,() p  - c #,,P,, #,,P,,#,"
Press key A CHANGE ADDRESS, F FORWARD LIST, B BACKWARDS LIST, I MAIN INDEX"#,"Al
l valueqs in hex. Current address "s( c,) (C) ""   "I"  & "A"  80  gg  ("F"  "B"
)   gg b/ "B"   c   c c b4D "F"   c   c Uc b N    .X  c   c   c/b  c   c   c l#,
s( c,)" "    ps( c ,) ,("&"y(p,)) ,("&"u(p,))  p#,s(($),)J" "   v#,"          " 
   ps( c ,) ,("&"y(p,)) ,("&"u(p,))  p a($)  a    a.   a a       '#,( a)" "#    
   G gg£ #,"ECSnter hex address, without & "() ' ()  "0"  ()  e c    (, ,) "F"  
"0"  ("A"  "9")   c  c  8 c("&")  c   c c  "  c   c  s f3,c5,d5,e5,f5,fd,e5,dd,e
5,cd,00,b9,f5,cd,06,b9,3a,0,0,32,24,ab,f1,cd,0c,b9,dd,e1,fd,e1,f1,e1,d1,c1,fb,c9
   "** MISCELLANEOUS ** ""ON BREAK does not always p7B,AMSTRAD UNLOCKEpinSPP8Lre
vent the use of ESC to break a program - it still   operates during INPUT, LOAD 
& SAVE etc. ""POKE 46312,225/0   Enables/disables CAPS LOCK. ""POKE 48622,201/19
5 Disables/enables reset, ie CTRL.SHIFT.ESC. ""CALL 47944/7       Disables/enabl
es E&SC if used in a program." * "** PARAMETER PASSING, BASIC  MACHINE CODE ** "
"Parameters may be passed to machine code routines by eg CALL A,B,C,D$ or      e
g CALL G,E$,&5000,F where A,G are code locations 25000,&5000 are integers""B,C,F
 are integer variables E$,D$ are string variables. Register IX contains   the ad
dress of the final parameter passed. Where a variable name is prefaced by , inst
ead of the value, the location where this is stored is transmitted or in""the -c
ase of string variables the string data address (three bytes, the first    indic
ating length, and two the location of the string). By using  therefore,   the co
de can be made to pass values back to BASIC by changing variable values" "before
 return." *0* ," PRESS ANY KEY TO CONTINUE "  !4C ""  4  BASIHR t ,,,, t ,,,,, ,
,,, t,,,,, ,,,, t,,,,, ,,,, t( ,,,,,   9 J*    1  ,  , ,,,    f ()  fp2z 1,,,, *
,,,, ,,,, 190,2,213,2,239,2,268,2,284,2,268,4,319,2,358,2,319,2,284,2,478,4,284,
2,319,2,358,2,379,2,358,2,319,2,478,4,268,2,284,2  319,2,358,2,284,2,213,2,239,5
,239,4,190,2,213,2,239,2,268,2,284,2,268,4,379,4,358,2,379,2,358,2,284,4,284,2,3
19,2,358,2  379,2,239,2,253,2,284,2,301,2,253,4,379,2,284,4,1,4
Tous droits réservés. Reproduction sans autorisation interdite. © Kukulcan