LuL'MCL 1.6(C) J.O.Linton (1986)H%  HH  hhh(`HH) hH X L  !1c254() Ⅹ1(,5HF8G9 (h 0  芨| &43 8 -4 ꁩ5 8] N ()  LL̀` a bL F FLj L̀*" r hL̀ 6 "4LL̀4 6c L̀FGL  43 8 L4 8&c03ȱb\(8\J , ʈ ʠb0 L , `4`FHGH2 8hGhF`{A [ a_`8` N`_8`:0``DED` D!E`FGF`FG`HIH`FGF `FFGF` H!I`HDIE`F f f . `8` Ƃ HH F тȱHH H"$`I#%a`ȱH_ȱHH__eHHheIILDL Ƃ т }\` }N }O } `HeNHIeOILbquwprsdtv`APBȱF -BȱF r? 8PH 8 8@huPP@p0F80ePP QRS0кB CeFFG`A(LP&Q&R&S0`8PPQQRRSS`HHHS- C P&Q&R&S*  Pi0HPQRS٭H hh h hhh`DHEHPDEL愥DHEHŅDE@@  } }@hEhD`ȱD(FF.8``F N8``` 8L`@FGH@  LXh` DŽ@L@ DElDu7eۋD‰Iƅυ؅ ڂ DŽ@``#L̀ 2L 1L 4L` DȩDc 6L DLȱF L̀"ȱF L̀" ` ȱF #L̀"8H# *h * ȑF L ȱF LȱF |eFFG @ ڂ? _I BHAIBCDHEȱHFGH@ L@ L L̀ F! *  * ȑF"iH#i *h * ȑFL)HJJJJ ;h ;`i0:iȑF`c,5  54 6 ڂ) DŽ@ ؄@ L@@JJiJi5 8L̀- -ODE ꇩ/ -$L̀y 6. -ąDE ꇭ4 0L̀@ }0 L ȱD`@L ڂL̀ _L̀ $ "Db#EcbcbH\ȱH] D }\\]\] }D"HD"hD#HE#hE } } }L ڂL̀ _HbIcL̀ $ DHEI HJIKDHEI ȱF HLIM"8JN#KONOL8J\MK] ~F DDD8DEEDe\DȱDe]D L ڂL̀ _L̀ $"Hb#Icbcb тDiDEF DLDȑDȑD ȑDȑDȘHHhȑHȑH L L̀ ڂL̀ _\cHLIMLeHJȱLeIK"8JN#KONO ~ 6LBL%BL%F NȱF ( fL̀H DŽ@ ؄@L̀hF `ȱF NȱF f,)`&L̀HHHLeNMeO& LKMAJL37KeOKMeOMN JL(OKMOJL(hhh`OJLKMON JLNhhh`c LbHiDcIiE``8$Na%ONO$JHe^L$%KIe_M%`e^`ae_a ~ т_ DE^D` Ƃ() 0 6L  H L m(()(H )H 6 LF .  F FȱF  FȱDF FLAL0LYLL PQRSRSQ'P 2 } }XDYQ+XP!+CL )DJEK^\]Ľ } } )De_JEiK8_\]C \e^\]Je\LKe]M"8JN#KONO ~C!FGPD }QD }FD He\HȱHe]HLD _`ąFG@ `0 ` LK5  45 61HB 1 ڂ% DŽ@+\ _ L\HbIcc L L$ ƂcHYȱHNȱHOȱH0 LՍ HeNHIeOILōc Ƃ тD!ȱDNȱDO HeNHIeOI Lh1 L̀C^F `CHHIHHIF F* HLH HH)i^hIhH`"HH " NHLd ؄@FHH NHHHHH r HHh HHeFFhɬF.ЂȱF fH HLdH H Loc` A,1 D0 B,1  8L$  L̀eDDEBDP(BȱDQ)BPQ`Q8`RS\ ] ]ȱD (ɕ)D)iJJ ]DJ\L\L\ eAA$AA],10 $B0 A  } }HD8 E9 h 0 L)@ 5L ȥ\0eAA` 2 6FG^FFL $L̀ LM:0ɗ/#L ( ) (L̀( )LC ɁL* N L LjFG LgLFɝ " ȱFɞɟ: _ ْHi8Ii9 f". \ L@ L) })LC 4=L CL RStP6Q7 = L  Y \3ȱDHȱD7<hH63h7.67.6Dm6DEm7EȥPDȥQDȥRDȥSD`L L PQRS_\<$C#ȱD\ȱD^FQfPD_ \`7ЫȱD66 \Șe\eDDED^ȥ_DHH^`C 58aC @IAC @H_h%AHhC hh`F fi^_ $ \Hȥ^Hȥ_HHiDIiEȱF fDLDȑDHHI^N_O8`n2 ,1 D0 }L( ڂ(L ,+L HHIHDHEH FHGHDFEG _ \ &L ْ } }D ԔPDnhGhFhEhDhIhH },) } ),L+Ln Ԕ #b Ԕc ԔHbIcDFEG ԔhhLM  ߥbdce 딅c 딅b - 딅nLjFHGHn HdiFeiG ( , _ }hDnhGhFLjH`a`a& Lh``H``ah`P ԔQ ԔR ԔSLԔ 딅S 딅R 딅Q 딅P`F ԔGLԔ 딅G 딅F`D ԔELԔ 딅E 딅D``#% - 딅@)@LxP Ԕ  #ȹFȹGH h  - )L# ԔȹFȹGL2>$Ly  CA #FDGE B -L8P8S RQ` O\] Ɏ` O]\>LXF#ɹɺɻɼX  PeX`L _LF fY ڂF" ɞ ɟ#LC )Yim^]8\iX H\h eXHhe^^_ $\mm$C0iHȥ^Hȥ_HȹH fHȥXHȥ\H gȭȥ\]\LFLHH\1 @IAb @HCh%AHhb L $C0L$CLhh`LLAD" @` %@AȑD``8@ %@AȑD`-8 NOAFOfNȥNDȥODȑDȑDA``D0 }L} F\ DP`DP` ×Ll` × }L[=<>-+/*defgDHEH ( JLҘ JLҘ-ɷɡ r nL NL _ \ L L f.\j R nL\B (8 FD]H\ ×]Ph D &P&Q nLHPIQRS n JLϘ% 01jj L nL&A r AG880 L̙PQRS` &P&Q&R&S`ɰP ^ nLɱɲPQRS nLɴCz $   çPQRS nL ) _ QLL nL=D=_轗8__< =>> =__ _ LҘ fɈ hEhDL)L_d_B _B_ J`fɈ _L nLdd`dLd`ddd`PffQffRffSff`ffSffRffQffPf`L Q\ 윩څlm\ e\ellmll`L LLULUL^LLpLgLyL4LL~L:LĝLL#LCPeXPQeYQReZRSe[Sp`(L CL ܜPTP P&Q&R&S&T&U&V&W S0T B`LC(LP'L ܜ 윢PTP T&U&V&W&P&Q&R&SPX  4 CTآTPB`LCB LPXPX`S0`EBBLCPXP`P5XP`PIP`P0X0X0PX ``` //1 /&( / / / /P`uhhXhX :YʆX ~XʆYLXDYERSnP\Q]D^ȱD^ X )LȱDHȱD]?h\8Hh\&]\&]e\\]De\DEe]EȱDPȱDQȱDRȱDS`LH]ȥ\Dh$H\ \Șe\h ×ȱDPQRS`\ e\\e\ ×L+8 o#LDElD%W3bcs: h!桗ҤV:IDA}{S : C ɂ S0 Lj #  ԔLj # ԔLj #  딩 Lj ԔLjFDGE } : 8 } Ɏ!L 8 ɏ PQRS 8 Ԕ9 Ԕ ԔLj L PQR S Lj - #  ԔLj L P  - # ԔLj Lj L -Le L B : #L  v BDP PD v  /\W0\0\ -e``aLg 딡F :FGL ɖ"L  LgɗL $L Lj CT$S0PP P $L̀$T0Lj = L TP Lj Pv ,% Pt , PIrr p LgB ;B : B Lg" " L L ɗɣ  ]L (L QP8Q0 Lg : Lg P ,; Q Lg Lj Ԕ ԔLj #L 2  ɒɓLj Ԕ Ԕ ɚLLm Lj #L L Lj ڂ _LF fȄ^ ڂ RS LPXQYP&QP&QPe^i^eQ_ $ Hȥ^Hȥ_Hȹ fHHȥXHȥYHLj  Lj%/ L/&DE54ȱD G DED DED   DEDLj PQ ,%L PQ ,') PQ `H )I  h    L ; DED Lj ; 05      ) L9 )Lj5   b ` a Lj @,50@i Lիիdd'L d d, LgL  ԔLC  딈ӢPHXPhX`PHTPhT`\ \`Hi\h LŦ\ɒ hɓ`ɔ`h ( )ť\ɄLɌLɔL#L8P 8SRQ`@@@ 7ȥFȥG $: ɚȥFȥGȩ L,L LLj  Lj64CF%&=?! *<);3 "#(,:5 +-82$7 ./091@ABDEGH'>LISTTYPELOADSAVERUNDEFINEDELETECOPYRENAMERENUMBERNEWOLDHELPSTEPCOLOURSCROLLONOFFWORDSALL LOOPTIMESEXITLOOPENDLOOPREPEAT......UNTILWHILE......ENDWHILEFORTOSTEPNEXTCASEWHENOTHERWISEENDCASEIFTHENELSE WHENEVERDO...ENDWHENLETCONTROLREADDIMRNDPRINTTABCLSGRAPHPLOTJOINDISPLAYBEEPREM ENDWORDSTOPWAITTIMEHIGHLOWVDUKEYANDORNOTISUSERPRINTERFIREADVALENDWORDErrorCan't find that lineBad programLine number from 1 to 9999 onlyProgram stoppedEscapeOKNo roomNo such variableCan't find that wordNo word currently in useIncorrect use of wordMissing "Invalid channelMissing (Subscript out of rangeMissing )Subscript neededINPUT channel onlyOUTPUT channel onlyDefine what?Delete what?Name used alreadyInvalid nameMCL words not allowedENDCASE expectedENDLOOP expectedUNTIL expectedENDWHILE expectedNEXT expectedDon't understand thisTO expectedTHEN expectedMistakeNo loop to EXITLOOPMissing ,Bad parameter nameCan't divide by 0Number too bigInvalid expressionCONTROL or READ expectedIncorrect parametersDO expected-------------- Commands --------------------------- Reserved Words -----------Press SHIFT for the next listFor further help type HELP MCL (version 1.6) (c) J.O.Linton' '' ' '  LIST - lists the current word LIST - lists the word you have asked for (and makes this word the current word) LIST ALL - lists all the words you have defined so far LIST WORDS - lists the names only of all the words you have defined TYPE - types the current word on your printer TYPE - types the word you have asked for on your printer TYPE ALL - types all the words you have defined so far on your printer TYPE WORDS - types the names only of all the words you have defined on your printer LOAD"TEST" - loads the file named TEST from disc or tape and adds it to the current program SAVE"TEST" - saves all the currently defined words on disc or tape under the filename TEST SAVE"TEST"ABC DEF - saves the two words ABC and DEF under the filename TEST RUN TEST - first resets all variables to zero and then runs the word called TEST Just typing TEST on its own will run the word without resetting any variables DEFINE TEST - creates a new word TEST (which also becomes the current word) DELETE TEST - deletes the word TEST COPY TEST - copies the CURRENT word and gives the new copy the name TEST Always LIST the word you want to copy before using COPY RENAME TEST - renames the CURRENT word and gives it the name TEST Always LIST the word you want to rename before using RENAME RENUMBER - renumbers all defined words in steps of 10 NEW - Clears the computers memory in preparation for a new program OLD - Restores a NEWed program HELP - gives brief details of the commands and reserved words STEP ON / STEP OFF - turns step mode on or off When running a program in STEP mode, press the SHIFT key to carry out the next line COLOUR ON / COLOUR OFF - turns colour on or off when listing words SCROLL ON / SCROLL OFF - allows the screen to scroll while editing Use ON with STEP, COLOUR or SCROLL Use OFF with STEP, COLOUR or SCROLL Use WORDS with LIST or TYPE eg LIST WORDS Use ALL with LIST or TYPE eg TYPE ALL LOOP...ENDLOOP - loops for ever LOOP 5 TIMES...ENDLOOP - loops 5 times IF THEN EXITLOOP can be used to exit the loop at any time REPEAT...UNTIL repeats the loop until the condition becomes true WHILE ...ENDWHILE while the condition remains true the loop is repeated FOR N=1 TO 20 STEP 3...NEXT will loop 7 times. N will take the values 1 4 7 10 13 16 19 STEP may be omitted CASE WHEN DO...... WHEN DO...... OTHERWISE DO...... ENDCASE When the CASE structure is entered only the first true condition is carried out and the others are ignored. IF THEN ... ELSE ... if the condition is true, the first statement is carried out, otherwise the second one is carried out instead ELSE may be omitted WHENEVER DO... sets up a kind of interrupt which is tested at the end of every line ENDWHEN - cancels all such interrupts LET is used to set up input and output variables eg: LET"motor"CONTROL USER(1) - for output LET"sensor"READ ADVAL(2) - for input It can also be used in ordinary assignments eg: LET x=7 DIM(10) - dimensions an integer array with 11 elements numbered 0 to 10 RND(100) - returns a random number from 1 to 100 inclusive PRINT X - prints the value of X PRINT TAB(5)"*" - prints * in column 5 CLS - clears the screen GRAPH - sets graph mode PLOT X,Y (or PLOT C,X,Y) - plots a cross (in colour C) at X,Y JOIN X,Y (or JOIN C,X,Y) - joins the last point JOINed (in colour C) to X,Y DISPLAY - displays the current state of a) then data direction register b) the user port c) the printer port 0 = input or LOW, 1 = output or HIGH BEEP D,P,V - makes a beep of duration D (in 1/20 second), pitch P, volume V P and V are optional eg BEEP 20 will beep for 1 second REM - Everything after REM on a line is ignored ENDWORD - can be used to end a word in the middle eg IF X=3 THEN ENDWORD STOP - stops the program WAIT 200 - wait for 2 seconds TIME - counts in 1/100 of a second HIGH - has the value -1 LOW has the value 0 VDU - see p377 of the BBC User guide KEY - returns a number for each key (see MCL manual) AND OR NOT and IS can be used in conditions eg IF X=3 AND Y IS NOT HIGH THEN... IS is equivalent to = USER(0) to USER(7) - control the user port PRINTER(0) to PRINTER(7) control the printer port FIRE(1) and FIRE(2) control the fire buttons ADVAL(1) to ADVAL(4) control the ADC channels These words are only used with LET