home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh3x
/
sh33b.d64
/
fatman
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
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