home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh3x / sh37d.d64 / sprite-ed (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  12KB  |  448 lines

  1. 0 REM ...............................
  2. 1 REM .                             .
  3. 2 REM .     S P R I T E A I D +     .
  4. 3 REM .                             .
  5. 4 REM . WRITTEN BY ANDREAS KOELBACH .
  6. 5 REM .            STADTWALDSTR. 5  .
  7. 6 REM .            3550 MARBURG/L.  .
  8. 7 REM .                             .
  9. 8 REM ...............................
  10. 9 PRINT CHR$(142)
  11. 10 V=53248:IFPEEK(53280)<>246THENPOKE53280,6:GOSUB345
  12. 11 CD$=""
  13. 12 F=55296:C=33792:SN=32768:A=0:O$="    "
  14. 13 FORI=0TO7:POKE53287+I,7:POKEC+1016+I,I:NEXT
  15. 14 POKE650,128:POKEV+28,0:POKEV+23,0:POKEV+29,0
  16. 15 DEFFNA(A)=A+X+Y*40
  17. 16 GOSUB24
  18. 17 POKEV+33,6:PRINT"[147].SPRITEAID+.[154]"
  19. 18 PRINT"                     8       6       4 [146]"
  20. 19 FORI=1TO20STEP2
  21. 20 PRINT"              [146]........................ [146]"
  22. 21 PRINT"             -[146]........................-[146]":NEXT
  23. 22 PRINT"              [146]........................ [146]"
  24. 23 PRINT"                     8       6       4 [146]":GOSUB172:GOTO68
  25. 24 POKEV+21,0:FORI=0TO7:S(I)=1:SN$(I)=".":NEXT:RETURN
  26. 25 REM******* CALCULATE DOT  ***********
  27. 26 CA=X-14:CB=Y-2:H=INT(CA/8):BY=SN+3*CB+H:BI=2^(7-CA+H*8)
  28. 27 IFZL=46THENPOKEBY,PEEK(BY)AND255-BI:RETURN
  29. 28 POKEBY,PEEK(BY)ORBI:RETURN
  30. 29 REM ******** GET SUBROUTINE *********
  31. 30 POKE204,0:POKE198,0:WAIT198,1:GETA$:A=ASC(A$)
  32. 31 IFPEEK(207)THEN31
  33. 32 POKE204,1:RETURN
  34. 33 POKE198,0:WAIT198,1:GETA$:A=ASC(A$):RETURN
  35. 34 REM ********* REPRODUCTION **********
  36. 35 PRINT""TAB(13)"[144]- REPRO -[154]":CA=0:BI=0
  37. 36 FORBY=SNTOSN+62:B=PEEK(BY):FORI=7TO0STEP-1:CA=CA+1
  38. 37 IFBAND2^ITHENPOKEC+93+CA,42:GOTO39
  39. 38 POKEC+93+CA,46:GETA$:IFA$<>""THENI=0:BY=SN+62
  40. 39 NEXTI:BI=BI+1:IFBI=3THENBI=0:CA=CA+16
  41. 40 NEXTBY:RETURN
  42. 41 REM ********* MULTIMATRIX ***********
  43. 42 A=0:GOTO44
  44. 43 A=14
  45. 44 IFMF(S)=0THENRETURN
  46. 45 FORI=55389TO56213STEP40:FORJ=1TO24STEP4:POKEI+J,A:POKEI+J+1,A:NEXTJ,I:RETURN
  47. 46 REM ********** CLEAR SPRITE *********
  48. 47 POKEFNA(C),ZL:POKEFNA(F),FL
  49. 48 PRINTLEFT$(CD$,14)"SURE ? [154]";:GOSUB30:IFA<>89ANDA<>13THEN52
  50. 49 MF(S)=1:GOSUB183
  51. 50 PRINT"";:FORI=1TO21:PRINTTAB(14)"........................":NEXT
  52. 51 FORI=SNTOSN+62:POKEI,0:NEXT
  53. 52 PRINTLEFT$(CD$,14)"      ":GOSUB43:GOTO68
  54. 53 REM********* SET CURSOR *************
  55. 54 POKEFNA(C),ZL:POKEFNA(F),FL
  56. 55 IFX+R<38ANDX-L>13ANDY-U>1ANDY+D<23THEN60
  57. 56 IFLTHENX=38:GOTO60
  58. 57 IFUTHENY=23:GOTO60
  59. 58 IFDTHENY=1:GOTO60
  60. 59 IFRTHENX=13
  61. 60 X=X+R-L:Y=Y+D-U
  62. 61 ZL=PEEK(FNA(C)):FL=PEEK(FNA(F))
  63. 62 POKEFNA(C),43:POKEFNA(F),1
  64. 63 R=0:L=0:D=0:U=0:RETURN
  65. 64 REM ********** SLIP SPRITE **********
  66. 65 FORI=SN+62TOSNSTEP-1:POKEI,PEEK(I-3):NEXT:RETURN
  67. 66 FORI=SNTOSN+62:POKEI,PEEK(I+3):NEXT:RETURN
  68. 67 REM ******** MAIN MENU **************
  69. 68 PRINT""TAB(13)"            "
  70. 69 PRINTLEFT$(CD$,13)
  71. 70 PRINT"             "
  72. 71 PRINT"             "
  73. 72 PRINT"             "
  74. 73 PRINT"             "
  75. 74 PRINT" SPACE [146] FOR"
  76. 75 PRINT"COMMAND LIST "
  77. 76 PRINT"             "
  78. 77 PRINT"             "
  79. 78 PRINT"             "
  80. 79 PRINT"             ":PRINT"            "
  81. 80 PRINTLEFT$(CD$,24)"INPUT NO.? ";
  82. 81 GOSUB30
  83. 82 IFA>47ANDA<56THEN105:REM ON/OFF
  84. 83 IFA=67THEN192:REM COLOR
  85. 84 IFA=73THEN111:REM INCR.
  86. 85 IFA=77THENGOSUB183:GOTO80:REM MULTI
  87. 86 IFA=82THENGOSUB35:GOTO68:REM REPRO
  88. 87 IFA=81THEN154:REM EXIT
  89. 88 IFA=133THENGOSUB42:GOTO242:REM WORK
  90. 89 IFA=136THENGOSUB65:GOTO80:REM SLIP
  91. 90 IFA=140THENGOSUB66:GOTO80:REM SLIP
  92. 91 IFA=134THENGOSUB103:REM BACK COLOR
  93. 92 IFA=72THENGOSUB24:GOTO411:REM HANDLE
  94. 93 IFA=83THEN145:REM SCREENDAT
  95. 94 IFA=80THEN221:REM PRINTER
  96. 95 IFA=70THENGOSUB24:GOTO276:REM FLOPPY
  97. 96 IFA=68THEN362:REM DATALINE
  98. 97 IFA=75THENGOSUB24:GOTO439:REM KILL
  99. 98 IFA=36THEN120:REM $
  100. 99 IFA=64THEN374:REM @
  101. 100 IFA=32THEN387:REM COMMAND LIST
  102. 101 GOTO80
  103. 102 REM ******** BACKGROUND *************
  104. 103 POKEV+33,PEEK(V+33)+1AND15:RETURN
  105. 104 REM ******** SPRITE ON/OFF **********
  106. 105 S=A-48:SN=32768+S*64
  107. 106 IFS(S)=0THENS(S)=1:SN$(S)=".":POKEV+21,PEEK(V+21)AND255-2^S:GOSUB172:GOTO80
  108. 107 S(S)=0:SN$(S)=RIGHT$(STR$(S),1):GOSUB172:POKEV+2*S,56:POKEV+1+2*S,92
  109. 108 POKEV+21,PEEK(V+21)OR2^S:IFFI(S)=0THEN80
  110. 109 FI(S)=FI(S)-1
  111. 110 REM********* INCREASED *************
  112. 111 GOSUB162:IFFI(S)THEN113
  113. 112 FI(S)=1:POKEV+23,PEEK(V+23)OR2^S:GOTO80
  114. 113 IFFI(S)>1THEN115
  115. 114 FI(S)=2:POKEV+29,PEEK(V+29)OR2^S:GOTO80
  116. 115 IFFI(S)>2THEN117
  117. 116 FI(S)=3:POKEV+23,PEEK(V+23)AND255-2^S:GOTO80
  118. 117 POKEV+29,PEEK(V+29)AND255-2^S
  119. 118 GOSUB172:FI(S)=0:GOTO80
  120. 119 REM ********* DIRECTORY ************
  121. 120 GOSUB24:PRINT"[147].DIRECTORY.[154]":I=0
  122. 121 OPEN2,8,15:OPEN1,8,0,"$"
  123. 122 GET#1,A$,B$
  124. 123 GET#1,A$,B$
  125. 124 GET#1,A$,B$:I=I+1
  126. 125 B=0:IFA$<>""THENB=ASC(A$)
  127. 126 IFB$<>""THENB=B+ASC(B$)*256
  128. 127 PRINTMID$(STR$(B),2);TAB(5);
  129. 128 GET#1,B$:IFSTTHEN138
  130. 129 IFB$<>CHR$(34)THEN128
  131. 130 GET#1,B$:IFB$<>CHR$(34)THENPRINTB$;:GOTO130
  132. 131 GET#1,B$:IFB$=CHR$(32)THEN131
  133. 132 PRINTTAB(21);:C$=""
  134. 133 C$=C$+B$:GET#1,B$:IFB$<>""THEN133
  135. 134 PRINT"  "LEFT$(C$,5)
  136. 135 GETT$:IFT$="[133]"THEN142
  137. 136 IFI=20THEN139
  138. 137 IFST=0THEN123
  139. 138 PRINT" BLOCKS FREE [146]":CLOSE1:CLOSE2:GOSUB141:GOTO16
  140. 139 PRINT"    PRESS ANY KEY ...":GOSUB141
  141. 140 PRINT"[147].DIRECTORY.[154]":I=0:GOTO123
  142. 141 GETT$:IFT$=""THEN141
  143. 142 IFT$="[133]"THENCLOSE1:CLOSE2:GOTO16
  144. 143 RETURN
  145. 144 REM ******* GIVE OUT DECIMAL *******
  146. 145 GOSUB24:GOSUB156:PRINT"[144] ADR.";SN;"[154]":FORI=SNTOSN+62STEP3
  147. 146 A1$=STR$(PEEK(I)):A2$=STR$(PEEK(I+1)):A3$=STR$(PEEK(I+2))
  148. 147 A1$=LEFT$(O$,4-LEN(A1$))+MID$(A1$,1,4)
  149. 148 A2$=LEFT$(O$,4-LEN(A2$))+MID$(A2$,1,4)
  150. 149 A3$=LEFT$(O$,4-LEN(A3$))+MID$(A3$,1,4)
  151. 150 PRINT"[157]";A1$;A2$;A3$:NEXT
  152. 151 GOSUB159:POKE198,0:WAIT198,1
  153. 152 GOSUB156:GOSUB172:GOTO68
  154. 153 REM ************* EXIT *************
  155. 154 PRINT"";:END
  156. 155 REM ****** CLEAR DISPLAY AREA ******
  157. 156 PRINT""
  158. 157 FORI=1TO23:PRINT"             ":NEXT:PRINT"";
  159. 158 REM ****** SCREEN LINE MSB *********
  160. 159 FORI=0TO6:POKE217+I,132:POKE230+I,134:NEXT
  161. 160 FORI=0TO5:POKE224+I,133:POKE237+I,135:NEXT:RETURN
  162. 161 REM*********************************
  163. 162 PRINT"[213][192][192][192][192][192][192][201]"
  164. 163 PRINT"[194]      [194]"
  165. 164 PRINT"[194]      [194]"
  166. 165 PRINT"[194]      [194]"
  167. 166 PRINT"[194]      [194]"
  168. 167 PRINT"[194]      [194]"
  169. 168 PRINT"[194]      [194]"
  170. 169 PRINT"[202][192][192][192][192][192][192][203]"
  171. 170 RETURN
  172. 171 REM*********************************
  173. 172 PRINT"  ";:FORI=0TO7:IFI=STHENPRINT"";
  174. 173 PRINTSN$(I)"[154]";:NEXT:PRINT
  175. 174 PRINT"   [213][192][192][192][201]   "
  176. 175 PRINT"   [194]   [194]   "
  177. 176 PRINT"   [194]   [194]   "
  178. 177 PRINT"   [194]   [194]   "
  179. 178 PRINT"   [202][192][192][192][203]   "
  180. 179 PRINT"           "
  181. 180 PRINT"           "
  182. 181 PRINT"           ":RETURN
  183. 182 REM ********** MULTI MODE **********
  184. 183 IFMF(S)THEN185
  185. 184 POKEV+28,PEEK(V+28)OR2^S:MF(S)=1:GOTO186
  186. 185 POKEV+28,PEEK(V+28)AND255-2^S:MF(S)=0
  187. 186 PRINTLEFT$(CD$,13);
  188. 187 PRINT"MLT:";
  189. 188 FORI=0TO7:IFMF(I)THENPRINTRIGHT$(STR$(I),1);:GOTO190
  190. 189 PRINT".";
  191. 190 NEXT:PRINT:RETURN
  192. 191 REM ********** SET COLOR ***********
  193. 192 A=PEEK(V+37):C$(0)=STR$(A-240)
  194. 193 A=PEEK(V+38):C$(1)=STR$(A-240)
  195. 194 A=PEEK(V+39+S):C$(2)=STR$(A-240)
  196. 195 PRINTLEFT$(CD$,16);
  197. 196 PRINT"COLORS  REG. "
  198. 197 PRINT"[163][163][163][163][163][163]  [163][163][163][163] "
  199. 198 PRINT"         37  "
  200. 199 PRINT"             "
  201. 200 PRINT"         38  "
  202. 201 PRINT"             "
  203. 202 PRINT"        "STR$(39+S)" [146] "
  204. 203 PRINT"             "
  205. 204 PRINT"             "
  206. 205 PRINTLEFT$(CD$,18)" "C$(0)" "
  207. 206 PRINT""C$(1)" ":PRINT""C$(2)" "
  208. 207 PRINTLEFT$(CD$,16)
  209. 208 I=0:GOSUB212:POKEV+37,B
  210. 209 I=1:GOSUB212:POKEV+38,B
  211. 210 I=2:GOSUB212:POKEV+39+S,B
  212. 211 GOTO68
  213. 212 PRINT"  ";:B$=""
  214. 213 GOSUB30:IFA=13THEN217
  215. 214 IFA<48ORA>57THEN213
  216. 215 B$=B$+A$:PRINTA$;:IFLEN(B$)=2THEN218
  217. 216 GOTO213
  218. 217 IFB$=""THENPRINT:GOTO219
  219. 218 C$(I)=B$:PRINT" "
  220. 219 B=VAL(LEFT$(C$(I),3)):RETURN
  221. 220 REM ********** PRINTER OUT *********
  222. 221 PRINTLEFT$(CD$,25);
  223. 222 PRINT"NAME (20CHR.) ?                     [145]":PRINTTAB(16);:B$=""
  224. 223 GOSUB30:GOTO225
  225. 224 GOSUB33
  226. 225 IFA=20ANDB$<>""THENB$=LEFT$(B$,LEN(B$)-1):PRINTCHR$(20);:GOTO224
  227. 226 IFA=133THEN16
  228. 227 IFA=13THEN231
  229. 228 IFA=<32ORA>127THEN224
  230. 229 B$=B$+A$:IFLEN(B$)>20THEN231
  231. 230 PRINTA$" [157]";:GOTO224
  232. 231 PRINTLEFT$(CD$,11)TAB(17)"  PRINTER ON ?[154]   [157][157]";
  233. 232 GOSUB30
  234. 233 IFA=78THEN221
  235. 234 IFA=133THEN16
  236. 235 IFA<>13ANDA<>89THEN231
  237. 236 OPEN1,4:CMD1:PRINTB$
  238. 237 FORI=SNTOSN+62STEP3:
  239. 238 PRINTPEEK(I);PEEK(I+1);PEEK(I+2)
  240. 239 NEXT:PRINT
  241. 240 CLOSE1:GOTO16
  242. 241 REM ********* WORK ROUTINE *********
  243. 242 PRINT""TAB(14)"[144]- WORK -[154]"
  244. 243 PRINTLEFT$(CD$,15);
  245. 244 PRINT"             "
  246. 245 PRINT"DOT(*)='*'   "
  247. 246 PRINT"       '@'   "
  248. 247 PRINT"SPC(.)='='   "
  249. 248 PRINT"       ';'   "
  250. 249 PRINT"             "
  251. 250 PRINT"[144]MENU  ='F1'  [154]"
  252. 251 PRINT"             "
  253. 252 PRINT"  USE'CRSR' "
  254. 253 PRINT"  TO MOVE ! [146]";
  255. 254 X=0:Y=0:D=1:R=14:ZL=46:FL=1
  256. 255 GOSUB54
  257. 256 POKE198,0:WAIT198,1:GETA$:A=ASC(A$)
  258. 257 IFA=145THENU=1:GOTO255
  259. 258 IFA=157THENL=1:GOTO255
  260. 259 IFA=17THEND=1:GOTO255
  261. 260 IFA=29THENR=1:GOTO255
  262. 261 IFPEEK(654)THEN269
  263. 262 IFA=42THENR=1:ZL=42:GOSUB26:GOTO255
  264. 263 IFA=64THEND=1:ZL=42:GOSUB26:GOTO255
  265. 264 IFA=59THEND=1:ZL=46:GOSUB26:GOTO255
  266. 265 IFA=61THENR=1:ZL=46:GOSUB26:GOTO255
  267. 266 IFA=13THENL=X-14:GOTO255
  268. 267 IFA=133THENPOKEFNA(C),ZL:POKEFNA(F),FL:GOSUB43:GOTO68
  269. 268 IFA=19THENL=X-14:U=Y-2:GOTO255
  270. 269 IFA=192THENL=1:ZL=42:GOSUB26:GOTO255
  271. 270 IFA=93THENU=1:ZL=46:GOSUB26:GOTO255
  272. 271 IFA=186THENU=1:ZL=42:GOSUB26:GOTO255
  273. 272 IFA=61THENL=1:ZL=46:GOSUB26:GOTO255
  274. 273 IFA=147THEN47
  275. 274 GOTO256
  276. 275 REM ******** FLOPPY ****************
  277. 276 POKEV+21,0:PRINT"[147]"LEFT$(CD$,25)"[144]          - 'F1'=EXIT -[154]";
  278. 277 FORI=0TO7:SP(I)=0:NEXT
  279. 278 PRINT".FLOPPY DISK CONTROLLER.[154]"
  280. 279 PRINT"[158]R[154]EAD OR [158]W[154]RITE ?"
  281. 280 GOSUB33
  282. 281 IFA=133THEN16
  283. 282 IFA$="R"THENM=0:B$="[158]READ[154]":C$="":B=7:GOTO285
  284. 283 IFA$="W"THENM=1:B$="[158]WRITE[154]":C$="S":B=0:GOTO285
  285. 284 GOTO278
  286. 285 PRINT"[145]MODE :         [145]":PRINTTAB(8)B$:IFM=0THENB$="REPLACE"
  287. 286 PRINT"INPUT SPRITE"C$" YOU WANT TO "B$:B$="":PRINT"> ";
  288. 287 GOSUB33
  289. 288 IFA=133THEN276
  290. 289 IFA=13THEN292
  291. 290 IFA<48ORA>55THEN287
  292. 291 A=VAL(A$):PRINTA;:SP(A)=1:B=B+1:IFB<8THEN287
  293. 292 PRINT" <"
  294. 293 F$="":PRINT"FILENAME : ";
  295. 294 GOSUB33:IFA=20ANDLEN(F$)>0THENF$=LEFT$(F$,LEN(F$)-1):PRINTA$;
  296. 295 IFA=13THEN300
  297. 296 IFA<32ORA>127THEN294
  298. 297 PRINTA$;:F$=F$+A$
  299. 298 IFLEN(F$)>16THENPRINT"";:GOTO300
  300. 299 GOTO294
  301. 300 IFF$<>""THENFI$=F$:GOTO302
  302. 301 PRINTFI$;:IFFI$=""THENFI$="DATA"
  303. 302 FORI=0TO7:FI(I)=0:NEXT:POKEV+23,0:POKEV+29,0:X=0:Y=0:IFMTHEN321
  304. 303 REM ********** READ ****************
  305. 304 GOSUB339:GOSUB33:IFA<>13ANDA<>89THEN276
  306. 305 B$="[150]>>> READING <<<[154]":GOSUB343:NO=0
  307. 306 REM ********** INPUT ***************
  308. 307 OPEN15,8,15:OPEN2,8,2,FI$+",S,R"
  309. 308 INPUT#15,A,B$:IFATHENGOSUB318:GOTO276
  310. 309 PRINTTAB(3)"NO.:"NO:NO=NO+1
  311. 310 FORI=ADTOAD+62:INPUT#2,B
  312. 311 POKEI,B:NEXTI
  313. 312 IFST=64THENB$=" END OF DATA ! [154]":GOSUB343:GOSUB33:GOTO316
  314. 313 B$="  TAKE OVER ?  [154]":GOSUB343
  315. 314 GOSUB33:IFA=133THEN316
  316. 315 IFA<>13ANDA<>89THENB$="[150]>>> READING <<<[154]":GOSUB343:GOTO309
  317. 316 POKEV+21,0:CLOSE2:CLOSE15:GOTO276
  318. 317 REM ********** ERRORS **************
  319. 318 PRINTLEFT$(CD$,25)TAB(3)B$" - PRESS ANY KEY";:GOSUB33
  320. 319 CLOSE2:CLOSE15:RETURN
  321. 320 REM *********** WRITE **************
  322. 321 FORK=0TO7:IFSP(K)=0THEN325
  323. 322 GOSUB339:GOSUB33:IFA<>13ANDA<>89THENSP(K)=0:GOTO324
  324. 323 SP(K)=2:X=1
  325. 324 B$="         ":GOSUB343
  326. 325 NEXTK:IFX=0THEN276
  327. 326 OPEN15,8,15:OPEN2,8,2,FI$+",S,W":X=0
  328. 327 INPUT#15,A,B$:IFA=63THENCLOSE2:OPEN2,8,2,FI$+",S,A":X=1
  329. 328 INPUT#15,A,B$:IFATHENGOSUB318:GOTO276
  330. 329 FORK=0TO7:S=K:IFSP(K)=0THEN336
  331. 330 GETA$:IFA$="[133]"THENK=7:GOTO336
  332. 331 SP(K)=1:Y=1:GOSUB339:Y=0
  333. 332 B$="<<< WRITING >>>[154]":GOSUB343
  334. 333 IFXTHENB$="    [150]APPEND ![154]":GOSUB343
  335. 334 FORJ=ADTOAD+62:B=PEEK(J):PRINT#2,B:NEXTJ
  336. 335 B$="                ":GOSUB343
  337. 336 SP(S)=0:NEXTK
  338. 337 CLOSE2:CLOSE15:GOTO276
  339. 338 REM ********** ASK OK ? ************
  340. 339 FORI=0TO7:S=I:AD=32768+64*S:IFSP(I)=1THENI=7
  341. 340 NEXTI:POKEV+2*S,56:POKEV+2*S+1,150:POKEV+21,2^S
  342. 341 PRINTLEFT$(CD$,12)"    "S"[157] [146]     ":IFYTHENRETURN
  343. 342 B$="   O.K. ?      [154]"
  344. 343 PRINTLEFT$(CD$,16)"             "B$:RETURN
  345. 344 REM *********** INTRO *************
  346. 345 POKE56576,5:POKE648,132:POKE56,124:REM SCREEN NACH 33792 - CHARACTERROM!!
  347. 346 PRINT"[147]     .............................."
  348. 347 PRINT"     .                            ."
  349. 348 PRINT"     .    S P R I T E A I D +     ."
  350. 349 PRINT"     .                            ."
  351. 350 PRINT"     .               [164][164][164][164][164][164][164][164][164][164][164]  ."
  352. 351 PRINT"     .  WRITTEN  BY   M A T A N [146]  ."
  353. 352 PRINT"     .      MARBURG               ."
  354. 353 PRINT"     .                            ."
  355. 354 PRINT"     .    [150] (C) M&T                ."
  356. 355 PRINT"     .                            ."
  357. 356 PRINT"     ..............................[154]"
  358. 357 FORI=32768TO33344:POKEI,0:NEXT
  359. 358 PRINT"";:FORI=1TO19:PRINT" ";:FORII=1TO100:NEXTII,I
  360. 359 PRINT"PRESS ANY KEY.[154]"
  361. 360 GOTO33
  362. 361 REM ******** DATA LINES ************
  363. 362 POKEV+21,0:PRINT"[147].DATA GENERATOR.[154]"
  364. 363 PRINT"BEGIN WITH LINE (*10000) ? ";:GOSUB30
  365. 364 IFA<49ORA>54THEN16
  366. 365 PRINT"[147]"LEFT$(CD$,24)"  GENERATE DATA LINES -  W A I T !"
  367. 366 ZN=(A-48)*10000:T=0:POKE646,PEEK(V+33):FORI=1TO2000:NEXT
  368. 367 IFT=8THEN10
  369. 368 AD=32768+64*T:PRINT"[147]"ZN"REM SPRITE"T
  370. 369 FORII=0TO6:ZN=ZN+1:PRINTZN"[157]DATA";:FORI=0TO8
  371. 370 PRINTMID$(STR$(PEEK(AD+I+II*9)),2,3)",";:NEXTI
  372. 371 PRINTCHR$(20):NEXTII
  373. 372 PRINT"ZN="ZN+1":T="T+1":GOTO367";:GOTO447
  374. 373 REM******* SEND DISK COMMAND *******
  375. 374 GOSUB24:PRINT"[147].SEND DISK COMMAND.[154]":I=0
  376. 375 I=I+1:PRINTLEFT$(CD$,2*I+1)"=>";:C$=""
  377. 376 GOSUB33:IFA=20ANDLEN(C$)>0THENPRINTA$;:C$=LEFT$(C$,LEN(C$)-1):GOTO376
  378. 377 IFA=13THEN382
  379. 378 IFA=133THEN16
  380. 379 IFA<32ORA>127THEN376
  381. 380 C$=C$+A$:PRINTA$;
  382. 381 GOTO376
  383. 382 OPEN1,8,15,C$:INPUT#1,A,B$,C$:IFA=1THENPRINTLEFT$(CD$,25)C$;
  384. 383 GOSUB318:CLOSE1:IFA=133THEN16
  385. 384 PRINTLEFT$(CD$,25)"                                       ";:IFI<8THEN375
  386. 385 GOTO374
  387. 386 REM ******* COMMAND LIST ***********
  388. 387 GOSUB24:GOSUB156
  389. 388 PRINT"COMMAND LIST[154]"LEFT$(CD$,3)
  390. 389 PRINT"SPRITES [146]     "
  391. 390 PRINT"ON/OFF  [146]=0-7 "
  392. 391 PRINT"INCR.   = I  "
  393. 392 PRINT"MULTI   = M  "
  394. 393 PRINT"COLOR   = C  "
  395. 394 PRINT"REPRO   = R  "
  396. 395 PRINT" WORK [146]  = F1 "
  397. 396 PRINT"SLIP DWN= F7 "
  398. 397 PRINT"SLIP UP = F8 "
  399. 398 PRINT"BACKCOL.= F3 "
  400. 399 PRINT"HANDLE  = H  "
  401. 400 PRINT"SCREEN  = S  "
  402. 401 PRINT"PRINTER = P  "
  403. 402 PRINT"DATALINE= D  "
  404. 403 PRINT"FLOPPY  = F  "
  405. 404 PRINT"SHOW $  = $  "
  406. 405 PRINT"DISK-CMD= @  "
  407. 407 PRINT"KILL    = K  "
  408. 408 PRINT"QUIT    = Q  "
  409. 409 GOSUB33:GOSUB156:GOSUB172:GOTO68
  410. 410 REM ********* HANDLE ***************
  411. 411 POKEV+21,0:PRINT"[147].HANDLE SPRITES.[154]":Z=1:FORI=0TO7:S(I)=0:NEXT
  412. 412 PRINT"0-3  = SELECT SPRITE"
  413. 413 PRINT"'F7' = FAST MOVE."
  414. 414 PRINT"USE 'CRSR' TO MOVE !"
  415. 415 GOSUB33:PRINT"[147]      : X=          Y=":GOTO418
  416. 416 PRINT""TAB(10)PEEK(X)+255*SGN(PEEK(V+16)AND2^S)"[157]  "TAB(22)PEEK(Y)"[157]  "
  417. 417 GOSUB33
  418. 418 IFA<48ORA>55THEN424
  419. 419 S=VAL(A$):PRINT"NO."S
  420. 420 X=V+2*S:Y=V+2*S+1
  421. 421 IFS(S)THEN423
  422. 422 POKEV+21,PEEK(V+21)OR2^S:S(S)=1:GOTO416
  423. 423 POKEV+21,PEEK(V+21)AND255-2^S:S(S)=0:GOTO416
  424. 424 IFA=134THENGOSUB103:GOTO416
  425. 425 IFA=17THENPOKEY,PEEK(Y)+ZAND255:GOTO416
  426. 426 IFA=145THENPOKEY,PEEK(Y)-ZAND255:GOTO416
  427. 427 IFA=29THEN434
  428. 428 IFA=157THEN436
  429. 429 IFA<>136THEN432
  430. 430 IFZ=1THENZ=5:GOTO416
  431. 431 Z=1:GOTO416
  432. 432 IFA<>133THEN416
  433. 433 POKEV+21,0:POKEV+16,0:GOTO16
  434. 434 IFPEEK(X)>=256-ZTHENPOKEV+16,PEEK(V+16)OR2^S:POKEX,0
  435. 435 POKEX,PEEK(X)+ZAND255:GOTO416
  436. 436 IFPEEK(X)<=0+Z-1THENPOKEV+16,PEEK(V+16)AND255-2^S:POKEX,255
  437. 437 POKEX,PEEK(X)-ZAND255:GOTO416
  438. 438 REM *********** KILL ***************
  439. 439 PRINT"[147].CLEAR PROGRAM.[154]"
  440. 440 PRINT"ARE YOU SURE ? ";:GOSUB30
  441. 441 IFA<>89ANDA<>13THEN16
  442. 442 PRINT"[147]"LEFT$(CD$,24)"      CLEAR PROGRAM EXCEPT DATA !!"
  443. 443 POKE646,PEEK(V+33):T=0
  444. 444 PRINT"";:FORI=TTOT+7:PRINTI:NEXT
  445. 445 IFT>439THENPRINT"POKE 646,14:END":GOTO447
  446. 446 PRINT"T="I":GOTO444"
  447. 447 POKE631,19:FORI=1TO9:POKE631+I,13:NEXT:POKE198,10:END
  448.