100 REM THE CHALLENGE OF PEGASUS 110 REM THE CAVERN OF DOOM 120 : 130 SYS57812"BUMBLEBEE.MUS",8,0:POKE780,.: POKE781,.:POKE782,80:SYS65493 140 : 150 SYS57812"SID.OBJ.64",8,0:POKE780,.: POKE781,.:POKE782,192:SYS65493 160 : 170 SYS57812"MY.SPR",8,0:POKE780,.: POKE781,64:POKE782,53:SYS65493 180 : 190 SYS57812"CAVE.FONT",8,0:POKE780,.: POKE781,.:POKE782,56:SYS65493 200 : 210 SYS57812"CAVE.O",8,0:POKE780,.: POKE781,.:POKE782,64:SYS65493 220 : 230 : 240 POKE53272,30:REM FONT @ $3800 250 : 260 V=53248:GOSUB1840:REM CHOOSE LEVEL 265 S1=54273:V1=53294:S2=54287 270 : 280 DIM C(3):C(1)=15:C(2)=12:C(3)=11 290 : 300 SC=0 : REM SCORE 310 : 320 SYS49615 : REM 'HOOK' 330 POKE781,.:POKE782,80:SYS49664:POKE 49152,7 : REM 'PLAY' 340 : 350 : 360 PRINT"[147][159] [185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185]" 370 PRINT" [129]MILES ENERGY CAVE OF CRYSTALS" 380 PRINT"[159] [184][184][184][184][184] [184][184][184][184][184][184] [129]DOOM [159][184][184][184][184][184][184][184][184]" 390 PRINTTAB(17)"[159][184][184][184][184][184][184][184][184]" 400 PRINT" " 410 PRINTTAB(2)" [146]  [146]  [146]  [146]  [146]  " 420 PRINTTAB(2)" [146]  [146]  [146]  [146]  [146]  " 430 PRINTTAB(3)" [146]  [146]  [146]  [146]  [146]  " 440 PRINTTAB(3)" [146]  [146][146]  [146] [161] [161]  " 450 PRINTTAB(3)" [146] [161]  [146] [161]  " 460 PRINTTAB(3)"[161] [161]  [146] [180]  " 470 PRINTTAB(3)"[161]  [146] [182]" 480 PRINTTAB(3)"[161]  [146] [182]" 490 PRINTTAB(3)"[161] [181] [182]" 500 PRINT 510 PRINT:PRINTTAB(11)"[181]" 520 PRINTTAB(11)"[181] [182]" 530 PRINTTAB(2)"[161]  [146] [181] [182] " 540 PRINTTAB(2)"[161]  [146]  [146]  " 550 PRINTTAB(2)" [146]  [146]  [146]  " 560 PRINTTAB(2)" [146]  [146]  [146]  " 570 PRINTTAB(2)" [146]  [146]  [146]  " 580 PRINT" " 590 : 600 FORX=2040TO2047:READD:POKEX,D:NEXTX 610 : 620 READO,D:IFO>-1 THEN POKEV+O,D: GOTO620 630 YP=161 640 : 650 FORX=17152TO17168:READD:POKEX,D: NEXTX 660 : 670 RESTORE 680 : 690 PRINT" "SC" "SH:PRINT""TAB(33)M 700 : 710 REM ------------------------------ 720 : 730 REM CLEAR SPRITE COLLISION REG'S 740 : 750 WS=PEEK(V+30):WC=PEEK(V+31) 760 : 770 POKE16402,220: REM SPRITE PAGE # 780 POKE16403,7 : REM SPRITE #7 790 POKE16404,. : REM SET-UP MUSIC 800 POKE16405,80 : REM PNTRS FOR ML 810 POKE16406,7 : REM INIT ML INDEXL 820 : 830 REM ------------------------------ 840 : 850 POKE17152,127:SYS 16384:REM SETIRQ 860 : 870 : 880 REM --- THIS IS THE MAIN LOOP! --- 890 : 900 SYS 16393 : REM POLL JOYSTICK 910 IFPEEK(16407)THEN1060 920 : 930 SYS 16390 : REM 'SCROLL' 940 : 950 SYS 16399 : REM COLLISION DETECT 960 IFPEEK(16408)THEN1330 970 : 980 SC=SC+1:PRINT" "SC:IFSC>MI THEN GOTO1740 990 IF SC>400 THEN SYS 16390 995 IF SC>800 THEN SYS 16390 1000 GOTO900 1010 : 1020 : 1030 REM ---- 'FIRE' WAS PRESSED ---- 1040 : 1050 : 1060 X=226:Y=PEEK(V+15) 1070 POKEV+12,X:POKEV+13,Y:POKEV+21,255 1080 POKE17152,64 1090 IFPEEK(V+30)>64THEN1160 1100 X=X-8:POKEV+12,X:IFX>32THEN1090 1110 : 1120 POKE17152,255:POKEV+21,191 1130 M=M-1:PRINT""TAB(33)M 1140 GOTO900 1150 : 1160 Q=213 : POKEV+21,191 1170 : 1180 REM ---- MAKE 'BOING' SOUND ---- 1190 : 1200 POKE49152,.:SYS16396:POKE54296,15 1210 POKE54277,8:POKE54278,255:POKE54276,23:FF=202 1220 FORZ=1TO8:FW=30:Q=Q+1:IFQ=217THENQ=213 1230 POKE2040,Q:POKE2041,Q 1240 POKES1,FF:FORY=1TO10:POKES2,FW:FW=FW*1.01:NEXTY:FF=FF-8:NEXTZ 1250 SC=SC+150:PRINT" "SC:IFSC>MITHEN1740 1260 M=M-1:PRINT""TAB(33)M 1270 POKEV+1,52:POKEV+3,220:WS=PEEK(V+30):POKE17152,255:SYS16396:GOTO900 1280 : 1290 REM ------------------------------ 1300 REM -- SPRITE COLLISION ROUTINE -- 1310 REM ------------------------------ 1320 : 1330 POKE17152,. 1340 : 1350 POKE49152,.:SYS16396 1360 POKE54296,15:POKE54277,8:POKE54278,255:POKE54276,23:F2=7.745 1370 FORT=1TO3:POKEV1,C(T):POKES2,F2:FORF1=80TO40STEP-1:POKES1,F1 1380 F2=F2-.025:NEXTF1:NEXTT:POKE54278,15 1390 SYS16396 : SYS16387 1400 SH=SH-1:IFSH=0THEN1450 1410 POKEV+21,63:FORT=0TO500:NEXT: POKEV+21,.:POKEV+16,.:GOTO360 1420 : 1430 REM ---- END OF GAME ROUTINE ---- 1440 : 1450 POKE49152,.:SYS49897:SYS49935 1460 PRINT"[147][159]":POKEV+21,. 1470 PRINT"[154] YOUR FLYING DAYS ARE OVER" 1480 PRINT" AFTER A FLIGHT OF"SC"[154]MILES" 1490 PRINT" DO YOU WANT TO PLAY AGAIN? (Y[154]/N[154])" 1500 POKE198,. 1510 GETA$:IFA$=""THEN1510 1520 IFA$="N"THEN1620 1530 IFA$<>"Y"THEN1510 1540 : 1550 POKEV+21,.:POKE17152,.:PRINT"[147]" 1560 POKEV+16,.:CLR 1570 GOTO260 1580 : 1590 : 1600 REM CONNECT TO LOADSTAR 1610 : 1620 PRINT"[147][144]":POKEV+21,.:POKEV+16,.: POKEV+23,.:POKEV+29,. 1630 OPEN15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":INPUT#15,ER:CLOSE15 1640 POKE53272,21:IFER<>63THENPRINT"[147]": END 1650 A$="HELLO CONNECT":Q$=CHR$(34) 1660 PRINT"[144][147]LOAD"Q$A$Q$",8" 1670 PRINT"RUN":POKE631,13: POKE632,13:POKE198,2:END 1680 : 1690 : 1700 REM ----------------------------- 1710 REM --- OFF TO MOUNT OLYMPUS! --- 1720 REM ----------------------------- 1730 : 1740 SYS 16387:POKEV+21,.:POKE53272,21 1745 POKE49152,.:SYS49897:SYS49935 1750 REM SYS16396 : REM MY 'HUSH' 1760 PRINTCHR$(147):PRINT:PRINT 1770 PRINT"[144]LOAD"CHR$(34)"P-OLYMPUS"CHR$(34)",8":PRINT:PRINT:PRINT:PRINT 1780 PRINT"RUN":PRINT"[154]AND NOW TO MOUNT OLYMPUS....[144]" 1790 PRINTCHR$(19):POKE198,2:POKE631,13: POKE632,13:END 1800 : 1810 : 1820 REM --- CHOOSE LEVEL OF PLAY ---- 1830 : 1840 POKE53280,.:POKE53281,. 1850 PRINT"[147][154]"TAB(8)"PICK YOUR LEVEL OF PLAY" 1860 PRINTTAB(8)"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]":PRINT 1870 PRINT"1. [154]BEGINNER (VERY LITTLE FLIGHT TIME)" 1880 PRINT"2. [154]INTERMEDIATE (FLIES MOST WEEKENDS)" 1890 PRINT"3. [154]EXPERT (A FLYING HORSE FOR YEARS)" 1900 PRINTTAB(12)"PRESS 1, 2 OR 3" 1910 POKE198,. 1920 GETH$:IFH$=""THEN1920 1930 IFH$<"1"ORH$>"3"THEN1920 1940 H=VAL(H$):MI=H*500:M=11-2*H:SH=M 1950 RETURN 1960 : 1970 : 1980 : 1990 DATA 213,213,217,217,218,218 2000 DATA 219,220 2010 : 2020 DATA 0,40,1,154,2,75,3,220,4,40 2030 DATA 5,82,6,200,7,82,8,46,9,196 2040 DATA 10,230,11,196,14,246,15,161 2050 DATA 16,0,23,60,29,60,27,63,39,3 2060 DATA 40,10,41,13,42,13,43,13 2070 DATA 44,13,45,7,46,1,21,191,-1,-1 2080 : 2090 DATA 0,1,255,2,1,2,0,2,0,2,0,2,0 2100 DATA 0,0,0,0 10000 OPEN15,8,15,"S0:P-CAVERN":CLOSE15:SAVE"P-CAVERN",8:END