ꋰ̠~ARW!Ì O8 O0 \Рhш}~ x|dxARM BBC Basic V version 1.00 for ARM Second Processor (C) Acorn 1986 TO,1~;Cɠhј-ш>  2 R  C R -R) 2 @2Jk`,2}g2zUx @0-@-̠@Lt"Q:9d @ PProgram renumbered Sorry, no - options presently. ab to start with a file (text/tokenised). ab @xxxxxxxx,xxxxxxxx to start with in-core text. 5I  R PP\qz 0P` 6`Q*`6 p\ppQ:, P@ 0R::R:AR :GR * B T@TZ wÌɠhј-ш>̠ -: G -@  U:Warning: unmatched ()   Warning: line number too big P5Warning: unmatched "  ZZ*~AT$*QUG\ APB[{ ; Z :Z6 Z Z$00Z0 @OD AP**L0X0d9*$0.<3dX7p7x78l9 * p W =WI$i- Z =ZB$ :Z ZZ$:Z Z @ Aऒ||||||||||||||||||||||||}|||||||||||||||||||||||||||||PU||||||||||||||||||||||||||||||||<tOtJJJJFOQ4:<:PKL:L;;\<<\=t=M=>??MM`@BOMC|EE(F8FTFFFG`LHHHQ @OD A4GHI$J,JtCDPE \``dl` 1\p?Ì ~L\ Q R* h00ј  0\#* t!!(-4)=@%:@%=&900::" at line " @%=!(-4): @-` Q`  Q`a@-P P}0 EL  PK{ ; P  `K` `!0`1rc2@$TP` P 00 0 Z Z  !* Z  Z  @-.4,Z`" Z =ZS" @-"[" )K@  Z :Z ZZ"M" zPރ_P!ZPރAP!9Pރ0P.P%D@@@?@@@@%F @P%AT@$@ @-P3@-P,@@-P,@0 P 0 B P"PP%5J(PZ)PZE&P *AP:GP:aP:gP::P ,P *P3P @0.P #:4 :-P :QP U::\*@0@BЍ8:*AP:WP-_EPP"LPP"RPP"`P: `V*pV .W `V:V P`V:P:-V!*%:pp#pB :3@``B%0#@#0#@#66:*A B@#%P#ZYa/P:@-\00@!P( AP:ZP (wNH5W  +pu(5Ew~'S]r$;NX]R?o wwwj6NH5W1?KX_fk#J9QkdSWAl} 7.Gp/E|/ ecANDABSACSADVALASCASNATNAUTOBGETBPUTCOLOURCALLCASEJCHAINCHR$CLEARCLOSECLGCLSCOSCOUNTCIRCLEJCOLORDATA DEGDEFDELETEDIVDIMDRAWENDPROCEDITO EDIT ENDWHILEENDCASEENDIFENDENVELOPEELSEEVALERLERROREOFEORERREXPEXTFORFALSEFILLJFNGOTOGET$GETGOSUBGCOLHIMEMCHELP INPUTIFINKEY$INKEYINTINSTR(LISTLINELOAD LOMEMCLOCALLEFT$(LENLETLOGLNLVAR MANDELJMID$(MODEMODMOVENEXTNEW NOTOLD ONOFFORIGINJOROPENINOPENOUTOPENUPOSCLIOTHERWISEPRINTPAGECPTRCPIPLOTPOINT(POINTJPROCPOSQUIT RETURNREPEATREPORTREADREM RUNRADRESTORERIGHT$(€RNDRECTANGLEJRENUMBERSTEPSAVE SGNSINSQRSPCSTR$STRING$(ĀSOUNDSTOPSWAPJTANTHENTOTAB(TRACETIMECTRUETWIN UNTILUSRVDUVALVPOSWHILEJWHENWIDTH unlistable token Bitwise logicalnd between two tegers.Priority 6.Integer division, roundedwards zero, between two tegers.Priority 3.Bitwise logical exclusive-or between two tegers.Priority 7.Remainderfter teger division between two tegers.Priority 3.Bitwise logical between two tegers.Priority 7.(a) Part ON: ON ERROR [LOCAL|OFF] <s>.(b) Causen error: ERROR ,.(a) Draw : LINE x1,y1,x2,y2(b) Part INPUT LINE LINE INPUT .(a) Part TRACE OFF, ON ERROR OFF s.(b) Turn cursorf.Part FOR..TO..STEP.In PRINT INPUT s, prints out n spaces: PRINT SPC(10).In PRINT INPUT s:(a) TAB column n: PRINT TAB(10)s$.(b) TAB screen position : PRINT TAB(10,20)s$.Part IF..THEN..ELSE. If foundt , it is partof block IF..THEN..ELSE..ENDIF.ELSE canlsoppear ON .. GOTO/GOSUB/PROC set default option.Part IF..THEN. If THEN is followed by new it troducesa blockd IF..THEN..ELSE..ENDIF.Introduces  reference ternalm.Open Update: opens putnd output. magnitude (absolute)rc cosine specifiednalogue port buffer. ASCII code first.rc sinerc tangent next byte specified: BGET. cosines PRINTed since last new . degrees radians.  last error. error last error.This evaluatess if it were  : EVAL("2*X+1"). exponential length (extent)n open: EXT.EXT= sets lengthn open. logical 'false' i.e. 0.Call FNfred( ): define one DEF FNfred(a,b). ASCII next  put stream.(a) INKEY 0 32767: wait centiseconds GET.(b) INKEY -255 -1: check specific key TRUE/FALSE.(c) INKEY -256: check operating system.INSTR(,[,]) find sub position. nearest teger less than equal. length. natural logarithm (base e) common logarithm (base 10)ll bits verted (0,1 terchanged).Open Input: opens put.Open Output: opens output. 'pi' 3.1415926535.POINT( ) logical colour graphics point. x-coordinate text cursor. radians degrees.(a) RND: random teger.(b) RND(n), n<0: itialise random generator based on n.(c) RND(0): last RND(1).(d) RND(1): random real 0..1.(e) RND(n), n>1: random between 1nd INT(n).s -1, 0, 1 negative, zero, positives. sine square root tangentTO: part FOR..TO..TOP:ddress end . logical 'true' i.e. -1. returned by machine code routine. numeric textual e.g. VAL"23". y-coordinate text cursor. one supplied ASCII code. next inputs one.GET$ next.CHR$(INKEY...): see INKEY.LEFT$(,): lefts.(a) MID$(,):lling position.(b) MID$(,,): some position.MID$ canlso bessigned:sre overwritten by new ones.RIGHT$(,): rightmosts.STR$[~]: representation [in hex]STRING$(,): replicated by.EOF returns TRUE/FALSE ift end open.WHEN [,]^: identifies case sectiont .See CASE.Identifies case exceptional sectiont . See CASE.End caset . See CASE.End block ift . See IF.End while. See WHILE. position .PTR= sets position .ddress . computational real time clock.TIME$ reads sets display version clock.ddress s.ddress end memory.SOUND ,,,.BPUT,: put byte open.BPUT,[;]: put open,[out] new .Call machine code.Loadnd run new Basic .Forgetll s.CLOSE: close specified.Clear graphics screen.Clear text screen.Introduces  DATA be READ. The list items is seperated by ,s.Define procedure. End definition = = TO [STEP ].GOSUB < >: call subroutinet .GOTO < >: go .GCOL : set graphicseground colour (background 128+.GCOL ,: set graphicse/background colourndction.Single if: IF  [THEN] <s> [ELSE <s>.Block if: IF  THEN < s>optional: ELSE < s> ENDIFINPUT ['|TAB|SPC]["display"][,|;]<>: put  user.INPUT,: put data open.Optional partssignment.LOCAL : make things private procedure.MODE n: set screen mode.MOVE [BY] : graphics move/relative by .NEXT [<>[,<>]^]: closes one several FOR..NEXTs.ON: cursor on.ON ERROR [LOCAL|OFF|TO|RESTORE] control error handling.ON < GOTO|GOSUB|PROC.... call specified list item.VDU [;|][,[;|]: lists be sent vdu., only - 8 bits; ; 16 bits; | 8 bytes zeroes.PLOT n, : graphics operation n.PRINT ['|TAB|SPC]["display"][][;] print things fieldsdefined by @%. See manual.PRINT,: print data open.Call procedure PROCfred( ); define one DEF PROCfred(a,b).READ : read s turn DATA s.Ignores rest .REPEAT: REPEAT..UNTIL;  delimiter not required.REPORT: print last error message.REPORT$ last error.RESTORE [< >]: restore data pointer , number.End subroutine.Clear snd executiont beginning .Stop .COLOUR : set texteground colour (background 128+).COLOUR,b: set palette entry logical colour physical colour b.TRACE [STEP] ON|OFF|PROC|: trace [in single step mode] on f procedure  calls s below.UNTIL : end REPEAT..UNTIL.WIDTH : set width output. Non-operational!OSCLI : give Operating System Command Line Interpreter.CASE : CASE..WHEN..OTHERWISE..ENDCASE.CIRCLE [FILL] ,r: draw circle out /solid: needs GXR.FILL : flood fill point : needs GXR.ORIGIN : sets s new graphics 0,0 point.POINT : set pixelt .RECTANGLE [FILL] xlo,ylo,width,height: draw rectangle out /solid: needs GXR.SWAP <>,<>: exchange contents.WHILE : WHILE..ENDWHILE.MANDEL : sets C% Mandelbrot colour limit D%. generates s typing  .AUTO [[,]] deletesll s between specifieds.DELETE , converts  textnd calls Twin. converts  text LIST option. help on usage terpreter. lists :LIST [< >][,[< >]][IF]. list section [if pattern]LISTO . Bits mean:-0: space before 1: dent2: split st :3: don't list 4: listkens lower case loads new . listsll s use. erases current . recovers justfter NEW. leaves terpreter. renumbers s  :RENUMBER [[,]] saves current .0-.@̠0@ T:@- >L@ I,Z7E aPD1!@=,Z+P5..ZR AZ:XZE:Zo*[!(-4)=@%:"BBC Basic V assembled on 14th April 1986":@%=&900:"Basic program size "P-" bytes":"Basic variables use "!&C46C-P" bytes":"Memory remaining is "-!&C46C" bytes"'"Help on keyword e.g. HELP HELP or letter 'HELP A' or 'HELP .' for all":@%=!(-4): P !*P:  P .Z PFQ#/ *Q  QQQ(Q2Q<QFQP: Qd/O:$:,0 PP/M* P/*( 0SP P/* the of number structure gives function string to line x,y or in program start value file from for# with charactervariablestatement a of a number ().This commandThis function gives theThis psuedo-variable reads or sets the@- ma\!0@\ QQ *1 Bad program `@@l@-0DP0aQ"*0P@43 4 0S*l d'tt@-H Q  Y: Y1 Not enough room to EDIT this program }qOP P*}pP*p)L@P\@,Z P,ZP Z L3g` W ?P'WW:P @ @ , ;>0 Twin 9 P07 RZl Y 3~1So*@0 6`C@- Z! Z 0"Z 0#3 ZZZZ`FZZ`\>ZZ` ^@  ^@ ^ S0!4 ' @D  J HW E;74< P} "P@$4:0 P:P'@ W?bP@#AStatic Integer variables: @% = &p A`PP Z:% = `[6Pp@``5a @4 Dynamic variables:@4O {({<{ @0 P(2 $2$ %2 = - 2 @-0,)undimensioned) = "1 0P.1"`51 wProcedures: WpPROC1) fFunctions: F_FNA-@p02 (  IRETURN  Cbyte2=integer27real21stringR:+$ string  $ array0,) @-; ({ L@-P   I:\4`q\Z*  W:\Z*@$@I \Z*p t"Z) Z 9ZZZ `A\QZ * QPP T Failed with  on line  : L y-M   0\A`QSi\P* 0 0 0 >0 T; :;9F -pK@T-*P@ 4 T44`p2*4. - p [01< :: :d ,:M":  :\ 0::W,: 42 2 @P40 ~ @ : LP* 0 0 /(RdL Y*-g mpl0-X7Jpl V*lq ,Z CAZ#: =*(P %P$P(P @0-q03 l100P-8-- 3P*8 Q@0x*0@,Z )ZylqWtp Ph*@TlqPr4q \ 1M xW@T- P ЍM - Q ЍR Y*-=Z ZU `- Z 0 - Z 0 -@-T L  P*K(\0  R: R:  K P Zy Z Zt4:l : : : :  Z Z LP* 0 P0 O: : LP* 0 0  #ZG @@PZ@Lk@g P@,Z;Z L0-0 -@5 ?m A P@@ Y ,Z Z P0--Y# ;0:00o{ u --[ *[ ,Z ~AT*e:04 4:  Y* 04 40- x04& 40 j6JPѳЍ,Z sW0!0 bj   0 (7JЍՉЍ0$DL%TqP4AW3JUTQP@ZF Z:Z Z LrxZZZZKP/: @ QQ- (Q@)Q@D4:Q! ,QPZ Z G -@ Q QL0  R:R QQ Q{ Z Z Z ZLшy!-P! #ZL L 0 t 1 Q*a@P:Z ZZN@P:Z ZZ ~ZP ,Z ;Z $ 0-L0K 0-@ 0I T11t)Bt"Z0@- ] 'Z Z Z0@-KqP00@-,Z )Z tP !;-   Kp`,ZU Y*-- p Z ,Z ZZ* @ Z Z^-jS  @ta0\:Z ZZ LDpVA0TUP M @4Ѝ4 Ѝ4Ѝ4Ѝ*\\hј-9Z : L -!-- !    ,:O- 0Y:0-- - 0 Р9  PU@:A ZZA Z Z  :-L~AT*@T0 Ѝy #L-P -Z** Z "Z!1ZZ ZZ@pЍ ,:K/ +--------  (    [*Q:0Ѝg>-nLRB 27\lzT$Z /  I=Z}M,Ba<dl]7hР-ш0 Yp,Zi-17 -,Z+1 -)Z =ZR#\p R ppq0 pgEQP#UppG9PP3 W*@TUQ 3---n ,: -!! ~xFD@-Z:LL ,Z -m:P@e Lo-n-l-v0kiiV-a0 O -L-W0KIhEe-9-8-6-@80422 +) %#  6 :Z1 Z/ Z- L5 : ,Z ;Z |Z -U-  L,ZJ-  K ;:  9 24 3- ,Z,m @ P U :# 0) 0` f0S  J , ( $   R Ѝ -,Z )  9 J$ $ $    2 r  2   9w m - z@)t7cp PT!7S 7O 7K 7G 7A 7A 7; 7% 7 7 7 7 7E ;p P@@mPU -P@@P 5* ' $ !pP@@mPEU <<-P@@P5   0  # ZZL"! Z:Z Z ZZZZ L0@-U  9< KU  $ ( , 9* [! b$ b$ b$  U95% 2! PPQ0 PeYU*laP5 Q: TP XP \P PYElQ001  0  T:0 㞡u  : :: : ]: E Y*@ P0_]:  :: :  B:   0 2SWIADCADDANDBICCMN+CMP*EORMOV=MVN?ORRRSBRSCSBCSUBTEQ)TST(LDRDSTRTLDMhSTMxOPTR#*,QR1"N:1    x 03 P4G!Z ,Zo{Z#<0,Z }Z^Z IAIBDADBFAFDEAEDbZBZ tZTZ@[Z%]Z ,Z>#Z K]Ze,Za#Z YVBANG0C`B P *SZsZSZsZPZpZSZsZ#Z ,Z)ALAS  P:` R I1 r  L: KK {Bu`00@#14c 01@,A2/ -B 2> 2  :0 0 0 @2@0P* tL  P :0 0  \:001 :Z*~AT *QU\ AP[{  0!  00:: :;:\: :: :@-!'   ( 03 P2ALCC0CS EQGEGTHIHS LELSLTLO0MI@NENVPLPVCpVS` : RP9Z0Z:00Z:9Z5Z &JPP C0 K@-P K Z ,Z  @J "eT% 3P 4 `6 @`P6 5 2 4@1@J1l!  K  Qr * 03 0 3PP9  -9Yl!Y9@-(  Z @ZZZ P%U(00  @W @zZ_0z |:w{@KZUzU_0uPZUAU*9U0U*%U$UP(Uj K 04, 06 "eT% 3 4 `eT % 2 6 eT % 2 6 eT % 2P 6 eT % 2 6@9@ "9@!: ?:0@- -C BYP%U(P  !Z $Z ?: ZK Z@-$BY@-0h 0h -0Ph *)Z ,Z P`P`P 0-00PU *,Z P)Z 03S BY !: ?: Z @- AZ#$ : @*(P %P$P (P 0)S 0-B-K9J-R  M 0@@Q--! -9 JR @@Q10@-[-XX0 p@dB bB`R 1`1:T@D  ` 9" J@-9q J@Q -G @ @-9[@W3JUTQP@-u9N R !9@00 PR `pW PЍ P"Z Z:3 9-:!`- Z-`@--Z+:3N <Z`8 >Z`" ``=Z >Z <Z K`-`-Q`r`o`=Z >Z Kf`c`@-T-Z+:3:9 J-K9 JA01# -@t01#@-*9 J-59 J -d -(\4!9 yW ` V *@9 R rdpW: w w w @- Z ^ZE /Z*:3 Z:3**7'M ]5 lЍ*9a !J P p-%9X J P p 0 bB@@dB@ 3`B *Ѝ@-@-8 Z ^Z~0) ZQ *0  `Ѝ@P`:jgQb  Ѝ  Z #Z! @- Z -Z@ A2 "ZG +ZL*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L* pL*L*pL*L*L*L*L*L*|L*||||||||||L*L*L*L*L*ppppppppppppppppppppppppppppL*L*L*L*ppppppppppppppppppppppppppppL*pL*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L* @X` h|    8  \ t  $ 8 `  0 D L (D|LLL*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*L*@-(Z1 7  27 o,Z )Z 1-)Z| 11 PAr$:g )0 Bi@- `RX01#9 Z "Z )K,Z Z BR) Z "Z"Z KE8 0>@- @Y: Y' 0 !0 0b110  !0 b Y ) 2 1 2 B B0)3   !0 b)0S@-h(@-)Z90Z:9Z 7J Z :Z: J Z:Z* K91Z0: K9@- \e$Z ] dThR@-  0CH0`B9@-$ @-@ RK  5@-[-057P: Ѝ!Ѝ@-[@- wt@-u-M 9܍@-l[D@-@-w $@ @-f,Za0)Z ,ZE_0P0CS0# YEB`U:`V :1 @y Y7ЍЍ0`VZ@-sl X3 Z@ PQ : `u:0`E @,@-]V B@-W[)@-R[49"@-K[!3@-E[-[^.e5{@-;@@-1@ t@-"@-,Z-@   Po*[W@-(Z0Jx 0 N Ѝx@@|A0  0x!|1b x|@-@ Z0 3/J0 *J@-@@-@- 1#@--@ Ѝ@-Y[PZC`@-f- :z@-@-;- Z -Z +Z@-z?@@-k) # 0 0 "#0 ) @-c( $@  )@-N,ZGp)BW 1)@->,Z7-,Z)Zp@IR )6`FPT:Wp!7 ipW@-_,Zyp`R)  W7 Z ~ZPPK @-@T@3 j @-,Z-@P 2 IPYE U`*PP1P@-@-[{:?PROC;FN 4 :]} \QP* P P P P 00p 7 `6 T*$ P (P B-*-!:- @0P*%0$0(P)P* 4|-|-,: ): -:  4 - P5`A060 6A@-l!&@--0 @zS_S*ZS@S*9S 0S :PzU _U*ZU@U*9U0U*KQ5PK!jP U (U K04-p`P0 )~P- D-04 -  A-pLY--  5*-V(- Z ,Z )ZP5306%X-V@u494T*`Ì4 T:A @D4'xTÌ4 VW W ppgtpgtpgtpWptxpyW``pWЍyW pWЍ pp "?1!o"a 1b @-b A+n"b +l"d +h"h + +9AK 0 1`BP1A2P1A2P1A2P1A2P1A291 QQ q03`BPQ:@ `u:0f3`fBZ13`B`FRpH00@P@-@-@R:`!" Q11J0Aap0n `0` a4F pfG5VqP4A 0#EP |T1@D P@T1@D P@T1@D P@T1@D P@T1@D P@T1@D P@T1@D P@T1@D P@@pG75JT1@D P@AT1:4PPeP!" Q3*1#`0` a4F pfG5VqP4A0 PQ' Pe u~:3 J"0):b  Q#:`"V00 `u13 J&4:b  Q: &R4 3ZP01p2A= A zR1`!"0E PQ :$U`4E PueQPeB6eA Pe$U6 0 Pu%QPeB2%A3J 1b  R*0 rA A aA z A0 0P@p`@Pp00 `0` a4F pfG5VqP4A 0#Ah&x$("X ! `p("X$ -P@  'q&a@DP BPQ*@D B 'q&a@@ @Q:@ @D B($P@ 'q&a@P@DPQ*@@D 'q&a@@@Q:@@@D($A A9 H-iBK[ : 㩐 "+ Ѝ[Z@-1#pAP@03$JA@@2@"r3s#@$P@ @$ @$pZ` `&PR: R`&O$`& pWp Q7`!"Q:P:3?J @-B@-U)@@a P ЍXT-ѱ}YOhy9,u;{1l*}0 3JP PP"A" @-ApP_=@ ,+*@$ Ѝr1)P ||6R6|@㪪*@Q!:L- Iq l h f [:Ѝ ^! b$ b$ b$ D  !0 0b110@- ?IɁazwo@-[Qx*80@pP>듐-0 -[O% nO2@ @z-Uqas{SĤ+wL|~n"0sQ1@-0Q:BO@-AqPF@{ ЍD}M~?ma#\~v~,>}ҁA tY,8cm5dXPdD@UP# T @#45 @p@-/P50``@5M 1 3-0C0D0CQ*pGQ: P:p7p@U@J T @#P#-  0P PUQ;3: P*T@@p`5 7JW*`p 5 ww.``0``p`` >000`V.00@T5 5 0y0S .S7 E00`-0C0D`fB00 `V0"*030:``5 7 T03 @- 00 Q072030Q0 RZ.Z 0P" 0J Z ,0Z: Q! .Z EZ 0J ZP3 *PE "! ,P030#p PK p 0r[5 J4PU;P0YP*" Y-Z +Z9Z 0Z: `9Z0Z"a ` `@-`f -:  P07YZZSilly!WNo room to do this renumberNNo roomJStoppedFInvalid LISTO option?Corruption of stack8Error control status not found on stack,Missing incore name%LIST/EDIT found line number refenceHELP has no information on this keywordNo such mnemonicBad immmediate constantBad address offsetBad registerMissing =MistakeMissing ,Type mismatchArray type mismatchNot in a functionToo low a value for $ Missing " No room for this dimension Bad DIM statement Arrays cannot be redimensioned Items can only be made local in a function or procedure Not in a procedureReference array incorrectUnknown arrayUndimensioned arraySubscript out of rangeIncorrect number of subscripts{Syntax errorvEscapesDivision by zeromString too longgNumber too bigbNegative root]Logarithm rangeWAccuracy lost in Sine/Cosine/TangentLExponent rangeGUnknown or missing variable>Missing ):Missing ]6Missing {2Missing }.Bad Hex*Hex number too large#Bad BinaryNo such function/procedureBad callArguments of function/procedure incorrect Not in a FOR loop!Can't match FOR"Missing FOR control variable#The step cannot be zero$Missing TO&Not in a subroutine'ON syntax(ON range)No such line*Out of data+Not in a REPEAT loop-Missing #.Not in a WHILE loop/Missing ENDCASE0CASE statment must be the last thing on a line1Missing ENDIF