home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 37 / 64er_Magazin_Sonderheft_37_19xx_Markt__Technik_de_Disk_2_of_2_Side_B.d64 / sprite-ed (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  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.