home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Go64!
/
Go64_1999-03_1999_CSW_Side_A.d64
/
nova.BBS mode
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
16KB
|
411 lines
10 data300,1200,2400,4800,9600,19200,38400
20 poke787,peek(186):ifpeek(6)=255and(peek(2)<1orpeek(2)>2)thenpoke45,peek(174):poke46,peek(175):clr
30 ifpeek(787)<8orpeek(787)>16thenpoke787,8
40 ifpeek(2)<1orpeek(2)>2thenpoke2,1:load"nova9.5-1.ml",peek(787),1
50 ifpeek(2)=1thenpoke2,2:load"nova9.5-2.ml",peek(787),1
60 poke2,0:poke55,0:poke56,130:poke643,0:poke644,130:sys38436:clr
70 open5,2,0,chr$(6):ml=38400
80 sl=52608:dt=usr(ml+87):sa=usr(4):pt=49161:op=ml+15:xm=1024:rv=xm+256
90 md=52224:m1=md+18:sn=peek(648)*256:q$=chr$(34):dimms$(20),bd$(6)
100 lc$="":of$="":nc=0:sc=0:nu=0:nd=0:nf=0:mb=peek(m1):fori=0to6:readbd$(i):next
105 mm$="&c1&d2e0m0v1x4s0=1"
110 sp$=" ":dn$=""
120 pokesa,peek(sa)or128:pokesa+4,peek(sa+4)or128:poke6,176
130 dp=peek(787):ifdp<8ordp>16thendp=8
140 open15,dp,15:dp$="0:":gosub4090:d%(1)=dp:d$(1)=dp$:dd=1:syssl+6:ca=peek(780)
150 f1$="login.txt":f2$="menu.txt":f3$="logout.txt":gosub720
160 open2,dp,2,dp$+"\stats":input#15,e:ife>19thenclose2:goto180
170 input#2,lc$,of$,nc,sc,nu,nd,nf:close2
180 if(peek(m1+4)and1)andca=0thenpoke780,mb:sysml+33:sysmd+9:sysmd+3
190 print"[147]"tab(10)"[206]ovaterm 9.5 [194][194][211] mode":print"[197]nter the time: [200][200]:[205][205]";
200 poke211,16:p9=5:gosub2410:ifi$=""then
210 ifmid$(i$,3,1)<>":"then190
220 h=val(left$(i$,2)):m=val(mid$(i$,4,1))*16+val(mid$(i$,5,1)):a=0:ifh>12thenh=h-12:a=1
230 ifh=0orh=12thenh=12:a=1-a
240 h=128*a+h+int(h/10)*6:poke56587,h:poke56586,m:poke56585,s:poke56584,0
250 p=1
260 print"[147]"tab(10)"[206]ovaterm 9.5 [194][194][211] mode"
270 printtab(15)"[211]etup menu":printtab(15)"[163][163][163][163][163][163][163][163][163][163]"
280 print" [211]ysop name[160] : "sy$:print" [194][194][211] name[160] : "bb$
290 print" [211]ystem pswd[160]: "pw$:print" [211]ysop pswd[160] : "ps$:print" [201]nit[160]: at"mm$
300 print" [207]pening msg[160]: "f1$:print" [205]ain menu[160] : "f2$
310 print" [204]ogoff msg[160] : "f3$
320 print" [211]ystem drive[160] :"str$(dp)","left$(dp$,1):print" [193]vailable drives[160]"
330 print" [211]ave configuration[160]":print" [204]oad configuration[160]":print" [211]tart [194][194][211][160]"
340 d=4:tb=1:mx=16:tu=32:gosub3920:poke211,15:ifp>9thenpoke211,20
341 ifp=5thenpoke211,10
345 p8=peek(211):p9=-23*(p<5)-28*(p=5)-16*(p>6andp<10)-5*(p=11):ifp9thengosub2410
350 onpgoto360,380,400,410,420,,430,440,450,,470,760,,660,710,960
360 sy$=i$:goto460
380 bb$=i$:goto460
400 pw$=i$:goto460
410 ps$=i$:goto460
420 mm$=i$:goto460
430 f1$=i$:goto460
440 f2$=i$:goto460
450 f3$=i$
460 print""left$(dn$,p+d)tab(p8)left$(i$+sp$,p9):goto280
470 ifi$=""then280
480 j=0:fori=1to5:ifmid$(i$,i,1)=","thenj=i:i=5
490 next:ifj=0then520
500 a=val(mid$(i$,j+1)):ifa<0ora>19then520
510 dp$=mid$(str$(a),2)+":"
520 a=val(i$):ifa<8ora>16then280
530 close15:open15,a,15:close15:if(128andst)=0thendp=a
540 open15,dp,15:goto280
660 print#15,"s"dp$"\bbs config":open2,dp,2,dp$+"\bbs config,s,w"
670 print#2,q$sy$:print#2,q$bb$:print#2,q$pw$:print#2,q$ps$:print#2,q$f1$
680 print#2,q$f2$:print#2,q$f3$:print#2,dp:print#2,q$dp$
690 print#2,dd:fori=1todd:print#2,q$dd$(i):print#2,d%(i):print#2,q$d$(i):next
700 print#2,q$mm$:close2:goto280
710 gosub720:goto280
720 open2,dp,2,dp$+"\bbs config":input#15,e:ife>19thenclose2:return
730 input#2,sy$,bb$,pw$,ps$,f1$,f2$,f3$,dp,dp$,dd
740 fori=1todd:input#2,dd$(i),d%(i),d$(i):next:ifst=0theninput#2,mm$
750 close2:return
760 print"[147]"tab(10)"[206]ovaterm 9.5 [194][194][211] mode":pp=p:p=1
770 printtab(9)"[196]isk device setup menu":printtab(9)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
780 print" [196]irectory category [196]evice [196]rive":fori=1todd
790 print" "left$(dd$(i)+sp$,23)" "d%(i)tab(35)left$(d$(i),len(d$(i))-1);
800 printtab(38)"[160]":next:printsp$:print" [193]dd a directory[160] "
810 print" [196]elete a directory[160]":print" [209]uit[160] ":printsp$
820 d=5:tb=1:mx=dd+4:tu=32:gosub3920:ifp=mxthenp=pp:goto260
830 sysml+18:ifp=mx-1andd>1thendl=1:goto780
840 ifp=mx-2thendl=0:p=p-1:print"[145]";:ifdd=10then780
850 ifdl=0ordd=1then890
860 fori=p+1todd:dd$(i-1)=dd$(i):d%(i-1)=d%(i):d$(i-1)=d$(i):next
870 dl=0:dd=dd-1:ifp>ddthenp=dd
880 goto780
890 poke211,1:p9=23:gosub2410:ifi$>""thendd$(p)=i$
900 ifi$=""andp=mx-1then780
910 print"[145]";:poke211,27:p9=2:gosub2410:a=val(i$):ifa>=8anda<=15thend%(p)=a
920 print"[145]";:poke211,35:p9=2:gosub2410:a=val(i$)
930 ifa>=0anda<20thend$(p)=mid$(str$(a),2)+":"
940 ifp>ddthendd=p
950 goto780
960 rn=8-(peek(56577)and8):ifpeek(m1+4)and1then980
970 print"[147][211]et [207]-[193] switch to [193]nswer and hit [210]eturn[146]":wait198,1:geta$
980 print"[147][204]ast caller: "lc$:print"[207]ff at : "of$
990 print"[206]umber of calls :"nc:print"[211]ysop calls :"sc
1000 print"[213]ploads :"nu:print"[196]ownloads :"nd
1010 print"[198]eedback :"nf
1020 print"[201]nitializing modem...":bd=mb:poke780,mb:sysml+33
1025 ifpeek(m1+4)and1thenprint#5,"atz":fori=1to1000:next:print#5,"at"mm$
1030 print"[145][215]aiting for call... "
1040 print"[198]1[146]:[209]uit [198]3[146]:[204]ocal mode [198]7[146]:[211]etup menu"
1050 pokesa+14,peek(sa+14)and127:lc=0:xp=0:sy=0:cd=0
1060 dd$=dd$(1):dv=d%(1):dv$=d$(1):close14:open14,dv,15
1070 sysml+9:if(peek(56577)and8)=rnthen1130
1080 syssl+6:ifpeek(780)then1160
1090 geta$:ifa$="[133]"then2250
1100 ifa$="[136]"then250
1110 ifa$="[134]"thenprint"[147] [204]ocal mode ":pokesa+14,peek(sa+14)or128:sysmd+3:lc=1:goto1170
1120 goto1070
1130 print"[195]all answered...waiting for carrier":if(peek(m1+4)and1)=0then1139
1131 i$="":ti$="000000"
1132 get#5,a$:printa$;:ifti$="000020"then1140
1133 if(asc(a$+chr$(0)))>=32theni$=i$+a$:goto1132
1134 ifa$<>cr$then1132
1135 ifleft$(i$,7)<>"connect"andleft$(i$,7)<>"carrier"theni$="":goto1132
1136 ifmid$(i$,9)=""thenpokem1+1,0:goto1140
1137 fori=1to6:ifval(bd$(i))=val(mid$(i$,9))thenbd=i:i=6
1138 next:pokem1+1,bd:goto1140
1139 sysmd+6
1140 syssl+6:ifpeek(780)=0then980
1150 bd=peek(m1+1):poke780,bd:sysml+33
1160 print"[147] "bd$(bd)" baud connection "
1170 print" [146][157]";:s$="[133][215]elcome to "+bb$+" on [206]ovaterm 9.5[133]":sysop
1180 s$="[133][197]nter your name: ":sysop:p9=25:gosub2510:ifi$=""andcd=0then1180
1185 ifcdthen980
1190 n$=i$:tr=0:ifpw$=""then1230
1200 s$="[133][197]nter system password: ":sysop:p9=25:gosub2510:ifi$=pw$then1230
1210 s$="[133][201]nvalid password[133]":sysop:tr=tr+1:iftr<3then1200
1220 s$="[133][193]ccess denied![133]":sysop:goto1980
1230 gosub3880:t1$=tmto:tr=0:ifn$<>sy$then1300
1240 s$="[133][197]nter sysop password: ":sysop:p9=25:gosub2510:ifi$=ps$then1270
1250 s$="[133][201]nvalid password[133]":sysop:tr=tr+1:iftr<2then1240
1260 goto1220
1270 s$="[133][211]ysop access granted[133]":sysop:sy=1
1280 open2,dp,2,dp$+"feedback":input#15,e:close2
1290 ife=0thens$="[133][217]ou have messages waiting.[133]":sysop
1300 iff1$>""thenf$=f1$:gosub2690
1310 print" [146][157]";:ifxpthen1420
1320 iff2$>""thenf$=f2$:gosub2690:ife<20then1420
1330 s$="[133]"+left$(sp$,(33-len(bb$))/2)+bb$+" menu[133]":sysop
1340 s$="[133][$][196]irectory [[210]]ead textfile[133]":sysop
1350 s$="[#][195]hange drive [[212]]erminate[133]":sysop
1360 s$="[[195]]hat request [[213]]pload file[133]":sysop
1370 s$="[[196]]ownload file [[215]]rite textfile[133]":sysop
1380 s$="[[198]]eedback to sysop [[216]]pert toggle[133]":sysop
1390 s$="[[208]]rotocol[133]":sysop:ifsy=0then1420
1400 s$="[133][@][196]isk command [[218]][210]ead feedback[133]":sysop
1410 s$="[[204]]og of callers[133]":sysop
1420 s$="[133][$,#,[195],[196],[198],[208],[210],[212],[213],[215],[216]]: ":sysop
1430 gosub2630:ifcdthen1990
1440 ifa$="?"ora$="h"thens$="[205]enu[133]":sysop:goto1320
1450 ifa$="@"andsythens$="[196]isk command[133]":sysop:goto3830
1460 ifa$="$"thens$="[196]irectory[133]":sysop:goto1610
1470 ifa$="#"thens$="[195]hange drive[133]":sysop:goto2130
1480 ifa$="c"thens$="[195]hat[133]":sysop:goto1660
1490 ifa$="d"thens$="[196]ownload[133]":sysop:goto2730
1500 ifa$="f"thens$="[198]eedback[133]":sysop:goto3360
1510 ifa$="l"andsythens$="[204]og of callers[133]":sysop:goto3800
1520 ifa$="p"thens$="[208]rotocol[133]":sysop:goto1740
1530 ifa$="r"thens$="[210]ead textfile[133]":sysop:goto1900
1540 ifa$="t"thens$="[212]erminate[133]":sysop:goto1950
1550 ifa$="u"thens$="[213]pload[133]":sysop:goto3090
1560 ifa$="w"thens$="[215]rite textfile[133]":sysop:goto2050
1570 ifa$="x"thens$="[197]xpert toggle[133]":sysop:goto2110
1580 ifa$="z"andsythens$="[210]ead feedback[133]":sysop:goto3770
1590 ifa$=chr$(13)then1310
1600 goto1430
1610 ifdd$>""thens$="[133][196]irectory: "+dd$+"[133]":sysop
1620 s$="[133]":sysop:open1,dv,0,"$"+left$(dv$,len(dv$)-1):get#1,a$,a$
1630 sysml+54:ifmid$(z$,7,1)="\"andsy=0then1630
1640 s$=z$+"[133]":sysop:ifright$(z$,1)<>"."andright$(z$,4)<>"free"then1630
1650 close1:gosub2240:goto1310
1660 s$="[133][208]aging sysop...":sysop:j=0:fori=1to5:s$=".":sysop
1670 fort=1to1500:next:geta$:ifa$="[133]"thenj=1:i=5
1680 next:ifj=0thens$="[133][133]"+sy$+" is not available.[133]":goto1310
1690 s$="[133][133][197]ntering chat[133][133]":sysop
1700 geta$:get#5,b$:ifa$>""thens$=a$:sysop
1710 ifb$>""thens$=chr$(peek(rv+asc(b$))):sysop
1720 ifa$<>"[133]"then1700
1730 s$="[133][204]eaving chat[133]":sysop:goto1310
1740 open1,dp,0,"$"+dv$+"prt.*":gosub2340:iferthenclose1:goto1310
1750 get#1,a$,a$:sysml+54:fl=0
1760 sysml+54:ifright$(z$,1)="."orright$(z$,4)="free"then1810
1770 f$="":fori=11to22:a$=mid$(z$,i,1):ifa$=chr$(34)theni=22:goto1790
1780 f$=f$+a$
1790 next:iff$=""then1760
1800 fl=fl+1:f$(fl)=f$:goto1760
1810 close1:iffl=0thens$="[133][206]o protocol files[133]":goto1310
1820 s$="[133][211]elect protocol:[133][133]":sysop
1830 fori=1tofl:s$=chr$(i+192)+") "+f$(i)+"[133]":sysop:next:s$="[133][211]elect: ":sysop
1840 gosub2630:ifcdthen1990
1850 ifa$=chr$(13)thens$=a$:sysop:goto1310
1860 ifa$<"a"ora$>chr$(fl+64)then1840
1870 s$=chr$(asc(a$)+128)+"[133]":sysop:p=asc(a$)-64:f$="prt."+f$(p)
1880 open2,dp,0,dv$+f$:gosub2340:close2:ifer=0thengosub4340:pt$=f$(p):gosub3070
1890 goto1310
1900 s$="[133][198]ile name: ":sysop:p9=16:gosub2510:ifi$=""then1310
1905 ifleft$(i$,1)="\"andsy=0theni$=mid$(i$,2)
1910 s$="[133]":sysop:open2,dv,2,dv$+i$+",s":gosub2340:iferthen1940
1920 poke781,2:sysml+60:f=st:sysop:iff=0then1920
1930 gosub2240
1940 close2:goto1310
1950 gosub2360:ify=0then1310
1960 iff3$>""thenf$=f3$:gosub2690
1970 s$="[133][199]oodbye![133]":sysop
1980 sysmd:syssl+6:ifpeek(780)thenfort=1to2500:next:goto1980
1990 gosub3880:print" ":printn$" logged out at "tm$
2000 open2,dp,2,dp$+"\caller log,s,a":input#15,e
2010 ife>19thenclose2:open2,dp,2,dp$+"\caller log,s,w"
2020 print#2,left$(n$+"...............................",23)t1$"-"tm$:close2
2030 lc$=n$:of$=tm$:nc=nc+1:ifsythensc=sc+1
2040 gosub4090:goto980
2050 s$="[133][198]ile name: ":sysop:p9=16:gosub2510:ifi$=""then1310
2060 open2,dv,2,dv$+i$+",s,w":gosub2340:iferthen2100
2070 s$="[133][197]nter text one line at a time.[133]":sysop
2080 s$="[197]nter the @ symbol by itself to end.[133][133]":sysop
2090 p9=78:gosub2510:ifi$<>"@"thensysml+24:print#2,i$:sysml+21:goto2090
2100 close2:goto1310
2110 xp=1-xp:ifxpthens$="[133][197]xpert mode [207][206][133]":sysop:goto1310
2120 s$="[133][197]xpert mode [207][198][198][133]":sysop:goto1310
2130 ifdd=1thens$="[133][207]nly one drive available[133]":sysop:goto1310
2140 s$="[133][211]elect drive:[133][133]":sysop:fori=1todd:s$=chr$(i+192)+") ":sysop
2150 ifdd$(i)>""thens$=dd$(i)+"[133]":goto2170
2160 s$="[196]evice"+str$(d%(i))+", [196]rive "+left$(d$(i),len(d$(i))-1)+"[133]"
2170 sysop:next:s$="[133][211]elect: ":sysop
2180 gosub2630:ifcdthen1990
2190 ifa$=chr$(13)thens$=a$:sysop:goto1310
2200 ifa$<"a"ora$>chr$(dd+64)then1840
2210 d=asc(a$)-64:s$=chr$(d+192)+"[133]":sysop:dd$=dd$(d):dv=d%(d):dv$=d$(d)
2220 close14:open14,dv,15:close14:if128andstthen2140
2230 open14,dv,15:goto1310
2240 ifxpthenreturn
2245 s$="[133]* [200]it a key *":sysop:gosub2630:s$="[133]":sysop:return
2250 print"[211]ave stats? [146][157]";
2260 geta$:ifa$<>"y"anda$<>"n"then2260
2270 ifa$="n"thenprint"no":goto2300
2280 print"yes":print#15,"s"dp$"\stats":open2,dp,2,dp$+"\stats,s,w":print#2,q$lc$
2290 print#2,q$of$:print#2,nc:print#2,sc:print#2,nu:print#2,nd:print#2,nf:close2
2300 poke6,255:open2,dp,0,dp$+"prog menu":input#15,e:close2:ife>19then2320
2310 loaddp$+"prog menu",dp
2320 open2,dp,0,dp$+"novaterm ?.?*":input#15,e:close2:ife>19thenend
2330 loaddp$+"novaterm ?.?*",dp
2340 er=0:input#14,e,e$:ife>19thener=1:s$="[133]"+e$+"[133]":sysop
2350 return
2360 s$="[133][193]re you sure? ":sysop
2370 gosub2630:ifcdtheny=0:return
2380 ifa$="y"thens$="yes[133]":sysop:y=1:return
2390 ifa$="n"thens$="no[133]":sysop:y=0:return
2400 goto2370
2410 open9,3:poke780,p9:sysml+39:close9:return
2510 i$="":cd=0
2520 iflc=0thenget#5,b$:ifb$>""then2560
2530 iflc=0thensyssl+6:ifpeek(780)=0theni$="":cd=1:return
2540 geta$:ifa$=""then2520
2550 goto2570
2560 a$=chr$(peek(rv+asc(b$)))
2570 if(asc(a$)and127)<32then2600
2580 iflen(i$)=p9then2520
2590 i$=i$+a$:s$=a$:sysop:goto2520
2600 ifa$=chr$(20)andi$>""theni$=left$(i$,len(i$)-1):s$=a$:sysop:goto2520
2610 ifa$=chr$(13)thens$=a$:sysop:return
2620 goto2520
2630 iflc=0thenget#5,a$:ifa$>""then2660
2640 iflc=0thensyssl+6:ifpeek(780)=0thencd=1:return
2650 geta$:ifa$=""then2630
2660 a=peek(rv+asc(a$)):ifa>=97anda<=122thena=a-32
2670 ifa>=193anda<=218thena=a-128
2680 a$=chr$(a):return
2690 open2,dp,2,dp$+f$:input#15,e:ife>19thenclose2:return
2700 s$="[133]":sysop
2710 poke781,2:sysml+60:f=st:sysop:iff=0then2710
2720 close2:return
2730 iflcthens$="[133][195]an't download in local mode[133]":sysop:goto1310
2735 s$="[133][208]rotocol: "+pt$+"[133]":sysop:tt=0:if(peek(pt+14)and8)then2890
2740 s$="[133][198]ile name: ":sysop:p9=16:gosub2510:ifi$=""then1310
2750 ifleft$(i$,1)="\"andsy=0theni$=mid$(i$,2)
2760 ts=0:open1,dv,0,"$"+dv$+i$:gosub2340:iferthenclose1:goto1310
2770 get#1,a$,a$:sysml+54:sysml+54:close1
2780 ifright$(z$,1)="."orright$(z$,4)="free"thents=1
2790 iftsthens$="[133][198]ile not found[133]":sysop:goto1310
2810 tt$=mid$(z$,25,3):tp$=left$(tt$,1):tt=-(tp$="p")-2*(tp$="s")-3*(tp$="u")
2820 s$="[133][198]ile name: "+i$+"[133][198]ile type: "+tt$+"[133][198]ile blocks:"+str$(val(z$))+"[133]"
2830 sysop:open2,dv,2,dv$+i$:gosub2340:iferthenclose2:goto1310
2840 gosub3355:s$="[133][194][194][211] ready to send file[133][208]ress [195]trl-[216] to abort[133]":sysop
2850 print" ":print"[194]ytes sent : [197]rrors :";
2860 pokept+16,tt:syspt-9:print:nd=nd+1
2870 ifpeek(pt+15)thens$="[133][196]ownload aborted[133]":sysop:nd=nd-1
2880 close2:goto1310
2890 s$="[133][197]nter a blank file name to end.[133][133]":sysop:fl=0
2900 s$="[206]ame of file"+str$(fl+1)+": ":sysop:p9=16:gosub2510:ifi$=""then2950
2910 ifleft$(i$,1)="\"andsy=0theni$=mid$(i$,2)
2920 open2,dv,2,dv$+i$:input#14,e:close2:ife>19then2900
2940 fl=fl+1:f$(fl)=i$:iffl<9then2900
2950 f$(fl+1)="":iffl=0then1310
2960 s$="[133][194][194][211] ready to send files[133][208]ress [195]trl-[216] to abort[133]":sysop
2970 syspt-9:ff=0:fory=1tofl+1:i$=f$(y):ifi$=""then3030
2980 open1,dv,0,"$"+dv$+i$:gosub2340:iferthenclose1:goto1310
2990 get#1,a$,a$:sysml+54:sysml+54:close1
3000 tp$=mid$(z$,25,1):tt=-(tp$="p")-2*(tp$="s")-3*(tp$="u")
3010 open2,dv,2,dv$+i$:gosub2340:iferthenclose2:goto3050
3020 print" ":print"[211]ending "i$:print"[194]ytes sent : [197]rrors :";
3030 pokept+16,tt:syspt-9:close2:print
3040 ifpeek(pt+15)theny=fl+1
3050 ff=ff+1:next:ifpeek(pt+15)thens$="[133][196]ownload aborted[133]":sysop:ff=ff-1
3060 nd=nd+ff:goto1310
3070 pokept,1:pokept+18,dv:pokept+21,0:pokept+23,sp:pokept+24,val(dv$)
3080 pokept+14,peek(pt+14)or16:return
3090 iflcthens$="[133][195]an't download in local mode[133]":sysop:goto1310
3095 fl=0:s$="[133][208]rotocol: "+pt$+"[133]":sysop:if(peek(pt+14)and10)=0then3130
3100 b$="":ifpeek(pt+14)and8thenb$="s"
3110 h$="":s$="[133][200]ide the file"+b$+"? ":sysop:gosub2370:ifythenh$="\"
3115 gosub3355:s$="[133][194][194][211] ready to receive file"+b$+"[133][208]ress [195]trl-[216] to abort[133]"
3120 sysop:print" [145]";:goto3300
3130 s$="[133][198]ile name: ":sysop:p9=16:gosub2510:ifi$=""then1310
3140 open2,dv,2,dv$+i$:input#14,e:close2:ife<20thens$="[133][198]ile exists[133]":sysop:goto1310
3150 tp$="p":tt$="":ifpeek(pt+14)and1then3220
3160 s$="[133][198]ile type (prg,seq,usr): ":sysop
3170 gosub2630:ifcdthen1990
3180 ifa$=chr$(13)thens$=a$:sysop:goto1310
3190 ifa$<>"p"anda$<>"s"anda$<>"u"then3170
3200 tt=-(a$="p")-2*(a$="s")-3*(a$="u"):s$=mid$("prgsequsr",tt*3-2,3)+"[133]":sysop
3210 tp$=a$
3220 h$="":s$="[133][200]ide the file? ":sysop:gosub2370:ifythenh$="\"
3225 gosub3355:ifpeek(pt+14)and1then3285
3230 tt$=","+tp$:open2,dv,2,dv$+h$+i$+tt$+",w":gosub2340:fl=fl+1
3240 iferand(peek(pt+14)and8)=0thenclose2:goto1310
3250 iferande=63theni$=left$(i$,len(i$)-1)+chr$(asc(right$(i$,1))+1):goto3230
3260 iferthensyspt-3:goto3310
3270 a=peek(pt+14)and11:ifaanda<8theni$=""
3280 ifi$=""thenprint"[145]";:goto3300
3285 iffl=0ora=0thens$="[133][194][194][211] ready to receive file[133][208]ress [195]trl-[216] to abort[133]":sysop
3290 print" ":print"[210]eceiving: "i$tt$:print"[194]ytes recv : [197]rrors :";
3300 pokept+16,tt:syspt-6:close2:print:nu=nu+1
3310 ifpeek(pt+15)thens$="[133][213]pload aborted![133]":sysop:print#14,"s"dv$i$:nu=nu-1:goto1310
3320 if(peek(pt+14)and11)=0ori$=""then1310
3330 tt=peek(pt+16):tp$=mid$("psu",tt,1):iftt=0thentt=1:tp$="p"
3340 iflen(i$)>1thenifmid$(i$,len(i$)-1,1)=","thentp$=right$(i$,1):i$=left$(i$,len(i$)-2)
3350 i$=left$(i$,16):goto3230
3355 s$="[133][193][211][195][201][201][160]translation during transfer? ":sysop:gosub2370:pokept+22,y:return
3360 li=0:gosub3880
3370 s$="[133][198]rom: "+n$+"[133][212]ime: "+tm$+"[133][133][197]nter your message:[133][133]":sysop
3380 ifli=20thens$="[133][206]o more room[133]":goto3440
3390 fori=li+1to20:s$=right$(str$(i),2)+": ":sysop:p9=74:gosub2510:ifi$=""thenli=i-1:i=20
3400 ifi$>""thenms$(i)=i$
3410 next:ifli=0andms$(20)>""thenli=20:s$="[133][206]o more room[133]":sysop
3420 s$="[133][[193]]bort [[195]]ontinue message[133][[196]]elete line [[197]]dit line[133]"
3430 sysop:s$="[[201]]nsert line [[204]]ist message[133][[211]]ave message[133]":sysop
3440 s$="[133][[193],[195],[196],[197],[201],[204],[211]]: ":sysop
3450 gosub2630:ifcdthen1990
3460 s$=a$+"[133]":ifa$="?"thensysop:goto3420
3470 ifa$="a"thensysop:goto3750
3480 ifa$="c"thens$=s$+"[133]":sysop:goto3380
3490 ifa$="d"thensysop:goto3580
3500 ifa$="e"thensysop:goto3610
3510 ifa$="i"thensysop:goto3650
3520 ifa$="l"thensysop:goto3680
3530 ifa$="s"thensysop:goto3700
3540 goto3450
3550 l=0:s$="[133][204]ine number: ":sysop:p9=2:gosub2510:ifi$=""thenreturn
3560 l=val(i$):ifl<1orl>lithenl=0
3570 return
3580 ifli=0then3440
3590 gosub3550:ifl=0then3440
3600 fori=l+1toli:ms$(i-1)=ms$(i):next:li=li-1:goto3440
3610 gosub3550:ifl=0then3440
3620 s$="[133]"+right$(str$(l),2)+": "+ms$(l)+"[133]"+right$(str$(l),2)+": ":sysop
3630 p9=74:gosub2510:ifi$=""then3440
3640 ms$(l)=i$:goto3440
3650 ifli=20then3440
3660 gosub3550:ifl=0then3440
3670 fori=litolstep-1:ms$(i+1)=ms$(i):next:li=li+1:ms$(l)="":goto3440
3680 s$="[133]":sysop:fori=1toli:s$=right$(str$(i),2)+": "+ms$(i)+"[133]":sysop:next
3690 goto3440
3700 gosub2360:ify=0then3440
3710 s$="[133][211]aving...[133]":sysop:open2,dp,2,dp$+"feedback,s,a":input#15,e
3720 ife>19thenclose2:open2,dp,2,dp$+"feedback,s,w"
3730 print#2:print#2,"[198]rom: "n$:print#2,"[212]ime: "tm$:print#2
3740 fori=1toli:print#2,ms$(i):next:close2:nf=nf+1:goto1310
3750 gosub2360:ify=0then3440
3760 s$="[133][193]borted[133]":sysop:goto1310
3770 f$="feedback":gosub2690:ife>19thens$="[133][206]o feedback[133]":sysop:goto1310
3780 s$="[133][196]elete messages? ":sysop:gosub2370:ifythenprint#15,"s"dp$"feedback":nf=0
3790 goto1310
3800 f$="\caller log":gosub2690:ife>19thens$="[133][206]o caller log[133]":sysop:goto1310
3810 s$="[133][196]elete caller log? ":sysop:gosub2370:ifythenprint#15,"s"dp$"\caller log"
3820 goto1310
3830 s$="[133][196]evice"+str$(dv)+", drive "+left$(dv$,len(dv$)-1)+"[133]":sysop
3840 s$="[133][196][207][211]>":sysop
3850 p9=50:gosub2510:ifi$=""then1310
3860 print#15,i$:input#15,e1$,e2$,e3$,e4$:s$="[133]"+e1$+","+e2$+","+e3$+","+e4$+"[133]":sysop
3870 goto3840
3880 h=peek(56587):m=peek(56586):a=peek(56584)
3890 a$="am":ifh>127thena$="pm":h=hand127
3900 h=h-int(h/16)*6:m=m-int(m/16)*6:m$=mid$(str$(m),2):ifm<10thenm$="0"+m$
3910 tm$=mid$(str$(h),2)+":"+m$+a$:return
3920 poke780,p:poke781,d:poke782,mx:pokedt+37,tu+tb:syssl+27:p=peek(780):tu=0:return
4090 open2,dp,2,dp$+"nova data 9.5":input#15,e:ife>19thenclose2:return
4100 input#2,v$:ifv$<>"9.5"thenclose2:return
4110 input#2,bd,di,d1,d2,d1$,d2$,d3,d3$,pn,ps,c1,c2,c3,c4,b,re,c7,c8,c9,xo,xf,xp,sw
4130 input#2,ld,c,d,e,f:fori=0to17:input#2,a:pokesa+40+peek(678)*18+i,a:next
4140 input#2,mi$,mo$,pt$,fo$:close2
4150 pokedt+25,b:pokedt+32,c:pokedt+8,d
4180 ifmo$>""thenf$="modem."+mo$:gosub4340:gosub4320:ife>19thenmo$=a1$
4190 ifpt$>""thenf$="prt."+pt$:gosub4340:gosub3070:ife>19thenpt$=a2$
4200 iffo$>""thenf$="font."+fo$:gosub4340:ife>19thenfo$=""
4230 f$="asc.standard":gosub4340
4240 poke53280,c1:poke53281,c2:poke646,c3:sysml+57
4260 ifsw=0thenpokedt+10,0:goto4300
4270 pokedt+10,1
4280 poke781,-222*(sw=1)-223*(sw=2)-215*(sw=3):sysml+63:a=peek(781)*256
4290 pokea+1,0:pokea+2,9
4300 ifmb>2thenmb=bd
4310 poke780,bd:sysml+33:return
4320 if(peek(m1+4)and2)=0thendi=0
4330 pokem1+4,(peek(m1+4)and3)ordi*4:mb=peek(m1):return
4340 sysml+24:poke780,dp:f$=dp$+f$:syssl+21:input#15,e:close2:sysml+21:return