home *** CD-ROM | disk | FTP | other *** search
/ Magic Disk 64 / Magic_Disk_64_88-05_1988_-_de_Side_A.d64 / m6 (.txt) < prev   
Commodore BASIC  |  2023-02-26  |  7KB  |  203 lines

  1. 0 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  2. 1 goto10
  3. 3 @p:print"[147]";:poke53272,21:list1800-1997
  4. 4 @m:print"[147]";:poke53272,21:list1700-1799
  5. 5 @l:print"[147]";:poke53272,21:list10000-
  6. 10 :poke56,96:clr:poke50953,6*16:poke51254,6*16
  7. 100 v=53248:s=54272:jo=v-1:poke659,1:poke56325,64:ma=49152
  8. 110 dima$(20),a(20),b(20),c(20):fori=0to20:reada$(i),a(i):ifa$(i)<>"***"thennext
  9. 112 forj=1to20:readb$(j),b2$(j):ifb$(j)<>"***"thennext
  10. 115 rn=i-1:sysma
  11. 120 gosub999:pokev,50:pokev+1,50:lp=1:lo=0:e=0:ls=1
  12. 130 open1,8,15,"m-w"+chr$(7)+chr$(28)+chr$(1)+chr$(15):close1
  13. 200 poke659,0:la=0:e4=e2:ifpeek(789)<200thensysma+24:sysma+21
  14. 205 if(peek(jo)and16)=16then205
  15. 210 y=abs(int((peek(v)-24)/8+.5)+(33and(peek(v+16)and1)=1))
  16. 215 x=int(abs(peek(v+1)-62)/8+.5)
  17. 217 rem print""x,y"[157] "
  18. 220 onlpgoto300,230
  19. 230 ifx<19orx>21then200
  20. 240 ify>1andy<9thena=1906:b=1910:gosub1200:goto1800
  21. 245 ify>9andy<16then120
  22. 250 ify>18andy<22thenpokes+1923,1:e2=-1:goto1725
  23. 255 ify>21andy<26thenpokes+1927,1:e2=1:goto1725
  24. 260 ify>28andy<34thenpokes+1933,1:pokes+1934,1:goto1600
  25. 270 goto200
  26. 300 ifx>14andx<18thenify>33andy<39thensys64738
  27. 305 fori=0torn
  28. 310 ifb(i)<>xthennext:goto360
  29. 320 ifc(i)<20andy>20orc(i)>20andy<20thennext:goto360
  30. 330 poke214,b(i):print:print"[144]"tab(c(i))a$(i)
  31. 340 e=1:e3=1:e2=1
  32. 350 goto1300
  33. 360 goto200
  34. 998 :end
  35. 999 poke53265,peek(53265)and239
  36. 1000 poke53280,12:poke53281,15:sysma+18:ifpeek(789)>200thensysma+21:poke53240,46
  37. 1001 print"[147][142][152]                                        ";:pokev,60:pokev+1,70
  38. 1002 print"      [144]                              [152]    ";:pokev+16,0
  39. 1003 print"     [146]                              [144] [152]    ";
  40. 1004 print"     [146]                              [144] [152]    ";
  41. 1005 print"     [146]                              [144] [152]    ";
  42. 1006 fori=6to14:print"     [146]                              [144] [152]    ";:next
  43. 1015 print"     [146]                              [144]     [152]";
  44. 1016 print"[152]     [146]                           [152][164][144]       [152]";
  45. 1017 print"     [144][146]                           [152][165][151][162][162][162][162][144]   [152]";
  46. 1018 print"                                [146][151] [197][216][201][212][146] [144][152]  ";
  47. 1019 print"                                [146] [151][162][162][162][162][144][146] [152]  ";:gosub1020:goto1030
  48. 1020 print"[152]                                        ";
  49. 1021 print" [144]                                      [152] ";
  50. 1022 print"[146] [156][162][162][162][162][162][162][162][151] [162][162][162][162][162][162] [144] [151] [162][162][162] [162][162][162] [144] [151] [162][162][162][162] [144][176][178][178][174][151] [144] [152] ";
  51. 1023 print"[146] [156] [196]ruck [146]  [205]en@ [144][146]   [151] _ [144][146] [151] [255] [146] [144] [151]  _[255] [146] [144][171][151][144][179][151] [144] [152] ";
  52. 1024 print"[146] [156][162][162][162][162][162][162][162][146] [162][162][162][162][162][162][144][146]   [151][162][162][162][144][146] [151][162][162][162][144][146]  [151] [162][162][162][162][146] [144][173][177][177][189][151] [152]  ";
  53. 1025 print"[152]                                       ";
  54. 1026 poke53223,160:pokes+2023,12
  55. 1027 fork=217to240:pokek,peek(k)or128:next:return
  56. 1030 ifr%=1thenprint"";:poke2023,160:return
  57. 1035 x=7:poke214,3:print:fork=0torn:poke211,x:print""a$(k):print
  58. 1040 b(k)=peek(214)-3:c(k)=x:ifk=int(rn/2)thenx=20:poke214,3:print
  59. 1050 next:print"":poke53265,27:return
  60. 1200 rem  ---- col a,b--
  61. 1210 forc=s+atos+b:pokec,1:next:return
  62. 1300 rem  ---- load i,e---
  63. 1304 ifi=10thenla=0:goto205
  64. 1305 ifi=11then2200
  65. 1307 e$=right$(str$(i+1),len(str$(i+1))-1)+".":lp=2
  66. 1308 e$=e$+right$(str$(e),len(str$(e))-1)
  67. 1309 ife<>1ore2<1then1325
  68. 1310 ife=1thenife2>0thenclose2:close1:open1,8,15:open2,8,2,e$+",p,r"
  69. 1311 input#1,a:close2:close1:ifa=62thengosub2000:goto1380
  70. 1320 ifa>19then120
  71. 1325 lp=2:print"[144][147]";:goto1700
  72. 1330 print"";:poke53280,12:poke53281,15:e=e3
  73. 1335 gosub1020:poke53265,27:goto1360
  74. 1340 :
  75. 1350 poke214,b(i):print:print""tab(c(i))a$(i)
  76. 1360 goto200
  77. 1370 ifla=1thenlp=1:gosub999:e=0:goto200
  78. 1375 goto1300
  79. 1380 ife2=0thene2=1
  80. 1385 lp=1:goto1340
  81. 1400 rem --- inc/dec page ---
  82. 1405 ife2=0thene2=1
  83. 1410 ife=1ande2=-1thenla=1:return
  84. 1420 ife=a(i)ande2=1thenla=1:return
  85. 1430 e=e+e2:return
  86. 1500 rem --- print e/set counter e ---
  87. 1510 poke214,21:print:c$="":ife<10thenc$="0"
  88. 1515 ife=10thenc$="10":goto1530
  89. 1520 c$=c$+right$(str$(e),len(str$(e-1))-1)
  90. 1530 print"[151]"tab(34)c$:return
  91. 1600 rem --- fforward i/e ---
  92. 1610 poke659,1:if(peek(v+16)and1)=1then1630
  93. 1620 forj=peek(v)to255:pokev,j:aw=((NULL)):next:pokev,0:pokev+16,peek(v+16)or1
  94. 1630 forj=peek(v)to56:pokev,j:aw=((NULL)):next
  95. 1640 forj=peek(v+1)to230:pokev+1,j:aw=sqr(((NULL))):next
  96. 1650 if(peek(jo)and16)=0then1680
  97. 1660 if(peek(jo)and4)=0thene=e+(e>1):gosub1500
  98. 1670 if(peek(jo)and8)=0thene=e-(e<a(i)):gosub1500
  99. 1675 e2=sgn(e-e3):goto1650
  100. 1680 lo=0:goto1700
  101. 1700 rem --- load + show i,e ---
  102. 1703 la=0
  103. 1705 ifla=1then1740
  104. 1708 sysma:sysma+9:sysma+33,i+1,e,6*4096:goto1727
  105. 1710 poke53265,peek(53265)or16:sysma+9:sysma+33,i+1,e,6*4096
  106. 1720 sysma+24:sysma+21:poke53240,19:pokev,220:pokev+1,228
  107. 1724 goto200
  108. 1725 ife4<>e2thene4=e2:gosub1400:gosub1400:goto1705
  109. 1727 poke53265,peek(53265)and239:sysma+18:poke53281,0:print"[144][147]";:poke53281,15
  110. 1728 ifla=0thensysma+15:sysma+12:qq=peek(781):ifqq>1thensysma+24:pokev,0:goto1750
  111. 1729 pokev,222:pokev+1,230:pokev+16,0
  112. 1730 print"":gosub1020:gosub1500:poke53265,peek(53265)or16
  113. 1735 gosub1400:ifla<>1then1710
  114. 1740 pokev+16,0:pokev,138:pokev+1,230:goto200
  115. 1750 poke53265,peek(53265)or16:gosub1400:ifla=1thensysma+6:goto120
  116. 1760 sysma+9:sysma+33,i+1,e,6*4096
  117. 1765 ifqq<>2thensysma+6:goto1790
  118. 1770 getq$:ifq$=""thenifpeek(56320)=127orpeek(56321)=255then1770
  119. 1780 ifq$="d"thensysma+36,24
  120. 1785 ifpeek(56320)=127andpeek(56321)=255andq$<>" "then1770
  121. 1790 sysma+21:goto1727
  122. 1800 rem --- printer ---
  123. 1805 e3=e:sysma+24
  124. 1810 sysma+36,18:close1:open1,4:cmd1
  125. 1820 a$="(magic disk 64: ":b$=" seite"+str$(e)+")"
  126. 1830 z=(39-len(a$)-len(a$(i))-len(b$))/2
  127. 1835 c$="":forj=1tolen(a$(i)):c$=c$+chr$(asc(mid$(a$(i),j,1))and127):next
  128. 1840 forj=1toz:a$=a$+" ":next:a$=a$+c$:forj=1toz:a$=a$+" ":next
  129. 1850 a$=a$+b$:printa$
  130. 1860 sys43957:close1:sysma+21
  131. 1870 goto1330
  132. 2000 rem --- disk wenden ---
  133. 2001 ax=peek(v+1):ay=peek(v):poke659,1
  134. 2003 z=20:a2=a:a=(99-peek(v))/z:b=(227-peek(v+1))/z:c=peek(v):d=peek(v+1)
  135. 2005 forj=1toz:d=d+b:c=c+a:pokev,c:pokev+1,d:next
  136. 2010 print"";:r%=1
  137. 2020 print"[144]             [146][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
  138. 2025 print"[144]             [146][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
  139. 2030 print"               [146][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
  140. 2040 print" [185][175] [196]iskette[144]   [146][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
  141. 2050 print" [161][182] wenden ![144]  [146][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";
  142. 2060 print"             [157][157][157][157][157][157][157][157][157][157][157][157][157][157][145][145]";
  143. 2070 forqs=0to6
  144. 2080 print"[185][175][157][157][161][182][157][157][145]";:forsq=1to200:next
  145. 2090 print"  [157][157]  [157][157][145]";:forsq=1to200:next
  146. 2100 nextqs:print"[152]                     [146]"
  147. 2102 print"                     [146]"
  148. 2105 print"";:gosub1020:r%=0:print"";
  149. 2110 z=20:a=(ay-peek(v))/z:b=(ax-peek(v+1))/z:c=peek(v):d=peek(v+1)
  150. 2120 forj=1toz:d=d+b:c=c+a:pokev,c:pokev+1,d:next:poke659,0
  151. 2125 pokev,int(peek(v)/2)*2:pokev+1,int(peek(v+1)/2)*2
  152. 2150 a=a2:return
  153. 2200 rem  --- game menu ---
  154. 2205 poke214,16:print:printtab(33)"[151][208][204][193][217]
  155. 2210 [151]214,2:[153]
  156. 2220 [129]j[178]0[164]11:[153]"                              ":[130]
  157. 2230 [153]"chr$atn(NULL)val (NULL)val(NULL)sqr
  158. 2240 forj=1to10:ifb$(j)="***"then2270
  159. 2243 if(peek(214)-2)/4=lsthenprint"[144]";:goto2247
  160. 2245 print"";
  161. 2247 print""b$(j):next
  162. 2270 :
  163. 2300 y=abs(int((peek(v)-24)/8+.5)+(33and(peek(v+16)and1)=1))
  164. 2310 x=int(abs(peek(v+1)-62)/8+.5)
  165. 2320 if(peek(jo)and16)=16then2270
  166. 2330 poke214,2:print
  167. 2340 ify>9andy<16thenifx>19then120
  168. 2345 ifx>14andx<18thenify>33andy<39then2395
  169. 2350 print"
  170. 2360 [129]j[178]1[164]10:[139]b$(j)[178]"***"[167]2390
  171. 2370 [139][181](x[171]4)[173]1[179][177]j[167][153]"";:[137]2380
  172. 2375 [153]"stop";:ls[178]j
  173. 2380 [153]""b$(j):[130]
  174. 2390 [137]2270
  175. 2395 [158]ma[170]24:[158]ma[170]3:[151]53272,23
  176. 2397 [153]"loadstop(NULL)oading "b$(ls):[151]v,0
  177. 2400 [151]v[170]21,0:[160]1:[160]2:[159]1,8,15,"i":[159]2,8,2,b2$(ls)[170]",p,r"
  178. 2410 [132]1,a:[139]a[179]19[167]2460
  179. 2420 [153]"peekitte wenden (NULL)ie die str$iskette."
  180. 2450 [151]198,0:[146]198,1:[137]2395
  181. 2460 [153]"listload":[153]"load"[199](34)b2$(ls)[199](34)",8,8":[151]56,160:[156]
  182. 2470 [153]"runonononononononon"
  183. 2480 [151]631,13:[151]632,13:[151]198,2:[128]
  184. 2499 [128]
  185. 10000 [131]"left$allo",3
  186. 10001 [131]"left$ardware",11
  187. 10002 [131]"(NULL)oftware",15
  188. 10003 [131]"peekastelware",6
  189. 10004 [131]"left$ack-(NULL)eck",8
  190. 10005 [131]"(NULL)tilities",7
  191. 10006 [131]"lenepeekright$(NULL)'88",23
  192. 10007 [131]"chr$ames",4
  193. 10008 [131]"right$ntern",24
  194. 10009 [131]"(NULL)orschau",4
  195. 10010 [131]"         ",1
  196. 10011 [131]"chr$ame (NULL)en@",1
  197. 10100 [131]***,0
  198. 10110 [131]"mid$oe",joe loader,"(NULL)pace ascight",space fight
  199. 10120 [131]"left$i(NULL)es-(NULL)croll",hires-scroll
  200. 10130 [131]"ascast str$isk",fast disk,"(NULL)eilenmampfer",zeilenmampfer
  201. 10150 [131]"str$emo1",demo1,"str$emo2",demo2
  202. 10200 [131]***,***
  203.