home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 51 / Commodore_Disc_51_19xx_-_de.d64 / spritehelper..64 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  4KB  |  189 lines

  1. 10 rem sprite-helper============64
  2. 20 rem (p) commodore disc       ==
  3. 30 rem ===========================
  4. 40 rem (c) by m.jungmann        ==
  5. 50 rem                          ==
  6. 60 rem                          ==
  7. 70 rem version 2.0 40z/ascii    ==
  8. 80 rem c 64 + floppy+drucker    ==
  9. 90 rem ===========================
  10. 95 gosub 60000
  11. 100 ifa=0thena=1:load"mc ii",8,1
  12. 110 ifa=1thena=2:goto130
  13. 120 end
  14. 130 clr:gosub60000:gosub1340:poke32,1:poke2041,255
  15. 140 printcl$s2$:za=210:poke650,128
  16. 150 fori=0to62:poke832+i,0:next
  17. 160 fori=0to22step3:poke832+i,255:next
  18. 170 sys49779:sys50432:sys49920:gosub1000
  19. 180 gett$:sys49946:printhe$left$(qd$,22)"block";za
  20. 190 ift$="l"thengosub550
  21. 200 ift$="s"thengosub770
  22. 210 ift$="d"thengosub310
  23. 220 ift$="c"thengosub890
  24. 230 ift$="f"thengosub450
  25. 240 ift$="m"then1210
  26. 250 ift$="[205]"thenpoke53248+28,0
  27. 260 ift$=f1$thenza=za+1:gosub1300:ifza>254thenza=100
  28. 270 ift$=f3$thenza=za-1:gosub1300:ifza<100thenza=254
  29. 280 z1=255*64:z2=z1+63:z3=za*64
  30. 290 sys51235,z1,z2,z3+63
  31. 300 goto180
  32. 310 printcl$
  33. 320 rem ***** drucken *****
  34. 330 v=53248:pokev+21,1:poke2040,255:pokev,100:pokev+1,100
  35. 340 input"zu druckender block";b1:ifb1<192orb1>254then340
  36. 350 sys51235,b1*64,b1*64+63,255*64+63
  37. 360 printcl$
  38. 370 sys49779:sys50944
  39. 380 open4,4:print#4,"data";
  40. 390 k$=",":x=63:fori=64*255to64*255+x
  41. 400 print#4,peek(i);
  42. 410 print#4,k$;
  43. 420 next
  44. 430 close4:pokev+21,3
  45. 440 printcl$:goto170
  46. 450 printcl$
  47. 460 rem ***** film *****
  48. 470 v=53248:pokev+21,1:s=50
  49. 480 input"von block";a1:ifa1<100ora1>254then480
  50. 490 input" zu block";a2:ifa2<100ora2>254ora2<=a1then490
  51. 500 printleft$(qd$,6)" / schneller"
  52. 510 printc4$" shift+/ langsamer"
  53. 520 printc4$" press space to end"
  54. 530 sys51456,a1,a2
  55. 540 pokev+21,0:printcl$:goto170
  56. 550 rem ***** laden *****
  57. 560 v=53248:pokev+21,0:printcl$"1) file laden"
  58. 570 print"2) directory"
  59. 580 print"3) disk comands"
  60. 590 gett$
  61. 600 ift$="1"then640
  62. 610 ift$="2"then1530
  63. 620 ift$="3"then1600
  64. 630 goto590
  65. 640 printcl$:v=53248:pokev+21,0
  66. 650 input"filename";fi$:iflen(fi$)<1orlen(fi$)>16then650
  67. 660 open15,8,15
  68. 670 open1,8,2,fi$+",s,r":input#1,b1:input#1,b2
  69. 680 input#15,aa,bb$,cc,dd:ifaa<20then700
  70. 690 close1:close15:goto170
  71. 700 forx=64*b1to64*b2+63
  72. 710 input#1,a
  73. 720 pokex,a
  74. 730 next
  75. 740 close1:close15
  76. 750 sys51235,za*64,(za+1)*64,256*64
  77. 760 goto170
  78. 770 rem *****speichern*****
  79. 780 printcl$:v=53248:pokev+21,0
  80. 790 input"von block";b1:ifb1>254orb1<100then790
  81. 800 input" zu block";b2:ifb2>254orb2<100then800
  82. 810 input"filename";fi$:iflen(fi$)<1orlen(fi$)>16then810
  83. 820 open2,8,2,"@:"+fi$+",s,w":print#2,b1:print#2,b2
  84. 830 forx=64*b1to64*b2+63
  85. 840 a=peek(x)
  86. 850 print#2,a
  87. 860 next
  88. 870 close2
  89. 880 goto170
  90. 890 rem *****copieren*****
  91. 900 printcl$:v=53248:pokev+21,12
  92. 910 input"von block";b1:poke2042,b1:ifb1>254orb1<100then910
  93. 920 input" zu block";b2:poke2043,b2:ifb2<100orb2>254then920
  94. 930 x1=b1*64:x2=x1+64:x3=b2*64
  95. 940 pokev+4,100:pokev+5,100:pokev+41,1:pokev+42,1
  96. 950 pokev+6,150:pokev+7,100
  97. 960 sys51235,x1,x2,x3+64
  98. 970 print"taste"
  99. 980 gett$:ift$=""then980
  100. 990 pokev+21,0:printcl$:goto170
  101. 1000 i=25:rem *****menu*****
  102. 1010 printhe$tab(i)rn$"f7"rf$" drehen"
  103. 1020 printtab(i)rn$"cursor"rf$" scroll"
  104. 1030 printtab(i)rn$"+/-"rf$" farben"
  105. 1040 printtab(i)rn$"a"rf$" y-spiegeln"
  106. 1050 printtab(i)rn$"shift+a"rf$" x-sp."
  107. 1060 printtab(i)rn$"x"rf$" x-vergr."
  108. 1070 printtab(i)rn$"sh.+x"rf$" normal"
  109. 1080 printtab(i)rn$"z"rf$" y-vergr."
  110. 1090 printtab(i)rn$"shift+z"rf$" normal"
  111. 1100 printtab(i)rn$"home"rf$" revers "
  112. 1110 printtab(i)rn$"clr"rf$" loeschen"
  113. 1120 printtab(i)rn$"space"rf$" l.punkt"
  114. 1130 printtab(i)rn$"button"rf$"s.punkt"
  115. 1140 printtab(i)rn$"f"rf$" film"
  116. 1150 printtab(i)rn$"c"rf$" kopieren"
  117. 1160 printtab(i)rn$"l/s"rf$" load/save"
  118. 1170 printtab(i)rn$"m"rf$" multicolor"
  119. 1180 printtab(i)rn$"shift+m"rf$" mc aus"
  120. 1190 printtab(i)rn$"f1/f2"rf$" bl.zaeh."
  121. 1200 return
  122. 1210 printcl$:rem multicolor
  123. 1220 v=53248:pokev+28,2
  124. 1230 input"farbe 1";f1
  125. 1240 input"fabre 2";f2
  126. 1250 input"farbe 3";f3
  127. 1260 pokev+37,f1
  128. 1270 pokev+38,f2
  129. 1280 pokev+40,f3
  130. 1290 goto170
  131. 1300 rem ***** blockzaehlen *****
  132. 1310 x1=za*64:x2=x1+64
  133. 1320 sys51235,x1,x2,64*255+64
  134. 1330 sys49779:return
  135. 1340 rem *****titlescreen*****
  136. 1350 dima$(13):printcl$:poke53280,0:poke53281,0
  137. 1360 a$(1)="the computerfuture"
  138. 1370 a$(2)=c4$+c4$+"     presents     "
  139. 1380 a$(3)=left$(qd$,4)+"       the        "
  140. 1390 a$(4)=left$(qd$,6)+"sprite-helper v1.0"
  141. 1400 a$(5)=left$(qd$,8)+"    written by"
  142. 1410 a$(6)=left$(qd$,10)+" michael jungmann"
  143. 1420 a$(7)=left$(qd$,22)+"  press any key"
  144. 1430 a(1)=0:a(2)=11:a(3)=12:a(4)=15:a(5)=1:z=1
  145. 1440 fory=0to2
  146. 1450 fori=2to5
  147. 1460 forw=0to100:next
  148. 1470 poke646,a(i)
  149. 1480 printhe$tab(10)a$(z)
  150. 1490 next:next
  151. 1500 z=z+1:ifz<>8then1440
  152. 1510 gett$:ift$=""then1510
  153. 1520 return
  154. 1530 rem ***** directory *****
  155. 1540 printcl$"taste fuer directory"
  156. 1550 gett$:ift$=""then1550
  157. 1560 sys51712
  158. 1570 print"taste"
  159. 1580 gett$:ift$=""then1580
  160. 1590 printcl$:goto170
  161. 1600 rem ***** disk comands *****
  162. 1610 printcl$
  163. 1620 open2,8,15
  164. 1630 c$="":print">";
  165. 1640 getb$:ifb$=""then1640
  166. 1650 printb$;:ifb$=chr$(13)then1670
  167. 1660 c$=c$+b$:goto1640
  168. 1670 print#2,c$
  169. 1680 printrn$;
  170. 1690 get#2,az$:printaz$;:ifaz$<>chr$(13)then1690
  171. 1700 printrf$
  172. 1710 close2
  173. 1720 printc4$"taste"
  174. 1730 gett$:ift$=""then1730
  175. 1740 printcl$:goto170
  176. 60000 rem nachspann ==============
  177. 60010 rem farb-/steuercodes
  178. 60020 c4$=chr$(017):rn$=chr$(018)
  179. 60030 he$=chr$(019):f1$=chr$(133)
  180. 60040 f3$=chr$(134):rf$=chr$(146)
  181. 60050 cl$=chr$(147)
  182. 60060 rem zeichensatz/graphik
  183. 60070 s2$=chr$(160)
  184. 60080 rem zeichenfolgen
  185. 60090 for q=1 to 40
  186. 60100 qd$=qd$+c4$
  187. 60110 next q
  188. 60120 return
  189.