&' COPYRIGHT (C) T&D SOFTWARE 1984&/6&WIN1 "S2" :IN2 "S4" :"S8"&w"BM=AX;,=AY; U2E4D4L8U4F4"&}&79&4:500& IA(14,1),AA(10,2):I1 14: IA(I,0),IA(I,1)::"V31T255L255"& :9)"spiral attack":' " IN THIS HI-RES GAME, YOUR SHIP WILL BE ATTACKED BE ALIENS. THE ALIENS WILL APPEAR OUT OF THE MIDDLE OF THE SCREEN, AND MOVING IN A SPIRAL, THEY WILL ATTACK YOUR SHIP.":( " THE ALIENS WILL BE MOVING TO- WARD YOU GIVING A THREE - DIM- ENSIONAL EFFECT."(? " USE THE RIGHT JOYSTICK TO CONT- ROL YOUR SHIP."(J 76:(t" BONUS SHIP EVERY 10,000 POINTS.":(" USE THE HIGH SPEED POKE ? Y/N"(K$:K$"Y" 65495,0:18(K$"N" 16)' -10,-10,10,-12,10,2,6,6,4,8,4,10,-4,10,-10,10,-10,4,-10,-4,-10,-4,-10,-4,+4,-10,6,-6)EGL10:NS3:SC0:AF0:SF0)T4:1,1:3)Z)lPX128:PY180)I1 10:AA(I,0)0:AA(I,1)128(2(3))((14)6):AA(I,2)96(2(3))((14)6):)25:26)"S4BM=PX;,=PY;D10R8U10H4G4":*NA10*H(0):P(65280)1*2 H10 H53 33*A"C1":25*aH10 PXPX4:PX0 PX0*H53 PXPX4:PX240 PX230* "C0":25*! P 44*"SXPX4:HF0:IN1 L4 :IN2 L8 :L12*#SXAX SXAXL HF1+$ HF SYAY :SY20+/%I2 5:I,1:(SX,PY6)(SX,SY),,BF+<&"O5E":+K' HF0 44+Y("C1":3+u)AF0:AA(R,0)1:NANA1+* NA0 63++SCSC100+, AF 54+-R(10): AA(R,0)1 45+.D(4): D 47,48,49,50, /AXAA(R,1)IA(R,0):AYAA(R,2)IA(R,1):51,90AXAA(R,1)IA(R,0):AYAA(R,2)IA(R,1):51,h1AXAA(R,1)IA(R,0):AYAA(R,2)IA(R,1):51,2AXAA(R,1)IA(R,0):AYAA(R,2)IA(R,1)-G3"O5DEADO4DEO3DEO2DEO1DEO3DEO2DEO1DE":R110 30 8:(AX,AY),R1,2:(AX,AY),R12,3:(AX,AY),R14,0:(AX,AY),R1,1:(AX,AY),R12,1:(AX,AY),R14,1::"O1DEDO2DEO3DEO4DEO5DEEDED"-_4IN1:"C2":3:AF1-h560-6"C1":3:AFAF1:AF14 56-7AXAA(R,1):AYAA(R,2):AF1:IN6 ININ1.d8D1 AXAXIA(AF,0)IN:AYAYIA(AF,1)IN : D2 AXAXIA(AF,0)IN:AYAYIA(AF,1)IN :D3 AXAXIA(AF,0)IN:AYAYIA(AF,1)IN :AXAXIA(AF,0)IN:AYAYIA(AF,1)IN.u9 AY178 61.: AY20 62.;"C2":3.<27.= (PXAX)10 67.>AA(R,0)0:AF0:"O5ADEFEO4DEFAFDEO3DEFAO2FEFEAO1DFEFO5DFEFEF":60/ ?B(9)1000/@SCSCB/:A SCBP NSNS1:BPBP10000/VB:10)"BONUS :";B:68/CEE1 8:(PX5,PY3),EE,(3)::"O1DEFEO5FEFEFEEFEO4FEFO3FEFO4FDFO2FO1FDEFEFEFFFFF":NSNS1::0,0/D" SCORE : ";SC;" SHIPS : ";NS/E NS0 710F76:200G:11)"GAME OVER":06H7)"PLAY AGAIN ? Y/N"0KIK$:K$"Y" 60\JK$"N" 730kK65494,0:0L@484,"press [enter] to continue";0M(13) 770N0O4:7:0,0/D" SCORE : ";SC;" SHIPS : ";NS/E NS0 710F76:19:N2N/2 N2N1 48/'3O(3):63/<4O(3):O3 56/U5L(2)1:119:N1N/l6L(2):119:N2N/7 N2N1 53 :63/8L2:119:N1N/9L(2):119:N2N/: N2N1 56 :63/;L3:119:N1N/ N1N2 590? O 64,65,6602@O$"+":CAN1N2:670KAO$"-":CAN1N2:670dBO$"*":CAN1N2:670C@423,"### ! ### = ";N1;O$;N2;: HT:TN$""0D0:TLTL(O1)0ETL0 @454,"YOU RAN OUT OF TIME.";: HT:780F60 TLTL1:01 GK$:K$"" 691HK$(13) 7515IK$"0" K$"9" 691fJK$;: HT:"O3DED":TN$TN$K$:(TN$)6 691vK"O2EDO4ED"1L@450,"THE CORRECT ANSWER WAS #####.";CA;: HT1MTN(TN$): TNCA 961N (5) 79,82,83,84,852<O@492,"FUMBLE!";: HT:"O1 XS$; O2 XS$; O3XS$; O4XS$;O5XS$ O4 XD$;O3XD$;O2XD$;O1XD$;"2TP O11 O12 :O112rQTD12000::TITI1:322RYD(4):862SYD(6):862TYD(5):862UYD(14)2V@487,"LOSS OF ## YARDS.";(YD);3 W O11 LSLS(YD) : LSLS(YD)3X O11 913-Y LS100 9336Z943K[ LS0 93 :943\\TITI1:323]@269,"SAFETY.";: HT:"O5 XD$; O4XD$; O3XD$; O4XD$; O3 XD$; O2XD$; O3XD$; O2XD$; O1 XD$;": O11 S(2)S(2)2:O12:LS80 :S(1)S(1)2:O11:LS204 ^ HT:TD02000:4_9243` (6) 97,98,99,99,99,1004IaYD(20)4:1014hbYD(4)(5)(6):1014{cYD(5):1014dYD(5)2:1014e@487,"GAIN OF ## YARDS.";(YD);4f O11 LSLSYD : LSLSYD4g O11 1064h LS0 1085i945j LS100 1085k945l@262,"T O U C H D O W N !";:S(O1)S(O1)7:"O1 XS$; XS$; O2 XS$; O3XS$; O2XS$; O4XS$; O5 XS$;"5m O11 O12 :O115n O11 LS20 :LS805o945p@363,"GAME OVER";5q@390,"PLAY AGAIN ? (Y/N)";6r HT6sK$:K$"Y" 26'tK$"N" 11566u359,126:6Pv(X224,BY),2,C,.5:6dwT$"":Q11 L6|xT$T$((10)47)6y:N(T$):6z@484,"PRESS [ENTER] TO CONTINUE";: HT6{ (13) 1236|6}4:3I/@ooo ={@%@=001cZ&S=VH=K`ӺO70100 Z&L &o L&|9 @""|""<""|" "|"""""|> < >> < " &"""">"""B<""$8$"" >"6*""""""2*&"">"""""><""< """*$<""<$""" ">""""""""""""""*6""""""""> >8 8@ *I ~ ?? |qRt%G  ">> >0 @"&*2"">" " $D~> <<" <"">""""""" >>  " ?? |qRt%G 01100 ENDFOR 01110 POKE 65315 , PEEK ( 65315 ) AND 247 01120 ENDSUB 01130 VAR 01140 JOYSTICK 01150 ENDVAR 01160 FUNCTION JOYSTICK ( X ) 01170 SYSTEM-CALL 43486 01180 ADDR = X + 346 01190 JOYSTICK = PEEK ( ADDR ) 01200 ENDFUNC 01210 VAR 01220 FIRE-BUTTON 01230 ENDVAR 01240 FUNCTION FIRE-BUTTON ( X ) 01250 ADDR = X + 1 01260 Y = PEEK ( 65280 ) AND ADDR 01270 IF Y THEN 01280 FIRE-BUTTON = 0 01290 ELSE 01300 FIRE-BUTTON = 1 01310 ENDIF 01320 ENDFUNC 01330 VAR 01340 NOT 01350 ENDVAR 01360 FUNCTION NOT ( X ) 01370 IF X = 0 THEN 01380 NOT = 1 01390 ELSE 01400 NOT = 0 01410 ENDIF 01420 ENDFUNC 01430 SUBROUTINE RESET-TIMER 01440 POKE 274 , 0 01450 POKE 275 , 0 01460 ENDSUB 01470 VAR 01480 TIMER 01490 ENDVAR 01500 FUNCTION TIMER ( Y ) 01510 TIMER = PEEK ( 274 ) * 256 + PEEK ( 275 ) 01520 ENDFUNC 01530 VAR 01540 RANDOM 01550 ENDVAR 01560 FUNCTION RANDOM ( Y ) 01570 IF Y <> 0 THEN 01580 POKE 277 , PEEK ( 277 ) + PEEK ( 274 ) 01590 POKE 278 , PEEK ( 278 ) + PEEK ( 275 ) 01600 X = PEEK ( 277 ) * 256 + PEEK ( 278 ) 01610 X = PEEK ( X ) 01620 WHILE X > Y 01630 X = X - Y 01640 ENDWHILE 01650 RANDOM = X 01660 ENDIF 01670 ENDFUNC OKE 277 , PEEK ( 277 ) + PEEK ( 274 ) 01590 POKE 278 , PEEK ( 278 ) + PEEK ( 275 ) 01600 X = PEEK ( 277 )&' COPYRIGHT (C) T&D SOFTWARE 1984&1125&_4:359,57:1000:HT(27)256(28)700& PN$(2),PL(2),S(2),TL(2):"V31T100L100":S$"CDEFGAB":D$"BAGFEDC"&0,0::6)"arithmetic football":'c" THIS PROGRAM IS INTENDED TO EX- ERCISE CHILDREN IN THEIR ARITH- METIC SKILLS. FOUR SKILL LEVELS ARE AVAILABLE RANGING FROM EASY TO DIFFICULT."(." WHEN A PLAYER HAS THE BALL, HE/ SHE WILL BE ASKED FOR THE AN- SWER TO AN EXERCISE. IF THE AN- SWER IS CORRECT, THE BALL WILL BE ADVANCED DOWN THE FIELD TO- WARD A POSSIBLE TOUCHDOWN.":122:(:::" IF THE ANSWER IS INCORRECT, THEN THE PLAYER WILL EITHER LOSE YARDAGE, OR FUMBLE THE BALL TO THE OTHER PLAYER. AN ASTERISK BY THE PLAYER'S NAME DESIGNATES WHO HAS THE BALL.")6 " A COMPLETE GAME IS 60 EXER- CISES.":122::::* :" YOU MAY ALSO SPECIFY HOW MUCH TIME THE PLAYER HAS TO RESPOND TO PROBLEMS. THIS MAY RANGE FROM 1 TO 99 SECONDS. IF TIME RUNS OUT BEFORE THE CORRECT ANSWER IS ENTERED, THEN THE PLAYER MAY LOSE YARDAGE OR"*9 " EVEN FUMBLE THE BALL."*C 122*P I1 2*:" PLEASE ENTER THE NAME OF PLAYER #";I;* PN$(I):PN$(I)"" 14**I1 2*:PN$(I)", WHAT SKILL LEVEL DO":" YOU WANT ? (1-4)"+f:" 1) EASY 2) MEDIUM 3) HARD 4) DIFFICULT"+{K$:K$"" 20+K(K$):K1 K4 20+PL(I)K,:" HOW MANY SECONDS DO YOU WANT TO ANSWER EACH PROBLEM? ";: TL(I):TL(I)99 TL(I)1 23, I,6::" THE COIN IS TOSSED...":HT,LTD0(5)100:,YO1(2),v" ";PN$(O1);" WINS !!!",122, O11 LS20 :LS80,BY80:TI60, 4:1,1:3,!1:2,1:(6,30)(246,130),,B-7"I46 206 20:(I,30)(I,130),::3,1:(26,30)(26,130),:4,1:(226,30)(226,130),-e#:@6,"% % SCORE: ###";PN$(1);S(1)-$@38,"% % SCORE: ###";PN$(2);S(2):@(O11)325,"*";-%TI0 112 :@361," TIME ##:00";TI;-& LS50 P$"THE":PPLS:41.' LS50 P$PN$(1):PPLS:41.+(P$PN$(2):PP100LS.])@385,"BALL ON % % ## YARD LINE.";P$;PP.u* HT:XLS:C3:118.+ PL(O1) 44,48,52,59.,L(2):119:N1N.-L1:119:N2N.. N1N2 44./O(2):63.0L(2):119:N1N/1L1:101100 ENDFOR 01110 POKE 65315 , PEEK ( 65315 ) AND 247 01120 ENDSUB 01130 VAR 01140 JOYSTICK 01150 ENDVAR 01160 FUNCTION JOYSTICK ( X ) 01170 SYSTEM-CALL 43486 01180 ADDR = X + 346 01190 JOYSTICK = PEEK ( ADDR ) 01200 ENDFUNC 01210 VAR 01220 FIRE-BUTTON 01230 ENDVAR 01240 FUNCTION FIRE-BUTTON ( X ) 01250 ADDR = X + 1 01260 Y = PEEK ( 65280 ) AND ADDR 01270 IF Y THEN 01280 FIRE-BUTTON = 0 01290 ELSE 01300 FIRE-BUTTON = 1 01310 ENDIF 01320 ENDFUNC 01330 VAR 01340 NOT 01350 ENDVAR 01360 FUNCTION NOT ( X ) 01370 IF X = 0 THEN 01380 NOT = 1 01390 ELSE 01400 NOT = 0 01410 ENDIF 01420 ENDFUNC 01430 SUBROUTINE RESET-TIMER 01440 POKE 274 , 0 01450 POKE 275 , 0 01460 ENDSUB 01470 VAR 01480 TIMER 01490 ENDVAR 01500 FUNCTION TIMER ( Y ) 01510 TIMER = PEEK ( 274 ) * 256 + PEEK ( 275 ) 01520 ENDFUNC 01530 VAR 01540 RANDOM 01550 ENDVAR 01560 FUNCTION RANDOM ( Y ) 01570 IF Y <> 0 THEN 01580 POKE 277 , PEEK ( 277 ) + PEEK ( 274 ) 01590 POKE 278 , PEEK ( 278 ) + PEEK ( 275 ) 01600 X = PEEK ( 277 ) * 256 + PEEK ( 278 ) 01610 X = PEEK ( X ) 01620 WHILE X > Y 01630 X = X - Y 01640 ENDWHILE 01650 RANDOM = X 01660 ENDIF 01670 ENDFUNC OKE 277 , PEEK ( 277 ) + PEEK ( 274 ) 01590 POKE 278 , PEEK ( 278 ) + PEEK ( 275 ) 01600 X = PEEK ( 277 )00100 VAR 00110 MODE-NUMBER 00120 COLOR-SET 00130 ENDVAR 00140 SUBROUTINE GRAPHICS ( MODE-NUMBER , COLOR-SET ) 00150 IF PEEK ( 188 ) <> 6 THEN 00160 POKE 65483 , 0 00170 ENDIF 00180 POKE 65479 , 0 00190 POKE 65477 , 0 00200 POKE 65475 , 0 00210 POKE 65472 , 0 00220 IF MODE-NUMBER = 0 THEN 00230 POKE 65314 , PEEK ( 65314 ) AND 7 OR 224 00240 ELSE 00250 POKE 65314 , PEEK ( 65314 ) AND 7 OR 240 00260 ENDIF 00270 IF COLOR-SET THEN 00280 POKE 65314 , PEEK ( 65314 ) OR 8 00290 ENDIF 00300 ENDSUB 00310 SUBROUTINE TEXT 00320 POKE 65476 , 0 00330 POKE 65474 , 0 00340 POKE 65472 , 0 00350 POKE 65482 , 0 00360 POKE 65478 , 0 00370 POKE 65314 , PEEK ( 65314 ) AND 7 00380 ENDSUB 00390 VAR 00400 INDEX 00410 COLOR 00420 START 00430 END 00440 CODE 00450 ENDVAR 00460 SUBROUTINE PCLS ( COLOR ) 00470 START = PEEK ( 186 ) * 256 + PEEK ( 187 ) 00480 END = START + 6165 00490 IF COLOR = 0 THEN 00500 CODE = 0 00510 ELSE 00520 IF COLOR = 1 THEN 00530 CODE = 85 00540 ELSE 00550 IF COLOR = 2 THEN 00560 CODE = 170 00570 ELSE 00580 CODE = 255 00590 ENDIF 00600 ENDIF 00610 ENDIF 00620 FOR INDEX = START TO END 00630 POKE INDEX , CODE 00640 ENDFOR 00650 ENDSUB 00660 VAR 00670 X 00680 Y 00690 COLOR 00700 START 00710 COLUMN 00720 ADDR 00730 BIT 00740 MASK 00750 TEMP 00760 ENDVAR 00770 SUBROUTINE PSET ( X , Y , COLOR ) 00780 X = X / 2 * 2 00790 START = PEEK ( 186 ) * 256 + PEEK ( 187 ) 00800 COLUMN = X / 8 00810 TEMP = COLUMN * 8 00820 ADDR = Y * 32 + COLUMN + START 00830 BIT = X - TEMP 00840 COLOR = COLOR AND 3 * 64 00850 MASK = 192 00860 WHILE BIT <> 0 00870 COLOR = COLOR / 2 00880 MASK = MASK / 2 00890 BIT = BIT - 1 00900 ENDWHILE 00910 MASK = 255 - MASK 00920 POKE ADDR , PEEK ( ADDR ) AND MASK OR COLOR 00930 ENDSUB 00940 VAR 00950 TONE 00960 DURATION 00970 VOLUME 00980 DELAY 00990 DELAY1 01000 ENDVAR 01010 SUBROUTINE SOUND ( TONE , DURATION , VOLUME ) 01020 POKE 65315 , PEEK ( 65315 ) OR 8 01030 FOR DELAY = 1 TO DURATION 01040 POKE 65312 , PEEK ( 65312 ) AND 3 OR VOLUME 01050 FOR DELAY1 = 1 TO TONE 01060 ENDFOR 01070 POKE 65312 , PEEK ( 65312 ) AND 3 01080 FOR DELAY1 = 1 TO TONE 01090 ENDFOR AL COMMMANDS, YOU MAY SEND THEIR OUTPUT TO THE PRINTER INSTEAD OF THE SCREEN BY INCLUDING IN YOUR PROGRAM (BEFORE PRINTING) THE STATEMENT:"e؇" POKE 111 , 254":220:eه" TO SEND THE OUTPUT BACK TO THE SCREEN:"eڇ" POKE 111 , 0"fۊf0܅PF :@484,"press [enter] to continue";fE݅(13) 221fKސf߆ 190,1,104,175,141,0,13,48,141,0,4,191,1,104,57,13,111,39,3,126f 0,0,50,98,52,52,189,162,133,198,254,215,111,189,162,133,15,111,53,52f 57f1:3111 , 0"f00100 VAR 00110 MODE-NUMBER 00120 COLOR-SET 00130 ENDVAR 00140 SUBROUTINE GRAPHICS ( MODE-NUMBER , COLOR-SET ) 00150 IF PEEK ( 188 ) <> 6 THEN 00160 POKE 65483 , 0 00170 ENDIF 00180 POKE 65479 , 0 00190 POKE 65477 , 0 00200 POKE 65475 , 0 00210 POKE 65472 , 0 00220 IF MODE-NUMBER = 0 THEN 00230 POKE 65314 , PEEK ( 65314 ) AND 7 OR 224 00240 ELSE 00250 POKE 65314 , PEEK ( 65314 ) AND 7 OR 240 00260 ENDIF 00270 IF COLOR-SET THEN 00280 POKE 65314 , PEEK ( 65314 ) OR 8 00290 ENDIF 00300 ENDSUB 00310 SUBROUTINE TEXT 00320 POKE 65476 , 0 00330 POKE 65474 , 0 00340 POKE 65472 , 0 00350 POKE 65482 , 0 00360 POKE 65478 , 0 00370 POKE 65314 , PEEK ( 65314 ) AND 7 00380 ENDSUB 00390 VAR 00400 INDEX 00410 COLOR 00420 START 00430 END 00440 CODE 00450 ENDVAR 00460 SUBROUTINE PCLS ( COLOR ) 00470 START = PEEK ( 186 ) * 256 + PEEK ( 187 ) 00480 END = START + 6165 00490 IF COLOR = 0 THEN 00500 CODE = 0 00510 ELSE 00520 IF COLOR = 1 THEN 00530 CODE = 85 00540 ELSE 00550 IF COLOR = 2 THEN 00560 CODE = 170 00570 ELSE 00580 CODE = 255 00590 ENDIF 00600 ENDIF 00610 ENDIF 00620 FOR INDEX = START TO END 00630 POKE INDEX , CODE 00640 ENDFOR 00650 ENDSUB 00660 VAR 00670 X 00680 Y 00690 COLOR 00700 START 00710 COLUMN 00720 ADDR 00730 BIT 00740 MASK 00750 TEMP 00760 ENDVAR 00770 SUBROUTINE PSET ( X , Y , COLOR ) 00780 X = X / 2 * 2 00790 START = PEEK ( 186 ) * 256 + PEEK ( 187 ) 00800 COLUMN = X / 8 00810 TEMP = COLUMN * 8 00820 ADDR = Y * 32 + COLUMN + START 00830 BIT = X - TEMP 00840 COLOR = COLOR AND 3 * 64 00850 MASK = 192 00860 WHILE BIT <> 0 00870 COLOR = COLOR / 2 00880 MASK = MASK / 2 00890 BIT = BIT - 1 00900 ENDWHILE 00910 MASK = 255 - MASK 00920 POKE ADDR , PEEK ( ADDR ) AND MASK OR COLOR 00930 ENDSUB 00940 VAR 00950 TONE 00960 DURATION 00970 VOLUME 00980 DELAY 00990 DELAY1 01000 ENDVAR 01010 SUBROUTINE SOUND ( TONE , DURATION , VOLUME ) 01020 POKE 65315 , PEEK ( 65315 ) OR 8 01030 FOR DELAY = 1 TO DURATION 01040 POKE 65312 , PEEK ( 65312 ) AND 3 OR VOLUME 01050 FOR DELAY1 = 1 TO TONE 01060 ENDFOR 01070 POKE 65312 , PEEK ( 65312 ) AND 3 01080 FOR DELAY1 = 1 TO TONE 01090 ENDFOR " SYSTEM-CALL [EXPRESSION] - CALLS A MACHINE LANGUAGE ROUT- INE WHERE THE EXPRESSION IS THE ADDRESS OF THE ROUTINE"T" WRITE-TXT [TEXT] - THIS COMMAND IS USED TO PRINT TEXT. THE STATEMENT 'WRITE-TXT HELLO' WOULD CAUSE THE WORD HELLO TO BE PRINTED."T220:T&::T" WRITELN-TXT IS SIMILAR TO WRITE-TXT EXCEPT THAT WRITELN- TXT CAUSES PRINTING TO START ON A NEW LINE WHILE WRITE-TXT CAUSES THE PRINTING TO CONTIN- UE ON THE SAME SCREEN LINE IF POSSIBLE."U220:U::U" ANOTHER COMMAND, WRITE-VAL, IS USED TO PRINT EXPRESSIONS. EXAMPLE: WRITE-VAL 3 THIS WOULD CAUSE 3 TO BE PRINT- ED."U" EXAMPLE: WRITE-VAL X * 6 THIS WOULD CAUSE THE VALUE OF X * 6 TO BE PRINTED."V<" YOU MAY ONLY PRINT ONE EXPRES- SION PER WRITE-VAL STATEMENT"VH220:V" THE POKE COMMAND WORKS EXACTLY LIKE THE ON IN BASIC. THE SYN- TAX IS:"V" POKE [EXPRESSION1] , [EXPRES- SION2]"W" HERE, EXPRESSION1 IS THE ADD- RESS TO POKE, AND EXPRESSION2 IS THE VALUE."W" THE PEEK FUNCTION LIKE THE ONE IN BASIC IS ALSO AVAILABLE. EXAMPLE: A = PEEK ( 16000 ) THIS WOULD PUT THE CONTENTS OF MEMORY LOCATION 16000 INTO VARIABLE A."W220:X<" THE OTHER BUILT-IN FUNCTION KEYCODE IS USED FOR READING THE COMPUTER KEYBOARD."Y" IF THE PARAMETER THAT YOU PASS TO THIS ROUTINE IS 0, THEN THIS COMMAND WILL BEHAVE LIKE THE INKEY$ FUNCTION. IF THE PARA- METER IS 1, THEN THE KEYBOARD WILL AUTO-FAST-REPEAT (GREAT FOR GAMES)."Y220:Y\" IF NO KEY IS PRESSED, THEN THE VALUE RETURNED IS ZERO."Y" WE HAVE NOW COVERED THE COM- MANDS AND ASPECTS OF THE SCL LANGUAGE."Z?" YOU WILL HAVE TO USE A SEPER- ATE TEXT EDITOR TO CREATE AND EDIT YOUR SCL SOURCE CODE. THE COMPILER DOES COMPILATION, NOT EDITING."ZK220:Z" WHEN YOU RUN THE COMPILER, IT WILL ASK YOU IF THE SOURCE FILE HAS LINE NUMBERS."Z" CERTAIN LINE EDITORS SAVE THE FILE WITH THE EDITOR LINE NUM- BERS."[A" EDTASM+ AND THE T&D LINE EDIT- OR SAVE THE FILE WITH LINE NUM- BERS."[~" YOU WILL THEN BE ASKED WHETHER TO USE TAPE OR DISK."[220:[" YOU WILL THEN BE ASKED FOR THE FILE- NAME."\[" YOU WILL THEN BE PROMPTED FOR THE START ADDRESS OF THE VAR- IABLE TABLE. THE VARIABLE TABLE IS THE AREA OF MEMORY USED TO STORE VARIABLE DATA."\‡" YOU WILL THEN BE PROMPTED FOR THE START ADDRESS OF THE CODE."\Á220:]=ć" THE COMPILER COMPILES CODE DIRECTLY INTO MEMORY STARTING AT THE ADDRESS YOU SPECIFY. THE MINIMUM STARTING ADDRESS IS 20000."]Ň" BECAUSE THE COMPILER TAKES UP ALL OF RAM UP TO 20000, YOU WILL ALWAYS HAVE TO COMPILE YOUR PROGRAMS TO MEMORY SOME- WHERE IN THE 20000 - 30000 ADDRESS SPACE."^Ɓ220:^LJ" SUPPOSE YOU WANT TO HAVE YOUR PROGRAM RESIDE AT 10000 WHEN IT IS RUNNING. WITH THIS COM- PILER YOU MAY OPT TO RELOCATE THE OBJECT CODE."_*ȇ" THE CODE WILL BE COMPILED LIKE NORMAL EXCEPT THAT IT WILL BE PRODUCED SO THAT IT WILL RUN CORRECTLY AT THE RELOCATION ADDRESS."_6Ɂ220:_ʇ" IF YOU WANT YOUR PROGRAM TO RESIDE AT 10000, FIRST, COMPILE YOUR CODE TO 20000, WITH A RE- LOCATION ADDRESS OF 10000. WHEN THE COMPILER IS DONE, SAVE THE OBJECT CODE TO DISK OR TAPE."`ˇ" TO LOAD THE OBJECT CODE TO THE PROPER ADDRESS, USE (C) LOADM 'FILENAME',OFFSET. FOR OUR EX- AMPLE, THE PROPER COMMAND WOULD BE:"ȧ" (C)LOADM'FILENAME',55536. THIS WOULD CAUSE THE FILE TO START LOADING AT 10000, ITS PROPER, RUNNING ADDRESS."a ́220:ah·" THE CODE PRODUCED BY THIS COM- PILER DOES NOT REQUIRE ANY 'RUN-TIME' PACKAGE."bKχ" WHEN COMPILING A PROGRAM, THERE IS A CHANCE THAT YOUR SOURCE CODE MAY CONTAIN ERRORS. SHOULD AN ERROR BE DETECTED, THE COM- PILER WILL TELL YOU THE NATURE OF THE ERROR. THE MOST COMMON ERROR IS THE SYNTAX ERROR."bЇ" OTHER ERRORS ARE:":" *UNDEFINED VARIABLE - YOU HAVE TRIED TO USE A VARIABLE NAME WHICH HAS NOT BEEN DECLARED."bс220:c)҇" *ILLEGAL SUBROUTINE BLOCK - FUNCTIONS AND SUBROUTINES MAY NOT BE NESTED."c[Ӈ" *ILLEGAL FUNCTION BLOCK - (SEE PREVIOUS)"cԇ" *TOO MANY SUBROUTINES - YOU HAVE TRIED TOO DECLARE MORE THAN 30 SUBROUTINES."dՇ" *TOO MANY FUNCTIONS - YOU MAY HAVE A MAXIMUM OF 30 FUNCTIONS DECLARED IN ANY ON PROGRAM.":220::" *ENDMAIN EXPECTED - THIS MEANS THAT THE COMPILER REACHED THE END OF YOUR PROGRAM SOURCE FILE BEFORE THE FINAL 'ENDMAIN'"dև" STATEMENT WAS READ."eׇ" WHEN USING THE WRITE-TXT, WRITELN-TXT, AND WRITE-V WHEN YOU CALL OR DEFINE A FUNC- TION, YOU MAY ONLY HAVE ONE ARGUEMENT."A[O220:AeP::B"Q" WHEN YOU CALL THE FUNCTION THROUGH THE USE OF AN EXPRES- SION, THE ARGUEMENT MAY ONLY BE ONE OF TWO THINGS. IT MAY EITHER BE A CONSTANT OF SOME KIND, OR A VARIABLE."B`R" THE ARGUEMENT OF A FUNCTION MAY NOT BE AN EXPRESSION."BlS220:BT" TO DECLARE A FUNCTION, USE THE FUNCTION STATEMENT."BU" FUNCTION 'NAME' ( 'VARIABLE' )"CV" THE NAME OF THE FUNCTION MUST HAVE PREVIOUSLY BEEN DEFINED IN A VAR ... ENDVAR BLOCK. THE VARIABLE IN THE PARENTHESES WHICH FOLLOW THE NAME SPECIFY THE VARIABLE WHICH WILL GET THE VALUE OF THE ARGUEMENT WHEN THE FUNCTION IS";CW" CALLED.":220:DX" AFTER THE DECLARATION, PUT IN THE CODE WHICH WILL CALCULATE THE RETURN VALUE OF THE FUNC- TION DEPENDING ON THE ARGUE- MENT. THIS CODE MAY SPAN OVER SEVERAL LINES. AT THE END OF THE FUNCTION, PUT THE VALUE"E=Y" YOU WANT TO RETURN INTO THE FUNCTION NAME USED AS A VARI- ABLE. END THE FUNCTION WITH THE KEYWORD ENDFUNC."EZ" YOU MAY HAVE UP TO 32 FUNCTIONS DEFINED IN YOUR PROGRAM.":220:E[" HERE IS A SAMPLE FUNCTION. IT COMPUTES THE FACTORIAL."E\" VAR"E]" VALUE":" TEMP"F^" FACTORIAL"F_" ENDVAR"F5`" FUNCTION FACTORIAL ( VALUE )"FFa" TEMP = 1"F_b" WHILE VALUE <> 0"F~c" TEMP = TEMP * VALUE"Fd" VALUE = VALUE - 1Fe" ENDWHILE"Ff" FACTORIAL = TEMP"Fg" ENDFUNC":220:Gh" HERE IS WHAT HAPPENS IN THE FACTORIAL FUNCTION."GCi" THE VARIABLE TEMP, IS SET TO 1."Gj" THE WHILE LOOP IS ENTERED. THE WHILE LOOP IS A TEST FIRST LOOP. THE FORM IS:"Gk" WHILE [EXPRESSION]"Gl" ."Gm" ."Gn" (CODE INSIDE LOOP)"Ho" ."Hp" ."H$q" ENDWHILE"H0r220:Is" IN THE CASE OF THE FUNCTION, THE EXPRESSION VALUE <> 0 IS EVALUATED. IF THE EXPRESSION IS TRUE (THAT IS, ITS VALUE IS NON-ZERO) THEN THE CODE INSIDE THE LOOP UP TO THE MATCHING ENDWHILE STATEMENT WILL BE"It" EXECUTED. CONTROL WILL THEN TRANSFER BACK TO THE TOP OF THE LOOP WHERE THE TEST WILL BE CONDUCTED AGAIN."Iu220:Jv" THE CODE IN THE WHILE LOOP IN THE FUNCTION TABULATES THE FACTORIAL IN THE TEMP VARIABLE. THE STATEMENT 'VALUE = VALUE - 1' IS AN ASSIGNMENT STATEMENT. THE EXPRESSION ON THE RIGHT OF THE LEFTMOST EQUAL SIGN IS EV-"Jw" ALUATED AND THE RESULT IS PLAC- ED IN THE VARIABLE ON THE FAR LEFT WHICH IN OUR CASE IS VALUE."Jx220:Ky" THE LAST TYPE OF PROGRAM BLOCK IS THE MAIN-CONTROL BLOCK. IT IS STARTED BY THE LINE MAIN-CONTROL AND IS ENDED BY THE LINE ENDMAIN.LIz" THERE MAY BE ONLY ONE MAIN- CONTROL BLOCK PER PROGRAM. WHEN THE PROGRAM IS EXEC-ED, CONT- ROL IS TRANSFERED IMMEDIATELY TO THE MAIN-CONTROL SECTION."LU{220:M |" THE WHILE ... ENDWHILE IS CALL- ED A CONTROL STRUCTURE. THERE ARE TWO OTHER TYPES OF CONTROL STRUCTURES. THESE ARE FOR ... ENDFOR, AND IF [EXPR] THEN ... ELSE ... ENDIF."Mh}" THE FOR STRUCTURE IS SIMILAR TO THE FOR-NEXT LOOP IN BASIC. THE FOR SYNTAX IS:"M~" FOR [VARIABLE] = [START-VALUE] TO [END-VALUE] BY [INCREMENT]"M" THE ENDFOR STATEMENT IS ANALOG- OUS TO THE 'NEXT' STATEMENT IN BASIC."N 220:N:::N" NOTE: THE START-VALUE, END- VALUE, AND INCREMENT MUST BE EITHER SOME TYPE OF CONSTANT OR VARIABLE. THESE MAY NOT BE EX- PRESSIONS."O " THE IF THEN ELSE STRUCTURE IS SIMILAR TO THE ONE IN BASIC EXCEPT THAT THE SYNTAX IS:"O220:O!::O>" IF [EXPRESSION] THEN"OL" ."Oe" (CODE FOR THEN)Os" ."O" ELSE"O" ."O" (CODE FOR ELSE)O" ."O" ENDIF":220:O::::P" THE ELSE SECTION IS OPTIONAL GIVING THE FOLLOWING SYNTAX:"P<" IF [EXPRESSION] THEN"P`" .":" (CODE FOR THEN)Py" .":" ENDIF"P220:P:::P" HERE IS AN EXAMPLE:"P" IF X > 255 THEN"P" X = X - 256P" ELSEP" X = X AND 8Q " ENDIF"Q220QQQ" NOW LETS COVER SOME OF THE OTH- ER COMMANDS."R " CLS - CLEARS THE SCREEN HOME - POSITIONS THE CURSOR AT THE UPPER LEFT CORNER WITH- OUT CLEARING THE SCREEN VTAB [EXPRESSION] - POSITIONS CURSOR IN 1 OF 16 LINE ON THE SCREEN"R" HTAB [EXPRESSION] - POSITIONA THE CURSOR IN 1 OF 32 COLUMNS DEPENDING ON EXPRESSION."R" [ - PLACING A '[' AT THE BE- GINNING OF A LINE WILL MAKE THAT LINE A COMMENT LINE."R220:R::S|YOUR CONSTANT BLOCKS AT THE BE- GINNING OF THE PROGRAM, BEFORE ANY SUBROUTINE, FUNCTION, OR MAIN-";/"CONTROL DECLARATIONS.":220:0 " VARIABLES ARE DECLARED SIMILAR- LY TO CONSTANT NAMES. EACH VAR- IABLE IS 2 BYTES AND CAN HOLD VALUES FROM 0 TO 65535."0&" EXAMPLE VAR BLOCK:"0W" VAR":" COUNT":" INDEX":" ENDVAR"0" A PROGRAM MAY CONTAIN MORE THAN ONE VAR BLOCK BUT BE SURE TO PUT IT IN YOUR SOURCE CODE AT THE BEGINNING WITH THE CONST- ANT DECLARATIONS."0220:13 " YOUR PROGRAM MAY CONTAIN UP TO 72 VARIABLES."2 !" YOUR PROGRAM MAY ALSO CONTAIN UP TO 32 SUBROUTINE BLOCKS. EACH SUBROUTINE BLOCK CONSISTS OF THE 'SUBROUTINE' DECLARATION STATEMENT, THE ACTUAL SUBROUT- INE CODE, AND FINALLY THE KEY- WORD 'ENDSUB'."2"" IN SCL, SUBROUTINES ARE GIVEN NAMES. YOU MAY ALSO WISH TO HAVE VALUES PASSED FROM THE CALLING ROUTINE TO THE SUB- ROUTINE.":220:3"#::" IF YOU DO NOT WANT TO PASS ANY VALUES TO THE SUBROUTINE, THEN THE SUBROUTINE DECLARATION SHOULD APPEAR AS :"3>$" SUBROUTINE 'NAME'":3%" EXAMPLE : SUBROUTINE HELLO WOULD DEFINE A SUBROUTINE CAL- LED HELLO WHICH PASSES NO VAL- UES."3&220:4':" YOU MAY PASS UP TO NINE VALUES TO A SUBROUTINE. FOR A SUBROUT- INE CALLED DRAW, WITH 2 VALUES PASSED TO IT, THE FIRST VALUE GOES TO THE PREVIOUSLY DECLARED VARIABLE 'NUMBER', AND THE SEC- OND VALUE GOES TO A PREVIOUSLY"4(" DECLARED VARIABLE 'CODE', THE SUBROUTINE DECLARATION STATE- MENT WOULD BE:"5&)" SUBROUTINE DRAW ( NUMBER , CODE )"52*220:5+::" NOTICE THE USE OF SPACES IN SCL. THE SPACE CHARACTER IS THE DELIMITER USED IN PARSING. YOU MUST USE SPACES."6," IN SCL, EACH LINE MAY CONTAIN ONE STATEMENT. TO CALL A SUB- ROUTINE, USE ITS NAME AS A COM- MAND. IF IT HAS PARAMETERS PASSED TO IT, BE SURE TO IN- CLUDE THE RIGHT NUMBER OF AR- ITHMETIC EXPRESSIONS."6-220:6.:6/" TO CALL THE DRAW SUBROUTINE WHICH WAS SHOWN EARLIER, THE STATEMENT WOULD BE:"70" DRAW ( EXPR , EXPR )":7P1" NOTE THAT EXPR MEANS ARITHMETIC EXPRESSION."72" NOW WOULD BE A GOOD TIME TO EX- PLAIN WHAT AN ARITHMETIC EX- PRESSION IS IN SCL AND HOW IT IS EVALUATED."73220:74::8D5" AN EXPRESSION IS A SERIES OF OPERANDS SEPERATED BY OPERA- TORS. THE OPERATORS IN SCL ARE:"8w6" + PLUS - MINUS * MULTIPLY / DIVIDE":87" BOOLEAN OPERATORS ARE : AND, OR, AND XOR (EXCLUSIVE-OR)":9q8220::::" THE RELATIONAL OPERATORS ARE: = EQUALS <> NOT EQUALS => GREATER THAN OR EQUAL TO <= LESS THAN OR EQUAL TO > GREATER THAN < LESS THAN":9" WHEN A RELATIONAL OPERATOR IS EVALUATED, IF THE RELATION IS CORRECT, THEN THE VALUE OF THE OPERATION IS 1. IF THE TEST PROVES FALSE, THEN THE VALUE IS 0.":(:220::0;::<" EXPRESSIONS ARE EVALUATED LEFT TO RIGHT WITH no OPERATOR HIER- ARCHY.";{=" THE EXPRESSION: 20 * 10 < 5 * 4 WOULD BE EVALUATED AS FOLLOWS: 20 WOULD BE MULTIPLIED BY 10, THEN THE RESULT WOULD BE COMP- ARED TO 5, SINCE 200 IS NOT LESS THAN 5, THE RESULT IS 0. THIS IS THEN MULTIPLIED BY 4. THE NET RESULT IS 0.;>220:;?" REMEMBER THAT ALL ARITHMETIC IS 16 BIT UNSIGNED ARITHMETIC."]F:" TEST = TRUE COMPARES TEST TO TRUE, IF THEY ARE EQUAL, THEN THE VALUE OF THE OPERATION IS 1. IF THEY ARE NOT EQUAL, THEN THE VALUE OF THE EXPRESSION IS 0.">iG220:>qH:?"I" AS YOU CAN SEE, SCL EXPRESSIONS ARE ALMOST THE SAME AS EXPRES- SIONS IN BASIC. THE DIFFERENCES ARE THAT SCL DOES NOT ALLOW PARENTHESES OR HIERARCHY OF OP- ERATORS."?tJ:" NOW, BACK TO THE SUBJECT OF CALLING SUBROUTINES WITH PARA- METERS."?K220:@%L" REMEMBER THE DRAW SUBROUTINE DISCUSSED EARLIER? USING THE POWER OF THE EXPRESSION, THE FOLLOWING EXAMPLES WOULD BE LEGAL DRAW SUBROUTINE CALLS."@M" DRAW ( 12 , 32 ) DRAW ( LINES * 32 , CHAR ) DRAW ( 5 + INDEX * LENGTH , KEYCODE ( 0 ) )AON" NOTE THAT KEYCODE IS A FUNC- TION. THE '( 0 )' AFTER THE FUNCTION IS THE ARGUEMENT. LO":F$(17)"GIV":F$(18)"GET"bF$(19)"SAY":F$(20)"SAV":F$(21)"LOA":F$(22)"DIV":F$(23)"SMA":F$(24)"DIG":NO26:O$(NO),O(NO),N$(NO),T(NO),Q(NO):O$(1)"CLOSET":N$(1)"CLO":O$(2)"DOOR"b 2,0,1b*N$(2)"DOO":O$(3)"DWELLING":N$(3)"DWE"c41,0,1c#>O$(4)"HUGE STONE":N$(4)"STO"c.H5,0,1cRRO$(5)"INSCRIPTION":N$(5)"INS"c^\20,0,1c}fO$(6)"BUSHES":N$(6)"BUS"cp-1,0,2cz10,0,3cO$(7)"SCRUBBRUSH":N$(7)"SCR":12,0,3cO$(8)"CITY OUTSIDE":N$(8)"CIT":-1,0,2dO$(9)"BOOK":N$(9)"BOO":O$(10)"KEYS"d$-1,0,0d=N$(10)"KEY":-1,0,0diO$(11)"COMPUTER TERMINAL":N$(11)"COM"dt8,0,2dʆ3,0,1dO$(12)"BED":N$(12)"BED"dO$(13)"HOLE":N$(13)"HOL":-1,0,2dO$(14)"SOARING TOWER":N$(14)"TOW":13,0,1eO$(15)"VENT":N$(15)"VEN":17,0,2efO$(16)"A SIGN SAYING: SUBTRANS":N$(16)"SIG":O$(17)"YTTRIUM CAPSULE"er 21,0,0e N$(17)"CAP":O$(18)"*RUBY*"e 23,0,1e $N$(18)"RUB":35,100,0e .O$(19)"OLD CHEST":N$(19)"CHE":47,0,4f 8O$(20)"HAMMER":N$(20)"HAM":20,0,0f6 BO$(21)"*GOLD COINS*":N$(21)"COI"fD L-1,150,0fP V45,0,2fp `O$(22)"SHORE":N$(22)"SHO"f jO$(23)"*DIAMOND*":N$(23)"DIA":-1,200,0f tO$(24)"SPADE":N$(24)"SPA":2,0,0f ~O$(25)"LIGHT ABOVE":N$(25)"LIG":-1,0,2g" O$(26)"SMALL CRATER":N$(26)"CRA":-1,0,2h D$(1)"NORTH":D$(2)"SOUTH":D$(3)"EAST":D$(4)"WEST":D$(5)"UP":D$(6)"DOWN":X$(1)"NOR":X$(2)"SOU":X$(3)"EAS":X$(4)"WES":X$(5)"UP":X$(6)"DOW":R1NR:D16:E(R,D):D,R:O1NO:O(O),T(O),Q(O):HSHST(O)::2460:20hS C0:P1NR:N(P)0::O1NO:JO(O):J02470:J0CC1:N(J)N(J)1h[ :$(5)"UP":D$(6)"DOWN":X$(1)"NOR":X$(2)"SOU":X$(3)"EAS":X$(4)"WES":X$(5)"UP":X$(6)"DOW":R1NR:D16:E(R,D):D,R:O1NO:O(O),T(O),Q(O):HSHST(O)::@&' COPYRIGHT (C) T&D SOFTWARE 1984&40:226&^500,29999:I30000 30040:D:I,D:'::" scl instructions"::::" WOULD YOU LIKE THE OUTPUT OF THIS INSTRUCTIONAL PROGRAM TO BE SENT TO YOUR PRINTER AS WELL AS TO THE SCREEN ? Y/N"'K$:K$"N" PF0:9'/K$"Y" 5'\:" READY PRINTER - PRESS [ENTER]":PF1'y(13) 8 : 30000' ::' " instructions for"' :" SCL - STRUCTURED COMPILED LANGUAGE":(8 " AND USE OF"::" SCL COMPILER VERSION 1.0"(D 220:(::" SCL, OR sTRUCTURED, cOMPILED lANGUAGE, IS A HIGH-LEVEL COM- PUTER LANGUAGE WHICH IS SIMILAR TO FORTRAN, PASCAL, AND BASIC."):" SCL FEATURES:":" - LONG VARIABLE NAMES - LONG CONSTANT NAMES - SUBROUTINES ACCESSED BY NAME WITH VALUE PARAMETER PASSING CAPABILITY":220:*q:::" - FUNCTIONS ACCESSED BY NAME WITH ONE VALUE PARAMETER - LONG ARITHMETIC EXPRESSIONS - FAST 16 BIT ARITHMETIC - 4 ARITHMETIC OPERATORS - 3 BOOLEAN OPERATORS - 6 RELATIONAL OPERATORS"*" - COMPILED CODE WHICH RUNS 50 TO 100 TIMES FASTER THAN BASIC":220:+j" SCL IS A STRUCTURED LANGUAGE. AN SCL PROGRAM IS COMPOSED OF THE FOLLOWING TYPES OF program blocks. ALL TYPES EXCEPT MAIN- CONTROL ARE OPTIONAL.":,*" THE BLOCKS ARE: 1. CONSTANT BLOCK 2. VARIABLE BLOCK 3. SUBROUTINE BLOCK 4. FUNCTION BLOCK 5. MAIN-CONTROL BLOCK",6220:-'" THE CONSTANT DEFINITION BLOCK IS FOR YOU TO DEFINE LABELS WHICH ARE TO HAVE CONSTANT VAL- UES. THE PURPOSE FOR THIS IS READABILITY. BY SELECTING A PROPER NAME FOR THE CONSTANT, IT CAN BE DESCRIPTIVE OF ITS MEANING.". " A CONSTANT BLOCK BEGINS WITH THE KEYWORD CONST. LINES DEF- INING CONSTANTS SHOULD BE IN THE FORM 'NAME' = 'CONSTANT NUMBER'. FINALLY, THE BLOCK SHOULD BE CLOSED WITH THE ENDCONST KEYWORD.":220:.<" THIS IS AN EXAMPLE OF A CONST- ANT BLOCK:".w" CONST":" TRUE = 1":" SPACE = 32":" ENDCONST"/f" A PROGRAM MAY HAVE AS MANY AS 16 CONSTANTS. A PROGRAM MAY ALSO HAVE MORE THAN ONE CON- STANT BLOCK, BUT BE SURE TO PUT :1100P.1180:1110P,81130:1090:PJBO(O)R O(O)01140:PUL1170PdVSK1:30P`"I CAN'T DO THAT.":100PjO1NO:N$(O)S$ :"WHAT?":100:Pt"I DON'T SEE IT HERE.":100P~"I DON'T HAVE IT.":100P"OK":90QLR6R7:R7R9:R24R25:O(17)26:2460:R25R24:O(17)23:2460QR35R44DSDS1:DS5"I HAVE DIED OF THIRST!":400QR47UWUW1:UW5"I'VE DROWNED! (I'M NOT A VERY GOOD SWIMMER.)":400R;R15DZDZ1:DZ3"I FAINT FROM DIZZINESS AND A HUGE MIRROR FALLS AND CRUSHES ME":400RgR48SHSH1:SH4O(23)R:N(R)N(R)1RmĐRNR49:R$(NR),N(NR),E(NR,6),H$(NR):R$(1)"I'M IN THE MAIN ROOM OF MY HUMBLE DWELLING."R؆2,3,0,0,0,0S/R$(2)"I'M IN A STORAGE ROOM.":H$(2)"FIND *TREASURES* AND STORE THEM HERE."S@0,1,0,0,0,0SjR$(3)"I AM IN MY SLEEPING QUARTERS."S{1,0,0,0,0,0S R$(4)"THIS IS THE CLOSET."S0,0,0,2,0,0T^R$(5)"I'M OUTSIDE MY DWELLING IN THE MARTIAN CITY OF BARSOOM. I CAN SEE VERY TALL BUILDINGS IN THE DISTANCE. A HIGH WALL SURROUNDS THE CITY.":H$(5)"THERE IS A WAY OUT!"Tp(0,14,6,0,0,0T2R$(6)"I'M IN A LONG TUNNEL ON A MOVINGPATHWAY TRAVELING TOWARD THE EAST."T<0,0,0,5,0,0TF8,0,0,0,0,0U}PR$(7)R$(6):R$(8)"THIS LOOKS LIKE IT MIGHT BE AN ARCHIVE. THERE IS A LARGE COMPUTER IN THE CENTER OF THE ROOM.":H$(8)"USE LITERAL LOGIC."UZ0,7,0,0,0,0Ud0,10,0,0,0,0UnR$(9)R$(6):R$(10)"I'M IN A VAST PARK IN THE HEART OF BARSOOM."Ux0,0,11,12,0,0VfR$(11)"I'M IN A LOW DIM ROOM THAT SEEMSTO BE A BURIAL CHAMBER OF SOME OF THE LESSER NOBLES OF BARSOOM."Vx0,0,0,10,0,0V0,0,10,13,0,0VR$(12)R$(10):R$(13)"I AM IN THE CITY OF BARSOOM PROPER. IT IS A LARGE AND BUSY METROPOLIS."W0,0,12,14,0,0WAR$(14)"I AM ON A WIDE AND BEAUTIFULLY PAVED PATHWAY."WS5,0,13,0,0,0WR$(15)"I AM IN THE HALL OF MIRRORS. ROTATING MIRRORS SURROUND ME. I FEEL VERY DIZZY.":H$(15)"I WOULDN'T STAY HERE TOO LONG."W҆13,0,0,0,16,0X8R$(16)"I'M CLIMBING A LONG AND INFINITELY WINDING STAIRWAY."XK0,0,0,0,17,15XR$(17)"I'M AT THE TOWER'S SUMMIT. I FEEL WARM AIR COMING FROM THE BOTTOM OF THE WALL."X0,0,0,0,0,16XR$(18)"I AM CRAWLING THROUGH A VERY NARROW VENT."Y 17,19,0,0,0,0Y^R$(19)"I'M OUTSIDE OF THE TOWER. THERE IS A MILE-LONG STAIRWAY LEADING DOWN."Yq"18,0,0,0,0,20Y,R$(20)" I HAVE CLIMBED DOWN ABOUT AS FARAS I CAN. THERE IS STILL A LONG WAY TO THE BOTTOM."Y60,0,0,0,19,0Z@R$(21)"I'M ON A DIMLY LIT STAIRWAY.":0,0,0,0,11,22ZtJR$(22)"I AM IN WHAT APPEARS TO BE A CONTROL ROOM OF SOME SORT.":0,0,23,0,21,0ZTR$(23)"I'M ON A TRANSPARENT ZIRCONIUM PLATFORM."Z^23,0,0,22,0,0ZhR$(24)"I'M IN MY YTTRIUM CAPSULE."Zr0,0,0,23,0,0[ |R$(25)R$(24)[AH$(25)"WAITING SOMETIMES PAYS OFF.":0,26,0,0,0,0[xR$(26)"I'M ON A TRANSLUCENT HAFNIUM PLATFORM."[0,27,0,0,0,0[26,28,0,0,36,0\ R$(27)R$(21):R$(28)"CARVED INTO THE WALLS ARE THE WORDS: CAVERNS OF SYL DO NOT ENTER"\ 27,0,29,0,0,0\nR$(29)"I AM IN A VERY DIMLY LIT AND OMINOUS CAVERN.":29,30,29,29,0,0\R$(30)R$(29):R$(31)R$(29)\ֆ29,29,31,32,0,0\29,32,31,33,0,0\32,32,30,32,0,0\R$(32)R$(29):R$(33)R$(29):R$(34)R$(29)]32,33,33,34,0,0]%35,34,34,34,0,0]:35,35,28,35,0,0]R$(35)R$(29):R$(36)"I'M IN A HUGE AND TRACKLESS DESERT WASTELAND."]&41,36,37,36,0,27]0R$(37)R$(36):R$(38)R$(36)]:40,37,38,36,0,0]D39,38,38,37,0,0]N44,38,39,40,0,0^*XR$(39)R$(36):R$(40)R$(36):R$(41)R$(36)^?b43,37,39,41,0,0^Tl42,36,40,41,0,0^iv42,41,43,42,0,0^R$(42)R$(36):R$(43)R$(36)^43,40,44,42,0,0^R$(44)"SPLASH! I FELL THROUGH A HIDDEN WELL INTO AN UNDERGROUND RIVER."^46,45,0,0,0,0_ZR$(45)"I'M IN AN UNDERGROUND RIVER, THECURRENT IS STRONG AS I TRY TO SWIM UPSTREAM."_l46,0,0,0,0,0_R$(46)"I'M IN AN UNDERGROUND RIVER AND A VERY STRONG CURRENT IS CARRYING ME DOWNSTREAM."_Ɔ46,45,0,0,0,0`]R$(47)"I'M BENEATH THE SURFACE AND THE STRONG CURRENT. IT'S VERY PEACEFUL DOWN HERE.":H$(47)"YOU'LL FIGURE IT OUT."`oچ0,0,0,0,45,0`R$(48)"I'M IN A CAVERN ON THE SHORE OF THE RIVER. THE WATER KEEPS WASHING UP JUNK."`0,0,45,49,0,0a=R$(49)"A LONG AND NARROW PASSAGEWAY ENDS HERE.":NF24:F$(NF):F$(1)"GO":F$(2)"TAK"aO0,0,48,0,0,0b F$(3)"INV":F$(4)"LOO":F$(5)"SCO":F$(6)"DRO":F$(7)"HEL":F$(8)"QUI":F$(9)"ENT":F$(10)"EXA":F$(11)"REA":F$(12)"WAI":F$(13)"OPE":F$(14)"UNL":F$(15)"TUR":F$(16)"C*\>' COPYRIGHT (C) T&D SOFTWARE 1985>_ 1500:(3):@192," TREASURES OF BARSOOM":1230>yDR$"NSEWUD":R1:TR2>::R$(R)::N(R)070>("LOOKING AROUND ME I CAN SEE: ",:O1NO:O(O)R :60>2O$(O),:><?'F"DIRECTIONS I CAN TRAVEL TO: ",:D16:E(R,D)0D$(D),?RP::"-------------------------------"?nZSK SK0:100:1170?dF1$"":C$"":F$"":S$"":"WHAT NOW";C$:(C$)0100:X1(C$):M$(C$,X,1)?nM$" "120:F1$F1$M$:?x(F1$)(C$)140@S$(C$,(C$)(F1$)1)@XF$(F1$,3):S1$S$:S$(S$,3):F1NF:F$(F)F$ :170@D16:F$(DR$,D,1)S$X$(D):180:@"I DON'T KNOW HOW TO DO THAT.":100AF 180,210,290,320,330,360,380,400,410,530,630,1100,710,770,820,870,910,210,940,960,970,980,1010,1040A;D16:X$(D)S$ :410AsE(R,D)0 "I CAN'T GO THAT WAY.":100:RE(R,D)A~ȁ1070Aҁ1080:O(O)0"I ALREADY HAVE IT!":100A܅C6"I CAN'T CARRY ANYTHING ELSE.":100AQ(O)1280,240,250,260,270B4"SORRY, I CAN'T DO THAT. I'M NOT SUPERMAN!":100BT"THAT'S IMPOSSIBLE!":100B"I DON'T WANT TO DESTROY THE SCENERY!":100B"I TRY TO LIFT IT BUT IT'S TOO HEAVY.":90BO(O)0:CC1:N(R)N(R)1:1160C""I AM CARRYING THE FOLLOWING:",:C0"NOTHING":90C9,O1NO:O(O)0::90CN6O$(O),:::90C{@S$"""TRY EXAMINING IT.":100:1100CJYS0:O1NO:O(O)TR YSYST(O)D#T:"YOU HAVE"YS"OUT OF A POSSIBLE"HS"POINTS.":YSHS "YOU HAVE DISCOVERED ALL THE SECRETS OF BARSOOM!":400D,^90D_h1130:O(O)01150:O(O)R:CC1:N(R)N(R)1Djr1160D|H$(R)"""I DON'T KNOW WHAT TO DO.":100DH$(R):90D"THIS GAME IS OVER. DO YOU WANT TO PLAY AGAIN";P$:(P$,1)"Y"::EA1080:O1O3O8O13O14O15O17O22O25O261120E[O3430:R1:1070EuO8440:R5:1070EO1450:R4:1070E…O15460:R18:1070E̅O13470:R21:1070EօO17490:R23R24:1070ER26R25:1070FO22500:R48:1070F7O25510:R12:1070FSO26520:R49:1070FcR15:1070F1080:O4O6O7O19"IT LOOKS ORDINARY TO ME.":90FO4560:"THERE'S AN INSCRIPTION ON IT."F&O(5)R:N(R)N(R)1:90F0O6590G4:O(9)1"I SEE NOTHING IN THEM.":90:O(9)RGWD2460:"I FOUND A BOOK!":90GeNO7620GXO(10)1"I SEE NOTHING IN IT.":90:O(10)RGb2460:"I FOUND A KEY!":90Gl"IT HAS A RUSTY LOCK ON IT.":90H v1080:O5O91120:O5650Hu"INSCRIPTION SAYS: GIVE MY REGARDS TO THE KEEPER OF THE RECORDS.":40)"RANON OF LYMBAR":90HO(9)01150:BK2"IT'S CLOSED!":100HPG 670,680,690,700I"PAGE 1: CODE BOOK":"PAGE 2: AAEA ":" AN AARDVARK EATS ANTS":90Ik"PAGE 3: GSAE":" GO SUCK AN EGG":"PAGE 4: BMAD":" BUY ME A DRINK":90I"PAGE 5: SADW":" SAY A DIRTY WORD":"PAGE 6: SLIT":" SAY LYMBAR IN TOMB":90J>"PAGE 7: SRTB":" STOP READING THIS BOOK":"PAGE 8: IBFYH":" IT'S BAD FOR YOUR HEALTH":90JjƁ1080:O2O9O191120:O2730J|O(8)R:1070JڅO9750:BK0"IT'S LOCKED!":90:BK2JPG1:1160JLS1O(21)R:N(R)N(R)1:1100J"IT'S LOCKED!":90K1080:O2O91120:O9790KC "IT'S ALREADY UNLOCKED.":100KpO(10)0"I DON'T HAVE THE KEY!":100K BK0"IT'S ALREADY UNLOCKED.":100:BK1K*1160K4S$"PAG"1120K>O(9)0 "I DON'T HAVE A BOOK!":100LHBK2"THE BOOK'S NOT OPEN.":100:PGPG1LpRPG5"KABLOOEY!THE BOMB BLEW UP IN MY FACE! NEXT TIME HEED GOOD ADVICE":400L{\1160Lf1080:O2O91120:O2890:O(8)1Lp2460:1070LzO(9)01150MBK2"IT'S ALREADY CLOSED.":100:BK1:1160MS$"REG"1120M?R8RG1"NOTHING HAPPENS.":90M"COMPUTER KEYBOARD/SCREEN SIMULATION:":T11000::X18::T1150::@238,"SLIT":T1100:T,X:RG1:30N!"OK":S1$:S$"LYM"R11O(13)R "A TILE IN THE FLOOR SLIDES BACK,REVEALING A HOLE.":O(13)R:2460:90N*90Nr"O",1,S1$:O1NO:#1,O(O)::#1,R,DS,UW,BK,PG,RG,DZ,LS,SH::100Nʙ"I",1,S1$:O1NO:#1,O(O)::#1,R,DS,UW,BK,PG,RG,DZ,LS,SH::2460:1100NԅR44R46"YOU'VE GOT TO BE KIDDING!":100O%ޅR45R47:1070:"IT'S TOO SHALLOW HERE."O/聥100OCS$"LOC"1120OwO(20)0"I HIT IT, BUT NOTHING HAPPENS.":90OLS1:1160OO(24)0"WITH MY HANDS? ARE YOU KIDDING?":100OR49"I FIND NOTHING.":90:O(25)R:O(26)12P$2460.w>' :COPYRIGHT (C) T&D SOFTWARE 1984>2 970>C359,57:0,1>(:@73,"*** menu ***":@132,"1. DISCLAIMER":@164,"2. LOADING INSTRUCTIONS":@196,"3. PMODES AND PCLEARS":@228,"4. *** ERRORS ***"?E2@260,"5. SUBMISSION INFORMATION":@292,"6. PRICE INFORMATION":@324,"7. CHATTER!":@356,"8. END":@422,"ENTER (1-8)"?z""|""<""|" "|"""""|> < >> < " &"""">"""B<""$8$"" >"6*""""""2*&"">"""""><""< """*$<""<$""" ">""""""""""""""*6""""""""> >8 8@ *I ~ ?? |qRt%G  ">> >0 @"&*2"">" " $D~> <<" <"">""""""" >>  " ?? |qRt%G  ">> >0 @"&*2"">" " $D~> <<" {>' COPYRIGHT (C) T&D SOFTWARE 1984>60:60000>@2000> PN$(2),TR(20,2,2),NT(2),NF(2),OB$(4),MP(7,31),O$(4):I04:OB$(I),O$(I):: NOTHING, ,BLOCKER,i,BOMB,x,BLASTER,+,BASE,b>I07:J031:MP(I,J)0::>NT(1)0:NT(2)0? NF(1)100:NF(2)100?,::9)"battle ground"::@ " TWO PLAYERS USE THEIR DRONE WARRIORS TO BATTLE IT OUT. THIS GAME IS PLAYED ENTIRELY WITH THE JOYSTICKS. PLAYER ONE WILL USE THE RIGHT JOYSTICK AND ATTACK FROM LEFT TO RIGHT. PLAYER TWO WILL USE THE LEFT"@H " JOYSTICK AND ATTACK FROM RIGHT TO LEFT.":101@ :::" EACH PLAYER HAS A BASE 'b' WHICH THEY MUST DEFEND FROM ANOTHER PLAYER. BASES MAY NOT MOVE."@ " THE OTHER WARRIORS ARE :"@ " i - BLOCKERS"A" x - BOMBS"A" + - BLASTERS"Ad:" BLOCKERS ARE MOVABLE AND MAY BE USED TO BLOCK OTHER WARRIORS."An101A::::::" BOMBS ARE MOVABLE AND THEY DE- STROY THEMSELVES AND OTHER WARRIORS ON IMPACT."B" BLASTERS ARE MOVABLE AND WILL SHOOT ANYTHING IN THEIR WAY."B101::::" ONCE A WARRIOR HAS BEEN ISSUED A COMMAND TO MOVE IN A CERTAIN DIRECTION, IT WILL REMAIN TO MOVE IN THAT DIRECTION UNTIL COMMANDED TO HALT, DESTROYED, OR BLOCKED."C1" TO WIN THE GAME, YOU MUST DE- STROY THE OPPONENTS BASE WITH A BOMB.":101D:::" THE GAME IS COMPOSED OF TWO PARTS. IN THE FIRST PART, THE TWO PLAYERS WILL GET A CHANCE TO BUILD A WARRIOR, OR COMMAND ONE. TO BUILD A WARRIOR, PLACE THE FLASHING RED CURSOR ON THE SPOT WHERE YOU WANT TO BUILD,"D" PRESS THE FIRE BUTTON, THEN SELECT THE 'BUILD' OPTION. USE THE JOYSTICK AND FIRE BUTTON. YOU MAY ONLY BUILD ON EMPTY SPOTS.":101Eq:::::" TO ISSUE A COMMAND, PLACE THE RED CURSOR OVER THE WARRIOR TO BE COMMANDED AND PRESS THE FIRE BUTTON. THEN SELECT THE 'COMMAND OPTION', AND PRESS THE FIRE BUTTON."E{101EI12E:"PLAYER ";I;"'S NAME";:PN$(I):PN$(I)"" 27EPN$(I)(PN$(I),10):E@32,(32,207);F@320,(32,207);FMP(4,0)4:MP(4,31)4F4 @192,"b";:@223,"b";FA!I1 2Fn"@0,(31,32);:@10,PN$(I);"'S TURN...";Fx#104F$@392,"SELECT A LOCATION";F%Q(0):H((I1)2):V((I1)21):V1(V8):V(V8)2:H1(H4)(I1)16:H(H4)(I1)16GO&DMP(V1,H1):AV32H1024:G(A):A,191:A,G:@428,"% %";OB$(D);Gx' I1 Q1254:Q2126 :Q1253:Q2125G(P(65280): PQ1 PQ2 37G) 50,2G*104G+@396,"BUILD";:@428,"COMMAND";HA,Q(0):V((I1)21):V(V32):@394," ";:@426," ";:@394V32,">";:P(65280):PQ1 PQ2 44HL- 50,2H^. V1 47,57H/104:D0 NT(I)20 "V31O3T50L100ABCDBEDBCACEO5ABCDEF":35 :NF(I)NF(I)5(10):@392,"ENERGY IS ";NF(I);H0J13:@428(J1)32,OB$(J);:IG1Q(0):V((I1)21):V(V22):L02:@426L32," ";::@426V32,">";Ik2P(65280): PQ1 PQ2 49I350,2: V1 52,53,55I4NF(I)NF(I)5:MP(V1,H1)1:NT(I)NT(I)1:ZNT(I):TR(Z,0,I)V1:TR(Z,1,I)H1:TR(Z,2,I)0:66J!5 NF(I)10 "V31O2T50L100ABDFEFADEDFO4FADEFDFEDA":47J6NF(I)NF(I)10:MP(V1,H1)2:NT(I)NT(I)1:ZNT(I):TR(Z,0,I)V1:TR(Z,1,I)H1:TR(Z,2,I)0:66J7 NF(I)30 "V31O2T50L100ABDFEGDFEFADO4FAFEFAFED":47K8NF(I)NF(I)30:MP(V1,H1)3:NT(I)NT(I)1:ZNT(I):TR(Z,0,I)V1:TR(Z,1,I)H1:TR(Z,2,I)0:66K79 D0 D4 D1:47KO: NT(I)0 D1:47K;K1 NT(I):TR(K,0,I)V1 TR(K,1,I)H1 TK:K2000K<: K2001 D1:47L=104:@364,"HALT";:@396,"MOVE UP";:@428,"MOVE RIGHT";:@460,"MOVE DOWN";:@492,"MOVE LEFT";LV>Q(0):V((I1)21):V(V13):L04:@362L32," ";::@362V32,">";Ly?P(65280):PQ1 PQ2 62L@50,2LATR(T,2,I)V:67LB@(V12)32H1,O$(V1);LCILDF0:R(2)LE NT(R)0 98LF R1 R12 :R11MGI1 NT(R)M7HHTR(I,1,R):VTR(I,0,R):CTR(I,2,R):DMP(V,H)MEI C0 97MXJ D 75,84,90MgKD1C:105MvL MF0 97MM MP(V1,H1)2 118:97MN MP(V1,H1)0 97MO@(V2)32H," ";MPMP(V,H)0MQ@(V12)32H1,O$(1);NRMP(V1,H1)1:TR(I,0,R)V1:TR(I,1,R)H1NS97N*TD1C:105N9U MF0 97NjVMP(V1,H1)4 136: MP(V1,H1)0 118:89NW@(V2)32H," ";:MP(V,H)0NX@(V12)32H1,O$(2);:MP(V1,H1)2:TR(I,0,R)V1:TR(I,1,R)H1NY97NZD1C:105N[ MF0 97O\ MP(V1,H1)0 96O(]@(V2)32H," ";:MP(V,H)0Og^@(V12)32H1,O$(3):MP(V1,H1)3:TR(I,0,R)V1:TR(I,1,R)H1Op_97O`126:@(V12)32H1,(191);:"V31T50L100O4ADFEO5FADEFA":93OaIOb F0 33OcF1:R1 R2 :R1Od69Pe@484,"press [enter] to continue";P/fR():(13) 102P5gPMh@352,(159,32);:PniMF0: D1 106,109,112,115P}j V0 108PkV1V1:H1H:MF1PlPm H31 111PnV1V:H1H1:MF1PoPp V7 114PqV1V1:H1H:MF1PrPs H0 117QtV1V:H1H1:MF1QuQ-v@(V2)32H," ";QIw@(V12)32H1,(191);Qfx"O1V31T50L100ABDCEFDAD"Q~y@(V12)32H1," ";Qz INT(R) 125Q{JI NT(R)1Q|K02:TR(J,K,R)TR(J1,K,R)::Q}NT(R)NT(R)1Q~ R1 R12 :R11RJ1 NT(R1)R4 TR(J,0,R1)V1 TR(J,1,R1)H1 LJ:J2000RH:J2001 141R\ LNT(R1) 133RpJL NT(R1)1RK02:TR(J,K,R1)TR(J1,K,R1)::RNT(R1)NT(R1)1RMP(V,H)0:MP(V1,H1)0RS: H10 "PLAYER 2 WINS!!" :"PLAYER 1 WINS!!"S:"ANOTHER GAME ? (Y/N)"S4K$:K$"Y" SG K$"N" 138SMSe R11 R12 :R11So127Sz`1:3R(J,K,R1)TR(J1,K,R1)::RNT(R1)NT(R1)1RMP(V,H)0:MP(V1,H1)0RS: H10 "PLAYER 2 WINS!!" :"PLAYER 1 WINS!#& 8&/ COPYRIGHT (C) T&D SOFTWARE 1984&>W$"":EL0&s(L$,PT,1)" " PTPT1:PT(L$) EL1: :4&PJ(PT,L$," "): PJ W$(L$,PT,PJPT):PTPJ1 :W$(L$,PT):EL1:PT(L$)1&&PCPCK1:&0:279' 2000,19999:K00:K11:K22:K33:K44:K55:K66:ML20:NL0:MM0:MC16:MV64:MF32:MS32:NV0:NC0:SF0:FF0:NS0:NF0: VN$(MV),CN$(MC),VA(MV),CV(MC),CS(ML,3),SN$(MS),SA(MS,1),FC$(MF),FA(MF),Z9(9)' :"SCL COMPILER VERSION 1.0"' ( "WILL THE SOURCE FILE HAVE LINE NUMBERS? (Y/N)"(/ K$:K$"Y"K$"N"13(:YN$K$(S"TAPE/DISK ? (T/D)"(tK$:K$"T" K$"D" 16( K$"D" DN1 :DN1("FILENAME: ";: F$:F$"" (F$)12 18)"START OF VARIABLE TABLE ?":" -->";VT$:VT$"" VC30000 : VC(VT$))z"START OF OBJECT CODE ?":" -->";VT$:VT$"" PC20000 :PC(VT$))"DO YOU WISH TO RELOCATE CODE ? (Y/N)")K$:K$"N" OS0:26)K$"Y"22*)"RELOCATION ADDRESS ?":" --> ";VT$:VT$"" 24 : RA(VT$)*6OSRAPC*"USE THE HIGH-SPEED POKE WHEN NOT ACCESSING DISK OR CASSETTE? (Y/N)"*K$:K$"Y" ZA1:29*K$"N" 27 :ZA0*FVVC:FAPC*"READY ";:DN1 "DISK" :"CASSETTE"+ "PRESS [enter]"+ (13) 32+.! "I",#DN,F$+R"PC,126:PCPCK1:FJPC:PCPCK2+r#65494,0:37:ZA 65495,0+{$39+% (DN) "*EOF REACHED BEFORE ENDMAIN":201+&#DN,L$:YN$"Y" P(L$," "):P0 37 :L$(L$,P1):L$:, 'PT1:3:W$"" 35,(W$"[" 35,,)W$"VAR" 49,H*37:PT1:3:W$""42,]+W$"ENDVAR" 35,l,NVMV 48,-VR$W$:207: F 42,.3:W$"" NEK1 : NE(W$):NEK0 NEK1,/NVNVK1:VN$(NV)VR$:VA(NV)VC:VCVC(NEK2),042-1W$"CONST" 56-"237:PT1:3:W$""50-93W$"ENDCONST" 35-H4NCMC 50-w5NCNCK1:CN$(NC)W$:3:EL W$"=" 272-63:W$"" 272-7CV(NC)(W$):50-8W$"SUBROUTINE" 73-9 SF FF MM "*ILLEGAL SUBROUTINE BLOCK":201.:3:W$"" 272.2;NSMS "*TOO MANY SUBROUTINES":201.a3.?W$"" EL 272.@207:FK0 150.ANPNPK1:Z9(NP)VA(F).B3:W$")" 69.CW$"," 272.D62/CESA(NS,0)S1:SA(NS,1)NP:SFK1:NPK0 72 :PC,53:7:PC,64:7/FINP K1 K1:PC,53:7:PC,6:7:PC,&HFD:7:ADZ9(I):278:/GPC,52:7:PC,64:7/H35/IW$"FUNCTION" 84/J NFMF "*TOO MANY FUNCTIONS":2010$K SF FF MM "*ILLEGAL FUNCTION BLOCK":20108L3:W$"" 2720kM207:FK0 "*FUNCTION NAME UNDEFINED":2010NFFF:NFNFK1:FC$(NF)W$:FA(NF)PCOS0O3:EL W$"(" 2720P3:W$""2720Q207:FK0 2720R3:W$")" 2721SPC,&HFD:ADVA(F):7:278:351/TW$"MAIN-CONTROL" 881`U SF FF MM "*ILLEGAL MAIN BLOCK":2011VMFK1: FJ,((PCOS)256):FJK1,(PCOS)((PCOS)256)2561W351X W$"ENDMAIN" 921Y MFK0 "*NOT IN A MAIN BLOCK":2012Z NLK0 "*OPEN CONTROL STRUCTURES":20123[PC,57:7:2022I\W$"ENDSUB" 952z] SFK0 "*NOT IN A SUBROUTINE BLOCK":2012^SFK0:PC,57:7:352_W$"ENDFUNC" 982` FFK0 "*NOT IN A FUNCTION BLOCK":2013aW$VN$(FF):PC,&HFC:7:ADVA(FF):278:PC,57:7:FFK0:353/bW$"IF" 10339c2163Od W$"THEN" 2723eLTK1:P1PC7:276:CD$"1083000026037EFFFF":2743f353gW$"ELSE" 1093h277:LTK1 2733iPC,126:7:T1PC:PCPCK24jP1,((PCOS)256):P1K1,(PCOS)((PCOS)256)2564+kP1T1:LTK1:27644l354JmW$"ENDIF" 1124bn277: LTK1 2734oP1,((PCOS)256):P1K1,(PCOS)((PCOS)256)256:354pW$"WHILE" 1184qP1PC:LTK24r2164sP2PC7:2765tCD$"1083000026037EFFFF":2745u355)vW$"ENDWHILE" 1225@w277:LTK2 2735_xPC,126:7:ADP1OS:2785yP2,((PCOS)256):P2K1,(PCOS)((PCOS)256)256:355zW$"WRITE-TXT" 1285{T$(L$,PT):T$"" 2725|L(T$):LK0 2726}SSPC21:JVPC186~PC,&H8E:7:ADSSOS:278:PC,&HC6:7:PC,L:7:CD$"A6803456AD9FA00235565A26F37E":274:ADPCK2LOS:278:Z4K1 L:PC,((T$,Z4)):7:6356W$"WRITELN-TXT"1306T$(L$,PT)(13):1246W$"WRITE-VAL" 1347CD$"4FC60534025A26FB":274:2168CD$"1083271025078327106CE420F3108303E825078303E86C6120F31083006425078300646C6220F31083000A250783000A6C6320F3E764C60435024D261D86203456AD9FA00235565A26EE35028B303456AD9FA0023556201135028B303456AD9FA00235565A26F120E1":2748 358W$"CLS" 13785CD$"BDA928":2748>358SW$"HOME" 1398sCD$"8E0400DF88":274:358W$"VTAB" 14382168CD$"86203DC3040034060F889689841F97893506D388DD88":2748358W$"HTAB" 14782169 CD$"3406968984E0AB6197893506":2749)359=W$"FOR" 1629P3:W$""2729c207: F 1519"*UNDEFINED VARIABLE":2019DAVA(F):3:W$"="2729256:WTK2 2729SVV:SYWT:3:W$"TO" 2729256:WTK2 272:EVV:EYWT:3:W$"" IVK1:IYK0:159:/W$"BY"272:E256:WTK2 272:TIVV:IYWT:r SY PC,&HFC :PC,&HCC:7:ADSV:278:PC,&HFD:7:ADDA:278:P1PC:P2EV(EY1E5):P3IV(IY1E5):LTK3:276:35:W$"ENDFOR" 171;277:LTK3 273;%DA(P1K2)256(P1K1);S P21E5 EYK1:EVP21E5 :EYK0:EVP2; P31E5 IYK1:IVP31E5 :IYK0:IVP3;PC,&HFC:7:ADDA:278: IY PC,&HF3 :PC,&HC3< 7:ADIV:278:PC,&HFD:7:ADDA:278:PC,&H10:7:EY PC,&HB3 :PC,&H83J1 NP> 216> CD$"3406":274>0… JNP 197>BÅW$"," 272>Lā198>^ŅW$")" 272>dƋ>ǒPC,&HBD:7:ADSA:278>ȁ35>ɇ"COMPILATION TERMINATED BY ERROR":65494,0:1,5:>ʇ"**** SUCCESSFUL COMPILATION ****"?ˇ" OBJECT CODE"?ḃ" START=";:"#####";FA;:" END=";:"#####";PC:" EXEC=";:"#####";FA?͇:" VARIABLE TABLE":" START=";:"#####";FV;:" END=";:"#####";VC?Β65494,0:100,1:?F0:NVK0 @ ЀI1 NV: W$VN$(I) FI:INVK1@ы:@#F0:NCK0 @KӀI1 NC: W$CN$(I) FI:INCK1@Sԋ:@kՁ207: F WTK1:@ց210: F WTK2:@FK0:@؁256: WTK1 246,247,248@ْPC,52:PCPCK1:PC,6:PCPCK1Aځ3:W$"" W$"THEN" W$"," W$")" 245A9OP$W$:256: WTK1 246,247,248:OP$"+" 221AXCD$"E3E4EDE4":274:218Ak݅OP$"-" 223ACD$"1F01ECE4AFE4A3E4EDE4":274:218A߅OP$"*" 225ACD$"1F01CC00008C00002706E3E4301F20F5EDE4":274:218AOP$"/" 227B4CD$"1F01ECE4AFE48E0000A3E42B04300120F8AFE4":274:218BIOP$"AND" 229BlCD$"A4E4E461EDE4":274:218BOP$"OR" 231BCD$"AAE4EA61EDE4":274:218BOP$"XOR" 233BCD$"A8E4E861EDE4":274:218BOP$"=" 235C#CD$"10A3E42705CC00002003CC0001EDE4":274:218C6OP$"<" 237CwCD$"1F01ECE4AFE410A3E42505CC00002003CC0001EDE4":274:218COP$">" 239CCD$"1F01ECE4AFE410A3E42205CC00002003CC0001EDE4":274:218COP$"<=" OP$"=<" 241D,CD$"1F01ECE4AFE410A3E42305CC00002003CC0001EDE4":274:218DLOP$"=>" OP$">=" 243DCD$"1F01ECE4AFE410A3E42405CC00002003CC0001EDE4":274:218D OP$"<>" OP$"><" "*UNDEFINED OPERATOR":201DCD$"10A3E42605CC00002003CC0001EDE4":274:218EPC,53:7:PC,6:7:E5PC,&HCC:7:ADV:278:ESPC,&HFC:7:ADV:278:Ei3:W$"(" 272E256:WTK0 WTK1 272E3:W$")" 272E WTK0 PC,&HCC :PC,&HFCE7:ADV:278:FQ1000 PC,&HBD:7:ADFA(FQ):278:F FQ2000 255FZCD$"10830000270C86FFC6088E0152A7805A26FB3474AD9FA00035741F894F":274:FwCD$"1F014FE684":274:F3:W$"" 272FW$"KEYCODE" W$"PEEK" 268F213: F 263FEFK0:I1 (W$)GA((W$,I)):A48 A57 EFK1G#: EF "*BAD CONSTANT":201G8WTK0:V(W$):GI WTK1 265G]VCV(F):WTK0:Gn NFK0 271G FK0:I1 NF:FC$(I)W$ FIG :FK0 271G W$"KEYCODE" FQ1000:WTK2:G W$"PEEK" FQ2000:WTK2:GFQF:WTK2:H 207:VVA(F):H'"*SYNTAX ERROR":201HQ"*WRONG TYPE OF END STATEMENT":201Ha CD$"" HZ8K1 (CD$)K2:PC,("&H"(CD$,(Z8K1)K2K1,K2)):PCPCK1::I  NLML "*TOO MANY CONTROL STRUCTURES":201 :NLNLK1:CS(NL,K0)LT:CS(NL,K1)P1:CS(NL,K2)P2:CS(NL,K3)P3:INLK0 "*ILLEGAL END STATEMENT":201 :LTCS(NL,K0):P1CS(NL,K1):P2CS(NL,K2):P3CS(NL,K3):NLNLK1:IPC,(AD256):PCPCK1:PC,AD(AD256)256:PCPCK1:I1:9":201 :NLNLK1:CS(NL,K0)LT:CS(NL,KU&' COPYRIGHT (C) T&D SOFTWARE 1984&30:75&=1000&|::" LIBRARY MODULE #1":" INSTRUCTIONS":'" LIBRARY MODULE #1 IS AN ASCII TEXT SOURCE FILE CONTAINING SUBROUTINES AND FUNCTIONS WHICH ARE NOT BUILT-IN TO THE SCL COMPILER."'q" THIS SOURCE FILE IS LIBRARY1. IT CONTAINS LINE NUMBERS AND WAS CREATED USING EDTASM+."'|72:(" TO USE THESE SUBROUTINES AND FUNCTIONS, MERGE THE LIBRARY1 FILE INTO YOUR PROGRAMS. THE BEST PLACE TO PUT IT IS AT THE BEGINNING OF YOUR PROGRAM."(p " YOU MAY THEN USE THESE FUNC- TIONS AND SUBROUTINES IN YOUR PROGRAM."( " BE SURE TO INCLUDE PARAMETERS WHEN NEEDED.")# " ALSO, DO NOT USE ANY OF THE VARIABLES DEFINED AND USED BY THE FUNCTIONS AND SUBROUT- INES IN YOUR PROGRAM."). 72:)q " NOW EACH OF THE SUBROUTINES WILL BE COVERED IN DETAIL.")" GRAPHICS ( MODE , COLOR SET )"*3" THIS SUBROUTINE WILL SET THE VIDEO CHIP AND SAM CHIP INTO THE PROPER MODES FOR GRAPHICS DEPENDING ON THE VALUES OF THE TWO PARAMETERS."*" IF THE MODE PARAMETER IS 0, THEN PMODE 3 IS SELECTED. IF THE MODE IS 1, THEN PMODE4 IS SELECTED."*72:+5" IF THE COLOR SET PARAMETER IS ZERO, THEN COLOR SET ZERO WILL BE USED. IF COLOR SET IS 1, THEN COLOR SET 1 IS USED."+" IN MODE 0, COLOR SET 0, THE COLORS AND CODES ARE: 0 = GREEN"+" 1 = YELLOW"+" 2 = BLUE"+" 3 = RED"," IN MODE 0, COLOR SET 1, THE COLORS AND CODES ARE:"," 0 = BUFF",-" 1 = CYAN",872:,O" 2 = MAGENTA",e" 3 = ORANGE"," IN MODE 1, COLOR SET 1 SHOULD BE USED TO ACHIEVE ARTIFACTED COLORS."-" BECAUSE OF THE NATURE OF ARTI- FACTING, THE CODES FOR RED AND BLUE MAY BE SWITCHED."-H" THIS IS THE TABLE FOR MODE 1, COLOR SET 1:"-] " BLACK = 0"-z!" RED (OR BLUE) = 1"-"" BLUE (OR RED) = 2"-#" WHITE = 3"-$72:.%" THE SUBROUTINE 'TEXT' IS USED TO PUT THE VIDEO CHIP BACK IN- TO TEXT SCREEN MODE.".E&" TEXT IS AN UNPARAMETERED SUB- ROUTINE.".K'.(" THE PCLS SUBROUTINE WILL CLEAR THE GRAPHICS SCREEN TO A SPEC- IFIED COLOR. THE SUBROUTINE IS PCLS ( COLOR )"/5)" THE VALUE USED FOR THE COLOR PARAMETER SHOULD BE ONE OF THE CODES JUST PREVIOUSLY DESCRIB- ED.":72:/*" THE PSET SUBROUTINE CAN BE USED TO SET A DOT ON THE HI-RES SCREEN TO ANY OF THE POSSIBLE COLOR CODES."/+" PSET ( X , Y , COLOR )"0|," THE PSET ROUTINE HAS THREE PA- RAMETERS. THE FIRST VALUE IS THE X COORDINATE. THE SECOND VALUE IS THE Y COORDINATE. THE FINAL VALUE IS THE DESIRED DOT COLOR."0-" EXAMPLE PSET CALL:"0." PSET ( 4 , 5 , 1 ) - SETS PIXEL AT 4, 5 TO COLOR OF 1."0/72:10" THE SOUND SUBROUTINE HAS THREE PARAMETERS."1I1" SOUND ( TONE , DURATION , VO- LUME )12" THIS SUBROUTINE WILL TAKE THE RELATIVE TONE AND DURATION CODES AND PRODUCE A SOUND. THE VOLUME OF THE SOUND MAY BE A VALUE FROM 0 TO 31."2Z3" THE LAST SUBROUTINE, CALLED 'RESET-TIMER' HAS NO PARAMETERS AND SIMPLY RESETS THE INTERNAL TIMER TO 0."2e472:25" THE FOLLOWING FUNCTIONS ALL HAVE ONE VALUE PARAMETER WHICH MUST BE PASSED."3^6" THE FIRST FUNCTION, JOYSTICK, IS USED TO READ THE COLOR COM- PUTER JOYSTICK PORTS. THIS FUNCTION WORKS EXACTLY LIKE THE BASIC FUNCTION 'JOYSTK'."37" RIGHT JOYSTICK HORIZONTAL = JOYSTICK ( 0 ) RIGHT JOYSTICK VERTICAL = JOYSTICK ( 1 )"3872:4W9" LEFT JOYSTICK HORIZONTAL = JOYSTICK ( 2 ) LEFT JOYSTICK VERTICAL = JOYSTICK ( 3 )"4:" A FUNCTION IS ALSO INCLUDED FOR READING THE JOYSTICK FIRE BUTTONS. THE FUNCTION IS CALLED 'FIRE-BUTTON'."4;" FIRE-BUTTON ( SELECT )"5s<" IF SELECT IS 0 THEN THE RIGHT JOYSTICK FIRE BUTTON IS READ. IF SELECT IS 1 THEN THE LEFT JOYSTICK FIRE BUTTON IS READ."5~=72:5>" IF THE SELECTED FIRE BUTTON IS PRESSED, THEN THE FUNCTION WILL HAVE A VALUE OF 1."6>?" IF THE BUTTON IS NOT BEING PRESSED, THEN THE FUNCTION WILL HAVE A VALUE OF 0."6@" THE 'NOT' FUNCTION PERFORMS THE FOLLOWING OPERATION. IF THE ARGUEMENT PASSED TO THE FUNC- TION IS 0, THEN NOT = 1. IF THE ARGUEMENT IS NON-ZERO, THEN NOT = 0."6A72:7B" THE TIMER FUNCTION DOES NOT USE THE VALUE PASSED TO IT FOR ANYTHING. THE TIMER FUNCTION READS THE EXTENDED BASIC TIMER AND RETURNS IT TO THE CALLING EXPRESSION."7C72:8D" THE LAST FUNCTION, RANDOM, IS A RANDOM NUMBER FUNCTION. THE PARAMETER IN THIS FUNCTION IS THE LIMIT OF THE RANDOM NUMBER THAT YOU WANT GENERATED, JUST LIKE BASIC. RANDOM ( 10 ) WILL PRODUCE RANDOM NUMBERS BETWEEN 1 AND 10."8E" RANDOM ( 34 ) WILL PRODUCE RANDOM NUMBERS BETWEEN 1 AND 34."9F72:9G9/H@484,"press [enter] to continue";9CI(13) 739IJ9TK1:3D, JUST LIKE BASIC. RANDOM ( 10 ) WILL PRODUCE RANDOM NUMBERS BETWEEN 1 AND 10."8E" RANDOM ( 34 ) WILL PRODUCE RANDOM NUMBERS BETWEEN 1 AND 34."9F7)&':COPYRIGHT (C) T&D SOFTWARE 1985&h:MICROGOLF FOR TRS80 CC ,16K RAM,EXTENDED BASIC--&:BY FLOYD KEIRNAN,2598 ROBINHOOD PL. ORANGE,CALIF. 92667& 225'"BM90,30F80E8H4G8BM166,30G80H8E4F8BM60,150U12F6E6D12BM+9,0U12BM+16,10D1G2L4H2U8E2R4F2BM+7,10U12R4F2D2G2L4F6BM+9,-2U8E2R4F2D8G2L4H2BM+24,-6U2H2L4G2D8F2R4E2U3L2BM+10,2U8E2R4F2D8G2L4H2BM+23,3L6U12BM+16,11U12R6L6D6R3BM20,172U12R4F2D2G2L4R4F2D2G2L4"' 1(' "BM+12,-12F6E6G6D6BM+20,0U12R6L6D6R3BM+16,6L6U12BM+12,10U8E2R4F2D8G2L4H2BM+13,-10F6E6G6D6BM+11,0U12R5F2D8G2L5("BM132,172U12D7E7G6F6BM+8,0U12R6L6D6R4L4D6R6BM+8,0U12BM+8,12U12R4F2D2G2L4F6BM+8,0U12D1F10D1U12BM+8,12U8E4F4D4L8R8D4BM+8,0U12D1F10D1U12)# X725016:(X,5),1,4::Y2217216:(248,Y),1,4::X247716:(X,186),1,4::Y1672216:(7,Y),1,4:) X7:Y150:(X,Y),1,2:P010:(X,Y),1,4:(X,Y),1,2:XX10:YY4::(X,Y),1,4:X248:Y150:(X,Y),1,2:P010:(X,Y),1,4:(X,Y),1,2:XX10:YY4::(X,Y),1,4:T02000:) P0 10:(X,Y),1,4:(X,Y),1,2* @96,"DIRECT BALL WITH RIGHT JOYSTICK":@165,"PRESS RED BUTTON TO DRIVE THE BALL":@260,"GREEN-- IS FAIRWAY":@292,"BLUE-- IS A BARRIER":@324,"YELLOW-- IS OUT-OF-BOUNDS":@356,"RED--DEFLECTS THE BALL"* @452,"PRESS ANY KEY TO START"+  "" 14 : 16+2+":HOLE NO.1+3S0:SS0:H1+T 225:(80,190)(170,196),+n(70,0)(80,196),,BF+(170,0)(180,196),,BF+(80,0)(170,0),+(90,20),5,4:HH(20)115:(HH,20),6,4:(HH,20),2,4,I"BM212,50U18D9R12U9D18BM216,78R4E4U10H4L4G4D10F4BM215,87D18R12BM212,116R12L12D9R9L9D9R12BM216,164E4D18L4R8,dX125:Y188:(X,Y),1,2,v(125,120),14,(125,120),3,4,(125,113)(125,75),,(124,67),4,4, 53,(125,120),5,5,(125,113)(125,75),, (98,114),14- ! 185,1-"(98,114),3,4-5#(104,108)(125,75),-?$ 53-Q%(98,114),5,5-k&(104,108)(125,75),-}'(124,120),14-((125,120),3,4-)(125,113)(125,75),-* 53-+(125,120),5,5-,(125,113)(125,75),--(152,114),14-. 130,1./(152,114),3,4.,0(148,108)(125,75),.61 53.I2(152,114),5,5.c3(148,108)(125,75),.m4 25.5 1,0:P(65280): P126 P254 166.6.7:HOLE NO.2.8S0:H2/f9225:(21,196)(30,66),,BF:(30,75)(110,75),:(21,64)(100,64),:(98,66)(98,0),:(110,75)(110,0),:(105,5),4,4:(90,192)(90,120),:(100,192)(100,130),0:(100,130)(230,130),:(90,120)(220,120),:(220,120)(220,0),:(230,130)(230,0),:(225,5),4,4:(30,192)(90,192),:(50,188)(70,188),:(130,20),5,40[;X60:Y185:(X,Y),1,2:HH(90)125:(HH,20),6,4:(HH,20),2,4:(100,0)(228,0),0<"S4BM130,168U18D9R12U9D18BM+15,0R4E4U10H4L4G4D10F4BM+17,-18D18R12BM+10,-18R12BL12D9R9L9D9R12BM+25,-15E4R4F4D2G12D1R120= 1660>:HOLE NO.31 ?S0:H3:HH(20)1701@225:"BM0,0R120D120L120U120BM10,10R100D100L100U100BM130,192U192R80D192L80":(60,5),4,4:(20,20),5,4:(60,60),6,4:(60,60),2,4:(95,10),6,3:(95,12),2,3:(150,10),5,421A"BM8,168U18D9R12U9D18BM+15,0R4E4U10H4L4G4D10F4BM+17,-18D18R12BM+10,-18R12L12D9R9L9D9R12BM+20,-18R6F4D1G4L3R3F4D1G4L62OB(HH,20),6,4:(HH,20),2,42jCX170:Y188:(X,Y),1,22uD 1662EB05:(150),1:T030:::H3:1,0:X95:Y12:P02FFF(2)22G P0 30 2:(X,Y),1,2:(X,Y),1,12HXX3:YYFF3gI X55 X65 Y55 Y65 125,1:: T0 1000::@266,"STROKES" S: T0 2000::HH1:SSSSS: 753sJ:2003K **HOLE NO.4**3LS0:H4:HH(30)1283M 2273N"BM238,172;U18;G10;R15"3OY1863P N64 184 30:(N,130),10,4:4Q534(R N79 169 30:(N,100),10,4:41S534\T N93 155 30:(N,70),10,4:: 534U N64 184 30:C(3):(N,130),C,4:4V N79 169 30:C(3):(N,100),C,4:4W N93 155 30:C(3):(N,70),C,4:4X 534Y 805Z:HOLE NO.55 [S0:H5:HH(40)1045+\ 1325;]:HOLE NO.65U^S0:H6:HH(100)505_227:"BM238,160L6G4D10F4R4E4U4H4L4G4"5` N69 180 20: 3:(N,150)(N10,100),,BF: N5a(122,71)(128,70),,BF5b1665c:HOLE NO.75dS0:H76e225:"BM36,192U192R178D192L178BM50,188R60BM54,66E36F36H6D42L36U12R12D12L36U42":(93,30)(100,27),:"BM100,26F30BM126,66D24":(130,56)(126,66),:(126,90)(120,102),7jf(125,180),1,4:X76:Y186:(X,Y),1,2:"BM70,78U12R12D12L12BM76,76U10D6L5R10BM102,42U9L3U3R15D3L3D18":(106,42),4,4:(90,98),4,4:"BM86,102G12L24E12R60G12L24E12":(70,105),3,4:(100,105),3,485g"BM50,148;E12L4R4D4BM111,192U70R12D82BM10,50U18D9R12U9D18BM14,78R4E4U10H4L4G4D10F4BM13,87D18R12BM12,116R12L12D9R9L9D9R12BM14,160R12G12D2":(115,188),2,4:(170,170),2,4,2,.5,0:(202,165)(138,165),8Nh(208,50),6,2,1,0,.58Yi 1668ujV80:A1.45:XX:YY:T08k T0 10:(X,Y),1,2:(X,Y),1,18lX106((V(A))T)8mY26((V(A))T16T2)58n Y163 Y1638o Y0 Y09Pp X180 Y163 (202,165)(138,165),:(140,150)(200,182),:(138,163),1,1: 1149Xq T9nrV200:A1.531:T09s(138,163),1,19t 220,19u T0 9:(X,Y),1,2:(X,Y),1,19vX138((V(A))T)9wY153((V(A))T16T2)59x Y190 Y190:y Y0 Y0:Dz X200 Y50 200,1:(X,Y),1,2: N0500: N:L{ T:R|:} S1 @226,"WHAT A SHOT!!--A HOLE IN ONE-- --TAKE A BOW--":~SSSSS: S1 @265,"STROKES "S : N0 1000: N: 130::HOLE NO.8;S0:H8:HH(40)104; 227;S H8 "BM238,166F4D4G4L6H4U4E4R6E4U4H4L6G4D4F4";} H5 "BM240,160L10D8R8F4D4G4L8H2";T$"G5R4G6R4G7R8D4R2U4R8H7R4H6R4H5";(36,90)(214,60),:(36,150)(214,90),<(126,76)(136,116),:(144,73)(154,110),< H5 "BM180,40;XT$;<: H8 "BM70,60;XT$;"$"A0"FF$:"A3"II$:149:"A3"JJ$: N$:53>O"A2"GG$:149:"A2"HH$:149: 143>c I0 500: I>i>y:HOLE NO.9>S0:H9:HH(100)50> 227:"BM232,172;R6E4U10H4L4G4D4F4R4E4"?(150,110),74,4,.7,.44,.93:(70,188),120,4,.5,.77,.2:(124,90),3,4?"BM200,35;XT$;"@A$"C2BM163,136;F14G8F1E1H8E14":B$"C3BM163,136;F14G8F1E1H8E14":C$"C2BM163,120;F14G8F1E1H8E14":D$"C3BM163,120;F14G8F1E1H8E14":E$"C2BM163,110;F14G8F1E1H8E14":F$"C3BM163,110;F14G8F1E1H8E14":G$"C2BM163,100;F14G8F1E1H8E14"@H$"C3BM163,100;F14G8F1E1H8E14":I$"C2BM163,90;F14G8F1E1H8E14":J$"C3BM163,90;F14G8F1E1H8E14":K$"C2BM163,70;F14G8F1E1H8E14"@"A0"A$:149@M$"T255;V22;O5BAGFEDCO4;V10;BAGFEDCO3;V5;BAGFEDC":N$"T255;O4CDEFGAB"@ 166@ T0100: TA"A0"B$:(X,Y),1,3:"A3"A$: N$:"A3"B$:"A2"A$: N$:"A2"B$:"A2"C$: N$:"A2"D$:"A2"E$: N$:"A2"F$:"A2"G$: N$:"A2"H$:"A2"I$: N$:"A2"J$:"A2"K$: 149AX157:Y47:(X,Y),1,2A N0 3:(X,Y),1,2:(X,Y),1,1BYY2: N:(X,Y),1,2B:TEE OFFB+ H6 230 : 168Bm(X,Y),1,2:P(65280): P126 P254 200,1:SS1: 170B H 25,168,168,80,143,168,168,143,201BPX(((0)32)4)BPY(((1)32)4)B PY10 PY10C(X,Y),1,1: Q0 30:(XPX,YPY),1,2:(XPX,YPY),1,1C7XXPX:YYPY:Y8Y8CY H1 (X2,Y)4 PXPXC} H1 (X86 X164) PXPXC H3 XHH6 XHH6 Y14 Y26 69D (X,Y8)3 (X,Y4)3 150,1: YY 180 5:(X,Y),1,2:(X,Y),1,1: Y:(X,Y),1,2: 166D H2 X30 X116 Y75 Y82 Y76 (20)80 4:XX(4)2:(X,Y),1,2:(X,Y),1,1:: 200D H2 ((X38 Y80) (X83 Y120)) PXPXD H2 (X34 X210) PXPXEz H3 S1 XHH6 XHH6 Y14 Y26 125,1::@260,"HOT DOG!!--A HOLE IN ONE!":SSSSS:HH1: T0 2000:: H 16,55,62,75,90,93,99,130,151,229E H7X80 X100 Y86 Y105 T0 15: (200),1: T: 106FR H3 XHH6 XHH6 Y14 Y26 125,1::@266,"STROKES" S:SSSSS:HH1: T0 1000:: H 16,55,62,75,90,93,99,130,151,229Fz (X2,Y)2 (X7,Y2)2 224F Y12 190F Y185 Y185F Q30 200F QFBB(15)10FCCPXGY3: Y3 BB 4:XXCC:(X,Y),1,2:(X,Y),1,1G X210 X210GL… H3 XHH6 XHH6 Y14 Y26 69H ÅH3 XHH6 XHH6 Y14 Y26 125,1: N0500:::@260,"GREAT GUNS!! IN THE HOLE ON THE REBOUND--STROKES "S:HH1: N02000::SSSSS: H 16,55,62,75,90,93,99,130,151,229H%ą H1 X86 CCCCH?Ņ H1 X165 X165Hsƅ (X8,Y)2 (X2,Y)2 (X1,Y)2 224H{Nj YH: PUTTINGH(X,Y),1,2:PP(65280): PP126 PP254 202 : 201Hʠ 200,1:SS1HPX((0)32)4:PY((1)32)4I7(X,Y),1,1: Q1 15:(XPX,YPY),1,2:(XPX,YPY),1,1IIXXPX:YYPYIY΅ Y8 190Iiυ X7 224IЅ H1 (X90 X160) PXPXIх H2 X88 X98 Y120 224I҅ (X2,Y)2 (X8,Y)2 224IӅ H2 212 : 213J"ԅ (X120 Y83) (X85 Y112) PYPYJՅ H3 X54 X66 Y54 Y66 125,1:X60:Y60:Q15: T0 500:::@266,"STROKES"S: T0 2000::HH1:SSSSS: 75Jօ H2 X215 PXPXJׅ (X1,Y)2 X60 224K؅ H5 H8 ((H9 X160) H9 X180) 217 : 218Kم (X1,Y1)3 :@260,"REMEMBER YOU'RE NOT FISHING YOU'RE PLAYING GOLF--SET A NEW BALL ON THE BANK--PENALTY ONE STROKE--REMEMBER JONAH?":SS1:YY30:XX20: Q0 2500:: 1,0: (X,Y),1,4: 200Lڅ H3 XHH6 XHH6 Y14 Y26 125,1:XHH:Y20:Q15::@266,"STROKES"S: T0 2000::HH1:SSSSS: H 16,55,62,75,90,93,99,130,151,229Lۅ H9 X163 X175 Y144 Y156 M$:L܅ H3 XHH6 XHH6 Y14 Y26 69MG݅ H3 X55 X65 Y55 Y65 125,1:SSSSS:HH1: T0 2000:: 75M[ޅ Q15 200Mcߋ QM:@260,"SORRY!! OUT OF BOUNDS -- TRY AGAIN ": T0 1000:::2: 1,0: H 18,57,64,77,92,95,101,132,153M:1,1:2: 1,0:"A0S4"MNて 225:"BM36,192U192R178D192L178BM94,188R60BM228,50U18D9R12U9D18BM232,78R4E4U10H4L4G4D10F4BM231,87D18R12BM228,116R12L12D9R9L9D9R12":(HH,20),6,4:(125,180),1,4:X124:Y186:(X,Y),1,2NO::@129,"YOUR SCORE IS "SS "STROKES FOR NINE HOLES":@289,"PAR IS 27 - HAVE ANOTHER GAME? Y/N":240Oq N69 180 20: 3:(N,150)(N10,100),,BF::OK$:K$"Y" 16 :K$"N" 240O:Y186:(X,Y),1,2NO::@129,"YOUR SCORE IS "SS "STROKES FOR NINE HOLES":@ &' COPYRIGHT (C) T&D SOFTWARE 1985&.:0:(33,175);:@480,(31,175);:Z6347932:@Z,(175)(175);::1535,175:Z6989:A:@Z,(A176);::Z101121:A:@Z,(A176);:'QZ133153:A:@Z,(A176);::@270,"b"(128)"y";:A$(128):@389,"b"A$"r"A$"u"A$"c"A$"e"A$A$A$"m"A$"o"A$"o"A$"r"A$"e";'72005:(339)2553:339,225:100,1'79'56:50,1'5:4,2::2,1::0'H1:I2:J3:K4:L5:O6:P66:Q8:R9:M128:NM3:B1(jA(4,4):(30,30),8,5,.5:(30,30),5,5:(25,40)(30,30),:(36,40),:(27,29):(28,30):(32,30):(34,29):(18,22)(42,48),A,G( B$"BM90,0BDD5FR4EU2NL2BU2UHL4BD6BR9BU7ND7R5FDGNL5FD3BR4BU7R4L2D7L2R4BR5BU7D7R4EU5HL4BR13ND7R5FDGNL5FD3BR4BU7D6FR5U7BR4DND6ER5D7") 14,12,0,14,13,0,10,14,13,2,0,0,14,13,0,10,5,0,11,0,10,10,3,0,14,14,0,10,10,0,10,0,0,14,14,0,10,5,0,10,10,10,11,7,0,10,5,0,10,11,7,8,0,0,10,11,0,11,7,0,10,4,10,1,15,15,11,0,7,6,14,7,2,13,15,15,15,8,0,10,0,10,0,1,10,0,11,0*A (60,60),8,5,.5:(60,60),5,5:(57,66)(60,60),:(64,66),:(58,59):(62,59):B(4,4):(50,55)(70,75),B,G*u X1124130:(X1,90)(X,191),:XX40:X24014*} X1*A20:Y160:X112202:(X1,90)(0,Y),:AA1.28:YYA:Y9016*X1+A20:Y160:X11322552:(X1,90)(255,Y),:AA1.28:YYA:Y9018+X1+I(0,90)(255,95),,BF:(0,96)(255,96),+\23:24:25+uY188:2,2:A39:24+Y167:A32:2,3:24+A35:Y176:2,4:24+25+(0,Y)(255,Y),:AA1.345:YYA:Y96:24+Y45:50:49,*PP26:S(L)O:T(J)I:E.:U(J)I:T.S1,DA I:AAH:AL AJ,bFH 30:PP255PP255,q"P=PP;":,B 32,35,38,35-/ Z(210)12:FH:PP32:(Z,95):27:(Z,94):27:(Z,95):(Z,93):27:(Z,92):(ZI,92):(ZI,94):27:(ZH,92),3:27:(ZH,91),4:27:(ZH,90),4,5,.5:27-!(Z,94)(ZI,94),:(ZH,95):(Z,89),5,5,.5:27:(Z,88),6,5,.5:(Z,90)(Z,93),:27:(Z,88),7,5,.5:27:XZ12:Y85:BI.K"(Z4,88)(Z4,93),,BF:(Z,84),6,5,.5:(Z,84),5,5:(Z4,93)(Z,85),:(Z4,93),:(Z2,83):(Z2,83):27:(Z10,73)(Z10,93),B,:PP32:27:F.:PP32.# ES 26:EE1:XXT4:YYU:X.X.:X220X220.$YR YR :YP YP.%(X,Y)(X24,Y27),A,:BBW80::42/Z&PP32:(X10,Y15)(80,85),:(X16,Y15)(176,85),:Z12:"L255O5CDEO1C"::(X10,Y15)(80,85),:(X16,Y15)(176,85),:U(7):U340/{'1,0:50,20:NMNM1:NM.72/(F1:YY R K:(X,Y)(X24,Y27),A,:27::F.:NANA1:NA7W 50/)PP32:490*C(.):D(H):C38CK :C24CK :C.0(+D36DK :D24DK :D.0V,(M,N):MMC:NND:NR NR :N94N940q-M.M.:M254M2540.(M,N):(339)25527:339,2551E/16027:(.,80)(MK,N),:(255,80)(MK,N),:.:"L255O1EO5CDEC":(.,80)(MK,N),:(255,80)(MK,N),:(M2,N).(M2,N).27:Z14I J:(X12,Y11),Z,5,.910"O5GCDO1E"::SCSCW50(3B)250:NANA1:NA7W 502 10,1::2,1:1,1:B1:M128:N45:B$:339,255:(10,4)(15,6),,BF:Z10NM108:(Z,4):(Z,5):(Z,6)::(198,5)(198(10NA)2,5),:(250,5),:PP32:262265494,0:WW1:ZW1(W6)7:U16Z143:Z:@0,(33,U);:@480,(31,U);:Z6347932:@Z,(U)(U);::1535,U:(W3)W3 NMNM133@204,"wave";:1232,58:1233,W48:@266,"score";:1295,58:A$((SC)):Z1296:(A$)5A$(5(A$),32)A$3O4T2(A$):U((A$,T,1))48:U48U5735Z,U:ZZ1::Z511:"O=Z;L32EDCEDC"::Z511:"O=Z;AGFAGF"::Z511:"O=Z;BAGBAG"::Z511:"O=Z;EDCEDC"::"L2C":NA.:339,25536:IFW>2THENPOKE65495,047(339)25555:339,255:480:(33,175);:@480,(31,175);:Z6347932:@Z,(175)(175);::1535,175:Z7781:A:67::Z109113:A:67::Z141145:A:67::Z173177:A:6749:Z205209:A:67:55:A$"GUARDIANS SWOOP TOWARDS YOU AS YOU TRAVEL ACROSS THE THREE DIMENSIONAL GRID.":685;@352,(31,128):@110,(199)(207)(199);:A$"YOU MUST EITHER FIRE A NET AND CATCH THE GUARDIAN,OR BE CAPTURED BY THE GUARDIAN'S OWN NET.":686T<@352,(31,128):@110,(198)(206)(199);:A$"AS YOU COMPLETE EACH WAVE,YOU HAVE LESS TIME TO CAPTURE THE GUARDIANS.":686=@352,(31,128):A$"YOUR NET LANCHER TAKES 3 SECONDS TO RELOAD.":687&>@352,(31,128):A$"YOU GET A FREE MAN EVERY 3 WAVES,AND THE NUMBER OF MEN LEFT IS INDICATED IN THE TOP LEFT OF THE SCREEN.":687?@352,(31,128):A$"THE NUMBER OF GUARDIANS LEFT IN THE WAVE IS INDICATED BY THE LINE IN THE TOP RIGHT OF THE SCREEN.":688@@352,(31,128);:@110,(199)(207)(199);:A$" press fire button to play ":688A339,255:.8;B3600:(339)25566:8PC@Z,(A192);:8vDI1(A$):B$(A$,I,1):Z383I8EZ352Z3528FB$(A$,I):(B$)32B$(A$,I31,32)8G@Z,B$;:"P32"::"P4":9H65494,0:SC(SC):0:(33,175);:@480,(31,175);:Z6347932:@Z,(175)(175);::1535,175:@135,"FINAL SCORE:"SC;:@235,"WAVE:"W;:I13:Z24:"O=Z;L32CDEFED":Z,I9ISC1000075:)JI15:Y112:"O=I;"(Y):Y:@299,"high"(128)"score";:Y112: (Y):Y:@299,"HIGH"(128)"SCORE";:I:@299,"high"(128)"score";:qK.:"O1L16CDEDEL2DC":@355,"PRESS BUTTON TO PLAY AGAIN";:339,255:L4600:M(339)255 76:N50,1:0:6:O65280,0::3:@202,"instructions";:P@266,"yes";:@298,"no";:QA(.):A(1);"RA31@270,"_";:@302,(175);;FSA32@302,"_";:@270,(175);;ST339,255;U(339)254 A32 6:(339)25481;V5<W: grid run BY BRUCE MOORE 31/12/84;FSA32@302,"_";:@270,(175);;ST339,255;U(339)254 A32 6:(339)25481;V5<W: grid run BY BRUCE MOO>&9ao\M&mE'@ &mE':E-EBG'-' 01!J&ġE/ĮBEGEGB3E &m&9''''''''_>M&mE'@ &mE':E-EBG'-' 01!J&ġE/ĮBEGEGB3E &m&9''''''''_$"&==Ӻ980)1:&TY15'd ,0:AD161 333 < ???0????33??0???0?3???3?3??3??GBGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG@GFGBBBG@FBGBBBG@B@FBBBGG~5A454'455454'455&45O4'0 O5'9'4'0 '54'4559'4'0 '5''O45'9'45''45'ڽ('454455'454455'4 54?455'4!54455'4@54455'4A54455'4`54455'4a54455'454455'454455'454455'454?455'454?455'454455'454455'4544559('454455'454455'4 54455'4!54455'4@54455'4A54455'4`54455'4a54455'454455'454455'454455'454455'454455'454455'454455'4544559('45'~.'454455'454455'4 54*455'4!54455'4@54455'4A54455'4`54455'4a54455'454455'454455'454455'454Z455'454455'454455'454455'454"4559'454455'454@455'4 54455'4!54T455'4@54]455'4A54u455'4`54U455'4a54U455'454]455'454u455'454w455'454455'454U455'454U455'454D455'4544559('454U455'454U455'4 54U455'4!54U455'4@54U455'4A54U455'4`54U455'4a54U455'454U455'454U455'454U455'454U455'454U455'454U455'454U455'454U4559+D'4`54455'4a54455'454455'4544559+D'4@54 455'4A54455'4`54 455'4a54455'454 455'4544559'4'0 '5'''4'5''4 '0 '54'O455''"~3G9'4'5''4'% 5'~4'4 ' 5'~4 '45''4'5'9'45'''4'0 '5''O4'0 5('45'(4'O5('4(+0 5''4('0 5('4(5'(4,'5'3''"~4.(435''45'3945'45''45'45(O4 '0 5(O4'0 O5((45( 454455454455454455454455"454"O4a55(4& 5'~6}454455(( ( 454455( ( ( "~6(45(('ܽ0[''("~6( 45(( 45(('ܽ0[''("~7 (45'45('454U455(45('4 5'(4% 5'~72(45'45('454U455(45('4 5'(4% 5'~7( &H4( 5(( 454(O455( ( I"~845'45'45'޽) 45'ؽ)45'45'ڽ) 45'ؽ)45'45'45'޽)45'ؽ)45'ڽ)45'ؽ)45' 45'ڽ)''ؽ)F'4' 5'~9{'4' 5'~9'4' 5'~9~92~92u~90X''"~9''"~9 45(45(45' 45')'45''45'45'޽)45'45'x454'455|454'455454455 45'޽)45',45'45'y454'455}454'455454455 45'޽),45'45'z454'455~454'455454455 45'޽),45'45'{454'455454'455454455 45'޽),( ( 454455( ( "~;45'3 45(45(G45(45(G 45(45(G45(45(G4(H'45''45'(4 % 5'~<(45" 5'~=( 4 % 5'~=T( 45" 5'~=~?'4' 5'~?+D'45'~='4' 5'~?+D'45'~='4' 5'~?+D'45'~='4' 5'~?+D'45'ؽ)F'4' 5'~?'4 " 5'~E '45("'45($'45(&'45''45'45'޽)($45'(&45'45'޽)'45''45'("45''4' 5'~?'4' 5'~?j'4 " 5'~?( ( 454455( ( "~?d45'3 45(45(G45( 45(G~?45(45(G~? 45'345( 45(G 45(45(G(45((4' 5'~D)4('0 5'(((((('"~@ ((("~<"(x4(5((O45(*|4(5((O45(,4(5((O45(.4(5((O45'4(5((O45(0(*45($(,45(&(.4' 5'~D(.4' 5'~A(.4' 5'~A(.4' 5'~A~B1(,4' 5'~Bm(,45(&~B(*4' 5'~Bm(*45($~B(,4' 5'~Bm(,45(&~B(*4' 5'~Bm(*45($~B4(54455~D'4& 5'~C''45'~Bm~F($45'(&45'ڽ)F'4 " 5('4' (a5'~Bm~B(*45'(,45'(045'޽)(04' 5'~C(04' 5'~C(04' 5'~C+D~C2~C2u($45'(&45'ڽ)F'45("(4 5'޽)4(54("455x4(54'455|4(54'455'4' 5'~D'45'4(54'455焽,~D45( H9( 45(.4(54(.455(("~@J~<(4' 5'~5(45(~5'4 5(24(25((O45''4' 5'~F45'3(24' 5'~F(24' 5'~F(24' 5'~F145(445(6~FE45(445(6~FE45(445(6~FE45(445(6x4(254(4455|4(254(64554(2544554(2544554(254455~>'45'34)'45''45'ڽ(245(('454455'454455'4 5'ܽG((-"~G'4" 5'~5O4a5'~G~(#454<455( 454455(2(2(2("~G 454455(2(2(2("~H((("~G9(4( O5((O45((4( +0 5(2(24( '0 5(2(4(25( ( 45( (4% 5'~H̀45(9̩45ZO45( [O45(99FFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFBFFFBFBFBFBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFG@GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG(FFFFFFFFFFFBFFFBFFFBFBFBFBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFG@GGGGGGGGGGGGGGG