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 >
Wrap
Commodore BASIC
|
2022-10-26
|
16KB
|
525 lines
0 rem system-v v3.1 von ingolf lange
1 rem (c)1990 markt&technik verlag
2 goto170
3 print"[146]";p$;left$(l$,40-len(p$));"";p$;left$(l$,40-len(p$));:return
4 printh$;"[146]";p$;left$(l$,40-len(p$));"";p$;left$(l$,39-len(p$))"[145][145]";:return
5 poke53280,f(0):poke646,f(2):poke53281,f(1):print"[147]";:sys fi,55296,56296,f(2)
6 print"[146]";:poke646,f(3):p$=" [196]:"+d$+"."+right$(" "+str$(ex),3)
7 p$=p$+" "+w$(w,0)+" . 0":gosub3:poke646,f(2)
8 print left$(h$,20);:p$=left$(m$,40):gosub3:p$=mid$(m$,41,40):gosub3
9 p$=" [211]top-[212]aste zum [193]nw[hlen der [194]efehle":gosub4:print"":return
10 :
20 pp$=p$:m=0:x1=peek(211):y1=peek(214):poke646,f(2)
30 p$=" [195]ursor+[210]eturn oder [194]uchstaben":gosub4
40 sys fi,56056,56296,f(2)
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)
60 geti$:ifi$=""then60
70 if(i$=""ori$=" ")andm<mm thenm=m+1:goto40
80 if(i$="[157]"ori$="[160]")andm>0 thenm=m-1:goto40
90 if i$=chr$(13) then i$=chr$(peek(49913+m(m,0))):goto140
100 ifi$=x$ then140
110 ifasc(i$)<65orasc(i$)>95 then60
120 a$=chr$(128+asc(i$)):fori=1tolen(m$):ifmid$(m$,i,1)=a$ then140
130 nexti:goto60
140 sys fi,56056,56296,f(2):p$="":gosub4:p$=pp$:poke211,x1:poke214,y1:sys58640
150 return
160 :
170 poke788,52:poke55,209:poke56,81:clr
180 da=20945:va=23410:in=50176:fi=50368:p1=50432:p2=p1+5:fo=50624:di=50704
190 t1=50848:t2=50934:ko=51024:ct=51200:c2=51456:v=53248
200 open5,8,15
210 ga=4:sa=7:fori=0to255:pokec2+i,i:nexti
220 lb=72:ro=5:ru=5:rl=10
230 f(0)=0:f(1)=13:f(2)=0:f(3)=5:f(4)=2
240 open6,8,2,"status,s,r"
250 input#5,e,e$,e1,e2:ife<>0 then300
260 fori=0to4:input#6,f(i):nexti
270 input#6,ga:input#6,sa:input#6,lb:input#6,ro:input#6,ru:input#6,rl
280 input#6,co$:input#6,li$:input#6,re$
290 fori=0to255:get#6,p$:pokec2+i,asc(p$+" "):nexti
300 close6
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
320 in$="":i$="":t$="":a$="":b$=""
330 l$=" ":l$=l$+l$
340 h$=""
350 d$=" "
360 vm=224:l=38:l1=78:l2=39
370 dim ao$(5,5),o(5),w$(4,1),m(8,1),sp$(1),mo$(1),wi$(1),we$(5) :x$=chr$(3)
380 sys in,40960,40960
390 sys fi,da,40960,0
400 sys fi,1024,1024+vm,0
410 sys fi,49152,50152,32:sys fi,55296,56296,0
420 forw=0to4:fori=0to1:readw$(w,i):nexti,w:fori=0to5:readwe$(i):nexti
430 sp$(0)="l":sp$(1)="r"
440 mo$(0)="m]ndlich":mo$(1)="schriftl"
450 an$(0)="n":an$(1)="j"
460 wi=0:lk=0:sp=0:mo=0
470 print chr$(14);chr$(8):poke650,128
480 poke648,192:poke56576,148:poke53272,11:poke53265,27
490 :
500 :
510 rem optionen
520 :
530 m$=" [210]and [211]chrift [200]intergrund [194]alken [195]ursor [198]arbspeicherung"
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
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
560 w=0:gosub5
570 p$=" [211]ystem-[214] [214]3.1":gosub3
580 p$=" [195]opyright ([195])1990 [205]arkt&[212]echnik [214]erlag":gosub3
590 p$="":gosub3:fors=1to4
600 p$=" "+w$(s,1)+" ":gosub3
610 nexts:w=1
620 :
630 poke646,f(4)
640 printleft$(h$,6+2*w)tab(13)"[146] "w$(w,1)" ";tab(53)" "w$(w,1)" [145][145]"
650 geti$:ifi$=""then650
660 poke646,f(2):printtab(13)"[146] "w$(w,1)" ";tab(53)" "w$(w,1)" [145][145]"
670 ifi$=x$ thengosub20:ifi$<>x$ then730
680 ifi$=""thenw=((w)and3)+1
690 ifi$="[145]"thenw=((w-2)and3)+1
700 ifi$=chr$(13)thenonwgoto860,1720,3110,4760
710 goto630
720 :
730 ifi$="r" thenp$=" [210]andfarbe":z=0
740 ifi$="s" thenp$=" [211]chiftfarbe":z=1
750 ifi$="h" thenp$=" [200]intergrundfarbe":z=2
760 ifi$="b" thenp$=" [194]alkenfarbe":z=3
770 ifi$="c" thenp$=" [195]ursorfarbe":z=4
780 ifi$="f" thengosub4790:goto560
790 gosub4
800 iy=11:ix=20:im=2:in$=str$(f(z)):gosub2850:if i$=x$ then530
810 f(z)=val(in$):goto560
820 :
830 :
840 rem lernen
850 :
860 ifex>0 then880
870 p$=" [203]ein [215]ortschatz im [211]peicher.":gosub4900:goto630
880 v%=0:r%=0:vr=0
890 m$=" [211]palte:"+sp$(sp)+" [205]odus:"+mo$(mo)+" [215]iederholung:"+an$(wi)
900 m$=m$+" [204]eerzeichenkontrolle:"+an$(lk)+" [193]usgang":if v%>0 then return
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
920 m(3,0)=80:m(3,1)=104:m(4,0)=103:m(4,1)=112:mm=4:gosub5
930 p$="":printleft$(h$,14);:gosub3
940 ifvr=0thenvr=ex:sys fi,1024,1024+vm+2,0:ifv%>0and mo=1 then1470
950 sys fo,1024,int(rnd(1)*vr)
960 n=peek(251)+256*peek(252):poke n,1
970 n=n-1024:vr=vr-1:v%=v%+1
980 print"":p$=" [199]etestet:"+str$(v%-1)+" [206]och zu testen:"+str$(vr+1):gosub3
990 print"";:p$=left$(l$,l):sys t2,va+n*l1+(1-sp)*l2:p$=" "+p$:gosub3
1000 p$=left$(l$,l):gosub3:print"[145][145]";
1010 sys t2,va+n*l1+sp*l2:b$=p$
1020 sys p2,n+1
1030 if mo=1 then 1120
1040 :
1050 geti$:ifi$=""then1050
1060 ifi$=x$ theng=1:goto1610
1070 p$=" "+b$:gosub3:r%=r%+1
1080 geti$:ifi$=""then1080
1090 ifi$=x$ theng=2:goto1610
1100 goto930
1110 :
1120 in$="[183]"+b$:i=1:aa=-1
1130 k$=mid$(in$,i,1):i=i+1:p$=""
1140 i$=mid$(in$,i,1):ifi$=" "andlk=0 then i=i+1:goto1140
1150 ifi$<>"[183]"andi$<>"[184]"andi$<>"" thenp$=p$+i$:i=i+1:goto1140
1160 ifk$="[183]"thenaa=aa+1:o(aa)=0:ao$(aa,o(aa))=p$:goto1130
1170 ifk$="[184]"theno(aa)=o(aa)+1:ao$(aa,o(aa))=p$:goto1130
1180 printleft$(h$,16);:p$=left$(" [183][183][183][183][183][183][183][183]",aa+1):gosub3
1190 :
1200 iy=5:ix=1:im=38:gosub2840:ifi$=x$ theng=3:goto1610
1210 ifleft$(in$,1)=" " then in$=right$(in$,len(in$)-1):goto1210
1220 ifright$(in$,1)=" " then in$=left$(in$,len(in$)-1):goto1220
1230 fora=0toaa:ok(a)=0:nexta
1240 in$="[183]"+in$:i=1
1250 k$=mid$(in$,i,1):i=i+1:p$=""
1260 i$=mid$(in$,i,1):ifi$=" "andlk=0 theni=i+1:goto1260
1270 ifi$<>"[183]"andi$<>"[184]"andi$<>""thenp$=p$+i$:i=i+1:goto1260
1280 ifk$<>"[183]"then1320
1290 fora=0toaa:foro=0too(a):ifao$(a,o)=p$ then ok(a)=1:a2=a
1300 nexto,a:ifok(a2)=0 then 1400
1310 goto1250
1320 ifk$<>"[184]"then1360
1330 ok=0:foro=0too(a2):ifao$(a2,o)=p$ then ok=1
1340 nexto:ifok=0 then 1400
1350 goto1250
1360 ok=1:fora=0toaa:ifok(a)=0 then ok=0
1370 nexta:if ok=0 then 1400
1380 r%=r%+1:goto930
1390 :
1400 print left$(h$,14);:poke646,f(4):p$=" "+b$:gosub3:poke646,f(2)
1410 p$=" [198]alsch. [194]itte vergleichen!":gosub4
1420 poke198,0
1430 geti$:ifi$=""then1430
1440 ifwi=1 thenpoke1024+n,0:vr=vr+1
1450 p$="":gosub4:goto930
1460 :
1470 print left$(h$,7);:poke646,f(4)
1480 a$="":p$=a$+left$(l$,30)+a$:gosub3
1490 p=int(r%/(v%-(v%=0))*100+.5)
1500 we=int((1-p/100)^.47712*5.999)
1510 p$=a$+" richtig falsch "+a$:gosub3
1520 p$=a$+" [193]bsolut :"+right$(l$+str$(r%),7)+right$(l$+str$(v%-r%),7)+" "
1530 p$=p$+a$:gosub3
1540 p$=a$+" [208]rozentual:"+right$(l$+str$(p),7)+right$(l$+str$(100-p),7)+" "
1550 p$=p$+a$:gosub3
1560 p$=a$+" [215]ertung : "+we$(we)+" "+a$:gosub3
1570 p$=a$+left$(l$,30)+a$:gosub3
1580 geti$:ifi$=""then1580
1590 poke646,f(2):goto880
1600 :
1610 gosub20
1620 ifi$="w" thenwi=1-wi:gosub890:gosub8
1630 ifi$="l" thenlk=1-lk:gosub890:gosub8
1640 ifi$="s" thensp=1-sp:goto880
1650 ifi$="m" thenmo=1-mo:goto880
1660 ifi$="a" then530
1670 on g goto 1050,1080,1200
1680 :
1690 :
1700 rem eingeben
1710 :
1720 m$=" [198]eldl\schen [218]eilenl\schen [197]inf]gen [211]peicherl\schen [199]ehezu [193]usgang"
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
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
1750 gosub5
1760 h=0:x=0:y=0:r=0:t=1:s=1
1770 gosub8:print"":p$=left$(l$,l):fori=htoh+7
1780 sys t2,va+i*l1:i$=p$
1790 sys t2,va+i*l1+l2
1800 print"[146] "mid$(i$+l$,1,18)"[182][181]"mid$(p$+l$,1,18)" ";
1810 print" "mid$(i$+l$,1,18)"[182][181]"mid$(p$+l$,1,18)" ";
1820 nexti
1830 printleft$(h$,2*y+2);
1840 z=h+y:sys t2,va+z*l1+r*l2:sys p2,z+1:goto1880
1850 a$=mid$(p$,x+1,1):ifa$=","ora$="[161]"ora$="[162]"ora$="[163]"thengosub2190
1860 p$=left$(p$,x)+i$+right$(p$,len(p$)-1-x)
1870 ifi<160ori>163 thenx=x+1:s=s-(s<x-16)
1880 print"[146]"tab(t)mid$(p$+l$,s,18);""tab(t+40)mid$(p$+l$,s,18)"[145][145]"
1890 a=55338+80*y+20*r+x-s:pokea,f(4):pokea+40,f(4)
1900 geti$:ifi$=""then1900
1910 pokea,f(2):pokea+40,f(2)
1920 ifi$=x$ thengosub20:ifi$<>x$ then2340
1930 i=peek(ct+asc(i$)):i$=chr$(i):pokea,f(2):pokea+40,f(2)
1940 ifi>31and(i<127ori>159)andx<l then1850
1950 ifi=17thenifh+y<vm-1thensys t1,va+z*l1+r*l2:goto2100
1960 ifi=145thenifh+y>0thensys t1,va+z*l1+r*l2:goto2140
1970 ifi=29andx<l thenx=x+1:s=s-(s<x-16):goto1880
1980 ifi=157andx>0thenx=x-1:s=s+(s>x+1):goto1880
1990 ifi=20andx>0 thenx=x-1:s=s+(s>x+1):p$=left$(p$,x)+right$(p$,l-x-1)+" "
2000 ifi=148andx<l thenp$=left$(p$,x)+" "+mid$(p$,x+1,l-x-1)
2010 ifi=13thensys t1,va+z*l1+r*l2:goto2050
2020 goto1880
2030 :
2040 :
2050 printtab(t)left$(p$+l$,18);tab(t+40)""left$(p$+l$,18)"[145][145]"
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
2070 ifr=1orz=vm-1 then1880
2080 goto2110
2090 :
2100 i$=left$(p$+l$,18):printtab(t)i$;tab(t+40)""i$"[145][145]"
2110 x=x-s+1:s=1:y=y+1:ify<8thenprint"":goto1840
2120 y=7-6:h=h+1+6:goto1770
2130 :
2140 i$=left$(p$+l$,18):printtab(t)i$;tab(t+40)""i$"[145][145]"
2150 x=x-s+1:s=1:y=y-1:ify>-1thenprint"[145][145][145]":goto1840
2160 y=0+6:h=h-1-6:goto1770
2170 :
2180 :
2190 ifa$="[161]"andi$="e"theni$="[164]":return
2200 ifa$="[161]"andi$="[162]"theni$="[163]":return
2210 ifa$="[162]"andi$="a"theni$="[165]":return
2220 ifa$="[162]"andi$="e"theni$="[166]":return
2230 ifa$="[162]"andi$="u"theni$="[167]":return
2240 ifa$="[162]"andi$="[161]"theni$="[163]":return
2250 ifa$="[163]"andi$="a"theni$="[168]":return
2260 ifa$="[163]"andi$="e"theni$="[169]":return
2270 ifa$="[163]"andi$="i"theni$="[170]":return
2280 ifa$="[163]"andi$="o"theni$="[171]":return
2290 ifa$="[163]"andi$="u"theni$="[172]":return
2300 ifa$=","andi$="c"theni$="[177]":return
2310 ifa$=","andi$="[195]"theni$="[179]":return
2320 return
2330 :
2340 sys t1,va+z*l1+r*l2
2350 ifi$="f" then2430
2360 ifi$="z" then2450
2370 ifi$="e" then2560
2380 ifi$="s" then2700
2390 ifi$="g" then2750
2400 ifi$="a" then2800
2410 goto1890
2420 :
2430 p$=left$(l$,l):x=0:s=1:goto1880
2440 :
2450 p$=" [204]\schen [193]b [218]eile: [193]nzahl:":gosub4
2460 in$=str$(z+1):iy=11:ix=19:im=3:gosub2850
2470 p=val(in$):if i$=x$ or p<1 or p>vm then2670
2480 in$="1":ix=30:gosub2860:ifi$=x$ then2670
2490 q=val(in$):ifq<1orp+q>vm+1 then2670
2500 p$=left$(l$,l):forz=p-1tovm-1
2510 sys t2,va+(z+q)*l1:sys t1,va+z*l1
2520 sys t2,va+(z+q)*l1+l2:sys t1,va+z*l1+l2
2530 nextz:p$=""
2540 forz=vm-qtovm-1:syst1,va+z*l1:syst1,va+z*l1+l2:nextz:goto1770
2550 :
2560 p$=" [197]inf]gen [193]b [218]eile: [193]nzahl:":gosub4
2570 in$=str$(z+1):iy=11:ix=20:im=3:gosub2850
2580 p=val(in$):if i$=x$ or p<1 or p>vm then2670
2590 in$="1":ix=31:gosub2860:ifi$=x$ then2670
2600 q=val(in$):ifq<1orp+q>vm+1 then2670
2610 p$=left$(l$,l):forz=vm-q-1top-1step-1
2620 sys t2,va+z*l1:sys t1,va+(z+q)*l1
2630 sys t2,va+z*l1+l2:sys t1,va+(z+q)*l1+l2
2640 nextz:p$=""
2650 forz=p-1top-1+q-1:sys t1,va+z*l1:sys t1,va+z*l1+l2:nextz:goto1770
2660 :
2670 if i$<>x$ then p$=" [206]icht m\glich!":gosub4900
2680 goto1770
2690 :
2700 gosub4940:ifi<>13 then1890
2710 p$=" [204]\sche [211]peicher...":gosub4
2720 p$="":forz=0tovm-1:sys t1,va+z*l1:sys t1,va+z*l1+l2:sys p2,z+1:nextz
2730 d$=" ":ex=0:goto1750
2740 :
2750 p$=" [199]ehe zu [218]eile:":gosub4
2760 in$=str$(z+1):iy=11:ix=15:im=3:gosub2850
2770 p=val(in$):if i$=x$ or p<1 or p>vm then2670
2780 p=p-1:h=int(p/7)*7:y=p-h:p$="":gosub4:goto1770
2790 :
2800 print h$;:p$=" [211]uche [204]eerfeld...":gosub4 : ex=0
2810 ifpeek(va+ex*l1)<>0 thenex=ex+1:sys p1,ex:goto2810
2820 goto530
2830 :
2840 in$=""
2850 ifleft$(in$,1)=" " thenin$=right$(in$,len(in$)-1)
2860 ip=0:goto2910
2870 ifip>=len(in$)thenin$=in$+left$(l$,ip-len(in$))+i$:goto2900
2880 a$=mid$(in$,ip+1,1):ifa$=","ora$="[161]"ora$="[162]"ora$="[163]"thengosub2190
2890 in$=left$(in$,ip)+i$+right$(in$,len(in$)-1-ip)
2900 ifi<160ori>163 thenip=ip+1
2910 p$=mid$(in$+l$,1,im)
2920 printleft$(h$,2*iy+2)tab(ix)"[146]"p$;tab(40+ix)""p$"[145][145]"
2930 a=55336+80*iy+ix+ip:pokea,f(4):pokea+40,f(4)
2940 geti$:ifi$=""then2940
2950 pokea,peek(646):pokea+40,peek(646)
2960 i=peek(ct+asc(i$)):i$=chr$(i)
2970 ifi>31and(i<127ori>159)andip<im then2870
2980 ifi=29andip<imthenip=ip+1:goto2910
2990 ifi=157andip>0thenip=ip-1:goto2910
3000 ifi=20andip>0andip=<len(in$)andlen(in$)>0 then3050
3010 ifi=148andip<len(in$) then3060
3020 ifi=147thenin$="":ip=0:goto2910
3030 ifi=13 ori$=x$ thenreturn
3040 goto2930
3050 in$=left$(in$,ip-1)+mid$(in$,ip+1,len(in$)-ip):ip=ip-1:goto2910
3060 in$=left$(in$,ip)+" "+mid$(in$,ip+1,len(in$)-ip+(len(in$)=im)):goto2910
3070 :
3080 :
3090 rem uebertragen
3100 :
3110 dd=0:h=0:y=0
3120 m$=" [211]peichern [204]aden [201]nhaltsverzeichnis [198]loppybefehl [196]rucken [193]usgang"
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
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
3150 gosub5
3160 print"":ifdd=0thenin$="":goto3260
3170 ford=0to7:p$=left$(l$,16):a=da+17*(h+d):sys t2,a:p$=left$(p$,peek(a))
3180 ifh+d<dd thenp$=" "+chr$(34)+p$+chr$(34):gosub3
3190 ifh+d>=dd thenp$="":gosub3
3200 nextd:goto3220
3210 gosub6
3220 ifdd=0 then3260
3230 sys p2,h+y+1:p$=left$(l$,16):a=da+17*(h+y):sys t2,a:in$=left$(p$,peek(a))
3240 printleft$(h$,2+2*y);:p$=chr$(34)+in$+chr$(34)
3250 poke646,f(4):printtab(11)"[146]"p$;tab(51)""p$"[145][145]"
3260 geti$:ifi$=""then3260
3270 i=asc(i$):ifi$=x$ thengosub20:ifi$<>x$ then3360
3280 ifdd=0 then3220
3290 poke646,f(2):printtab(11)"[146]"p$;tab(51)""p$"[145][145]"
3300 ifi$<>""orh+y+1=ddthen3330
3310 y=y+1:ify<8 then3220
3320 y=7-6:h=h+1+6:goto3160
3330 ifi$<>"[145]"orh+y=0then3220
3340 y=y-1:ify>-1 then3220
3350 y=0+6:h=h-1-6:goto3160
3360 ifi$="s" and ex>0 then3670
3370 ifi$="l" then3490
3380 ifi$="i" then3800
3390 ifi$="f" then3430
3400 ifi$="d" then3840
3410 ifi$="a" then530
3420 goto3220
3430 p$="":gosub4
3440 iy=11:ix=1:im=38:gosub2840:ifi$=x$ or in$="" then3220
3450 print#5,"i":gosub4880:ife<>0 then3210
3460 print#5,(in$):gosub4880:ife<>0 then3210
3470 goto3210
3480 :
3490 iy=8:ix=3:im=12:in$=left$(in$,12):poke646,f(3):gosub2860:poke646,f(2)
3500 ifi$=x$orin$="" then3210
3510 in$=left$(in$+l$,12)
3520 p$=" [204]aden oder [196]azuladen?":gosub4
3530 geti$:ifi$<>"l"andi$<>"d" andi$<>x$ then3530
3540 ifi$=x$ then3210
3550 ifi$="l" then ex=0
3560 print#5,"i"
3570 open6,8,2,(in$+".*,s,r"):get#6,i$
3580 : gosub4880:ife<>0 then3210
3590 input#6,a$:av=val(a$):i=ex
3600 ifi-ex<avandi<vm theninput#6,p$:syst1,va+i*l1:input#6,p$:syst1,va+i*l1+l2
3610 ifi-ex<avandi<vm theni=i+1:sysp1,i:goto3600
3620 close6:ex=i:d$=in$
3630 ifi<vm thenp$=" [204]\sche [210]estspeicher...":gosub4
3640 ifi<vm thenp$="":forz=itovm-1:syst1,va+z*l1:syst1,va+z*l1+l2:sysp2,z+1:nextz
3650 goto3210
3660 :
3670 iy=8:ix=3:im=12:in$=d$:poke646,f(3):gosub2860:poke646,f(2)
3680 ifi$=x$ or in$="" then3210
3690 d$=left$(in$+l$,12)
3700 print#5,"i":print#5,("s0:"+left$(d$,12)+"*")
3710 open6,8,2,(d$+"."+right$(" "+str$(ex),3)+",s,w")
3720 : gosub4880:ife<>0 then3210
3730 print#6,(str$(ex)):i=0
3740 b$=chr$(34):p$=left$(l$,l)
3750 sys t2,va+i*l1:print#6,(b$+left$(p$,peek(va+i*l1))+b$)
3760 sys t2,va+i*l1+l2:print#6,(b$+left$(p$,peek(va+i*l1+l2))+b$)
3770 i=i+1:sys p2,i:ifi<ex then3750
3780 close6:goto3210
3790 :
3800 print#5,"i":gosub4880:ife<>0 then3110
3810 sys di,da
3820 dd=peek(828):h=0:y=0:goto3150
3830 :
3840 poke53280,f(0):poke646,f(2):poke53281,f(1):print"[147]":sys fi,55296,56296,f(2)
3850 p$=" [196]ruckercodes [ndern od. [210]eturn dr]cken":gosub3:p$="":gosub3
3860 print"";:p$=" [218]eichen(code): [196]ruckercode:":gosub3
3870 ix=16:iy=1:im=3:gosub2840:ifi$=x$ then3150
3880 ifin$="" then3930
3890 iflen(in$)>1 thenp=val(in$):ifp<0 orp>255 then3860
3900 iflen(in$)=1 thenp=asc(in$)
3910 in$=str$(peek(c2+p)):ix=32:iy=1:im=3:gosub2850:ifi$=x$then3150
3920 pokec2+p,val(in$):goto3860
3930 printleft$(h$,6);:p$=" [196]ruckercodes zur [211]chrifteinstellung:":gosub3
3940 p$=" [201]nit :":gosub3
3950 ix=11:iy=3:im=28:in$=co$:gosub2860:ifi$=x$ then3150
3960 co$=in$:a=c2+256:gosub4310:ifok=0 then3950
3970 printleft$(h$,10);:p$=" [211]palte 1:":gosub3
3980 iy=4:in$=li$:gosub2860:ifi$=x$ then3150
3990 li$=in$:a=c2+256+21:gosub4310:ifok=0 then3980
4000 printleft$(h$,12);:p$=" [211]palte 2:":gosub3
4010 iy=5:in$=re$:gosub2860:ifi$=x$ then3150
4020 re$=in$:a=c2+256+42:gosub4310:ifok=0 then4010
4030 :
4040 printleft$(h$,14);:p$=" [194]lattbegrenzungen in [218]eichen/[218]eilen:":gosub3
4050 p$=" [194]lattl[nge : [204]inker [210]and :":gosub3
4060 ix=16:iy=7:im=3:in$=str$(lb):gosub2850:ifi$=x$ then3150
4070 lb=val(in$):iflb<1 then4060
4080 ix=35:in$=str$(rl):gosub2850:ifi$=x$ then3150
4090 rl=val(in$):ifrl<0orrl>121 then4080
4100 printleft$(h$,18);:p$=" [207]berer [210]and : [213]nterer [210]and :":gosub3
4110 ix=16:iy=8:in$=str$(ro):gosub2850:ifi$=x$ then3150
4120 ro=val(in$):ifro<0or1+ro>lb then4110
4130 ix=35:iy=8:in$=str$(ru):gosub2850:ifi$=x$ then3150
4140 ru=val(in$):ifru<0or1+ro+ru>lb then4130
4150 printleft$(h$,20);:p$=" [196]rucker:":gosub3
4160 p$=" [199]er[teadresse: [211]ekund[radr. :":gosub3
4170 ix=16:iy=10:in$=str$(ga):gosub2850:ifi$=x$ then3150
4180 ga=val(in$):ifga<0orga>15 then4170
4190 ix=35:in$=str$(sa):gosub2850:ifi$=x$ then3150
4200 sa=val(in$):ifsa<0orsa>255 then4190
4210 p$=" [208]arameter speichern?":gosub4
4220 ix=29:iy=11:im=1:gosub2840:ifi$=x$ then3150
4230 ifin$="j" thengosub4790:ife<>0 then4210
4240 p$=" [210]eturn zum [196]rucken":gosub4
4250 geti$:ifi$<>chr$(13)andi$<>x$ then4250
4260 e=0:p=peek(768):ifi$=x$ then3150
4270 print"":open7,ga,sa:poke768,185:print#7,"";:close7:poke768,p
4280 ifst=-128 thenp$=" [196]rucker nicht aktiv!":gosub4:gosub4900:goto4240
4290 e=e+1:on e goto4270,4270,4400
4300 :
4310 ifright$(in$,1)=" " thenin$=left$(in$,len(in$)-1):goto4310
4320 a$=in$+",":i=1:p=1:q=0
4330 ifmid$(a$,i,1)<>","ori=p then4370
4340 x=val(mid$(a$,p,i-p)):p=i+1:q=q+1
4350 ifx<0orx>255 thenok=0:return
4360 poke a+q,x
4370 ifi<len(a$) theni=i+1:goto4330
4380 poke a,q:ok=1:return
4390 :
4400 open 7,ga,sa
4410 z=0:i=0
4420 ifi<peek(c2+256) theni=i+1:print#7,chr$(peek(c2+256+i));:goto4420
4430 a$=d$:b$="":gosub4620
4440 a$="":b$="":gosub4620
4450 p=0
4460 p$=left$(l$,l):a2$="":b2$=""
4470 sys t2,va+p*l1:a$=left$(p$,29)
4480 i=30:if peek(va+p*l1)<30 then4510
4490 i=i-1:ifmid$(p$,i,1)<>"[183]"andmid$(p$,i,1)<>"[184]"andmid$(p$,i,1)<>" "andi>10then4490
4500 a$=left$(p$,i):a2$=" "+mid$(p$,i+1,28)
4510 sys t2,va+p*l1+l2:b$=left$(p$,29)
4520 i=30:if peek(va+p*l1+l2)<30 then4550
4530 i=i-1:ifmid$(p$,i,1)<>"[183]"andmid$(p$,i,1)<>"[184]"andmid$(p$,i,1)<>" "andi>10then4530
4540 b$=left$(p$,i):b2$=" "+mid$(p$,i+1,28)
4550 gosub4620
4560 ifa2$<>""orb2$<>"" thena$=a2$:b$=b2$:gosub4620
4570 geti$:ifi$=x$ then4600
4580 p=p+1:ifp<ex then4460
4590 ifz<lb thenz=z+1:print#7,chr$(peek(c2+32)):goto4590
4600 close7:goto3150
4610 :
4620 ifz<ro thenz=z+1:print#7,chr$(peek(c2+32)):goto4620
4630 ifz>=lb-ru and z<lb thenz=z+1:print#7,chr$(peek(c2+32)):goto4630
4640 ifz=lb thenz=0:goto4620
4650 z=z+1:i=0
4660 ifi<peek(c2+277) theni=i+1:print#7,chr$(peek(c2+277+i));:goto4660
4670 p$=left$(l$,rl)+left$(a$+l$,29):sys ko:print#7,p$;
4680 i=0
4690 ifi<peek(c2+298) theni=i+1:print#7,chr$(peek(c2+298+i));:goto4690
4700 p$=" "+left$(b$+l$,29):sys ko:print#7,p$
4710 return
4720 :
4730 :
4740 rem exit
4750 :
4760 gosub4940:ifi<>13 then630
4770 sys64738
4780 :
4790 print#5,"i":print#5,"s0:status"
4800 open6,8,2,"status,s,w"
4810 gosub4880:if e<>0 thenreturn
4820 fori=0to4:print#6,f(i):nexti
4830 print#6,ga:print#6,sa:print#6,lb:print#6,ro:print#6,ru:print#6,rl
4840 b$=chr$(34):print#6,b$+co$+b$:print#6,b$+li$+b$:print#6,b$+re$+b$
4850 fori=0to255:print#6,chr$(peek(c2+i));:nexti
4860 close6:return
4870 :
4880 input#5,e,e$,e1,e2:ife=0 thenreturn
4890 close6:p$=" [190][191]"+str$(e)+" "+e$+";"+str$(e1)+str$(e2)
4900 gosub4:i=180:poke198,0
4910 ifpeek(198)=0andi>0 theni=i-1:goto4910
4920 p$="":gosub4:return
4930 :
4940 pp$=p$:x1=peek(211):y1=peek(214):poke646,f(2)
4950 p$=" [205]it [210]eturn best[tigen!"
4960 gosub4900
4970 get i$:i=asc(i$+" ")
4980 poke211,x1:poke214,y1:sys58640:p$=pp$:return
4990 :
5000 open1,8,15,"s0:program":close1
5010 save"program",8:verify"program",8
5020 :
5030 data"[207]ptionen ",
5040 data"[204]ernen "," [204]ernen "
5050 data"[197]ingeben "," [197]ingeben "
5060 data"[221]bertragen","[221]bertragen"
5070 data"[197]xit "," [197]xit "
5080 :
5090 data"sehr gut "
5100 data"gut "
5110 data"befriedigend"
5120 data"ausreichend "
5130 data"mangelhaft "
5140 data"ungen]gend "