home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 57 / 64er_Magazin_Sonderheft_57_19xx_Markt__Technik_de_Side_A.d64 / fatman (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  7KB  |  249 lines

  1. 3 dimty$(4),az$(15):gosub2800
  2. 4 ty$(0)="[196][197][204]":ty$(1)="[211][197][209]":ty$(2)="[208][210][199]":ty$(3)="[213][211][210]":ty$(4)="[210][197][204]":li=0:in=8
  3. 5 print"[147]";:en$=""
  4. 6 l$="                                        ":i1$=en$:m=0
  5. 7 open2,8,15,"i0":gosub1065:close2:iffthenen$=i1$:goto6
  6. 8 az$(0)="+":az$(1)=".":fori=2to15:az$(i)="":next
  7. 10 ba$="":f0=0:f1=11:f2=6:f3=13:f4=2:fr=0:t=18:s=0:l=164:an=254
  8. 11 poke53280,12:poke53281,12:poke646,f4
  9. 14 sp=0:zl=0:br=37:ho=21:gosub1200:print"[198][193][212]":poke646,f0
  10. 15 zl=1:gosub1100:poke646,f4:gosub1200:print"[205][193][206]"
  11. 16 gosub1000
  12. 18 poke646,f2:sp=5:zl=0:i1$=mid$(ba$,145,16):gosub1200:print"[196]isk: "i1$;
  13. 19 sp=28:gosub1200:i2$=right$(ba$,2):print"[196]isk[201][196]: "i2$;
  14. 20 ifen$=""then150
  15. 30 sp=1:zl=2:ho=21:br=37:gosub1300:iffthenreturn
  16. 80 sp=1:fori=0to20:zl=i+2:gosub1200:print""right$(str$(i),2):next
  17. 90 af=4:lt=21:poke646,f1
  18. 100 fori=1to35
  19. 102 ifi=18thenpoke646,f2:az$(0)="d"
  20. 103 ifi=19thenpoke646,f1:az$(0)="+"
  21. 105 af=af+1:fr=fr+asc(mid$(ba$,af,1)):zl=1:sp=i+2
  22. 109 lt=lt+(i=18)*2+(i=25)+(i=31)
  23. 110 forj=1to3
  24. 115 af=af+1:b=asc(mid$(ba$,af,1))
  25. 117 form=0to7:k=((band2^m)=0)+1
  26. 119 zl=zl+1:ifzl=lt+1thenm=7
  27. 120 gosub1200:print""az$(k)
  28. 125 nextm:nextj
  29. 130 nexti
  30. 140 poke646,f2:sp=22:zl=22:gosub1200:printfr"[194]locks free";:poke646,f0:zl=24
  31. 145 return
  32. 150 poke646,f0
  33. 155 zl=24:sp=0:gosub1200:print"  [194][146]am  [211][146]can  [206][146]ext  [196][146]ir  [196]o[146]s   [197]x[146]it  ";
  34. 160 lg=1:gosub1800
  35. 170 ifen$="s"thengosub2500
  36. 175 ifen$="b"thengosub6
  37. 180 ifen$="d"thengosub2300
  38. 185 ifen$="o"thengosub1500
  39. 190 ifen$="n"thenlg=0:sp=5:zl=0:gosub1200:print"[194]itte [196]isk einlegen! ";
  40. 195 ifen$="n"thengosub1800:gosub5
  41. 200 ifen$="x"thenpoke646,1:print"[198][193][212]":print"[205][193][206]";:poke646,f1:end
  42. 210 ifen$="c"thent=0:z=0:ho=22:gosub1600
  43. 215 ifen$="0"thenli=0
  44. 220 sp=36:gosub1200
  45. 230 goto150
  46. 999 end
  47. 1000 gosub1050:iffthenreturn
  48. 1005 open1,8,2,"#":print#2,"u1 2 0";t;s
  49. 1010 sys828,1,l,ba$
  50. 1020 ifl=255thenget#1,i1$
  51. 1040 close2:close1
  52. 1045 return
  53. 1050 sp=5:zl=0:br=34:ho=1:gosub1300
  54. 1060 open2,8,15
  55. 1065 input#2,f,f$,x,y:iff=0thenreturn
  56. 1070 close2:sp=5:zl=0:br=34:ho=1:gosub1300:gosub1200:printf;f$;x;y;
  57. 1080 lg=1:gosub1800:gosub1300
  58. 1090 return
  59. 1100 gosub1200
  60. 1110 print"[176]";:ifbr=0then1130
  61. 1120 fori9=1tobr:print"[192]";:next
  62. 1130 print"[174]":ifho=0then1150
  63. 1140 fori9=1toho:printtab(sp)"[221]"tab(sp+br+1)"[221]":next
  64. 1150 printtab(sp)"[173]";:ifbr=0then1170
  65. 1160 fori9=1tobr:print"[192]";:next
  66. 1170 print"[189]";
  67. 1180 return
  68. 1200 poke214,zl:poke211,sp
  69. 1210 sys58640
  70. 1230 return
  71. 1300 gosub1200:ifho=0orbr=0then1340
  72. 1310 fori9=1toho:printtab(sp)left$(l$,br);
  73. 1320 ifi9<hothenprint
  74. 1330 next
  75. 1340 return
  76. 1400 ifi=0thenfork=0to15:az$(k)="":next
  77. 1405 fork=0to7:b$=mid$(ba$,k*32+1,32)
  78. 1407 ifk=7thenb$=b$+i1$+chr$(0):i1$=""
  79. 1410 ty=asc(mid$(b$,3,1)):x=tyand31:y=tyand128:z=tyand64:r=tyand32
  80. 1430 ifasc(mid$(b$,6,1))=0thenk=7:goto1480
  81. 1435 az$(a)=az$(a)+mid$(b$,6,16)+ty$(x)
  82. 1437 ify=0thenaz$(a)=az$(a)+"*"
  83. 1440 ifzthenaz$(a)=az$(a)+"<"
  84. 1441 ifrthenaz$(a)=az$(a)+"@"
  85. 1445 az$(a)=az$(a)+mid$("  ",(not((y=0)orz=64orr=32))+2)
  86. 1450 x=asc(mid$(b$,4,1)):y=asc(mid$(b$,5,1))
  87. 1455 az$(a)=az$(a)+right$(str$(x),2)+" "+right$(str$(y),2)+" "
  88. 1457 ifrthenx=asc(mid$(b$,29,1)):y=asc(mid$(b$,30,1))
  89. 1459 ifrthenaz$(a)=az$(a)+" "+right$(str$(x),2)+" "+right$(str$(y),2)+" ":goto1470
  90. 1460 x=asc(mid$(b$,24,1)):ifx<10thenaz$(a)=az$(a)+" "
  91. 1463 ifx=0thenaz$(a)=az$(a)+"      ":goto1470
  92. 1465 az$(a)=az$(a)+right$(str$(x),3)+"    "
  93. 1470 x=asc(mid$(b$,31,1))+256*asc(mid$(b$,32,1)):ifx<10thenaz$(a)=az$(a)+" "
  94. 1475 az$(a)=az$(a)+right$(str$(x),3)
  95. 1477 a=a+1
  96. 1480 nextk
  97. 1490 return
  98. 1500 poke646,f1:z1=49152:q1=1024:gosub1900
  99. 1505 z1=49152+1024:q1=55296:gosub1900
  100. 1510 sp=5:zl=0:br=34:ho=1:gosub1300
  101. 1520 gosub1200:print"=>";
  102. 1530 lg=32:gosub1800
  103. 1540 gosub1060:iffthen1580
  104. 1550 print#2,en$
  105. 1560 gosub1065
  106. 1570 sp=7:br=32:gosub1300:gosub1200
  107. 1580 iff=0thenprintf;f$;x;y;:close2:lg=1:gosub1800
  108. 1590 en$="":zl=24:q1=49152:z1=1024:gosub1900
  109. 1592 q1=49152+1024:z1=55296:gosub1900
  110. 1595 return
  111. 1600 x=peek(768):y=peek(769):poke768,61:poke769,227
  112. 1605 open4,4,7:print#4,"";:close4:poke768,x:poke769,y:ifst=-128thenreturn
  113. 1607 ifpeek(1107)=32thenreturn
  114. 1610 open4,4,7:ifid$="c"thenz=4
  115. 1620 forj=ztoho
  116. 1625 k=1024+40*j
  117. 1627 ifj>3thenifpeek(k+18)=32thenj=ho:goto1685
  118. 1630 print#4,spc(in);:sp=1:br=36:ifj=0thensp=5:br=32
  119. 1632 ifj=1thenprint#4:goto1680
  120. 1640 fori=sptosp+br
  121. 1650 r=peek(k+i)and127:ifr>63thenr=r+32:ifr=128thenr=32
  122. 1655 ifr<32thenr=r+64
  123. 1660 print#4,chr$(r);
  124. 1670 nexti:print#4
  125. 1680 geti9$:ifi9$="x"thent=0:j=ho
  126. 1681 li=li+1:ifli>61thenfori=li+1to72:print#4:next:li=0
  127. 1685 nextj
  128. 1687 ift=0thenprint#4:li=li+1
  129. 1690 close4
  130. 1695 return
  131. 1700 m=1026:r=54272
  132. 1705 l=2:gosub1060:iffthenreturn
  133. 1710 open1,8,2,"#"
  134. 1715 fori=1to35:lt=16-(i<31)-(i<25)-2*(i<18)
  135. 1720 forj=0tolt:b=(j+2)*40+i+m
  136. 1725 t=i:s=j:k=peek(b+r):pokeb+r,f3:z=peek(b):ifz<>174then1745
  137. 1727 iffthenf=0:close1:gosub1060:open1,8,2,"#"
  138. 1730 gosub2700:iffthenz=161:goto1745
  139. 1740 z=170:if(t=0ands=0)ort=75thenz=174
  140. 1745 pokeb+r,k
  141. 1750 pokeb,z
  142. 1755 iffthenifen$="x"thenj=lt:i=35
  143. 1760 nextj
  144. 1770 nexti
  145. 1780 an=244:z1=49192:q1=1064:gosub1900:an=254
  146. 1790 return
  147. 1800 en$="":i9=0
  148. 1810 print"[164][157]";
  149. 1820 getx9$:ifx9$=""then1820
  150. 1830 ifx9$=chr$(13)then1890
  151. 1840 ifx9$=chr$(20)andi9>0thenprint" [157][157][164][157]";:i9=i9-1:en$=left$(en$,i9)
  152. 1850 ifx9$<" "orx9$>"[218]"then1820
  153. 1860 ifx9$>"_"andx9$<"[193]"then1820
  154. 1870 ifx9$=chr$(34)thenprintchr$(148)x9$chr$(20);
  155. 1880 en$=en$+x9$:printx9$;:i9=i9+1:iflg>i9then1810
  156. 1890 print" ";
  157. 1895 return
  158. 1900 fork=0to3:zi=z1+k*an:qu=q1+k*an:gosub2100:next
  159. 1910 return
  160. 2100 z=zi:gosub2200:poke53,lo:poke54,hi
  161. 2105 z=qu:gosub2200:poke781,lo:poke782,hi
  162. 2110 poke780,an+1:sys46728
  163. 2120 return
  164. 2200 hi=int(z/256):lo=z-hi*256
  165. 2210 return
  166. 2300 poke646,f1:z1=49152:q1=1024:gosub1900
  167. 2302 z1=49152+1024:q1=55296:gosub1900
  168. 2305 zl=24:sp=2:br=34:ho=1:gosub1300:ba$=""
  169. 2310 sp=1:zl=2:ho=21:br=37:gosub1300:t=18:s=1:l=255
  170. 2315 gosub1200:print"[206]ame            [212]yp   [212]  [211] [210]ec    [204]en"
  171. 2316 zl=4:ho=16:br=37:gosub1300:zl=3:a=0
  172. 2317 fori=0to1
  173. 2320 gosub1060:iffthent=0:i=1:goto2335
  174. 2325 gosub1005:t=asc(mid$(ba$,1,1)):s=asc(mid$(ba$,2,1))
  175. 2330 gosub1400
  176. 2332 ift=0theni=1
  177. 2335 nexti
  178. 2340 fork=0to15
  179. 2350 zl=zl+1:gosub1200:printaz$(zl-4)
  180. 2360 next
  181. 2397 ifen$="c"goto2405
  182. 2398 zl=24:ho=1:br=34:gosub1300:sp=1
  183. 2400 gosub1200:print"[212]aste ";
  184. 2402 ift>0thenprint"('x'= [197]nde) ";
  185. 2403 gosub1800
  186. 2405 ifen$="c"thenz=0:ho=19:gosub1600:id$=en$
  187. 2407 ifen$="x"thent=0
  188. 2410 iftgoto2316
  189. 2420 id$="":en$="":zl=24:q1=49152:z1=1024:gosub1900
  190. 2422 q1=49152+1024:z1=55296:gosub1900
  191. 2430 return
  192. 2500 ifm=0thengosub6
  193. 2502 poke646,f1:z1=49152:q1=1024:gosub1900
  194. 2505 z1=49152+1024:q1=55296:gosub1900
  195. 2510 zl=24:sp=0:br=38:ho=1:gosub1300:ba$="":poke646,f0:az$="(korrekt j/n)? "
  196. 2515 gosub1200:print"[198]ilename oder [212] u. [211]: ";:lg=16:gosub1800
  197. 2520 ifen$="x"then2590
  198. 2521 ifen$="*"then2588
  199. 2525 t=val(mid$(en$,1,2)):s=val(mid$(en$,3))
  200. 2526 lt=16-(t<31)-(t<25)-2*(t<18):ifs>ltthent=0
  201. 2530 ift=0thengosub2600
  202. 2535 ifmid$(en$,3,1)>"9"orlen(en$)<3thengosub2600
  203. 2536 ift=0thenaz$="no [198]ile, [193]bbr.?"
  204. 2550 gosub1300:gosub1200:print"[212]rack"t"; [211]ektor"s;
  205. 2555 sp=21:gosub1200:printaz$;
  206. 2560 lg=1:gosub1800:ifen$<>"j"anden$<>"n"thensp=36:gosub1200:goto2560
  207. 2565 ifen$="n"then2510
  208. 2566 ift=0ort>35then2590
  209. 2567 l=2:gosub1060:iffthent=0:goto2585
  210. 2568 open1,8,2,"#"
  211. 2570 zl=s+2:sp=t+2:poke55296+40*zl+sp,f3
  212. 2580 gosub2700:ift>35ors>21thent=0
  213. 2582 iftthen2570
  214. 2585 close2:close1:az$=" (mehr j/n)?   ":ifm<1026thenaz$=" (mehr j/n/*)? "
  215. 2586 zl=24:sp=21:gosub1200:printaz$;
  216. 2587 lg=1:gosub1800:ifen$<>"j"anden$<>"n"anden$<>"*"thensp=36:gosub1200:goto2587
  217. 2588 ifen$="*"thengosub1700:goto2585
  218. 2589 ifen$="j"then2510
  219. 2590 en$="":zl=24:poke646,f0:q1=49152:z1=1024:gosub1900
  220. 2592 q1=49152+1024:z1=55296:gosub1900
  221. 2595 return
  222. 2600 ifen$=""thent=0:s=0:return
  223. 2605 l=255:i3$=en$:i9=len(i3$):i2$="":t=18:s=1:y=0:az$="(scannen j/n)? "
  224. 2610 ba$="":gosub1060:iffthent=0:return
  225. 2615 gosub1005:t=asc(mid$(ba$,1,1)):s=asc(mid$(ba$,2,1))
  226. 2620 ifright$(i3$,1)="*"theni9=i9-1:i3$=left$(i3$,i9):i2$="*"
  227. 2630 a=0:i=0:gosub1400
  228. 2640 fork=0to7:x=0
  229. 2650 x9$=mid$(az$(k),i9+1,1)
  230. 2660 ifleft$(az$(k),i9)=i3$thenx=val(mid$(az$(k),22,2)):y=val(mid$(az$(k),25,2))
  231. 2670 ifxthenifx9$=chr$(160)ori2$="*"thenk=7:t=0
  232. 2680 next
  233. 2685 iftthen2610
  234. 2690 t=x:s=y:en$=left$(l$,4)
  235. 2695 return
  236. 2700 print#2,"u1 2 0";t;s:ba$=""
  237. 2705 gosub1065:iffthent=0:s=0:return
  238. 2710 sys828,1,l,ba$
  239. 2740 t=asc(mid$(ba$,1,1)):s=asc(mid$(ba$,2,1))
  240. 2750 return
  241. 2800 fori=828to885
  242. 2810 readx:pokei,x
  243. 2820 next
  244. 2830 data32,253,174,32,158,183,32,30,225,32,253,174,32,158,183,138,72,32,253
  245. 2840 data174,32,139,176,133,73,132,74,32,163,182,104,32,117,180,160,2,185
  246. 2850 data97,0,145,73,136,16,248,200,32,18,225,145,98,200,196,97,208,246,76
  247. 2860 data204,255
  248. 2870 return
  249.