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