home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Arcade / DIRECTION.SFX / direction (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1993-10-11  |  9.4 KB  |  360 lines

  1. 10 REM       DIRECTION
  2. 20 REM     BY MARTY BALASH
  3. 30 REM     SEPTEMBER 14, 1986
  4. 40 :
  5. 50 PRINT"[147][144]           L O A D I N G . . . [154]"
  6. 60 IFI=0THENI=1:LOAD".DIRECTION",8,1
  7. 70 :
  8. 80 PRINT"ON  YOUR  DISK"
  9. 90 PRINT"[147]RESET HIGH SCORE? (Y OR N)"
  10. 100 PRINT"PLEASE SELECT"
  11. 110 PRINT       "'Y' IF THERE'S"
  12. 120 PRINT       "NO FILE NAMED"
  13. 130 PRINT     ". DIRECTION[146]"
  14. 140 PRINT"ON YOUR DISK"
  15. 150 POKE198,0
  16. 160 IF PEEK(198)=0THEN160
  17. 170 GET A9$
  18. 180 IFA9$<>"N"ANDA9$<>"Y"THEN150
  19. 190 IFA9$="Y"THENGOSUB2750
  20. 200 REM **TITLE & CHAR SET*********
  21. 210 PRINT"[147][144]         P L E A S E   W A I T [154]"
  22. 220 POKE55,0:POKE56,92:CLR
  23. 230 AQ=73
  24. 240 READA:IFA=-1THEN260
  25. 250 FORII=0TO7:READB:POKE12288+A*8+II,B:NEXT:PRINT"";AQ:AQ=AQ-1:GOTO 240
  26. 260 PRINT"      ":POKE53272,(PEEK(53272)AND240)OR12
  27. 270 CLR
  28. 280 GOSUB2660
  29. 290 RE=1
  30. 300 REM*****END TITLE & CHAR SET****
  31. 310 :
  32. 320 :
  33. 330 REM ******** GET OPTIONS*****
  34. 340 GOSUB1890:REM LEVEL
  35. 350 GOSUB2160:REM KEY/JOY
  36. 360 REM ****END GET OPTIONS*****
  37. 370 :
  38. 380 :
  39. 390 :REM ****SET UP**********
  40. 400 POKE53280,1:   GOSUB 1720:REM SHOW INSTRUCTIONS
  41. 410 LM$=" 0":PRINTCHR$(147)
  42. 420 S1$=CHR$(32):S2$=S1$+S1$:S3$=S2$+S1$
  43. 430 GOSUB 1160:REM DRAW TOP PART
  44. 440 FOR SCRNLOC=1184 TO2023
  45. 450 RAN=INT(RND(1)*LL)+1:RAN=RAN+48
  46. 460 POKE SCRNLOC,RAN
  47. 470 NEXT
  48. 480 FOR SCRNLOC=1144 TO 1183: POKE SCRNLOC,160:NEXT
  49. 490 FOR SCRNLOC=1184 TO 1984 STEP 40:POKE SCRNLOC,160:NEXT
  50. 500 FOR SCRNLOC = 1984 TO 2023:POKESCRNLOC,160:NEXT
  51. 510 FORSCRNLOC=1223TO2023STEP40:POKESC,160:NEXT
  52. 520 GOSUB1800:REM NORMAL SCREEN
  53. 530 GOSUB2390:REM PICK LOC
  54. 540 POKE53280,8:POKE53281,3
  55. 550 PRINT"[158]"
  56. 560 REM ******END SET UP*********
  57. 570 :
  58. 580 :
  59. 590 REM ******MAIN ROUTINE*******
  60. 600 IF PEEK(LOC)>128THENPOKE LOC,(PEEK(LOC)-128)
  61. 610 POKE LOC+54272,0
  62. 620 IFJK$="JOY"THENGOSUB 690
  63. 630 IFJK$="KEY"THENGOSUB2450
  64. 640 IFEFLAG=1THENGOSUB1640:PRINT"[154]  YOU LOSE (HIT A KEY)  ":GOTO1080
  65. 650 (null) TO 590
  66. 660 REM ****** END OF MAIN ROUTINE***
  67. 670 :
  68. 680 :
  69. 690 REM ****READ JS INPUT******
  70. 700 GOSUB1430:REM READ JS
  71. 710 IFJV=0THENIFPEEK(LOC)<128THENPOKE LOC,(PEEK(LOC)+128)
  72. 720 IFJV=0THENIFPEEK(LOC)>128THENPOKE LOC,(PEEK(LOC)-128)
  73. 730 IFJV=0THENGOTO830
  74. 740 IF JV = 8      THEN DEF FN FM(LOC)=LOC+1:GOTO  850:REM RIGHT
  75. 750 IF JV = 4      THEN DEF FN FM(LOC)=LOC-1:GOTO  850:REM LEFT
  76. 760 IF JV = 1      THEN DEF FN FM(LOC)=LOC-40:GOTO  850:REM UP
  77. 770 IF JV = 2       THEN DEF FN FM(LOC)=LOC+40:GOTO  850:REM DOWN
  78. 780 IF JV = 9       THEN DEF FN FM(LOC)=LOC-39:GOTO  850:REM NE
  79. 790 IF JV =  5     THEN DEF FN FM(LOC)=LOC-41:GOTO  850:REM NW
  80. 800 IF JV =  6     THEN DEF FN FM(LOC)=LOC+39:GOTO  850:REMSW
  81. 810 IF JV =  10    THEN DEF FN FM(LOC)=LOC+41:GOTO  850:REMSE
  82. 820 IF JV =  0     THEN DEF FN FM(LOC)=LOC:GOTO850:REM NO DIRECTION
  83. 830 GOTO 700
  84. 840 :
  85. 850 REM-----------CONTINUE-------
  86. 860 L2=FNFM(LOC)
  87. 870 IFPEEK(L2)=160THENGOTO920
  88. 880 IFPEEK(L2)>128THENGOTO920
  89. 890 IFPEEK(L2)<128THENPOKE L2,(PEEK(L2)+128)
  90. 900 IFPEEK(L2)>128THENPOKE L2,(PEEK(L2)-128)
  91. 910 IF FR=0THENIFPEEK(LOC)<128THENPOKELOC,(PEEK(LOC)+128):GOSUB940
  92. 920 RETURN
  93. 930 :
  94. 940 REM ***MOVE CURSOR*****
  95. 950 COUNT=PEEK(FNFM(LOC))-48
  96. 960 IF COUNT <1 OR COUNT >9 THEN COUNT=1
  97. 970 IF EFLAG=0THEN LM$=STR$(COUNT):RE=RE+COUNT:GOSUB1160:REM PRINT TOP LINES
  98. 980 FOR I=1 TO COUNT
  99. 990 :  IF EFLAG=0 THEN LOC=FNFM(LOC)
  100. 1000 :  IF PEEK(LOC)>127 THEN EFLAG=1
  101. 1010 :  IF EFLAG=0 THEN GOSUB1520
  102. 1020 :  IF EFLAG=0 THENPOKE LOC,(PEEK(LOC)+128):POKELOC+54272,0
  103. 1030 NEXT  I
  104. 1040 RETURN
  105. 1050 REM *******END MOVE CURSOR******
  106. 1060 :
  107. 1070 :
  108. 1080 REM*******END OF GAME ***********
  109. 1090 POKE198,0
  110. 1100 IFPEEK(198)=0THENGOTO1100
  111. 1110 GOSUB 2660:REM READ/WRITE DISK
  112. 1120 RUN 260
  113. 1130 REM*******END OF GAME ***********
  114. 1140 :
  115. 1150 :
  116. 1160 REM *****PRINT TOP LINES*******
  117. 1170 EC=761-RE:RE$=STR$(RE)
  118. 1180 IF LEN(RE$)=3 THEN RE$=S1$+RE$
  119. 1190 IF LEN(RE$)=2 THEN RE$=S2$+RE$
  120. 1200 IF LEN(RE$)=1 THEN RE$=S3$+RE$
  121. 1210 PG=INT((EC/760)*100):PG=100-PG
  122. 1220 PG$=STR$(PG)
  123. 1230 IF LEN(PG$)=3 THEN PG$=S1$+PG$
  124. 1240 IF LEN(PG$)=2 THEN PG$=S2$+PG$
  125. 1250 IF LEN(PG$)=1 THEN PG$=S3$+PG$
  126. 1260 IF PG > HS THEN HS = PG
  127. 1270 HS$=STR$(HS)
  128. 1280 IF LEN(HS$)=3 THEN HS$=S1$+HS$
  129. 1290 IF LEN(HS$)=2 THEN HS$=S2$+HS$
  130. 1300 IF LEN(HS$)=1 THEN HS$=S3$+HS$
  131. 1310 IF RE > LM THEN LM = RE
  132. 1320 LM$=STR$(LM)
  133. 1330 IF LEN(LM$)=3 THEN LM$=S1$+LM$
  134. 1340 IF LEN(LM$)=2 THEN LM$=S2$+LM$
  135. 1350 IF LEN(LM$)=1 THEN LM$=S3$+LM$
  136. 1360 PRINT "[144]           D I R E C T I O N           "
  137. 1370 PRINT " SPACES GONE: ";RE$:PRINTTAB(19);"[145]PERCENT GONE: ";PG$;"%"
  138. 1380 PRINT " HIGH SPACES: ";LM$:PRINTTAB(19);"[145]HIGH PERCENT: ";HS$;"%"
  139. 1390 RETURN
  140. 1400 REM **** END PRINT TOP LINES **
  141. 1410 :
  142. 1420 :
  143. 1430 REM *****JOYSTICK RDR******
  144. 1440 REM PAGE 344 OF PROG. MANUAL
  145. 1450 JV=PEEK(56320)
  146. 1460 FR=JVAND16
  147. 1470 JV=15-(JVAND15)
  148. 1480 RETURN
  149. 1490 REM ******END OF JOYSTICK RDR***
  150. 1500 :
  151. 1510 :
  152. 1520 REM*******CLICK********
  153. 1530 S=54272
  154. 1540 POKES+24,10:REM VOL
  155. 1550 POKES+1,110
  156. 1560 POKES+5,8
  157. 1570 POKES+6,2:REM DURATION
  158. 1580 POKES+4,17
  159. 1590 POKES+4,16
  160. 1600 RETURN
  161. 1610 REM*****END CLICK*******
  162. 1620 :
  163. 1630 :
  164. 1640 REM*****BUZZER*******
  165. 1650 FOR A=1TO20:POKE54296,15
  166. 1660 FORT=1TO3:NEXT:POKE54296,0
  167. 1670 FORT=1TO3:NEXT:NEXT
  168. 1680 RETURN
  169. 1690 REM*****END BUZZER****
  170. 1700 :
  171. 1710 :
  172. 1720 REM**** SHOW INSTRUCTIONS ***
  173. 1730 POKE53265,59
  174. 1740 POKE53272,120
  175. 1750 POKE56576,PEEK(56576)AND254
  176. 1760 RETURN
  177. 1770 REM***END SHOW**************
  178. 1780 :
  179. 1790 :
  180. 1800 REM**** NORMAL SCRN******
  181. 1810 POKE53265,27
  182. 1820 POKE53272,21
  183. 1830 POKE56576,PEEK(56576)OR1
  184. 1840 POKE53272,(PEEK(53272)AND240)OR12
  185. 1850 RETURN
  186. 1860 REM*****END NORMAL***********
  187. 1870 :
  188. 1880 :
  189. 1890 REM*****GET LEVEL********
  190. 1900 POKE53281,1:POKE53280,1
  191. 1910 PRINT"[147]      CHOOSE A LEVEL:"
  192. 1920 PRINT"[158]1  EASY
  193. 1930 [153]"2  MEDIUM
  194. 1940 PRINT"3  HARD
  195. 1950 [153]"(CURSOR DOWN) KEY TO CHOOSE"
  196. 1960 [153]  "(RETURN)      KEY TO SELECT"
  197. 1970 [153]"STOPCDEFGHIJKL"
  198. 1980 [153]"STOP#$%&'()*+,"
  199. 1990 AR[178]1387[170]80:[151]AR,45
  200. 2000 [151]198,0
  201. 2010 [139][194](198)[178]0[167]2010
  202. 2020 [141] 1520:[143] CLICK
  203. 2030 [161]UD$
  204. 2040 [139]UD$[179][177][199](17)[175]UD$[179][177][199](13)[167][137] 2000
  205. 2050 [139]UD$[178][199](13)[175]AR[178]1387[167]LL[178]5:[137]2120
  206. 2060 [139]UD$[178][199](13)[175]AR[178]1387[170]80[167]LL[178]7:[137]2120
  207. 2070 [139]UD$[178][199](13)[175]AR[178]1387[170]160[167]LL[178]9:[137]2120
  208. 2080 [151]AR,32:AR[178]AR[170]80
  209. 2090 [139]AR[178]1387[170]240[167]AR[178]1387
  210. 2100 [151]AR,45
  211. 2110 [137] 2000
  212. 2120 [142]
  213. 2130 [143]****END GET LEVEL*****
  214. 2140 :
  215. 2150 :
  216. 2160 [143]***JS OR KEY******
  217. 2170 [151]53280,7:[151]53281,7
  218. 2180 [153]"LOADDEF(CURSOR DOWN) KEY TO CHOOSE"
  219. 2190 [153]  "(RETURN)      KEY TO SELECT"
  220. 2200 [153]"CDEFGHIJKL"
  221. 2210 [153]"#$%&'()*+,"
  222. 2220 [153]"JOYSTICK":[153]"   OR"
  223. 2230 [153]"KEYBOARD?"
  224. 2240 AR[178]1432:[151]AR,45
  225. 2250 [151]198,0
  226. 2260 [139][194](198)[178]0[167]2260
  227. 2270 [141]1520:[143] CLICK
  228. 2280 [161] UD$
  229. 2290 [139]UD$[179][177][199](17)[175]UD$[179][177][199](13)[167][137]2250
  230. 2300 [139]UD$[178][199](13)[175]AR[178]1432[167]JK$[178]"JOY":[137]2360
  231. 2310 [139]UD$[178][199](13)[175]AR[178]1432[170]160[167]JK$[178]"KEY":[137]2360
  232. 2320 [151] AR,32:AR[178]AR[170]160
  233. 2330 [139]AR[177]1432[170]160[167]AR[178]1432
  234. 2340 [151]AR,45
  235. 2350 [137] 2250
  236. 2360 [142]
  237. 2370 :
  238. 2380 :
  239. 2390 [143]****PICK RND LOC******
  240. 2400 LOC[178][181]([187](1)[172]801)[170]1185:[139][194](LOC)[179]49[176][194](LOC)[177]57[167][137]2400
  241. 2410 [142]
  242. 2420 [143]****END PICK******
  243. 2430 :
  244. 2440 :
  245. 2450 [143] ****READ KEYBOARD INPUT******
  246. 2460 [151]198,0
  247. 2470 HOLD[178][194](LOC):[151] LOC,160:[151]LOC,HOLD:[139] [194](198)[178]0[167]2470
  248. 2480 [161]IP$
  249. 2490 [150] [165]FM(LOC)[178]LOC
  250. 2500 [139] IP$[178][199](76)[167] [150] [165] FM(LOC)[178]LOC[170]1:[137] 2590:[143] RIGHT
  251. 2510 [139] IP$[178][199](74)[167] [150] [165] FM(LOC)[178]LOC[171]1:[137] 2590:[143] LEFT
  252. 2520 [139] IP$[178][199](73)[167] [150] [165] FM(LOC)[178]LOC[171]40:[137] 2590:[143] UP
  253. 2530 [139] IP$[178][199](44)[167] [150] [165] FM(LOC)[178]LOC[170]40:[137] 2590:[143] DOWN
  254. 2540 [139] IP$[178][199](79)[167] [150] [165] FM(LOC)[178]LOC[171]39:[137] 2590:[143] NE
  255. 2550 [139] IP$[178][199](85)[167] [150] [165] FM(LOC)[178]LOC[171]41:[137] 2590:[143] NW
  256. 2560 [139] IP$[178][199](46)[167] [150] [165] FM(LOC)[178]LOC[170]41:[137] 2590:[143]SE
  257. 2570 [139] IP$[178][199](77)[167] [150] [165] FM(LOC)[178]LOC[170]39:[137]2590:[143]SW
  258. 2580 [137] 2450
  259. 2590 [139] [194]([165]FM(LOC))[177]127[167][137]2450
  260. 2600 [139] [194](LOC)[179]128[167][151]LOC,([194](LOC)[170]128)
  261. 2610 [141]940
  262. 2620 [142]
  263. 2630 [143] ****END OF READ KEYBOARD*****
  264. 2640 :
  265. 2650 :
  266. 2660 [143] ****READ/WRITE HS TO DISK***
  267. 2670 [159]1,8,8,"0:. DIRECTION,S,R"
  268. 2680 [132]1,DS$
  269. 2690 [132]1,DP$
  270. 2700 [160]1
  271. 2710 [139] [197](HS$)[177][197](DS$)[167]DS$[178]HS$:F1[178]1
  272. 2720 [139] F1[178]0[167]HS$[178]DS$
  273. 2730 [139] [197](LM$)[177][197](DP$)[167]DP$[178]LM$:F2[178]1
  274. 2740 [139] F2[178]0[167]LM$[178]DP$
  275. 2750 [139] DS$[178]""[167]DS$[178]"0"
  276. 2760 [139] DP$[178]""[167]DP$[178]"0"
  277. 2770 [159]1,8,8,"@0:. DIRECTION,S,W"
  278. 2780 [152]1,DS$:[152]1,DP$:[160]1
  279. 2790 LM[178][197](LM$):HS[178][197](HS$)
  280. 2800 [142]
  281. 2810 [143] ****END DISK R/W*****
  282. 2820 :
  283. 2830 :
  284. 2840 [131]2,124,110,102,124,102,110,124,0
  285. 2850 [131]10,062,12,12,12,108,124,56,0
  286. 2860 [131]63,60,102,102,12,24,0,24,0
  287. 2870 [131]32,0,0,0,0,0,0,0,0
  288. 2880 [131] 160,255,255,255,255,255,255,255,255
  289. 2890 :
  290. 2900 :
  291. 2910 [131]1,24,60,102,126,126,102,102,0
  292. 2920 [131]3,60,126,102,96,102,126,60,0
  293. 2930 [131]4,120,124,102,102,102,124,120,000
  294. 2940 [131]5,126,126,96,120,96,126,126,0
  295. 2950 [131]7,60,126,96,110,102,126,60,0
  296. 2960 [131]8,102,102,126,126,102,102,102,0
  297. 2970 [131]9,60,60,24,24,24,60,60,0
  298. 2980 [131]11,102,110,124,120,124,110,102,0
  299. 2990 [131]12,96,96,96,96,96,126,126,0
  300. 3000 [131]13,99,119,127,127,107,99,99,0
  301. 3010 [131]14,102,118,126,126,110,110,102,0
  302. 3020 [131]15,60,126,102,102,102,126,060,0
  303. 3030 [131]16,124,126,102,126,124,96,96,0
  304. 3040 [131]18,124,102,118,124,120,108,102,0
  305. 3050 [131]19,60,126,96,60,6,126,60,0
  306. 3060 [131]20,126,126,24,24,24,24,24,0
  307. 3070 [131]21,102,102,102,102,102,126,60,0
  308. 3080 [131]22,102,102,102,102,126,60,24,0
  309. 3090 [131]23,99,99,107,127,127,119,99,0
  310. 3100 [131]25,102,102,126,60,24,24,24,0
  311. 3110 [131]33,60,60,60,24,0,24,24,0
  312. 3120 [131]37,2,102,78,28,56,114,102,0
  313. 3130 [131]40,28,56,112,112,112,56,28,0
  314. 3140 [131]41,56,28,14,14,14,28,56,0
  315. 3150 [131]45,8,12,254,255,254,12,8,0
  316. 3160 [131]48,60,126,102,102,102,126,60,0
  317. 3170 [131]49,24,56,56,24,24,126,126,0
  318. 3180 [131]50,60,126,102,12,56,126,126,0
  319. 3190 [131]51,60,126,102,012,102,126,60,0
  320. 3200 [131]52,14,30,54,102,127,127,6,0
  321. 3210 [131]53,126,96,124,14,102,126,60,0
  322. 3220 [131]54,60,102,96,124,102,126,60,0
  323. 3230 [131]55,126,126,70,12,24,24,24,0
  324. 3240 [131]56,60,102,118,60,110,102,60,0
  325. 3250 [131]57,60,102,102,62,6,126,60,0
  326. 3260 [131]58,0,24,24,0,24,24,0,0
  327. 3270 [131]61,0,126,126,0,126,126,0,0
  328. 3280 [131]131,192,225,243,255,222,204,192,192
  329. 3290 [131]132,223,223,192,192,195,199,204,204
  330. 3300 [131]133,255,255,0,0,015,143,204,204
  331. 3310 [131]134,255,255,12,12,141,205,205,205
  332. 3320 [131]135,255,255,3,3,155,155,155,251
  333. 3330 [131]136,255,255,3,3,7,15,30,60
  334. 3340 [131]137,255,255,192,192,135,15,204,204
  335. 3350 [131]138,255,255,0,0,204,204,12,12
  336. 3360 [131]139,255,255,0,0,120,252,204,204
  337. 3370 [131]140,255,255,0,0,195,195,227,243
  338. 3380 [131]163,192,192,192,192,192,192,192,255
  339. 3390 [131]164,207,207,204,204,204,204,0,255
  340. 3400 [131]165,207,207,205,204,204,204,0,255
  341. 3410 [131]166,204,140,140,204,204,204,0,255
  342. 3420 [131]167,243,99,99,99,99,99,0,255
  343. 3430 [131]168,120,240,224,192,128,0,0,255
  344. 3440 [131]169,207,199,192,192,207,207,0,255
  345. 3450 [131]170,140,204,204,204,204,140,0,255
  346. 3460 [131]171,204,204,204,204,252,120,0,255
  347. 3470 [131]172,255,255,207,199,195,195,0,255
  348. 3480 [131]176,195,129,153,153,153,129,195,255
  349. 3490 [131]177,231,199,199,231,231,129,129,255
  350. 3500 [131]178,195,129,153,243,199,129,129,255
  351. 3510 [131]179,195,129,153,243,153,129,195,255
  352. 3520 [131]180,241,225,201,153,128,128,249,255
  353. 3530 [131]181,129,159,131,241,153,129,195,255
  354. 3540 [131]182,195,153,159,131,153,129,195,255
  355. 3550 [131]183,129,153,179,231,231,231,231,255
  356. 3560 [131]184,195,153,137,195,145,153,195,255
  357. 3570 [131]185,195,153,153,193,249,129,195,255
  358. 3580 [131]186,255,231,231,255,231,231,255,255
  359. 3590 [131]-1
  360.