home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 229 / 229.d81 / joytest (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  5KB  |  226 lines

  1. 10 clr
  2. 20 print"[147]":poke53280,3:poke53281,3
  3. 30 poke53272,20
  4. 100 ad=4096:si=128:rem sprite image
  5. 110 sysad+3
  6. 120 rem :::: irq off to reset   :::
  7. 130 sys ad+3
  8. 199 rem
  9. 200 rem :::: turn on irq        :::
  10. 201 rem
  11. 202 sys ad
  12. 203 rem :::: clear sprite move  :::
  13. 204 sys ad+21,1,0,0,0
  14. 205 rem
  15. 999 rem :::: turn on sprite 1   :::
  16. 1000 rem:::: set sprite pointer :::
  17. 1001 rem:::: not necessary for  :::
  18. 1002 rem:::: default screen     :::
  19. 1003 rem
  20. 1005 sys ad+6, 2040
  21. 1006 rem
  22. 1008 rem:::: choose sprite image ::
  23. 1009 rem
  24. 1010 sys ad+9,1,si+15
  25. 1011 rem
  26. 1013 rem:::: set sprite attribs  ::
  27. 1014 rem
  28. 1015 sp = 1 :rem sprite number
  29. 1016 co = 0 :rem sprite color=black
  30. 1017 mc = 0 :rem multi-color=off
  31. 1018 xy = 3 :rem x/y expand=on
  32. 1019 pr = 0 :rem priority=0ff
  33. 1020 sys ad+12,sp,co,mc,xy,pr
  34. 1021 rem
  35. 1023 rem:::: position sprite    :::
  36. 1024 rem
  37. 1025 sys ad+15,1,150,100
  38. 1026 rem
  39. 1028 rem:::: turn it on         :::
  40. 1029 rem
  41. 1030 sys ad+18,1,1
  42. 1031 rem
  43. 1033 rem:::: move him right     :::
  44. 1034 rem
  45. 1035 sys ad+21,1,1,0,1
  46. 1036 rem
  47. 1038 rem:::: time for 1 sec     :::
  48. 1039 rem
  49. 1040 sys ad+54,0,60
  50. 1041 rem
  51. 1043 rem:::: start timer        :::
  52. 1044 rem
  53. 1045 sys ad+57,0
  54. 1046 rem
  55. 1048 rem:::: watch for time     :::
  56. 1049 rem
  57. 1050 if t%=0 then 1050
  58. 1051 rem
  59. 1053 rem:::: reverse move       :::
  60. 1054 rem
  61. 1055 sys ad+21,1,256-1,0,1
  62. 1056 rem
  63. 1058 rem:::: and time it        :::
  64. 1059 rem
  65. 1060 sys ad+54,0,60:sys ad+57,0
  66. 1061 if t%=0 then 1061
  67. 1063 rem:::: stop sprite and timer
  68. 1064 rem
  69. 1065 sys ad+21,1,0,0,0:sysad+63,0
  70. 1066 rem
  71. 1068 rem:::: set up animation   :::
  72. 1069 rem
  73. 1070 s=20 :rem still
  74. 1071 f=21 :rem first
  75. 1072 l=25 :rem last
  76. 1073 sk=15:rem skip jiffies
  77. 1074 t=5  :rem do t times
  78. 1075 sys ad+33,1,si+s,si+f,si+l,sk,t
  79. 1076 rem
  80. 1078 rem:::: and turn it on     :::
  81. 1079 rem
  82. 1080 sys ad+36,1,1
  83. 1081 rem
  84. 1083 rem:::: watch ani on ao%   :::
  85. 1084 rem
  86. 1085 sys ad+39,1
  87. 1086 if ao%=1 then 1085
  88. 1087 rem
  89. 1088 rem:::: turn animate off   :::
  90. 1089 rem
  91. 1090 sys ad+36,1,0
  92. 1091 rem
  93. 1093 rem:::: now put them together:
  94. 1094 rem animation set
  95. 1095 sys ad+33,1,si+6,si+7,si+10,15,3
  96. 1096 rem animation on
  97. 1097 sys ad+36,1,1
  98. 1098 rem move sprite
  99. 1099 sys ad+21,1,256-1,0,2
  100. 1100 rem until
  101. 1101 sys ad+39,1:ifao%=1then1101
  102. 1102 rem turn off ani and move
  103. 1103 sys ad+36,1,0:sys ad+21,1,0,0,1
  104. 1107 rem
  105. 1108 rem turn off sprite
  106. 1109 rem
  107. 1110 sys ad+18,1,0:sys ad+36,1,0
  108. 1200 print"       check out the joystick
  109. 1210 [153]" joystick direction:"j%
  110. 1220 [153]" (press <fire> to quit)
  111. 1230 if f% = 0 then1200
  112. 1240 print"                                  ":print"                              "
  113. 1300 rem
  114. 1301 rem::::set up joyspr dir 0   :
  115. 1302 rem
  116. 1303 sys ad+42,0,si,si,1,si,si,1,1
  117. 1310 rem
  118. 1311 rem::::set up joyspr dir 1   :
  119. 1312 rem
  120. 1313 sys ad+42,1,si+13,si+14,10,si+11,si+12,4,4
  121. 1331 rem::::set up joyspr dir 3   :
  122. 1332 rem
  123. 1333 sys ad+42,3,si+1,si+1,1,si+2,si+5,4,4
  124. 1350 rem
  125. 1351 rem::::set up joyspr dir 5   :
  126. 1352 rem
  127. 1353 sys ad+42,5,si+13,si+14,10,si+11,si+12,4,4
  128. 1371 rem::::set up joyspr dir 7   :
  129. 1372 rem
  130. 1373 sys ad+42,7,si+6,si+6,1,si+7,si+10,4,4
  131. 1390 rem
  132. 1391 rem::::set ok directions    ::
  133. 1392 rem
  134. 1393 sys ad+45,1+4+16+64
  135. 1394 rem
  136. 1395 rem:::: turn on joysprite   ::
  137. 1396 rem
  138. 1397 sys ad+48,1,1:sys ad+18,1,1
  139. 1398 forx=0to1:x=f%:next
  140. 1399 sys ad+48,1,0:sys ad+18,1,0
  141. 1500 print"[147]         timer gosub test
  142. 1501 [158]ad[170]63,0 :[143] clear timer0
  143. 1502 [158]ad[170]69,5000,1:[143] tgosub5000
  144. 1503 [158]ad[170]54,0,60:[143]  set timer0
  145. 1504 [158]ad[170]57,0
  146. 1510 [129]x[178]1[164]60:[153]x;:[129]y[178]1[164]120:[130]:[130]
  147. 1512 [158]ad[170]60,0:[158]ad[170]63,0:[143] stop
  148. 1513 [158]ad[170]63,0      :[143] clear timer
  149. 1514 [158]ad[170]69,5000,0 :[143] stop gosub
  150. 1600 [153]"load        fire gosub test
  151. 1602 sysad+72,5100,1
  152. 1610 forx=1to20:poke214,6:print:printtab(x)"*";:next
  153. 1620 forx=20to1step-1:poke214,6:print:printtab(x)"* ";:next
  154. 1630 iffi<5then1610
  155. 1699 sysad+69,5100,0:rem stop gosub
  156. 1700 print"[147]    sprite-sprite collision gosub
  157. 1701 [151]53280,0:[151]53281,0
  158. 1710 [158]ad[170]9,0,si[170]20
  159. 1712 [158]ad[170]12,0,1,0,3,0
  160. 1714 [158]ad[170]15,0,200,150
  161. 1716 [158]ad[170]18,0,1
  162. 1720 [158]ad[170]33,0,si[170]20,si[170]21,si[170]25,15,0
  163. 1722 [158]ad[170]36,0,1
  164. 1730 [158]ad[170]15,1,100,100 :[143]stop
  165. 1731 [158]ad[170]12,1,7,0,3,0
  166. 1732 [158]ad[170]18,1,1       :[143]stop
  167. 1734 [158]ad[170]48,1,1       :[143]stop
  168. 1740 [158]ad[170]75,1,5200,1
  169. 1750 [158]ad[170]24,1:[139]i%[167]1750
  170. 1755 [129]x[178]1[164]1000:[130]
  171. 1760 [158]ad[170]75,1,5200,0
  172. 1762 [158]ad[170]18,0,0
  173. 1764 [158]ad[170]36,0,0
  174. 1800 [153]"load":[151]214,7:[153]:[153][163]09)"use joysprite in your
  175. 1810 printtab(14)"[176][192][174][178]   [178][176][174][178]
  176. 1811 [153][163]14)"(NULL) (NULL)(NULL) = (NULL)(NULL)/<
  177. 1812 printtab(14)"[173][192][189][173][192][177][192][189][177] [177]
  178. 1813 [153][163]07)"ortan^ortan^ortan^ortan^ortan^ortan^ortan=tan^ortan^
  179. 1814 printtab(07)"[171][192][189][171][178][189][221] [221][221] [174][171][178][189][171][192][179][221] [177] [221][173][192][174]
  180. 1815 [153][163]07)">  >/exp/tanexp/tanexp>/exp> >>   >/tanexp
  181. 1820 print:print:printtab(13)"1. run again"
  182. 1821 printtab(13)"2. quit"
  183. 1830 poke198,0:wait198,1:getz$
  184. 1831 print"[144]";:
  185. 1832 ifz$="1"then1900
  186. 1834 goto2000
  187. 1900 a$="b.joytest":d=peek(186):poke646,peek(53281)
  188. 1901 print"loada$,d":print"run:"
  189. 1902 poke198,2:poke631,13:poke632,13
  190. 1903 sysad+3
  191. 1904 end
  192. 2000 sysad+3:print"[147]":goto40000
  193. 2001 goto1901
  194. 4998 sys4099 :rem turn off irq
  195. 4999 end
  196. 5000 print:print"ping"
  197. 5008 sysad+54,0,60:rem reset timer0
  198. 5009 sysad+57,0:rem start timer
  199. 5010 sysad+78:rem turn gosub back on
  200. 5099 return
  201. 5100 poke53281,(peek(53281)+1)and15
  202. 5101 iff%<>0then5101
  203. 5102 fi=fi+1
  204. 5190 sysad+78
  205. 5199 return
  206. 5200 sysad+48,1,0
  207. 5210 forx=15to19
  208. 5212 sysad+9,1,si+x:fory=1to100:next:next
  209. 5214 sysad+18,1,0:sysad+9,1,0
  210. 5216 return
  211. 9998 sys4099
  212. 9999 end
  213. 10000 sys4099:poke53269,0
  214. 10001 d=peek(186):open1,d,15,"i0":n$="joytest"
  215. 10002 print#1,"s0:x"+n$:print#1,"r0:x"+n$+"="+n$:close1:saven$,d:end
  216. 40000 fori=0to21:poke828+i,8+i:next
  217. 40010 ifdv<8ordv>29ordv=8then40030
  218. 40020 a=peek(828):b=peek(828+dv-8):poke828,b:poke828+dv-8,a
  219. 40030 a$="hello connect":forj=8to29:i=peek(828+j-8):ifi=14thennext
  220. 40040 close2:open2,i,2:close2:ifstthen40060
  221. 40050 close15:open15,i,15,"r0:"+a$+"="+a$:input#15,er:close15:ifer=63then40070
  222. 40060 next:print"[147]":poke53272,23:poke186,8:end
  223. 40070 q$=chr$(34):poke646,peek(53281):print"[147]":poke53272,23
  224. 40080 print"[147]p[207]2048,0:p[207]44,8:p[207]43,1:p[207]56,160:p[207]55,0:clr:l[207]"q$a$q$","i
  225. 40090 print"run:":poke631,13:poke632,13:poke198,2:end
  226.