home *** CD-ROM | disk | FTP | other *** search
/ Input 64 / Input_64_85-10_1985_Verlag_Heinz_Weise_de.d64 / Hilfsprogramme (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  12KB  |  248 lines

  1. 100 poke55,000:poke56,128:clr:printchr$(8)chr$(142):poke53276,0
  2. 101 poke50257,24:ifpeek(10815)<>0then103
  3. 102 poke 10815,1:sys10752
  4. 103 sys 10816
  5. 104 sys18176,0:sys18356:poke50258,000
  6. 107 dimad(2,2):am=050259
  7. 108 ad(1,1)=16640 :ad(1,2)=17232
  8. 109 ad(2,1)=17408 :ad(2,2)=18178
  9. 110 demo=0:sp=.5
  10. 120 si=54272:fori=0to24:pokesi+i,0:next
  11. 130 pokesi+24,15:pokesi+1,8:pokesi+6,10*16+14:sf=1
  12. 140 pokesi+4,65:pokesi+12,13:pokesi+8,4:pokesi+19,11:f=16
  13. 150 v=53248:v1=v+17:rz=v+18:ab=20472:naz=2:pokev+39,1:pokev,0:pokev+16,0
  14. 160 sen=v+21:l$="                                        ":dimn$(naz),f$(1)
  15. 170 n$(1)="rahmensprite":pokesen,0
  16. 171 g$(1)="[210]ahmensprite":pokesen,0
  17. 180 n$(2)="joysprite"
  18. 182 g$(2)="[202]oysprite":en=251:hi=250:ct=252:pokeen,0
  19. 190 hf=12:poke53280,hf:poke53281,hf
  20. 200 pokev1,11:goto2400
  21. 210 print"[147]demonstration fuer :"
  22. 220 fori=1tonaz
  23. 230 print""tab(10)"[153]"i"[157] [146] [151]"n$(i)
  24. 240 nexti:pokev1,27
  25. 250 print""tab(10)"[153]"i"[157] [146] [151]mit ctrl-s kann nun"
  26. 260 print""tab(14)"[153]"n$(sf)
  27. 270 print""tab(14)"[151]abgespeichert werden"
  28. 275 print"das input-betriebssystem ist nur auf    dieser seite erreichbar
  29. 280 [161]a$:n[178][197](a$):[145]n[137]300,1860,2380
  30. 290 [137]280
  31. 300 [151]50258,127:[158]18176,0:[151]32767,255:[151]ct,[194](ct)[175][168]16:[151]hi,0
  32. 310 [151]53281,2:[151]53280,0
  33. 320 [153]"loadstop";:pz[178]9:[141]1800
  34. 330 s$[178]"ballus":b[178]0:vb[178]1:[141]1590
  35. 340 [151]en,1:[151]v[170]1,0:[151]v,24:[151]ab,0:[151]ct,27:x[178]24:[139]demo[167]510
  36. 350 f1$[178]" ohne "[170]n$(n)[170]" wait"
  37. 360 l2$[178][200](l$,(40[171][195](f1$))[173]2)
  38. 370 f$(1)[178]l2$[170]f1$:f$(0)[178]l$
  39. 380 [151]ct,27:bz[178]255:z[178]0
  40. 390 [129]i[178]1[164]2
  41. 400 [129]o[178][171]10[164]9.8[169]sp:[141]1730:[130]:[130]
  42. 410 f1$[178]" mit "[170]n$(n)[170]" wait":[151]en,1:[151]hi,0
  43. 420 l2$[178][200](l$,(40[171][195](f1$))[173]2)
  44. 430 f$(1)[178]l2$[170]f1$:f$(0)[178]l$
  45. 440 z[178]0:[151]53281,5
  46. 450 f[178]24:[129]o[178][171]10[164]12.6[169]sp:[141]1730
  47. 460 [139]o[177][178]1[175]o[179][178]8[167][151]32767,2[174](8[171][181](o))[171]1
  48. 470 [130]:[141]1820:[141]1510
  49. 480 f[178]32:[129]o[178][171]12.6[164]12.6[169]sp:[141]1730:[130]:[141]1820
  50. 490 [151]si[170]4,64
  51. 500 [129]i[178]1[164]2000:[130]
  52. 510 [151]32767,0:[151]53281,15
  53. 520 [153]""g$(n)" erweitert den sichtbaren"
  54. 530 [153]"y-(NULL)oordinatenbereich fuer (NULL)prites von"
  55. 540 [153]"bisher 50 - 249 auf 0 - 311, indem es"
  56. 550 [153]"oben und unten den (NULL)ahmen abschaltet."
  57. 560 kk$[178]"for (NULL) wait poke(NULL)valright$(NULL)val(NULL) for val wait pokeval(NULL)str$val":[153]kk$;
  58. 570 [141]1530
  59. 580 [153]"chr$ehandhabt wird dieses (NULL)ool mit drei "
  60. 590 [153]"(NULL)(NULL)(NULL)-atnufrufen.  str$er erste atnufruf dient"
  61. 600 [153]"zum atnktivieren des (NULL)ools. vals wird die"
  62. 610 [153]"gesamte chr$rafikorganisation geaendert."
  63. 620 [153] kk$;
  64. 630 [141]1530
  65. 640 [153]"str$er (NULL)ert nach dem (NULL)omma gibt an, ob  "
  66. 650 [153]"der (NULL)eichensatz ins (NULL)atn(NULL) kopiert      "
  67. 660 [153]"werden soll. 0 fuer kopieren,        "
  68. 670 [153]"             1 fuer nicht kopieren.  "
  69. 680 [153]">(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val1,(NULL)val(NULL)(NULL)<                    "
  70. 690 [153] kk$;
  71. 700 [141]1530
  72. 710 [153]"str$er zweite (NULL)(NULL)(NULL)-atnufruf definiert den  "
  73. 720 [153]"(NULL)eichensatz um. (NULL)ert ist hier der    "
  74. 730 [153]"peekildschirmcode des (NULL)eichens. vals      "
  75. 740 [153]"folgen die (NULL)erte fuer das peekitmuster. "
  76. 750 [153]">(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val2,(NULL)val(NULL)(NULL),atn,peek,len,str$,val,asc,chr$,left$<"
  77. 760 [153] kk$;
  78. 770 [141]1530
  79. 780 [153]"atnls peekeispiel wird der (NULL)tern (*) umde-"
  80. 790 [153]"finiert (peekildschirm-lenode 42)         "
  81. 800 [153]"left$ierzu druecken sie bitte wait (NULL)         "
  82. 810 [153]"     * * * * * * * * * * * * * *     "
  83. 820 [153]">(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val2,42,1,2,4,8,16,32,64,128<"
  84. 830 [153] kk$;
  85. 840 [141]1530
  86. 850 [158]18579,42[170]128,254,253,251,255[171]8,255[171]16,255[171]32,255[171]64,127
  87. 860 [153]"(NULL)o sieht der (NULL)tern nach dem          "
  88. 870 [153]"(NULL)(NULL)(NULL)-atnufruf aus :                     "
  89. 880 [153]"                                     "
  90. 890 [153]"     * * * * * * * * * * * * * *     "
  91. 900 [153]">(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val2,42,1,2,4,8,16,32,64,128<"
  92. 910 [153]kk$;
  93. 920 [141]1530:[158]18176,0:[151]en,0:[151]hi,1
  94. 930 [153]"str$er letzte sys-atnufruf dient zum atnb-  "
  95. 940 [153]"schalten des (NULL)ools. (NULL)ie haben dann   "
  96. 950 [153]"wieder den ganz normalen peekildschirm  "
  97. 960 [153]"vor sich.                            "
  98. 970 [153]">(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val3<                         ":[151]32767,255
  99. 980 [153] kk$;
  100. 990 [141]1530
  101. 1000 [151]32767,0:[153]"stop";:pz[178]15:[141]1800:[153]"";
  102. 1010 [153]"(NULL)un zu der (NULL)prite-(NULL)ositionierung: (NULL)ie"
  103. 1020 [153]"(NULL)ie es von der (NULL)-(NULL)osition kennen,    "
  104. 1030 [153]"muessen (NULL)ie jetzt auch fuer (NULL)-(NULL)osi-  "
  105. 1040 [153]"tionen groesser 255 ein zweites peekyte "
  106. 1050 [153]"benutzen. (NULL)ie kennen dies schon von  "
  107. 1060 [153]"(NULL)right$len-(NULL)egister 16 fuer die (NULL)-(NULL)osition. "
  108. 1070 [153]">str$ie (NULL)(NULL)(NULL)val-atndresse lautet 250<         "
  109. 1080 [153] kk$"stop";:pz[178]19
  110. 1090 [141]1530
  111. 1100 [141]1800:[153]" wait(NULL)right$lenleft$(NULL)right$chr$: atnus technischen chr$ruenden   "
  112. 1110 [153]"mussten zwei (NULL)right$len-(NULL)egister sowie der  "
  113. 1120 [153]"peekildschirmspeicher verlegt werden.   "
  114. 1130 [153]"left$ierdurch verschieben sich auch die  "
  115. 1140 [153]"(NULL)pritepointer.                       "
  116. 1150 [153]"peekildschirmspeicher :                 "
  117. 1160 [153]"alt: 1024-2023 , neu: 52224-53223    "
  118. 1170 [153]"(NULL)pritepointer      :                 "
  119. 1180 [153]"alt: 2040-2047 , neu: 53240-53247    "
  120. 1190 [153] kk$;:[141]1530
  121. 1200 [153]"str$ie beiden 'verschobenen' (NULL)egister : "
  122. 1210 [153]" alt      neu     ascunktion           "
  123. 1220 [153]"53265     252    (NULL)right$len-(NULL)ontrollregister"
  124. 1230 [153]"53270     251    (NULL)prites an/aus      "
  125. 1240 [153]"str$ie alten (NULL)egister duerfen nicht mehr"
  126. 1250 [153]"benutzt werden !                     "
  127. 1260 [153]"vals folgt die geaenderte (NULL)peicherauf- "
  128. 1270 [153]"teilung auf einen peeklick.             "
  129. 1280 [153]"                                     "
  130. 1290 [153] kk$;:[141]1530
  131. 1300 [153]"$0400-$07ff frei                     "
  132. 1310 [153]"$c000-$c750 frei fuer (NULL)prites oder   "
  133. 1320 [153]"            (NULL)upertape                "
  134. 1330 [153]"$c751-$cbff belegt vom (NULL)ool          "
  135. 1340 [153]"$cc00-$cfe7 neuer peekildschirmspeicher "
  136. 1350 [153]"$cff8-$cfff neue  (NULL)pritepointer      "
  137. 1360 [153]"$d000-$dfff (NULL)eichensatz im (NULL)atn(NULL)       "
  138. 1370 [153]"$e000-$ffbf frei fuer (NULL)prites oder   "
  139. 1380 [153]"            hochaufloes. chr$rafik      "
  140. 1390 [153] kk$;:[141]1530
  141. 1400 [153]"str$ie normalen (NULL)prite-peekloecke sind nun "
  142. 1410 [153]"fuer den (NULL)ideo-lenhip nicht mehr er-   "
  143. 1420 [153]"reichbar. str$ie neuen liegen wie folgt:"
  144. 1430 [153]"   peeklock     atndresse    peekerechnung   "
  145. 1440 [153]"     0        49152     0*64+49152   "
  146. 1450 [153]"     1        49216     1*64+49152   "
  147. 1460 [153]"     2        49380     2*64+49152   "
  148. 1470 [153]"     3        49344     3*64+49152   "
  149. 1480 [153]"        u.s.w.                       "
  150. 1490 [153] kk$;:[141]1530
  151. 1500 [138]
  152. 1510 [153]""f$(bz[175]1):bz[178]255[171]bz:[151]si[170]18,32:[151]si[170]18,33
  153. 1520 [151]si[170]15,f:[142]
  154. 1530 [161]a$:[139]a$[179][177]"e"[175]a$[179][177]"w"[167]1530
  155. 1540 [139]a$[178]"e"[167][138]
  156. 1550 [142]
  157. 1560 [128]
  158. 1570 [139][185](0)[179][177]40[167][153]" ";:[137]1570
  159. 1580 [142]
  160. 1590 [140]
  161. 1600 [135]q$:[139]q$[179][177]s$[167]1600
  162. 1610 [129]i[178]64[172]b[170]16384[172]vb[164]i[170]63:[135]q:[151]i,q:[130]
  163. 1620 [142]
  164. 1630 [131]ballus
  165. 1640 [131]120,0,0,252,0,0,252,0,0,252,0,0,252,0,0,120
  166. 1650 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  167. 1660 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  168. 1670 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255
  169. 1680 [131]joydem
  170. 1690 [131]120,0,0,180,0,0,252,0,0,132,0,0,204,0,0,120
  171. 1700 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  172. 1710 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  173. 1720 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255
  174. 1730 z[178]z[170]1:[139]z[178]10[167][141]1510:z[178]0
  175. 1740 [139]o[178][171]10[170]sp[167][141]1820
  176. 1750 y[178]144[170]o[174]2:x[178]x[170]1.7:[151]si[170]2,(y[171]140)[175]255:[137]1770
  177. 1760 [129]i[178]1[164]3000:[130]:[151]en,0
  178. 1770 [151]v,x[175]255:[151]v[170]16,x[173]256
  179. 1780 [151]v[170]1,y[175]255:[151]hi,y[173]256
  180. 1790 [151]en,1:[142]
  181. 1800 [129]zh[178]1[164]pz:[153]"                                        wait";:[130]
  182. 1810 [142]
  183. 1820 [151]si[170]11,32:[151]si[170]11,33:[142]
  184. 1830 [159]1,8,15
  185. 1840 [161]#1,a$:[153]a$;:[139]st[179][177]64[167]1840
  186. 1850 [160]1
  187. 1860 [151]50258,127:[153]"load";
  188. 1870 s$[178]"joyde1":b[178]11:vb[178]0:[141]1590
  189. 1880 s$[178]"joyde2":b[178]13:vb[178]0:[141]1600
  190. 1890 [129]i[178]0[164]3:[151]v[170]i,145[170]i[172]12:[130]
  191. 1900 [151]v[170]21,3:[151]v[170]39,6:[151]v[170]40,1:[151]v[170]37,2:[151]v[170]38,0
  192. 1910 [151]2040,11:[151]2041,13
  193. 1920 [151]v[170]28,3:[137]2030
  194. 1930 [131]joyde1
  195. 1940 [131]2,160,0,10,160,0,42,160,0,40,10,160,160,10,128,160
  196. 1950 [131]10,0,160,0,0,160,0,0,160,5,0,160,5,64,40,5
  197. 1960 [131]80,42,160,0,10,160,0,2,160,0,0,0,0,0,0,2
  198. 1970 [131]0,0,2,0,0,2,0,0,2,0,0,2,0,0,2,255
  199. 1980 [131]joyde2
  200. 1990 [131]0,255,192,3,255,128,15,255,128,63,248,128,255,248,0,255
  201. 2000 [131]136,0,255,128,0,32,128,0,0,0,0,0,0,0,0,0
  202. 2010 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34
  203. 2020 [131]0,0,34,0,0,34,0,0,34,0,0,34,0,0,34,255
  204. 2030 [151]53280,12:[151]53281,12
  205. 2040 [153]"loadverify "g$(2)" ermoeglicht es, unab-    "
  206. 2050 [153]" haengig von aktiven peekasic-(NULL)ro-   "
  207. 2060 [153]" grammen (NULL)prites mit den mid$oy-   "
  208. 2070 [153]" sticks auf dem peekildschirm    "
  209. 2080 [153]" su bewegen.                "
  210. 2090 [153]" (NULL)ersuchen (NULL)ie es jetzt gleich einmal ! stop"
  211. 2100 [158]18720,1,0,4,24,50,295,175
  212. 2110 [158]18720,2,1,4,24,50,295,175
  213. 2120 k$[178]" (NULL) wait (NULL)valright$(NULL)val(NULL)             onon"
  214. 2130 [153]k$
  215. 2140 [151]646,1[171][194](646):[161]a$:[139]a$[179][177]"w"[167][129]i[178]1[164]100:[130]:[137]2130
  216. 2150 [153]"loadverify str$er atnufruf erfolgt durch: "
  217. 2160 [153]"(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val,(NULL),(NULL),chr$,(NULL),(NULL),peek,left$"
  218. 2170 [153]"(NULL) steht fuer den lenontrol-(NULL)ort (1-2) "
  219. 2180 [153]"(NULL) fuer die (NULL)prite-(NULL)ummer (0-7) "
  220. 2190 [153]"chr$ fuer die chr$eschwindigkeit (0-15) "
  221. 2200 [153]"str$ie naechsten vier (NULL)erte geben "
  222. 2210 [153]"den peekereich an, in dem der (NULL)prite "
  223. 2220 [153]"bewegt werden kann. "
  224. 2230 [153]" (NULL) und (NULL) bestimmen den oberen "
  225. 2240 [153]" linken (NULL)unkt. "
  226. 2250 [153]""
  227. 2260 [153]" peek ist die peekreite und "
  228. 2270 [153]" left$ die left$oehe. "
  229. 2280 [153]"verify"k$
  230. 2290 [161]a$:[139]a$[179][177]"w"[175]a$[179][177]"e"[167]2290
  231. 2300 [153]"loadatnusschalten koennen (NULL)ie das left$ilfs-  "
  232. 2301 [153]"(NULL)rogramm fuer den entsprechenden "
  233. 2302 [153]"(NULL)ort mit "
  234. 2310 [153]"(NULL)(NULL)(NULL) atnstr$(NULL)val(NULL)(NULL)val,(NULL)(NULL)(NULL)(NULL)verify"
  235. 2320 [153]k$:[141]1530
  236. 2330 [153]"loadverify atnusserhalb von right$(NULL)(NULL)(NULL)(NULL) 64 kann "g$(2)
  237. 2340 [153]" auch mit "g$(1)" zusammenarbeiten"
  238. 2350 [153]" "g$(1)" muss dann zuerst "
  239. 2360 [153]" gestartet werden. "
  240. 2370 [153]" val wait val(NULL)str$val":[141]1530:[138]
  241. 2380 [139]sf[178]1[167]sf[178]2:[137]2400
  242. 2390 sf[178]1
  243. 2400 [151]am[170]0,ad(sf,1)[175]255
  244. 2410 [151]am[170]1,ad(sf,1)[173]256
  245. 2420 [151]am[170]2,ad(sf,2)[175]255
  246. 2430 [151]am[170]3,ad(sf,2)[173]256
  247. 2440 [137]210
  248.