home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V3D07.D64 / pointers (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  4.9 KB  |  184 lines

  1. 5 IFZ%=0THENZ%=1:POKE631,32:POKE198,1:LOAD"P.CODE",8,1
  2. 10 REM *** PREFERENCES PROGRAM
  3. 20 REM *** TO DEMONSTRATE USE OF
  4. 30 REM *** POINTER CODE.
  5. 40 REM *** BY WILLIAM PHILLIPS 1988.
  6. 50 :
  7. 60 GOSUB5010
  8. 70 GOSUB5220
  9. 80 GOSUB5180
  10. 90 GOSUB5260
  11. 95 IFPEEK(49886)>0THEN90
  12. 100 X%=PEEK(49872)+256*(PEEK(49873)AND1)
  13. 110 IFX%>25ANDX%<162THEN150
  14. 120 IFX%>164ANDX%<259THEN550
  15. 130 IFX%>260ANDX%<341THENSYS49274:PRINTCHR$(147):END
  16. 140 GOTO90
  17. 150 M%=0:GOSUB5320
  18. 160 POKE684,7:POKE679,1
  19. 170 GOSUB5260:IFPEEK(710)=0THEN170
  20. 180 GOSUB5470
  21. 190 Y%=S%-4
  22. 200 ONY%GOTO210,250,290,330,390,540
  23. 210 M%=7:GOSUB5320
  24. 220 A%=PEEK(49413)
  25. 230 X%=7:Y%=19:L%=31:N%=19:GOSUB5560
  26. 240 POKE49413,A%:GOTO90
  27. 250 M%=12:GOSUB5320
  28. 260 A%=PEEK(49408)
  29. 270 X%=8:Y%=23:L%=7:N%=1:GOSUB5560
  30. 280 POKE49408,A%:GOTO90
  31. 290 M%=17:GOSUB5320
  32. 300 A%=PEEK(49396)
  33. 310 X%=9:Y%=23:L%=7:N%=5:GOSUB5560
  34. 320 POKE49396,A%:GOTO90
  35. 330 M%=22:GOSUB5320
  36. 340 POKE684,3:POKE679,1
  37. 350 GOSUB5260:IFPEEK(710)=0THEN350
  38. 360 GOSUB5470:GOSUB5520
  39. 370 DC%=S%-12:IFDC%=3THEN540
  40. 380 DV%=DC%:IFDV%=2THEN80
  41. 385 DV%=1-DV%:GOTO80
  42. 390 M%=27:GOSUB5320
  43. 400 POKE684,14:POKE679,1
  44. 410 GOSUB5260:IFPEEK(710)=0THEN410
  45. 420 GOSUB5470
  46. 430 G%=S%-13:IFG%=3THEN540
  47. 440 L%=0:IFG%=2THENL%=1
  48. 450 X%=14+G%:GOSUB5680
  49. 460 GOSUB5260
  50. 470 Y%=PEEK(49886)
  51. 480 IFY%<(X%+1)ORY%>(X%+2)THENGOTO460
  52. 490 Y%=PEEK(49885)
  53. 495 IFY%<3ORY%>2*(17-L%)THENGOTO460
  54. 500 P%=INT((Y%-3)/2)+L%
  55. 510 IFG%=0THENTL%=P%
  56. 520 IFG%=1THENPOKE49332,P%
  57. 530 IFG%=2THENPOKE53287,P%
  58. 540 GOSUB5520:GOTO70
  59. 550 M%=32:GOSUB5320
  60. 560 POKE781,6:POKE782,10:SYS58634:PRINTCHR$(158)"]"LEFT$(Y$,13):POKE53269,0
  61. 565 T%=PEEK(49408):T1%=PEEK(49396):POKE49396,0:POKE49408,0
  62. 570 F$=""
  63. 580 POKE781,6:POKE782,11:SYS58634:PRINTF$;" ";CHR$(157);:POKE204,0
  64. 590 GETA$:IFA$=CHR$(13)THEN640
  65. 600 IFA$=CHR$(20)ANDLEN(F$)>0THENPOKE204,1:PRINT" "
  66. 605 IFA$=CHR$(20)ANDLEN(F$)>0THENF$=LEFT$(F$,LEN(F$)-1):GOTO580
  67. 610 IFA$<" "ORA$>"[218]"THEN590
  68. 620 IFLEN(F$)<13THENF$=F$+A$
  69. 630 GOTO580
  70. 640 POKE204,1:IFF$=""THEN800
  71. 660 M%=35:GOSUB5320
  72. 670 R%=0:GETA$:IFA$="[212]"ORA$="T"THENR%=1:F$=CHR$(5)+CHR$(14)+CHR$(8)+F$
  73. 680 IFA$="[196]"ORA$="D"THENR%=8:GOTO710
  74. 690 IFR%=0THEN670
  75. 700 M%=38:GOSUB5320
  76. 705 IF(PEEK(1)AND16)=16THEN705
  77. 706 GETA$:IFA$=""THEN705
  78. 710 SYS49274:SAVEF$,R%,1
  79. 720 POKE186,R%:POKE184,1:POKE185,1
  80. 740 F$="P.CODE":FORI=1TO6:POKE53230+I,ASC(MID$(F$,I,1)):NEXT
  81. 750 POKE183,6:POKE187,239:POKE188,207
  82. 760 POKE251,0:POKE252,192
  83. 770 POKE781,93:POKE782,195
  84. 780 POKE780,251
  85. 790 SYS65496:SYS65484
  86. 800 SYS49152
  87. 810 POKE49408,T%:POKE49396,T1%:GOTO540
  88. 3999 END
  89. 5000 REM *** INITIALISE
  90. 5010 POKE679,0:POKE710,0:PRINTCHR$(147)CHR$(14)CHR$(8)
  91. 5020 POKE53280,0:POKE53281,0
  92. 5030 FORI=685TO709:POKEI,1:NEXT
  93. 5040 POKE49332,1:POKE49413,19
  94. 5045 POKE49396,5:POKE49408,1
  95. 5050 POKE49872,128:POKE49874,128
  96. 5060 POKE49873,0:POKE53287,1
  97. 5070 DV%=2:TL%=6
  98. 5080 DIMC%(15),M$(40)
  99. 5090 FORI=0TO15:READC%(I):NEXT
  100. 5100 Z$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  101. 5110 Y$="                                       "
  102. 5115 K%=0:FORI=0TO8
  103. 5120 READX%,Y%,L%,D%,Q%,B%,V%,T$:M$(K%)=CHR$(X%)+CHR$(Y%)+CHR$(L%)+CHR$(D%)
  104. 5130 M$(K%)=M$(K%)+CHR$(Q%)+CHR$(B%)+CHR$(V%)+T$:FORD=1TOD%:READM$(K%+D):NEXT
  105. 5140 K%=K%+1+D%:NEXT
  106. 5150 POKE781,24:POKE782,1:POKE783,48:POKE658,1:SYS58634
  107. 5155 PRINTCHR$(153)"'[208]REFERENCES' PROGRAM BY [215]. [208]HILLIPS"
  108. 5160 SYS49152:RETURN
  109. 5170 REM *** SET DEVICE
  110. 5180 POKE49884,DV%AND2
  111. 5190 POKE49337,DV%AND1
  112. 5200 RETURN
  113. 5210 REM *** PRINT TOP LINE
  114. 5220 PRINTCHR$(19)CHR$(C%(TL%))CHR$(18)CHR$(165)"   [208]REFERENCES  [221]  [211]TORAGE  [221]";
  115. 5230 PRINT"  [209]UIT   "CHR$(167)CHR$(146)
  116. 5240 RETURN
  117. 5250 REM *** CHECK FIRE
  118. 5260 IFDV%=2THEN5290
  119. 5270 F%=PEEK(56320+DV%)AND16:IFF%=16THEN5270
  120. 5280 RETURN
  121. 5290 GETA$:IFA$<>CHR$(13)THEN5290
  122. 5300 RETURN
  123. 5310 REM *** PRINT MENU
  124. 5320 X%=ASC(LEFT$(M$(M%),1)):Y%=ASC(MID$(M$(M%),2,1))
  125. 5330 L%=ASC(MID$(M$(M%),3,1)):D%=ASC(MID$(M$(M%),4,1))
  126. 5340 Q%=ASC(MID$(M$(M%),5,1)):B%=ASC(MID$(M$(M%),6,1))
  127. 5350 V%=ASC(MID$(M$(M%),7,1))
  128. 5360 POKE781,X%:POKE782,0:POKE783,48:SYS58634
  129. 5370 PRINTTAB(Y%)CHR$(B%)"[176]"LEFT$(Z$,L%)"[174]"
  130. 5380 IFQ%=1THENPRINTTAB(Y%)"[221]"CHR$(30)RIGHT$(M$(M%),L%)CHR$(B%)"[221]"
  131. 5390 IFQ%=1THENPRINTTAB(Y%)"[171]"LEFT$(Z$,L%)"[179]"
  132. 5400 FORI=1TOD%
  133. 5410 PRINTTAB(Y%)"[221]"CHR$(V%)M$(M%+I)LEFT$(Y$,L%-LEN(M$(M%+I)))CHR$(B%)"[221]":NEXT
  134. 5420 PRINTTAB(Y%)"[173]"LEFT$(Z$,L%)"[189]"
  135. 5430 POKE680,Y%+1:POKE681,Y%+L%
  136. 5440 POKE682,X%+1+2*Q%:POKE683,PEEK(682)+D%-1
  137. 5450 RETURN
  138. 5460 REM *** FLASH BAR
  139. 5470 T%=PEEK(49408):T1%=PEEK(49396):POKE49396,0:POKE49408,0:POKE49871,0
  140. 5480 FORI=0TO14:POKE679,1-PEEK(679)
  141. 5490 FORD=0TO18:NEXT
  142. 5500 NEXT:S%=PEEK(49886):POKE679,0:POKE49408,T%:POKE49396,T1%:RETURN
  143. 5510 REM *** CLEAR WINDOW SPACE
  144. 5520 PRINTCHR$(19)CHR$(17)
  145. 5530 FORI=0TO17:PRINTY$:NEXT
  146. 5540 RETURN
  147. 5550 REM *** HANDLE ACCEL & VELOC
  148. 5560 POKE684,15
  149. 5570 POKE679,1:POKE781,X%:POKE782,Y%:SYS58634
  150. 5580 A$=STR$(A%)+" ":PRINTCHR$(150)MID$(A$,2,2)
  151. 5590 GOSUB5260:IFPEEK(710)=0THEN5590
  152. 5600 GOSUB5470
  153. 5610 P%=S%-(X%+1)
  154. 5620 ONP%GOTO5630,5640,5650,5660
  155. 5630 A%=A%+1:A%=A%ANDL%:GOTO5570
  156. 5640 A%=A%-1:A%=A%ANDL%:GOTO5570
  157. 5650 A%=N%:GOTO5570
  158. 5660 GOSUB5520:RETURN
  159. 5670 REM *** PRINT COLOUR BLOCKS
  160. 5680 POKE781,X%:POKE782,0:SYS58634
  161. 5690 PRINTTAB(2)CHR$(158)"[176]"LEFT$(Z$,2*(16-L%))"[174]"
  162. 5700 PRINTTAB(2)"[221]"CHR$(18);:FORI=L%TO15:PRINTCHR$(C%(I))"  ";:NEXT
  163. 5710 PRINTCHR$(146)CHR$(158)"[221]"
  164. 5720 PRINTTAB(2)"[221]"CHR$(18);:FORI=L%TO15:PRINTCHR$(C%(I))"  ";:NEXT
  165. 5730 PRINTCHR$(146)CHR$(158)"[221]"
  166. 5740 PRINTTAB(2)"[173]"LEFT$(Z$,2*(16-L%))"[189]":RETURN
  167. 8000 DATA144,5,28,159,156,30,31,158,129,149,150,151,152,153,154,155
  168. 8010 DATA2,1,16,6,1,154,155,"  [208]REFERENCES   "
  169. 8020 DATA"[193]CCELERATION","[201]NITIAL VELOCITY","[205]AXIMUM VELOCITY","[195]ONTROL DEVICE"
  170. 8025 DATA"[193]TTRIBUTES","[197]XIT"
  171. 8030 DATA6,5,15,4,1,158,153,"[193]CCELERATION   "
  172. 8040 DATA"[193]CCELERATION +1","[193]CCELERATION -1","[206]ORMAL ACCEL.","[197]XIT"
  173. 8050 DATA7,5,19,4,1,158,153,"[201]NITIAL [214]ELOCITY   "
  174. 8060 DATA"[201]NITIAL VELOCITY +1","[201]NITIAL VELOCITY -1","[206]ORMAL VELOCITY","[197]XIT"
  175. 8070 DATA8,5,19,4,1,158,153,"[205]AXIMUM [214]ELOCITY   "
  176. 8080 DATA"[205]AXIMUM VELOCITY +1","[205]AXIMUM VELOCITY -1","[206]ORMAL MAXIMUM","[197]XIT"
  177. 8090 DATA9,5,14,4,1,158,154,"[195]ONTROL [196]EVICE"
  178. 8100 DATA"[202]OYSTICK 1","[202]OYSTICK 2","[203]EYBOARD","[197]XIT"
  179. 8110 DATA10,5,19,4,1,159,155,"    [193]TTRIBUTES     "
  180. 8120 DATA"[212]OP LINE TEXT","[212]OP LINE BACKGROUND","[208]OINTER COLOUR","[197]XIT"
  181. 8130 DATA2,9,22,2,1,159,154,"[211]AVE [208]ROGRAM AND [195]ODE ","[208]LEASE ENTER FILENAME:",""
  182. 8140 DATA6,13,19,2,0,155,154,"","[208]LEASE ENTER DEVICE","([212])APE OR ([196])ISK"
  183. 8150 DATA8,15,22,2,0,154,155,"","[211]TART TAPE,","THEN PRESS ANY KEY"
  184.