home *** CD-ROM | disk | FTP | other *** search
- 100 POKE152,PEEK(251)
- 110 GOTO450
- 120 :
- 130 :REM START OF USER JUMP TABLE.
- 140 :
- 150 GOTO760 :REM CHECK FOR CARRIER.
- 160 GOTO820 :REM SEND P$+CHR$(13) OUT.
- 170 GOTO830 :REM SEND P$ OUT.
- 180 GOTO970 :REM GET L$ FROM MODEM.
- 190 GOTO1220:REM CALL FOR CHAT.
- 200 GOTO1260:REM ENGAGE CHAT MODE.
- 210 GOTO1370:REM SEND 'P' TO USERFILE.
- 220 GOTO1410:REM READ ERROR CHANNEL.
- 230 GOTO1430:REM READ SYSTEM CLOCK.
- 240 GOTO1530:REM DISPLAY USER STATS.
- 250 GOTO1680:REM DISPLAY USER ONLINE.
- 260 GOTO1700:REM EDIT USER STATISTICS.
- 270 GOTO2080:REM REMOTE SYSOP MENU.
- 280 GOTO2300:REM DISPLAY DIR.
- 290 GOTO2600:REM BREAK RC INTO LO/HI.
- 300 GOTO2640:REM UPDATE (USER LOG).
- 310 GOTO2650:REM SAME AS 2330.
- 320 GOTO2660:REM GET U$() FROM DISK.
- 330 GOTO2670:REM GET N$() FROM DISK.
- 340 GOTO2710:REM SEND U$() TO DISK.
- 350 GOTO2720:REM SEND N$() TO DISK.
- 360 GOTO2770:REM FIND DV,DR$.
- 370 GOTO2790:REM INCREMENT DV,DR$.
- 380 GOTO2850:REM HANG UP PHONE.
- 390 GOTO2920:REM FIND TIME CONNECTED.
- 400 GOTO2950:REM RETURN TO BBS.
- 410 GOTO2960:REM LOAD NEXT MODULE.
- 420 :
- 430 :REM END OF USER JUMP TABLE.
- 440 :
- 450 B1=56577:B2=56579:Q$=CHR$(34):B3=56590:B4=56588:DV=8:N$=CHR$(0)
- 460 DIMIN%(255),OT%(255),L%(12),D$(30),U$(12),N$(12),DR%(7):SI=54272
- 470 FORI=1TO12:READL%(I):NEXT:DATA 20,12,5,15,1,2,20,1,3,3,5,3:DR$="0"
- 480 GOSUB550:GOSUB490:GOTO530
- 490 OPEN1,8,5,"0:(BBS.CONFIG)":FORT=0TO9:INPUT#1,A:IFA=0THEN500
- 495 FORI=0TOA-1:INPUT#1,A$,A,A:NEXT
- 500 NEXT:INPUT#1,DR:FORI=0TODR-1:INPUT#1,DR%(I):NEXT:DR=DR+7
- 510 INPUT#1,RF:AA=-((RFAND128)=128):RF$=MID$(STR$(AA),2)+":(USERFILE)"
- 520 INPUT#1,SY$,BD$,MT%,RC,S1$,S2$,RR,P1$,P2$,D5,D6:CLOSE1:RETURN
- 530 F$=CHR$(13):P=0:POKE51972,P:SYS51976:BS=255:UL$=""
- 535 BR=PEEK(51968)+256*PEEK(51969):BR=INT(1022730/BR)
- 540 DC$="[149] --===[129]***[158]===[153]---===[159]***[154]===---[156]===***[158]===--[152]":GOTO3010
- 550 FORI=1TO64:OT%(I)=I:NEXT:OT%(20)=8:OT%(160)=32
- 560 OT%(12)=12:FORI=65TO90:OT%(I)=I+32:NEXT:OT%(34)=ASC("'")
- 570 FORI=91TO95:OT%(I)=I:NEXT:FORI=193TO218:OT%(I)=I-128:NEXT
- 580 OT%(5)=0:OT%(8)=0:OT%(9)=0:OT%(14)=0:OT%(17)=0:OT%(18)=0:OT%(28)=0
- 590 OT%(29)=0:OT%(30)=0:OT%(31)=0
- 600 FORI=0TO255:T=OT%(I):IFT<>0THENIN%(T)=I:IN%(T+128)=I
- 610 NEXT:IN%(160)=32:IN%(32)=32:RETURN
- 620 TI$="000000":A$=""
- 630 GOSUB760:IFCDTHENRETURN
- 640 GOSUB2920:IFSY=0ANDCO>240THENCD=1:RETURN
- 650 GETZ$:IFSY=0THENGET#5,A$
- 660 IFZ$="[133]"THENSY=SY+1:GOSUB2080:SY=SY-1:RETURN
- 670 IFZ$="[134]"THENGOSUB1260:TI$="000000":RETURN
- 680 IFZ$="[140]"THENCD=1:RETURN
- 690 IFZ$<>""ORA$<>""THEN730
- 700 IFVAL(TI$)<400THEN630
- 710 OPEN1,8,5,"0:(USER LOG),A":PRINT#1,UL$:PRINT#1,"[212]IME [197]LAPSED![152]":CLOSE1
- 720 CD=1:UL$="":RETURN
- 730 IFA$=""ORZ$=""THENGOSUB750
- 740 RETURN
- 750 POKESI+4,21:POKESI+4,20:RETURN
- 760 CD=0:IFSYTHENRETURN
- 770 IF(PEEK(B1)AND16)<>HLTHENRETURN
- 780 TI$="000000"
- 790 IF(PEEK(B1)AND16)<>HLTHENRETURN
- 800 IFVAL(TI$)>5THENCD=1:RETURN
- 810 GOTO790
- 820 P$=P$+F$
- 830 IFL=55THENPRINT#4,P$;:RETURN
- 840 IFSYTHENPRINTP$;:GOTO880
- 850 IFCGTHENPRINTP$;:PRINT#5,P$;:GOTO880
- 860 FORI=1TOLEN(P$):A$=MID$(P$,I,1):IFA$=""THENGOSUB750
- 870 PRINTA$;:PRINT#5,CHR$(OT%(ASC(A$)));:NEXT
- 880 I=PEEK(673)AND1:GET#5,A$:IFA$=""THENGETA$
- 890 IFA$=CHR$(160)THENA$=" "
- 900 IF(A$>""ANDMM)ORA$=" "ORA$="/"ORCDTHEN960
- 910 IFA$=""THEN940
- 920 IFITHEN880
- 930 RETURN
- 940 GET#5,A$:IFA$=""THENGETA$
- 950 IFA$=""THEN940
- 960 ONPEEK(673)AND1GOTO960:RETURN
- 970 L$="":FORI=1TOL:PRINT"[164][157]";
- 980 GOSUB620:IFCDTHENRETURN
- 990 IFZ$<>""THENT=ASC(Z$):A$=Z$:GOTO1030
- 1000 IFCGTHENT=ASC(A$+N$):GOTO1020
- 1010 T=IN%(ASC(A$+N$)):A$=CHR$(T)
- 1020 IFT=0THEN980
- 1030 IFT=34THENT=39:A$="'"
- 1040 IFT=20ANDL$<>""THENL$=LEFT$(L$,LEN(L$)-1):I=I-1:GOTO1100
- 1050 IFT=20ANDL$=""THEN980
- 1060 IFT=13ANDSYTHENPRINT" ":RETURN
- 1070 IFT=13THENPRINT" ":PRINT#5,F$;:RETURN
- 1080 IFT=10THEN980
- 1090 IFLEN(L$)=38THENP$="":GOSUB830:GOTO980
- 1100 IFI=>30AND(ASC(A$+N$)AND127)=32ANDMMTHENT=13:GOTO1060
- 1110 IFSYTHENPRINTA$;:GOTO1170
- 1120 IF(T=20)ANDCGANDECTHENPRINTA$;:PRINT#5,A$;:GOTO1170
- 1130 IFT=20ANDECTHENPRINTA$;:PRINT#5,CHR$(OT%(ASC(A$)));:GOTO1170
- 1140 IFECTHENPRINTA$;:PRINT#5,"-";:GOTO1170
- 1150 IFCGTHENPRINTA$;:PRINT#5,A$;:GOTO1170
- 1160 PRINTA$;:PRINT#5,CHR$(OT%(ASC(A$)));
- 1170 IFT=20THEN980
- 1180 L$=L$+A$:NEXT:T=13:EC=0:GOTO1060
- 1190 P$=F$+"[197]NTER [193]CCESS LEVEL: ":GOSUB830:L=5:GOSUB970:IFCDTHENRETURN
- 1200 IFVAL(L$)<0ORVAL(L$)>65535ORL$=""THENRETURN
- 1210 L=VAL(L$):A2=INT(L/256):A1=L-A2*256:A$=L$:RETURN
- 1220 IFSA<>1THENP$=F$+F$+SY$+" IS NOT AVAILABLE RIGHT NOW.":GOSUB820:RETURN
- 1230 P$="[195]ALLING "+SY$+"....":GOSUB820:FORI=1TO20:GETA$:IFA$="[134]"THEN1260
- 1240 GOSUB750:FORT=1TO600:NEXT:NEXT
- 1250 P$="[212]RY AGAIN LATER....":GOSUB820:RETURN
- 1260 P$=F$+F$+SY$+", CHATTING WITH "+U$(1)+F$:GOSUB820
- 1270 PRINT"[164][157]";:GETZ$:GET#5,A$:GOSUB760
- 1280 IFCG=0THENA$=CHR$(IN%(ASC(A$+N$)))
- 1290 IFZ$="[134]"ORCDTHENP$=F$+SY$+" HAS RETURNED TO "+BD$+".":GOSUB820:RETURN
- 1300 IFZ$="[133]"THENSY=SY+1:GOSUB2080:SY=SY-1
- 1310 IFA$=CHR$(0)ORA$=""THENA$=Z$
- 1320 IFA$=""THEN1270
- 1330 IFA$=""THENGOSUB750
- 1340 IFA$=CHR$(13)THENPRINT" ";:PRINT#5,CHR$(10);
- 1350 PRINT" [157]";:IFCGTHENPRINTA$;:PRINT#5,A$;:GOTO1270
- 1360 PRINTA$;:PRINT#5,CHR$(OT%(ASC(A$)));:GOTO1270
- 1370 GOSUB2610:AA=RF:GOSUB2770
- 1380 FORL=1TO2:PRINT#15-B,"P"CHR$(99)CHR$(R1)CHR$(R2)CHR$(1):GOSUB1410:NEXT
- 1390 GOSUB1410:IFER$<"20"ORER$="50"THENRETURN
- 1400 PRINT"[197]RROR IN (USERFILE)!":GOSUB2850:STOP
- 1410 ES$="":GOSUB1420:ER$=LEFT$(ES$,2):RETURN
- 1420 GET#15-B,A$:ES$=ES$+A$:ON-(A$<>CHR$(13))GOTO1420:RETURN
- 1430 T1$="00:00:00.0 XX":SYS51982,T1$:TM$=T1$+""
- 1440 HO$=LEFT$(TM$,2):MI$=MID$(TM$,4,2):FZ$=RIGHT$(TM$,2)
- 1490 IFVAL(LEFT$(TM$,2))<>12ANDFZ$<>"AM"THENC2=1:GOTO1520
- 1500 IFC2THENOPEN1,8,5,"@0:(T.CALLERS),S,W":PRINT#1," ":CLOSE1:DT=DT+1
- 1510 IFC2THENC2=0:NT=0:IFSFTHENOPEN1,8,5,"@0:(USER LOG),S,W":CLOSE1
- 1520 DA$=M$+STR$(DT):RETURN
- 1530 P$=F$+"[217]OUR [211]TATISTICS...."+F$:GOSUB820
- 1540 P$="[206]AME : "+U$(1):GOSUB820
- 1550 P$="[193]CCESS LEVEL :"+STR$(AC):GOSUB820:GOSUB1430
- 1560 P$="[196]ATE/[212]IME : "+DA$+" "+TM$:GOSUB820:GOSUB2920
- 1570 P$="[195]ONNECT [212]IME :"+STR$(CO)+" MINS.":GOSUB820
- 1580 P$="[205]EMBER # : "+R$:GOSUB820
- 1590 P$="[208]ASSWORD : "+U$(4):GOSUB820
- 1600 P$="[193]GE : "+U$(6):GOSUB820
- 1610 P$="[210]EAL [206]AME : "+U$(7):GOSUB820
- 1620 P$="[212]OTAL [213]/[204]'S : "+U$(9):GOSUB820
- 1630 P$="[212]OTAL [196]/[204]'S : "+U$(10):GOSUB820
- 1640 P$=" [[210]ATIO - "+MID$(STR$(RR),2)+":1]":GOSUB820
- 1650 P$="[204]AST CALL DATE: "+U$(11):GOSUB820
- 1660 P$="[212]OTAL CALLS : "+U$(12):GOSUB820:RETURN
- 1680 PRINT"[156]"F$U$(1)" <*> [204]VL-"+MID$(STR$(AC),2):GOSUB2920
- 1690 PRINTTM$" [195]ONNECTED:"STR$(CO)" MINS.[152]":RETURN
- 1700 P$="[147][197]NTER ACCOUNT # OF USER.":GOSUB820
- 1710 P$="[193]CCOUNT # OF CURRENT USER: "+R$:GOSUB820
- 1720 P$="[214][213]:":GOSUB830:L=3:GOSUB970:IFCDTHENRETURN
- 1730 IFL$=""THENRETURN
- 1740 E$=L$:IFL$=R$THENFORL=1TO12:N$(L)=U$(L):NEXT:AA=AC:GOTO1760
- 1750 OPEN3,RF,3,RF$:RC=VAL(L$):GOSUB1370:GOSUB2670:CLOSE3
- 1760 P$="[147]1 - [206]AME : "+N$(1)+F$+"2 - [208]HONE : "+N$(2):GOSUB820:GOSUB2630
- 1770 P$="3 - [193]CCESS [204]VL:"+STR$(AA)+F$+"4 - [208]ASSWORD : "+N$(4):GOSUB820
- 1780 P$="5 - # OF [197]MAIL: "+N$(5)+F$+"6 - [193]GE : "+N$(6):GOSUB820
- 1790 P$="7 - [210]EAL NAME : "+N$(7)+F$+"8 - C/G MODE : "+N$(8):GOSUB820
- 1800 P$="9 - [212]OTAL [213]/[204] : "+N$(9)+F$+"[193] - [212]OTAL [196]/[204] : "+N$(10):GOSUB820
- 1820 P$="[194] - [204]AST CALL : "+N$(11):GOSUB820
- 1830 P$="[195] - # CALLS : "+N$(12):GOSUB820
- 1850 IFL=55THENL=0:PRINT#4:CLOSE4:GOTO1760
- 1860 P$=F$+"[215]HICH TO CHANGE:":GOSUB830:L=1:GOSUB970:IFCDTHENRETURN
- 1870 IFL$=""ANDR$=E$THENFORL=1TO12:U$(L)=N$(L):NEXT:AC=AA:GOTO1700
- 1880 IFL$=""THEN1700
- 1890 IFL$="S"ORL$="[211]"THEN1980
- 1900 IFL$="P"ORL$="[208]"THENL=55:OPEN4,4,7:GOTO1760
- 1910 S=(ASC(L$)AND127)-64:IFS=>1ANDS<=3THENS=S+9:GOTO1940
- 1920 S=VAL(L$):IFS<1ORS>14THEN1760
- 1930 IFS=3THENGOSUB1190:N$(3)=A$:AA=A:GOTO1760
- 1940 IFS=11THENGOSUB2760:GOTO1760
- 1950 P$=F$+"["+N$(S)+"]:[195]HANGE TO->":GOSUB830
- 1960 L=20:GOSUB970:IFCDTHENRETURN
- 1970 N$(S)=L$:GOTO1760
- 1980 P$=F$+"[211]AVE STATS WHERE? (DEFAULT="+E$+"):":GOSUB830
- 1990 L=3:GOSUB970:IFCDTHENRETURN
- 2000 IFL$<>""ANDVAL(L$)>0THENE$=L$
- 2010 P$=F$+"[211]AVE AT: "+E$:GOSUB820
- 2020 P$="[195]ORRECT? (Y/N):":GOSUB830:L=1:GOSUB970:IFCDTHENRETURN
- 2030 IFL$<>"Y"ANDL$<>"[217]"THEN1760
- 2040 OPEN3,RF,3,RF$:RC=VAL(E$):GOSUB1370
- 2050 GOSUB2720
- 2060 CLOSE3
- 2070 RETURN
- 2080 AA=DV:GOSUB2770
- 2090 P$="[147]":GOSUB820
- 2100 P$=DC$+F$+" --**]> [210]EMOTE [211]YS-[207]P [205]ENU <[**--"+F$+DC$+F$:GOSUB820
- 2110 P$="[214] - [214]ALIDATE USER":GOSUB820
- 2120 P$="[193] - [211]CAN ANY SEQ ON DISK":GOSUB820
- 2130 P$="$ - [196]IRECTORY":GOSUB820
- 2140 P$="@ - [196]OS COMMANDS":GOSUB820
- 2150 P$="[213] - [211]CAN USER LOG":GOSUB820
- 2160 P$="[212] - [212]ODAY'S CALLERS":GOSUB820
- 2170 P$="# - [212]OGGLE DRIVE #"+STR$(DV)+";"+DR$:GOSUB820
- 2180 P$=F$+"[210][211][205]"+MID$(STR$(DV),2)+";"+DR$+":":GOSUB830:L=1:GOSUB970:IFCDTHENRETURN
- 2190 IFL$=""THENRETURN
- 2200 L$=CHR$(ASC(L$)AND127)
- 2210 GOSUB2640:UL$=UL$+"[211]YSOP-"+L$+CHR$(13)
- 2220 ON-(L$="U")-2*(L$="A")-3*(L$="V")-4*(L$="$")GOSUB2440,2550,1700,2300
- 2230 ON-(A$="#")-2*(L$="T")GOSUB2790,2540
- 2240 IFL$="?"THEN2090
- 2250 IFL$<>"@"THEN2180
- 2260 P$=F$+">":GOSUB830:L=39:GOSUB970:IFCDTHENRETURN
- 2270 IFL$=""THENGOSUB1410:P$=F$+ES$:GOSUB820:GOTO2180
- 2280 IFLEFT$(L$,4)=P2$+":"THENPRINT#15-B,RIGHT$(L$,LEN(L$)-4)
- 2290 GOTO2180
- 2300 P$=F$:GOSUB820:OPEN1,DV,0,"$"+DR$+":*"
- 2310 GOSUB1410:IFER$>"01"THENCLOSE1:P$=F$+ES$:GOSUB820:RETURN
- 2320 GET#1,A$:GET#1,A$
- 2330 GET#1,A$:GET#1,A$:IF(ST)AND64THENCLOSE1:RETURN
- 2340 GET#1,LO$:GET#1,HI$
- 2350 LO$=LO$+N$:HI$=HI$+N$
- 2360 P$=STR$(ASC(LO$+CHR$(0))+256*ASC(HI$+CHR$(0)))+" "
- 2370 GET#1,A$:IFA$=""THEN2410
- 2380 GET#5,Z$:IFZ$=""THENGETZ$
- 2390 IFZ$=" "THENCLOSE1:RETURN
- 2400 P$=P$+A$:GOTO2370
- 2410 L=8:IFECANDMID$(P$,L,1)=Q$THENL=9
- 2415 IFECANDMID$(P$,L,1)="("THEN2330
- 2420 GOSUB820:IFA$=" "THENCLOSE1:RETURN
- 2430 GOTO2330
- 2440 FI$="(USER LOG)"
- 2450 OPEN1,DV,5,DR$+":"+FI$:P$="":GOSUB1410:IFER$>"01"THENCLOSE1:RETURN
- 2460 GET#1,A$:IF(ST)AND64THEN2510
- 2470 GET#5,Z$:IFZ$=""THENGETZ$
- 2480 IFZ$=" "ORZ$="/"THEN2510
- 2490 IFA$=CHR$(13)ORLEN(P$)=39THENGOSUB820:P$="":GOTO2460
- 2500 P$=P$+A$:GOTO2460
- 2510 GOSUB820:CLOSE1:P$=F$+"[211]CRATCH? (Y/N):":GOSUB830:L=1:GOSUB970
- 2520 IFL$=""OR(L$<>"Y"ANDL$<>"[217]")THENRETURN
- 2530 OPEN1,DV,5,"@"+DR$+":"+FI$+",S,W":PRINT#1," ":CLOSE1:RETURN
- 2540 FI$="(T.CALLERS)":GOTO2450
- 2550 P$=F$+"[211]CAN FILE: ":GOSUB830:L=16:GOSUB970
- 2560 FI$=L$:GOTO2450
- 2570 POKEB3,65:POKEB4,40:POKEB2,231:POKEB1,57:POKEB4,48:RETURN
- 2580 GOSUB2570:POKEB2,PEEK(B2)OR32:POKEB1,PEEK(B1)AND223:POKEB1,PEEK(B1)OR32
- 2590 POKEB1,PEEK(B1)AND223:POKEB4,40:POKEB4,47:POKEB2,230:GOSUB2570:RETURN
- 2600 HI=INT(RC/256):LO=RC-(HI*256):RETURN
- 2610 GOSUB2600:R1=LO:R2=HI:RETURN
- 2620 AC=VAL(U$(3)):A2=INT(AC/256):A1=AC-A2*256:RETURN
- 2630 AA=VAL(N$(3)):RETURN
- 2640 IFLEN(UL$)<230THENRETURN
- 2650 OPEN1,8,5,"0:(USER LOG),A":PRINT#1,UL$:CLOSE1:UL$="":RETURN
- 2660 GOSUB2670:FORI=1TO12:U$(I)=N$(I):NEXT:RETURN
- 2670 GET#3,A$:FORI=1TO12:N$(I)="":L=0:FORT=1TOL%(I):GET#3,A$
- 2680 IF(I=1ORI=4)AND(A$=""ORL=1)THENL=1:GOTO2700
- 2690 N$(I)=N$(I)+A$
- 2700 NEXT:NEXT:RETURN
- 2710 FORI=1TO12:N$(I)=U$(I):NEXT
- 2720 N$(1)=N$(1)+N$:N$(4)=N$(4)+N$
- 2730 N$(0)="":A$=" ":A$=A$+A$+A$:FORI=1TO12
- 2740 N$(0)=N$(0)+LEFT$(N$(I)+A$,L%(I)):NEXT:PRINT#3,CHR$(34)N$(0)
- 2750 RC=1:GOSUB1370:RETURN
- 2760 RETURN
- 2770 B=-(AA=9)-2*(AA=10)-3*(AA=11)-4*(AA=12)-5*(AA=13)-6*(AA=14)
- 2780 B=B-7*(AA=15):AA=-((DR%(B)AND128)=128):DR$=MID$(STR$(AA),2):RETURN
- 2790 IFDR$="0"THENAA=DV:GOSUB2770:IFDR$="1"THENRETURN
- 2800 DV=DV+1:IFDV>15THENDV=8
- 2810 FORL=0TO(DR-8):IFDV<>(DR%(L)AND63)THENNEXT:GOTO2800
- 2820 IFA1AND32THEN2840
- 2830 AA=DV:GOSUB2770:IFDR%(B)AND64THEN2800
- 2840 AA=DV:GOSUB2770:DR$="0":RETURN
- 2850 ON(MT%-1)GOTO2860,2870,2900,2910,2580,2580
- 2860 POKEB2,PEEK(B2)OR32:POKEB1,PEEK(B1)AND223:RETURN
- 2870 FORT=1TO2000:NEXT:PRINT#5,"+++";:FORT=1TO2000:NEXT:PRINT#5,"[193][212][200]"+CHR$(13)
- 2880 FORT=1TO2000:NEXT:PRINT#5,"[193][212][218]"+CHR$(13):FORT=1TO2000:NEXT
- 2890 PRINT#5,"[193][212][205]0"+CHR$(13)::FORT=1TO2000:NEXT:PRINT#5,"[193][212][214]0"+CHR$(13):RETURN
- 2900 POKEB2,38:POKEB1,38:RETURN
- 2910 POKEB1,PEEK(B1)OR32:RETURN
- 2920 GOSUB1430:CT=VAL(HO$):MI=VAL(MI$):CO=ABS((LH*60+LM)-(CT*60+MI))
- 2930 IFLH=12ANDC2THENCO=ABS(CO-720)
- 2940 RETURN
- 2950 FI$="(ST/R 3.5)":DV=D5
- 2960 GOSUB2650:OPEN1,8,5,"@0:(DATA),S,W":PRINT#1,R$:FORT=1TO12
- 2970 PRINT#1,Q$U$(T):NEXT:PRINT#1,LH:PRINT#1,LM:PRINT#1,SA:PRINT#1,SY
- 2980 PRINT#1,SF:PRINT#1,HL:PRINT#1,M$:PRINT#1,DT:PRINT#1,LEN(F$):PRINT#1,Q$LN$
- 2990 PRINT#1,DV:PRINT#1,NW:PRINT#1,HM$:CLOSE1
- 2995 POKE252,32:POKE251,PEEK(152):DR$="0":IFDVAND128THENDR$="1"
- 3000 PRINT"[146][147]LOAD"Q$DR$":"FI$Q$","DVAND127"":POKE631,131:POKE198,1:NEW
- 3010 OPEN1,8,5,"0:(DATA)":INPUT#1,R$:R=VAL(R$):FORT=1TO12
- 3020 INPUT#1,U$(T):NEXT:INPUT#1,LH,LM,SA,SY,SF,HL,M$,DT,T,LN$,DV,NW
- 3025 HM$="":FORT=1TO200:GET#1,A$:IFA$=""THENA$=CHR$(0)
- 3027 HM$=HM$+A$:NEXT
- 3030 CLOSE1:GOSUB2620:CG=VAL(U$(8)):IFT=2THENF$=CHR$(13)+CHR$(10)
- 3040 REM -----------------------------
- 3050 REM - YOUR PROGRAM SHOULD -
- 3060 REM - START AT LINE 3080! -
- 3070 REM -----------------------------
- 3075 GOSUB370
- 3080 MU=0:GOSUB250:P$=F$+"[154][213][196]"+MID$(STR$(DV),2)+";"+DR$+":":GOSUB170
- 3090 L=1:GOSUB180:IFCDTHEN400
- 3100 IFL$=""THEN3080
- 3110 L$=CHR$(ASC(L$)AND127)
- 3120 GOSUB300:UL$=UL$+"UD-"+L$+CHR$(13)
- 3130 IFL$="$"THENEC=1:GOSUB280:EC=0:GOTO3080
- 3140 ON-(L$="U")-2*(L$="D")-3*(L$="#")-4*(L$="B")GOSUB3620,3340,370,3860
- 3150 IFL$="Q"THEN400
- 3160 IFL$="S"THENGOSUB240
- 3170 IFL$="M"ANDP=0THENGOSUB4160:L$=""
- 3180 IFL$="P"THEN4070
- 3190 IFL$="F"THENFI$="%\'":GOSUB3910
- 3200 IFL$="F"ANDER$<"02"THENP$=F$+STR$(F)+" [194]LOCKS FREE.":GOSUB160
- 3210 IFL$="Y"THENGOSUB190:GOTO3080
- 3220 IFL$<>"?"THEN3080
- 3230 P$="[147]":GOSUB170
- 3240 P$=DC$+F$+" --==]> [208]UNTER [213]/[196] [205]ENU <[==--"+F$+DC$+F$:GOSUB160
- 3250 IFA$=" "THEN3080
- 3260 P$="[156]$ - [196]IRECTORY [150][196] - [196]OWNLOAD":GOSUB160:IFA$=" "THEN3080
- 3270 P$="[213] - [213]PLAOD [153][194] - CHANGE [194]LOCK SIZE":GOSUB160:IFA$=" "THEN3080
- 3280 P$="[198] - BLOCKS [198]REE [154][217] - [217]ELL FOR [211]YSOP":GOSUB160:IFA$=" "THEN3080
- 3290 IFP=0THENP$="[159][205] - [205]ULTIFILE TRANSFERS":GOSUB160:IFA$=" "THEN3080
- 3300 P$="[158]# - [195]HANGE [196]EVICE NUMBER:"+STR$(DV)+";"+DR$:GOSUB160:IFA$=" "THEN3080
- 3310 P$="[150][208] - CHANGE [208]ROTOCOL: "+MID$("[208]UNTER[216]MODEM",P*6+1,6):GOSUB160
- 3320 P$="[211] - [217]OUR [211]TATISTICS":GOSUB160:IFA$=" "THEN3080
- 3330 P$="[152][209] - [210]ETURN TO MAIN MENU":GOSUB160:GOTO3080
- 3340 IFVAL(U$(9))*RR<=VAL(U$(10))THENP$="[206]OT ENOUGH CREDITS.":GOSUB160:RETURN
- 3350 PRINT"[147][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]":PRINT"[145][145][145]":GOSUB250
- 3360 IFMUTHEN3410
- 3370 P$="[208]ROGRAM NAME: [155]":GOSUB170:L=16:GOSUB180:IFCDTHENRETURN
- 3380 FI$=L$:IFFI$=""THENRETURN
- 3390 OPEN2,DV,5,DR$+":"+FI$:GOSUB220
- 3400 CLOSE2:IFER$>"01"THENP$=F$+ES$:GOSUB160:RETURN
- 3410 GOSUB3910:IFL$="R"THENP$="[152][206]OT A [210]ELATIVE FILE.":GOSUB160:RETURN
- 3420 IFLEFT$(FI$,1)="("AND(A1AND32)=0THENP$="[152][198]ILE NOT FOUND.":GOSUB160:RETURN
- 3430 TY=-(L$="P")-2*(L$="S"):IFMUTHENCLOSE6
- 3440 IFLEN(FI$)=0THENRETURN
- 3450 P$=F$+"[152][198]ILE : "+FI$+MID$(" ",LEN(FI$))+" [212]YPE : "+L$
- 3460 GOSUB160:IFPTHENF=F*2
- 3470 A$=STR$(F):P$="[194]LOCKS:"+A$+MID$(" ",LEN(A$))
- 3480 I=6*(BR/300):IFPTHENGOSUB160:A$=",R":GOTO4120
- 3490 P$=P$+"[212]IME : "+MID$(STR$(F/I),2,4):GOSUB160:IFMUTHEN3560
- 3500 P$="[194]LOCK SIZE:"+STR$(BS):GOSUB160
- 3510 P$="[193] - [193]BORTS [194] - CHANGE [194]LOCK SIZE":GOSUB160
- 3520 P$="[208]RESS [210][197][212][213][210][206] TO BEGIN [196]OWNLOAD:":GOSUB170
- 3530 L=1:GOSUB180:IFCDTHENRETURN
- 3540 IFL$="A"ORL$="[193]"THENRETURN
- 3550 IFL$="B"ORL$="[194]"THENGOSUB3860:GOTO3500
- 3560 PRINT"....[221]....1....[221]....2....[221]....3....[221]....4";
- 3570 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]";
- 3580 P$="":GOSUB160
- 3590 OPEN2,DV,5,DR$+":"+FI$
- 3600 SYS49173:POKE51227,TY:SYS49164:IFPEEK(512)=1THENCLOSE2:GOTO3820
- 3610 SYS49173:POKE51224,BS:SYS49158:CLOSE2:GOTO3820
- 3620 PRINT"[147][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]":PRINT"[145][145][145]":GOSUB250
- 3630 IFMUTHEN3750
- 3640 P$=F$+"[208]ROGRAM NAME: [155]":GOSUB170:L=16:GOSUB180:IFCDTHENRETURN
- 3650 FI$=L$:IFFI$=""THENRETURN
- 3660 IFPTHEN4100
- 3670 P$=F$+"[152][194]LOCK SIZE:"+STR$(BS):GOSUB160
- 3680 P$="[193] - [193]BORTS [194] - CHANGE [194]LOCK SIZE":GOSUB160
- 3690 P$="[208]RESS [210][197][212][213][210][206] TO BEGIN [213]PLOAD:":GOSUB170
- 3700 L=1:GOSUB180:IFCDTHENRETURN
- 3710 IFL$="A"ORL$="[193]"THENRETURN
- 3720 IFL$="B"ORL$="[194]"THENGOSUB3860:GOTO3670
- 3730 SYS49173
- 3740 SYS49161
- 3750 IFPEEK(512)=1THEN3840
- 3755 IFPEEK(51227)<1ORPEEK(51227)>3THENPOKE51227,1
- 3760 A$=","+MID$("PSP",PEEK(51227),1)+",W":IFMUTHENA$=",W"
- 3770 OPEN2,DV,2,DR$+":"+FI$+A$:GOSUB220:IFER$>"01"THENCLOSE2:P$=""+ES$:GOSUB160:RETURN
- 3780 PRINT"....[221]....1....[221]....2....[221]....3....[221]....4";
- 3790 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]";
- 3800 SYS49173:SYS49155:CLOSE2:POKE668,PEEK(667)
- 3810 U$(9)=MID$(STR$(VAL(U$(9))+1),2):GOTO3830
- 3820 U$(10)=MID$(STR$(VAL(U$(10))+1),2)
- 3830 IFMU=0THENGOSUB300:UL$=UL$+FI$+CHR$(13)
- 3840 IFMU=0THENFORT=1TO3000:NEXT:P$=F$+"[212]RANSFER COMPLETE.":GOSUB160
- 3850 PRINT#15-B,"I"+DR$+":":L$="":RETURN
- 3860 P$=F$+"[194]LOCK SIZE: ":GOSUB170:L=3:GOSUB180:IFCDTHENRETURN
- 3870 IFL$=""THENRETURN
- 3880 BS=VAL(L$):IFBS<40THENBS=40
- 3890 IFBS>255THENBS=255
- 3900 RETURN
- 3910 OPEN6,DV,0,"$"+DR$+":"+FI$:GOSUB220
- 3920 IFER$>"01"THENCLOSE6:P$=F$+ES$:GOSUB160:RETURN
- 3930 GET#6,A$:GET#6,A$:LC=1
- 3940 GET#6,A$:GET#6,A$:FI$=""
- 3950 GET#6,LO$:GET#6,HI$
- 3960 IFLC=1THEN4030
- 3970 F=ASC(LO$+N$)+256*ASC(HI$+N$):IFL$="F"ORL$="M"THENCLOSE6:RETURN
- 3980 GET#6,A$:IFA$="B"THENU=64:CLOSE6:RETURN
- 3990 IFA$<>CHR$(34)THEN3980
- 4000 GET#6,A$:IFA$<>CHR$(34)THENFI$=FI$+A$:GOTO4000
- 4010 GET#6,A$:IFA$=" "THEN4010
- 4020 L$=A$:IFMU=0THENCLOSE6:RETURN
- 4030 GET#6,A$:IFA$<>""THEN4030
- 4040 IFMUANDLC=2THENRETURN
- 4050 LC=2:GOTO3940
- 4060 RETURN
- 4070 P=1-P:POKE51972,P:SYS51976
- 4080 P$="[208]UNTER ":IFPTHENP$="[216]MODEM "
- 4090 P$=F$+P$+"PROTOCOL LOADED.":GOSUB160:GOTO3080
- 4100 P$="[152][198]ILE TYPE (P/S):":GOSUB170:L=1:GOSUB180:IFCDORL$=""THENRETURN
- 4110 A$=",W":IFL$<>"P"ANDL$<>"[208]"ANDL$<>"S"ANDL$<>"[211]"THENRETURN
- 4120 FI$=DR$+":"+FI$+","+L$+A$:E$=A$
- 4130 POKE49161,LEN(FI$):FORI=1TOLEN(FI$):POKE49186+I,ASC(MID$(FI$,I,1)):NEXT
- 4140 P$=F$+"[199]OTO [211]END/[210]ECV MODE NOW!":GOSUB160
- 4150 POKE49155,DV:SYS49411:ON-(E$=",W")-2*(E$=",R")GOTO3810,3820
- 4160 FI$="&%'&":GOSUB3910:IFER$>"01"THENRETURN
- 4170 P$=F$+STR$(F)+" [194]LOCKS [198]REE":GOSUB160
- 4180 P$=F$+"[213] - [213]PLOAD [196] - [196]OWNLOAD"+F$+F$+"[205][216]:":GOSUB170:L=1:GOSUB180
- 4190 IFL$=""ORCDTHENRETURN
- 4200 IFL$="D"ORL$="[196]"THEN4300
- 4210 FI$="":IFL$<>"U"ANDL$<>"[213]"THEN4180
- 4220 GOSUB310:P$=F$+"[208]LEASE BEGIN [205]ULTI [213]PLOAD"+F$+"[[195]TRL-[196]] [193]BORTS":GOSUB160
- 4230 PRINT"[208]ROGRAM NAME: ";:GET#5,A$,A$,A$
- 4240 GET#5,A$:GETZ$:IFA$=""THENA$=Z$
- 4250 GOSUB150:IFCDTHENRETURN
- 4260 IFA$=CHR$(13)THENPRINT:MU=1:UL$=UL$+FI$+F$:GOSUB300:GOSUB3620:GOTO4230
- 4270 IFA$=CHR$(4)THENMU=0:PRINT"[196]ONE.":GOSUB310:GOTO3840
- 4280 IFASC(A$+N$)<32THEN4240
- 4290 PRINTA$;:FI$=FI$+A$:GOTO4240
- 4300 P$=F$+"[210]EADING DIRECTORY....":GOSUB160:P$=F$+"[217] - [217]ES [206] - [206]O [194] - [194]EGIN"
- 4310 P$=P$+" [193] - [193]BORT":GOSUB160:P$=F$+"30 [198]ILES [205]AXIMUM":GOSUB160
- 4320 MU=1:L$="":FI$="*":U=0:L=65:GOSUB3910:GOTO4340
- 4330 GOSUB3940
- 4340 IFVAL(U$(9))*RR<=VAL(U$(10))+MU-1THENP$=F$+"[206]O CREDITS LEFT.":GOSUB160:U=64
- 4350 IFUTHEN4420
- 4360 IFLEFT$(FI$,1)="("THEN4330
- 4370 FI$=FI$+","+L$:P$=F$+FI$+F$+"[217]/[206]/[194]/[193]:":GOSUB170:L=1:GOSUB180
- 4380 IFL$="A"ORL$="[193]"ORCDTHENCLOSE6:RETURN
- 4390 IFL$=""ORL$="N"ORL$="[206]"THEN4330
- 4400 IFL$="Y"ORL$="[217]"THEND$(MU)=FI$:MU=MU+1:IFMU<31THEN4330
- 4410 IFL$<>"B"ANDL$<>"[194]"ANDMU<31THEN4370
- 4420 CLOSE6:IFMU=1THENP$=F$+"[206]O FILES SELECTED.":GOSUB160:MU=0:RETURN
- 4430 P$=F$+F$+"[197]NTER [205]ULTI [210]ECEIVE IN 15 SECONDS.":GOSUB160:T=TI
- 4440 IFTI-T<900THENPRINTTI-T"[145]":GOTO4440
- 4450 FORT=1TOMU-1:FI$=D$(T):PRINT#5," ";:FORI=1TOLEN(FI$)
- 4460 PRINT#5,MID$(FI$,I,1);:NEXT:PRINT#5:FI$=LEFT$(FI$,LEN(FI$)-2)
- 4470 GET#5,A$:IFA$=CHR$(4)THENP$=F$+"[193]BORTED.":GOSUB160:MU=0:GOTO3840
- 4480 SY=SY+1:GOSUB3350:SY=SY-1:FORI=1TO40000:NEXT:GOSUB150:IFCDTHENRETURN
- 4490 UL$=UL$+FI$+F$:GOSUB300:NEXT:PRINT#5,"";:MU=0:GOTO3840
-