home *** CD-ROM | disk | FTP | other *** search
/ Magic Disk 64 / Magic_Disk_64_88-11_1988_-_de_Side_B.d64 / demoprog. (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  6KB  |  205 lines

  1. 1 rem ** erst mal nachladen und die **
  2. 2 rem ** variablen definieren       **
  3. 5 ifa=0 then print"[147][204]oading....."
  4. 10 ifa=0thena=1:load"splitting 64",8,1
  5. 20 ifa=1thena=2:load"demo/zeichen",8,1
  6. 30 ifa=2thena=3:load"demo/sprites!",8,1
  7. 40 splitt=49248:off=49407:scroll=49152
  8. 50 v1=50000:v2=50050:oben=253
  9. 60 p1=50100:p2=50108:unten=254
  10. 80 poke oben,0:poke unten,145
  11. 81 :
  12. 82 rem  **** wichtig ****
  13. 83 rem  aktivierung muss so erfolgen:
  14. 84 :
  15. 85 sysoff:syssplitt
  16. 86 pokev1,100:pokev2,100:poke53248,0
  17. 87 if peek(53248)=0 then goto 85
  18. 88 :
  19. 89 rem *********************************
  20. 90 rem**farben und sprite-koordinaten**
  21. 91 poke v1+33,11:pokev1+32,11
  22. 100 poke v2+33,0:pokev2+32,0
  23. 105 forx=0to7:read a,f:poke p2+x,a:pokev2+39+x,f:next
  24. 110 forz=0to15step2
  25. 120 read x,y
  26. 130 poke v2+z,x:poke v2+z+1,y
  27. 140 next z
  28. 150 poke v2+21,255
  29. 160 forx=0to7:pokep1+x,230+x:pokev1+39+x,15:next
  30. 170 forz=0to15step2
  31. 180 readx,y
  32. 190 pokev1+z,x:pokev1+z+1,y
  33. 200 next z
  34. 205 rem ** text 1 **
  35. 210 poke v1+21,255
  36. 220 poke v1+24,23:pokev2+24,29
  37. 230 print"[147][158]magic disk 64 pr[sentiert:"
  38. 240 print"[211] [211] [211] [211] [211] [211] [211] [211] [172][187] [211] [211] [211] [211] [211] [211] [211] [211] [211] [211] [211]"
  39. 250 print"[145]                [188][190]
  40. 260 [153]"@ 1988 by markus hillebrand
  41. 270 print"[193] [211] [218] [216] [193] [211] [218] [216] [193] [211] [218] [216] [193] [211] [218] [216] [193] [211] [218] [216]"
  42. 280 print"[194]itte eine [212]aste druecken..."
  43. 290 poke198,0:wait198,1
  44. 300 pokev1+21,0
  45. 305 rem ** bildschrim 2 nach 15360 **
  46. 310 pokev1+24,252:poke 648,60
  47. 315 rem ** und scroll-text ausgeben **
  48. 320 reada$:ifa$="_"then poke198,0:wait198,1:goto 340
  49. 330 printa$:forx=0to400:nextx:goto 320
  50. 335 rem ** scrollen aus und bildschirm
  51. 336 rem ** wieder nach 1024!
  52. 340 pokev1+33,9:pokev2+33,0
  53. 350 pokev2+32,0 :pokev1+32,8
  54. 360 pokev1+24,29:pokev1+24,21
  55. 370 poke648,4:poke v2+27,255
  56. 375 rem ** demo 2   **
  57. 380 print"[147][155]splitting 64
  58. 390 [153]"============
  59. 400 print"demo von 2 zeichens[tzten und
  60. 410 [153]"16 sprites:"
  61. 420 [153]" 8 sprites im oberen teil:"
  62. 430 [129]x[178]0[164]10:[129]s[178]0[164]15
  63. 440 a[178][194](v2[170]s):a[178]a[170]2:[151]v2[170]s,a:[130]s,x
  64. 450 [129]x[178]0[164]7:[153]"poke- nr:"x[170]1;
  65. 460 [129]s[178]100[164][194](v2[170]39[170]x)[169][171]1:[151]v2[170]39[170]x,s:[130]s,x
  66. 470 [153]:[153]"listund nun 8 sprite's im unteren teil:":[151]v1[170]21,255
  67. 475 [129]x[178]0[164]7:[151]v1[170]x[172]2,0:[151]v1[170]1[170]x[172]2,0:[151]50100[170]x,226:[151]v1[170]39[170]x,x[170]1:[130]
  68. 480 [129]s[178]0[164]7
  69. 490 [129]x[178]0[164]255[171]s[172]15[169]2.5
  70. 495 a[178](265[171]x)[173]3
  71. 500 y[178][181](233[171][182](a[172][191](x[172]2[172][255][173]160)))
  72. 510 [151] v1[170]s[172]2,x:[151]v1[170]1[170]s[172]2,y
  73. 520 [130] x,s:[151]v1[170]27,0:[151]v2[170]27,0
  74. 530 [129]f[178]0[164]255:[151]646,f
  75. 540 [153]"(NULL)zwei zeichensaetze(NULL)";:[130]
  76. 550 [153]"bitte eine taste druecken!"
  77. 560 [151]198,0:[146]198,1
  78. 570 [151] v1[170]17,59:[151]v1[170]24,29
  79. 580 [151] v2[170]24,21
  80. 590 [151]254,84
  81. 610 [143] **** dieses hires programm *****
  82. 620 [143] **** wurde dem commodore 64*****
  83. 630 [143] **** handbuch entnommen    *****
  84. 640 [143] **** s. 168                *****
  85. 645 [153]"loadsplitting 64
  86. 646 print"============
  87. 647 [153]"grafic + text!
  88. 650 fork=200to999:poke1024+k,1*16+9:nextk
  89. 660 poke88,63:poke89,63:poke113,0:poke114,32:poke780,0:poke12,1:sys45762
  90. 670 forx=0to319step2
  91. 680 y=int(100+50*sin(x*2*(NULL)/100))
  92. 690 forn=0to24
  93. 700 ify>n*8-1andy<(n+1)*8thenby=8192+n*320+8*int(x/8)+y-8*n:n=24:goto720
  94. 710 nextn
  95. 720 bi=8*(1+int(x/8))-x-1
  96. 730 ifpeek(by)<>0 then poke by,peek(by)or2^bi
  97. 740 ifpeek(by)=0thenpokeby,2^bi
  98. 750 next x
  99. 790 print"bitte taste druecken!"
  100. 800 poke198,0:wait198,1
  101. 810 sys off:sys 58778
  102. 815 rem *** ^ dieser sys reset'et vic
  103. 816 rem *** demo 3 ***
  104. 820 poke53280,0:poke53281,0
  105. 830 print"[144][147] [218]ecki-[211]oftware present's
  106. 840 [153]"(NULL)he (NULL)plitting 64
  107. 850 print"written and (c) by [205]arkus [200]illebrand
  108. 860 [153]"chr$ruesse an
  109. 870 print"[200]ermann,[197]mke,[209]uarti,[193]lpha([211]tefan)"
  110. 880 print"======================================="
  111. 890 print"[196]ieses [198]arbscrolling scrollt mit"
  112. 900 print" [211]peed 25"
  113. 910 print"[198]uer optimale [197]instellung ist der
  114. 920 [153]"ascarbscrolleditior zustaendig!"
  115. 930 [153]"valnde des str$emos
  116. 940 print"[194]itte eine [212]aste druecken!"
  117. 950 poke198,0:sys49152
  118. 960 geta$:print"[155][196]u hast die [212]aste mit [193][211][195][201][201]code";asc(a$)
  119. 970 print"gedrueckt!"
  120. 980 rem ** daten von spritekoordinaten
  121. 990 rem ** spritefarben und scroll-text
  122. 10000 data 224,2,224,10,225,6,225,14
  123. 10001 data 226,7,227,5,228,5,229,13
  124. 10005 data 100,100   ,102,98
  125. 10010 data 118,95    ,120,93
  126. 10020 data 126,87    ,150,100
  127. 10030 data 174,100   ,210,100
  128. 10040 data 100,200   ,122,200
  129. 10050 data 144,200   ,166,200
  130. 10060 data 188,200   ,210,200
  131. 10070 data 0,0,0,0
  132. 10080 rem *** text ***
  133. 10090 data "[155][147]splitting 64
  134. 10100 [131] ,was written and @
  135. 10110 [131] by
  136. 10120 [131] markus hillebrand
  137. 10130 [131] ,splitting 64 ist ein utility
  138. 10140 [131] f^r den basic-programmierer!
  139. 10150 [131] es erschlie\t ihm die welt des
  140. 10160 [131] rasterinterrupts.
  141. 10170 [131] ,funktionsweise:
  142. 10180 [131] splitting 64 l]st bei
  143. 10190 [131] bestimmten rasterzeilen
  144. 10200 [131] (gespeichert in 253 und 254)
  145. 10210 [131] "interupts aus, die sozusagen"
  146. 10220 [131] zwischen zwei vic's umschalten
  147. 10230 [131] ,beim 1 interupt wird der speicher
  148. 10240 [131] von 50000 - 50050
  149. 10250 [131] in den vic kopiert
  150. 10260 [131] ,beim 2 interupt wird der speicher
  151. 10270 [131] von 50050 - 50100
  152. 10280 [131] in den vic kopiert
  153. 10290 [131] ,zeile des 1.interupts
  154. 10300 [131] speicherstelle 253
  155. 10310 [131] ,zeile des 2.interupts
  156. 10320 [131] speicherstelle 254
  157. 10330 [131] ,damit man 16 verschiedene
  158. 10340 [131] sprites verwenden kann
  159. 10350 [131] werden die 8 sprite-pointer
  160. 10360 [131] (ab 2040) auch gleich kopiert
  161. 10370 [131] und zwar beim 1.interupt von
  162. 10380 [131] 50100 nach 2040
  163. 10390 [131] ,beim 2.interupt von
  164. 10400 [131] 50108 nach 2040
  165. 10410 [131] ,die beiden interupts
  166. 10420 [131] werden aktiviert durch
  167. 10430 [131] ,sys 49248
  168. 10440 [131] ,wobei aber der vic nach
  169. 10450 [131] 50000 und 51000 kopiert
  170. 10460 [131] wird.
  171. 10480 [131] also die kopier-register(ab 50000 & 50100)
  172. 10490 [131] erst nach diesem sys-befehl ver-
  173. 10500 [131] ver[ndern.
  174. 10510 [131] ,das ver[nden der alten vic-register
  175. 10520 [131] (ab 53248) zeigt dann keine wirkung mehr!!
  176. 10530 [131] ,die belegung der neuen register
  177. 10540 [131] entspricht denen der alten.
  178. 10550 [131] "z.b. poke 50000+21,1"
  179. 10560 [131] schaltet den 1.sprite f^r bildschirm1
  180. 10570 [131] an(belegung siehe handbuch
  181. 10580 [131] seite 153 & 154).
  182. 10590 [131] ,splitting 64 besitzt auch ein
  183. 10600 [131] eigenes farbscrolling prg!
  184. 10610 [131] ,es wird mit sys 49152
  185. 10620 [131] aktieviert und farbscrollt
  186. 10630 [131] solange bis eine taste gedr^ckt wird
  187. 10640 [131] (kann dann mit geta$ ^bernommen
  188. 10650 [131] werden.
  189. 10660 [131] bei diesem farbscrolling
  190. 10670 [131] steht in den speicherstellen
  191. 10680 [131] ,49247 der speed(25 ist ein guter wert!)
  192. 10690 [131] und in den speicherstellen
  193. 10700 [131] 49230-49245 die farben mit
  194. 10710 [131] denen gescrollt wird.
  195. 10720 [131] ,demos folgen noch....
  196. 10721 [131] ,noch zwei maschinenprg's
  197. 10722 [131] sys 49408 schaltet splitting 64 ab
  198. 10723 [131] sys 49166 inventiert den gesamten
  199. 10724 [131] bildschirm,
  200. 10730 [131] ,viel spa\ mit splitting 64
  201. 10740 [131] w^nscht ihnen
  202. 10750 [131] ,markus hillebrand
  203. 10760 [131] ,, end of transmission 
  204. 10770 [131] ,bitte eine taste dr^cken!,_
  205.