home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 68 / 64er_Magazin_Sonderheft_68_19xx_Markt__Technik_de_Side_A.d64 / program (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  16KB  |  525 lines

  1. 0 rem system-v v3.1 von ingolf lange
  2. 1 rem (c)1990 markt&technik verlag
  3. 2 goto170
  4. 3 print"[146]";p$;left$(l$,40-len(p$));"";p$;left$(l$,40-len(p$));:return
  5. 4 printh$;"[146]";p$;left$(l$,40-len(p$));"";p$;left$(l$,39-len(p$))"[145][145]";:return
  6. 5 poke53280,f(0):poke646,f(2):poke53281,f(1):print"[147]";:sys fi,55296,56296,f(2)
  7. 6 print"[146]";:poke646,f(3):p$=" [196]:"+d$+"."+right$(" "+str$(ex),3)
  8. 7 p$=p$+"  "+w$(w,0)+"    .  0":gosub3:poke646,f(2)
  9. 8 print left$(h$,20);:p$=left$(m$,40):gosub3:p$=mid$(m$,41,40):gosub3
  10. 9 p$="  [211]top-[212]aste zum [193]nw[hlen der [194]efehle":gosub4:print"":return
  11. 10 :
  12. 20 pp$=p$:m=0:x1=peek(211):y1=peek(214):poke646,f(2)
  13. 30 p$="     [195]ursor+[210]eturn oder [194]uchstaben":gosub4
  14. 40 sys fi,56056,56296,f(2)
  15. 50 sys fi,56056+m(m,0),56056+m(m,1),f(4):sys fi,56096+m(m,0),56096+m(m,1),f(4)
  16. 60 geti$:ifi$=""then60
  17. 70 if(i$=""ori$=" ")andm<mm thenm=m+1:goto40
  18. 80 if(i$="[157]"ori$="[160]")andm>0  thenm=m-1:goto40
  19. 90 if i$=chr$(13) then i$=chr$(peek(49913+m(m,0))):goto140
  20. 100 ifi$=x$ then140
  21. 110 ifasc(i$)<65orasc(i$)>95 then60
  22. 120 a$=chr$(128+asc(i$)):fori=1tolen(m$):ifmid$(m$,i,1)=a$ then140
  23. 130 nexti:goto60
  24. 140 sys fi,56056,56296,f(2):p$="":gosub4:p$=pp$:poke211,x1:poke214,y1:sys58640
  25. 150 return
  26. 160 :
  27. 170 poke788,52:poke55,209:poke56,81:clr
  28. 180 da=20945:va=23410:in=50176:fi=50368:p1=50432:p2=p1+5:fo=50624:di=50704
  29. 190 t1=50848:t2=50934:ko=51024:ct=51200:c2=51456:v=53248
  30. 200 open5,8,15
  31. 210 ga=4:sa=7:fori=0to255:pokec2+i,i:nexti
  32. 220 lb=72:ro=5:ru=5:rl=10
  33. 230 f(0)=0:f(1)=13:f(2)=0:f(3)=5:f(4)=2
  34. 240 open6,8,2,"status,s,r"
  35. 250 input#5,e,e$,e1,e2:ife<>0 then300
  36. 260 fori=0to4:input#6,f(i):nexti
  37. 270 input#6,ga:input#6,sa:input#6,lb:input#6,ro:input#6,ru:input#6,rl
  38. 280 input#6,co$:input#6,li$:input#6,re$
  39. 290 fori=0to255:get#6,p$:pokec2+i,asc(p$+" "):nexti
  40. 300 close6
  41. 310 x=0:y=0:z=0:r=0:z=0:i=0:s=0:ex=0:m=0:n=0:h=0:p=0:q=0
  42. 320 in$="":i$="":t$="":a$="":b$=""
  43. 330 l$="                    ":l$=l$+l$
  44. 340 h$=""
  45. 350 d$="            "
  46. 360 vm=224:l=38:l1=78:l2=39
  47. 370 dim ao$(5,5),o(5),w$(4,1),m(8,1),sp$(1),mo$(1),wi$(1),we$(5)  :x$=chr$(3)
  48. 380 sys in,40960,40960
  49. 390 sys fi,da,40960,0
  50. 400 sys fi,1024,1024+vm,0
  51. 410 sys fi,49152,50152,32:sys fi,55296,56296,0
  52. 420 forw=0to4:fori=0to1:readw$(w,i):nexti,w:fori=0to5:readwe$(i):nexti
  53. 430 sp$(0)="l":sp$(1)="r"
  54. 440 mo$(0)="m]ndlich":mo$(1)="schriftl"
  55. 450 an$(0)="n":an$(1)="j"
  56. 460 wi=0:lk=0:sp=0:mo=0
  57. 470 print chr$(14);chr$(8):poke650,128
  58. 480 poke648,192:poke56576,148:poke53272,11:poke53265,27
  59. 490 :
  60. 500 :
  61. 510 rem optionen
  62. 520 :
  63. 530 m$=" [210]and [211]chrift [200]intergrund [194]alken [195]ursor  [198]arbspeicherung"
  64. 540 m(0,0)= 0:m(0,1)= 6:m(1,0)= 5:m(1,1)=14:m(2,0)=13:m(2,1)=26
  65. 550 m(3,0)=25:m(3,1)=33:m(4,0)=32:m(4,1)=40:m(5,0)=80:m(5,1)=97 :mm=5
  66. 560 w=0:gosub5
  67. 570 p$=" [211]ystem-[214]  [214]3.1":gosub3
  68. 580 p$=" [195]opyright ([195])1990 [205]arkt&[212]echnik [214]erlag":gosub3
  69. 590 p$="":gosub3:fors=1to4
  70. 600 p$="               "+w$(s,1)+"            ":gosub3
  71. 610 nexts:w=1
  72. 620 :
  73. 630 poke646,f(4)
  74. 640 printleft$(h$,6+2*w)tab(13)"[146]  "w$(w,1)"  ";tab(53)"  "w$(w,1)"  [145][145]"
  75. 650 geti$:ifi$=""then650
  76. 660 poke646,f(2):printtab(13)"[146]  "w$(w,1)"  ";tab(53)"  "w$(w,1)"  [145][145]"
  77. 670 ifi$=x$ thengosub20:ifi$<>x$ then730
  78. 680 ifi$=""thenw=((w)and3)+1
  79. 690 ifi$="[145]"thenw=((w-2)and3)+1
  80. 700 ifi$=chr$(13)thenonwgoto860,1720,3110,4760
  81. 710 goto630
  82. 720 :
  83. 730 ifi$="r" thenp$="          [210]andfarbe":z=0
  84. 740 ifi$="s" thenp$="        [211]chiftfarbe":z=1
  85. 750 ifi$="h" thenp$="   [200]intergrundfarbe":z=2
  86. 760 ifi$="b" thenp$="        [194]alkenfarbe":z=3
  87. 770 ifi$="c" thenp$="        [195]ursorfarbe":z=4
  88. 780 ifi$="f" thengosub4790:goto560
  89. 790 gosub4
  90. 800 iy=11:ix=20:im=2:in$=str$(f(z)):gosub2850:if i$=x$ then530
  91. 810 f(z)=val(in$):goto560
  92. 820 :
  93. 830 :
  94. 840 rem lernen
  95. 850 :
  96. 860 ifex>0 then880
  97. 870 p$="     [203]ein [215]ortschatz im [211]peicher.":gosub4900:goto630
  98. 880 v%=0:r%=0:vr=0
  99. 890 m$=" [211]palte:"+sp$(sp)+" [205]odus:"+mo$(mo)+" [215]iederholung:"+an$(wi)
  100. 900 m$=m$+"  [204]eerzeichenkontrolle:"+an$(lk)+" [193]usgang":if v%>0 then return
  101. 910 m(0,0)= 0:m(0,1)=10:m(1,0)= 9:m(1,1)=25:m(2,0)=24:m(2,1)=40
  102. 920 m(3,0)=80:m(3,1)=104:m(4,0)=103:m(4,1)=112:mm=4:gosub5
  103. 930 p$="":printleft$(h$,14);:gosub3
  104. 940 ifvr=0thenvr=ex:sys fi,1024,1024+vm+2,0:ifv%>0and mo=1 then1470
  105. 950 sys fo,1024,int(rnd(1)*vr)
  106. 960 n=peek(251)+256*peek(252):poke n,1
  107. 970 n=n-1024:vr=vr-1:v%=v%+1
  108. 980 print"":p$=" [199]etestet:"+str$(v%-1)+"   [206]och zu testen:"+str$(vr+1):gosub3
  109. 990 print"";:p$=left$(l$,l):sys t2,va+n*l1+(1-sp)*l2:p$=" "+p$:gosub3
  110. 1000 p$=left$(l$,l):gosub3:print"[145][145]";
  111. 1010 sys t2,va+n*l1+sp*l2:b$=p$
  112. 1020 sys p2,n+1
  113. 1030 if mo=1 then 1120
  114. 1040 :
  115. 1050 geti$:ifi$=""then1050
  116. 1060 ifi$=x$ theng=1:goto1610
  117. 1070 p$=" "+b$:gosub3:r%=r%+1
  118. 1080 geti$:ifi$=""then1080
  119. 1090 ifi$=x$ theng=2:goto1610
  120. 1100 goto930
  121. 1110 :
  122. 1120 in$="[183]"+b$:i=1:aa=-1
  123. 1130 k$=mid$(in$,i,1):i=i+1:p$=""
  124. 1140 i$=mid$(in$,i,1):ifi$=" "andlk=0 then i=i+1:goto1140
  125. 1150 ifi$<>"[183]"andi$<>"[184]"andi$<>"" thenp$=p$+i$:i=i+1:goto1140
  126. 1160 ifk$="[183]"thenaa=aa+1:o(aa)=0:ao$(aa,o(aa))=p$:goto1130
  127. 1170 ifk$="[184]"theno(aa)=o(aa)+1:ao$(aa,o(aa))=p$:goto1130
  128. 1180 printleft$(h$,16);:p$=left$(" [183][183][183][183][183][183][183][183]",aa+1):gosub3
  129. 1190 :
  130. 1200 iy=5:ix=1:im=38:gosub2840:ifi$=x$ theng=3:goto1610
  131. 1210 ifleft$(in$,1)=" " then in$=right$(in$,len(in$)-1):goto1210
  132. 1220 ifright$(in$,1)=" " then in$=left$(in$,len(in$)-1):goto1220
  133. 1230 fora=0toaa:ok(a)=0:nexta
  134. 1240 in$="[183]"+in$:i=1
  135. 1250 k$=mid$(in$,i,1):i=i+1:p$=""
  136. 1260 i$=mid$(in$,i,1):ifi$=" "andlk=0 theni=i+1:goto1260
  137. 1270 ifi$<>"[183]"andi$<>"[184]"andi$<>""thenp$=p$+i$:i=i+1:goto1260
  138. 1280 ifk$<>"[183]"then1320
  139. 1290 fora=0toaa:foro=0too(a):ifao$(a,o)=p$ then ok(a)=1:a2=a
  140. 1300 nexto,a:ifok(a2)=0 then 1400
  141. 1310 goto1250
  142. 1320 ifk$<>"[184]"then1360
  143. 1330 ok=0:foro=0too(a2):ifao$(a2,o)=p$ then ok=1
  144. 1340 nexto:ifok=0 then 1400
  145. 1350 goto1250
  146. 1360 ok=1:fora=0toaa:ifok(a)=0 then ok=0
  147. 1370 nexta:if ok=0 then 1400
  148. 1380 r%=r%+1:goto930
  149. 1390 :
  150. 1400 print left$(h$,14);:poke646,f(4):p$=" "+b$:gosub3:poke646,f(2)
  151. 1410 p$="       [198]alsch. [194]itte vergleichen!":gosub4
  152. 1420 poke198,0
  153. 1430 geti$:ifi$=""then1430
  154. 1440 ifwi=1 thenpoke1024+n,0:vr=vr+1
  155. 1450 p$="":gosub4:goto930
  156. 1460 :
  157. 1470 print left$(h$,7);:poke646,f(4)
  158. 1480 a$="":p$=a$+left$(l$,30)+a$:gosub3
  159. 1490 p=int(r%/(v%-(v%=0))*100+.5)
  160. 1500 we=int((1-p/100)^.47712*5.999)
  161. 1510 p$=a$+"              richtig falsch  "+a$:gosub3
  162. 1520 p$=a$+"  [193]bsolut   :"+right$(l$+str$(r%),7)+right$(l$+str$(v%-r%),7)+"   "
  163. 1530 p$=p$+a$:gosub3
  164. 1540 p$=a$+"  [208]rozentual:"+right$(l$+str$(p),7)+right$(l$+str$(100-p),7)+"   "
  165. 1550 p$=p$+a$:gosub3
  166. 1560 p$=a$+"  [215]ertung   : "+we$(we)+"    "+a$:gosub3
  167. 1570 p$=a$+left$(l$,30)+a$:gosub3
  168. 1580 geti$:ifi$=""then1580
  169. 1590 poke646,f(2):goto880
  170. 1600 :
  171. 1610 gosub20
  172. 1620 ifi$="w" thenwi=1-wi:gosub890:gosub8
  173. 1630 ifi$="l" thenlk=1-lk:gosub890:gosub8
  174. 1640 ifi$="s" thensp=1-sp:goto880
  175. 1650 ifi$="m" thenmo=1-mo:goto880
  176. 1660 ifi$="a" then530
  177. 1670 on g goto 1050,1080,1200
  178. 1680 :
  179. 1690 :
  180. 1700 rem eingeben
  181. 1710 :
  182. 1720 m$=" [198]eldl\schen [218]eilenl\schen [197]inf]gen      [211]peicherl\schen [199]ehezu [193]usgang"
  183. 1730 m(0,0)=0 :m(0,1)=13:m(1,0)=12:m(1,1)=27:m(2,0)=26:m(2,1)=36
  184. 1740 m(3,0)=80:m(3,1)=97:m(4,0)=96:m(4,1)=104:m(5,0)=103:m(5,1)=112 :mm=5
  185. 1750 gosub5
  186. 1760 h=0:x=0:y=0:r=0:t=1:s=1
  187. 1770 gosub8:print"":p$=left$(l$,l):fori=htoh+7
  188. 1780 sys t2,va+i*l1:i$=p$
  189. 1790 sys t2,va+i*l1+l2
  190. 1800 print"[146] "mid$(i$+l$,1,18)"[182][181]"mid$(p$+l$,1,18)" ";
  191. 1810 print" "mid$(i$+l$,1,18)"[182][181]"mid$(p$+l$,1,18)" ";
  192. 1820 nexti
  193. 1830 printleft$(h$,2*y+2);
  194. 1840 z=h+y:sys t2,va+z*l1+r*l2:sys p2,z+1:goto1880
  195. 1850 a$=mid$(p$,x+1,1):ifa$=","ora$="[161]"ora$="[162]"ora$="[163]"thengosub2190
  196. 1860 p$=left$(p$,x)+i$+right$(p$,len(p$)-1-x)
  197. 1870 ifi<160ori>163 thenx=x+1:s=s-(s<x-16)
  198. 1880 print"[146]"tab(t)mid$(p$+l$,s,18);""tab(t+40)mid$(p$+l$,s,18)"[145][145]"
  199. 1890 a=55338+80*y+20*r+x-s:pokea,f(4):pokea+40,f(4)
  200. 1900 geti$:ifi$=""then1900
  201. 1910 pokea,f(2):pokea+40,f(2)
  202. 1920 ifi$=x$ thengosub20:ifi$<>x$ then2340
  203. 1930 i=peek(ct+asc(i$)):i$=chr$(i):pokea,f(2):pokea+40,f(2)
  204. 1940 ifi>31and(i<127ori>159)andx<l then1850
  205. 1950 ifi=17thenifh+y<vm-1thensys t1,va+z*l1+r*l2:goto2100
  206. 1960 ifi=145thenifh+y>0thensys t1,va+z*l1+r*l2:goto2140
  207. 1970 ifi=29andx<l thenx=x+1:s=s-(s<x-16):goto1880
  208. 1980 ifi=157andx>0thenx=x-1:s=s+(s>x+1):goto1880
  209. 1990 ifi=20andx>0 thenx=x-1:s=s+(s>x+1):p$=left$(p$,x)+right$(p$,l-x-1)+" "
  210. 2000 ifi=148andx<l thenp$=left$(p$,x)+" "+mid$(p$,x+1,l-x-1)
  211. 2010 ifi=13thensys t1,va+z*l1+r*l2:goto2050
  212. 2020 goto1880
  213. 2030 :
  214. 2040 :
  215. 2050 printtab(t)left$(p$+l$,18);tab(t+40)""left$(p$+l$,18)"[145][145]"
  216. 2060 x=0:s=1:r=1-r:t=22-t:ifr=1orz=vm-1thenp$=left$(l$,l):sys t2,va+z*l1+r*l2
  217. 2070 ifr=1orz=vm-1 then1880
  218. 2080 goto2110
  219. 2090 :
  220. 2100 i$=left$(p$+l$,18):printtab(t)i$;tab(t+40)""i$"[145][145]"
  221. 2110 x=x-s+1:s=1:y=y+1:ify<8thenprint"":goto1840
  222. 2120 y=7-6:h=h+1+6:goto1770
  223. 2130 :
  224. 2140 i$=left$(p$+l$,18):printtab(t)i$;tab(t+40)""i$"[145][145]"
  225. 2150 x=x-s+1:s=1:y=y-1:ify>-1thenprint"[145][145][145]":goto1840
  226. 2160 y=0+6:h=h-1-6:goto1770
  227. 2170 :
  228. 2180 :
  229. 2190 ifa$="[161]"andi$="e"theni$="[164]":return
  230. 2200 ifa$="[161]"andi$="[162]"theni$="[163]":return
  231. 2210 ifa$="[162]"andi$="a"theni$="[165]":return
  232. 2220 ifa$="[162]"andi$="e"theni$="[166]":return
  233. 2230 ifa$="[162]"andi$="u"theni$="[167]":return
  234. 2240 ifa$="[162]"andi$="[161]"theni$="[163]":return
  235. 2250 ifa$="[163]"andi$="a"theni$="[168]":return
  236. 2260 ifa$="[163]"andi$="e"theni$="[169]":return
  237. 2270 ifa$="[163]"andi$="i"theni$="[170]":return
  238. 2280 ifa$="[163]"andi$="o"theni$="[171]":return
  239. 2290 ifa$="[163]"andi$="u"theni$="[172]":return
  240. 2300 ifa$=","andi$="c"theni$="[177]":return
  241. 2310 ifa$=","andi$="[195]"theni$="[179]":return
  242. 2320 return
  243. 2330 :
  244. 2340 sys t1,va+z*l1+r*l2
  245. 2350 ifi$="f" then2430
  246. 2360 ifi$="z" then2450
  247. 2370 ifi$="e" then2560
  248. 2380 ifi$="s" then2700
  249. 2390 ifi$="g" then2750
  250. 2400 ifi$="a" then2800
  251. 2410 goto1890
  252. 2420 :
  253. 2430 p$=left$(l$,l):x=0:s=1:goto1880
  254. 2440 :
  255. 2450 p$=" [204]\schen  [193]b [218]eile:    [193]nzahl:":gosub4
  256. 2460 in$=str$(z+1):iy=11:ix=19:im=3:gosub2850
  257. 2470 p=val(in$):if i$=x$ or p<1 or p>vm then2670
  258. 2480 in$="1":ix=30:gosub2860:ifi$=x$ then2670
  259. 2490 q=val(in$):ifq<1orp+q>vm+1 then2670
  260. 2500 p$=left$(l$,l):forz=p-1tovm-1
  261. 2510 sys t2,va+(z+q)*l1:sys t1,va+z*l1
  262. 2520 sys t2,va+(z+q)*l1+l2:sys t1,va+z*l1+l2
  263. 2530 nextz:p$=""
  264. 2540 forz=vm-qtovm-1:syst1,va+z*l1:syst1,va+z*l1+l2:nextz:goto1770
  265. 2550 :
  266. 2560 p$=" [197]inf]gen  [193]b [218]eile:    [193]nzahl:":gosub4
  267. 2570 in$=str$(z+1):iy=11:ix=20:im=3:gosub2850
  268. 2580 p=val(in$):if i$=x$ or p<1 or p>vm then2670
  269. 2590 in$="1":ix=31:gosub2860:ifi$=x$ then2670
  270. 2600 q=val(in$):ifq<1orp+q>vm+1 then2670
  271. 2610 p$=left$(l$,l):forz=vm-q-1top-1step-1
  272. 2620 sys t2,va+z*l1:sys t1,va+(z+q)*l1
  273. 2630 sys t2,va+z*l1+l2:sys t1,va+(z+q)*l1+l2
  274. 2640 nextz:p$=""
  275. 2650 forz=p-1top-1+q-1:sys t1,va+z*l1:sys t1,va+z*l1+l2:nextz:goto1770
  276. 2660 :
  277. 2670 if i$<>x$ then p$="             [206]icht m\glich!":gosub4900
  278. 2680 goto1770
  279. 2690 :
  280. 2700 gosub4940:ifi<>13 then1890
  281. 2710 p$="           [204]\sche [211]peicher...":gosub4
  282. 2720 p$="":forz=0tovm-1:sys t1,va+z*l1:sys t1,va+z*l1+l2:sys p2,z+1:nextz
  283. 2730 d$="            ":ex=0:goto1750
  284. 2740 :
  285. 2750 p$=" [199]ehe zu [218]eile:":gosub4
  286. 2760 in$=str$(z+1):iy=11:ix=15:im=3:gosub2850
  287. 2770 p=val(in$):if i$=x$ or p<1 or p>vm then2670
  288. 2780 p=p-1:h=int(p/7)*7:y=p-h:p$="":gosub4:goto1770
  289. 2790 :
  290. 2800 print h$;:p$="          [211]uche [204]eerfeld...":gosub4 : ex=0
  291. 2810 ifpeek(va+ex*l1)<>0 thenex=ex+1:sys p1,ex:goto2810
  292. 2820 goto530
  293. 2830 :
  294. 2840 in$=""
  295. 2850 ifleft$(in$,1)=" " thenin$=right$(in$,len(in$)-1)
  296. 2860 ip=0:goto2910
  297. 2870 ifip>=len(in$)thenin$=in$+left$(l$,ip-len(in$))+i$:goto2900
  298. 2880 a$=mid$(in$,ip+1,1):ifa$=","ora$="[161]"ora$="[162]"ora$="[163]"thengosub2190
  299. 2890 in$=left$(in$,ip)+i$+right$(in$,len(in$)-1-ip)
  300. 2900 ifi<160ori>163 thenip=ip+1
  301. 2910 p$=mid$(in$+l$,1,im)
  302. 2920 printleft$(h$,2*iy+2)tab(ix)"[146]"p$;tab(40+ix)""p$"[145][145]"
  303. 2930 a=55336+80*iy+ix+ip:pokea,f(4):pokea+40,f(4)
  304. 2940 geti$:ifi$=""then2940
  305. 2950 pokea,peek(646):pokea+40,peek(646)
  306. 2960 i=peek(ct+asc(i$)):i$=chr$(i)
  307. 2970 ifi>31and(i<127ori>159)andip<im then2870
  308. 2980 ifi=29andip<imthenip=ip+1:goto2910
  309. 2990 ifi=157andip>0thenip=ip-1:goto2910
  310. 3000 ifi=20andip>0andip=<len(in$)andlen(in$)>0 then3050
  311. 3010 ifi=148andip<len(in$) then3060
  312. 3020 ifi=147thenin$="":ip=0:goto2910
  313. 3030 ifi=13 ori$=x$ thenreturn
  314. 3040 goto2930
  315. 3050 in$=left$(in$,ip-1)+mid$(in$,ip+1,len(in$)-ip):ip=ip-1:goto2910
  316. 3060 in$=left$(in$,ip)+" "+mid$(in$,ip+1,len(in$)-ip+(len(in$)=im)):goto2910
  317. 3070 :
  318. 3080 :
  319. 3090 rem uebertragen
  320. 3100 :
  321. 3110 dd=0:h=0:y=0
  322. 3120 m$=" [211]peichern [204]aden [201]nhaltsverzeichnis      [198]loppybefehl [196]rucken [193]usgang"
  323. 3130 m(0,0)= 0:m(0,1)=11:m(1,0)=10:m(1,1)=17:m(2,0)=16:m(2,1)=36
  324. 3140 m(3,0)=80:m(3,1)=94:m(4,0)=93:m(4,1)=102:m(5,0)=101:m(5,1)=110 :mm=5
  325. 3150 gosub5
  326. 3160 print"":ifdd=0thenin$="":goto3260
  327. 3170 ford=0to7:p$=left$(l$,16):a=da+17*(h+d):sys t2,a:p$=left$(p$,peek(a))
  328. 3180 ifh+d<dd thenp$="           "+chr$(34)+p$+chr$(34):gosub3
  329. 3190 ifh+d>=dd thenp$="":gosub3
  330. 3200 nextd:goto3220
  331. 3210 gosub6
  332. 3220 ifdd=0 then3260
  333. 3230 sys p2,h+y+1:p$=left$(l$,16):a=da+17*(h+y):sys t2,a:in$=left$(p$,peek(a))
  334. 3240 printleft$(h$,2+2*y);:p$=chr$(34)+in$+chr$(34)
  335. 3250 poke646,f(4):printtab(11)"[146]"p$;tab(51)""p$"[145][145]"
  336. 3260 geti$:ifi$=""then3260
  337. 3270 i=asc(i$):ifi$=x$ thengosub20:ifi$<>x$ then3360
  338. 3280 ifdd=0 then3220
  339. 3290 poke646,f(2):printtab(11)"[146]"p$;tab(51)""p$"[145][145]"
  340. 3300 ifi$<>""orh+y+1=ddthen3330
  341. 3310 y=y+1:ify<8 then3220
  342. 3320 y=7-6:h=h+1+6:goto3160
  343. 3330 ifi$<>"[145]"orh+y=0then3220
  344. 3340 y=y-1:ify>-1 then3220
  345. 3350 y=0+6:h=h-1-6:goto3160
  346. 3360 ifi$="s" and ex>0 then3670
  347. 3370 ifi$="l" then3490
  348. 3380 ifi$="i" then3800
  349. 3390 ifi$="f" then3430
  350. 3400 ifi$="d" then3840
  351. 3410 ifi$="a" then530
  352. 3420 goto3220
  353. 3430 p$="":gosub4
  354. 3440 iy=11:ix=1:im=38:gosub2840:ifi$=x$ or in$="" then3220
  355. 3450 print#5,"i":gosub4880:ife<>0 then3210
  356. 3460 print#5,(in$):gosub4880:ife<>0 then3210
  357. 3470 goto3210
  358. 3480 :
  359. 3490 iy=8:ix=3:im=12:in$=left$(in$,12):poke646,f(3):gosub2860:poke646,f(2)
  360. 3500 ifi$=x$orin$="" then3210
  361. 3510 in$=left$(in$+l$,12)
  362. 3520 p$="        [204]aden oder [196]azuladen?":gosub4
  363. 3530 geti$:ifi$<>"l"andi$<>"d" andi$<>x$ then3530
  364. 3540 ifi$=x$ then3210
  365. 3550 ifi$="l" then ex=0
  366. 3560 print#5,"i"
  367. 3570 open6,8,2,(in$+".*,s,r"):get#6,i$
  368. 3580 : gosub4880:ife<>0 then3210
  369. 3590 input#6,a$:av=val(a$):i=ex
  370. 3600 ifi-ex<avandi<vm theninput#6,p$:syst1,va+i*l1:input#6,p$:syst1,va+i*l1+l2
  371. 3610 ifi-ex<avandi<vm theni=i+1:sysp1,i:goto3600
  372. 3620 close6:ex=i:d$=in$
  373. 3630 ifi<vm thenp$="         [204]\sche [210]estspeicher...":gosub4
  374. 3640 ifi<vm thenp$="":forz=itovm-1:syst1,va+z*l1:syst1,va+z*l1+l2:sysp2,z+1:nextz
  375. 3650 goto3210
  376. 3660 :
  377. 3670 iy=8:ix=3:im=12:in$=d$:poke646,f(3):gosub2860:poke646,f(2)
  378. 3680 ifi$=x$ or in$="" then3210
  379. 3690 d$=left$(in$+l$,12)
  380. 3700 print#5,"i":print#5,("s0:"+left$(d$,12)+"*")
  381. 3710 open6,8,2,(d$+"."+right$(" "+str$(ex),3)+",s,w")
  382. 3720 : gosub4880:ife<>0 then3210
  383. 3730 print#6,(str$(ex)):i=0
  384. 3740 b$=chr$(34):p$=left$(l$,l)
  385. 3750 sys t2,va+i*l1:print#6,(b$+left$(p$,peek(va+i*l1))+b$)
  386. 3760 sys t2,va+i*l1+l2:print#6,(b$+left$(p$,peek(va+i*l1+l2))+b$)
  387. 3770 i=i+1:sys p2,i:ifi<ex then3750
  388. 3780 close6:goto3210
  389. 3790 :
  390. 3800 print#5,"i":gosub4880:ife<>0 then3110
  391. 3810 sys di,da
  392. 3820 dd=peek(828):h=0:y=0:goto3150
  393. 3830 :
  394. 3840 poke53280,f(0):poke646,f(2):poke53281,f(1):print"[147]":sys fi,55296,56296,f(2)
  395. 3850 p$=" [196]ruckercodes [ndern od. [210]eturn dr]cken":gosub3:p$="":gosub3
  396. 3860 print"";:p$="  [218]eichen(code):    [196]ruckercode:":gosub3
  397. 3870 ix=16:iy=1:im=3:gosub2840:ifi$=x$ then3150
  398. 3880 ifin$="" then3930
  399. 3890 iflen(in$)>1 thenp=val(in$):ifp<0 orp>255 then3860
  400. 3900 iflen(in$)=1 thenp=asc(in$)
  401. 3910 in$=str$(peek(c2+p)):ix=32:iy=1:im=3:gosub2850:ifi$=x$then3150
  402. 3920 pokec2+p,val(in$):goto3860
  403. 3930 printleft$(h$,6);:p$=" [196]ruckercodes zur [211]chrifteinstellung:":gosub3
  404. 3940 p$="  [201]nit    :":gosub3
  405. 3950 ix=11:iy=3:im=28:in$=co$:gosub2860:ifi$=x$ then3150
  406. 3960 co$=in$:a=c2+256:gosub4310:ifok=0 then3950
  407. 3970 printleft$(h$,10);:p$="  [211]palte 1:":gosub3
  408. 3980 iy=4:in$=li$:gosub2860:ifi$=x$ then3150
  409. 3990 li$=in$:a=c2+256+21:gosub4310:ifok=0 then3980
  410. 4000 printleft$(h$,12);:p$="  [211]palte 2:":gosub3
  411. 4010 iy=5:in$=re$:gosub2860:ifi$=x$ then3150
  412. 4020 re$=in$:a=c2+256+42:gosub4310:ifok=0 then4010
  413. 4030 :
  414. 4040 printleft$(h$,14);:p$=" [194]lattbegrenzungen in [218]eichen/[218]eilen:":gosub3
  415. 4050 p$="  [194]lattl[nge   :     [204]inker [210]and  :":gosub3
  416. 4060 ix=16:iy=7:im=3:in$=str$(lb):gosub2850:ifi$=x$ then3150
  417. 4070 lb=val(in$):iflb<1 then4060
  418. 4080 ix=35:in$=str$(rl):gosub2850:ifi$=x$ then3150
  419. 4090 rl=val(in$):ifrl<0orrl>121 then4080
  420. 4100 printleft$(h$,18);:p$="  [207]berer [210]and  :     [213]nterer [210]and :":gosub3
  421. 4110 ix=16:iy=8:in$=str$(ro):gosub2850:ifi$=x$ then3150
  422. 4120 ro=val(in$):ifro<0or1+ro>lb then4110
  423. 4130 ix=35:iy=8:in$=str$(ru):gosub2850:ifi$=x$ then3150
  424. 4140 ru=val(in$):ifru<0or1+ro+ru>lb then4130
  425. 4150 printleft$(h$,20);:p$=" [196]rucker:":gosub3
  426. 4160 p$="  [199]er[teadresse:     [211]ekund[radr. :":gosub3
  427. 4170 ix=16:iy=10:in$=str$(ga):gosub2850:ifi$=x$ then3150
  428. 4180 ga=val(in$):ifga<0orga>15 then4170
  429. 4190 ix=35:in$=str$(sa):gosub2850:ifi$=x$ then3150
  430. 4200 sa=val(in$):ifsa<0orsa>255 then4190
  431. 4210 p$="        [208]arameter speichern?":gosub4
  432. 4220 ix=29:iy=11:im=1:gosub2840:ifi$=x$ then3150
  433. 4230 ifin$="j" thengosub4790:ife<>0 then4210
  434. 4240 p$="          [210]eturn zum [196]rucken":gosub4
  435. 4250 geti$:ifi$<>chr$(13)andi$<>x$ then4250
  436. 4260 e=0:p=peek(768):ifi$=x$ then3150
  437. 4270 print"":open7,ga,sa:poke768,185:print#7,"";:close7:poke768,p
  438. 4280 ifst=-128 thenp$="         [196]rucker nicht aktiv!":gosub4:gosub4900:goto4240
  439. 4290 e=e+1:on e goto4270,4270,4400
  440. 4300 :
  441. 4310 ifright$(in$,1)=" " thenin$=left$(in$,len(in$)-1):goto4310
  442. 4320 a$=in$+",":i=1:p=1:q=0
  443. 4330 ifmid$(a$,i,1)<>","ori=p then4370
  444. 4340 x=val(mid$(a$,p,i-p)):p=i+1:q=q+1
  445. 4350 ifx<0orx>255 thenok=0:return
  446. 4360 poke a+q,x
  447. 4370 ifi<len(a$) theni=i+1:goto4330
  448. 4380 poke a,q:ok=1:return
  449. 4390 :
  450. 4400 open 7,ga,sa
  451. 4410 z=0:i=0
  452. 4420 ifi<peek(c2+256) theni=i+1:print#7,chr$(peek(c2+256+i));:goto4420
  453. 4430 a$=d$:b$="":gosub4620
  454. 4440 a$="":b$="":gosub4620
  455. 4450 p=0
  456. 4460 p$=left$(l$,l):a2$="":b2$=""
  457. 4470 sys t2,va+p*l1:a$=left$(p$,29)
  458. 4480 i=30:if peek(va+p*l1)<30 then4510
  459. 4490 i=i-1:ifmid$(p$,i,1)<>"[183]"andmid$(p$,i,1)<>"[184]"andmid$(p$,i,1)<>" "andi>10then4490
  460. 4500 a$=left$(p$,i):a2$=" "+mid$(p$,i+1,28)
  461. 4510 sys t2,va+p*l1+l2:b$=left$(p$,29)
  462. 4520 i=30:if peek(va+p*l1+l2)<30 then4550
  463. 4530 i=i-1:ifmid$(p$,i,1)<>"[183]"andmid$(p$,i,1)<>"[184]"andmid$(p$,i,1)<>" "andi>10then4530
  464. 4540 b$=left$(p$,i):b2$=" "+mid$(p$,i+1,28)
  465. 4550 gosub4620
  466. 4560 ifa2$<>""orb2$<>"" thena$=a2$:b$=b2$:gosub4620
  467. 4570 geti$:ifi$=x$ then4600
  468. 4580 p=p+1:ifp<ex then4460
  469. 4590 ifz<lb thenz=z+1:print#7,chr$(peek(c2+32)):goto4590
  470. 4600 close7:goto3150
  471. 4610 :
  472. 4620 ifz<ro thenz=z+1:print#7,chr$(peek(c2+32)):goto4620
  473. 4630 ifz>=lb-ru and z<lb thenz=z+1:print#7,chr$(peek(c2+32)):goto4630
  474. 4640 ifz=lb thenz=0:goto4620
  475. 4650 z=z+1:i=0
  476. 4660 ifi<peek(c2+277) theni=i+1:print#7,chr$(peek(c2+277+i));:goto4660
  477. 4670 p$=left$(l$,rl)+left$(a$+l$,29):sys ko:print#7,p$;
  478. 4680 i=0
  479. 4690 ifi<peek(c2+298) theni=i+1:print#7,chr$(peek(c2+298+i));:goto4690
  480. 4700 p$="  "+left$(b$+l$,29):sys ko:print#7,p$
  481. 4710 return
  482. 4720 :
  483. 4730 :
  484. 4740 rem exit
  485. 4750 :
  486. 4760 gosub4940:ifi<>13 then630
  487. 4770 sys64738
  488. 4780 :
  489. 4790 print#5,"i":print#5,"s0:status"
  490. 4800 open6,8,2,"status,s,w"
  491. 4810 gosub4880:if e<>0 thenreturn
  492. 4820 fori=0to4:print#6,f(i):nexti
  493. 4830 print#6,ga:print#6,sa:print#6,lb:print#6,ro:print#6,ru:print#6,rl
  494. 4840 b$=chr$(34):print#6,b$+co$+b$:print#6,b$+li$+b$:print#6,b$+re$+b$
  495. 4850 fori=0to255:print#6,chr$(peek(c2+i));:nexti
  496. 4860 close6:return
  497. 4870 :
  498. 4880 input#5,e,e$,e1,e2:ife=0 thenreturn
  499. 4890 close6:p$=" [190][191]"+str$(e)+" "+e$+";"+str$(e1)+str$(e2)
  500. 4900 gosub4:i=180:poke198,0
  501. 4910 ifpeek(198)=0andi>0 theni=i-1:goto4910
  502. 4920 p$="":gosub4:return
  503. 4930 :
  504. 4940 pp$=p$:x1=peek(211):y1=peek(214):poke646,f(2)
  505. 4950 p$="        [205]it [210]eturn best[tigen!"
  506. 4960 gosub4900
  507. 4970 get i$:i=asc(i$+" ")
  508. 4980 poke211,x1:poke214,y1:sys58640:p$=pp$:return
  509. 4990 :
  510. 5000 open1,8,15,"s0:program":close1
  511. 5010 save"program",8:verify"program",8
  512. 5020 :
  513. 5030 data"[207]ptionen  ",
  514. 5040 data"[204]ernen    ","  [204]ernen  "
  515. 5050 data"[197]ingeben  "," [197]ingeben "
  516. 5060 data"[221]bertragen","[221]bertragen"
  517. 5070 data"[197]xit      ","   [197]xit   "
  518. 5080 :
  519. 5090 data"sehr gut    "
  520. 5100 data"gut         "
  521. 5110 data"befriedigend"
  522. 5120 data"ausreichend "
  523. 5130 data"mangelhaft  "
  524. 5140 data"ungen]gend  "
  525.