home *** CD-ROM | disk | FTP | other *** search
- 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
-