Home » Archimedes archive » Acorn User » AU 1997-Xmas A.adf » StrongHelp » !Manuals/BASIC

!Manuals/BASIC

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-Xmas A.adf » StrongHelp
Filename: !Manuals/BASIC
Read OK:
File size: 7120 bytes
Load address: 0000
Exec address: 0000
File contents
HELP(�����,����$DIR$��F����� �!Root�F�����!�!all�F���ey �!fileioDF������!graphics	F���3~ �!immediate�	F�����!math�
F���b	��!restLF����� Q!sound�F���� u!structflowG����p�[A-C]�$G����	p`[D-F]82G���(p�[G-M]�HG����p�[N-R],^G���p�[S-W]DATA�BASIC
You can get help on :
#Indent 2
<Graphics=>!graphics>
<File I/O=>!fileio>
<Immediate commands=>!immediate>
<Math=>!math>
<Sound=>!sound>
<Structure / Flow=>!structflow>
#Indent 0; Line; Indent 2
<All=>!all>   <Rest=>!rest>DATA�Index
#Table 23 10
<ABS>
<ACS>
<ADVAL>
<AND>
<APPEND>
<ASC>
<ASN>
<ATN>
<AUTO>
<BEAT>
<BEATS>
<BGET>
<BPUT>
<CALL>
<CASE>
<CHAIN>
<CHR=>CHR!x24>
<CIRCLE>
<CLEAR>
<CLG>
<CLOSE>
<CLS>
COLOR
<COLOUR>
<COS>
<COUNT>
<DATA>
<DEF>
<DEG>
<DELETE>
<DIM>
<DIV>
<DRAW>
<EDIT>
<ELLIPSE>
<ELSE>
<END>
<ENDCASE>
<ENDIF>
<ENDPROC>
<ENDWHILE>
<ENVELOPE>
<EOF>
<EOR>
<ERL>
<ERR>
<ERROR>
<EVAL>
<EXP>
<EXT>
<FALSE>
<FILL>
<FN>
<FOR>
<GCOL>
<GET>
<GOSUB>
<GOTO>
<HELP>
<HIMEM>
<IF>
<INKEY>
<INPUT>
<INSTALL>
<INSTR>
<INT>
<LEFT=>LEFT!x24>
<LEN>
<LET>
<LIBRARY>
<LINE>
<LIST>
<LISTO>
<LN>
<LOAD>
<LOCAL>
<LOG>
<LOMEM>
<LVAR>
<MID=>MID!x24>
<MOD>
<MODE>
<MOUSE>
<MOVE>
<NEW>
<NEXT>
<NOT>
<OF>
<OFF>
<OLD>
<ON>
<OPENIN>
<OPENOUT>
<OPENUP>
<OR>
<ORIGIN>
<OSCLI>
<OTHERWISE>
<OVERLAY>
<PAGE>
<PI>
<PLOT>
<POINT>
<POS>
<PRINT>
<PROC>
<PTR>
<QUIT>
<RAD>
<READ>
<RECTANGLE>
<REM>
<RENUMBER>
<REPEAT>
<REPORT>
<RESTORE>
<RETURN>
<RIGHT=>RIGHT!x24>
<RND>
<RUN>
<SAVE>
<SGN>
<SIN>
<SOUND>
<SPC>
<SQR>
<STEP>
<STEREO>
<STOP>
<STR=>STR!x24>
<STRING=>STRING!x24>
<SUM>
<SUMLEN>
<SWAP>
<SYS>
<TAB>
<TAN>
<TEMPO>
<THEN>
<TIME>
<TINT>
<TO>
<TOP>
<TRACE>
<TRUE>
<TWIN>
<TWINO>
<UNTIL>
<USR>
<VAL>
<VDU>
<VOICE>
<VOICES>
<WAIT>
<WHEN>
<WHILE>
<WIDTH>
#EndTableDATA�File I/O
#Table 6 10
<BGET>
<BPUT>
<CLOSE>
<EOF>
<EXT>
<GET>
<INPUT>
<OPENIN >
<OPENOUT>
<OPENUP >
<PRINT>
<PTR>
#EndTableDATA�Graphics
#Table Columns 3
<CIRCLE>
<CLG>
<CLS>
COLOR
<COLOUR>
<DRAW>
<ELLIPSE>
<FILL>
<GCOL>
<LINE>
<MODE>
<MOVE>
<ORIGIN>
<PLOT>
<POINT>
<PRINT>
<RECTANGLE>
<TINT>
<VDU>
#EndTableDATA�Immediate
These can only be used from
BASIC's ">" prompt.

#Table 5 10
<APPEND>
<AUTO>
<DELETE>
<EDIT>
<HELP>
<LIST>
<LISTO>
<LOAD>
<LVAR>
<NEW>
<OLD>
<RENUMBER>
<SAVE>
<TWIN>
<TWINO>
#EndTableDATA�Math
#Table Columns 3
<ABS>
<ACS>
<ASC>
<ASN>
<ATN>
<COS>
<DEG>
<DIV>
<EVAL>
<EXP>
<INT>
<LN>
<LOG>
<MOD>
<RAD>
<RND>
<SGN>
<SIN>
<SQR>
<SUM>
<TAN>
<VAL>
Logical/Binary
<AND>
<EOR>
<NOT>
<OR>

Constants
<FALSE>
<PI>
<TRUE>
#EndTableDATA�Rest
#Table 11 10
<ADVAL>
<CHR$=>CHR!x24>
<CLS>
<COUNT>
<ERL>
<ERR>
<EVAL>
<GET>
<HELP>
<HIMEM>
<INKEY>
<INPUT>
<INSTR>
<INT>
<LEFT$=>LEFT!x24>
<LEN>
<LINE>
<LN>
<LOMEM>
<MID$=>MID!x24>
<MODE>
<MOUSE>
<OFF>
<ON>
<OSCLI>
<PAGE>
<POS>
<PRINT>
<READ>
<RIGHT$=>RIGHT!x24>
<SPC>
<STR$=>STR!x24>
<STRING$=>STRING!x24>
<SUMLEN>
<SWAP>
<TAB>
<TIME>
<TINT>
<TOP>
<VAL>
<VDU>
<WAIT>
<WIDTH>
#EndTableDATAQSound
<BEAT>
<BEATS>
<ENVELOPE>
<SOUND>
<STEREO>
<TEMPO>
<VOICE>
<VOICES>DATAuStructure/Flow
#Table 11 11
<CALL>
<CASE>
<CHAIN>
<CLEAR>
<DATA>
<DIM>
<ELSE>
<DEF>
<END>
<ENDCASE>
<ENDIF>
<ENDPROC>
<ENDWHILE>
<ERROR>
<FN>
<FOR>
<GOSUB>
<GOTO>
<IF>
<INSTALL>
<LET>
<LIBRARY>
<LOCAL>
<NEXT>
<ON>
<OTHERWISE>
<OVERLAY>
<PROC>
<QUIT>
<REM>
<REPEAT>
<REPORT>
<RESTORE>
<RETURN>
<RUN>
<STOP>
<SYS>
<THEN>
<TRACE>
<UNTIL>
<USR>
<WHEN>
<WHILE>
#EndTableDIR$���E�������QABSE�������|ACS�E�������VADVAL�E�������AAND4E�������`APPEND�E�������sASCE�������yASN�E�������YATN�E���Ɵ��vAUTOXE���ǟ��>BEAT�E���ɟ��sBEATSE���֟��OBGET\E���؟�߁BPUT�E���ڟ��CALL�E�������kCASETE������tCHAIN�E������WCHR!x24 E������ACIRCLEdE���
���#CLEAR�F����HCLG�E������mCLOSE@E������CCLSE������COLOR>COLOUR�E�������COLOURxE���"���9COS�E���#���ZCOUNTE�����߷call0�E�������call1�E�������call2� E������call3DATAQABS
This function gives the absolute
value of a number:
ABS(-3.14) = 3.14DATA|ACS
This function gives the arc 
cosine of a number.
This is the inverse function of <COS>:
         ACS(COS(x)) = xDATAVADVAL
This function gives the 
value of the specified
analogue port or buffer.DATAAAND
Bitwise logical and between two integers.
Priority 6.DATA`APPEND filename.
This command appends
a file to the program
and renumbers the new lines.DATAsASC
This function gives the
ASCII code of the first
character of a string:
  ASC("A") = 65
  ASC("AB") = 65DATAyASN
This function gives the
arc sine of a number.
This is the inverse function of <SIN>:
         ASN(SIN(x)) = xDATAYATN       
This function gives the 
arc tangent of a number.
   ATN(<TAN>(x)) = xDATAvAUTO
This command automatically generates
line numbers for typing in a program.
AUTO [base number[,step size]]DATA>BEAT
This function gives the
current microbeat number.DATAsBEATS
BEATS x
  Set the number of microbeats in a bar.

x = BEATS
  Gives the current number of microbeats.DATAOBGET#channel
This function gives
the next byte from
the specified file.DATA�BPUT
BPUT#channel,number
  put byte to open file.

BPUT#channel,string[;]
  put string to open file,
  with[out] newline.DATACALL address {,parameter}
Call machine code routine at the given address.
Before the routine is entered, the assembler 
registers are set up as follows:
  R0  = A%
  R1  = B%
  R2  = C%
  R3  = D%
  R4  = E%
  R5  = F%
  R6  = G%
  R7  = H%
  R8  = Pointer to BASIC's workspace
  R9  = Pointer to <parameter list=>call0>
  R10 = Number of parameters
  R11 = Pointer to BASIC's string accumulator
  R12 = BASIC's LINE pointer
  R13 = BASIC's stack
  R14 = Link back to BASIC, and <environment info=>call3> ptr.DATAkCASE
CASE expr OF
  WHEN expr{,expr}^ : lines
  WHEN expr{,expr}^ : lines
OTHERWISE
  lines
ENDCASEDATAtCHAIN name
Load and run a new Basic program.
If used from within a Basic program,
this program is discarded.DATAWCHR$ x
This function gives
the one character string
of the supplied ASCII code.DATAACIRCLE
CIRCLE [FILL] x,y,r
  Draw circle outline [solid].DATA#CLEAR
Forget all variables.DATAHCLG
Clear graphics screen to current graphical backround colour.DATAmCLOSE#channel
Close file previously opened with
OPEN<IN=>OPENIN>/<UP=>OPENUP>/<OUT=>OPENOUT>#channel.DATACCLS       
Clear text screen to 
current background colour.DATA�COLOUR
COLOUR a [TINT t]
  Set text foreground colour
  [and tint] (background 128+a).

COLOUR a,p
  Set palette entry for logical
  colour a to physical colour p.

COLOUR a,r,g,b
  Set palette entry for a 
  to r, g, b physical colour.DATA9COS x
This function gives the
cosine of a number.DATAZCOUNT
This function gives the number
of characters PRINTed since
the last newline.DATA�Parameter list:
  0  Address of last parameter
  4  <Type=>call1> of last parameter
  8  Address of last but one parameter
 12  <Type=>call1> of last but one parameter
  .
  .DATA�Parameter-type:
Type Example    Address points to
---- ---------- -------------------------------------
&000 ?x         Byte-aligned byte
&004 !x,x%,x(n) Byte-aligned word
&005 |x,x,x(n)  Byte-aligned 5-byte real
&080 x$,$(n)    Byte-aligned address-word,length-byte
&081 $x         String, terminated by 13
&104 x%()       Word-aligned ptr to integer <array=>call2>
&105 x()        Word-aligned ptr to real <array=>call2>
&180 x$()       Word-aligned ptr to string <array=>call2>DATA�Array:
  0   Subscript limit 1st dimension.
  4   Subscript limit 2nd dimension.
  .
  .
  n   0
  n+4 Total nr of entries.
  n+8 Array elements..


DIM x(I-1,J-1,K-1) :

Address of x(i,j,k) :
  ((i*J+j)*K+k)*element_size + n+8DATAEnvironment info:
  0  B CALL2REAL   Return address.
  4  STRACC        String accumulator
  8  PAGE          Current PAGE value
 12  TOP           Current TOP value
 16  LOMEM         Current variable start
 20  HIMEM         Current stack end
 24  MEMLIMIT      Limit of available memory
 28  FSA           Free space start
 32  TALLY         Value of COUNT
 36  TIMEOF        not used
 40  ESCWORD       Exception flag word
 44  WIDTHLOC      Value of WIDTH
 48  B VARIND      Get value of L-value
 52  B STOREA      Store value into L-value
 56  B STSTORE     Store string into type 128 string
 60  B LVBLNK      Convert string name into L-value addr and type
 64  B CREATE      Create new variable
 68  B EXPR        Use expr analyser on string
 72  B MATCH       Lexical analyse source string to dest string
 76  B TOKENADDR   Ptr to string for given token
 80  0
 84  9             Nr of additional routines present.
 88  B FSTA
 92  B FLDA
 96  B FADD
100  B FSUB
104  B FMUL
108  B FDIV
112  B FLOAT
116  B FIX
120  B FSQRTDIR$``(E���%��ߨDATA�(E���&��ߋDEF@)E���+���jDEG�)E���/���VDELETE*E���2����DIM�*E���3���CDIV8+E���5���FDRAW�+E���>���SEDIT�+E���?���RELLIPSE(,E���A���0ELSEX,E���C��߭END-E���F���+ENDCASE4-E���J���$ENDIFX-E���M���/ENDPROC�-E���P���*ENDWHILE�-E���Z���KENVELOPE.E���\���OEOFP.E���]���NEOR�.E���_���IERL�.E���a���CERR0/E���b���ERROR�/E���d���=EVAL�/E���f���iEXP\0E���k��ߏEXT�0E���r���HFALSE41E���u���KFILL�1E���v���NFN�1E���x���eFORDATA�DATA      
Introduces line of DATA to be <READ>.
The list of items is separated by commas.

<LOCAL> DATA, <RESTORE> DATA: save and restore current DATA pointer.DATA�DEF
DEF <FN>|<PROC>name [(parameter list)].
Define function or procedure
End function with =expression.
End procedure with ENDPROC.DATAjDEG       
This function gives the value in 
degrees of a number in radians.
       DEG 3.14 = 180DATAVDELETE start,end
This command deletes all lines
between the specified numbers.DATA�DIM
DIM fred(100,100)
  Create and initialise an array.

DIM fred% 100
  Allocate space for a byte array etc.

DIM(fred())
  Function gives the number of dimensions.

DIM(fred(),n)
  Function gives the size of the n'th dimension.DATACa DIV b
Integer division, rounded towards zero.
Priority 3.DATAFDRAW      
DRAW [BY] x,y
  Graphics draw to [relative by] x,y.DATASEDIT      
This command calls
the ARM BASIC Editor.
(Rubbish.. Don't use..)DATARELLIPSE
ELLIPSE [FILL] x,y,maj,min[,angle]
  Draw ellipse outline [solid].DATA0ELSE
Part of the <IF>
or <ON> structure.DATA�END
END
  Statement marking end of program execution.

END = expression
  Alter amount of memory allocated to BASIC.

x = END
  Gives the end address of memory used.DATA+ENDCASE   
End of <CASE> structure.DATA$ENDIF
End of <IF> structure.DATA/ENDPROC   
End of procedure definition.DATA*ENDWHILE
End of <WHILE> structure.DATAKENVELOPE
ENVELOPE takes 14 numeric 
parameters separated by commas.DATAOEOF#channel
This function gives TRUE
if at end of open file;
else FALSEDATANa EOR b
Bitwise logical exclusive-or
between two integers.
Priority 7.DATAIERL       
This function gives the line
number of the last error.DATACERR
This function gives the error
number of the last error.DATAERROR
Part of ON ERROR
        LOCAL ERROR
    and RESTORE ERROR statements.
Cause an error: ERROR [EXT] number,string.DATA=EVAL
This function evaluates
a string: EVAL("2*X+1").DATAiEXP x
This function gives the 
exponential of a number.
    <LN>(EXP(x)) = x
    EXP(<LN>(x)) = xDATA�EXT#channel
x = EXT#channel
  Gives the length (extent)
  of an open file.

EXT#channel = expression
  Sets the length of an open file.DATAHFALSE     
This function gives the logical
value 'false' i.e. 0.DATAKFILL      
FILL [BY] x,y
  Flood fill from [relative to] point x,y.DATANFN
Call a function with FNfred(x,y)
Define one with <DEF> FNfred(a,b).DATAeFOR
FOR variable = start value TO limit value [STEP step size]
  statements..
NEXT [variable]DIR$��6E���z��߫GCOL�6E���}����GET�7E������߇GOSUB8F���>�+�GOTO�8E�������HHELP�8E�������ZHIMEM@9E������ߘIF�9E��������INKEYE���dr��INKEY!x24>INKEY�:E��������INPUT�;E�������OINSTALL�;E������ߊINSTRl<E������ߋINT�<E�������LEFT!x24�=E�������ULENP>E�������HLET�>E�������SLIBRARY�>E������ߝLINE�?E�������XLIST�@E������ߴLISTO�AE�������jLNBE�������ELOADLBE�������LOCALLCE�������gLOG�CE�������[LOMEMDE���Ġ��5LVARHDE���Ơ�� MID!x24hEE���ɠ���MOD@FE���̠��RMODE�FE���Ѡ���MOUSEhHE���ՠ��@MOVEDATA�GCOL
GCOL a [TINT t]
  Set graphics foreground colour 
  [and tint] (background 128+a).

GCOL action,a [TINT t]
  Set graphics fore|background
  colour and action.DATA�GET
x = GET
  Gives the ASCII value of the
  next input character.

x$ = GET$
  Gives the next input character
  as a one character string.

x$ = GET$#channel
  Gives next string from the file.DATA�GOSUB line nr
Call subroutine at given line number.
Don't use this! Please! Use of line numbers
should be avoided at all costs.DATA�GOTO line nr     
Continue execution at specified line. Don't use this! Please! Use of line numbers should be avoided at all costs!DATAHHELP      
This command gives help on 
usage of the interpreter.DATAZHIMEM
This psuedo-variable reads or sets the
address of the end of BASIC's memory.DATA�IF        
Single line if:
  IF expression [THEN] statements [ELSE statements].

Block if:
  IF expression THEN
    lines
  [ELSE lines]
  ENDIFDATA�INKEY

INKEY$ nr = CHR$(INKEY nr)

INKEY 0 to 32767
  Function waits nr centiseconds to read character.

INKEY -255 to -1
  Function checks specific key for TRUE|FALSE.

INKEY -256
  Function gives operating system number.DATA�INPUT
INPUT [LINE]['|<TAB>|<SPC>]["display string"][,|;]variable
  Input from user.
  INPUT LINE ... can also be written as LINE INPUT ...

INPUT#channel,list of variables
  Input data from open file.DATAOINSTALL filename
Permanently install a function 
and procedure library.DATA�INSTR
INSTR(string,sub string [,start pos])
  Find sub string position.
  
       INSTR("ABC","C") = 3
       INSTR("ABC","X") = 0DATA�INT nr 
This function gives the nearest
integer less than or equal to the number:
          INT  3.14 =  3
          INT -3.14 = -4DATALEFT$
LEFT$(string,nr)
  Gives leftmost nr of characters from string.
  
LEFT$(string)
  Gives leftmost LEN-1 characters.
  
LEFT$(string variable [,count]) = string2
  Overwrite all [or count] characters from start,
  with characters from string2.DATAULEN
This function gives the
length of a string.
    LEN"A" = 1
    LEN""  = 0DATAHLET
Optional part of assignment.
      LET A% = 42
      A% = 42DATASLIBRARY filename
Functions and procedures of the
named program can be used.DATA�LINE
LINE x1,y1,x2,y2
  Draw a line from x1,y1 to x2,y2
  Equivalent to:
    MOVE x1,y1
    DRAW x2,y2

Part of <INPUT> LINE or LINE INPUT statement.DATAXLIST
This command lists the program:
LIST [start line][,[end line]] [IFpattern].
  List lines in the given range.
  If no range, then list all lines.
  If just start line: list this one line
  If start line,: list all lines from this one.
  If [IFpattern] : only list lines containing pattern

See <LISTO> for how lines will be printed.DATA�LISTO number.
Bits mean:
 0: space before line
 1: indent structure
 2: split lines at :
 3: don't list line number
 4: list tokens in lower case

Default options are %0000DATAjLN x
This function gives the natural
logarithm (base e) of a number.
  LN(e^x) = x,  e = 2.718....DATAELOAD
This command loads a new program,
replacing the old one.DATA�LOCAL
LOCAL list of variables
  Make things private to function or procedure.

LOCAL DATA
  Save DATA pointer on stack.
  Only a LOCAL ERROR should come after this.

LOCAL ERROR
  Save error control status on stack.
  Must be last LOCAL statement.DATAgLOG
This function gives the common
logarithm (base 10) of a number.
      LOGx = <LN>(x)/LN(10)DATA[LOMEM
This psuedo-variable reads or sets the
address of the start of the variables.DATA5LVAR
This command lists all
variables in use.DATA MID$
MID$(string,position)
  Gives all of string starting from position.

MID$(string,position,count)
  Gives some of string from position.

MID$(string variable,position[,count]) = string2
  Overwrite all [or count] characters in 
  string variable, with characters from string2.DATA�MOD
a MOD b
  Remainder after integer division
  between two integers. Priority 3.

MOD array()
  The MOD function gives the square root
  of the sum of the squares
  of all the elements in a numeric array.DATARMODE
MODE nr
  Set screen mode.
nr = MODE
  Gives the current screen mode.DATA�MOUSE
MOUSE x,y,z[,t]
  Sets x,y to mouse position;
  z to button state [t to time].

MOUSE COLOUR a,r,g,b
  Set mouse palette entry for a 
  to r, g, b physical colour.
  
MOUSE OFF
  Turn mouse pointer off.
  
MOUSE ON [a]
  Sets mouse pointer 1 [or a].
  
MOUSE RECTANGLE x,y,width,height
  Constrain mouse movement to inside rectangle.
  
MOUSE STEP a[,b]
  Sets mouse step multiplier to a,a [or a,b].
  
MOUSE TO x,y
  Positions mouse and pointer at x,y.DATA@MOVE
MOVE [BY] x,y
  Graphics move to [relative by] x,y.DIR$��(ME���ߠ��4NEW\ME������XNEXT�ME�����߯NOTdNE������(OF�NE������TOFF�NE������AOLD$OF�������ONPE������?OPENIN\PE�������AOPENOUT�PE������KOPENUP�PE������
OPT�QE������?OR<RE������:ORIGINxRE���
���ROSCLI�RE���
���,OTHERWISE�RE�����ߍOVERLAY�SE������XPAGE�SE������@PI TF�����8PLOTXTE���#����POINT0UE���'���EPOSxUE���(��ߪPRINT$VE���*���WPROC|VE���,���uPTR�VE���1���kQUIT`WE���=���}RAD�WE���>���XREAD8XE���A��ߒRECTANGLE�XE���C��ߜREMhYF���վ+xRENUMBER�YE���I���0REPEATZE���K���ZREPORTlZF���_,;RESTORE�[E���k���+RETURN�[E���p���RIGHT!x24�\E���u����RND�]E���y���JRUNDATA4NEW
This command erases
the current program.DATAXNEXT
NEXT [variable[,variable]^]
  Closes one or several <FOR>..NEXT structures.DATA�NOT x
This function gives the number
with all bits inverted (0 and 1 exchanged).
 NOT  %0000000000000000000000000000001 (1)
    = %1111111111111111111111111111110 (-2)DATA(OF
Part of the <CASE> statement.DATATOFF
OFF
  Turn cursor off.

Part of <TRACE> OFF, 
ON <ERROR> OFF statements.DATAAOLD
This command recovers the
program just after a <NEW>.DATA�ON
ON
  Cursor on.

ON ERROR [LOCAL|OFF]
  Define error handler.

ON�expression�GOTO|GOSUB|PROC�\{,GOTO|GOSUB|PROC}�ELSE
 	Call from specified list item.
 	Don't use GOTO or GOSUB! Please! Use of line numbers should be avoided at all costs.DATA?x = OPENIN filename
The function opens a file
for inputDATAAx = OPENOUT filename
The function opens a file
for outputDATAKx = OPENUP filename
The function opens a file
for input and output.DATA
OPT
Set BASIC assembler options
Bit:  Meaning when set:
----  -----------------------------------
  0   Assembly listing enabled
  1   Assembler errors enabled
  2   Assembled code placed at O% instead of P%
  3   Check if assembled code exceeds memory limit L%DATA?OR
Bitwise logical or between
two integers. Priority 7.DATA:ORIGIN x,y
Sets x,y as the new
graphics 0,0 point.DATAROSCLI string    
Give string to Operating
System Command Line Interpreter.DATA,OTHERWISE 
Part of <CASE> structure.DATA�OVERLAY array$()
Set an array of filenames
for overlay libraries.
(Only one of the given libraries
 will be loaded at any given time)DATAXPAGE
This psuedo-variable reads or sets
the address of the start of the program.DATA@PI
This function gives the value
of 'pi' (3.1415926535).DATA8PLOT n,x,y
Graphics operation <n=>SWI:os_plot0>.DATA�POINT
x = POINT(x,y)
  Gives the logical colour
  of a graphics point.
  See also <TINT>

POINT [BY] x,y
  Set pixel at [relative to] x,y.

POINT TO x,y
  Position pointer at x,y,
  if not linked to mouse.DATAEPOS
This function gives
the x-coordinate 
of the text cursor.DATA�PRINT
PRINT ['|<TAB>|<SPC>]["display string"][expression][;]
  Print things in fields defined by @%.

PRINT#channel,list of expressions
  Print data to open file.DATAWPROC
PROCfred(x,y)
  Call a procedure.

DEF PROCfred(a,b)
  Define a procedure.DATAuPTR#channel
x = PTR#channel
  Gives the position in a file.
  
PTR#channel= x 
  Sets the position in a file.DATAkQUIT
QUIT
  Leave the interpreter.

x = QUIT
 Gives TRUE if BASIC was entered
 with a -quit option.DATA}RAD x
This function gives the value
in radians of a number in degrees.
    RAD(180) = 3.1415...
    <DEG>(RAD(x)) = xDATAXREAD
READ list of variables
  Read the variables in turn
  from DATA statements.DATA�RECTANGLE
RECTANGLE [FILL] xlo,ylo,width[,height]
          [TO xlo,ylo]
  Draw a rectangle outline [solid],
  or copy/move the rectangle.DATA�REM
Ignores everything until a colon or end
of line. Note that to REM out a line
like PRINT "x:" will cause problems due
to the colon in the string.DATAxRENUMBER [base,[step]]
This command renumbers the lines in the program.
Default values for base and step, is 10.DATA0REPEAT
REPEAT
  lines
UNTIL boolean exprDATAZREPORT
REPORT
  Print last error message.

x$ = REPORT$
  Gives last error string.DATA;RESTORE
RESTORE [+][number]
  	Restore the data pointer to first or given line, or move forward number lines from the start of the next line.

RESTORE DATA
  	Restore DATA pointer from stack. (Put there by <LOCAL> DATA)

RESTORE ERROR
  	Restore error control status from stack. (Put there by <LOCAL> ERROR)DATA+RETURN
End of a <GOSUB> subroutine.DATARIGHT$
RIGHT$(string,number)
  Gives rightmost number 
  of characters from string.

RIGHT$(string)
  Gives rightmost character.

RIGHT$(string variable [,count]) = string2
  Overwrite characters at end of
  string variable, with all [or count]
  characters from string2 DATA�RND
x = RND
  Gives a random integer.

x = RND(n) where n\<0 
  Initialise random number
  generator based on n.

x = RND(0)
  Last RND(1) value.
x = RND(1)
  Random real 0..1.
  
RND(n) where n>1
  Random integer between 1 and INT(n).DATAJRUN
Clear variables, 
and start execution
at beginning of program.DIR$���bE���|��ߢSAVElcE������jSGN�cE�������OSIN(dE�������xSOUND�dE�������DSPC�dE�������MSQR4eE�������)STEP`eE�������ASTEREO�eE�������STOP�eE�������ISTR!x24fE�������<STRING!x24HfE�������MSUM�fE�������QSUMLEN�fE���ݡ�ߋSWAPxgE���ޡ��&SYS�hE�������TABliE������VTAN�iE������iTEMPO0jE������'THENXjE������jTIME�jE�����ߠTINTdkE������#TO�kE������:TOP�kE�����ߐTRACETlE������CTRUE�lE������GTWIN�lE��� ���gTWINOHmE���%���)UNTILtmE���&���hUSR�mE���(���^VAL<nE���L��߯VDU�nE���M���QVOICE@oE���P���;VOICES|oE���T���EVPOS�oE���Z����WAIT�pE���\���&WHEN�pE���_���)WHILE�pE���c���'WIDTHDATA�SAVE [filename]
This command saves the current program.
If filename is omitted, and first line 
in program is 10 REM >string,
this string is used instead.DATAjSGN x
This function gives the values
  -1 if x is negative
   0 if x is zero
   1 if x is positiveDATAOSIN x 
This function gives
the sine of a number.
x is given in radians.DATAxSOUND
SOUND channel,amplitude,pitch,duration [,start beat]
  Make a sound.

SOUND ON|OFF
 Enable|disable sounds.DATADSPC n
In <PRINT> or <INPUT> statements:
prints out n spaces.DATAMSQR
This function gives the
square root of a number.
    SQR(X*X) = XDATA)STEP
Part of the <FOR> structure.DATAASTEREO channel,pos
Set the stereo position
for a channel.DATASTOP
Stop program.DATAISTR$[~] nr
Gives string representation
[in hex if ~] of a number.DATA<STRING$(nr,string)
Gives string replicated
nr times.DATAMSUM array()
This function gives 
the sum of all elements
in an array.DATAQSUMLEN array$()
Gives the total length
of all elements
of a string array.DATA�SWAP var1,var2
Exchange the contents 
of the two variables.
   SWAP A%,B%
is equivalent to
   tmp% = A%
   A%   = B%
   B%   = tmp%DATA&SYS
SYS expr {,expr}^ [TO var1 {,varn}^ [;var2]]
The SYS statement calls one of the <SWI=>SWI.$> routines
in the operating system, or in a extension module.
The first expr is either the SWI number or the
SWI name. If it is a name, this must first be
looked up, and this takes some time.DATA�TAB
In <PRINT> or <INPUT> statements:
TAB(n)
  Move text cursor to column n.
  PRINT TAB(10)"column 10"
  
TAB(x,y)
  Move text cursor to
  screen position x,y.
  PRINT TAB(0,0)"Upper left corner"DATAVTAN nr
This function gives
the tangent of a number.
 TAN x = <SIN> x / <COS> xDATAiTEMPO
TEMPO expr
  Set the sound microbeat tempo.

x = TEMPO
  Gives the current microbeat tempo.DATA'THEN
Part of the <IF> structureDATAjTIME
Read/Set clock:

 TIME = 12345
    x = TIME
TIME$ = "Tue, 10 Dec 1991.18:51:50"
   x$ = TIME$DATA�TINT
TINT a,t
  Set the tint for <COLOUR>|<GCOL>|fore|back a
  to t in 256 colour modes.

a = TINT(x,y)
  Gives the tint of a point in 256 colour modes.DATA#TO
Part of <FOR> structure.DATA:TOP
Gives the address 
of the end 
of the program.DATA�TRACE
TRACE [STEP] ON|OFF|PROC|nr
  Trace [in single step mode] on or off
  or procedure or function calls 
  or lines below the number.DATACTRUE
This function gives 
the logical value 'true' i.e. -1.DATAGTWIN
This command converts
the program to text,
and calls Twin.DATAgTWINO nr
This command converts the program
to text with a <LIST option=>LISTO>,
and calls Twin.DATA)UNTIL
Part of <REPEAT> structure.DATAhUSR adr
This function gives the value
returned by the machine code routine
at the given address.DATA^VAL str$
This function gives the numeric
value of a textual string.
     VAL "42" = 42DATA�VDU
VDU <nr=>VDU.$> {,|;[|]nr} [,|; or |]
  List of values to be sent to vdu.
  , : preceding value is 8 bit.
  ; : preceding value is 16 bit.
  | : 8 bytes of zeroes.DATAQVOICE channel,string
Assign a named sound algorithm
to the voice channel.DATA;VOICES expr
Set the number of
sound voice channels.DATAEVPOS
This function gives
the y-coordinate
of the text cursor.DATA�WAIT
Wait for vertical sync.
On a normal monitor, this will happen 50
times a second, but multisync monitors
may well go faster (or even slower!), so
you should not *assume* that this will
happen 50 times a second.DATA&WHEN
Part of <CASE> structure.DATA)WHILE
WHILE expr
  lines
ENDWHILEDATA'WIDTH expr
Set width of output.
00000000  48 45 4c 50 28 00 00 00  c9 00 00 00 ff ff ff ff  |HELP(...........|
00000010  2c 00 00 00 00 fd ff ff  00 00 00 00 d0 01 00 00  |,...............|
00000020  00 01 00 00 00 00 00 00  24 00 00 00 44 49 52 24  |........$...DIR$|
00000030  d8 01 00 00 d8 01 00 00  04 02 00 00 46 fd ff ff  |............F...|
00000040  b8 ad 20 00 ec 00 00 00  13 00 00 00 00 00 00 00  |.. .............|
00000050  21 52 6f 6f 74 00 00 00  f0 02 00 00 46 fd ff ff  |!Root.......F...|
00000060  dd ea 21 00 ce 04 00 00  13 00 00 00 00 00 00 00  |..!.............|
00000070  21 61 6c 6c 00 00 00 00  c0 07 00 00 46 fd ff ff  |!all........F...|
00000080  65 79 20 00 82 00 00 00  13 00 00 00 00 00 00 00  |ey .............|
00000090  21 66 69 6c 65 69 6f 00  44 08 00 00 46 fd ff ff  |!fileio.D...F...|
000000a0  fa e8 8f 15 bc 00 00 00  13 00 00 00 00 00 00 00  |................|
000000b0  21 67 72 61 70 68 69 63  73 00 00 00 00 09 00 00  |!graphics.......|
000000c0  46 fd ff ff 33 7e 20 00  c9 00 00 00 13 00 00 00  |F...3~ .........|
000000d0  00 00 00 00 21 69 6d 6d  65 64 69 61 74 65 00 00  |....!immediate..|
000000e0  cc 09 00 00 46 fd ff ff  1d 9f 1e 00 f0 00 00 00  |....F...........|
000000f0  13 00 00 00 00 00 00 00  21 6d 61 74 68 00 00 00  |........!math...|
00000100  bc 0a 00 00 46 fd ff ff  62 09 b3 06 8e 01 00 00  |....F...b.......|
00000110  13 00 00 00 00 00 00 00  21 72 65 73 74 00 00 00  |........!rest...|
00000120  4c 0c 00 00 46 fd ff ff  ba 89 20 00 51 00 00 00  |L...F..... .Q...|
00000130  13 00 00 00 00 00 00 00  21 73 6f 75 6e 64 00 00  |........!sound..|
00000140  a0 0c 00 00 46 fd ff ff  e4 90 20 00 75 01 00 00  |....F..... .u...|
00000150  13 00 00 00 00 00 00 00  21 73 74 72 75 63 74 66  |........!structf|
00000160  6c 6f 77 00 18 0e 00 00  47 fd ff ff f7 07 70 04  |low.....G.....p.|
00000170  b0 03 00 00 13 01 00 00  00 00 00 00 5b 41 2d 43  |............[A-C|
00000180  5d 00 00 00 ac 24 00 00  47 fd ff ff 9c 09 70 04  |]....$..G.....p.|
00000190  60 03 00 00 13 01 00 00  00 00 00 00 5b 44 2d 46  |`...........[D-F|
000001a0  5d 00 00 00 38 32 00 00  47 fd ff ff 28 0b 70 04  |]...82..G...(.p.|
000001b0  d8 03 00 00 13 01 00 00  00 00 00 00 5b 47 2d 4d  |............[G-M|
000001c0  5d 00 00 00 a8 48 00 00  47 fd ff ff ec 0c 70 04  |]....H..G.....p.|
000001d0  80 04 00 00 13 01 00 00  00 00 00 00 5b 4e 2d 52  |............[N-R|
000001e0  5d 00 00 00 2c 5e 00 00  47 fd ff ff 04 0f 70 04  |]...,^..G.....p.|
000001f0  9c 04 00 00 13 01 00 00  00 00 00 00 5b 53 2d 57  |............[S-W|
00000200  5d 00 00 00 44 41 54 41  ec 00 00 00 42 41 53 49  |]...DATA....BASI|
00000210  43 0a 59 6f 75 20 63 61  6e 20 67 65 74 20 68 65  |C.You can get he|
00000220  6c 70 20 6f 6e 20 3a 0a  23 49 6e 64 65 6e 74 20  |lp on :.#Indent |
00000230  32 0a 3c 47 72 61 70 68  69 63 73 3d 3e 21 67 72  |2.<Graphics=>!gr|
00000240  61 70 68 69 63 73 3e 0a  3c 46 69 6c 65 20 49 2f  |aphics>.<File I/|
00000250  4f 3d 3e 21 66 69 6c 65  69 6f 3e 0a 3c 49 6d 6d  |O=>!fileio>.<Imm|
00000260  65 64 69 61 74 65 20 63  6f 6d 6d 61 6e 64 73 3d  |ediate commands=|
00000270  3e 21 69 6d 6d 65 64 69  61 74 65 3e 0a 3c 4d 61  |>!immediate>.<Ma|
00000280  74 68 3d 3e 21 6d 61 74  68 3e 0a 3c 53 6f 75 6e  |th=>!math>.<Soun|
00000290  64 3d 3e 21 73 6f 75 6e  64 3e 0a 3c 53 74 72 75  |d=>!sound>.<Stru|
000002a0  63 74 75 72 65 20 2f 20  46 6c 6f 77 3d 3e 21 73  |cture / Flow=>!s|
000002b0  74 72 75 63 74 66 6c 6f  77 3e 0a 23 49 6e 64 65  |tructflow>.#Inde|
000002c0  6e 74 20 30 3b 20 4c 69  6e 65 3b 20 49 6e 64 65  |nt 0; Line; Inde|
000002d0  6e 74 20 32 0a 3c 41 6c  6c 3d 3e 21 61 6c 6c 3e  |nt 2.<All=>!all>|
000002e0  20 20 20 3c 52 65 73 74  3d 3e 21 72 65 73 74 3e  |   <Rest=>!rest>|
000002f0  44 41 54 41 ce 04 00 00  49 6e 64 65 78 0a 23 54  |DATA....Index.#T|
00000300  61 62 6c 65 20 32 33 20  31 30 0a 3c 41 42 53 3e  |able 23 10.<ABS>|
00000310  0a 3c 41 43 53 3e 0a 3c  41 44 56 41 4c 3e 0a 3c  |.<ACS>.<ADVAL>.<|
00000320  41 4e 44 3e 0a 3c 41 50  50 45 4e 44 3e 0a 3c 41  |AND>.<APPEND>.<A|
00000330  53 43 3e 0a 3c 41 53 4e  3e 0a 3c 41 54 4e 3e 0a  |SC>.<ASN>.<ATN>.|
00000340  3c 41 55 54 4f 3e 0a 3c  42 45 41 54 3e 0a 3c 42  |<AUTO>.<BEAT>.<B|
00000350  45 41 54 53 3e 0a 3c 42  47 45 54 3e 0a 3c 42 50  |EATS>.<BGET>.<BP|
00000360  55 54 3e 0a 3c 43 41 4c  4c 3e 0a 3c 43 41 53 45  |UT>.<CALL>.<CASE|
00000370  3e 0a 3c 43 48 41 49 4e  3e 0a 3c 43 48 52 3d 3e  |>.<CHAIN>.<CHR=>|
00000380  43 48 52 21 78 32 34 3e  0a 3c 43 49 52 43 4c 45  |CHR!x24>.<CIRCLE|
00000390  3e 0a 3c 43 4c 45 41 52  3e 0a 3c 43 4c 47 3e 0a  |>.<CLEAR>.<CLG>.|
000003a0  3c 43 4c 4f 53 45 3e 0a  3c 43 4c 53 3e 0a 43 4f  |<CLOSE>.<CLS>.CO|
000003b0  4c 4f 52 0a 3c 43 4f 4c  4f 55 52 3e 0a 3c 43 4f  |LOR.<COLOUR>.<CO|
000003c0  53 3e 0a 3c 43 4f 55 4e  54 3e 0a 3c 44 41 54 41  |S>.<COUNT>.<DATA|
000003d0  3e 0a 3c 44 45 46 3e 0a  3c 44 45 47 3e 0a 3c 44  |>.<DEF>.<DEG>.<D|
000003e0  45 4c 45 54 45 3e 0a 3c  44 49 4d 3e 0a 3c 44 49  |ELETE>.<DIM>.<DI|
000003f0  56 3e 0a 3c 44 52 41 57  3e 0a 3c 45 44 49 54 3e  |V>.<DRAW>.<EDIT>|
00000400  0a 3c 45 4c 4c 49 50 53  45 3e 0a 3c 45 4c 53 45  |.<ELLIPSE>.<ELSE|
00000410  3e 0a 3c 45 4e 44 3e 0a  3c 45 4e 44 43 41 53 45  |>.<END>.<ENDCASE|
00000420  3e 0a 3c 45 4e 44 49 46  3e 0a 3c 45 4e 44 50 52  |>.<ENDIF>.<ENDPR|
00000430  4f 43 3e 0a 3c 45 4e 44  57 48 49 4c 45 3e 0a 3c  |OC>.<ENDWHILE>.<|
00000440  45 4e 56 45 4c 4f 50 45  3e 0a 3c 45 4f 46 3e 0a  |ENVELOPE>.<EOF>.|
00000450  3c 45 4f 52 3e 0a 3c 45  52 4c 3e 0a 3c 45 52 52  |<EOR>.<ERL>.<ERR|
00000460  3e 0a 3c 45 52 52 4f 52  3e 0a 3c 45 56 41 4c 3e  |>.<ERROR>.<EVAL>|
00000470  0a 3c 45 58 50 3e 0a 3c  45 58 54 3e 0a 3c 46 41  |.<EXP>.<EXT>.<FA|
00000480  4c 53 45 3e 0a 3c 46 49  4c 4c 3e 0a 3c 46 4e 3e  |LSE>.<FILL>.<FN>|
00000490  0a 3c 46 4f 52 3e 0a 3c  47 43 4f 4c 3e 0a 3c 47  |.<FOR>.<GCOL>.<G|
000004a0  45 54 3e 0a 3c 47 4f 53  55 42 3e 0a 3c 47 4f 54  |ET>.<GOSUB>.<GOT|
000004b0  4f 3e 0a 3c 48 45 4c 50  3e 0a 3c 48 49 4d 45 4d  |O>.<HELP>.<HIMEM|
000004c0  3e 0a 3c 49 46 3e 0a 3c  49 4e 4b 45 59 3e 0a 3c  |>.<IF>.<INKEY>.<|
000004d0  49 4e 50 55 54 3e 0a 3c  49 4e 53 54 41 4c 4c 3e  |INPUT>.<INSTALL>|
000004e0  0a 3c 49 4e 53 54 52 3e  0a 3c 49 4e 54 3e 0a 3c  |.<INSTR>.<INT>.<|
000004f0  4c 45 46 54 3d 3e 4c 45  46 54 21 78 32 34 3e 0a  |LEFT=>LEFT!x24>.|
00000500  3c 4c 45 4e 3e 0a 3c 4c  45 54 3e 0a 3c 4c 49 42  |<LEN>.<LET>.<LIB|
00000510  52 41 52 59 3e 0a 3c 4c  49 4e 45 3e 0a 3c 4c 49  |RARY>.<LINE>.<LI|
00000520  53 54 3e 0a 3c 4c 49 53  54 4f 3e 0a 3c 4c 4e 3e  |ST>.<LISTO>.<LN>|
00000530  0a 3c 4c 4f 41 44 3e 0a  3c 4c 4f 43 41 4c 3e 0a  |.<LOAD>.<LOCAL>.|
00000540  3c 4c 4f 47 3e 0a 3c 4c  4f 4d 45 4d 3e 0a 3c 4c  |<LOG>.<LOMEM>.<L|
00000550  56 41 52 3e 0a 3c 4d 49  44 3d 3e 4d 49 44 21 78  |VAR>.<MID=>MID!x|
00000560  32 34 3e 0a 3c 4d 4f 44  3e 0a 3c 4d 4f 44 45 3e  |24>.<MOD>.<MODE>|
00000570  0a 3c 4d 4f 55 53 45 3e  0a 3c 4d 4f 56 45 3e 0a  |.<MOUSE>.<MOVE>.|
00000580  3c 4e 45 57 3e 0a 3c 4e  45 58 54 3e 0a 3c 4e 4f  |<NEW>.<NEXT>.<NO|
00000590  54 3e 0a 3c 4f 46 3e 0a  3c 4f 46 46 3e 0a 3c 4f  |T>.<OF>.<OFF>.<O|
000005a0  4c 44 3e 0a 3c 4f 4e 3e  0a 3c 4f 50 45 4e 49 4e  |LD>.<ON>.<OPENIN|
000005b0  3e 0a 3c 4f 50 45 4e 4f  55 54 3e 0a 3c 4f 50 45  |>.<OPENOUT>.<OPE|
000005c0  4e 55 50 3e 0a 3c 4f 52  3e 0a 3c 4f 52 49 47 49  |NUP>.<OR>.<ORIGI|
000005d0  4e 3e 0a 3c 4f 53 43 4c  49 3e 0a 3c 4f 54 48 45  |N>.<OSCLI>.<OTHE|
000005e0  52 57 49 53 45 3e 0a 3c  4f 56 45 52 4c 41 59 3e  |RWISE>.<OVERLAY>|
000005f0  0a 3c 50 41 47 45 3e 0a  3c 50 49 3e 0a 3c 50 4c  |.<PAGE>.<PI>.<PL|
00000600  4f 54 3e 0a 3c 50 4f 49  4e 54 3e 0a 3c 50 4f 53  |OT>.<POINT>.<POS|
00000610  3e 0a 3c 50 52 49 4e 54  3e 0a 3c 50 52 4f 43 3e  |>.<PRINT>.<PROC>|
00000620  0a 3c 50 54 52 3e 0a 3c  51 55 49 54 3e 0a 3c 52  |.<PTR>.<QUIT>.<R|
00000630  41 44 3e 0a 3c 52 45 41  44 3e 0a 3c 52 45 43 54  |AD>.<READ>.<RECT|
00000640  41 4e 47 4c 45 3e 0a 3c  52 45 4d 3e 0a 3c 52 45  |ANGLE>.<REM>.<RE|
00000650  4e 55 4d 42 45 52 3e 0a  3c 52 45 50 45 41 54 3e  |NUMBER>.<REPEAT>|
00000660  0a 3c 52 45 50 4f 52 54  3e 0a 3c 52 45 53 54 4f  |.<REPORT>.<RESTO|
00000670  52 45 3e 0a 3c 52 45 54  55 52 4e 3e 0a 3c 52 49  |RE>.<RETURN>.<RI|
00000680  47 48 54 3d 3e 52 49 47  48 54 21 78 32 34 3e 0a  |GHT=>RIGHT!x24>.|
00000690  3c 52 4e 44 3e 0a 3c 52  55 4e 3e 0a 3c 53 41 56  |<RND>.<RUN>.<SAV|
000006a0  45 3e 0a 3c 53 47 4e 3e  0a 3c 53 49 4e 3e 0a 3c  |E>.<SGN>.<SIN>.<|
000006b0  53 4f 55 4e 44 3e 0a 3c  53 50 43 3e 0a 3c 53 51  |SOUND>.<SPC>.<SQ|
000006c0  52 3e 0a 3c 53 54 45 50  3e 0a 3c 53 54 45 52 45  |R>.<STEP>.<STERE|
000006d0  4f 3e 0a 3c 53 54 4f 50  3e 0a 3c 53 54 52 3d 3e  |O>.<STOP>.<STR=>|
000006e0  53 54 52 21 78 32 34 3e  0a 3c 53 54 52 49 4e 47  |STR!x24>.<STRING|
000006f0  3d 3e 53 54 52 49 4e 47  21 78 32 34 3e 0a 3c 53  |=>STRING!x24>.<S|
00000700  55 4d 3e 0a 3c 53 55 4d  4c 45 4e 3e 0a 3c 53 57  |UM>.<SUMLEN>.<SW|
00000710  41 50 3e 0a 3c 53 59 53  3e 0a 3c 54 41 42 3e 0a  |AP>.<SYS>.<TAB>.|
00000720  3c 54 41 4e 3e 0a 3c 54  45 4d 50 4f 3e 0a 3c 54  |<TAN>.<TEMPO>.<T|
00000730  48 45 4e 3e 0a 3c 54 49  4d 45 3e 0a 3c 54 49 4e  |HEN>.<TIME>.<TIN|
00000740  54 3e 0a 3c 54 4f 3e 0a  3c 54 4f 50 3e 0a 3c 54  |T>.<TO>.<TOP>.<T|
00000750  52 41 43 45 3e 0a 3c 54  52 55 45 3e 0a 3c 54 57  |RACE>.<TRUE>.<TW|
00000760  49 4e 3e 0a 3c 54 57 49  4e 4f 3e 0a 3c 55 4e 54  |IN>.<TWINO>.<UNT|
00000770  49 4c 3e 0a 3c 55 53 52  3e 0a 3c 56 41 4c 3e 0a  |IL>.<USR>.<VAL>.|
00000780  3c 56 44 55 3e 0a 3c 56  4f 49 43 45 3e 0a 3c 56  |<VDU>.<VOICE>.<V|
00000790  4f 49 43 45 53 3e 0a 3c  57 41 49 54 3e 0a 3c 57  |OICES>.<WAIT>.<W|
000007a0  48 45 4e 3e 0a 3c 57 48  49 4c 45 3e 0a 3c 57 49  |HEN>.<WHILE>.<WI|
000007b0  44 54 48 3e 0a 23 45 6e  64 54 61 62 6c 65 00 00  |DTH>.#EndTable..|
000007c0  44 41 54 41 82 00 00 00  46 69 6c 65 20 49 2f 4f  |DATA....File I/O|
000007d0  0a 23 54 61 62 6c 65 20  36 20 31 30 0a 3c 42 47  |.#Table 6 10.<BG|
000007e0  45 54 3e 0a 3c 42 50 55  54 3e 0a 3c 43 4c 4f 53  |ET>.<BPUT>.<CLOS|
000007f0  45 3e 0a 3c 45 4f 46 3e  0a 3c 45 58 54 3e 0a 3c  |E>.<EOF>.<EXT>.<|
00000800  47 45 54 3e 0a 3c 49 4e  50 55 54 3e 0a 3c 4f 50  |GET>.<INPUT>.<OP|
00000810  45 4e 49 4e 20 3e 0a 3c  4f 50 45 4e 4f 55 54 3e  |ENIN >.<OPENOUT>|
00000820  0a 3c 4f 50 45 4e 55 50  20 3e 0a 3c 50 52 49 4e  |.<OPENUP >.<PRIN|
00000830  54 3e 0a 3c 50 54 52 3e  0a 23 45 6e 64 54 61 62  |T>.<PTR>.#EndTab|
00000840  6c 65 00 00 44 41 54 41  bc 00 00 00 47 72 61 70  |le..DATA....Grap|
00000850  68 69 63 73 0a 23 54 61  62 6c 65 20 43 6f 6c 75  |hics.#Table Colu|
00000860  6d 6e 73 20 33 0a 3c 43  49 52 43 4c 45 3e 0a 3c  |mns 3.<CIRCLE>.<|
00000870  43 4c 47 3e 0a 3c 43 4c  53 3e 0a 43 4f 4c 4f 52  |CLG>.<CLS>.COLOR|
00000880  0a 3c 43 4f 4c 4f 55 52  3e 0a 3c 44 52 41 57 3e  |.<COLOUR>.<DRAW>|
00000890  0a 3c 45 4c 4c 49 50 53  45 3e 0a 3c 46 49 4c 4c  |.<ELLIPSE>.<FILL|
000008a0  3e 0a 3c 47 43 4f 4c 3e  0a 3c 4c 49 4e 45 3e 0a  |>.<GCOL>.<LINE>.|
000008b0  3c 4d 4f 44 45 3e 0a 3c  4d 4f 56 45 3e 0a 3c 4f  |<MODE>.<MOVE>.<O|
000008c0  52 49 47 49 4e 3e 0a 3c  50 4c 4f 54 3e 0a 3c 50  |RIGIN>.<PLOT>.<P|
000008d0  4f 49 4e 54 3e 0a 3c 50  52 49 4e 54 3e 0a 3c 52  |OINT>.<PRINT>.<R|
000008e0  45 43 54 41 4e 47 4c 45  3e 0a 3c 54 49 4e 54 3e  |ECTANGLE>.<TINT>|
000008f0  0a 3c 56 44 55 3e 0a 23  45 6e 64 54 61 62 6c 65  |.<VDU>.#EndTable|
00000900  44 41 54 41 c9 00 00 00  49 6d 6d 65 64 69 61 74  |DATA....Immediat|
00000910  65 0a 54 68 65 73 65 20  63 61 6e 20 6f 6e 6c 79  |e.These can only|
00000920  20 62 65 20 75 73 65 64  20 66 72 6f 6d 0a 42 41  | be used from.BA|
00000930  53 49 43 27 73 20 22 3e  22 20 70 72 6f 6d 70 74  |SIC's ">" prompt|
00000940  2e 0a 0a 23 54 61 62 6c  65 20 35 20 31 30 0a 3c  |...#Table 5 10.<|
00000950  41 50 50 45 4e 44 3e 0a  3c 41 55 54 4f 3e 0a 3c  |APPEND>.<AUTO>.<|
00000960  44 45 4c 45 54 45 3e 0a  3c 45 44 49 54 3e 0a 3c  |DELETE>.<EDIT>.<|
00000970  48 45 4c 50 3e 0a 3c 4c  49 53 54 3e 0a 3c 4c 49  |HELP>.<LIST>.<LI|
00000980  53 54 4f 3e 0a 3c 4c 4f  41 44 3e 0a 3c 4c 56 41  |STO>.<LOAD>.<LVA|
00000990  52 3e 0a 3c 4e 45 57 3e  0a 3c 4f 4c 44 3e 0a 3c  |R>.<NEW>.<OLD>.<|
000009a0  52 45 4e 55 4d 42 45 52  3e 0a 3c 53 41 56 45 3e  |RENUMBER>.<SAVE>|
000009b0  0a 3c 54 57 49 4e 3e 0a  3c 54 57 49 4e 4f 3e 0a  |.<TWIN>.<TWINO>.|
000009c0  23 45 6e 64 54 61 62 6c  65 00 00 00 44 41 54 41  |#EndTable...DATA|
000009d0  f0 00 00 00 4d 61 74 68  0a 23 54 61 62 6c 65 20  |....Math.#Table |
000009e0  43 6f 6c 75 6d 6e 73 20  33 0a 3c 41 42 53 3e 0a  |Columns 3.<ABS>.|
000009f0  3c 41 43 53 3e 0a 3c 41  53 43 3e 0a 3c 41 53 4e  |<ACS>.<ASC>.<ASN|
00000a00  3e 0a 3c 41 54 4e 3e 0a  3c 43 4f 53 3e 0a 3c 44  |>.<ATN>.<COS>.<D|
00000a10  45 47 3e 0a 3c 44 49 56  3e 0a 3c 45 56 41 4c 3e  |EG>.<DIV>.<EVAL>|
00000a20  0a 3c 45 58 50 3e 0a 3c  49 4e 54 3e 0a 3c 4c 4e  |.<EXP>.<INT>.<LN|
00000a30  3e 0a 3c 4c 4f 47 3e 0a  3c 4d 4f 44 3e 0a 3c 52  |>.<LOG>.<MOD>.<R|
00000a40  41 44 3e 0a 3c 52 4e 44  3e 0a 3c 53 47 4e 3e 0a  |AD>.<RND>.<SGN>.|
00000a50  3c 53 49 4e 3e 0a 3c 53  51 52 3e 0a 3c 53 55 4d  |<SIN>.<SQR>.<SUM|
00000a60  3e 0a 3c 54 41 4e 3e 0a  3c 56 41 4c 3e 0a 4c 6f  |>.<TAN>.<VAL>.Lo|
00000a70  67 69 63 61 6c 2f 42 69  6e 61 72 79 0a 3c 41 4e  |gical/Binary.<AN|
00000a80  44 3e 0a 3c 45 4f 52 3e  0a 3c 4e 4f 54 3e 0a 3c  |D>.<EOR>.<NOT>.<|
00000a90  4f 52 3e 0a 0a 43 6f 6e  73 74 61 6e 74 73 0a 3c  |OR>..Constants.<|
00000aa0  46 41 4c 53 45 3e 0a 3c  50 49 3e 0a 3c 54 52 55  |FALSE>.<PI>.<TRU|
00000ab0  45 3e 0a 23 45 6e 64 54  61 62 6c 65 44 41 54 41  |E>.#EndTableDATA|
00000ac0  8e 01 00 00 52 65 73 74  0a 23 54 61 62 6c 65 20  |....Rest.#Table |
00000ad0  31 31 20 31 30 0a 3c 41  44 56 41 4c 3e 0a 3c 43  |11 10.<ADVAL>.<C|
00000ae0  48 52 24 3d 3e 43 48 52  21 78 32 34 3e 0a 3c 43  |HR$=>CHR!x24>.<C|
00000af0  4c 53 3e 0a 3c 43 4f 55  4e 54 3e 0a 3c 45 52 4c  |LS>.<COUNT>.<ERL|
00000b00  3e 0a 3c 45 52 52 3e 0a  3c 45 56 41 4c 3e 0a 3c  |>.<ERR>.<EVAL>.<|
00000b10  47 45 54 3e 0a 3c 48 45  4c 50 3e 0a 3c 48 49 4d  |GET>.<HELP>.<HIM|
00000b20  45 4d 3e 0a 3c 49 4e 4b  45 59 3e 0a 3c 49 4e 50  |EM>.<INKEY>.<INP|
00000b30  55 54 3e 0a 3c 49 4e 53  54 52 3e 0a 3c 49 4e 54  |UT>.<INSTR>.<INT|
00000b40  3e 0a 3c 4c 45 46 54 24  3d 3e 4c 45 46 54 21 78  |>.<LEFT$=>LEFT!x|
00000b50  32 34 3e 0a 3c 4c 45 4e  3e 0a 3c 4c 49 4e 45 3e  |24>.<LEN>.<LINE>|
00000b60  0a 3c 4c 4e 3e 0a 3c 4c  4f 4d 45 4d 3e 0a 3c 4d  |.<LN>.<LOMEM>.<M|
00000b70  49 44 24 3d 3e 4d 49 44  21 78 32 34 3e 0a 3c 4d  |ID$=>MID!x24>.<M|
00000b80  4f 44 45 3e 0a 3c 4d 4f  55 53 45 3e 0a 3c 4f 46  |ODE>.<MOUSE>.<OF|
00000b90  46 3e 0a 3c 4f 4e 3e 0a  3c 4f 53 43 4c 49 3e 0a  |F>.<ON>.<OSCLI>.|
00000ba0  3c 50 41 47 45 3e 0a 3c  50 4f 53 3e 0a 3c 50 52  |<PAGE>.<POS>.<PR|
00000bb0  49 4e 54 3e 0a 3c 52 45  41 44 3e 0a 3c 52 49 47  |INT>.<READ>.<RIG|
00000bc0  48 54 24 3d 3e 52 49 47  48 54 21 78 32 34 3e 0a  |HT$=>RIGHT!x24>.|
00000bd0  3c 53 50 43 3e 0a 3c 53  54 52 24 3d 3e 53 54 52  |<SPC>.<STR$=>STR|
00000be0  21 78 32 34 3e 0a 3c 53  54 52 49 4e 47 24 3d 3e  |!x24>.<STRING$=>|
00000bf0  53 54 52 49 4e 47 21 78  32 34 3e 0a 3c 53 55 4d  |STRING!x24>.<SUM|
00000c00  4c 45 4e 3e 0a 3c 53 57  41 50 3e 0a 3c 54 41 42  |LEN>.<SWAP>.<TAB|
00000c10  3e 0a 3c 54 49 4d 45 3e  0a 3c 54 49 4e 54 3e 0a  |>.<TIME>.<TINT>.|
00000c20  3c 54 4f 50 3e 0a 3c 56  41 4c 3e 0a 3c 56 44 55  |<TOP>.<VAL>.<VDU|
00000c30  3e 0a 3c 57 41 49 54 3e  0a 3c 57 49 44 54 48 3e  |>.<WAIT>.<WIDTH>|
00000c40  0a 23 45 6e 64 54 61 62  6c 65 00 00 44 41 54 41  |.#EndTable..DATA|
00000c50  51 00 00 00 53 6f 75 6e  64 0a 3c 42 45 41 54 3e  |Q...Sound.<BEAT>|
00000c60  0a 3c 42 45 41 54 53 3e  0a 3c 45 4e 56 45 4c 4f  |.<BEATS>.<ENVELO|
00000c70  50 45 3e 0a 3c 53 4f 55  4e 44 3e 0a 3c 53 54 45  |PE>.<SOUND>.<STE|
00000c80  52 45 4f 3e 0a 3c 54 45  4d 50 4f 3e 0a 3c 56 4f  |REO>.<TEMPO>.<VO|
00000c90  49 43 45 3e 0a 3c 56 4f  49 43 45 53 3e 00 00 00  |ICE>.<VOICES>...|
00000ca0  44 41 54 41 75 01 00 00  53 74 72 75 63 74 75 72  |DATAu...Structur|
00000cb0  65 2f 46 6c 6f 77 0a 23  54 61 62 6c 65 20 31 31  |e/Flow.#Table 11|
00000cc0  20 31 31 0a 3c 43 41 4c  4c 3e 0a 3c 43 41 53 45  | 11.<CALL>.<CASE|
00000cd0  3e 0a 3c 43 48 41 49 4e  3e 0a 3c 43 4c 45 41 52  |>.<CHAIN>.<CLEAR|
00000ce0  3e 0a 3c 44 41 54 41 3e  0a 3c 44 49 4d 3e 0a 3c  |>.<DATA>.<DIM>.<|
00000cf0  45 4c 53 45 3e 0a 3c 44  45 46 3e 0a 3c 45 4e 44  |ELSE>.<DEF>.<END|
00000d00  3e 0a 3c 45 4e 44 43 41  53 45 3e 0a 3c 45 4e 44  |>.<ENDCASE>.<END|
00000d10  49 46 3e 0a 3c 45 4e 44  50 52 4f 43 3e 0a 3c 45  |IF>.<ENDPROC>.<E|
00000d20  4e 44 57 48 49 4c 45 3e  0a 3c 45 52 52 4f 52 3e  |NDWHILE>.<ERROR>|
00000d30  0a 3c 46 4e 3e 0a 3c 46  4f 52 3e 0a 3c 47 4f 53  |.<FN>.<FOR>.<GOS|
00000d40  55 42 3e 0a 3c 47 4f 54  4f 3e 0a 3c 49 46 3e 0a  |UB>.<GOTO>.<IF>.|
00000d50  3c 49 4e 53 54 41 4c 4c  3e 0a 3c 4c 45 54 3e 0a  |<INSTALL>.<LET>.|
00000d60  3c 4c 49 42 52 41 52 59  3e 0a 3c 4c 4f 43 41 4c  |<LIBRARY>.<LOCAL|
00000d70  3e 0a 3c 4e 45 58 54 3e  0a 3c 4f 4e 3e 0a 3c 4f  |>.<NEXT>.<ON>.<O|
00000d80  54 48 45 52 57 49 53 45  3e 0a 3c 4f 56 45 52 4c  |THERWISE>.<OVERL|
00000d90  41 59 3e 0a 3c 50 52 4f  43 3e 0a 3c 51 55 49 54  |AY>.<PROC>.<QUIT|
00000da0  3e 0a 3c 52 45 4d 3e 0a  3c 52 45 50 45 41 54 3e  |>.<REM>.<REPEAT>|
00000db0  0a 3c 52 45 50 4f 52 54  3e 0a 3c 52 45 53 54 4f  |.<REPORT>.<RESTO|
00000dc0  52 45 3e 0a 3c 52 45 54  55 52 4e 3e 0a 3c 52 55  |RE>.<RETURN>.<RU|
00000dd0  4e 3e 0a 3c 53 54 4f 50  3e 0a 3c 53 59 53 3e 0a  |N>.<STOP>.<SYS>.|
00000de0  3c 54 48 45 4e 3e 0a 3c  54 52 41 43 45 3e 0a 3c  |<THEN>.<TRACE>.<|
00000df0  55 4e 54 49 4c 3e 0a 3c  55 53 52 3e 0a 3c 57 48  |UNTIL>.<USR>.<WH|
00000e00  45 4e 3e 0a 3c 57 48 49  4c 45 3e 0a 23 45 6e 64  |EN>.<WHILE>.#End|
00000e10  54 61 62 6c 65 00 00 00  44 49 52 24 b0 03 00 00  |Table...DIR$....|
00000e20  b0 03 00 00 c8 11 00 00  45 ff ff ff a1 9f e8 df  |........E.......|
00000e30  51 00 00 00 13 00 00 00  00 00 00 00 41 42 53 00  |Q...........ABS.|
00000e40  1c 12 00 00 45 ff ff ff  ab 9f e8 df 7c 00 00 00  |....E.......|...|
00000e50  13 00 00 00 00 00 00 00  41 43 53 00 98 12 00 00  |........ACS.....|
00000e60  45 ff ff ff b5 9f e8 df  56 00 00 00 13 00 00 00  |E.......V.......|
00000e70  00 00 00 00 41 44 56 41  4c 00 00 00 f0 12 00 00  |....ADVAL.......|
00000e80  45 ff ff ff b6 9f e8 df  41 00 00 00 13 00 00 00  |E.......A.......|
00000e90  00 00 00 00 41 4e 44 00  34 13 00 00 45 ff ff ff  |....AND.4...E...|
00000ea0  b8 9f e8 df 60 00 00 00  13 00 00 00 00 00 00 00  |....`...........|
00000eb0  41 50 50 45 4e 44 00 00  94 13 00 00 45 ff ff ff  |APPEND......E...|
00000ec0  ba 9f e8 df 73 00 00 00  13 00 00 00 00 00 00 00  |....s...........|
00000ed0  41 53 43 00 08 14 00 00  45 ff ff ff bb 9f e8 df  |ASC.....E.......|
00000ee0  79 00 00 00 13 00 00 00  00 00 00 00 41 53 4e 00  |y...........ASN.|
00000ef0  84 14 00 00 45 ff ff ff  bd 9f e8 df 59 00 00 00  |....E.......Y...|
00000f00  13 00 00 00 00 00 00 00  41 54 4e 00 e0 14 00 00  |........ATN.....|
00000f10  45 ff ff ff c6 9f e8 df  76 00 00 00 13 00 00 00  |E.......v.......|
00000f20  00 00 00 00 41 55 54 4f  00 00 00 00 58 15 00 00  |....AUTO....X...|
00000f30  45 ff ff ff c7 9f e8 df  3e 00 00 00 13 00 00 00  |E.......>.......|
00000f40  00 00 00 00 42 45 41 54  00 00 00 00 98 15 00 00  |....BEAT........|
00000f50  45 ff ff ff c9 9f e8 df  73 00 00 00 13 00 00 00  |E.......s.......|
00000f60  00 00 00 00 42 45 41 54  53 00 00 00 0c 16 00 00  |....BEATS.......|
00000f70  45 ff ff ff d6 9f e8 df  4f 00 00 00 13 00 00 00  |E.......O.......|
00000f80  00 00 00 00 42 47 45 54  00 00 00 00 5c 16 00 00  |....BGET....\...|
00000f90  45 ff ff ff d8 9f e8 df  81 00 00 00 13 00 00 00  |E...............|
00000fa0  00 00 00 00 42 50 55 54  00 00 00 00 e0 16 00 00  |....BPUT........|
00000fb0  45 ff ff ff da 9f e8 df  05 02 00 00 13 00 00 00  |E...............|
00000fc0  00 00 00 00 43 41 4c 4c  00 00 00 00 e8 18 00 00  |....CALL........|
00000fd0  45 ff ff ff f9 9f e8 df  6b 00 00 00 13 00 00 00  |E.......k.......|
00000fe0  00 00 00 00 43 41 53 45  00 00 00 00 54 19 00 00  |....CASE....T...|
00000ff0  45 ff ff ff 02 a0 e8 df  74 00 00 00 13 00 00 00  |E.......t.......|
00001000  00 00 00 00 43 48 41 49  4e 00 00 00 c8 19 00 00  |....CHAIN.......|
00001010  45 ff ff ff 05 a0 e8 df  57 00 00 00 13 00 00 00  |E.......W.......|
00001020  00 00 00 00 43 48 52 21  78 32 34 00 20 1a 00 00  |....CHR!x24. ...|
00001030  45 ff ff ff 07 a0 e8 df  41 00 00 00 13 00 00 00  |E.......A.......|
00001040  00 00 00 00 43 49 52 43  4c 45 00 00 64 1a 00 00  |....CIRCLE..d...|
00001050  45 ff ff ff 0a a0 e8 df  23 00 00 00 13 00 00 00  |E.......#.......|
00001060  00 00 00 00 43 4c 45 41  52 00 00 00 88 1a 00 00  |....CLEAR.......|
00001070  46 ff ff ff a5 0b 01 02  48 00 00 00 13 00 00 00  |F.......H.......|
00001080  00 00 00 00 43 4c 47 00  d0 1a 00 00 45 ff ff ff  |....CLG.....E...|
00001090  11 a0 e8 df 6d 00 00 00  13 00 00 00 00 00 00 00  |....m...........|
000010a0  43 4c 4f 53 45 00 00 00  40 1b 00 00 45 ff ff ff  |CLOSE...@...E...|
000010b0  14 a0 e8 df 43 00 00 00  13 00 00 00 00 00 00 00  |....C...........|
000010c0  43 4c 53 00 00 00 00 00  45 ff ff ff bb 93 00 f3  |CLS.....E.......|
000010d0  00 00 00 00 13 00 00 00  00 00 00 00 43 4f 4c 4f  |............COLO|
000010e0  52 3e 43 4f 4c 4f 55 52  00 00 00 00 84 1b 00 00  |R>COLOUR........|
000010f0  45 ff ff ff 17 a0 e8 df  f4 00 00 00 13 00 00 00  |E...............|
00001100  00 00 00 00 43 4f 4c 4f  55 52 00 00 78 1c 00 00  |....COLOUR..x...|
00001110  45 ff ff ff 22 a0 e8 df  39 00 00 00 13 00 00 00  |E..."...9.......|
00001120  00 00 00 00 43 4f 53 00  b4 1c 00 00 45 ff ff ff  |....COS.....E...|
00001130  23 a0 e8 df 5a 00 00 00  13 00 00 00 00 00 00 00  |#...Z...........|
00001140  43 4f 55 4e 54 00 00 00  10 1d 00 00 45 fd ff ff  |COUNT.......E...|
00001150  e2 9f e8 df b7 00 00 00  13 00 00 00 00 00 00 00  |................|
00001160  63 61 6c 6c 30 00 00 00  c8 1d 00 00 45 fd ff ff  |call0.......E...|
00001170  e3 9f e8 df e8 01 00 00  13 00 00 00 00 00 00 00  |................|
00001180  63 61 6c 6c 31 00 00 00  b0 1f 00 00 45 fd ff ff  |call1.......E...|
00001190  ec 9f e8 df eb 00 00 00  13 00 00 00 00 00 00 00  |................|
000011a0  63 61 6c 6c 32 00 00 00  9c 20 00 00 45 fd ff ff  |call2.... ..E...|
000011b0  ee 9f e8 df 10 04 00 00  13 00 00 00 00 00 00 00  |................|
000011c0  63 61 6c 6c 33 00 00 00  44 41 54 41 51 00 00 00  |call3...DATAQ...|
000011d0  41 42 53 0a 54 68 69 73  20 66 75 6e 63 74 69 6f  |ABS.This functio|
000011e0  6e 20 67 69 76 65 73 20  74 68 65 20 61 62 73 6f  |n gives the abso|
000011f0  6c 75 74 65 0a 76 61 6c  75 65 20 6f 66 20 61 20  |lute.value of a |
00001200  6e 75 6d 62 65 72 3a 0a  41 42 53 28 2d 33 2e 31  |number:.ABS(-3.1|
00001210  34 29 20 3d 20 33 2e 31  34 00 00 00 44 41 54 41  |4) = 3.14...DATA|
00001220  7c 00 00 00 41 43 53 0a  54 68 69 73 20 66 75 6e  ||...ACS.This fun|
00001230  63 74 69 6f 6e 20 67 69  76 65 73 20 74 68 65 20  |ction gives the |
00001240  61 72 63 20 0a 63 6f 73  69 6e 65 20 6f 66 20 61  |arc .cosine of a|
00001250  20 6e 75 6d 62 65 72 2e  0a 54 68 69 73 20 69 73  | number..This is|
00001260  20 74 68 65 20 69 6e 76  65 72 73 65 20 66 75 6e  | the inverse fun|
00001270  63 74 69 6f 6e 20 6f 66  20 3c 43 4f 53 3e 3a 0a  |ction of <COS>:.|
00001280  20 20 20 20 20 20 20 20  20 41 43 53 28 43 4f 53  |         ACS(COS|
00001290  28 78 29 29 20 3d 20 78  44 41 54 41 56 00 00 00  |(x)) = xDATAV...|
000012a0  41 44 56 41 4c 0a 54 68  69 73 20 66 75 6e 63 74  |ADVAL.This funct|
000012b0  69 6f 6e 20 67 69 76 65  73 20 74 68 65 20 0a 76  |ion gives the .v|
000012c0  61 6c 75 65 20 6f 66 20  74 68 65 20 73 70 65 63  |alue of the spec|
000012d0  69 66 69 65 64 0a 61 6e  61 6c 6f 67 75 65 20 70  |ified.analogue p|
000012e0  6f 72 74 20 6f 72 20 62  75 66 66 65 72 2e 00 00  |ort or buffer...|
000012f0  44 41 54 41 41 00 00 00  41 4e 44 0a 42 69 74 77  |DATAA...AND.Bitw|
00001300  69 73 65 20 6c 6f 67 69  63 61 6c 20 61 6e 64 20  |ise logical and |
00001310  62 65 74 77 65 65 6e 20  74 77 6f 20 69 6e 74 65  |between two inte|
00001320  67 65 72 73 2e 0a 50 72  69 6f 72 69 74 79 20 36  |gers..Priority 6|
00001330  2e 00 00 00 44 41 54 41  60 00 00 00 41 50 50 45  |....DATA`...APPE|
00001340  4e 44 20 66 69 6c 65 6e  61 6d 65 2e 0a 54 68 69  |ND filename..Thi|
00001350  73 20 63 6f 6d 6d 61 6e  64 20 61 70 70 65 6e 64  |s command append|
00001360  73 0a 61 20 66 69 6c 65  20 74 6f 20 74 68 65 20  |s.a file to the |
00001370  70 72 6f 67 72 61 6d 0a  61 6e 64 20 72 65 6e 75  |program.and renu|
00001380  6d 62 65 72 73 20 74 68  65 20 6e 65 77 20 6c 69  |mbers the new li|
00001390  6e 65 73 2e 44 41 54 41  73 00 00 00 41 53 43 0a  |nes.DATAs...ASC.|
000013a0  54 68 69 73 20 66 75 6e  63 74 69 6f 6e 20 67 69  |This function gi|
000013b0  76 65 73 20 74 68 65 0a  41 53 43 49 49 20 63 6f  |ves the.ASCII co|
000013c0  64 65 20 6f 66 20 74 68  65 20 66 69 72 73 74 0a  |de of the first.|
000013d0  63 68 61 72 61 63 74 65  72 20 6f 66 20 61 20 73  |character of a s|
000013e0  74 72 69 6e 67 3a 0a 20  20 41 53 43 28 22 41 22  |tring:.  ASC("A"|
000013f0  29 20 3d 20 36 35 0a 20  20 41 53 43 28 22 41 42  |) = 65.  ASC("AB|
00001400  22 29 20 3d 20 36 35 00  44 41 54 41 79 00 00 00  |") = 65.DATAy...|
00001410  41 53 4e 0a 54 68 69 73  20 66 75 6e 63 74 69 6f  |ASN.This functio|
00001420  6e 20 67 69 76 65 73 20  74 68 65 0a 61 72 63 20  |n gives the.arc |
00001430  73 69 6e 65 20 6f 66 20  61 20 6e 75 6d 62 65 72  |sine of a number|
00001440  2e 0a 54 68 69 73 20 69  73 20 74 68 65 20 69 6e  |..This is the in|
00001450  76 65 72 73 65 20 66 75  6e 63 74 69 6f 6e 20 6f  |verse function o|
00001460  66 20 3c 53 49 4e 3e 3a  0a 20 20 20 20 20 20 20  |f <SIN>:.       |
00001470  20 20 41 53 4e 28 53 49  4e 28 78 29 29 20 3d 20  |  ASN(SIN(x)) = |
00001480  78 00 00 00 44 41 54 41  59 00 00 00 41 54 4e 20  |x...DATAY...ATN |
00001490  20 20 20 20 20 20 0a 54  68 69 73 20 66 75 6e 63  |      .This func|
000014a0  74 69 6f 6e 20 67 69 76  65 73 20 74 68 65 20 0a  |tion gives the .|
000014b0  61 72 63 20 74 61 6e 67  65 6e 74 20 6f 66 20 61  |arc tangent of a|
000014c0  20 6e 75 6d 62 65 72 2e  0a 20 20 20 41 54 4e 28  | number..   ATN(|
000014d0  3c 54 41 4e 3e 28 78 29  29 20 3d 20 78 00 00 00  |<TAN>(x)) = x...|
000014e0  44 41 54 41 76 00 00 00  41 55 54 4f 0a 54 68 69  |DATAv...AUTO.Thi|
000014f0  73 20 63 6f 6d 6d 61 6e  64 20 61 75 74 6f 6d 61  |s command automa|
00001500  74 69 63 61 6c 6c 79 20  67 65 6e 65 72 61 74 65  |tically generate|
00001510  73 0a 6c 69 6e 65 20 6e  75 6d 62 65 72 73 20 66  |s.line numbers f|
00001520  6f 72 20 74 79 70 69 6e  67 20 69 6e 20 61 20 70  |or typing in a p|
00001530  72 6f 67 72 61 6d 2e 0a  41 55 54 4f 20 5b 62 61  |rogram..AUTO [ba|
00001540  73 65 20 6e 75 6d 62 65  72 5b 2c 73 74 65 70 20  |se number[,step |
00001550  73 69 7a 65 5d 5d 00 00  44 41 54 41 3e 00 00 00  |size]]..DATA>...|
00001560  42 45 41 54 0a 54 68 69  73 20 66 75 6e 63 74 69  |BEAT.This functi|
00001570  6f 6e 20 67 69 76 65 73  20 74 68 65 0a 63 75 72  |on gives the.cur|
00001580  72 65 6e 74 20 6d 69 63  72 6f 62 65 61 74 20 6e  |rent microbeat n|
00001590  75 6d 62 65 72 2e 00 00  44 41 54 41 73 00 00 00  |umber...DATAs...|
000015a0  42 45 41 54 53 0a 42 45  41 54 53 20 78 0a 20 20  |BEATS.BEATS x.  |
000015b0  53 65 74 20 74 68 65 20  6e 75 6d 62 65 72 20 6f  |Set the number o|
000015c0  66 20 6d 69 63 72 6f 62  65 61 74 73 20 69 6e 20  |f microbeats in |
000015d0  61 20 62 61 72 2e 0a 0a  78 20 3d 20 42 45 41 54  |a bar...x = BEAT|
000015e0  53 0a 20 20 47 69 76 65  73 20 74 68 65 20 63 75  |S.  Gives the cu|
000015f0  72 72 65 6e 74 20 6e 75  6d 62 65 72 20 6f 66 20  |rrent number of |
00001600  6d 69 63 72 6f 62 65 61  74 73 2e 00 44 41 54 41  |microbeats..DATA|
00001610  4f 00 00 00 42 47 45 54  23 63 68 61 6e 6e 65 6c  |O...BGET#channel|
00001620  0a 54 68 69 73 20 66 75  6e 63 74 69 6f 6e 20 67  |.This function g|
00001630  69 76 65 73 0a 74 68 65  20 6e 65 78 74 20 62 79  |ives.the next by|
00001640  74 65 20 66 72 6f 6d 0a  74 68 65 20 73 70 65 63  |te from.the spec|
00001650  69 66 69 65 64 20 66 69  6c 65 2e 00 44 41 54 41  |ified file..DATA|
00001660  81 00 00 00 42 50 55 54  0a 42 50 55 54 23 63 68  |....BPUT.BPUT#ch|
00001670  61 6e 6e 65 6c 2c 6e 75  6d 62 65 72 0a 20 20 70  |annel,number.  p|
00001680  75 74 20 62 79 74 65 20  74 6f 20 6f 70 65 6e 20  |ut byte to open |
00001690  66 69 6c 65 2e 0a 0a 42  50 55 54 23 63 68 61 6e  |file...BPUT#chan|
000016a0  6e 65 6c 2c 73 74 72 69  6e 67 5b 3b 5d 0a 20 20  |nel,string[;].  |
000016b0  70 75 74 20 73 74 72 69  6e 67 20 74 6f 20 6f 70  |put string to op|
000016c0  65 6e 20 66 69 6c 65 2c  0a 20 20 77 69 74 68 5b  |en file,.  with[|
000016d0  6f 75 74 5d 20 6e 65 77  6c 69 6e 65 2e 00 00 00  |out] newline....|
000016e0  44 41 54 41 05 02 00 00  43 41 4c 4c 20 61 64 64  |DATA....CALL add|
000016f0  72 65 73 73 20 7b 2c 70  61 72 61 6d 65 74 65 72  |ress {,parameter|
00001700  7d 0a 43 61 6c 6c 20 6d  61 63 68 69 6e 65 20 63  |}.Call machine c|
00001710  6f 64 65 20 72 6f 75 74  69 6e 65 20 61 74 20 74  |ode routine at t|
00001720  68 65 20 67 69 76 65 6e  20 61 64 64 72 65 73 73  |he given address|
00001730  2e 0a 42 65 66 6f 72 65  20 74 68 65 20 72 6f 75  |..Before the rou|
00001740  74 69 6e 65 20 69 73 20  65 6e 74 65 72 65 64 2c  |tine is entered,|
00001750  20 74 68 65 20 61 73 73  65 6d 62 6c 65 72 20 0a  | the assembler .|
00001760  72 65 67 69 73 74 65 72  73 20 61 72 65 20 73 65  |registers are se|
00001770  74 20 75 70 20 61 73 20  66 6f 6c 6c 6f 77 73 3a  |t up as follows:|
00001780  0a 20 20 52 30 20 20 3d  20 41 25 0a 20 20 52 31  |.  R0  = A%.  R1|
00001790  20 20 3d 20 42 25 0a 20  20 52 32 20 20 3d 20 43  |  = B%.  R2  = C|
000017a0  25 0a 20 20 52 33 20 20  3d 20 44 25 0a 20 20 52  |%.  R3  = D%.  R|
000017b0  34 20 20 3d 20 45 25 0a  20 20 52 35 20 20 3d 20  |4  = E%.  R5  = |
000017c0  46 25 0a 20 20 52 36 20  20 3d 20 47 25 0a 20 20  |F%.  R6  = G%.  |
000017d0  52 37 20 20 3d 20 48 25  0a 20 20 52 38 20 20 3d  |R7  = H%.  R8  =|
000017e0  20 50 6f 69 6e 74 65 72  20 74 6f 20 42 41 53 49  | Pointer to BASI|
000017f0  43 27 73 20 77 6f 72 6b  73 70 61 63 65 0a 20 20  |C's workspace.  |
00001800  52 39 20 20 3d 20 50 6f  69 6e 74 65 72 20 74 6f  |R9  = Pointer to|
00001810  20 3c 70 61 72 61 6d 65  74 65 72 20 6c 69 73 74  | <parameter list|
00001820  3d 3e 63 61 6c 6c 30 3e  0a 20 20 52 31 30 20 3d  |=>call0>.  R10 =|
00001830  20 4e 75 6d 62 65 72 20  6f 66 20 70 61 72 61 6d  | Number of param|
00001840  65 74 65 72 73 0a 20 20  52 31 31 20 3d 20 50 6f  |eters.  R11 = Po|
00001850  69 6e 74 65 72 20 74 6f  20 42 41 53 49 43 27 73  |inter to BASIC's|
00001860  20 73 74 72 69 6e 67 20  61 63 63 75 6d 75 6c 61  | string accumula|
00001870  74 6f 72 0a 20 20 52 31  32 20 3d 20 42 41 53 49  |tor.  R12 = BASI|
00001880  43 27 73 20 4c 49 4e 45  20 70 6f 69 6e 74 65 72  |C's LINE pointer|
00001890  0a 20 20 52 31 33 20 3d  20 42 41 53 49 43 27 73  |.  R13 = BASIC's|
000018a0  20 73 74 61 63 6b 0a 20  20 52 31 34 20 3d 20 4c  | stack.  R14 = L|
000018b0  69 6e 6b 20 62 61 63 6b  20 74 6f 20 42 41 53 49  |ink back to BASI|
000018c0  43 2c 20 61 6e 64 20 3c  65 6e 76 69 72 6f 6e 6d  |C, and <environm|
000018d0  65 6e 74 20 69 6e 66 6f  3d 3e 63 61 6c 6c 33 3e  |ent info=>call3>|
000018e0  20 70 74 72 2e 00 00 00  44 41 54 41 6b 00 00 00  | ptr....DATAk...|
000018f0  43 41 53 45 0a 43 41 53  45 20 65 78 70 72 20 4f  |CASE.CASE expr O|
00001900  46 0a 20 20 57 48 45 4e  20 65 78 70 72 7b 2c 65  |F.  WHEN expr{,e|
00001910  78 70 72 7d 5e 20 3a 20  6c 69 6e 65 73 0a 20 20  |xpr}^ : lines.  |
00001920  57 48 45 4e 20 65 78 70  72 7b 2c 65 78 70 72 7d  |WHEN expr{,expr}|
00001930  5e 20 3a 20 6c 69 6e 65  73 0a 4f 54 48 45 52 57  |^ : lines.OTHERW|
00001940  49 53 45 0a 20 20 6c 69  6e 65 73 0a 45 4e 44 43  |ISE.  lines.ENDC|
00001950  41 53 45 00 44 41 54 41  74 00 00 00 43 48 41 49  |ASE.DATAt...CHAI|
00001960  4e 20 6e 61 6d 65 0a 4c  6f 61 64 20 61 6e 64 20  |N name.Load and |
00001970  72 75 6e 20 61 20 6e 65  77 20 42 61 73 69 63 20  |run a new Basic |
00001980  70 72 6f 67 72 61 6d 2e  0a 49 66 20 75 73 65 64  |program..If used|
00001990  20 66 72 6f 6d 20 77 69  74 68 69 6e 20 61 20 42  | from within a B|
000019a0  61 73 69 63 20 70 72 6f  67 72 61 6d 2c 0a 74 68  |asic program,.th|
000019b0  69 73 20 70 72 6f 67 72  61 6d 20 69 73 20 64 69  |is program is di|
000019c0  73 63 61 72 64 65 64 2e  44 41 54 41 57 00 00 00  |scarded.DATAW...|
000019d0  43 48 52 24 20 78 0a 54  68 69 73 20 66 75 6e 63  |CHR$ x.This func|
000019e0  74 69 6f 6e 20 67 69 76  65 73 0a 74 68 65 20 6f  |tion gives.the o|
000019f0  6e 65 20 63 68 61 72 61  63 74 65 72 20 73 74 72  |ne character str|
00001a00  69 6e 67 0a 6f 66 20 74  68 65 20 73 75 70 70 6c  |ing.of the suppl|
00001a10  69 65 64 20 41 53 43 49  49 20 63 6f 64 65 2e 00  |ied ASCII code..|
00001a20  44 41 54 41 41 00 00 00  43 49 52 43 4c 45 0a 43  |DATAA...CIRCLE.C|
00001a30  49 52 43 4c 45 20 5b 46  49 4c 4c 5d 20 78 2c 79  |IRCLE [FILL] x,y|
00001a40  2c 72 0a 20 20 44 72 61  77 20 63 69 72 63 6c 65  |,r.  Draw circle|
00001a50  20 6f 75 74 6c 69 6e 65  20 5b 73 6f 6c 69 64 5d  | outline [solid]|
00001a60  2e 00 00 00 44 41 54 41  23 00 00 00 43 4c 45 41  |....DATA#...CLEA|
00001a70  52 0a 46 6f 72 67 65 74  20 61 6c 6c 20 76 61 72  |R.Forget all var|
00001a80  69 61 62 6c 65 73 2e 00  44 41 54 41 48 00 00 00  |iables..DATAH...|
00001a90  43 4c 47 0a 43 6c 65 61  72 20 67 72 61 70 68 69  |CLG.Clear graphi|
00001aa0  63 73 20 73 63 72 65 65  6e 20 74 6f 20 63 75 72  |cs screen to cur|
00001ab0  72 65 6e 74 20 67 72 61  70 68 69 63 61 6c 20 62  |rent graphical b|
00001ac0  61 63 6b 72 6f 75 6e 64  20 63 6f 6c 6f 75 72 2e  |ackround colour.|
00001ad0  44 41 54 41 6d 00 00 00  43 4c 4f 53 45 23 63 68  |DATAm...CLOSE#ch|
00001ae0  61 6e 6e 65 6c 0a 43 6c  6f 73 65 20 66 69 6c 65  |annel.Close file|
00001af0  20 70 72 65 76 69 6f 75  73 6c 79 20 6f 70 65 6e  | previously open|
00001b00  65 64 20 77 69 74 68 0a  4f 50 45 4e 3c 49 4e 3d  |ed with.OPEN<IN=|
00001b10  3e 4f 50 45 4e 49 4e 3e  2f 3c 55 50 3d 3e 4f 50  |>OPENIN>/<UP=>OP|
00001b20  45 4e 55 50 3e 2f 3c 4f  55 54 3d 3e 4f 50 45 4e  |ENUP>/<OUT=>OPEN|
00001b30  4f 55 54 3e 23 63 68 61  6e 6e 65 6c 2e 00 00 00  |OUT>#channel....|
00001b40  44 41 54 41 43 00 00 00  43 4c 53 20 20 20 20 20  |DATAC...CLS     |
00001b50  20 20 0a 43 6c 65 61 72  20 74 65 78 74 20 73 63  |  .Clear text sc|
00001b60  72 65 65 6e 20 74 6f 20  0a 63 75 72 72 65 6e 74  |reen to .current|
00001b70  20 62 61 63 6b 67 72 6f  75 6e 64 20 63 6f 6c 6f  | background colo|
00001b80  75 72 2e 00 44 41 54 41  f4 00 00 00 43 4f 4c 4f  |ur..DATA....COLO|
00001b90  55 52 0a 43 4f 4c 4f 55  52 20 61 20 5b 54 49 4e  |UR.COLOUR a [TIN|
00001ba0  54 20 74 5d 0a 20 20 53  65 74 20 74 65 78 74 20  |T t].  Set text |
00001bb0  66 6f 72 65 67 72 6f 75  6e 64 20 63 6f 6c 6f 75  |foreground colou|
00001bc0  72 0a 20 20 5b 61 6e 64  20 74 69 6e 74 5d 20 28  |r.  [and tint] (|
00001bd0  62 61 63 6b 67 72 6f 75  6e 64 20 31 32 38 2b 61  |background 128+a|
00001be0  29 2e 0a 0a 43 4f 4c 4f  55 52 20 61 2c 70 0a 20  |)...COLOUR a,p. |
00001bf0  20 53 65 74 20 70 61 6c  65 74 74 65 20 65 6e 74  | Set palette ent|
00001c00  72 79 20 66 6f 72 20 6c  6f 67 69 63 61 6c 0a 20  |ry for logical. |
00001c10  20 63 6f 6c 6f 75 72 20  61 20 74 6f 20 70 68 79  | colour a to phy|
00001c20  73 69 63 61 6c 20 63 6f  6c 6f 75 72 20 70 2e 0a  |sical colour p..|
00001c30  0a 43 4f 4c 4f 55 52 20  61 2c 72 2c 67 2c 62 0a  |.COLOUR a,r,g,b.|
00001c40  20 20 53 65 74 20 70 61  6c 65 74 74 65 20 65 6e  |  Set palette en|
00001c50  74 72 79 20 66 6f 72 20  61 20 0a 20 20 74 6f 20  |try for a .  to |
00001c60  72 2c 20 67 2c 20 62 20  70 68 79 73 69 63 61 6c  |r, g, b physical|
00001c70  20 63 6f 6c 6f 75 72 2e  44 41 54 41 39 00 00 00  | colour.DATA9...|
00001c80  43 4f 53 20 78 0a 54 68  69 73 20 66 75 6e 63 74  |COS x.This funct|
00001c90  69 6f 6e 20 67 69 76 65  73 20 74 68 65 0a 63 6f  |ion gives the.co|
00001ca0  73 69 6e 65 20 6f 66 20  61 20 6e 75 6d 62 65 72  |sine of a number|
00001cb0  2e 00 00 00 44 41 54 41  5a 00 00 00 43 4f 55 4e  |....DATAZ...COUN|
00001cc0  54 0a 54 68 69 73 20 66  75 6e 63 74 69 6f 6e 20  |T.This function |
00001cd0  67 69 76 65 73 20 74 68  65 20 6e 75 6d 62 65 72  |gives the number|
00001ce0  0a 6f 66 20 63 68 61 72  61 63 74 65 72 73 20 50  |.of characters P|
00001cf0  52 49 4e 54 65 64 20 73  69 6e 63 65 0a 74 68 65  |RINTed since.the|
00001d00  20 6c 61 73 74 20 6e 65  77 6c 69 6e 65 2e 00 00  | last newline...|
00001d10  44 41 54 41 b7 00 00 00  50 61 72 61 6d 65 74 65  |DATA....Paramete|
00001d20  72 20 6c 69 73 74 3a 0a  20 20 30 20 20 41 64 64  |r list:.  0  Add|
00001d30  72 65 73 73 20 6f 66 20  6c 61 73 74 20 70 61 72  |ress of last par|
00001d40  61 6d 65 74 65 72 0a 20  20 34 20 20 3c 54 79 70  |ameter.  4  <Typ|
00001d50  65 3d 3e 63 61 6c 6c 31  3e 20 6f 66 20 6c 61 73  |e=>call1> of las|
00001d60  74 20 70 61 72 61 6d 65  74 65 72 0a 20 20 38 20  |t parameter.  8 |
00001d70  20 41 64 64 72 65 73 73  20 6f 66 20 6c 61 73 74  | Address of last|
00001d80  20 62 75 74 20 6f 6e 65  20 70 61 72 61 6d 65 74  | but one paramet|
00001d90  65 72 0a 20 31 32 20 20  3c 54 79 70 65 3d 3e 63  |er. 12  <Type=>c|
00001da0  61 6c 6c 31 3e 20 6f 66  20 6c 61 73 74 20 62 75  |all1> of last bu|
00001db0  74 20 6f 6e 65 20 70 61  72 61 6d 65 74 65 72 0a  |t one parameter.|
00001dc0  20 20 2e 0a 20 20 2e 00  44 41 54 41 e8 01 00 00  |  ..  ..DATA....|
00001dd0  50 61 72 61 6d 65 74 65  72 2d 74 79 70 65 3a 0a  |Parameter-type:.|
00001de0  54 79 70 65 20 45 78 61  6d 70 6c 65 20 20 20 20  |Type Example    |
00001df0  41 64 64 72 65 73 73 20  70 6f 69 6e 74 73 20 74  |Address points t|
00001e00  6f 0a 2d 2d 2d 2d 20 2d  2d 2d 2d 2d 2d 2d 2d 2d  |o.---- ---------|
00001e10  2d 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |- --------------|
00001e20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001e30  2d 2d 2d 2d 2d 2d 2d 0a  26 30 30 30 20 3f 78 20  |-------.&000 ?x |
00001e40  20 20 20 20 20 20 20 20  42 79 74 65 2d 61 6c 69  |        Byte-ali|
00001e50  67 6e 65 64 20 62 79 74  65 0a 26 30 30 34 20 21  |gned byte.&004 !|
00001e60  78 2c 78 25 2c 78 28 6e  29 20 42 79 74 65 2d 61  |x,x%,x(n) Byte-a|
00001e70  6c 69 67 6e 65 64 20 77  6f 72 64 0a 26 30 30 35  |ligned word.&005|
00001e80  20 7c 78 2c 78 2c 78 28  6e 29 20 20 42 79 74 65  | |x,x,x(n)  Byte|
00001e90  2d 61 6c 69 67 6e 65 64  20 35 2d 62 79 74 65 20  |-aligned 5-byte |
00001ea0  72 65 61 6c 0a 26 30 38  30 20 78 24 2c 24 28 6e  |real.&080 x$,$(n|
00001eb0  29 20 20 20 20 42 79 74  65 2d 61 6c 69 67 6e 65  |)    Byte-aligne|
00001ec0  64 20 61 64 64 72 65 73  73 2d 77 6f 72 64 2c 6c  |d address-word,l|
00001ed0  65 6e 67 74 68 2d 62 79  74 65 0a 26 30 38 31 20  |ength-byte.&081 |
00001ee0  24 78 20 20 20 20 20 20  20 20 20 53 74 72 69 6e  |$x         Strin|
00001ef0  67 2c 20 74 65 72 6d 69  6e 61 74 65 64 20 62 79  |g, terminated by|
00001f00  20 31 33 0a 26 31 30 34  20 78 25 28 29 20 20 20  | 13.&104 x%()   |
00001f10  20 20 20 20 57 6f 72 64  2d 61 6c 69 67 6e 65 64  |    Word-aligned|
00001f20  20 70 74 72 20 74 6f 20  69 6e 74 65 67 65 72 20  | ptr to integer |
00001f30  3c 61 72 72 61 79 3d 3e  63 61 6c 6c 32 3e 0a 26  |<array=>call2>.&|
00001f40  31 30 35 20 78 28 29 20  20 20 20 20 20 20 20 57  |105 x()        W|
00001f50  6f 72 64 2d 61 6c 69 67  6e 65 64 20 70 74 72 20  |ord-aligned ptr |
00001f60  74 6f 20 72 65 61 6c 20  3c 61 72 72 61 79 3d 3e  |to real <array=>|
00001f70  63 61 6c 6c 32 3e 0a 26  31 38 30 20 78 24 28 29  |call2>.&180 x$()|
00001f80  20 20 20 20 20 20 20 57  6f 72 64 2d 61 6c 69 67  |       Word-alig|
00001f90  6e 65 64 20 70 74 72 20  74 6f 20 73 74 72 69 6e  |ned ptr to strin|
00001fa0  67 20 3c 61 72 72 61 79  3d 3e 63 61 6c 6c 32 3e  |g <array=>call2>|
00001fb0  44 41 54 41 eb 00 00 00  41 72 72 61 79 3a 0a 20  |DATA....Array:. |
00001fc0  20 30 20 20 20 53 75 62  73 63 72 69 70 74 20 6c  | 0   Subscript l|
00001fd0  69 6d 69 74 20 31 73 74  20 64 69 6d 65 6e 73 69  |imit 1st dimensi|
00001fe0  6f 6e 2e 0a 20 20 34 20  20 20 53 75 62 73 63 72  |on..  4   Subscr|
00001ff0  69 70 74 20 6c 69 6d 69  74 20 32 6e 64 20 64 69  |ipt limit 2nd di|
00002000  6d 65 6e 73 69 6f 6e 2e  0a 20 20 2e 0a 20 20 2e  |mension..  ..  .|
00002010  0a 20 20 6e 20 20 20 30  0a 20 20 6e 2b 34 20 54  |.  n   0.  n+4 T|
00002020  6f 74 61 6c 20 6e 72 20  6f 66 20 65 6e 74 72 69  |otal nr of entri|
00002030  65 73 2e 0a 20 20 6e 2b  38 20 41 72 72 61 79 20  |es..  n+8 Array |
00002040  65 6c 65 6d 65 6e 74 73  2e 2e 0a 0a 0a 44 49 4d  |elements.....DIM|
00002050  20 78 28 49 2d 31 2c 4a  2d 31 2c 4b 2d 31 29 20  | x(I-1,J-1,K-1) |
00002060  3a 0a 0a 41 64 64 72 65  73 73 20 6f 66 20 78 28  |:..Address of x(|
00002070  69 2c 6a 2c 6b 29 20 3a  0a 20 20 28 28 69 2a 4a  |i,j,k) :.  ((i*J|
00002080  2b 6a 29 2a 4b 2b 6b 29  2a 65 6c 65 6d 65 6e 74  |+j)*K+k)*element|
00002090  5f 73 69 7a 65 20 2b 20  6e 2b 38 00 44 41 54 41  |_size + n+8.DATA|
000020a0  10 04 00 00 45 6e 76 69  72 6f 6e 6d 65 6e 74 20  |....Environment |
000020b0  69 6e 66 6f 3a 0a 20 20  30 20 20 42 20 43 41 4c  |info:.  0  B CAL|
000020c0  4c 32 52 45 41 4c 20 20  20 52 65 74 75 72 6e 20  |L2REAL   Return |
000020d0  61 64 64 72 65 73 73 2e  0a 20 20 34 20 20 53 54  |address..  4  ST|
000020e0  52 41 43 43 20 20 20 20  20 20 20 20 53 74 72 69  |RACC        Stri|
000020f0  6e 67 20 61 63 63 75 6d  75 6c 61 74 6f 72 0a 20  |ng accumulator. |
00002100  20 38 20 20 50 41 47 45  20 20 20 20 20 20 20 20  | 8  PAGE        |
00002110  20 20 43 75 72 72 65 6e  74 20 50 41 47 45 20 76  |  Current PAGE v|
00002120  61 6c 75 65 0a 20 31 32  20 20 54 4f 50 20 20 20  |alue. 12  TOP   |
00002130  20 20 20 20 20 20 20 20  43 75 72 72 65 6e 74 20  |        Current |
00002140  54 4f 50 20 76 61 6c 75  65 0a 20 31 36 20 20 4c  |TOP value. 16  L|
00002150  4f 4d 45 4d 20 20 20 20  20 20 20 20 20 43 75 72  |OMEM         Cur|
00002160  72 65 6e 74 20 76 61 72  69 61 62 6c 65 20 73 74  |rent variable st|
00002170  61 72 74 0a 20 32 30 20  20 48 49 4d 45 4d 20 20  |art. 20  HIMEM  |
00002180  20 20 20 20 20 20 20 43  75 72 72 65 6e 74 20 73  |       Current s|
00002190  74 61 63 6b 20 65 6e 64  0a 20 32 34 20 20 4d 45  |tack end. 24  ME|
000021a0  4d 4c 49 4d 49 54 20 20  20 20 20 20 4c 69 6d 69  |MLIMIT      Limi|
000021b0  74 20 6f 66 20 61 76 61  69 6c 61 62 6c 65 20 6d  |t of available m|
000021c0  65 6d 6f 72 79 0a 20 32  38 20 20 46 53 41 20 20  |emory. 28  FSA  |
000021d0  20 20 20 20 20 20 20 20  20 46 72 65 65 20 73 70  |         Free sp|
000021e0  61 63 65 20 73 74 61 72  74 0a 20 33 32 20 20 54  |ace start. 32  T|
000021f0  41 4c 4c 59 20 20 20 20  20 20 20 20 20 56 61 6c  |ALLY         Val|
00002200  75 65 20 6f 66 20 43 4f  55 4e 54 0a 20 33 36 20  |ue of COUNT. 36 |
00002210  20 54 49 4d 45 4f 46 20  20 20 20 20 20 20 20 6e  | TIMEOF        n|
00002220  6f 74 20 75 73 65 64 0a  20 34 30 20 20 45 53 43  |ot used. 40  ESC|
00002230  57 4f 52 44 20 20 20 20  20 20 20 45 78 63 65 70  |WORD       Excep|
00002240  74 69 6f 6e 20 66 6c 61  67 20 77 6f 72 64 0a 20  |tion flag word. |
00002250  34 34 20 20 57 49 44 54  48 4c 4f 43 20 20 20 20  |44  WIDTHLOC    |
00002260  20 20 56 61 6c 75 65 20  6f 66 20 57 49 44 54 48  |  Value of WIDTH|
00002270  0a 20 34 38 20 20 42 20  56 41 52 49 4e 44 20 20  |. 48  B VARIND  |
00002280  20 20 20 20 47 65 74 20  76 61 6c 75 65 20 6f 66  |    Get value of|
00002290  20 4c 2d 76 61 6c 75 65  0a 20 35 32 20 20 42 20  | L-value. 52  B |
000022a0  53 54 4f 52 45 41 20 20  20 20 20 20 53 74 6f 72  |STOREA      Stor|
000022b0  65 20 76 61 6c 75 65 20  69 6e 74 6f 20 4c 2d 76  |e value into L-v|
000022c0  61 6c 75 65 0a 20 35 36  20 20 42 20 53 54 53 54  |alue. 56  B STST|
000022d0  4f 52 45 20 20 20 20 20  53 74 6f 72 65 20 73 74  |ORE     Store st|
000022e0  72 69 6e 67 20 69 6e 74  6f 20 74 79 70 65 20 31  |ring into type 1|
000022f0  32 38 20 73 74 72 69 6e  67 0a 20 36 30 20 20 42  |28 string. 60  B|
00002300  20 4c 56 42 4c 4e 4b 20  20 20 20 20 20 43 6f 6e  | LVBLNK      Con|
00002310  76 65 72 74 20 73 74 72  69 6e 67 20 6e 61 6d 65  |vert string name|
00002320  20 69 6e 74 6f 20 4c 2d  76 61 6c 75 65 20 61 64  | into L-value ad|
00002330  64 72 20 61 6e 64 20 74  79 70 65 0a 20 36 34 20  |dr and type. 64 |
00002340  20 42 20 43 52 45 41 54  45 20 20 20 20 20 20 43  | B CREATE      C|
00002350  72 65 61 74 65 20 6e 65  77 20 76 61 72 69 61 62  |reate new variab|
00002360  6c 65 0a 20 36 38 20 20  42 20 45 58 50 52 20 20  |le. 68  B EXPR  |
00002370  20 20 20 20 20 20 55 73  65 20 65 78 70 72 20 61  |      Use expr a|
00002380  6e 61 6c 79 73 65 72 20  6f 6e 20 73 74 72 69 6e  |nalyser on strin|
00002390  67 0a 20 37 32 20 20 42  20 4d 41 54 43 48 20 20  |g. 72  B MATCH  |
000023a0  20 20 20 20 20 4c 65 78  69 63 61 6c 20 61 6e 61  |     Lexical ana|
000023b0  6c 79 73 65 20 73 6f 75  72 63 65 20 73 74 72 69  |lyse source stri|
000023c0  6e 67 20 74 6f 20 64 65  73 74 20 73 74 72 69 6e  |ng to dest strin|
000023d0  67 0a 20 37 36 20 20 42  20 54 4f 4b 45 4e 41 44  |g. 76  B TOKENAD|
000023e0  44 52 20 20 20 50 74 72  20 74 6f 20 73 74 72 69  |DR   Ptr to stri|
000023f0  6e 67 20 66 6f 72 20 67  69 76 65 6e 20 74 6f 6b  |ng for given tok|
00002400  65 6e 0a 20 38 30 20 20  30 0a 20 38 34 20 20 39  |en. 80  0. 84  9|
00002410  20 20 20 20 20 20 20 20  20 20 20 20 20 4e 72 20  |             Nr |
00002420  6f 66 20 61 64 64 69 74  69 6f 6e 61 6c 20 72 6f  |of additional ro|
00002430  75 74 69 6e 65 73 20 70  72 65 73 65 6e 74 2e 0a  |utines present..|
00002440  20 38 38 20 20 42 20 46  53 54 41 0a 20 39 32 20  | 88  B FSTA. 92 |
00002450  20 42 20 46 4c 44 41 0a  20 39 36 20 20 42 20 46  | B FLDA. 96  B F|
00002460  41 44 44 0a 31 30 30 20  20 42 20 46 53 55 42 0a  |ADD.100  B FSUB.|
00002470  31 30 34 20 20 42 20 46  4d 55 4c 0a 31 30 38 20  |104  B FMUL.108 |
00002480  20 42 20 46 44 49 56 0a  31 31 32 20 20 42 20 46  | B FDIV.112  B F|
00002490  4c 4f 41 54 0a 31 31 36  20 20 42 20 46 49 58 0a  |LOAT.116  B FIX.|
000024a0  31 32 30 20 20 42 20 46  53 51 52 54 44 49 52 24  |120  B FSQRTDIR$|
000024b0  60 03 00 00 60 03 00 00  0c 28 00 00 45 ff ff ff  |`...`....(..E...|
000024c0  25 a0 e8 df a8 00 00 00  13 00 00 00 00 00 00 00  |%...............|
000024d0  44 41 54 41 00 00 00 00  b4 28 00 00 45 ff ff ff  |DATA.....(..E...|
000024e0  26 a0 e8 df 8b 00 00 00  13 00 00 00 00 00 00 00  |&...............|
000024f0  44 45 46 00 40 29 00 00  45 ff ff ff 2b a0 e8 df  |DEF.@)..E...+...|
00002500  6a 00 00 00 13 00 00 00  00 00 00 00 44 45 47 00  |j...........DEG.|
00002510  ac 29 00 00 45 ff ff ff  2f a0 e8 df 56 00 00 00  |.)..E.../...V...|
00002520  13 00 00 00 00 00 00 00  44 45 4c 45 54 45 00 00  |........DELETE..|
00002530  04 2a 00 00 45 ff ff ff  32 a0 e8 df ed 00 00 00  |.*..E...2.......|
00002540  13 00 00 00 00 00 00 00  44 49 4d 00 f4 2a 00 00  |........DIM..*..|
00002550  45 ff ff ff 33 a0 e8 df  43 00 00 00 13 00 00 00  |E...3...C.......|
00002560  00 00 00 00 44 49 56 00  38 2b 00 00 45 ff ff ff  |....DIV.8+..E...|
00002570  35 a0 e8 df 46 00 00 00  13 00 00 00 00 00 00 00  |5...F...........|
00002580  44 52 41 57 00 00 00 00  80 2b 00 00 45 ff ff ff  |DRAW.....+..E...|
00002590  3e a0 e8 df 53 00 00 00  13 00 00 00 00 00 00 00  |>...S...........|
000025a0  45 44 49 54 00 00 00 00  d4 2b 00 00 45 ff ff ff  |EDIT.....+..E...|
000025b0  3f a0 e8 df 52 00 00 00  13 00 00 00 00 00 00 00  |?...R...........|
000025c0  45 4c 4c 49 50 53 45 00  28 2c 00 00 45 ff ff ff  |ELLIPSE.(,..E...|
000025d0  41 a0 e8 df 30 00 00 00  13 00 00 00 00 00 00 00  |A...0...........|
000025e0  45 4c 53 45 00 00 00 00  58 2c 00 00 45 ff ff ff  |ELSE....X,..E...|
000025f0  43 a0 e8 df ad 00 00 00  13 00 00 00 00 00 00 00  |C...............|
00002600  45 4e 44 00 08 2d 00 00  45 ff ff ff 46 a0 e8 df  |END..-..E...F...|
00002610  2b 00 00 00 13 00 00 00  00 00 00 00 45 4e 44 43  |+...........ENDC|
00002620  41 53 45 00 34 2d 00 00  45 ff ff ff 4a a0 e8 df  |ASE.4-..E...J...|
00002630  24 00 00 00 13 00 00 00  00 00 00 00 45 4e 44 49  |$...........ENDI|
00002640  46 00 00 00 58 2d 00 00  45 ff ff ff 4d a0 e8 df  |F...X-..E...M...|
00002650  2f 00 00 00 13 00 00 00  00 00 00 00 45 4e 44 50  |/...........ENDP|
00002660  52 4f 43 00 88 2d 00 00  45 ff ff ff 50 a0 e8 df  |ROC..-..E...P...|
00002670  2a 00 00 00 13 00 00 00  00 00 00 00 45 4e 44 57  |*...........ENDW|
00002680  48 49 4c 45 00 00 00 00  b4 2d 00 00 45 ff ff ff  |HILE.....-..E...|
00002690  5a a0 e8 df 4b 00 00 00  13 00 00 00 00 00 00 00  |Z...K...........|
000026a0  45 4e 56 45 4c 4f 50 45  00 00 00 00 00 2e 00 00  |ENVELOPE........|
000026b0  45 ff ff ff 5c a0 e8 df  4f 00 00 00 13 00 00 00  |E...\...O.......|
000026c0  00 00 00 00 45 4f 46 00  50 2e 00 00 45 ff ff ff  |....EOF.P...E...|
000026d0  5d a0 e8 df 4e 00 00 00  13 00 00 00 00 00 00 00  |]...N...........|
000026e0  45 4f 52 00 a0 2e 00 00  45 ff ff ff 5f a0 e8 df  |EOR.....E..._...|
000026f0  49 00 00 00 13 00 00 00  00 00 00 00 45 52 4c 00  |I...........ERL.|
00002700  ec 2e 00 00 45 ff ff ff  61 a0 e8 df 43 00 00 00  |....E...a...C...|
00002710  13 00 00 00 00 00 00 00  45 52 52 00 30 2f 00 00  |........ERR.0/..|
00002720  45 ff ff ff 62 a0 e8 df  7f 00 00 00 13 00 00 00  |E...b...........|
00002730  00 00 00 00 45 52 52 4f  52 00 00 00 b0 2f 00 00  |....ERROR..../..|
00002740  45 ff ff ff 64 a0 e8 df  3d 00 00 00 13 00 00 00  |E...d...=.......|
00002750  00 00 00 00 45 56 41 4c  00 00 00 00 f0 2f 00 00  |....EVAL...../..|
00002760  45 ff ff ff 66 a0 e8 df  69 00 00 00 13 00 00 00  |E...f...i.......|
00002770  00 00 00 00 45 58 50 00  5c 30 00 00 45 ff ff ff  |....EXP.\0..E...|
00002780  6b a0 e8 df 8f 00 00 00  13 00 00 00 00 00 00 00  |k...............|
00002790  45 58 54 00 ec 30 00 00  45 ff ff ff 72 a0 e8 df  |EXT..0..E...r...|
000027a0  48 00 00 00 13 00 00 00  00 00 00 00 46 41 4c 53  |H...........FALS|
000027b0  45 00 00 00 34 31 00 00  45 ff ff ff 75 a0 e8 df  |E...41..E...u...|
000027c0  4b 00 00 00 13 00 00 00  00 00 00 00 46 49 4c 4c  |K...........FILL|
000027d0  00 00 00 00 80 31 00 00  45 ff ff ff 76 a0 e8 df  |.....1..E...v...|
000027e0  4e 00 00 00 13 00 00 00  00 00 00 00 46 4e 00 00  |N...........FN..|
000027f0  d0 31 00 00 45 ff ff ff  78 a0 e8 df 65 00 00 00  |.1..E...x...e...|
00002800  13 00 00 00 00 00 00 00  46 4f 52 00 44 41 54 41  |........FOR.DATA|
00002810  a8 00 00 00 44 41 54 41  20 20 20 20 20 20 0a 49  |....DATA      .I|
00002820  6e 74 72 6f 64 75 63 65  73 20 6c 69 6e 65 20 6f  |ntroduces line o|
00002830  66 20 44 41 54 41 20 74  6f 20 62 65 20 3c 52 45  |f DATA to be <RE|
00002840  41 44 3e 2e 0a 54 68 65  20 6c 69 73 74 20 6f 66  |AD>..The list of|
00002850  20 69 74 65 6d 73 20 69  73 20 73 65 70 61 72 61  | items is separa|
00002860  74 65 64 20 62 79 20 63  6f 6d 6d 61 73 2e 0a 0a  |ted by commas...|
00002870  3c 4c 4f 43 41 4c 3e 20  44 41 54 41 2c 20 3c 52  |<LOCAL> DATA, <R|
00002880  45 53 54 4f 52 45 3e 20  44 41 54 41 3a 20 73 61  |ESTORE> DATA: sa|
00002890  76 65 20 61 6e 64 20 72  65 73 74 6f 72 65 20 63  |ve and restore c|
000028a0  75 72 72 65 6e 74 20 44  41 54 41 20 70 6f 69 6e  |urrent DATA poin|
000028b0  74 65 72 2e 44 41 54 41  8b 00 00 00 44 45 46 0a  |ter.DATA....DEF.|
000028c0  44 45 46 20 3c 46 4e 3e  7c 3c 50 52 4f 43 3e 6e  |DEF <FN>|<PROC>n|
000028d0  61 6d 65 20 5b 28 70 61  72 61 6d 65 74 65 72 20  |ame [(parameter |
000028e0  6c 69 73 74 29 5d 2e 0a  44 65 66 69 6e 65 20 66  |list)]..Define f|
000028f0  75 6e 63 74 69 6f 6e 20  6f 72 20 70 72 6f 63 65  |unction or proce|
00002900  64 75 72 65 0a 45 6e 64  20 66 75 6e 63 74 69 6f  |dure.End functio|
00002910  6e 20 77 69 74 68 20 3d  65 78 70 72 65 73 73 69  |n with =expressi|
00002920  6f 6e 2e 0a 45 6e 64 20  70 72 6f 63 65 64 75 72  |on..End procedur|
00002930  65 20 77 69 74 68 20 45  4e 44 50 52 4f 43 2e 00  |e with ENDPROC..|
00002940  44 41 54 41 6a 00 00 00  44 45 47 20 20 20 20 20  |DATAj...DEG     |
00002950  20 20 0a 54 68 69 73 20  66 75 6e 63 74 69 6f 6e  |  .This function|
00002960  20 67 69 76 65 73 20 74  68 65 20 76 61 6c 75 65  | gives the value|
00002970  20 69 6e 20 0a 64 65 67  72 65 65 73 20 6f 66 20  | in .degrees of |
00002980  61 20 6e 75 6d 62 65 72  20 69 6e 20 72 61 64 69  |a number in radi|
00002990  61 6e 73 2e 0a 20 20 20  20 20 20 20 44 45 47 20  |ans..       DEG |
000029a0  33 2e 31 34 20 3d 20 31  38 30 00 00 44 41 54 41  |3.14 = 180..DATA|
000029b0  56 00 00 00 44 45 4c 45  54 45 20 73 74 61 72 74  |V...DELETE start|
000029c0  2c 65 6e 64 0a 54 68 69  73 20 63 6f 6d 6d 61 6e  |,end.This comman|
000029d0  64 20 64 65 6c 65 74 65  73 20 61 6c 6c 20 6c 69  |d deletes all li|
000029e0  6e 65 73 0a 62 65 74 77  65 65 6e 20 74 68 65 20  |nes.between the |
000029f0  73 70 65 63 69 66 69 65  64 20 6e 75 6d 62 65 72  |specified number|
00002a00  73 2e 00 00 44 41 54 41  ed 00 00 00 44 49 4d 0a  |s...DATA....DIM.|
00002a10  44 49 4d 20 66 72 65 64  28 31 30 30 2c 31 30 30  |DIM fred(100,100|
00002a20  29 0a 20 20 43 72 65 61  74 65 20 61 6e 64 20 69  |).  Create and i|
00002a30  6e 69 74 69 61 6c 69 73  65 20 61 6e 20 61 72 72  |nitialise an arr|
00002a40  61 79 2e 0a 0a 44 49 4d  20 66 72 65 64 25 20 31  |ay...DIM fred% 1|
00002a50  30 30 0a 20 20 41 6c 6c  6f 63 61 74 65 20 73 70  |00.  Allocate sp|
00002a60  61 63 65 20 66 6f 72 20  61 20 62 79 74 65 20 61  |ace for a byte a|
00002a70  72 72 61 79 20 65 74 63  2e 0a 0a 44 49 4d 28 66  |rray etc...DIM(f|
00002a80  72 65 64 28 29 29 0a 20  20 46 75 6e 63 74 69 6f  |red()).  Functio|
00002a90  6e 20 67 69 76 65 73 20  74 68 65 20 6e 75 6d 62  |n gives the numb|
00002aa0  65 72 20 6f 66 20 64 69  6d 65 6e 73 69 6f 6e 73  |er of dimensions|
00002ab0  2e 0a 0a 44 49 4d 28 66  72 65 64 28 29 2c 6e 29  |...DIM(fred(),n)|
00002ac0  0a 20 20 46 75 6e 63 74  69 6f 6e 20 67 69 76 65  |.  Function give|
00002ad0  73 20 74 68 65 20 73 69  7a 65 20 6f 66 20 74 68  |s the size of th|
00002ae0  65 20 6e 27 74 68 20 64  69 6d 65 6e 73 69 6f 6e  |e n'th dimension|
00002af0  2e 00 00 00 44 41 54 41  43 00 00 00 61 20 44 49  |....DATAC...a DI|
00002b00  56 20 62 0a 49 6e 74 65  67 65 72 20 64 69 76 69  |V b.Integer divi|
00002b10  73 69 6f 6e 2c 20 72 6f  75 6e 64 65 64 20 74 6f  |sion, rounded to|
00002b20  77 61 72 64 73 20 7a 65  72 6f 2e 0a 50 72 69 6f  |wards zero..Prio|
00002b30  72 69 74 79 20 33 2e 00  44 41 54 41 46 00 00 00  |rity 3..DATAF...|
00002b40  44 52 41 57 20 20 20 20  20 20 0a 44 52 41 57 20  |DRAW      .DRAW |
00002b50  5b 42 59 5d 20 78 2c 79  0a 20 20 47 72 61 70 68  |[BY] x,y.  Graph|
00002b60  69 63 73 20 64 72 61 77  20 74 6f 20 5b 72 65 6c  |ics draw to [rel|
00002b70  61 74 69 76 65 20 62 79  5d 20 78 2c 79 2e 00 00  |ative by] x,y...|
00002b80  44 41 54 41 53 00 00 00  45 44 49 54 20 20 20 20  |DATAS...EDIT    |
00002b90  20 20 0a 54 68 69 73 20  63 6f 6d 6d 61 6e 64 20  |  .This command |
00002ba0  63 61 6c 6c 73 0a 74 68  65 20 41 52 4d 20 42 41  |calls.the ARM BA|
00002bb0  53 49 43 20 45 64 69 74  6f 72 2e 0a 28 52 75 62  |SIC Editor..(Rub|
00002bc0  62 69 73 68 2e 2e 20 44  6f 6e 27 74 20 75 73 65  |bish.. Don't use|
00002bd0  2e 2e 29 00 44 41 54 41  52 00 00 00 45 4c 4c 49  |..).DATAR...ELLI|
00002be0  50 53 45 0a 45 4c 4c 49  50 53 45 20 5b 46 49 4c  |PSE.ELLIPSE [FIL|
00002bf0  4c 5d 20 78 2c 79 2c 6d  61 6a 2c 6d 69 6e 5b 2c  |L] x,y,maj,min[,|
00002c00  61 6e 67 6c 65 5d 0a 20  20 44 72 61 77 20 65 6c  |angle].  Draw el|
00002c10  6c 69 70 73 65 20 6f 75  74 6c 69 6e 65 20 5b 73  |lipse outline [s|
00002c20  6f 6c 69 64 5d 2e 00 00  44 41 54 41 30 00 00 00  |olid]...DATA0...|
00002c30  45 4c 53 45 0a 50 61 72  74 20 6f 66 20 74 68 65  |ELSE.Part of the|
00002c40  20 3c 49 46 3e 0a 6f 72  20 3c 4f 4e 3e 20 73 74  | <IF>.or <ON> st|
00002c50  72 75 63 74 75 72 65 2e  44 41 54 41 ad 00 00 00  |ructure.DATA....|
00002c60  45 4e 44 0a 45 4e 44 0a  20 20 53 74 61 74 65 6d  |END.END.  Statem|
00002c70  65 6e 74 20 6d 61 72 6b  69 6e 67 20 65 6e 64 20  |ent marking end |
00002c80  6f 66 20 70 72 6f 67 72  61 6d 20 65 78 65 63 75  |of program execu|
00002c90  74 69 6f 6e 2e 0a 0a 45  4e 44 20 3d 20 65 78 70  |tion...END = exp|
00002ca0  72 65 73 73 69 6f 6e 0a  20 20 41 6c 74 65 72 20  |ression.  Alter |
00002cb0  61 6d 6f 75 6e 74 20 6f  66 20 6d 65 6d 6f 72 79  |amount of memory|
00002cc0  20 61 6c 6c 6f 63 61 74  65 64 20 74 6f 20 42 41  | allocated to BA|
00002cd0  53 49 43 2e 0a 0a 78 20  3d 20 45 4e 44 0a 20 20  |SIC...x = END.  |
00002ce0  47 69 76 65 73 20 74 68  65 20 65 6e 64 20 61 64  |Gives the end ad|
00002cf0  64 72 65 73 73 20 6f 66  20 6d 65 6d 6f 72 79 20  |dress of memory |
00002d00  75 73 65 64 2e 00 00 00  44 41 54 41 2b 00 00 00  |used....DATA+...|
00002d10  45 4e 44 43 41 53 45 20  20 20 0a 45 6e 64 20 6f  |ENDCASE   .End o|
00002d20  66 20 3c 43 41 53 45 3e  20 73 74 72 75 63 74 75  |f <CASE> structu|
00002d30  72 65 2e 00 44 41 54 41  24 00 00 00 45 4e 44 49  |re..DATA$...ENDI|
00002d40  46 0a 45 6e 64 20 6f 66  20 3c 49 46 3e 20 73 74  |F.End of <IF> st|
00002d50  72 75 63 74 75 72 65 2e  44 41 54 41 2f 00 00 00  |ructure.DATA/...|
00002d60  45 4e 44 50 52 4f 43 20  20 20 0a 45 6e 64 20 6f  |ENDPROC   .End o|
00002d70  66 20 70 72 6f 63 65 64  75 72 65 20 64 65 66 69  |f procedure defi|
00002d80  6e 69 74 69 6f 6e 2e 00  44 41 54 41 2a 00 00 00  |nition..DATA*...|
00002d90  45 4e 44 57 48 49 4c 45  0a 45 6e 64 20 6f 66 20  |ENDWHILE.End of |
00002da0  3c 57 48 49 4c 45 3e 20  73 74 72 75 63 74 75 72  |<WHILE> structur|
00002db0  65 2e 00 00 44 41 54 41  4b 00 00 00 45 4e 56 45  |e...DATAK...ENVE|
00002dc0  4c 4f 50 45 0a 45 4e 56  45 4c 4f 50 45 20 74 61  |LOPE.ENVELOPE ta|
00002dd0  6b 65 73 20 31 34 20 6e  75 6d 65 72 69 63 20 0a  |kes 14 numeric .|
00002de0  70 61 72 61 6d 65 74 65  72 73 20 73 65 70 61 72  |parameters separ|
00002df0  61 74 65 64 20 62 79 20  63 6f 6d 6d 61 73 2e 00  |ated by commas..|
00002e00  44 41 54 41 4f 00 00 00  45 4f 46 23 63 68 61 6e  |DATAO...EOF#chan|
00002e10  6e 65 6c 0a 54 68 69 73  20 66 75 6e 63 74 69 6f  |nel.This functio|
00002e20  6e 20 67 69 76 65 73 20  54 52 55 45 0a 69 66 20  |n gives TRUE.if |
00002e30  61 74 20 65 6e 64 20 6f  66 20 6f 70 65 6e 20 66  |at end of open f|
00002e40  69 6c 65 3b 0a 65 6c 73  65 20 46 41 4c 53 45 00  |ile;.else FALSE.|
00002e50  44 41 54 41 4e 00 00 00  61 20 45 4f 52 20 62 0a  |DATAN...a EOR b.|
00002e60  42 69 74 77 69 73 65 20  6c 6f 67 69 63 61 6c 20  |Bitwise logical |
00002e70  65 78 63 6c 75 73 69 76  65 2d 6f 72 0a 62 65 74  |exclusive-or.bet|
00002e80  77 65 65 6e 20 74 77 6f  20 69 6e 74 65 67 65 72  |ween two integer|
00002e90  73 2e 0a 50 72 69 6f 72  69 74 79 20 37 2e 00 00  |s..Priority 7...|
00002ea0  44 41 54 41 49 00 00 00  45 52 4c 20 20 20 20 20  |DATAI...ERL     |
00002eb0  20 20 0a 54 68 69 73 20  66 75 6e 63 74 69 6f 6e  |  .This function|
00002ec0  20 67 69 76 65 73 20 74  68 65 20 6c 69 6e 65 0a  | gives the line.|
00002ed0  6e 75 6d 62 65 72 20 6f  66 20 74 68 65 20 6c 61  |number of the la|
00002ee0  73 74 20 65 72 72 6f 72  2e 00 00 00 44 41 54 41  |st error....DATA|
00002ef0  43 00 00 00 45 52 52 0a  54 68 69 73 20 66 75 6e  |C...ERR.This fun|
00002f00  63 74 69 6f 6e 20 67 69  76 65 73 20 74 68 65 20  |ction gives the |
00002f10  65 72 72 6f 72 0a 6e 75  6d 62 65 72 20 6f 66 20  |error.number of |
00002f20  74 68 65 20 6c 61 73 74  20 65 72 72 6f 72 2e 00  |the last error..|
00002f30  44 41 54 41 7f 00 00 00  45 52 52 4f 52 0a 50 61  |DATA....ERROR.Pa|
00002f40  72 74 20 6f 66 20 4f 4e  20 45 52 52 4f 52 0a 20  |rt of ON ERROR. |
00002f50  20 20 20 20 20 20 20 4c  4f 43 41 4c 20 45 52 52  |       LOCAL ERR|
00002f60  4f 52 0a 20 20 20 20 61  6e 64 20 52 45 53 54 4f  |OR.    and RESTO|
00002f70  52 45 20 45 52 52 4f 52  20 73 74 61 74 65 6d 65  |RE ERROR stateme|
00002f80  6e 74 73 2e 0a 43 61 75  73 65 20 61 6e 20 65 72  |nts..Cause an er|
00002f90  72 6f 72 3a 20 45 52 52  4f 52 20 5b 45 58 54 5d  |ror: ERROR [EXT]|
00002fa0  20 6e 75 6d 62 65 72 2c  73 74 72 69 6e 67 2e 00  | number,string..|
00002fb0  44 41 54 41 3d 00 00 00  45 56 41 4c 0a 54 68 69  |DATA=...EVAL.Thi|
00002fc0  73 20 66 75 6e 63 74 69  6f 6e 20 65 76 61 6c 75  |s function evalu|
00002fd0  61 74 65 73 0a 61 20 73  74 72 69 6e 67 3a 20 45  |ates.a string: E|
00002fe0  56 41 4c 28 22 32 2a 58  2b 31 22 29 2e 00 00 00  |VAL("2*X+1")....|
00002ff0  44 41 54 41 69 00 00 00  45 58 50 20 78 0a 54 68  |DATAi...EXP x.Th|
00003000  69 73 20 66 75 6e 63 74  69 6f 6e 20 67 69 76 65  |is function give|
00003010  73 20 74 68 65 20 0a 65  78 70 6f 6e 65 6e 74 69  |s the .exponenti|
00003020  61 6c 20 6f 66 20 61 20  6e 75 6d 62 65 72 2e 0a  |al of a number..|
00003030  20 20 20 20 3c 4c 4e 3e  28 45 58 50 28 78 29 29  |    <LN>(EXP(x))|
00003040  20 3d 20 78 0a 20 20 20  20 45 58 50 28 3c 4c 4e  | = x.    EXP(<LN|
00003050  3e 28 78 29 29 20 3d 20  78 00 00 00 44 41 54 41  |>(x)) = x...DATA|
00003060  8f 00 00 00 45 58 54 23  63 68 61 6e 6e 65 6c 0a  |....EXT#channel.|
00003070  78 20 3d 20 45 58 54 23  63 68 61 6e 6e 65 6c 0a  |x = EXT#channel.|
00003080  20 20 47 69 76 65 73 20  74 68 65 20 6c 65 6e 67  |  Gives the leng|
00003090  74 68 20 28 65 78 74 65  6e 74 29 0a 20 20 6f 66  |th (extent).  of|
000030a0  20 61 6e 20 6f 70 65 6e  20 66 69 6c 65 2e 0a 0a  | an open file...|
000030b0  45 58 54 23 63 68 61 6e  6e 65 6c 20 3d 20 65 78  |EXT#channel = ex|
000030c0  70 72 65 73 73 69 6f 6e  0a 20 20 53 65 74 73 20  |pression.  Sets |
000030d0  74 68 65 20 6c 65 6e 67  74 68 20 6f 66 20 61 6e  |the length of an|
000030e0  20 6f 70 65 6e 20 66 69  6c 65 2e 00 44 41 54 41  | open file..DATA|
000030f0  48 00 00 00 46 41 4c 53  45 20 20 20 20 20 0a 54  |H...FALSE     .T|
00003100  68 69 73 20 66 75 6e 63  74 69 6f 6e 20 67 69 76  |his function giv|
00003110  65 73 20 74 68 65 20 6c  6f 67 69 63 61 6c 0a 76  |es the logical.v|
00003120  61 6c 75 65 20 27 66 61  6c 73 65 27 20 69 2e 65  |alue 'false' i.e|
00003130  2e 20 30 2e 44 41 54 41  4b 00 00 00 46 49 4c 4c  |. 0.DATAK...FILL|
00003140  20 20 20 20 20 20 0a 46  49 4c 4c 20 5b 42 59 5d  |      .FILL [BY]|
00003150  20 78 2c 79 0a 20 20 46  6c 6f 6f 64 20 66 69 6c  | x,y.  Flood fil|
00003160  6c 20 66 72 6f 6d 20 5b  72 65 6c 61 74 69 76 65  |l from [relative|
00003170  20 74 6f 5d 20 70 6f 69  6e 74 20 78 2c 79 2e 00  | to] point x,y..|
00003180  44 41 54 41 4e 00 00 00  46 4e 0a 43 61 6c 6c 20  |DATAN...FN.Call |
00003190  61 20 66 75 6e 63 74 69  6f 6e 20 77 69 74 68 20  |a function with |
000031a0  46 4e 66 72 65 64 28 78  2c 79 29 0a 44 65 66 69  |FNfred(x,y).Defi|
000031b0  6e 65 20 6f 6e 65 20 77  69 74 68 20 3c 44 45 46  |ne one with <DEF|
000031c0  3e 20 46 4e 66 72 65 64  28 61 2c 62 29 2e 00 00  |> FNfred(a,b)...|
000031d0  44 41 54 41 65 00 00 00  46 4f 52 0a 46 4f 52 20  |DATAe...FOR.FOR |
000031e0  76 61 72 69 61 62 6c 65  20 3d 20 73 74 61 72 74  |variable = start|
000031f0  20 76 61 6c 75 65 20 54  4f 20 6c 69 6d 69 74 20  | value TO limit |
00003200  76 61 6c 75 65 20 5b 53  54 45 50 20 73 74 65 70  |value [STEP step|
00003210  20 73 69 7a 65 5d 0a 20  20 73 74 61 74 65 6d 65  | size].  stateme|
00003220  6e 74 73 2e 2e 0a 4e 45  58 54 20 5b 76 61 72 69  |nts...NEXT [vari|
00003230  61 62 6c 65 5d 00 00 00  44 49 52 24 d8 03 00 00  |able]...DIR$....|
00003240  d8 03 00 00 10 36 00 00  45 ff ff ff 7a a0 e8 df  |.....6..E...z...|
00003250  ab 00 00 00 13 00 00 00  00 00 00 00 47 43 4f 4c  |............GCOL|
00003260  00 00 00 00 bc 36 00 00  45 ff ff ff 7d a0 e8 df  |.....6..E...}...|
00003270  c9 00 00 00 13 00 00 00  00 00 00 00 47 45 54 00  |............GET.|
00003280  88 37 00 00 45 ff ff ff  80 a0 e8 df 87 00 00 00  |.7..E...........|
00003290  13 00 00 00 00 00 00 00  47 4f 53 55 42 00 00 00  |........GOSUB...|
000032a0  10 38 00 00 46 ff ff ff  3e b4 2b 0b 8b 00 00 00  |.8..F...>.+.....|
000032b0  13 00 00 00 00 00 00 00  47 4f 54 4f 00 00 00 00  |........GOTO....|
000032c0  9c 38 00 00 45 ff ff ff  87 a0 e8 df 48 00 00 00  |.8..E.......H...|
000032d0  13 00 00 00 00 00 00 00  48 45 4c 50 00 00 00 00  |........HELP....|
000032e0  e4 38 00 00 45 ff ff ff  91 a0 e8 df 5a 00 00 00  |.8..E.......Z...|
000032f0  13 00 00 00 00 00 00 00  48 49 4d 45 4d 00 00 00  |........HIMEM...|
00003300  40 39 00 00 45 ff ff ff  93 a0 e8 df 98 00 00 00  |@9..E...........|
00003310  13 00 00 00 00 00 00 00  49 46 00 00 d8 39 00 00  |........IF...9..|
00003320  45 ff ff ff 95 a0 e8 df  e6 00 00 00 13 00 00 00  |E...............|
00003330  00 00 00 00 49 4e 4b 45  59 00 00 00 00 00 00 00  |....INKEY.......|
00003340  45 ff ff ff 64 72 c9 ed  00 00 00 00 13 00 00 00  |E...dr..........|
00003350  00 00 00 00 49 4e 4b 45  59 21 78 32 34 3e 49 4e  |....INKEY!x24>IN|
00003360  4b 45 59 00 c0 3a 00 00  45 ff ff ff 97 a0 e8 df  |KEY..:..E.......|
00003370  d0 00 00 00 13 00 00 00  00 00 00 00 49 4e 50 55  |............INPU|
00003380  54 00 00 00 90 3b 00 00  45 ff ff ff 99 a0 e8 df  |T....;..E.......|
00003390  4f 00 00 00 13 00 00 00  00 00 00 00 49 4e 53 54  |O...........INST|
000033a0  41 4c 4c 00 e0 3b 00 00  45 ff ff ff 9c a0 e8 df  |ALL..;..E.......|
000033b0  8a 00 00 00 13 00 00 00  00 00 00 00 49 4e 53 54  |............INST|
000033c0  52 00 00 00 6c 3c 00 00  45 ff ff ff 9e a0 e8 df  |R...l<..E.......|
000033d0  8b 00 00 00 13 00 00 00  00 00 00 00 49 4e 54 00  |............INT.|
000033e0  f8 3c 00 00 45 ff ff ff  a0 a0 e8 df 00 01 00 00  |.<..E...........|
000033f0  13 00 00 00 00 00 00 00  4c 45 46 54 21 78 32 34  |........LEFT!x24|
00003400  00 00 00 00 f8 3d 00 00  45 ff ff ff a8 a0 e8 df  |.....=..E.......|
00003410  55 00 00 00 13 00 00 00  00 00 00 00 4c 45 4e 00  |U...........LEN.|
00003420  50 3e 00 00 45 ff ff ff  ab a0 e8 df 48 00 00 00  |P>..E.......H...|
00003430  13 00 00 00 00 00 00 00  4c 45 54 00 98 3e 00 00  |........LET..>..|
00003440  45 ff ff ff ac a0 e8 df  53 00 00 00 13 00 00 00  |E.......S.......|
00003450  00 00 00 00 4c 49 42 52  41 52 59 00 ec 3e 00 00  |....LIBRARY..>..|
00003460  45 ff ff ff ae a0 e8 df  9d 00 00 00 13 00 00 00  |E...............|
00003470  00 00 00 00 4c 49 4e 45  00 00 00 00 8c 3f 00 00  |....LINE.....?..|
00003480  45 ff ff ff b0 a0 e8 df  58 01 00 00 13 00 00 00  |E.......X.......|
00003490  00 00 00 00 4c 49 53 54  00 00 00 00 e4 40 00 00  |....LIST.....@..|
000034a0  45 ff ff ff b2 a0 e8 df  b4 00 00 00 13 00 00 00  |E...............|
000034b0  00 00 00 00 4c 49 53 54  4f 00 00 00 98 41 00 00  |....LISTO....A..|
000034c0  45 ff ff ff b5 a0 e8 df  6a 00 00 00 13 00 00 00  |E.......j.......|
000034d0  00 00 00 00 4c 4e 00 00  04 42 00 00 45 ff ff ff  |....LN...B..E...|
000034e0  b7 a0 e8 df 45 00 00 00  13 00 00 00 00 00 00 00  |....E...........|
000034f0  4c 4f 41 44 00 00 00 00  4c 42 00 00 45 ff ff ff  |LOAD....LB..E...|
00003500  bc a0 e8 df ff 00 00 00  13 00 00 00 00 00 00 00  |................|
00003510  4c 4f 43 41 4c 00 00 00  4c 43 00 00 45 ff ff ff  |LOCAL...LC..E...|
00003520  bf a0 e8 df 67 00 00 00  13 00 00 00 00 00 00 00  |....g...........|
00003530  4c 4f 47 00 b4 43 00 00  45 ff ff ff c0 a0 e8 df  |LOG..C..E.......|
00003540  5b 00 00 00 13 00 00 00  00 00 00 00 4c 4f 4d 45  |[...........LOME|
00003550  4d 00 00 00 10 44 00 00  45 ff ff ff c4 a0 e8 df  |M....D..E.......|
00003560  35 00 00 00 13 00 00 00  00 00 00 00 4c 56 41 52  |5...........LVAR|
00003570  00 00 00 00 48 44 00 00  45 ff ff ff c6 a0 e8 df  |....HD..E.......|
00003580  20 01 00 00 13 00 00 00  00 00 00 00 4d 49 44 21  | ...........MID!|
00003590  78 32 34 00 68 45 00 00  45 ff ff ff c9 a0 e8 df  |x24.hE..E.......|
000035a0  d6 00 00 00 13 00 00 00  00 00 00 00 4d 4f 44 00  |............MOD.|
000035b0  40 46 00 00 45 ff ff ff  cc a0 e8 df 52 00 00 00  |@F..E.......R...|
000035c0  13 00 00 00 00 00 00 00  4d 4f 44 45 00 00 00 00  |........MODE....|
000035d0  94 46 00 00 45 ff ff ff  d1 a0 e8 df d3 01 00 00  |.F..E...........|
000035e0  13 00 00 00 00 00 00 00  4d 4f 55 53 45 00 00 00  |........MOUSE...|
000035f0  68 48 00 00 45 ff ff ff  d5 a0 e8 df 40 00 00 00  |hH..E.......@...|
00003600  13 00 00 00 00 00 00 00  4d 4f 56 45 00 00 00 00  |........MOVE....|
00003610  44 41 54 41 ab 00 00 00  47 43 4f 4c 0a 47 43 4f  |DATA....GCOL.GCO|
00003620  4c 20 61 20 5b 54 49 4e  54 20 74 5d 0a 20 20 53  |L a [TINT t].  S|
00003630  65 74 20 67 72 61 70 68  69 63 73 20 66 6f 72 65  |et graphics fore|
00003640  67 72 6f 75 6e 64 20 63  6f 6c 6f 75 72 20 0a 20  |ground colour . |
00003650  20 5b 61 6e 64 20 74 69  6e 74 5d 20 28 62 61 63  | [and tint] (bac|
00003660  6b 67 72 6f 75 6e 64 20  31 32 38 2b 61 29 2e 0a  |kground 128+a)..|
00003670  0a 47 43 4f 4c 20 61 63  74 69 6f 6e 2c 61 20 5b  |.GCOL action,a [|
00003680  54 49 4e 54 20 74 5d 0a  20 20 53 65 74 20 67 72  |TINT t].  Set gr|
00003690  61 70 68 69 63 73 20 66  6f 72 65 7c 62 61 63 6b  |aphics fore|back|
000036a0  67 72 6f 75 6e 64 0a 20  20 63 6f 6c 6f 75 72 20  |ground.  colour |
000036b0  61 6e 64 20 61 63 74 69  6f 6e 2e 00 44 41 54 41  |and action..DATA|
000036c0  c9 00 00 00 47 45 54 0a  78 20 3d 20 47 45 54 0a  |....GET.x = GET.|
000036d0  20 20 47 69 76 65 73 20  74 68 65 20 41 53 43 49  |  Gives the ASCI|
000036e0  49 20 76 61 6c 75 65 20  6f 66 20 74 68 65 0a 20  |I value of the. |
000036f0  20 6e 65 78 74 20 69 6e  70 75 74 20 63 68 61 72  | next input char|
00003700  61 63 74 65 72 2e 0a 0a  78 24 20 3d 20 47 45 54  |acter...x$ = GET|
00003710  24 0a 20 20 47 69 76 65  73 20 74 68 65 20 6e 65  |$.  Gives the ne|
00003720  78 74 20 69 6e 70 75 74  20 63 68 61 72 61 63 74  |xt input charact|
00003730  65 72 0a 20 20 61 73 20  61 20 6f 6e 65 20 63 68  |er.  as a one ch|
00003740  61 72 61 63 74 65 72 20  73 74 72 69 6e 67 2e 0a  |aracter string..|
00003750  0a 78 24 20 3d 20 47 45  54 24 23 63 68 61 6e 6e  |.x$ = GET$#chann|
00003760  65 6c 0a 20 20 47 69 76  65 73 20 6e 65 78 74 20  |el.  Gives next |
00003770  73 74 72 69 6e 67 20 66  72 6f 6d 20 74 68 65 20  |string from the |
00003780  66 69 6c 65 2e 00 00 00  44 41 54 41 87 00 00 00  |file....DATA....|
00003790  47 4f 53 55 42 20 6c 69  6e 65 20 6e 72 0a 43 61  |GOSUB line nr.Ca|
000037a0  6c 6c 20 73 75 62 72 6f  75 74 69 6e 65 20 61 74  |ll subroutine at|
000037b0  20 67 69 76 65 6e 20 6c  69 6e 65 20 6e 75 6d 62  | given line numb|
000037c0  65 72 2e 0a 44 6f 6e 27  74 20 75 73 65 20 74 68  |er..Don't use th|
000037d0  69 73 21 20 50 6c 65 61  73 65 21 20 55 73 65 20  |is! Please! Use |
000037e0  6f 66 20 6c 69 6e 65 20  6e 75 6d 62 65 72 73 0a  |of line numbers.|
000037f0  73 68 6f 75 6c 64 20 62  65 20 61 76 6f 69 64 65  |should be avoide|
00003800  64 20 61 74 20 61 6c 6c  20 63 6f 73 74 73 2e 00  |d at all costs..|
00003810  44 41 54 41 8b 00 00 00  47 4f 54 4f 20 6c 69 6e  |DATA....GOTO lin|
00003820  65 20 6e 72 20 20 20 20  20 0a 43 6f 6e 74 69 6e  |e nr     .Contin|
00003830  75 65 20 65 78 65 63 75  74 69 6f 6e 20 61 74 20  |ue execution at |
00003840  73 70 65 63 69 66 69 65  64 20 6c 69 6e 65 2e 20  |specified line. |
00003850  44 6f 6e 27 74 20 75 73  65 20 74 68 69 73 21 20  |Don't use this! |
00003860  50 6c 65 61 73 65 21 20  55 73 65 20 6f 66 20 6c  |Please! Use of l|
00003870  69 6e 65 20 6e 75 6d 62  65 72 73 20 73 68 6f 75  |ine numbers shou|
00003880  6c 64 20 62 65 20 61 76  6f 69 64 65 64 20 61 74  |ld be avoided at|
00003890  20 61 6c 6c 20 63 6f 73  74 73 21 00 44 41 54 41  | all costs!.DATA|
000038a0  48 00 00 00 48 45 4c 50  20 20 20 20 20 20 0a 54  |H...HELP      .T|
000038b0  68 69 73 20 63 6f 6d 6d  61 6e 64 20 67 69 76 65  |his command give|
000038c0  73 20 68 65 6c 70 20 6f  6e 20 0a 75 73 61 67 65  |s help on .usage|
000038d0  20 6f 66 20 74 68 65 20  69 6e 74 65 72 70 72 65  | of the interpre|
000038e0  74 65 72 2e 44 41 54 41  5a 00 00 00 48 49 4d 45  |ter.DATAZ...HIME|
000038f0  4d 0a 54 68 69 73 20 70  73 75 65 64 6f 2d 76 61  |M.This psuedo-va|
00003900  72 69 61 62 6c 65 20 72  65 61 64 73 20 6f 72 20  |riable reads or |
00003910  73 65 74 73 20 74 68 65  0a 61 64 64 72 65 73 73  |sets the.address|
00003920  20 6f 66 20 74 68 65 20  65 6e 64 20 6f 66 20 42  | of the end of B|
00003930  41 53 49 43 27 73 20 6d  65 6d 6f 72 79 2e 00 00  |ASIC's memory...|
00003940  44 41 54 41 98 00 00 00  49 46 20 20 20 20 20 20  |DATA....IF      |
00003950  20 20 0a 53 69 6e 67 6c  65 20 6c 69 6e 65 20 69  |  .Single line i|
00003960  66 3a 0a 20 20 49 46 20  65 78 70 72 65 73 73 69  |f:.  IF expressi|
00003970  6f 6e 20 5b 54 48 45 4e  5d 20 73 74 61 74 65 6d  |on [THEN] statem|
00003980  65 6e 74 73 20 5b 45 4c  53 45 20 73 74 61 74 65  |ents [ELSE state|
00003990  6d 65 6e 74 73 5d 2e 0a  0a 42 6c 6f 63 6b 20 69  |ments]...Block i|
000039a0  66 3a 0a 20 20 49 46 20  65 78 70 72 65 73 73 69  |f:.  IF expressi|
000039b0  6f 6e 20 54 48 45 4e 0a  20 20 20 20 6c 69 6e 65  |on THEN.    line|
000039c0  73 0a 20 20 5b 45 4c 53  45 20 6c 69 6e 65 73 5d  |s.  [ELSE lines]|
000039d0  0a 20 20 45 4e 44 49 46  44 41 54 41 e6 00 00 00  |.  ENDIFDATA....|
000039e0  49 4e 4b 45 59 0a 0a 49  4e 4b 45 59 24 20 6e 72  |INKEY..INKEY$ nr|
000039f0  20 3d 20 43 48 52 24 28  49 4e 4b 45 59 20 6e 72  | = CHR$(INKEY nr|
00003a00  29 0a 0a 49 4e 4b 45 59  20 30 20 74 6f 20 33 32  |)..INKEY 0 to 32|
00003a10  37 36 37 0a 20 20 46 75  6e 63 74 69 6f 6e 20 77  |767.  Function w|
00003a20  61 69 74 73 20 6e 72 20  63 65 6e 74 69 73 65 63  |aits nr centisec|
00003a30  6f 6e 64 73 20 74 6f 20  72 65 61 64 20 63 68 61  |onds to read cha|
00003a40  72 61 63 74 65 72 2e 0a  0a 49 4e 4b 45 59 20 2d  |racter...INKEY -|
00003a50  32 35 35 20 74 6f 20 2d  31 0a 20 20 46 75 6e 63  |255 to -1.  Func|
00003a60  74 69 6f 6e 20 63 68 65  63 6b 73 20 73 70 65 63  |tion checks spec|
00003a70  69 66 69 63 20 6b 65 79  20 66 6f 72 20 54 52 55  |ific key for TRU|
00003a80  45 7c 46 41 4c 53 45 2e  0a 0a 49 4e 4b 45 59 20  |E|FALSE...INKEY |
00003a90  2d 32 35 36 0a 20 20 46  75 6e 63 74 69 6f 6e 20  |-256.  Function |
00003aa0  67 69 76 65 73 20 6f 70  65 72 61 74 69 6e 67 20  |gives operating |
00003ab0  73 79 73 74 65 6d 20 6e  75 6d 62 65 72 2e 00 00  |system number...|
00003ac0  44 41 54 41 d0 00 00 00  49 4e 50 55 54 0a 49 4e  |DATA....INPUT.IN|
00003ad0  50 55 54 20 5b 4c 49 4e  45 5d 5b 27 7c 3c 54 41  |PUT [LINE]['|<TA|
00003ae0  42 3e 7c 3c 53 50 43 3e  5d 5b 22 64 69 73 70 6c  |B>|<SPC>]["displ|
00003af0  61 79 20 73 74 72 69 6e  67 22 5d 5b 2c 7c 3b 5d  |ay string"][,|;]|
00003b00  76 61 72 69 61 62 6c 65  0a 20 20 49 6e 70 75 74  |variable.  Input|
00003b10  20 66 72 6f 6d 20 75 73  65 72 2e 0a 20 20 49 4e  | from user..  IN|
00003b20  50 55 54 20 4c 49 4e 45  20 2e 2e 2e 20 63 61 6e  |PUT LINE ... can|
00003b30  20 61 6c 73 6f 20 62 65  20 77 72 69 74 74 65 6e  | also be written|
00003b40  20 61 73 20 4c 49 4e 45  20 49 4e 50 55 54 20 2e  | as LINE INPUT .|
00003b50  2e 2e 0a 0a 49 4e 50 55  54 23 63 68 61 6e 6e 65  |....INPUT#channe|
00003b60  6c 2c 6c 69 73 74 20 6f  66 20 76 61 72 69 61 62  |l,list of variab|
00003b70  6c 65 73 0a 20 20 49 6e  70 75 74 20 64 61 74 61  |les.  Input data|
00003b80  20 66 72 6f 6d 20 6f 70  65 6e 20 66 69 6c 65 2e  | from open file.|
00003b90  44 41 54 41 4f 00 00 00  49 4e 53 54 41 4c 4c 20  |DATAO...INSTALL |
00003ba0  66 69 6c 65 6e 61 6d 65  0a 50 65 72 6d 61 6e 65  |filename.Permane|
00003bb0  6e 74 6c 79 20 69 6e 73  74 61 6c 6c 20 61 20 66  |ntly install a f|
00003bc0  75 6e 63 74 69 6f 6e 20  0a 61 6e 64 20 70 72 6f  |unction .and pro|
00003bd0  63 65 64 75 72 65 20 6c  69 62 72 61 72 79 2e 00  |cedure library..|
00003be0  44 41 54 41 8a 00 00 00  49 4e 53 54 52 0a 49 4e  |DATA....INSTR.IN|
00003bf0  53 54 52 28 73 74 72 69  6e 67 2c 73 75 62 20 73  |STR(string,sub s|
00003c00  74 72 69 6e 67 20 5b 2c  73 74 61 72 74 20 70 6f  |tring [,start po|
00003c10  73 5d 29 0a 20 20 46 69  6e 64 20 73 75 62 20 73  |s]).  Find sub s|
00003c20  74 72 69 6e 67 20 70 6f  73 69 74 69 6f 6e 2e 0a  |tring position..|
00003c30  20 20 0a 20 20 20 20 20  20 20 49 4e 53 54 52 28  |  .       INSTR(|
00003c40  22 41 42 43 22 2c 22 43  22 29 20 3d 20 33 0a 20  |"ABC","C") = 3. |
00003c50  20 20 20 20 20 20 49 4e  53 54 52 28 22 41 42 43  |      INSTR("ABC|
00003c60  22 2c 22 58 22 29 20 3d  20 30 00 00 44 41 54 41  |","X") = 0..DATA|
00003c70  8b 00 00 00 49 4e 54 20  6e 72 20 0a 54 68 69 73  |....INT nr .This|
00003c80  20 66 75 6e 63 74 69 6f  6e 20 67 69 76 65 73 20  | function gives |
00003c90  74 68 65 20 6e 65 61 72  65 73 74 0a 69 6e 74 65  |the nearest.inte|
00003ca0  67 65 72 20 6c 65 73 73  20 74 68 61 6e 20 6f 72  |ger less than or|
00003cb0  20 65 71 75 61 6c 20 74  6f 20 74 68 65 20 6e 75  | equal to the nu|
00003cc0  6d 62 65 72 3a 0a 20 20  20 20 20 20 20 20 20 20  |mber:.          |
00003cd0  49 4e 54 20 20 33 2e 31  34 20 3d 20 20 33 0a 20  |INT  3.14 =  3. |
00003ce0  20 20 20 20 20 20 20 20  20 49 4e 54 20 2d 33 2e  |         INT -3.|
00003cf0  31 34 20 3d 20 2d 34 00  44 41 54 41 00 01 00 00  |14 = -4.DATA....|
00003d00  4c 45 46 54 24 0a 4c 45  46 54 24 28 73 74 72 69  |LEFT$.LEFT$(stri|
00003d10  6e 67 2c 6e 72 29 0a 20  20 47 69 76 65 73 20 6c  |ng,nr).  Gives l|
00003d20  65 66 74 6d 6f 73 74 20  6e 72 20 6f 66 20 63 68  |eftmost nr of ch|
00003d30  61 72 61 63 74 65 72 73  20 66 72 6f 6d 20 73 74  |aracters from st|
00003d40  72 69 6e 67 2e 0a 20 20  0a 4c 45 46 54 24 28 73  |ring..  .LEFT$(s|
00003d50  74 72 69 6e 67 29 0a 20  20 47 69 76 65 73 20 6c  |tring).  Gives l|
00003d60  65 66 74 6d 6f 73 74 20  4c 45 4e 2d 31 20 63 68  |eftmost LEN-1 ch|
00003d70  61 72 61 63 74 65 72 73  2e 0a 20 20 0a 4c 45 46  |aracters..  .LEF|
00003d80  54 24 28 73 74 72 69 6e  67 20 76 61 72 69 61 62  |T$(string variab|
00003d90  6c 65 20 5b 2c 63 6f 75  6e 74 5d 29 20 3d 20 73  |le [,count]) = s|
00003da0  74 72 69 6e 67 32 0a 20  20 4f 76 65 72 77 72 69  |tring2.  Overwri|
00003db0  74 65 20 61 6c 6c 20 5b  6f 72 20 63 6f 75 6e 74  |te all [or count|
00003dc0  5d 20 63 68 61 72 61 63  74 65 72 73 20 66 72 6f  |] characters fro|
00003dd0  6d 20 73 74 61 72 74 2c  0a 20 20 77 69 74 68 20  |m start,.  with |
00003de0  63 68 61 72 61 63 74 65  72 73 20 66 72 6f 6d 20  |characters from |
00003df0  73 74 72 69 6e 67 32 2e  44 41 54 41 55 00 00 00  |string2.DATAU...|
00003e00  4c 45 4e 0a 54 68 69 73  20 66 75 6e 63 74 69 6f  |LEN.This functio|
00003e10  6e 20 67 69 76 65 73 20  74 68 65 0a 6c 65 6e 67  |n gives the.leng|
00003e20  74 68 20 6f 66 20 61 20  73 74 72 69 6e 67 2e 0a  |th of a string..|
00003e30  20 20 20 20 4c 45 4e 22  41 22 20 3d 20 31 0a 20  |    LEN"A" = 1. |
00003e40  20 20 20 4c 45 4e 22 22  20 20 3d 20 30 00 00 00  |   LEN""  = 0...|
00003e50  44 41 54 41 48 00 00 00  4c 45 54 0a 4f 70 74 69  |DATAH...LET.Opti|
00003e60  6f 6e 61 6c 20 70 61 72  74 20 6f 66 20 61 73 73  |onal part of ass|
00003e70  69 67 6e 6d 65 6e 74 2e  0a 20 20 20 20 20 20 4c  |ignment..      L|
00003e80  45 54 20 41 25 20 3d 20  34 32 0a 20 20 20 20 20  |ET A% = 42.     |
00003e90  20 41 25 20 3d 20 34 32  44 41 54 41 53 00 00 00  | A% = 42DATAS...|
00003ea0  4c 49 42 52 41 52 59 20  66 69 6c 65 6e 61 6d 65  |LIBRARY filename|
00003eb0  0a 46 75 6e 63 74 69 6f  6e 73 20 61 6e 64 20 70  |.Functions and p|
00003ec0  72 6f 63 65 64 75 72 65  73 20 6f 66 20 74 68 65  |rocedures of the|
00003ed0  0a 6e 61 6d 65 64 20 70  72 6f 67 72 61 6d 20 63  |.named program c|
00003ee0  61 6e 20 62 65 20 75 73  65 64 2e 00 44 41 54 41  |an be used..DATA|
00003ef0  9d 00 00 00 4c 49 4e 45  0a 4c 49 4e 45 20 78 31  |....LINE.LINE x1|
00003f00  2c 79 31 2c 78 32 2c 79  32 0a 20 20 44 72 61 77  |,y1,x2,y2.  Draw|
00003f10  20 61 20 6c 69 6e 65 20  66 72 6f 6d 20 78 31 2c  | a line from x1,|
00003f20  79 31 20 74 6f 20 78 32  2c 79 32 0a 20 20 45 71  |y1 to x2,y2.  Eq|
00003f30  75 69 76 61 6c 65 6e 74  20 74 6f 3a 0a 20 20 20  |uivalent to:.   |
00003f40  20 4d 4f 56 45 20 78 31  2c 79 31 0a 20 20 20 20  | MOVE x1,y1.    |
00003f50  44 52 41 57 20 78 32 2c  79 32 0a 0a 50 61 72 74  |DRAW x2,y2..Part|
00003f60  20 6f 66 20 3c 49 4e 50  55 54 3e 20 4c 49 4e 45  | of <INPUT> LINE|
00003f70  20 6f 72 20 4c 49 4e 45  20 49 4e 50 55 54 20 73  | or LINE INPUT s|
00003f80  74 61 74 65 6d 65 6e 74  2e 00 00 00 44 41 54 41  |tatement....DATA|
00003f90  58 01 00 00 4c 49 53 54  0a 54 68 69 73 20 63 6f  |X...LIST.This co|
00003fa0  6d 6d 61 6e 64 20 6c 69  73 74 73 20 74 68 65 20  |mmand lists the |
00003fb0  70 72 6f 67 72 61 6d 3a  0a 4c 49 53 54 20 5b 73  |program:.LIST [s|
00003fc0  74 61 72 74 20 6c 69 6e  65 5d 5b 2c 5b 65 6e 64  |tart line][,[end|
00003fd0  20 6c 69 6e 65 5d 5d 20  5b 49 46 70 61 74 74 65  | line]] [IFpatte|
00003fe0  72 6e 5d 2e 0a 20 20 4c  69 73 74 20 6c 69 6e 65  |rn]..  List line|
00003ff0  73 20 69 6e 20 74 68 65  20 67 69 76 65 6e 20 72  |s in the given r|
00004000  61 6e 67 65 2e 0a 20 20  49 66 20 6e 6f 20 72 61  |ange..  If no ra|
00004010  6e 67 65 2c 20 74 68 65  6e 20 6c 69 73 74 20 61  |nge, then list a|
00004020  6c 6c 20 6c 69 6e 65 73  2e 0a 20 20 49 66 20 6a  |ll lines..  If j|
00004030  75 73 74 20 73 74 61 72  74 20 6c 69 6e 65 3a 20  |ust start line: |
00004040  6c 69 73 74 20 74 68 69  73 20 6f 6e 65 20 6c 69  |list this one li|
00004050  6e 65 0a 20 20 49 66 20  73 74 61 72 74 20 6c 69  |ne.  If start li|
00004060  6e 65 2c 3a 20 6c 69 73  74 20 61 6c 6c 20 6c 69  |ne,: list all li|
00004070  6e 65 73 20 66 72 6f 6d  20 74 68 69 73 20 6f 6e  |nes from this on|
00004080  65 2e 0a 20 20 49 66 20  5b 49 46 70 61 74 74 65  |e..  If [IFpatte|
00004090  72 6e 5d 20 3a 20 6f 6e  6c 79 20 6c 69 73 74 20  |rn] : only list |
000040a0  6c 69 6e 65 73 20 63 6f  6e 74 61 69 6e 69 6e 67  |lines containing|
000040b0  20 70 61 74 74 65 72 6e  0a 0a 53 65 65 20 3c 4c  | pattern..See <L|
000040c0  49 53 54 4f 3e 20 66 6f  72 20 68 6f 77 20 6c 69  |ISTO> for how li|
000040d0  6e 65 73 20 77 69 6c 6c  20 62 65 20 70 72 69 6e  |nes will be prin|
000040e0  74 65 64 2e 44 41 54 41  b4 00 00 00 4c 49 53 54  |ted.DATA....LIST|
000040f0  4f 20 6e 75 6d 62 65 72  2e 0a 42 69 74 73 20 6d  |O number..Bits m|
00004100  65 61 6e 3a 0a 20 30 3a  20 73 70 61 63 65 20 62  |ean:. 0: space b|
00004110  65 66 6f 72 65 20 6c 69  6e 65 0a 20 31 3a 20 69  |efore line. 1: i|
00004120  6e 64 65 6e 74 20 73 74  72 75 63 74 75 72 65 0a  |ndent structure.|
00004130  20 32 3a 20 73 70 6c 69  74 20 6c 69 6e 65 73 20  | 2: split lines |
00004140  61 74 20 3a 0a 20 33 3a  20 64 6f 6e 27 74 20 6c  |at :. 3: don't l|
00004150  69 73 74 20 6c 69 6e 65  20 6e 75 6d 62 65 72 0a  |ist line number.|
00004160  20 34 3a 20 6c 69 73 74  20 74 6f 6b 65 6e 73 20  | 4: list tokens |
00004170  69 6e 20 6c 6f 77 65 72  20 63 61 73 65 0a 0a 44  |in lower case..D|
00004180  65 66 61 75 6c 74 20 6f  70 74 69 6f 6e 73 20 61  |efault options a|
00004190  72 65 20 25 30 30 30 30  44 41 54 41 6a 00 00 00  |re %0000DATAj...|
000041a0  4c 4e 20 78 0a 54 68 69  73 20 66 75 6e 63 74 69  |LN x.This functi|
000041b0  6f 6e 20 67 69 76 65 73  20 74 68 65 20 6e 61 74  |on gives the nat|
000041c0  75 72 61 6c 0a 6c 6f 67  61 72 69 74 68 6d 20 28  |ural.logarithm (|
000041d0  62 61 73 65 20 65 29 20  6f 66 20 61 20 6e 75 6d  |base e) of a num|
000041e0  62 65 72 2e 0a 20 20 4c  4e 28 65 5e 78 29 20 3d  |ber..  LN(e^x) =|
000041f0  20 78 2c 20 20 65 20 3d  20 32 2e 37 31 38 2e 2e  | x,  e = 2.718..|
00004200  2e 2e 00 00 44 41 54 41  45 00 00 00 4c 4f 41 44  |....DATAE...LOAD|
00004210  0a 54 68 69 73 20 63 6f  6d 6d 61 6e 64 20 6c 6f  |.This command lo|
00004220  61 64 73 20 61 20 6e 65  77 20 70 72 6f 67 72 61  |ads a new progra|
00004230  6d 2c 0a 72 65 70 6c 61  63 69 6e 67 20 74 68 65  |m,.replacing the|
00004240  20 6f 6c 64 20 6f 6e 65  2e 00 00 00 44 41 54 41  | old one....DATA|
00004250  ff 00 00 00 4c 4f 43 41  4c 0a 4c 4f 43 41 4c 20  |....LOCAL.LOCAL |
00004260  6c 69 73 74 20 6f 66 20  76 61 72 69 61 62 6c 65  |list of variable|
00004270  73 0a 20 20 4d 61 6b 65  20 74 68 69 6e 67 73 20  |s.  Make things |
00004280  70 72 69 76 61 74 65 20  74 6f 20 66 75 6e 63 74  |private to funct|
00004290  69 6f 6e 20 6f 72 20 70  72 6f 63 65 64 75 72 65  |ion or procedure|
000042a0  2e 0a 0a 4c 4f 43 41 4c  20 44 41 54 41 0a 20 20  |...LOCAL DATA.  |
000042b0  53 61 76 65 20 44 41 54  41 20 70 6f 69 6e 74 65  |Save DATA pointe|
000042c0  72 20 6f 6e 20 73 74 61  63 6b 2e 0a 20 20 4f 6e  |r on stack..  On|
000042d0  6c 79 20 61 20 4c 4f 43  41 4c 20 45 52 52 4f 52  |ly a LOCAL ERROR|
000042e0  20 73 68 6f 75 6c 64 20  63 6f 6d 65 20 61 66 74  | should come aft|
000042f0  65 72 20 74 68 69 73 2e  0a 0a 4c 4f 43 41 4c 20  |er this...LOCAL |
00004300  45 52 52 4f 52 0a 20 20  53 61 76 65 20 65 72 72  |ERROR.  Save err|
00004310  6f 72 20 63 6f 6e 74 72  6f 6c 20 73 74 61 74 75  |or control statu|
00004320  73 20 6f 6e 20 73 74 61  63 6b 2e 0a 20 20 4d 75  |s on stack..  Mu|
00004330  73 74 20 62 65 20 6c 61  73 74 20 4c 4f 43 41 4c  |st be last LOCAL|
00004340  20 73 74 61 74 65 6d 65  6e 74 2e 00 44 41 54 41  | statement..DATA|
00004350  67 00 00 00 4c 4f 47 0a  54 68 69 73 20 66 75 6e  |g...LOG.This fun|
00004360  63 74 69 6f 6e 20 67 69  76 65 73 20 74 68 65 20  |ction gives the |
00004370  63 6f 6d 6d 6f 6e 0a 6c  6f 67 61 72 69 74 68 6d  |common.logarithm|
00004380  20 28 62 61 73 65 20 31  30 29 20 6f 66 20 61 20  | (base 10) of a |
00004390  6e 75 6d 62 65 72 2e 0a  20 20 20 20 20 20 4c 4f  |number..      LO|
000043a0  47 78 20 3d 20 3c 4c 4e  3e 28 78 29 2f 4c 4e 28  |Gx = <LN>(x)/LN(|
000043b0  31 30 29 00 44 41 54 41  5b 00 00 00 4c 4f 4d 45  |10).DATA[...LOME|
000043c0  4d 0a 54 68 69 73 20 70  73 75 65 64 6f 2d 76 61  |M.This psuedo-va|
000043d0  72 69 61 62 6c 65 20 72  65 61 64 73 20 6f 72 20  |riable reads or |
000043e0  73 65 74 73 20 74 68 65  0a 61 64 64 72 65 73 73  |sets the.address|
000043f0  20 6f 66 20 74 68 65 20  73 74 61 72 74 20 6f 66  | of the start of|
00004400  20 74 68 65 20 76 61 72  69 61 62 6c 65 73 2e 00  | the variables..|
00004410  44 41 54 41 35 00 00 00  4c 56 41 52 0a 54 68 69  |DATA5...LVAR.Thi|
00004420  73 20 63 6f 6d 6d 61 6e  64 20 6c 69 73 74 73 20  |s command lists |
00004430  61 6c 6c 0a 76 61 72 69  61 62 6c 65 73 20 69 6e  |all.variables in|
00004440  20 75 73 65 2e 00 00 00  44 41 54 41 20 01 00 00  | use....DATA ...|
00004450  4d 49 44 24 0a 4d 49 44  24 28 73 74 72 69 6e 67  |MID$.MID$(string|
00004460  2c 70 6f 73 69 74 69 6f  6e 29 0a 20 20 47 69 76  |,position).  Giv|
00004470  65 73 20 61 6c 6c 20 6f  66 20 73 74 72 69 6e 67  |es all of string|
00004480  20 73 74 61 72 74 69 6e  67 20 66 72 6f 6d 20 70  | starting from p|
00004490  6f 73 69 74 69 6f 6e 2e  0a 0a 4d 49 44 24 28 73  |osition...MID$(s|
000044a0  74 72 69 6e 67 2c 70 6f  73 69 74 69 6f 6e 2c 63  |tring,position,c|
000044b0  6f 75 6e 74 29 0a 20 20  47 69 76 65 73 20 73 6f  |ount).  Gives so|
000044c0  6d 65 20 6f 66 20 73 74  72 69 6e 67 20 66 72 6f  |me of string fro|
000044d0  6d 20 70 6f 73 69 74 69  6f 6e 2e 0a 0a 4d 49 44  |m position...MID|
000044e0  24 28 73 74 72 69 6e 67  20 76 61 72 69 61 62 6c  |$(string variabl|
000044f0  65 2c 70 6f 73 69 74 69  6f 6e 5b 2c 63 6f 75 6e  |e,position[,coun|
00004500  74 5d 29 20 3d 20 73 74  72 69 6e 67 32 0a 20 20  |t]) = string2.  |
00004510  4f 76 65 72 77 72 69 74  65 20 61 6c 6c 20 5b 6f  |Overwrite all [o|
00004520  72 20 63 6f 75 6e 74 5d  20 63 68 61 72 61 63 74  |r count] charact|
00004530  65 72 73 20 69 6e 20 0a  20 20 73 74 72 69 6e 67  |ers in .  string|
00004540  20 76 61 72 69 61 62 6c  65 2c 20 77 69 74 68 20  | variable, with |
00004550  63 68 61 72 61 63 74 65  72 73 20 66 72 6f 6d 20  |characters from |
00004560  73 74 72 69 6e 67 32 2e  44 41 54 41 d6 00 00 00  |string2.DATA....|
00004570  4d 4f 44 0a 61 20 4d 4f  44 20 62 0a 20 20 52 65  |MOD.a MOD b.  Re|
00004580  6d 61 69 6e 64 65 72 20  61 66 74 65 72 20 69 6e  |mainder after in|
00004590  74 65 67 65 72 20 64 69  76 69 73 69 6f 6e 0a 20  |teger division. |
000045a0  20 62 65 74 77 65 65 6e  20 74 77 6f 20 69 6e 74  | between two int|
000045b0  65 67 65 72 73 2e 20 50  72 69 6f 72 69 74 79 20  |egers. Priority |
000045c0  33 2e 0a 0a 4d 4f 44 20  61 72 72 61 79 28 29 0a  |3...MOD array().|
000045d0  20 20 54 68 65 20 4d 4f  44 20 66 75 6e 63 74 69  |  The MOD functi|
000045e0  6f 6e 20 67 69 76 65 73  20 74 68 65 20 73 71 75  |on gives the squ|
000045f0  61 72 65 20 72 6f 6f 74  0a 20 20 6f 66 20 74 68  |are root.  of th|
00004600  65 20 73 75 6d 20 6f 66  20 74 68 65 20 73 71 75  |e sum of the squ|
00004610  61 72 65 73 0a 20 20 6f  66 20 61 6c 6c 20 74 68  |ares.  of all th|
00004620  65 20 65 6c 65 6d 65 6e  74 73 20 69 6e 20 61 20  |e elements in a |
00004630  6e 75 6d 65 72 69 63 20  61 72 72 61 79 2e 00 00  |numeric array...|
00004640  44 41 54 41 52 00 00 00  4d 4f 44 45 0a 4d 4f 44  |DATAR...MODE.MOD|
00004650  45 20 6e 72 0a 20 20 53  65 74 20 73 63 72 65 65  |E nr.  Set scree|
00004660  6e 20 6d 6f 64 65 2e 0a  6e 72 20 3d 20 4d 4f 44  |n mode..nr = MOD|
00004670  45 0a 20 20 47 69 76 65  73 20 74 68 65 20 63 75  |E.  Gives the cu|
00004680  72 72 65 6e 74 20 73 63  72 65 65 6e 20 6d 6f 64  |rrent screen mod|
00004690  65 2e 00 00 44 41 54 41  d3 01 00 00 4d 4f 55 53  |e...DATA....MOUS|
000046a0  45 0a 4d 4f 55 53 45 20  78 2c 79 2c 7a 5b 2c 74  |E.MOUSE x,y,z[,t|
000046b0  5d 0a 20 20 53 65 74 73  20 78 2c 79 20 74 6f 20  |].  Sets x,y to |
000046c0  6d 6f 75 73 65 20 70 6f  73 69 74 69 6f 6e 3b 0a  |mouse position;.|
000046d0  20 20 7a 20 74 6f 20 62  75 74 74 6f 6e 20 73 74  |  z to button st|
000046e0  61 74 65 20 5b 74 20 74  6f 20 74 69 6d 65 5d 2e  |ate [t to time].|
000046f0  0a 0a 4d 4f 55 53 45 20  43 4f 4c 4f 55 52 20 61  |..MOUSE COLOUR a|
00004700  2c 72 2c 67 2c 62 0a 20  20 53 65 74 20 6d 6f 75  |,r,g,b.  Set mou|
00004710  73 65 20 70 61 6c 65 74  74 65 20 65 6e 74 72 79  |se palette entry|
00004720  20 66 6f 72 20 61 20 0a  20 20 74 6f 20 72 2c 20  | for a .  to r, |
00004730  67 2c 20 62 20 70 68 79  73 69 63 61 6c 20 63 6f  |g, b physical co|
00004740  6c 6f 75 72 2e 0a 20 20  0a 4d 4f 55 53 45 20 4f  |lour..  .MOUSE O|
00004750  46 46 0a 20 20 54 75 72  6e 20 6d 6f 75 73 65 20  |FF.  Turn mouse |
00004760  70 6f 69 6e 74 65 72 20  6f 66 66 2e 0a 20 20 0a  |pointer off..  .|
00004770  4d 4f 55 53 45 20 4f 4e  20 5b 61 5d 0a 20 20 53  |MOUSE ON [a].  S|
00004780  65 74 73 20 6d 6f 75 73  65 20 70 6f 69 6e 74 65  |ets mouse pointe|
00004790  72 20 31 20 5b 6f 72 20  61 5d 2e 0a 20 20 0a 4d  |r 1 [or a]..  .M|
000047a0  4f 55 53 45 20 52 45 43  54 41 4e 47 4c 45 20 78  |OUSE RECTANGLE x|
000047b0  2c 79 2c 77 69 64 74 68  2c 68 65 69 67 68 74 0a  |,y,width,height.|
000047c0  20 20 43 6f 6e 73 74 72  61 69 6e 20 6d 6f 75 73  |  Constrain mous|
000047d0  65 20 6d 6f 76 65 6d 65  6e 74 20 74 6f 20 69 6e  |e movement to in|
000047e0  73 69 64 65 20 72 65 63  74 61 6e 67 6c 65 2e 0a  |side rectangle..|
000047f0  20 20 0a 4d 4f 55 53 45  20 53 54 45 50 20 61 5b  |  .MOUSE STEP a[|
00004800  2c 62 5d 0a 20 20 53 65  74 73 20 6d 6f 75 73 65  |,b].  Sets mouse|
00004810  20 73 74 65 70 20 6d 75  6c 74 69 70 6c 69 65 72  | step multiplier|
00004820  20 74 6f 20 61 2c 61 20  5b 6f 72 20 61 2c 62 5d  | to a,a [or a,b]|
00004830  2e 0a 20 20 0a 4d 4f 55  53 45 20 54 4f 20 78 2c  |..  .MOUSE TO x,|
00004840  79 0a 20 20 50 6f 73 69  74 69 6f 6e 73 20 6d 6f  |y.  Positions mo|
00004850  75 73 65 20 61 6e 64 20  70 6f 69 6e 74 65 72 20  |use and pointer |
00004860  61 74 20 78 2c 79 2e 00  44 41 54 41 40 00 00 00  |at x,y..DATA@...|
00004870  4d 4f 56 45 0a 4d 4f 56  45 20 5b 42 59 5d 20 78  |MOVE.MOVE [BY] x|
00004880  2c 79 0a 20 20 47 72 61  70 68 69 63 73 20 6d 6f  |,y.  Graphics mo|
00004890  76 65 20 74 6f 20 5b 72  65 6c 61 74 69 76 65 20  |ve to [relative |
000048a0  62 79 5d 20 78 2c 79 2e  44 49 52 24 80 04 00 00  |by] x,y.DIR$....|
000048b0  80 04 00 00 28 4d 00 00  45 ff ff ff df a0 e8 df  |....(M..E.......|
000048c0  34 00 00 00 13 00 00 00  00 00 00 00 4e 45 57 00  |4...........NEW.|
000048d0  5c 4d 00 00 45 ff ff ff  e2 a0 e8 df 58 00 00 00  |\M..E.......X...|
000048e0  13 00 00 00 00 00 00 00  4e 45 58 54 00 00 00 00  |........NEXT....|
000048f0  b4 4d 00 00 45 ff ff ff  e5 a0 e8 df af 00 00 00  |.M..E...........|
00004900  13 00 00 00 00 00 00 00  4e 4f 54 00 64 4e 00 00  |........NOT.dN..|
00004910  45 ff ff ff e9 a0 e8 df  28 00 00 00 13 00 00 00  |E.......(.......|
00004920  00 00 00 00 4f 46 00 00  8c 4e 00 00 45 ff ff ff  |....OF...N..E...|
00004930  ea a0 e8 df 54 00 00 00  13 00 00 00 00 00 00 00  |....T...........|
00004940  4f 46 46 00 e0 4e 00 00  45 ff ff ff ec a0 e8 df  |OFF..N..E.......|
00004950  41 00 00 00 13 00 00 00  00 00 00 00 4f 4c 44 00  |A...........OLD.|
00004960  24 4f 00 00 46 ff ff ff  fa a2 bd 0e f8 00 00 00  |$O..F...........|
00004970  13 00 00 00 00 00 00 00  4f 4e 00 00 1c 50 00 00  |........ON...P..|
00004980  45 ff ff ff f3 a0 e8 df  3f 00 00 00 13 00 00 00  |E.......?.......|
00004990  00 00 00 00 4f 50 45 4e  49 4e 00 00 5c 50 00 00  |....OPENIN..\P..|
000049a0  45 ff ff ff ff a0 e8 df  41 00 00 00 13 00 00 00  |E.......A.......|
000049b0  00 00 00 00 4f 50 45 4e  4f 55 54 00 a0 50 00 00  |....OPENOUT..P..|
000049c0  45 ff ff ff 03 a1 e8 df  4b 00 00 00 13 00 00 00  |E.......K.......|
000049d0  00 00 00 00 4f 50 45 4e  55 50 00 00 ec 50 00 00  |....OPENUP...P..|
000049e0  45 ff ff ff 05 a1 e8 df  0d 01 00 00 13 00 00 00  |E...............|
000049f0  00 00 00 00 4f 50 54 00  fc 51 00 00 45 ff ff ff  |....OPT..Q..E...|
00004a00  07 a1 e8 df 3f 00 00 00  13 00 00 00 00 00 00 00  |....?...........|
00004a10  4f 52 00 00 3c 52 00 00  45 ff ff ff 08 a1 e8 df  |OR..<R..E.......|
00004a20  3a 00 00 00 13 00 00 00  00 00 00 00 4f 52 49 47  |:...........ORIG|
00004a30  49 4e 00 00 78 52 00 00  45 ff ff ff 0a a1 e8 df  |IN..xR..E.......|
00004a40  52 00 00 00 13 00 00 00  00 00 00 00 4f 53 43 4c  |R...........OSCL|
00004a50  49 00 00 00 cc 52 00 00  45 ff ff ff 0d a1 e8 df  |I....R..E.......|
00004a60  2c 00 00 00 13 00 00 00  00 00 00 00 4f 54 48 45  |,...........OTHE|
00004a70  52 57 49 53 45 00 00 00  f8 52 00 00 45 ff ff ff  |RWISE....R..E...|
00004a80  11 a1 e8 df 8d 00 00 00  13 00 00 00 00 00 00 00  |................|
00004a90  4f 56 45 52 4c 41 59 00  88 53 00 00 45 ff ff ff  |OVERLAY..S..E...|
00004aa0  1b a1 e8 df 58 00 00 00  13 00 00 00 00 00 00 00  |....X...........|
00004ab0  50 41 47 45 00 00 00 00  e0 53 00 00 45 ff ff ff  |PAGE.....S..E...|
00004ac0  1c a1 e8 df 40 00 00 00  13 00 00 00 00 00 00 00  |....@...........|
00004ad0  50 49 00 00 20 54 00 00  46 ff ff ff c8 03 90 15  |PI.. T..F.......|
00004ae0  38 00 00 00 13 00 00 00  00 00 00 00 50 4c 4f 54  |8...........PLOT|
00004af0  00 00 00 00 58 54 00 00  45 ff ff ff 23 a1 e8 df  |....XT..E...#...|
00004b00  d5 00 00 00 13 00 00 00  00 00 00 00 50 4f 49 4e  |............POIN|
00004b10  54 00 00 00 30 55 00 00  45 ff ff ff 27 a1 e8 df  |T...0U..E...'...|
00004b20  45 00 00 00 13 00 00 00  00 00 00 00 50 4f 53 00  |E...........POS.|
00004b30  78 55 00 00 45 ff ff ff  28 a1 e8 df aa 00 00 00  |xU..E...(.......|
00004b40  13 00 00 00 00 00 00 00  50 52 49 4e 54 00 00 00  |........PRINT...|
00004b50  24 56 00 00 45 ff ff ff  2a a1 e8 df 57 00 00 00  |$V..E...*...W...|
00004b60  13 00 00 00 00 00 00 00  50 52 4f 43 00 00 00 00  |........PROC....|
00004b70  7c 56 00 00 45 ff ff ff  2c a1 e8 df 75 00 00 00  ||V..E...,...u...|
00004b80  13 00 00 00 00 00 00 00  50 54 52 00 f4 56 00 00  |........PTR..V..|
00004b90  45 ff ff ff 31 a1 e8 df  6b 00 00 00 13 00 00 00  |E...1...k.......|
00004ba0  00 00 00 00 51 55 49 54  00 00 00 00 60 57 00 00  |....QUIT....`W..|
00004bb0  45 ff ff ff 3d a1 e8 df  7d 00 00 00 13 00 00 00  |E...=...}.......|
00004bc0  00 00 00 00 52 41 44 00  e0 57 00 00 45 ff ff ff  |....RAD..W..E...|
00004bd0  3e a1 e8 df 58 00 00 00  13 00 00 00 00 00 00 00  |>...X...........|
00004be0  52 45 41 44 00 00 00 00  38 58 00 00 45 ff ff ff  |READ....8X..E...|
00004bf0  41 a1 e8 df 92 00 00 00  13 00 00 00 00 00 00 00  |A...............|
00004c00  52 45 43 54 41 4e 47 4c  45 00 00 00 cc 58 00 00  |RECTANGLE....X..|
00004c10  45 ff ff ff 43 a1 e8 df  9c 00 00 00 13 00 00 00  |E...C...........|
00004c20  00 00 00 00 52 45 4d 00  68 59 00 00 46 ff ff ff  |....REM.hY..F...|
00004c30  d5 be 2b 0b 78 00 00 00  13 00 00 00 00 00 00 00  |..+.x...........|
00004c40  52 45 4e 55 4d 42 45 52  00 00 00 00 e0 59 00 00  |RENUMBER.....Y..|
00004c50  45 ff ff ff 49 a1 e8 df  30 00 00 00 13 00 00 00  |E...I...0.......|
00004c60  00 00 00 00 52 45 50 45  41 54 00 00 10 5a 00 00  |....REPEAT...Z..|
00004c70  45 ff ff ff 4b a1 e8 df  5a 00 00 00 13 00 00 00  |E...K...Z.......|
00004c80  00 00 00 00 52 45 50 4f  52 54 00 00 6c 5a 00 00  |....REPORT..lZ..|
00004c90  46 ff ff ff 5f 04 2c 0b  3b 01 00 00 13 00 00 00  |F..._.,.;.......|
00004ca0  00 00 00 00 52 45 53 54  4f 52 45 00 a8 5b 00 00  |....RESTORE..[..|
00004cb0  45 ff ff ff 6b a1 e8 df  2b 00 00 00 13 00 00 00  |E...k...+.......|
00004cc0  00 00 00 00 52 45 54 55  52 4e 00 00 d4 5b 00 00  |....RETURN...[..|
00004cd0  45 ff ff ff 70 a1 e8 df  17 01 00 00 13 00 00 00  |E...p...........|
00004ce0  00 00 00 00 52 49 47 48  54 21 78 32 34 00 00 00  |....RIGHT!x24...|
00004cf0  ec 5c 00 00 45 ff ff ff  75 a1 e8 df f3 00 00 00  |.\..E...u.......|
00004d00  13 00 00 00 00 00 00 00  52 4e 44 00 e0 5d 00 00  |........RND..]..|
00004d10  45 ff ff ff 79 a1 e8 df  4a 00 00 00 13 00 00 00  |E...y...J.......|
00004d20  00 00 00 00 52 55 4e 00  44 41 54 41 34 00 00 00  |....RUN.DATA4...|
00004d30  4e 45 57 0a 54 68 69 73  20 63 6f 6d 6d 61 6e 64  |NEW.This command|
00004d40  20 65 72 61 73 65 73 0a  74 68 65 20 63 75 72 72  | erases.the curr|
00004d50  65 6e 74 20 70 72 6f 67  72 61 6d 2e 44 41 54 41  |ent program.DATA|
00004d60  58 00 00 00 4e 45 58 54  0a 4e 45 58 54 20 5b 76  |X...NEXT.NEXT [v|
00004d70  61 72 69 61 62 6c 65 5b  2c 76 61 72 69 61 62 6c  |ariable[,variabl|
00004d80  65 5d 5e 5d 0a 20 20 43  6c 6f 73 65 73 20 6f 6e  |e]^].  Closes on|
00004d90  65 20 6f 72 20 73 65 76  65 72 61 6c 20 3c 46 4f  |e or several <FO|
00004da0  52 3e 2e 2e 4e 45 58 54  20 73 74 72 75 63 74 75  |R>..NEXT structu|
00004db0  72 65 73 2e 44 41 54 41  af 00 00 00 4e 4f 54 20  |res.DATA....NOT |
00004dc0  78 0a 54 68 69 73 20 66  75 6e 63 74 69 6f 6e 20  |x.This function |
00004dd0  67 69 76 65 73 20 74 68  65 20 6e 75 6d 62 65 72  |gives the number|
00004de0  0a 77 69 74 68 20 61 6c  6c 20 62 69 74 73 20 69  |.with all bits i|
00004df0  6e 76 65 72 74 65 64 20  28 30 20 61 6e 64 20 31  |nverted (0 and 1|
00004e00  20 65 78 63 68 61 6e 67  65 64 29 2e 0a 20 4e 4f  | exchanged).. NO|
00004e10  54 20 20 25 30 30 30 30  30 30 30 30 30 30 30 30  |T  %000000000000|
00004e20  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
00004e30  30 30 31 20 28 31 29 0a  20 20 20 20 3d 20 25 31  |001 (1).    = %1|
00004e40  31 31 31 31 31 31 31 31  31 31 31 31 31 31 31 31  |1111111111111111|
00004e50  31 31 31 31 31 31 31 31  31 31 31 31 31 30 20 28  |11111111111110 (|
00004e60  2d 32 29 00 44 41 54 41  28 00 00 00 4f 46 0a 50  |-2).DATA(...OF.P|
00004e70  61 72 74 20 6f 66 20 74  68 65 20 3c 43 41 53 45  |art of the <CASE|
00004e80  3e 20 73 74 61 74 65 6d  65 6e 74 2e 44 41 54 41  |> statement.DATA|
00004e90  54 00 00 00 4f 46 46 0a  4f 46 46 0a 20 20 54 75  |T...OFF.OFF.  Tu|
00004ea0  72 6e 20 63 75 72 73 6f  72 20 6f 66 66 2e 0a 0a  |rn cursor off...|
00004eb0  50 61 72 74 20 6f 66 20  3c 54 52 41 43 45 3e 20  |Part of <TRACE> |
00004ec0  4f 46 46 2c 20 0a 4f 4e  20 3c 45 52 52 4f 52 3e  |OFF, .ON <ERROR>|
00004ed0  20 4f 46 46 20 73 74 61  74 65 6d 65 6e 74 73 2e  | OFF statements.|
00004ee0  44 41 54 41 41 00 00 00  4f 4c 44 0a 54 68 69 73  |DATAA...OLD.This|
00004ef0  20 63 6f 6d 6d 61 6e 64  20 72 65 63 6f 76 65 72  | command recover|
00004f00  73 20 74 68 65 0a 70 72  6f 67 72 61 6d 20 6a 75  |s the.program ju|
00004f10  73 74 20 61 66 74 65 72  20 61 20 3c 4e 45 57 3e  |st after a <NEW>|
00004f20  2e 00 00 00 44 41 54 41  f8 00 00 00 4f 4e 0a 4f  |....DATA....ON.O|
00004f30  4e 0a 20 20 43 75 72 73  6f 72 20 6f 6e 2e 0a 0a  |N.  Cursor on...|
00004f40  4f 4e 20 45 52 52 4f 52  20 5b 4c 4f 43 41 4c 7c  |ON ERROR [LOCAL||
00004f50  4f 46 46 5d 0a 20 20 44  65 66 69 6e 65 20 65 72  |OFF].  Define er|
00004f60  72 6f 72 20 68 61 6e 64  6c 65 72 2e 0a 0a 4f 4e  |ror handler...ON|
00004f70  a0 65 78 70 72 65 73 73  69 6f 6e a0 47 4f 54 4f  |.expression.GOTO|
00004f80  7c 47 4f 53 55 42 7c 50  52 4f 43 a0 5c 7b 2c 47  ||GOSUB|PROC.\{,G|
00004f90  4f 54 4f 7c 47 4f 53 55  42 7c 50 52 4f 43 7d a0  |OTO|GOSUB|PROC}.|
00004fa0  45 4c 53 45 0a 20 09 43  61 6c 6c 20 66 72 6f 6d  |ELSE. .Call from|
00004fb0  20 73 70 65 63 69 66 69  65 64 20 6c 69 73 74 20  | specified list |
00004fc0  69 74 65 6d 2e 0a 20 09  44 6f 6e 27 74 20 75 73  |item.. .Don't us|
00004fd0  65 20 47 4f 54 4f 20 6f  72 20 47 4f 53 55 42 21  |e GOTO or GOSUB!|
00004fe0  20 50 6c 65 61 73 65 21  20 55 73 65 20 6f 66 20  | Please! Use of |
00004ff0  6c 69 6e 65 20 6e 75 6d  62 65 72 73 20 73 68 6f  |line numbers sho|
00005000  75 6c 64 20 62 65 20 61  76 6f 69 64 65 64 20 61  |uld be avoided a|
00005010  74 20 61 6c 6c 20 63 6f  73 74 73 2e 44 41 54 41  |t all costs.DATA|
00005020  3f 00 00 00 78 20 3d 20  4f 50 45 4e 49 4e 20 66  |?...x = OPENIN f|
00005030  69 6c 65 6e 61 6d 65 0a  54 68 65 20 66 75 6e 63  |ilename.The func|
00005040  74 69 6f 6e 20 6f 70 65  6e 73 20 61 20 66 69 6c  |tion opens a fil|
00005050  65 0a 66 6f 72 20 69 6e  70 75 74 00 44 41 54 41  |e.for input.DATA|
00005060  41 00 00 00 78 20 3d 20  4f 50 45 4e 4f 55 54 20  |A...x = OPENOUT |
00005070  66 69 6c 65 6e 61 6d 65  0a 54 68 65 20 66 75 6e  |filename.The fun|
00005080  63 74 69 6f 6e 20 6f 70  65 6e 73 20 61 20 66 69  |ction opens a fi|
00005090  6c 65 0a 66 6f 72 20 6f  75 74 70 75 74 00 00 00  |le.for output...|
000050a0  44 41 54 41 4b 00 00 00  78 20 3d 20 4f 50 45 4e  |DATAK...x = OPEN|
000050b0  55 50 20 66 69 6c 65 6e  61 6d 65 0a 54 68 65 20  |UP filename.The |
000050c0  66 75 6e 63 74 69 6f 6e  20 6f 70 65 6e 73 20 61  |function opens a|
000050d0  20 66 69 6c 65 0a 66 6f  72 20 69 6e 70 75 74 20  | file.for input |
000050e0  61 6e 64 20 6f 75 74 70  75 74 2e 00 44 41 54 41  |and output..DATA|
000050f0  0d 01 00 00 4f 50 54 0a  53 65 74 20 42 41 53 49  |....OPT.Set BASI|
00005100  43 20 61 73 73 65 6d 62  6c 65 72 20 6f 70 74 69  |C assembler opti|
00005110  6f 6e 73 0a 42 69 74 3a  20 20 4d 65 61 6e 69 6e  |ons.Bit:  Meanin|
00005120  67 20 77 68 65 6e 20 73  65 74 3a 0a 2d 2d 2d 2d  |g when set:.----|
00005130  20 20 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |  --------------|
00005140  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00005150  2d 2d 2d 2d 2d 0a 20 20  30 20 20 20 41 73 73 65  |-----.  0   Asse|
00005160  6d 62 6c 79 20 6c 69 73  74 69 6e 67 20 65 6e 61  |mbly listing ena|
00005170  62 6c 65 64 0a 20 20 31  20 20 20 41 73 73 65 6d  |bled.  1   Assem|
00005180  62 6c 65 72 20 65 72 72  6f 72 73 20 65 6e 61 62  |bler errors enab|
00005190  6c 65 64 0a 20 20 32 20  20 20 41 73 73 65 6d 62  |led.  2   Assemb|
000051a0  6c 65 64 20 63 6f 64 65  20 70 6c 61 63 65 64 20  |led code placed |
000051b0  61 74 20 4f 25 20 69 6e  73 74 65 61 64 20 6f 66  |at O% instead of|
000051c0  20 50 25 0a 20 20 33 20  20 20 43 68 65 63 6b 20  | P%.  3   Check |
000051d0  69 66 20 61 73 73 65 6d  62 6c 65 64 20 63 6f 64  |if assembled cod|
000051e0  65 20 65 78 63 65 65 64  73 20 6d 65 6d 6f 72 79  |e exceeds memory|
000051f0  20 6c 69 6d 69 74 20 4c  25 00 00 00 44 41 54 41  | limit L%...DATA|
00005200  3f 00 00 00 4f 52 0a 42  69 74 77 69 73 65 20 6c  |?...OR.Bitwise l|
00005210  6f 67 69 63 61 6c 20 6f  72 20 62 65 74 77 65 65  |ogical or betwee|
00005220  6e 0a 74 77 6f 20 69 6e  74 65 67 65 72 73 2e 20  |n.two integers. |
00005230  50 72 69 6f 72 69 74 79  20 37 2e 00 44 41 54 41  |Priority 7..DATA|
00005240  3a 00 00 00 4f 52 49 47  49 4e 20 78 2c 79 0a 53  |:...ORIGIN x,y.S|
00005250  65 74 73 20 78 2c 79 20  61 73 20 74 68 65 20 6e  |ets x,y as the n|
00005260  65 77 0a 67 72 61 70 68  69 63 73 20 30 2c 30 20  |ew.graphics 0,0 |
00005270  70 6f 69 6e 74 2e 00 00  44 41 54 41 52 00 00 00  |point...DATAR...|
00005280  4f 53 43 4c 49 20 73 74  72 69 6e 67 20 20 20 20  |OSCLI string    |
00005290  0a 47 69 76 65 20 73 74  72 69 6e 67 20 74 6f 20  |.Give string to |
000052a0  4f 70 65 72 61 74 69 6e  67 0a 53 79 73 74 65 6d  |Operating.System|
000052b0  20 43 6f 6d 6d 61 6e 64  20 4c 69 6e 65 20 49 6e  | Command Line In|
000052c0  74 65 72 70 72 65 74 65  72 2e 00 00 44 41 54 41  |terpreter...DATA|
000052d0  2c 00 00 00 4f 54 48 45  52 57 49 53 45 20 0a 50  |,...OTHERWISE .P|
000052e0  61 72 74 20 6f 66 20 3c  43 41 53 45 3e 20 73 74  |art of <CASE> st|
000052f0  72 75 63 74 75 72 65 2e  44 41 54 41 8d 00 00 00  |ructure.DATA....|
00005300  4f 56 45 52 4c 41 59 20  61 72 72 61 79 24 28 29  |OVERLAY array$()|
00005310  0a 53 65 74 20 61 6e 20  61 72 72 61 79 20 6f 66  |.Set an array of|
00005320  20 66 69 6c 65 6e 61 6d  65 73 0a 66 6f 72 20 6f  | filenames.for o|
00005330  76 65 72 6c 61 79 20 6c  69 62 72 61 72 69 65 73  |verlay libraries|
00005340  2e 0a 28 4f 6e 6c 79 20  6f 6e 65 20 6f 66 20 74  |..(Only one of t|
00005350  68 65 20 67 69 76 65 6e  20 6c 69 62 72 61 72 69  |he given librari|
00005360  65 73 0a 20 77 69 6c 6c  20 62 65 20 6c 6f 61 64  |es. will be load|
00005370  65 64 20 61 74 20 61 6e  79 20 67 69 76 65 6e 20  |ed at any given |
00005380  74 69 6d 65 29 00 00 00  44 41 54 41 58 00 00 00  |time)...DATAX...|
00005390  50 41 47 45 0a 54 68 69  73 20 70 73 75 65 64 6f  |PAGE.This psuedo|
000053a0  2d 76 61 72 69 61 62 6c  65 20 72 65 61 64 73 20  |-variable reads |
000053b0  6f 72 20 73 65 74 73 0a  74 68 65 20 61 64 64 72  |or sets.the addr|
000053c0  65 73 73 20 6f 66 20 74  68 65 20 73 74 61 72 74  |ess of the start|
000053d0  20 6f 66 20 74 68 65 20  70 72 6f 67 72 61 6d 2e  | of the program.|
000053e0  44 41 54 41 40 00 00 00  50 49 0a 54 68 69 73 20  |DATA@...PI.This |
000053f0  66 75 6e 63 74 69 6f 6e  20 67 69 76 65 73 20 74  |function gives t|
00005400  68 65 20 76 61 6c 75 65  0a 6f 66 20 27 70 69 27  |he value.of 'pi'|
00005410  20 28 33 2e 31 34 31 35  39 32 36 35 33 35 29 2e  | (3.1415926535).|
00005420  44 41 54 41 38 00 00 00  50 4c 4f 54 20 6e 2c 78  |DATA8...PLOT n,x|
00005430  2c 79 0a 47 72 61 70 68  69 63 73 20 6f 70 65 72  |,y.Graphics oper|
00005440  61 74 69 6f 6e 20 3c 6e  3d 3e 53 57 49 3a 6f 73  |ation <n=>SWI:os|
00005450  5f 70 6c 6f 74 30 3e 2e  44 41 54 41 d5 00 00 00  |_plot0>.DATA....|
00005460  50 4f 49 4e 54 0a 78 20  3d 20 50 4f 49 4e 54 28  |POINT.x = POINT(|
00005470  78 2c 79 29 0a 20 20 47  69 76 65 73 20 74 68 65  |x,y).  Gives the|
00005480  20 6c 6f 67 69 63 61 6c  20 63 6f 6c 6f 75 72 0a  | logical colour.|
00005490  20 20 6f 66 20 61 20 67  72 61 70 68 69 63 73 20  |  of a graphics |
000054a0  70 6f 69 6e 74 2e 0a 20  20 53 65 65 20 61 6c 73  |point..  See als|
000054b0  6f 20 3c 54 49 4e 54 3e  0a 0a 50 4f 49 4e 54 20  |o <TINT>..POINT |
000054c0  5b 42 59 5d 20 78 2c 79  0a 20 20 53 65 74 20 70  |[BY] x,y.  Set p|
000054d0  69 78 65 6c 20 61 74 20  5b 72 65 6c 61 74 69 76  |ixel at [relativ|
000054e0  65 20 74 6f 5d 20 78 2c  79 2e 0a 0a 50 4f 49 4e  |e to] x,y...POIN|
000054f0  54 20 54 4f 20 78 2c 79  0a 20 20 50 6f 73 69 74  |T TO x,y.  Posit|
00005500  69 6f 6e 20 70 6f 69 6e  74 65 72 20 61 74 20 78  |ion pointer at x|
00005510  2c 79 2c 0a 20 20 69 66  20 6e 6f 74 20 6c 69 6e  |,y,.  if not lin|
00005520  6b 65 64 20 74 6f 20 6d  6f 75 73 65 2e 00 00 00  |ked to mouse....|
00005530  44 41 54 41 45 00 00 00  50 4f 53 0a 54 68 69 73  |DATAE...POS.This|
00005540  20 66 75 6e 63 74 69 6f  6e 20 67 69 76 65 73 0a  | function gives.|
00005550  74 68 65 20 78 2d 63 6f  6f 72 64 69 6e 61 74 65  |the x-coordinate|
00005560  20 0a 6f 66 20 74 68 65  20 74 65 78 74 20 63 75  | .of the text cu|
00005570  72 73 6f 72 2e 00 00 00  44 41 54 41 aa 00 00 00  |rsor....DATA....|
00005580  50 52 49 4e 54 0a 50 52  49 4e 54 20 5b 27 7c 3c  |PRINT.PRINT ['|<|
00005590  54 41 42 3e 7c 3c 53 50  43 3e 5d 5b 22 64 69 73  |TAB>|<SPC>]["dis|
000055a0  70 6c 61 79 20 73 74 72  69 6e 67 22 5d 5b 65 78  |play string"][ex|
000055b0  70 72 65 73 73 69 6f 6e  5d 5b 3b 5d 0a 20 20 50  |pression][;].  P|
000055c0  72 69 6e 74 20 74 68 69  6e 67 73 20 69 6e 20 66  |rint things in f|
000055d0  69 65 6c 64 73 20 64 65  66 69 6e 65 64 20 62 79  |ields defined by|
000055e0  20 40 25 2e 0a 0a 50 52  49 4e 54 23 63 68 61 6e  | @%...PRINT#chan|
000055f0  6e 65 6c 2c 6c 69 73 74  20 6f 66 20 65 78 70 72  |nel,list of expr|
00005600  65 73 73 69 6f 6e 73 0a  20 20 50 72 69 6e 74 20  |essions.  Print |
00005610  64 61 74 61 20 74 6f 20  6f 70 65 6e 20 66 69 6c  |data to open fil|
00005620  65 2e 00 00 44 41 54 41  57 00 00 00 50 52 4f 43  |e...DATAW...PROC|
00005630  0a 50 52 4f 43 66 72 65  64 28 78 2c 79 29 0a 20  |.PROCfred(x,y). |
00005640  20 43 61 6c 6c 20 61 20  70 72 6f 63 65 64 75 72  | Call a procedur|
00005650  65 2e 0a 0a 44 45 46 20  50 52 4f 43 66 72 65 64  |e...DEF PROCfred|
00005660  28 61 2c 62 29 0a 20 20  44 65 66 69 6e 65 20 61  |(a,b).  Define a|
00005670  20 70 72 6f 63 65 64 75  72 65 2e 00 44 41 54 41  | procedure..DATA|
00005680  75 00 00 00 50 54 52 23  63 68 61 6e 6e 65 6c 0a  |u...PTR#channel.|
00005690  78 20 3d 20 50 54 52 23  63 68 61 6e 6e 65 6c 0a  |x = PTR#channel.|
000056a0  20 20 47 69 76 65 73 20  74 68 65 20 70 6f 73 69  |  Gives the posi|
000056b0  74 69 6f 6e 20 69 6e 20  61 20 66 69 6c 65 2e 0a  |tion in a file..|
000056c0  20 20 0a 50 54 52 23 63  68 61 6e 6e 65 6c 3d 20  |  .PTR#channel= |
000056d0  78 20 0a 20 20 53 65 74  73 20 74 68 65 20 70 6f  |x .  Sets the po|
000056e0  73 69 74 69 6f 6e 20 69  6e 20 61 20 66 69 6c 65  |sition in a file|
000056f0  2e 00 00 00 44 41 54 41  6b 00 00 00 51 55 49 54  |....DATAk...QUIT|
00005700  0a 51 55 49 54 0a 20 20  4c 65 61 76 65 20 74 68  |.QUIT.  Leave th|
00005710  65 20 69 6e 74 65 72 70  72 65 74 65 72 2e 0a 0a  |e interpreter...|
00005720  78 20 3d 20 51 55 49 54  0a 20 47 69 76 65 73 20  |x = QUIT. Gives |
00005730  54 52 55 45 20 69 66 20  42 41 53 49 43 20 77 61  |TRUE if BASIC wa|
00005740  73 20 65 6e 74 65 72 65  64 0a 20 77 69 74 68 20  |s entered. with |
00005750  61 20 2d 71 75 69 74 20  6f 70 74 69 6f 6e 2e 00  |a -quit option..|
00005760  44 41 54 41 7d 00 00 00  52 41 44 20 78 0a 54 68  |DATA}...RAD x.Th|
00005770  69 73 20 66 75 6e 63 74  69 6f 6e 20 67 69 76 65  |is function give|
00005780  73 20 74 68 65 20 76 61  6c 75 65 0a 69 6e 20 72  |s the value.in r|
00005790  61 64 69 61 6e 73 20 6f  66 20 61 20 6e 75 6d 62  |adians of a numb|
000057a0  65 72 20 69 6e 20 64 65  67 72 65 65 73 2e 0a 20  |er in degrees.. |
000057b0  20 20 20 52 41 44 28 31  38 30 29 20 3d 20 33 2e  |   RAD(180) = 3.|
000057c0  31 34 31 35 2e 2e 2e 0a  20 20 20 20 3c 44 45 47  |1415....    <DEG|
000057d0  3e 28 52 41 44 28 78 29  29 20 3d 20 78 00 00 00  |>(RAD(x)) = x...|
000057e0  44 41 54 41 58 00 00 00  52 45 41 44 0a 52 45 41  |DATAX...READ.REA|
000057f0  44 20 6c 69 73 74 20 6f  66 20 76 61 72 69 61 62  |D list of variab|
00005800  6c 65 73 0a 20 20 52 65  61 64 20 74 68 65 20 76  |les.  Read the v|
00005810  61 72 69 61 62 6c 65 73  20 69 6e 20 74 75 72 6e  |ariables in turn|
00005820  0a 20 20 66 72 6f 6d 20  44 41 54 41 20 73 74 61  |.  from DATA sta|
00005830  74 65 6d 65 6e 74 73 2e  44 41 54 41 92 00 00 00  |tements.DATA....|
00005840  52 45 43 54 41 4e 47 4c  45 0a 52 45 43 54 41 4e  |RECTANGLE.RECTAN|
00005850  47 4c 45 20 5b 46 49 4c  4c 5d 20 78 6c 6f 2c 79  |GLE [FILL] xlo,y|
00005860  6c 6f 2c 77 69 64 74 68  5b 2c 68 65 69 67 68 74  |lo,width[,height|
00005870  5d 0a 20 20 20 20 20 20  20 20 20 20 5b 54 4f 20  |].          [TO |
00005880  78 6c 6f 2c 79 6c 6f 5d  0a 20 20 44 72 61 77 20  |xlo,ylo].  Draw |
00005890  61 20 72 65 63 74 61 6e  67 6c 65 20 6f 75 74 6c  |a rectangle outl|
000058a0  69 6e 65 20 5b 73 6f 6c  69 64 5d 2c 0a 20 20 6f  |ine [solid],.  o|
000058b0  72 20 63 6f 70 79 2f 6d  6f 76 65 20 74 68 65 20  |r copy/move the |
000058c0  72 65 63 74 61 6e 67 6c  65 2e 00 00 44 41 54 41  |rectangle...DATA|
000058d0  9c 00 00 00 52 45 4d 0a  49 67 6e 6f 72 65 73 20  |....REM.Ignores |
000058e0  65 76 65 72 79 74 68 69  6e 67 20 75 6e 74 69 6c  |everything until|
000058f0  20 61 20 63 6f 6c 6f 6e  20 6f 72 20 65 6e 64 0a  | a colon or end.|
00005900  6f 66 20 6c 69 6e 65 2e  20 4e 6f 74 65 20 74 68  |of line. Note th|
00005910  61 74 20 74 6f 20 52 45  4d 20 6f 75 74 20 61 20  |at to REM out a |
00005920  6c 69 6e 65 0a 6c 69 6b  65 20 50 52 49 4e 54 20  |line.like PRINT |
00005930  22 78 3a 22 20 77 69 6c  6c 20 63 61 75 73 65 20  |"x:" will cause |
00005940  70 72 6f 62 6c 65 6d 73  20 64 75 65 0a 74 6f 20  |problems due.to |
00005950  74 68 65 20 63 6f 6c 6f  6e 20 69 6e 20 74 68 65  |the colon in the|
00005960  20 73 74 72 69 6e 67 2e  44 41 54 41 78 00 00 00  | string.DATAx...|
00005970  52 45 4e 55 4d 42 45 52  20 5b 62 61 73 65 2c 5b  |RENUMBER [base,[|
00005980  73 74 65 70 5d 5d 0a 54  68 69 73 20 63 6f 6d 6d  |step]].This comm|
00005990  61 6e 64 20 72 65 6e 75  6d 62 65 72 73 20 74 68  |and renumbers th|
000059a0  65 20 6c 69 6e 65 73 20  69 6e 20 74 68 65 20 70  |e lines in the p|
000059b0  72 6f 67 72 61 6d 2e 0a  44 65 66 61 75 6c 74 20  |rogram..Default |
000059c0  76 61 6c 75 65 73 20 66  6f 72 20 62 61 73 65 20  |values for base |
000059d0  61 6e 64 20 73 74 65 70  2c 20 69 73 20 31 30 2e  |and step, is 10.|
000059e0  44 41 54 41 30 00 00 00  52 45 50 45 41 54 0a 52  |DATA0...REPEAT.R|
000059f0  45 50 45 41 54 0a 20 20  6c 69 6e 65 73 0a 55 4e  |EPEAT.  lines.UN|
00005a00  54 49 4c 20 62 6f 6f 6c  65 61 6e 20 65 78 70 72  |TIL boolean expr|
00005a10  44 41 54 41 5a 00 00 00  52 45 50 4f 52 54 0a 52  |DATAZ...REPORT.R|
00005a20  45 50 4f 52 54 0a 20 20  50 72 69 6e 74 20 6c 61  |EPORT.  Print la|
00005a30  73 74 20 65 72 72 6f 72  20 6d 65 73 73 61 67 65  |st error message|
00005a40  2e 0a 0a 78 24 20 3d 20  52 45 50 4f 52 54 24 0a  |...x$ = REPORT$.|
00005a50  20 20 47 69 76 65 73 20  6c 61 73 74 20 65 72 72  |  Gives last err|
00005a60  6f 72 20 73 74 72 69 6e  67 2e 00 00 44 41 54 41  |or string...DATA|
00005a70  3b 01 00 00 52 45 53 54  4f 52 45 0a 52 45 53 54  |;...RESTORE.REST|
00005a80  4f 52 45 20 5b 2b 5d 5b  6e 75 6d 62 65 72 5d 0a  |ORE [+][number].|
00005a90  20 20 09 52 65 73 74 6f  72 65 20 74 68 65 20 64  |  .Restore the d|
00005aa0  61 74 61 20 70 6f 69 6e  74 65 72 20 74 6f 20 66  |ata pointer to f|
00005ab0  69 72 73 74 20 6f 72 20  67 69 76 65 6e 20 6c 69  |irst or given li|
00005ac0  6e 65 2c 20 6f 72 20 6d  6f 76 65 20 66 6f 72 77  |ne, or move forw|
00005ad0  61 72 64 20 6e 75 6d 62  65 72 20 6c 69 6e 65 73  |ard number lines|
00005ae0  20 66 72 6f 6d 20 74 68  65 20 73 74 61 72 74 20  | from the start |
00005af0  6f 66 20 74 68 65 20 6e  65 78 74 20 6c 69 6e 65  |of the next line|
00005b00  2e 0a 0a 52 45 53 54 4f  52 45 20 44 41 54 41 0a  |...RESTORE DATA.|
00005b10  20 20 09 52 65 73 74 6f  72 65 20 44 41 54 41 20  |  .Restore DATA |
00005b20  70 6f 69 6e 74 65 72 20  66 72 6f 6d 20 73 74 61  |pointer from sta|
00005b30  63 6b 2e 20 28 50 75 74  20 74 68 65 72 65 20 62  |ck. (Put there b|
00005b40  79 20 3c 4c 4f 43 41 4c  3e 20 44 41 54 41 29 0a  |y <LOCAL> DATA).|
00005b50  0a 52 45 53 54 4f 52 45  20 45 52 52 4f 52 0a 20  |.RESTORE ERROR. |
00005b60  20 09 52 65 73 74 6f 72  65 20 65 72 72 6f 72 20  | .Restore error |
00005b70  63 6f 6e 74 72 6f 6c 20  73 74 61 74 75 73 20 66  |control status f|
00005b80  72 6f 6d 20 73 74 61 63  6b 2e 20 28 50 75 74 20  |rom stack. (Put |
00005b90  74 68 65 72 65 20 62 79  20 3c 4c 4f 43 41 4c 3e  |there by <LOCAL>|
00005ba0  20 45 52 52 4f 52 29 00  44 41 54 41 2b 00 00 00  | ERROR).DATA+...|
00005bb0  52 45 54 55 52 4e 0a 45  6e 64 20 6f 66 20 61 20  |RETURN.End of a |
00005bc0  3c 47 4f 53 55 42 3e 20  73 75 62 72 6f 75 74 69  |<GOSUB> subrouti|
00005bd0  6e 65 2e 00 44 41 54 41  17 01 00 00 52 49 47 48  |ne..DATA....RIGH|
00005be0  54 24 0a 52 49 47 48 54  24 28 73 74 72 69 6e 67  |T$.RIGHT$(string|
00005bf0  2c 6e 75 6d 62 65 72 29  0a 20 20 47 69 76 65 73  |,number).  Gives|
00005c00  20 72 69 67 68 74 6d 6f  73 74 20 6e 75 6d 62 65  | rightmost numbe|
00005c10  72 20 0a 20 20 6f 66 20  63 68 61 72 61 63 74 65  |r .  of characte|
00005c20  72 73 20 66 72 6f 6d 20  73 74 72 69 6e 67 2e 0a  |rs from string..|
00005c30  0a 52 49 47 48 54 24 28  73 74 72 69 6e 67 29 0a  |.RIGHT$(string).|
00005c40  20 20 47 69 76 65 73 20  72 69 67 68 74 6d 6f 73  |  Gives rightmos|
00005c50  74 20 63 68 61 72 61 63  74 65 72 2e 0a 0a 52 49  |t character...RI|
00005c60  47 48 54 24 28 73 74 72  69 6e 67 20 76 61 72 69  |GHT$(string vari|
00005c70  61 62 6c 65 20 5b 2c 63  6f 75 6e 74 5d 29 20 3d  |able [,count]) =|
00005c80  20 73 74 72 69 6e 67 32  0a 20 20 4f 76 65 72 77  | string2.  Overw|
00005c90  72 69 74 65 20 63 68 61  72 61 63 74 65 72 73 20  |rite characters |
00005ca0  61 74 20 65 6e 64 20 6f  66 0a 20 20 73 74 72 69  |at end of.  stri|
00005cb0  6e 67 20 76 61 72 69 61  62 6c 65 2c 20 77 69 74  |ng variable, wit|
00005cc0  68 20 61 6c 6c 20 5b 6f  72 20 63 6f 75 6e 74 5d  |h all [or count]|
00005cd0  0a 20 20 63 68 61 72 61  63 74 65 72 73 20 66 72  |.  characters fr|
00005ce0  6f 6d 20 73 74 72 69 6e  67 32 20 00 44 41 54 41  |om string2 .DATA|
00005cf0  f3 00 00 00 52 4e 44 0a  78 20 3d 20 52 4e 44 0a  |....RND.x = RND.|
00005d00  20 20 47 69 76 65 73 20  61 20 72 61 6e 64 6f 6d  |  Gives a random|
00005d10  20 69 6e 74 65 67 65 72  2e 0a 0a 78 20 3d 20 52  | integer...x = R|
00005d20  4e 44 28 6e 29 20 77 68  65 72 65 20 6e 5c 3c 30  |ND(n) where n\<0|
00005d30  20 0a 20 20 49 6e 69 74  69 61 6c 69 73 65 20 72  | .  Initialise r|
00005d40  61 6e 64 6f 6d 20 6e 75  6d 62 65 72 0a 20 20 67  |andom number.  g|
00005d50  65 6e 65 72 61 74 6f 72  20 62 61 73 65 64 20 6f  |enerator based o|
00005d60  6e 20 6e 2e 0a 0a 78 20  3d 20 52 4e 44 28 30 29  |n n...x = RND(0)|
00005d70  0a 20 20 4c 61 73 74 20  52 4e 44 28 31 29 20 76  |.  Last RND(1) v|
00005d80  61 6c 75 65 2e 0a 78 20  3d 20 52 4e 44 28 31 29  |alue..x = RND(1)|
00005d90  0a 20 20 52 61 6e 64 6f  6d 20 72 65 61 6c 20 30  |.  Random real 0|
00005da0  2e 2e 31 2e 0a 20 20 0a  52 4e 44 28 6e 29 20 77  |..1..  .RND(n) w|
00005db0  68 65 72 65 20 6e 3e 31  0a 20 20 52 61 6e 64 6f  |here n>1.  Rando|
00005dc0  6d 20 69 6e 74 65 67 65  72 20 62 65 74 77 65 65  |m integer betwee|
00005dd0  6e 20 31 20 61 6e 64 20  49 4e 54 28 6e 29 2e 00  |n 1 and INT(n)..|
00005de0  44 41 54 41 4a 00 00 00  52 55 4e 0a 43 6c 65 61  |DATAJ...RUN.Clea|
00005df0  72 20 76 61 72 69 61 62  6c 65 73 2c 20 0a 61 6e  |r variables, .an|
00005e00  64 20 73 74 61 72 74 20  65 78 65 63 75 74 69 6f  |d start executio|
00005e10  6e 0a 61 74 20 62 65 67  69 6e 6e 69 6e 67 20 6f  |n.at beginning o|
00005e20  66 20 70 72 6f 67 72 61  6d 2e 00 00 44 49 52 24  |f program...DIR$|
00005e30  9c 04 00 00 9c 04 00 00  c8 62 00 00 45 ff ff ff  |.........b..E...|
00005e40  7c a1 e8 df a2 00 00 00  13 00 00 00 00 00 00 00  ||...............|
00005e50  53 41 56 45 00 00 00 00  6c 63 00 00 45 ff ff ff  |SAVE....lc..E...|
00005e60  7f a1 e8 df 6a 00 00 00  13 00 00 00 00 00 00 00  |....j...........|
00005e70  53 47 4e 00 d8 63 00 00  45 ff ff ff 82 a1 e8 df  |SGN..c..E.......|
00005e80  4f 00 00 00 13 00 00 00  00 00 00 00 53 49 4e 00  |O...........SIN.|
00005e90  28 64 00 00 45 ff ff ff  86 a1 e8 df 78 00 00 00  |(d..E.......x...|
00005ea0  13 00 00 00 00 00 00 00  53 4f 55 4e 44 00 00 00  |........SOUND...|
00005eb0  a0 64 00 00 45 ff ff ff  a4 a1 e8 df 44 00 00 00  |.d..E.......D...|
00005ec0  13 00 00 00 00 00 00 00  53 50 43 00 e4 64 00 00  |........SPC..d..|
00005ed0  45 ff ff ff a5 a1 e8 df  4d 00 00 00 13 00 00 00  |E.......M.......|
00005ee0  00 00 00 00 53 51 52 00  34 65 00 00 45 ff ff ff  |....SQR.4e..E...|
00005ef0  a9 a1 e8 df 29 00 00 00  13 00 00 00 00 00 00 00  |....)...........|
00005f00  53 54 45 50 00 00 00 00  60 65 00 00 45 ff ff ff  |STEP....`e..E...|
00005f10  ab a1 e8 df 41 00 00 00  13 00 00 00 00 00 00 00  |....A...........|
00005f20  53 54 45 52 45 4f 00 00  a4 65 00 00 45 ff ff ff  |STEREO...e..E...|
00005f30  b0 a1 e8 df 1a 00 00 00  13 00 00 00 00 00 00 00  |................|
00005f40  53 54 4f 50 00 00 00 00  c0 65 00 00 45 ff ff ff  |STOP.....e..E...|
00005f50  b1 a1 e8 df 49 00 00 00  13 00 00 00 00 00 00 00  |....I...........|
00005f60  53 54 52 21 78 32 34 00  0c 66 00 00 45 ff ff ff  |STR!x24..f..E...|
00005f70  b3 a1 e8 df 3c 00 00 00  13 00 00 00 00 00 00 00  |....<...........|
00005f80  53 54 52 49 4e 47 21 78  32 34 00 00 48 66 00 00  |STRING!x24..Hf..|
00005f90  45 ff ff ff b5 a1 e8 df  4d 00 00 00 13 00 00 00  |E.......M.......|
00005fa0  00 00 00 00 53 55 4d 00  98 66 00 00 45 ff ff ff  |....SUM..f..E...|
00005fb0  ba a1 e8 df 51 00 00 00  13 00 00 00 00 00 00 00  |....Q...........|
00005fc0  53 55 4d 4c 45 4e 00 00  ec 66 00 00 45 ff ff ff  |SUMLEN...f..E...|
00005fd0  dd a1 e8 df 8b 00 00 00  13 00 00 00 00 00 00 00  |................|
00005fe0  53 57 41 50 00 00 00 00  78 67 00 00 45 ff ff ff  |SWAP....xg..E...|
00005ff0  de a1 e8 df 26 01 00 00  13 00 00 00 00 00 00 00  |....&...........|
00006000  53 59 53 00 a0 68 00 00  45 ff ff ff e2 a1 e8 df  |SYS..h..E.......|
00006010  cc 00 00 00 13 00 00 00  00 00 00 00 54 41 42 00  |............TAB.|
00006020  6c 69 00 00 45 ff ff ff  e3 a1 e8 df 56 00 00 00  |li..E.......V...|
00006030  13 00 00 00 00 00 00 00  54 41 4e 00 c4 69 00 00  |........TAN..i..|
00006040  45 ff ff ff e5 a1 e8 df  69 00 00 00 13 00 00 00  |E.......i.......|
00006050  00 00 00 00 54 45 4d 50  4f 00 00 00 30 6a 00 00  |....TEMPO...0j..|
00006060  45 ff ff ff e8 a1 e8 df  27 00 00 00 13 00 00 00  |E.......'.......|
00006070  00 00 00 00 54 48 45 4e  00 00 00 00 58 6a 00 00  |....THEN....Xj..|
00006080  45 ff ff ff ee a1 e8 df  6a 00 00 00 13 00 00 00  |E.......j.......|
00006090  00 00 00 00 54 49 4d 45  00 00 00 00 c4 6a 00 00  |....TIME.....j..|
000060a0  45 ff ff ff ef a1 e8 df  a0 00 00 00 13 00 00 00  |E...............|
000060b0  00 00 00 00 54 49 4e 54  00 00 00 00 64 6b 00 00  |....TINT....dk..|
000060c0  45 ff ff ff 15 a2 e8 df  23 00 00 00 13 00 00 00  |E.......#.......|
000060d0  00 00 00 00 54 4f 00 00  88 6b 00 00 45 ff ff ff  |....TO...k..E...|
000060e0  19 a2 e8 df 3a 00 00 00  13 00 00 00 00 00 00 00  |....:...........|
000060f0  54 4f 50 00 c4 6b 00 00  45 ff ff ff 1b a2 e8 df  |TOP..k..E.......|
00006100  90 00 00 00 13 00 00 00  00 00 00 00 54 52 41 43  |............TRAC|
00006110  45 00 00 00 54 6c 00 00  45 ff ff ff 1c a2 e8 df  |E...Tl..E.......|
00006120  43 00 00 00 13 00 00 00  00 00 00 00 54 52 55 45  |C...........TRUE|
00006130  00 00 00 00 98 6c 00 00  45 ff ff ff 1e a2 e8 df  |.....l..E.......|
00006140  47 00 00 00 13 00 00 00  00 00 00 00 54 57 49 4e  |G...........TWIN|
00006150  00 00 00 00 e0 6c 00 00  45 ff ff ff 20 a2 e8 df  |.....l..E... ...|
00006160  67 00 00 00 13 00 00 00  00 00 00 00 54 57 49 4e  |g...........TWIN|
00006170  4f 00 00 00 48 6d 00 00  45 ff ff ff 25 a2 e8 df  |O...Hm..E...%...|
00006180  29 00 00 00 13 00 00 00  00 00 00 00 55 4e 54 49  |)...........UNTI|
00006190  4c 00 00 00 74 6d 00 00  45 ff ff ff 26 a2 e8 df  |L...tm..E...&...|
000061a0  68 00 00 00 13 00 00 00  00 00 00 00 55 53 52 00  |h...........USR.|
000061b0  dc 6d 00 00 45 ff ff ff  28 a2 e8 df 5e 00 00 00  |.m..E...(...^...|
000061c0  13 00 00 00 00 00 00 00  56 41 4c 00 3c 6e 00 00  |........VAL.<n..|
000061d0  45 ff ff ff 4c a2 e8 df  af 00 00 00 13 00 00 00  |E...L...........|
000061e0  00 00 00 00 56 44 55 00  ec 6e 00 00 45 ff ff ff  |....VDU..n..E...|
000061f0  4d a2 e8 df 51 00 00 00  13 00 00 00 00 00 00 00  |M...Q...........|
00006200  56 4f 49 43 45 00 00 00  40 6f 00 00 45 ff ff ff  |VOICE...@o..E...|
00006210  50 a2 e8 df 3b 00 00 00  13 00 00 00 00 00 00 00  |P...;...........|
00006220  56 4f 49 43 45 53 00 00  7c 6f 00 00 45 ff ff ff  |VOICES..|o..E...|
00006230  54 a2 e8 df 45 00 00 00  13 00 00 00 00 00 00 00  |T...E...........|
00006240  56 50 4f 53 00 00 00 00  c4 6f 00 00 45 ff ff ff  |VPOS.....o..E...|
00006250  5a a2 e8 df de 00 00 00  13 00 00 00 00 00 00 00  |Z...............|
00006260  57 41 49 54 00 00 00 00  a4 70 00 00 45 ff ff ff  |WAIT.....p..E...|
00006270  5c a2 e8 df 26 00 00 00  13 00 00 00 00 00 00 00  |\...&...........|
00006280  57 48 45 4e 00 00 00 00  cc 70 00 00 45 ff ff ff  |WHEN.....p..E...|
00006290  5f a2 e8 df 29 00 00 00  13 00 00 00 00 00 00 00  |_...)...........|
000062a0  57 48 49 4c 45 00 00 00  f8 70 00 00 45 ff ff ff  |WHILE....p..E...|
000062b0  63 a2 e8 df 27 00 00 00  13 00 00 00 00 00 00 00  |c...'...........|
000062c0  57 49 44 54 48 00 00 00  44 41 54 41 a2 00 00 00  |WIDTH...DATA....|
000062d0  53 41 56 45 20 5b 66 69  6c 65 6e 61 6d 65 5d 0a  |SAVE [filename].|
000062e0  54 68 69 73 20 63 6f 6d  6d 61 6e 64 20 73 61 76  |This command sav|
000062f0  65 73 20 74 68 65 20 63  75 72 72 65 6e 74 20 70  |es the current p|
00006300  72 6f 67 72 61 6d 2e 0a  49 66 20 66 69 6c 65 6e  |rogram..If filen|
00006310  61 6d 65 20 69 73 20 6f  6d 69 74 74 65 64 2c 20  |ame is omitted, |
00006320  61 6e 64 20 66 69 72 73  74 20 6c 69 6e 65 20 0a  |and first line .|
00006330  69 6e 20 70 72 6f 67 72  61 6d 20 69 73 20 31 30  |in program is 10|
00006340  20 52 45 4d 20 3e 73 74  72 69 6e 67 2c 0a 74 68  | REM >string,.th|
00006350  69 73 20 73 74 72 69 6e  67 20 69 73 20 75 73 65  |is string is use|
00006360  64 20 69 6e 73 74 65 61  64 2e 00 00 44 41 54 41  |d instead...DATA|
00006370  6a 00 00 00 53 47 4e 20  78 0a 54 68 69 73 20 66  |j...SGN x.This f|
00006380  75 6e 63 74 69 6f 6e 20  67 69 76 65 73 20 74 68  |unction gives th|
00006390  65 20 76 61 6c 75 65 73  0a 20 20 2d 31 20 69 66  |e values.  -1 if|
000063a0  20 78 20 69 73 20 6e 65  67 61 74 69 76 65 0a 20  | x is negative. |
000063b0  20 20 30 20 69 66 20 78  20 69 73 20 7a 65 72 6f  |  0 if x is zero|
000063c0  0a 20 20 20 31 20 69 66  20 78 20 69 73 20 70 6f  |.   1 if x is po|
000063d0  73 69 74 69 76 65 00 00  44 41 54 41 4f 00 00 00  |sitive..DATAO...|
000063e0  53 49 4e 20 78 20 0a 54  68 69 73 20 66 75 6e 63  |SIN x .This func|
000063f0  74 69 6f 6e 20 67 69 76  65 73 0a 74 68 65 20 73  |tion gives.the s|
00006400  69 6e 65 20 6f 66 20 61  20 6e 75 6d 62 65 72 2e  |ine of a number.|
00006410  0a 78 20 69 73 20 67 69  76 65 6e 20 69 6e 20 72  |.x is given in r|
00006420  61 64 69 61 6e 73 2e 00  44 41 54 41 78 00 00 00  |adians..DATAx...|
00006430  53 4f 55 4e 44 0a 53 4f  55 4e 44 20 63 68 61 6e  |SOUND.SOUND chan|
00006440  6e 65 6c 2c 61 6d 70 6c  69 74 75 64 65 2c 70 69  |nel,amplitude,pi|
00006450  74 63 68 2c 64 75 72 61  74 69 6f 6e 20 5b 2c 73  |tch,duration [,s|
00006460  74 61 72 74 20 62 65 61  74 5d 0a 20 20 4d 61 6b  |tart beat].  Mak|
00006470  65 20 61 20 73 6f 75 6e  64 2e 0a 0a 53 4f 55 4e  |e a sound...SOUN|
00006480  44 20 4f 4e 7c 4f 46 46  0a 20 45 6e 61 62 6c 65  |D ON|OFF. Enable|
00006490  7c 64 69 73 61 62 6c 65  20 73 6f 75 6e 64 73 2e  ||disable sounds.|
000064a0  44 41 54 41 44 00 00 00  53 50 43 20 6e 0a 49 6e  |DATAD...SPC n.In|
000064b0  20 3c 50 52 49 4e 54 3e  20 6f 72 20 3c 49 4e 50  | <PRINT> or <INP|
000064c0  55 54 3e 20 73 74 61 74  65 6d 65 6e 74 73 3a 0a  |UT> statements:.|
000064d0  70 72 69 6e 74 73 20 6f  75 74 20 6e 20 73 70 61  |prints out n spa|
000064e0  63 65 73 2e 44 41 54 41  4d 00 00 00 53 51 52 0a  |ces.DATAM...SQR.|
000064f0  54 68 69 73 20 66 75 6e  63 74 69 6f 6e 20 67 69  |This function gi|
00006500  76 65 73 20 74 68 65 0a  73 71 75 61 72 65 20 72  |ves the.square r|
00006510  6f 6f 74 20 6f 66 20 61  20 6e 75 6d 62 65 72 2e  |oot of a number.|
00006520  0a 20 20 20 20 53 51 52  28 58 2a 58 29 20 3d 20  |.    SQR(X*X) = |
00006530  58 00 00 00 44 41 54 41  29 00 00 00 53 54 45 50  |X...DATA)...STEP|
00006540  0a 50 61 72 74 20 6f 66  20 74 68 65 20 3c 46 4f  |.Part of the <FO|
00006550  52 3e 20 73 74 72 75 63  74 75 72 65 2e 00 00 00  |R> structure....|
00006560  44 41 54 41 41 00 00 00  53 54 45 52 45 4f 20 63  |DATAA...STEREO c|
00006570  68 61 6e 6e 65 6c 2c 70  6f 73 0a 53 65 74 20 74  |hannel,pos.Set t|
00006580  68 65 20 73 74 65 72 65  6f 20 70 6f 73 69 74 69  |he stereo positi|
00006590  6f 6e 0a 66 6f 72 20 61  20 63 68 61 6e 6e 65 6c  |on.for a channel|
000065a0  2e 00 00 00 44 41 54 41  1a 00 00 00 53 54 4f 50  |....DATA....STOP|
000065b0  0a 53 74 6f 70 20 70 72  6f 67 72 61 6d 2e 00 00  |.Stop program...|
000065c0  44 41 54 41 49 00 00 00  53 54 52 24 5b 7e 5d 20  |DATAI...STR$[~] |
000065d0  6e 72 0a 47 69 76 65 73  20 73 74 72 69 6e 67 20  |nr.Gives string |
000065e0  72 65 70 72 65 73 65 6e  74 61 74 69 6f 6e 0a 5b  |representation.[|
000065f0  69 6e 20 68 65 78 20 69  66 20 7e 5d 20 6f 66 20  |in hex if ~] of |
00006600  61 20 6e 75 6d 62 65 72  2e 00 00 00 44 41 54 41  |a number....DATA|
00006610  3c 00 00 00 53 54 52 49  4e 47 24 28 6e 72 2c 73  |<...STRING$(nr,s|
00006620  74 72 69 6e 67 29 0a 47  69 76 65 73 20 73 74 72  |tring).Gives str|
00006630  69 6e 67 20 72 65 70 6c  69 63 61 74 65 64 0a 6e  |ing replicated.n|
00006640  72 20 74 69 6d 65 73 2e  44 41 54 41 4d 00 00 00  |r times.DATAM...|
00006650  53 55 4d 20 61 72 72 61  79 28 29 0a 54 68 69 73  |SUM array().This|
00006660  20 66 75 6e 63 74 69 6f  6e 20 67 69 76 65 73 20  | function gives |
00006670  0a 74 68 65 20 73 75 6d  20 6f 66 20 61 6c 6c 20  |.the sum of all |
00006680  65 6c 65 6d 65 6e 74 73  0a 69 6e 20 61 6e 20 61  |elements.in an a|
00006690  72 72 61 79 2e 00 00 00  44 41 54 41 51 00 00 00  |rray....DATAQ...|
000066a0  53 55 4d 4c 45 4e 20 61  72 72 61 79 24 28 29 0a  |SUMLEN array$().|
000066b0  47 69 76 65 73 20 74 68  65 20 74 6f 74 61 6c 20  |Gives the total |
000066c0  6c 65 6e 67 74 68 0a 6f  66 20 61 6c 6c 20 65 6c  |length.of all el|
000066d0  65 6d 65 6e 74 73 0a 6f  66 20 61 20 73 74 72 69  |ements.of a stri|
000066e0  6e 67 20 61 72 72 61 79  2e 00 00 00 44 41 54 41  |ng array....DATA|
000066f0  8b 00 00 00 53 57 41 50  20 76 61 72 31 2c 76 61  |....SWAP var1,va|
00006700  72 32 0a 45 78 63 68 61  6e 67 65 20 74 68 65 20  |r2.Exchange the |
00006710  63 6f 6e 74 65 6e 74 73  20 0a 6f 66 20 74 68 65  |contents .of the|
00006720  20 74 77 6f 20 76 61 72  69 61 62 6c 65 73 2e 0a  | two variables..|
00006730  20 20 20 53 57 41 50 20  41 25 2c 42 25 0a 69 73  |   SWAP A%,B%.is|
00006740  20 65 71 75 69 76 61 6c  65 6e 74 20 74 6f 0a 20  | equivalent to. |
00006750  20 20 74 6d 70 25 20 3d  20 41 25 0a 20 20 20 41  |  tmp% = A%.   A|
00006760  25 20 20 20 3d 20 42 25  0a 20 20 20 42 25 20 20  |%   = B%.   B%  |
00006770  20 3d 20 74 6d 70 25 00  44 41 54 41 26 01 00 00  | = tmp%.DATA&...|
00006780  53 59 53 0a 53 59 53 20  65 78 70 72 20 7b 2c 65  |SYS.SYS expr {,e|
00006790  78 70 72 7d 5e 20 5b 54  4f 20 76 61 72 31 20 7b  |xpr}^ [TO var1 {|
000067a0  2c 76 61 72 6e 7d 5e 20  5b 3b 76 61 72 32 5d 5d  |,varn}^ [;var2]]|
000067b0  0a 54 68 65 20 53 59 53  20 73 74 61 74 65 6d 65  |.The SYS stateme|
000067c0  6e 74 20 63 61 6c 6c 73  20 6f 6e 65 20 6f 66 20  |nt calls one of |
000067d0  74 68 65 20 3c 53 57 49  3d 3e 53 57 49 2e 24 3e  |the <SWI=>SWI.$>|
000067e0  20 72 6f 75 74 69 6e 65  73 0a 69 6e 20 74 68 65  | routines.in the|
000067f0  20 6f 70 65 72 61 74 69  6e 67 20 73 79 73 74 65  | operating syste|
00006800  6d 2c 20 6f 72 20 69 6e  20 61 20 65 78 74 65 6e  |m, or in a exten|
00006810  73 69 6f 6e 20 6d 6f 64  75 6c 65 2e 0a 54 68 65  |sion module..The|
00006820  20 66 69 72 73 74 20 65  78 70 72 20 69 73 20 65  | first expr is e|
00006830  69 74 68 65 72 20 74 68  65 20 53 57 49 20 6e 75  |ither the SWI nu|
00006840  6d 62 65 72 20 6f 72 20  74 68 65 0a 53 57 49 20  |mber or the.SWI |
00006850  6e 61 6d 65 2e 20 49 66  20 69 74 20 69 73 20 61  |name. If it is a|
00006860  20 6e 61 6d 65 2c 20 74  68 69 73 20 6d 75 73 74  | name, this must|
00006870  20 66 69 72 73 74 20 62  65 0a 6c 6f 6f 6b 65 64  | first be.looked|
00006880  20 75 70 2c 20 61 6e 64  20 74 68 69 73 20 74 61  | up, and this ta|
00006890  6b 65 73 20 73 6f 6d 65  20 74 69 6d 65 2e 00 00  |kes some time...|
000068a0  44 41 54 41 cc 00 00 00  54 41 42 0a 49 6e 20 3c  |DATA....TAB.In <|
000068b0  50 52 49 4e 54 3e 20 6f  72 20 3c 49 4e 50 55 54  |PRINT> or <INPUT|
000068c0  3e 20 73 74 61 74 65 6d  65 6e 74 73 3a 0a 54 41  |> statements:.TA|
000068d0  42 28 6e 29 0a 20 20 4d  6f 76 65 20 74 65 78 74  |B(n).  Move text|
000068e0  20 63 75 72 73 6f 72 20  74 6f 20 63 6f 6c 75 6d  | cursor to colum|
000068f0  6e 20 6e 2e 0a 20 20 50  52 49 4e 54 20 54 41 42  |n n..  PRINT TAB|
00006900  28 31 30 29 22 63 6f 6c  75 6d 6e 20 31 30 22 0a  |(10)"column 10".|
00006910  20 20 0a 54 41 42 28 78  2c 79 29 0a 20 20 4d 6f  |  .TAB(x,y).  Mo|
00006920  76 65 20 74 65 78 74 20  63 75 72 73 6f 72 20 74  |ve text cursor t|
00006930  6f 0a 20 20 73 63 72 65  65 6e 20 70 6f 73 69 74  |o.  screen posit|
00006940  69 6f 6e 20 78 2c 79 2e  0a 20 20 50 52 49 4e 54  |ion x,y..  PRINT|
00006950  20 54 41 42 28 30 2c 30  29 22 55 70 70 65 72 20  | TAB(0,0)"Upper |
00006960  6c 65 66 74 20 63 6f 72  6e 65 72 22 44 41 54 41  |left corner"DATA|
00006970  56 00 00 00 54 41 4e 20  6e 72 0a 54 68 69 73 20  |V...TAN nr.This |
00006980  66 75 6e 63 74 69 6f 6e  20 67 69 76 65 73 0a 74  |function gives.t|
00006990  68 65 20 74 61 6e 67 65  6e 74 20 6f 66 20 61 20  |he tangent of a |
000069a0  6e 75 6d 62 65 72 2e 0a  20 54 41 4e 20 78 20 3d  |number.. TAN x =|
000069b0  20 3c 53 49 4e 3e 20 78  20 2f 20 3c 43 4f 53 3e  | <SIN> x / <COS>|
000069c0  20 78 00 00 44 41 54 41  69 00 00 00 54 45 4d 50  | x..DATAi...TEMP|
000069d0  4f 0a 54 45 4d 50 4f 20  65 78 70 72 0a 20 20 53  |O.TEMPO expr.  S|
000069e0  65 74 20 74 68 65 20 73  6f 75 6e 64 20 6d 69 63  |et the sound mic|
000069f0  72 6f 62 65 61 74 20 74  65 6d 70 6f 2e 0a 0a 78  |robeat tempo...x|
00006a00  20 3d 20 54 45 4d 50 4f  0a 20 20 47 69 76 65 73  | = TEMPO.  Gives|
00006a10  20 74 68 65 20 63 75 72  72 65 6e 74 20 6d 69 63  | the current mic|
00006a20  72 6f 62 65 61 74 20 74  65 6d 70 6f 2e 00 00 00  |robeat tempo....|
00006a30  44 41 54 41 27 00 00 00  54 48 45 4e 0a 50 61 72  |DATA'...THEN.Par|
00006a40  74 20 6f 66 20 74 68 65  20 3c 49 46 3e 20 73 74  |t of the <IF> st|
00006a50  72 75 63 74 75 72 65 00  44 41 54 41 6a 00 00 00  |ructure.DATAj...|
00006a60  54 49 4d 45 0a 52 65 61  64 2f 53 65 74 20 63 6c  |TIME.Read/Set cl|
00006a70  6f 63 6b 3a 0a 0a 20 54  49 4d 45 20 3d 20 31 32  |ock:.. TIME = 12|
00006a80  33 34 35 0a 20 20 20 20  78 20 3d 20 54 49 4d 45  |345.    x = TIME|
00006a90  0a 54 49 4d 45 24 20 3d  20 22 54 75 65 2c 20 31  |.TIME$ = "Tue, 1|
00006aa0  30 20 44 65 63 20 31 39  39 31 2e 31 38 3a 35 31  |0 Dec 1991.18:51|
00006ab0  3a 35 30 22 0a 20 20 20  78 24 20 3d 20 54 49 4d  |:50".   x$ = TIM|
00006ac0  45 24 00 00 44 41 54 41  a0 00 00 00 54 49 4e 54  |E$..DATA....TINT|
00006ad0  0a 54 49 4e 54 20 61 2c  74 0a 20 20 53 65 74 20  |.TINT a,t.  Set |
00006ae0  74 68 65 20 74 69 6e 74  20 66 6f 72 20 3c 43 4f  |the tint for <CO|
00006af0  4c 4f 55 52 3e 7c 3c 47  43 4f 4c 3e 7c 66 6f 72  |LOUR>|<GCOL>|for|
00006b00  65 7c 62 61 63 6b 20 61  0a 20 20 74 6f 20 74 20  |e|back a.  to t |
00006b10  69 6e 20 32 35 36 20 63  6f 6c 6f 75 72 20 6d 6f  |in 256 colour mo|
00006b20  64 65 73 2e 0a 0a 61 20  3d 20 54 49 4e 54 28 78  |des...a = TINT(x|
00006b30  2c 79 29 0a 20 20 47 69  76 65 73 20 74 68 65 20  |,y).  Gives the |
00006b40  74 69 6e 74 20 6f 66 20  61 20 70 6f 69 6e 74 20  |tint of a point |
00006b50  69 6e 20 32 35 36 20 63  6f 6c 6f 75 72 20 6d 6f  |in 256 colour mo|
00006b60  64 65 73 2e 44 41 54 41  23 00 00 00 54 4f 0a 50  |des.DATA#...TO.P|
00006b70  61 72 74 20 6f 66 20 3c  46 4f 52 3e 20 73 74 72  |art of <FOR> str|
00006b80  75 63 74 75 72 65 2e 00  44 41 54 41 3a 00 00 00  |ucture..DATA:...|
00006b90  54 4f 50 0a 47 69 76 65  73 20 74 68 65 20 61 64  |TOP.Gives the ad|
00006ba0  64 72 65 73 73 20 0a 6f  66 20 74 68 65 20 65 6e  |dress .of the en|
00006bb0  64 20 0a 6f 66 20 74 68  65 20 70 72 6f 67 72 61  |d .of the progra|
00006bc0  6d 2e 00 00 44 41 54 41  90 00 00 00 54 52 41 43  |m...DATA....TRAC|
00006bd0  45 0a 54 52 41 43 45 20  5b 53 54 45 50 5d 20 4f  |E.TRACE [STEP] O|
00006be0  4e 7c 4f 46 46 7c 50 52  4f 43 7c 6e 72 0a 20 20  |N|OFF|PROC|nr.  |
00006bf0  54 72 61 63 65 20 5b 69  6e 20 73 69 6e 67 6c 65  |Trace [in single|
00006c00  20 73 74 65 70 20 6d 6f  64 65 5d 20 6f 6e 20 6f  | step mode] on o|
00006c10  72 20 6f 66 66 0a 20 20  6f 72 20 70 72 6f 63 65  |r off.  or proce|
00006c20  64 75 72 65 20 6f 72 20  66 75 6e 63 74 69 6f 6e  |dure or function|
00006c30  20 63 61 6c 6c 73 20 0a  20 20 6f 72 20 6c 69 6e  | calls .  or lin|
00006c40  65 73 20 62 65 6c 6f 77  20 74 68 65 20 6e 75 6d  |es below the num|
00006c50  62 65 72 2e 44 41 54 41  43 00 00 00 54 52 55 45  |ber.DATAC...TRUE|
00006c60  0a 54 68 69 73 20 66 75  6e 63 74 69 6f 6e 20 67  |.This function g|
00006c70  69 76 65 73 20 0a 74 68  65 20 6c 6f 67 69 63 61  |ives .the logica|
00006c80  6c 20 76 61 6c 75 65 20  27 74 72 75 65 27 20 69  |l value 'true' i|
00006c90  2e 65 2e 20 2d 31 2e 00  44 41 54 41 47 00 00 00  |.e. -1..DATAG...|
00006ca0  54 57 49 4e 0a 54 68 69  73 20 63 6f 6d 6d 61 6e  |TWIN.This comman|
00006cb0  64 20 63 6f 6e 76 65 72  74 73 0a 74 68 65 20 70  |d converts.the p|
00006cc0  72 6f 67 72 61 6d 20 74  6f 20 74 65 78 74 2c 0a  |rogram to text,.|
00006cd0  61 6e 64 20 63 61 6c 6c  73 20 54 77 69 6e 2e 00  |and calls Twin..|
00006ce0  44 41 54 41 67 00 00 00  54 57 49 4e 4f 20 6e 72  |DATAg...TWINO nr|
00006cf0  0a 54 68 69 73 20 63 6f  6d 6d 61 6e 64 20 63 6f  |.This command co|
00006d00  6e 76 65 72 74 73 20 74  68 65 20 70 72 6f 67 72  |nverts the progr|
00006d10  61 6d 0a 74 6f 20 74 65  78 74 20 77 69 74 68 20  |am.to text with |
00006d20  61 20 3c 4c 49 53 54 20  6f 70 74 69 6f 6e 3d 3e  |a <LIST option=>|
00006d30  4c 49 53 54 4f 3e 2c 0a  61 6e 64 20 63 61 6c 6c  |LISTO>,.and call|
00006d40  73 20 54 77 69 6e 2e 00  44 41 54 41 29 00 00 00  |s Twin..DATA)...|
00006d50  55 4e 54 49 4c 0a 50 61  72 74 20 6f 66 20 3c 52  |UNTIL.Part of <R|
00006d60  45 50 45 41 54 3e 20 73  74 72 75 63 74 75 72 65  |EPEAT> structure|
00006d70  2e 00 00 00 44 41 54 41  68 00 00 00 55 53 52 20  |....DATAh...USR |
00006d80  61 64 72 0a 54 68 69 73  20 66 75 6e 63 74 69 6f  |adr.This functio|
00006d90  6e 20 67 69 76 65 73 20  74 68 65 20 76 61 6c 75  |n gives the valu|
00006da0  65 0a 72 65 74 75 72 6e  65 64 20 62 79 20 74 68  |e.returned by th|
00006db0  65 20 6d 61 63 68 69 6e  65 20 63 6f 64 65 20 72  |e machine code r|
00006dc0  6f 75 74 69 6e 65 0a 61  74 20 74 68 65 20 67 69  |outine.at the gi|
00006dd0  76 65 6e 20 61 64 64 72  65 73 73 2e 44 41 54 41  |ven address.DATA|
00006de0  5e 00 00 00 56 41 4c 20  73 74 72 24 0a 54 68 69  |^...VAL str$.Thi|
00006df0  73 20 66 75 6e 63 74 69  6f 6e 20 67 69 76 65 73  |s function gives|
00006e00  20 74 68 65 20 6e 75 6d  65 72 69 63 0a 76 61 6c  | the numeric.val|
00006e10  75 65 20 6f 66 20 61 20  74 65 78 74 75 61 6c 20  |ue of a textual |
00006e20  73 74 72 69 6e 67 2e 0a  20 20 20 20 20 56 41 4c  |string..     VAL|
00006e30  20 22 34 32 22 20 3d 20  34 32 00 00 44 41 54 41  | "42" = 42..DATA|
00006e40  af 00 00 00 56 44 55 0a  56 44 55 20 3c 6e 72 3d  |....VDU.VDU <nr=|
00006e50  3e 56 44 55 2e 24 3e 20  7b 2c 7c 3b 5b 7c 5d 6e  |>VDU.$> {,|;[|]n|
00006e60  72 7d 20 5b 2c 7c 3b 20  6f 72 20 7c 5d 0a 20 20  |r} [,|; or |].  |
00006e70  4c 69 73 74 20 6f 66 20  76 61 6c 75 65 73 20 74  |List of values t|
00006e80  6f 20 62 65 20 73 65 6e  74 20 74 6f 20 76 64 75  |o be sent to vdu|
00006e90  2e 0a 20 20 2c 20 3a 20  70 72 65 63 65 64 69 6e  |..  , : precedin|
00006ea0  67 20 76 61 6c 75 65 20  69 73 20 38 20 62 69 74  |g value is 8 bit|
00006eb0  2e 0a 20 20 3b 20 3a 20  70 72 65 63 65 64 69 6e  |..  ; : precedin|
00006ec0  67 20 76 61 6c 75 65 20  69 73 20 31 36 20 62 69  |g value is 16 bi|
00006ed0  74 2e 0a 20 20 7c 20 3a  20 38 20 62 79 74 65 73  |t..  | : 8 bytes|
00006ee0  20 6f 66 20 7a 65 72 6f  65 73 2e 00 44 41 54 41  | of zeroes..DATA|
00006ef0  51 00 00 00 56 4f 49 43  45 20 63 68 61 6e 6e 65  |Q...VOICE channe|
00006f00  6c 2c 73 74 72 69 6e 67  0a 41 73 73 69 67 6e 20  |l,string.Assign |
00006f10  61 20 6e 61 6d 65 64 20  73 6f 75 6e 64 20 61 6c  |a named sound al|
00006f20  67 6f 72 69 74 68 6d 0a  74 6f 20 74 68 65 20 76  |gorithm.to the v|
00006f30  6f 69 63 65 20 63 68 61  6e 6e 65 6c 2e 00 00 00  |oice channel....|
00006f40  44 41 54 41 3b 00 00 00  56 4f 49 43 45 53 20 65  |DATA;...VOICES e|
00006f50  78 70 72 0a 53 65 74 20  74 68 65 20 6e 75 6d 62  |xpr.Set the numb|
00006f60  65 72 20 6f 66 0a 73 6f  75 6e 64 20 76 6f 69 63  |er of.sound voic|
00006f70  65 20 63 68 61 6e 6e 65  6c 73 2e 00 44 41 54 41  |e channels..DATA|
00006f80  45 00 00 00 56 50 4f 53  0a 54 68 69 73 20 66 75  |E...VPOS.This fu|
00006f90  6e 63 74 69 6f 6e 20 67  69 76 65 73 0a 74 68 65  |nction gives.the|
00006fa0  20 79 2d 63 6f 6f 72 64  69 6e 61 74 65 0a 6f 66  | y-coordinate.of|
00006fb0  20 74 68 65 20 74 65 78  74 20 63 75 72 73 6f 72  | the text cursor|
00006fc0  2e 00 00 00 44 41 54 41  de 00 00 00 57 41 49 54  |....DATA....WAIT|
00006fd0  0a 57 61 69 74 20 66 6f  72 20 76 65 72 74 69 63  |.Wait for vertic|
00006fe0  61 6c 20 73 79 6e 63 2e  0a 4f 6e 20 61 20 6e 6f  |al sync..On a no|
00006ff0  72 6d 61 6c 20 6d 6f 6e  69 74 6f 72 2c 20 74 68  |rmal monitor, th|
00007000  69 73 20 77 69 6c 6c 20  68 61 70 70 65 6e 20 35  |is will happen 5|
00007010  30 0a 74 69 6d 65 73 20  61 20 73 65 63 6f 6e 64  |0.times a second|
00007020  2c 20 62 75 74 20 6d 75  6c 74 69 73 79 6e 63 20  |, but multisync |
00007030  6d 6f 6e 69 74 6f 72 73  0a 6d 61 79 20 77 65 6c  |monitors.may wel|
00007040  6c 20 67 6f 20 66 61 73  74 65 72 20 28 6f 72 20  |l go faster (or |
00007050  65 76 65 6e 20 73 6c 6f  77 65 72 21 29 2c 20 73  |even slower!), s|
00007060  6f 0a 79 6f 75 20 73 68  6f 75 6c 64 20 6e 6f 74  |o.you should not|
00007070  20 2a 61 73 73 75 6d 65  2a 20 74 68 61 74 20 74  | *assume* that t|
00007080  68 69 73 20 77 69 6c 6c  0a 68 61 70 70 65 6e 20  |his will.happen |
00007090  35 30 20 74 69 6d 65 73  20 61 20 73 65 63 6f 6e  |50 times a secon|
000070a0  64 2e 00 00 44 41 54 41  26 00 00 00 57 48 45 4e  |d...DATA&...WHEN|
000070b0  0a 50 61 72 74 20 6f 66  20 3c 43 41 53 45 3e 20  |.Part of <CASE> |
000070c0  73 74 72 75 63 74 75 72  65 2e 00 00 44 41 54 41  |structure...DATA|
000070d0  29 00 00 00 57 48 49 4c  45 0a 57 48 49 4c 45 20  |)...WHILE.WHILE |
000070e0  65 78 70 72 0a 20 20 6c  69 6e 65 73 0a 45 4e 44  |expr.  lines.END|
000070f0  57 48 49 4c 45 00 00 00  44 41 54 41 27 00 00 00  |WHILE...DATA'...|
00007100  57 49 44 54 48 20 65 78  70 72 0a 53 65 74 20 77  |WIDTH expr.Set w|
00007110  69 64 74 68 20 6f 66 20  6f 75 74 70 75 74 2e 00  |idth of output..|
00007120