0 REM * * * * * * * * * * 1 REM Shooting Star 2 REM By Disk Crasher 3 REM (C)OPYRIGHT 1985 4 REM * * * * * * * * * * 5 PRINT "" 9 POKE 1912 + 2, PEEK (1912 + 2) + 4: POKE 214,128 10 DR$ = ",S6,D1,V0" 50 POKE 51,0: CALL 1002: PRINT : PRINT CHR$ (4)"BLOADDRIVER DATA,A$3C0"DR$ 60 PRINT CHR$ (4)"BRUNGBBS II DRIVER,A" PEEK (969) * 256: PR# 0: POKE 56,102: POKE 57,213: CALL 1002 100 CLEAR : HIMEM: PEEK (969) * 256:A = FRE (0) 110 SP$ = " ": FOR X = 1 TO 6:SP$ = SP$ + SP$: NEXT X:SP$ = SP$ + MID$ (SP$,2):A = FRE (0): HIMEM: ( PEEK (969) - 1) * 256 120 VW = 39:ML = 50: DIM D$(57),T$(129),N%(129): REM D$=ML+7 130 DR$ = ",S6,D1,V0" 140 PRINT CHR$ (4)"OPENDATA"DR$: PRINT CHR$ (4)"READDATA": INPUT PR,CS,YR$,DA$: INPUT CN,MN,NU,CT 150 INPUT I,J,K,L,M,N,B1,B2,B3: INPUT SYS$,SN$: INPUT WM,CT$: INPUT MD$: INPUT A,S$: INPUT C,N$: PRINT CHR$ (4)"CLOSE" 152 DIM ZXV$(5) 156 PRINT CHR$ (4)"OPEN CHAT,D1": PRINT CHR$ (4)"READ CHAT": INPUT INC$: PRINT CHR$ (4)"CLOSE CHAT" 157 PRINT CHR$ (4)"OPEN BORDERLINES": PRINT CHR$ (4)"READ BORDERLINES": FOR BL = 1 TO 9: INPUT BRD$(BL): NEXT BL: PRINT CHR$ (4)"CLOSE BORDERLINES" 160 POKE 970,A: POKE 971,C: & G:EL$ = CHR$ (13):SC$ = CHR$ (14) + CHR$ (12): POKE 0,VW: POKE 1,0: POKE 2,0: POKE 961,0: POKE 960,0: POKE 964,0 170 V(0) = 40:V(1) = 54:V(2) = 64:V(3) = 80:V(4) = 132 180 O$(1) = "Verified user access!":O$(7) = "Sysop command level" 190 BB = 1:S = B1:D = B2:V = B3: GOSUB 8600: GOSUB 8400: IF CT$ < > DA$ THEN CT = 1:CT$ = DA$ 200 NORMAL : TEXT : HOME : PRINT TAB( 16)"The Den": PRINT : PRINT TAB( 11)"Copyright 1985 by": PRINT : PRINT TAB( 14)"Disk Crasher": VTAB 8: PRINT TAB( 5)"AWAITING CALL #"CN" ON "DA$: VTAB 22: PRINT TAB( (40 - LEN (SN$)) / 2)SN$ 210 VTAB 10: PRINT TAB( 6)"THIS WILL BE CALL #"CT" TODAY": & H: POKE 960,0: VTAB 6: CALL - 958: POKE - 16368,0:BB = 0: PRINT "":O$ = SC$: GOSUB 7000:T0 = 0: GOSUB 8400:T0 = T:CM$ = DA$ + " " + T$ 501 O$ = EL$ + EL$ + "-=> Welcome to " + SN$ + " <=-" + EL$: GOSUB 7000 505 O$ = " >> Located in Auburn, Wa. <<" + EL$: GOSUB 7000 510 O$ = EL$ + "What is your last name?" + EL$ + ":=>": GOSUB 7000: GOSUB 8200:A2$ = I$ 515 IF A2$ = "SCHAEFER" OR A2$ = "15" OR A2$ = "ORTON" OR A2$ = "TYRANT" OR A2$ = "TOMMY THE" OR A2$ = "IVAN" OR A2$ = "RAT" OR A2$ = "SILICON" OR A2$ = "FORMULA" THEN O$ = EL$ + "Get out of here!!": GOSUB 7000: GOTO 100 516 IF A2$ = "CRASHER" THEN O$ = EL$ + "NICE TRY!": GOSUB 7000: FOR PD = 1 TO 3000: IF PEEK ( - 16286) > 127 THEN 519 517 IF A2$ < > "CRASHER" THEN 520 518 NEXT PD: GOTO 100 519 O$ = EL$ + "IN? ": GOSUB 7000: GOSUB 8200:INC$ = I$ 520 O$ = EL$ + "Password or NEW: (IN CAPITALS!)" + EL$ + ":=>": GOSUB 7000: POKE 1,88: GOSUB 8000:A3$ = I$: POKE 1,0: IF I$ = "NEW" THEN 580 530 O$ = EL$ + "Checking identification..." + EL$: GOSUB 7000 540 A3$ = LEFT$ (A3$ + " ",7):A = INT ( VAL ( MID$ (A3$,2))): IF A < 1 OR A > NU THEN 560 550 GOSUB 8500: IF A2$ = D2$ AND A3$ = D3$ THEN 1000 560 BB = BB + 1: IF BB < 3 THEN O$ = EL$ + "Nope: Try again!" + EL$: GOSUB 7000: GOTO 510 570 O$ = EL$ + EL$ + "Unauthorized access!!" + EL$ + EL$: GOSUB 7000: GOTO 100 580 D2$ = A2$:O$ = EL$ + "First name" + EL$ + ":=>": GOSUB 7000: GOSUB 8200:D1$ = I$ 590 A = LEN (D1$ + D2$): IF A > 20 THEN O$ = EL$ + "20 CHR'S (MAX)": GOSUB 7000: GOTO 510 600 O$ = EL$ + "Calling from (City, State)" + EL$ + ":=>": GOSUB 7000: GOSUB 8000:D5$ = I$ 610 IF A + LEN (D5$) > 25 THEN O$ = EL$ + "Too long: Max=" + STR$ (25 - A) + EL$: GOSUB 7000: GOTO 600 620 O$ = EL$ + "Phone number XXX-XXX-XXXX" + EL$ + ":=>": GOSUB 7000: GOSUB 8200:D4$ = I$: IF LEN (I$) < > 12 THEN 620 630 D4$ = LEFT$ (I$,3) + "-" + MID$ (I$,5,3) + "-" + MID$ (I$,9) 640 O$ = EL$ + "You are:" + EL$ + EL$ + D1$ + " " + D2$ + EL$ + D5$ + EL$ + D4$ + EL$ + EL$ + "Correct? ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN O$ = EL$: GOSUB 7000: GOTO 510 650 O$ = EL$ + "Please enter 'P' for a password" + EL$ + "or 'G' for one-time guest pass" + EL$ + ":=>": GOSUB 7000: GOSUB 8300: IF I$ = "G" OR I$ = "g" THEN 790 660 F$ = "NEW USER INFO":S = I:D = J:V = K:RT = 5: GOSUB 9000: GOSUB 7100: IF NOT X THEN O$ = EL$ + "You didn't leave any info. You can't": GOSUB 7000:O$ = EL$ + "have any access unless you do!": GOSUB 7000 661 IF NOT X THEN O$ = EL$ + "So call back if you want": GOSUB 7000:O$ = EL$ + "to get in! Goodbye...": GOSUB 7000: GOTO 100 670 O$ = EL$ + "Hold on...": GOSUB 7000: PRINT CHR$ (4)"OPENUSERS,L64":A = 1:Z = 0:O$ = ".":A$ = D1$ + "," + D2$ 680 PRINT CHR$ (4)"READUSERS,R"A: & E / ZZ$: IF ZZ$ = A$ THEN PRINT CHR$ (4)"CLOSE":O$ = EL$ + EL$ + "Name in use!" + EL$ + EL$: GOSUB 7000: GOTO 510 690 IF ZZ$ = "EMPTY,X" AND NOT Z THEN Z = A 700 A = A + 1: IF A / 20 = INT (A / 20) THEN GOSUB 7000 710 IF A < NU THEN 680 720 PRINT CHR$ (4)"CLOSE":A = Z: IF NOT Z THEN NU = NU + 1:A = NU 730 POKE 202, PEEK (78): POKE 203, PEEK (79):A$ = "": FOR X = 1 TO 4:A$ = A$ + CHR$ ( INT ( RND (1) * 26) + 65): NEXT :A$ = LEFT$ (A$,1) + RIGHT$ ("00" + STR$ (A),3) + MID$ (A$,2) 740 A$ = LEFT$ (A$,7):O$ = EL$ + EL$ + "Your password will be" + EL$ + " :=>" + A$ + EL$ + "Please write it down" + EL$: GOSUB 7000 750 PRINT CHR$ (4)"OPENREQUEST": PRINT CHR$ (4)"APPENDREQUEST": PRINT CHR$ (4)"WRITEREQUEST": PRINT VAL ( MID$ (A$,2)): PRINT "(> NEW USER DATA" 760 PRINT "(> "D1$" "D2$: PRINT "(> "D5$: PRINT "(> "D4$: PRINT "(> "A$: PRINT : FOR Z = 1 TO X: PRINT D$(Z): NEXT Z: PRINT CHR$ (31): PRINT CHR$ (4)"CLOSE" 770 F = 0:D3$ = A$:D6$ = DA$:C = 0:Z = 0: GOSUB 7810 780 A3$ = D3$:A2$ = D2$:O$ = EL$ + "Press to enter " + SN$: GOSUB 7000:CR = 1: GOSUB 8000: GOTO 540 790 F = 0:A3$ = "GUEST ":D6$ = "NEVER":Z = 0:C = 0: GOTO 1000 1000 IF D5$ = "XXX" THEN O$ = EL$ + "Calling from (City, State)" + EL$ + ":=>": GOSUB 7000: GOSUB 8000:D5$ = I$: IF LEN (D1$ + D2$ + D5$) > 25 THEN O$ = EL$ + "Too long, try again." + EL$: GOSUB 7000:D5$ = "XXX": GOTO 1000 1010 A1$ = D1$:A4$ = D4$:LR = Z:NB = Z:NN = Z: POKE 972,F:A5$ = D5$:A6$ = D6$:VD = C: IF C > 4 THEN VD = C - 5:UP = 1 1020 VW = V(VD) - 1: POKE 0,VW:O$ = SC$ + EL$ + "Name :=>" + A1$ + " " + A2$ + EL$ + "From :=>" + A5$ + EL$ + "Last on :=>" + A6$ + EL$ + "You are caller #" + STR$ (CN) + EL$: GOSUB 7000: IF A3$ = "GUEST " THEN 1040 1021 FOR X = 1 TO 1500 1022 NEXT X 1030 IF A1$ + " " + A2$ = SYS$ THEN POKE 972, PEEK (972) + 64 1040 TEXT : HOME : INVERSE : PRINT SPC( 160);: VTAB 1: HTAB 1: PRINT MD$ LEFT$ (MD$,1);: PRINT "#"CN" "A1$" "A2$" "A5$;: HTAB 35: PRINT "[++++]";: PRINT "TELE:"A4$" "A3$; PEEK (972)" ON "A6$: VTAB 4: PRINT MD$ LEFT$ (MD$,1): POKE 34,4: VTAB 5: NORMAL 1050 IF LR < WM THEN F$ = "SYSTEM NEWS":S = I:D = J:V = K:RT = 1: GOSUB 9000: IF LR + 1 = WM THEN LR = WM 1060 CN = CN + 1:CT = CT + 1:O$ = EL$ + "Welcome to The Shooting Star!" + EL$ + EL$ + "Today is " + DA$ + EL$ + EL$ + "SYSOP ->" + SYS$ + EL$ + EL$ + "Messages from 1 to " + STR$ (AM): GOSUB 7000 1065 IF INC$ = "Y" THEN O$ = EL$ + "Sysop is >IN<": GOSUB 7000 1066 IF INC$ = "N" THEN O$ = EL$ + "Sysop is >OUT<": GOSUB 7000 1067 IF INC$ = "M" THEN O$ = EL$ + "Sysop might answer chat.": GOSUB 7000 1070 IF LR < N%(AM) THEN O$ = EL$ + "There are new messages!": GOSUB 7000 1075 O$ = EL$ + "You will have 10 moves to use up!": GOSUB 7000:MOV = 10:MOV$ = "10" 1080 IF A3$ = "GUEST " THEN GOSUB 8900: GOTO 1200 1090 IF NOT USR (7) THEN 1130 1100 ONERR GOTO 1130 1110 PRINT CHR$ (4)"UNLOCKREQUEST" 1120 O$ = EL$ + "There are new users...": GOSUB 7000:RQ = 1 1130 ONERR GOTO 1150 1140 PRINT CHR$ (4)"BLOADM-"A1$" "A2$",S"L",D"M",V"N 1150 GOSUB 8900: IF PEEK (222) < > 13 THEN O$ = EL$ + "No mail for you.": GOSUB 7000: GOTO 1200 1160 MA = 1:O$ = EL$ + CHR$ (7) + "You have mail waiting!" + EL$ + EL$ + "Read it now? ": GOSUB 7000: GOSUB 8300: IF I$ = "Y" THEN GOSUB 6500 1200 RT = 2:S = I:D = J:V = K:RN = INT ( RND (1) * 9) + 1:O$ = EL$ + BRD$(RN): GOSUB 7000:O$ = EL$ + "[" + MOV$ + "]": GOSUB 7000:O$ = EL$ + "Command (?=Menu):" 1210 GOSUB 7000: GOSUB 8000: GOSUB 1220: GOTO 1200 1220 IF NOT USR (1) THEN 1300 1230 IF I$ = "?" THEN F$ = "MENU1": GOSUB 10000: GOTO 9000 1235 IF I$ = "PLAY" THEN 13000 1240 IF I$ = "S" THEN GOSUB 10000: GOTO 6000 1250 IF I$ = "U" THEN GOSUB 10000: GOTO 4300 1260 IF I$ = "Z" THEN GOSUB 10000: GOTO 4650 1270 IF I$ = "D" THEN S = I:D = J:V = K:DB = 1: GOSUB 10000: GOTO 4500 1280 IF I$ = "O" THEN F$ = "BBS #S": GOSUB 10000: GOTO 9000 1290 IF I$ = "G" THEN GF = 1:S = I:D = J:V = K: GOSUB 10000: GOTO 4800 1300 IF I$ = "?" THEN F$ = "MENU0": GOSUB 10000: GOTO 9000 1310 IF I$ = "T" OR I$ = "OFF" THEN 4000 1320 IF I$ = "N" THEN 4600 1330 IF I$ = "C" THEN GOSUB 10000:CHT = CHT + 1: GOTO 4100 1340 IF I$ = "B" THEN GOSUB 10000: GOTO 12100 1350 IF I$ = "R" THEN GOSUB 10000: GOTO 6500 1360 IF I$ = "E" THEN GOSUB 10000: GOTO 4200 1370 IF I$ = "F" THEN GOSUB 10000: GOTO 4400 1380 IF I$ = "!" AND (UP OR USR (7)) THEN S = I:D = J:V = K: GOSUB 10000: GOTO 4900 1385 IF I$ = "L" AND USR (1) THEN GOSUB 10000: GOTO 11000 1390 IF I$ = "_" THEN FOR PD = 1 TO 200: IF PEEK ( - 16286) > 127 THEN POP : GOTO 7500 1391 IF I$ < > "_" THEN 1395 1392 NEXT PD 1395 IF USR (7) THEN POP : GOTO 7500 1400 IF I$ = "I" THEN F$ = "SYSTEM INFO": GOSUB 10000: GOTO 9000 1410 IF I$ = "H" THEN F$ = "SYSTEM HELP": GOSUB 10000: GOTO 9000 1420 IF I$ = "$" THEN F$ = "SYSTEM NEWS": GOSUB 10000: GOTO 9000 1430 IF I$ = "V" THEN 4700 1440 O$ = EL$ + "What?" + EL$: GOTO 7000 4000 O$ = EL$ + "Terminate" + EL$ + EL$ + "Confirm (Y/N)? ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN RETURN 4005 IF MA = 2 THEN O$ = EL$ + "Delete mail? ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN MA = 1 4010 O$ = EL$ + "Goodbye " + A1$ + ", you were caller #" + STR$ (CN - 1) + EL$ + EL$ + "Thanks for calling " + SN$ + "!": GOSUB 7000 4015 GOSUB 8400: IF T THEN Z = INT (T / 60):T = T - (Z * 60):O$ = EL$ + EL$ + "CONNECTED " + STR$ (Z) + " MINUTES, " + STR$ (T) + " SECONDS": GOSUB 7000 4020 O$ = EL$ + EL$ + MD$ + EL$ + "The Shooting Star (C)opyright 1985" + EL$ + MD$ + EL$ + EL$ + EL$: GOSUB 7000 4025 & I: POKE 216,0: IF A1$ = "" THEN 100 4030 IF USR (7) THEN CN = CN - 1:CT = CT - 1 4031 PRINT CHR$ (4)"OPEN CHAT,D1": PRINT CHR$ (4)"WRITE CHAT": PRINT INC$: PRINT CHR$ (4)"CLOSE CHAT" 4032 PRINT CHR$ (4)"OPEN BORDERLINES,D1": PRINT CHR$ (4)"WRITE BORDERLINES": FOR BL = 1 TO 9: PRINT BRD$(BL): NEXT BL: PRINT CHR$ (4)"CLOSE BORDERLINES" 4035 GOSUB 8700: PRINT CHR$ (4)"OPENDATA"DR$: PRINT CHR$ (4)"WRITEDATA": PRINT PR","CS","YR$","DA$: PRINT CN","MN","NU","CT: IF UP THEN VD = VD + 5 4040 PRINT I","J","K","L","M","N","B1","B2","B3: PRINT SYS$","SN$: PRINT WM","CT$: PRINT MD$: PRINT PEEK (970)","S$: PRINT PEEK (971)","N$: PRINT CHR$ (4)"CLOSE": IF A3$ = "GUEST " THEN 4055 4045 PRINT CHR$ (4)"OPENUSERS,L64": PRINT CHR$ (4)"WRITEUSERS,R" VAL ( MID$ (A3$,2)):X = PEEK (972): IF X > 63 THEN X = X - 64 4050 PRINT A1$","A2$: PRINT DA$","A3$ CHR$ (X + 48)A4$VD;LR: PRINT A5$: PRINT CHR$ (4)"CLOSE" 4055 GOSUB 8400:X = T:Z = INT (X / 60):X = X - (Z * 60): IF USR (7) AND NOT ER THEN 4075 4060 PRINT CHR$ (4)"OPENLOG": PRINT CHR$ (4)"APPENDLOG": PRINT CHR$ (4)"WRITELOG": PRINT "CALL #"CN - 1" / CONNECTED AT "CM$" / "A1$" "A2$" OF "A5$ 4065 PRINT "LAST DATE ON "A6$" / "A4$" "A3$" " PEEK (972): IF T THEN PRINT "CONNECTED "Z" MINS, "X" SECS" 4070 IF ER THEN PRINT "ERROR! - ERROR #"ER" IN LINE "C 4075 PRINT : PRINT CHR$ (4)"CLOSE": IF MA = 2 THEN PRINT CHR$ (4)"DELETEM-"A1$" "A2$",S"L",D"M",V"N 4080 GOTO 100 4100 IF CHT < 2 THEN O$ = EL$ + "Paging SYSOP:": GOSUB 7000: FOR A = 1 TO 5: CALL 64477: CALL 64477 4110 IF CHT > 1 THEN O$ = EL$ + "You've already paged him!" + EL$: GOTO 7000 4115 IF PEEK ( - 16384) < 128 THEN NEXT : POKE 1187,67: POKE 1188,72: POKE 1189,65: POKE 1190,84:O$ = " He may answer soon.": GOTO 7000 4120 POKE - 16368,0: POKE 1187,43: POKE 1188,43: POKE 1189,43: POKE 1190,43:A$ = EL$ + EL$ + ">>>>>>>>> IN CHAT MODE <<<<<<<<<" + CHR$ (7) + EL$ + EL$: & B / A$: POKE 2,0 4130 POKE 1,128: & A / SP$: POKE 1,0: IF PEEK (961) THEN POKE 961,0:O$ = EL$ + ">> SYSOP BOOGIED <<" + EL$: GOTO 7000 4140 IF PEEK (960) = 255 THEN 4025 4150 IF SP$ = "" THEN O$ = EL$: GOSUB 7000 4170 CHT = 0: GOTO 4130 4200 O$ = EL$ + " Your status:" + EL$ + EL$ + "Name :=> " + A1$ + " " + A2$ + EL$ + "From :=> " + A5$: GOSUB 7000 4210 O$ = EL$ + "Phone # : " + A4$ + EL$ + "Last on : " + A6$ + EL$ + "Level # : " + STR$ ( PEEK (972)) + EL$: GOSUB 7000 4220 O$ = EL$ + "You are caller : " + STR$ (CN - 1) + EL$ + "Today's calls : " + STR$ (CT - 1) + EL$: GOSUB 7000 4230 GOSUB 8400: IF T THEN Z = INT (T / 60):T = T - (Z * 60):O$ = EL$ + "LOGON TIME : " + CM$ + EL$ + "CONNECTED : " + STR$ (Z) + " MINS, " + STR$ (T) + " SECS" + EL$: GOSUB 7000 4240 O$ = EL$ + "[ OPTIONS ACTIVE ]" + EL$: GOSUB 7000: FOR X = 1 TO 7: IF USR (X) THEN O$ = EL$ + O$(X): IF O$ < > EL$ THEN GOSUB 7000 4250 NEXT X: IF NOT PEEK (972) THEN O$ = EL$ + "Limited system access.": GOTO 7000 4260 IF UP THEN O$ = EL$ + "Upload file ability = !": GOSUB 7000 4270 RETURN 4300 O$ = EL$ + "User List" + EL$ + EL$ + "Matchletters (=All,?):":CR = 1: GOSUB 7000: GOSUB 8200:D3$ = I$:I$ = "": IF D3$ = "?" THEN F$ = "USERLIST HELP": GOSUB 9000: GOTO 4300 4310 IF USR (7) THEN O$ = EL$ + "Show passwords? ": GOSUB 7000: GOSUB 8300:YS$ = I$ 4320 POKE 960,0:O$ = EL$ + S$: GOSUB 7000: PRINT CHR$ (4)"OPENUSERS,L64"DR$:X = 1: IF LEFT$ (D3$,1) = "#" THEN X = INT ( VAL ( MID$ (D3$,2))):D3$ = "": IF NOT X OR X > NU THEN X = 1 4330 & N: PRINT CHR$ (4)"READUSERS,R"X: INPUT D1$,D2$: IF D1$ = "EMPTY" THEN 4380 4340 INPUT D6$,A$: & E / ZZ$:D4$ = MID$ (A$,9,12): IF MID$ (D1$ + " " + D2$,1, LEN (D3$)) < > D3$ THEN 4380 4350 O$ = EL$ + EL$ + "#" + STR$ (X) + " " + D1$ + " " + D2$ + " Last on: " + D6$ + EL$: GOSUB 7000 4360 O$ = " From: " + MID$ (ZZ$,1): IF MID$ (D4$,4,1) = " " OR USR (7) THEN O$ = O$ + " " + D4$ 4370 GOSUB 7000: IF YS$ = "Y" THEN O$ = EL$ + "PASS: " + LEFT$ (A$,7) + " Sec: " + STR$ ( ASC ( MID$ (A$,8,1)) - 48): GOSUB 7000 4380 IF PEEK (960) < > PEEK (970) AND X < NU THEN X = X + 1: GOTO 4330 4390 POKE 960,0: PRINT CHR$ (4)"CLOSE": RETURN 4400 O$ = EL$ + ":=> FEEDBACK <=:" + EL$: GOSUB 7000: GOSUB 7100: IF NOT X THEN RETURN 4410 D2$ = " :=> FEEDBACK FROM A USER <=:": IF A3$ = "GUEST " THEN D2$ = " :=> FEEDBACK FROM A GUEST <=:" 4420 D3$ = ".feedback saved!":D1$ = SYS$:CR = 1: GOTO 6800 4500 O$ = EL$ + "Today's downloads are:" + EL$: GOSUB 7000: PRINT CHR$ (4)"OPEND"DB",S"S",D"D",V"V: PRINT CHR$ (4)"READD"DB:X = 1 4505 & E / ZZ$:D$(X) = MID$ (ZZ$,1): IF D$(X) < > CHR$ (0) THEN X = X + 1: GOTO 4505 4510 X = X - 1: PRINT CHR$ (4)"CLOSE": IF NOT X THEN O$ = EL$ + "NO DOWNLOADS TODAY": GOTO 7000 4515 O$ = EL$ + MD$ + EL$ + "## LEN NAME OF THE PROGRAM" + EL$ + MD$ + EL$: GOSUB 7000 4520 FOR Z = 1 TO X:O$ = RIGHT$ ("0" + STR$ (Z),2) + " " + D$(Z) + EL$: GOSUB 7000: NEXT 4525 O$ = MD$ + EL$ + "Note: 1 unit takes 9 seconds!" + EL$ + MD$ + EL$: GOSUB 7000 4530 O$ = EL$ + "Download which 1-" + STR$ (X) + " 0=List =Quit:": GOSUB 7000:CR = 1: GOSUB 8100: IF I$ = "" THEN RETURN 4535 IF A = 0 THEN 4515 4540 IF A > X THEN 4530 4545 Z = 0:O$ = EL$ + "If you have a micromodem ][, then should" + EL$ + SN$ + " auto-save to" + EL$ + "your disk? ": GOSUB 7000: GOSUB 8300: IF I$ = "Y" THEN Z = 1 4550 O$ = EL$ + "Are you sure? ": GOSUB 7000: GOSUB 8000: IF LEFT$ (I$,1) < > "Y" THEN 4530 4555 O$ = EL$ + "PRESS >RETURN< TO START DOWNLOAD": GOSUB 7000:CR = 1: GOSUB 8000: IF Z THEN O$ = CHR$ (18) + EL$: GOSUB 7000:C = PEEK (964): POKE 964,20 4560 F$ = "D" + STR$ (DB) + "/" + STR$ (A):RT = 1: GOSUB 9000: IF Z THEN POKE 964,C: FOR A = 1 TO 9000: NEXT :O$ = EL$ + "POKE1720+PEEK(2040),138" + EL$ + EL$ + EL$: GOSUB 7000 4565 O$ = EL$ + "* DOWNLOAD COMPLETE *": GOSUB 7000: GOTO 4530 4600 O$ = EL$ + "Set Nulls" + EL$ + EL$ + "From " + STR$ ( PEEK (964)) + " to (0-255):": GOSUB 7000:CR = 1: GOSUB 8100: IF (A > - 1 AND A < 256) AND I$ < > "" THEN POKE 964,A 4610 O$ = EL$ + "New null value = " + STR$ ( PEEK (964)): GOTO 7000 4650 O$ = EL$ + "Change Phone Number Status" + EL$ + EL$ + "Make phone visible to other users? ": GOSUB 7000: GOSUB 8300:A$ = "-": IF I$ = "Y" THEN A$ = " " 4660 A4$ = LEFT$ (A4$,3) + A$ + RIGHT$ (A4$,8): RETURN 4700 O$ = EL$ + "Current video width = " + STR$ (V(VD)) + EL$ + EL$ + "New width (40,54,64,80,132)? ": GOSUB 7000:CR = 1: GOSUB 8100: IF I$ = "" THEN 4730 4710 Z = 5: FOR X = 0 TO 4: IF A = V(X) THEN Z = X 4720 NEXT : IF Z < 5 THEN VD = Z 4730 VW = V(VD) - 1: POKE 0,VW:O$ = EL$ + "Video width = " + STR$ (V(VD)): GOTO 7000 4800 PRINT CHR$ (4)"OPENG"GF",S"S",D"D",V"V: PRINT CHR$ (4)"READG"GF: & E / ZZ$:X = VAL (ZZ$): IF NOT X THEN PRINT CHR$ (4)"CLOSE":O$ = EL$ + "NO ACTIVE FILES": GOTO 7000 4810 O$ = EL$ + S$ + EL$ + EL$: GOSUB 7000: & C: PRINT CHR$ (4)"CLOSE": POKE 960,0 4820 O$ = EL$ + "Which 1-" + STR$ (X) + " (?=Menu,):": GOSUB 7000:CR = 1: GOSUB 8100: IF I$ = "" THEN RETURN 4830 IF I$ = "?" THEN 4800 4840 IF NOT A OR A > X THEN 4820 4850 F$ = "G" + STR$ (GF) + "/" + STR$ (A):RT = 2: GOSUB 9000: GOTO 4820 4900 O$ = EL$ + "Upload A File" + EL$ + EL$ + "1 time only -- proceed? ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN RETURN 4910 F$ = "U-" + A1$ + " " + A2$: PRINT CHR$ (4)"OPEN"F$",S"S",D2,V"V: PRINT CHR$ (4)"RID"F$:UP = 0 4920 PRINT CHR$ (4)"OPEN"F$: PRINT CHR$ (4)"WRITE"F$:O$ = EL$ + "255 COL, NO LINE MAX, 'DONE' TO END" + EL$: GOSUB 7000 4930 O$ = ">":CR = 1: POKE 0,255: POKE 1,128: GOSUB 7000: GOSUB 8000: POKE 0,VW: POKE 1,0: IF I$ < > "DONE" THEN PRINT I$: GOTO 4930 4940 PRINT CHR$ (4)"CLOSE":O$ = EL$ + "UPLOAD COMPLETE": GOSUB 7000: RETURN 5000 B$ = "B" + STR$ (BB) + "/":MM$ = "": GOSUB 8600 5010 IF AM THEN 5050 5020 O$ = EL$ + EL$ + "Leave message? ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN RETURN 5030 IF NOT USR (1) THEN O$ = EL$ + "Valid password required.": GOSUB 7000: IF I$ = "Y" THEN RETURN 5040 IF USR (1) THEN 5150 5050 O$ = EL$ + "[" + MOV$ + "]" + EL$ + "Option (?=Menu):": GOSUB 7000: GOSUB 8100:I$ = LEFT$ (I$,1): IF I$ = "A" OR I$ = "Q" THEN 8700 5060 IF I$ = "?" THEN O$ = EL$ + "Read: #, N)ew, F)orward, M)arked, " + EL$ + " S)can, E)nter, K)ill, A)bort": GOSUB 7000: GOTO 5050 5070 IF I$ = "E" OR I$ = "P" OR I$ = "L" THEN GOSUB 10000: GOTO 5030 5080 IF I$ = "K" AND USR (1) THEN GOSUB 10000: GOTO 5230 5090 IF A > 0 AND A < = AM THEN O$ = EL$ + S$: GOSUB 7000: GOSUB 10000: GOSUB 5700: GOTO 5050 5100 IF I$ = "F" OR I$ = "R" THEN GOSUB 10000: GOTO 5300 5110 IF I$ = "N" THEN GOSUB 10000: GOTO 5340 5120 IF I$ = "S" THEN GOSUB 10000: GOTO 5400 5130 IF I$ = "M" THEN GOSUB 10000: GOTO 5500 5140 O$ = EL$ + "What?": GOSUB 7000: GOTO 5050 5150 IF AM = 128 THEN O$ = EL$ + "Sorry, no room on this board!": GOSUB 7000: GOTO 5050 5160 O$ = EL$ + "Leave Message" + EL$ + EL$ + "SUB :=>": GOSUB 7000: POKE 1,128:CR = 1: GOSUB 8200: POKE 1,0: IF I$ = "" THEN 5010 5170 D2$ = I$:D3$ = A1$ + " " + A2$ + " (#" + STR$ ( VAL ( MID$ (A3$,2))) + ")": IF USR (7) THEN O$ = "FROM :=>": GOSUB 7000: POKE 1,128: GOSUB 8000:D3$ = I$: POKE 1,0 5180 O$ = EL$ + "Correct? ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN 5010 5190 GOSUB 7100: IF NOT X THEN 5010 5200 O$ = EL$ + "Hold on...": GOSUB 7000: GOSUB 8400 5210 PRINT CHR$ (4)"OPEN"B$MN",S"S",D"D",V"V: PRINT CHR$ (4)"RID"B$MN: PRINT CHR$ (4)"OPEN"B$MN: PRINT CHR$ (4)"WRITE"B$MN: PRINT "FROM ->"D3$: PRINT "DATE ->"DA$" "T$: PRINT 5220 FOR Z = 1 TO X: PRINT D$(Z): NEXT Z: PRINT CHR$ (4)"CLOSE":AM = AM + 1:T$(AM) = A3$ + D2$:N%(AM) = MN:MN = MN * (MN < 9999) + 1:O$ = ".saved!": GOSUB 7000:CH = 1: GOTO 5050 5230 O$ = EL$ + "Kill A Message" + EL$ + EL$ + "Kill message (#,):":CR = 1: GOSUB 7000: GOSUB 5550 5240 IF A3$ < > LEFT$ (T$(A),7) AND NOT USR (7) THEN O$ = EL$ + "You don't own that!": GOSUB 7000: GOTO 5050 5250 O$ = EL$ + "NUMB :=>" + STR$ (A) + EL$ + " SUB :=>" + MID$ (T$(A),8) + EL$ + EL$ + "Kill this? ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN 5050 5260 GOSUB 5270: GOTO 5010 5270 PRINT CHR$ (4)"RID "B$N%(A)",S"S",D"D",V"V:AM = AM - 1: IF A > AM THEN 5290 5280 FOR X = A TO AM:T$(X) = T$(X + 1):N%(X) = N%(X + 1): NEXT X 5290 CH = 1:O$ = EL$ + "MESSAGE KILLED": GOTO 7000 5300 O$ = EL$ + "Forward Retrieval" + EL$ + EL$ + "Start at (#,):": GOSUB 7000: GOSUB 5550 5310 O$ = EL$ + S$ + EL$ + N$: GOSUB 7000 5320 GOSUB 5700: GOSUB 5580: IF A < AM THEN A = A + 1: GOTO 5320 5330 GOTO 5050 5340 O$ = EL$ + "New Messages" + EL$: GOSUB 7000:N%(0) = 0: IF NN > = N%(AM) AND N%(AM) > N%(AM - 1) THEN O$ = EL$ + "No new messages!": GOSUB 7000: GOTO 5050 5350 IF NOT LR THEN A = 1: GOTO 5310 5360 IF LR > MN THEN LR = 1:NN = 1:NB = 1 5370 A = 1: FOR X = AM - 1 TO 1 STEP - 1: IF NN = > N%(X) THEN A = X + 1:X = 1 5380 NEXT X: IF A < = AM THEN 5310 5390 O$ = EL$ + "No new messages.": GOSUB 7000: GOTO 5050 5400 O$ = EL$ + "Scan Messages" + EL$ + EL$ + "Start at (#,):": GOSUB 7000: GOSUB 5550 5410 O$ = EL$ + "Allow marking? ": GOSUB 7000: GOSUB 8300 5420 F = 0:Z = A: IF I$ = "Y" THEN F = 1:MM$ = CHR$ (A) 5430 A$ = " ": IF N%(A) > NN THEN A$ = ">" 5440 O$ = EL$ + A$ + RIGHT$ (" " + STR$ (A),2) + ". " + MID$ (T$(A),8): GOSUB 7000 5450 IF F THEN O$ = EL$ + " Mark? ": GOSUB 7000: GOSUB 8350:MM$ = MM$ + I$: IF I$ = CHR$ (13) THEN O$ = "N": GOSUB 7000 5460 IF A = AM THEN 5050 5470 IF A < Z + 14 THEN A = A + 1: GOTO 5430 5480 O$ = EL$ + EL$ + "More? ": GOSUB 7000: GOSUB 8300: IF I$ = "Y" THEN Z = A + 15:A = A + 1: GOTO 5430 5490 GOTO 5050 5500 O$ = EL$ + "Marked Message Retrieval" + EL$: GOSUB 7000: IF MM$ = "" THEN O$ = EL$ + "No marked messages!": GOSUB 7000: GOTO 5050 5510 O$ = EL$ + S$ + EL$ + N$: GOSUB 7000:Z = 2 5520 IF MID$ (MM$,Z,1) = "Y" OR MID$ (MM$,Z,1) = "y" THEN A = Z - 2 + ASC (MM$): GOSUB 5700:N%(0) = Z: GOSUB 5580:Z = N%(0) 5530 IF Z < LEN (MM$) THEN Z = Z + 1: GOTO 5520 5540 GOTO 5050 5550 CR = 1: GOSUB 8100: IF I$ = "" THEN POP : GOTO 5050 5560 IF NOT A OR A > AM THEN O$ = EL$ + "That message does not exist!": GOSUB 7000: POP : GOTO 5050 5570 RETURN 5580 IF PEEK (960) = 3 THEN POP : GOTO 5050 5590 IF PEEK (960) = 2 THEN RETURN 5600 O$ = EL$ + "(A)uto reply (N)ext (R)e-read (Q)uit:": GOSUB 7000: GOSUB 8350 5610 IF I$ = "N" OR I$ = CHR$ (13) THEN RETURN 5620 IF I$ = "Q" THEN POP : GOTO 5050 5630 IF I$ = "#" AND USR (7) THEN O$ = EL$ + EL$ + "FILE NAME: " + B$ + STR$ (N%(A)) + EL$: GOSUB 7000: GOTO 5600 5640 IF I$ = "K" AND USR (7) THEN O$ = EL$ + EL$ + "Are you sure? ": GOSUB 7000: GOSUB 8300: IF I$ = "Y" THEN GOSUB 5270:A = A - 1: RETURN 5650 IF I$ = "P" AND USR (7) THEN GOSUB 8800:I$ = "R" 5660 IF I$ = "R" THEN GOSUB 5700: GOSUB 8810: GOTO 5580 5670 IF I$ < > "A" THEN O$ = EL$: GOSUB 7000: GOTO 5600 5680 IF NOT USR (1) THEN O$ = EL$ + EL$ + "Security not high enough!" + EL$: GOSUB 7000: GOTO 5600 5690 O$ = EL$: GOSUB 7000:C = A:A = VAL ( MID$ (T$(C),2)): GOSUB 6120:A = C: RETURN 5700 IF LR < N%(A) THEN LR = N%(A) 5710 IF NN < N%(A) THEN NN = N%(A) 5720 IF A > 1 AND N%(A) < N%(A - 1) THEN LR = N%(A) 5730 O$ = EL$ + EL$ + "NUMB ->" + STR$ (A) + EL$ + " SUB ->" + MID$ (T$(A),8): GOSUB 7000:F$ = B$ + STR$ (N%(A)):RT = 3: GOTO 9000 6000 O$ = EL$ + "Send Electronic Mail" + EL$ + EL$ + "To who (#,=Abort):":CR = 1: GOSUB 7000: GOSUB 8200: IF I$ = "" OR LEN (I$) > 25 THEN RETURN 6010 IF LEFT$ (I$,1) = "#" OR VAL ( LEFT$ (I$,1)) > 0 THEN 6100 6020 D1$ = I$: IF I$ = "SYSOP" OR I$ = "SYSTEM OPERATOR" OR I$ = SYS$ THEN D1$ = SYS$: GOTO 6080 6030 IF USR (7) THEN O$ = EL$ + "Verify user? ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN 6080 6040 PRINT CHR$ (4)"OPENUSERS,L64"DR$:X = 1 6050 PRINT CHR$ (4)"READUSERS,R"X: INPUT D2$,D3$: IF D2$ + " " + D3$ < > D1$ AND X < NU THEN X = X + 1: GOTO 6050 6060 IF D2$ + " " + D3$ < > D1$ THEN O$ = EL$ + D1$ + " Not in userlog!": GOTO 7000 6070 O$ = EL$ + "Name found!" + EL$: GOSUB 7000 6080 GOSUB 7100: IF NOT X THEN RETURN 6090 CR = 0:D3$ = ".letter sent!": GOSUB 6800: RETURN 6100 IF LEN (I$) > 10 THEN I$ = "0" 6110 A = INT ( VAL (I$)): IF LEFT$ (I$,1) = "#" THEN A = INT ( VAL ( MID$ (I$,2))) 6120 IF A < 1 OR A > NU THEN O$ = EL$ + "THAT BOX IS NOT USED": GOTO 7000 6130 PRINT CHR$ (4)"OPENUSERS,L64"DR$: PRINT CHR$ (4)"READUSERS,R"A 6140 INPUT D1$,D2$: PRINT CHR$ (4)"CLOSEUSERS": IF D1$ = "EMPTY" THEN A = 0: GOTO 6120 6150 O$ = EL$ + "SEND TO " + D1$ + " " + D2$ + "? ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN RETURN 6160 D1$ = D1$ + " " + D2$: GOTO 6080 6500 O$ = EL$ + "Read Electronic Mail" + EL$: GOSUB 7000 6510 IF MA = 0 THEN O$ = EL$ + "No mail for you!": GOTO 7000 6520 O$ = EL$ + S$ + EL$: GOSUB 7000:F$ = "M-" + A1$ + " " + A2$ 6530 PRINT CHR$ (4)"OPEN"F$",S"L",D"M",V"N 6540 PRINT CHR$ (4)"READ"F$: & E / ZZ$: IF ZZ$ = CHR$ (0) THEN 6710 6550 O$ = EL$ + MD$ + EL$: GOSUB 7000:C = 1:BB = 1 6560 D$(1) = MID$ (ZZ$,2): IF LEFT$ (ZZ$,1) = CHR$ (1) THEN O$ = D$(1) + EL$ + EL$: GOSUB 7000: & E / ZZ$:D$(3) = MID$ (ZZ$,2):C = 3:D$(2) = "" 6570 D1$ = D$(C):D$(C) = "FROM ->" + D$(C):O$ = D$(C) + EL$: GOSUB 7000:C = C + 1 6580 & E / ZZ$:D$(C) = MID$ (ZZ$,1): IF PEEK (960) = PEEK (970) THEN BB = 0 6590 IF ZZ$ < > CHR$ (31) THEN C = C + 1: IF BB THEN O$ = D$(C - 1) + EL$: GOSUB 7000 6600 IF ZZ$ < > CHR$ (31) THEN 6580 6610 POKE 960,0:O$ = MD$ + EL$: GOSUB 7000 6620 O$ = EL$ + "(A)uto reply (C)ontinue (R)e-read:": GOSUB 7000: GOSUB 8300 6630 IF I$ = "A" AND D1$ < > A1$ + " " + A2$ THEN 6690 6640 IF I$ = "Q" AND USR (7) THEN 6710 6650 IF I$ = "P" AND USR (7) THEN GOSUB 8800: GOTO 6670 6660 IF I$ < > "R" THEN 6540 6670 O$ = EL$ + MD$ + EL$: GOSUB 7000: FOR Z = 1 TO C - 1:O$ = D$(Z) + EL$: GOSUB 7000: IF PEEK (960) = PEEK (970) THEN Z = C 6680 NEXT Z: POKE 960,0:O$ = MD$ + EL$: GOSUB 7000: GOSUB 8810: GOTO 6620 6690 GOSUB 7100: IF NOT X THEN 6540 6700 CR = 0:D3$ = "Letter sent!" + EL$: GOSUB 6800: GOTO 6540 6710 PRINT CHR$ (4)"CLOSE":MA = 2: RETURN 6800 GOSUB 8400:O$ = EL$ + "Wait...": GOSUB 7000: PRINT CHR$ (4)"OPENM-"D1$",S"L",D"M",V"N: PRINT CHR$ (4)"APPENDM-"D1$: PRINT CHR$ (4)"WRITEM-"D1$ 6810 IF CR = 1 THEN PRINT CHR$ (1)D2$ 6820 PRINT " "A1$" "A2$: PRINT "DATE ->"DA$" "T$: PRINT : FOR Z = 1 TO X: PRINT D$(Z): NEXT Z: PRINT CHR$ (31) 6830 PRINT CHR$ (4)"CLOSEM-"D1$:O$ = D3$: GOTO 7000 7000 & B / O$: RETURN 7100 O$ = EL$ + "ENTER MESSAGE NOW, " + STR$ (VW) + " COL, " + STR$ (ML) + " LINES MAX" + EL$ + "TYPE 'DONE' WHEN FINISHED" + EL$ + EL$: GOSUB 7000:X = 1 7105 CR = 1: POKE 1,128: GOSUB 8000:D$(X) = I$: POKE 1,0 7110 IF I$ = "DONE" OR I$ = "done" OR I$ = "/EX" OR I$ = "/ex" OR I$ = "END" OR I$ = "end" THEN D$(X) = "": GOTO 7130 7115 IF X = ML - 5 THEN O$ = "5 MORE LINES" + EL$: GOSUB 7000 7120 X = X + 1: IF X < = ML THEN 7105 7125 O$ = EL$ + "THATS " + STR$ (ML) + " LINES" + EL$: GOSUB 7000 7130 O$ = EL$ + "Editing (?=Menu):": GOSUB 7000: GOSUB 8000 7135 IF I$ = "?" THEN O$ = EL$ + "S)ave, L)ist, N)ew, C)ont" + EL$ + "A)bort, E)dit, D)elete, I)nsert" + EL$: GOSUB 7000: GOTO 7130 7140 IF I$ = "A" THEN GOSUB 7365:X = 0:O$ = EL$ + "ABORTED": GOTO 7000 7145 IF I$ = "L" THEN A$ = "": GOSUB 7335: GOTO 7130 7150 IF I$ = "S" THEN X = X - 1: RETURN 7155 IF I$ = "N" THEN GOSUB 7365:O$ = EL$: GOSUB 7000: GOTO 7100 7160 IF I$ = "E" THEN 7195 7165 IF I$ = "C" THEN A$ = "":Z = X - 1:F = Z - 3:F = F * (F > - 1) + 1: GOSUB 7350:X = X - 1: GOTO 7120 7170 IF I$ = "I" THEN 7260 7175 IF I$ = "D" THEN 7220 7180 IF I$ = "G" AND USR (7) THEN 7295 7185 IF I$ = "P" AND USR (7) THEN GOSUB 8800:F = 1:Z = X - 1:A$ = "": GOSUB 7350: GOSUB 8810: GOTO 7130 7190 O$ = EL$ + "Wrong!" + EL$: GOSUB 7000: GOTO 7130 7195 O$ = EL$ + "Edit (,L) #": GOSUB 7000:CR = 1: GOSUB 8100 7200 IF I$ = "" THEN 7130 7205 IF I$ = "L" THEN A$ = "X": GOSUB 7335: GOTO 7195 7210 IF A < 1 OR A > = X THEN O$ = EL$ + "ILLEGAL LINE #" + EL$: GOSUB 7000: GOTO 7130 7215 A$ = RIGHT$ ("0" + STR$ (A) + ">",3):O$ = EL$ + A$ + D$(A) + EL$ + A$: GOSUB 7000:CR = 1: POKE 1,128: GOSUB 8000:D$(A) = I$: POKE 1,0: GOTO 7195 7220 O$ = EL$ + "Delete from (,L) #": GOSUB 7000:CR = 1: GOSUB 8100 7225 IF I$ = "L" THEN A$ = "X": GOSUB 7335: GOTO 7220 7230 IF I$ = "" THEN 7130 7235 IF A < 1 OR A > = X THEN 7210 7240 F = A:O$ = " To line () #": GOSUB 7000:CR = 1: GOSUB 8100: IF I$ = "" THEN A = F 7245 IF A > = X THEN 7210 7250 A = 1 + A - F: IF A < 1 THEN 7210 7255 FOR Z = F TO X - A:D$(Z) = D$(Z + A): NEXT Z:X = X - A: GOTO 7130 7260 IF X > ML THEN O$ = EL$ + "YOU ALREADY HAVE " + STR$ (ML) + " LINES" + EL$: GOSUB 7000: GOTO 7130 7265 O$ = EL$ + "Insert (,L) #": GOSUB 7000:CR = 1: GOSUB 8100 7270 IF I$ = "L" THEN A$ = "X": GOSUB 7335: GOTO 7265 7275 IF I$ = "" THEN 7130 7280 IF A < 1 OR A > = X THEN 7210 7285 O$ = EL$ + RIGHT$ ("0" + STR$ (A) + ">",3): GOSUB 7000:CR = 1: POKE 1,128: GOSUB 8000: POKE 1,0 7290 X = X + 1: FOR Z = X - 1 TO A STEP - 1:D$(Z + 1) = D$(Z): NEXT Z:D$(A) = I$: GOTO 7260 7295 O$ = EL$ + "FILE NAME (TO LOAD):": GOSUB 7000:CR = 1: GOSUB 8000:F$ = I$: IF I$ = "" THEN 7130 7300 O$ = EL$ + " SLOT:": GOSUB 7000:Z = 6: GOSUB 8100: IF A > 2 AND A < 9 THEN Z = A 7305 O$ = "DRIVE:": GOSUB 7000: GOSUB 8100:F = 1: IF A = 2 THEN F = 2 7310 O$ = " VOL:": GOSUB 7000:CR = 1:A = 0: GOSUB 8100: IF A < 0 OR A > 254 THEN A = 0 7315 O$ = EL$ + "LOADING.": GOSUB 7000: PRINT CHR$ (4)"OPEN"F$",S"Z",D"F",V"A: PRINT CHR$ (4)"READ"F$:X = 1:O$ = "." 7320 & E / ZZ$:D$(X) = MID$ (ZZ$,1): IF ZZ$ = CHR$ (0) THEN 7330 7325 O$ = ".": GOSUB 7000:X = X + 1: IF X < = ML THEN 7320 7330 PRINT CHR$ (4)"CLOSE":O$ = EL$: GOSUB 7000: GOTO 7130 7335 O$ = EL$ + "List (=ALL) #": GOSUB 7000:CR = 1: GOSUB 8100:F = 1:Z = X - 1: IF I$ = "" THEN 7345 7340 F = A:O$ = " To (=END) #": GOSUB 7000:CR = 1: GOSUB 8100:Z = A: IF I$ = "" THEN Z = X - 1 7345 IF F < 1 OR F > Z OR Z > = X THEN O$ = EL$ + "ILLEGAL LINE #" + EL$: GOTO 7000 7350 O$ = EL$: GOSUB 7000: IF X < 2 THEN RETURN 7355 FOR A = F TO Z: IF A$ > "" THEN A$ = RIGHT$ ("0" + STR$ (A),2) + ">" 7360 O$ = A$ + D$(A) + EL$: GOSUB 7000: NEXT A: RETURN 7365 IF X > 1 THEN O$ = EL$ + "Confirm (Y/N) ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN POP : GOTO 7130 7370 RETURN 7500 GOSUB 7965:S = I:D = J:V = K:O$ = EL$ + EL$ + "System (?=Menu):": GOSUB 7000: GOSUB 8000 7502 IF I$ = "O" THEN 12000 7505 IF I$ = "S" THEN 7830 7510 IF I$ = "P" THEN 7730 7515 IF I$ = "C" THEN 7875 7520 IF I$ = "F" THEN 7840 7525 IF I$ = "R" THEN 7595 7530 IF I$ = "D" THEN 7855 7535 IF I$ = "A" THEN GOSUB 8900: GOTO 1200 7540 IF I$ = "K" THEN 7680 7545 IF I$ = "E" THEN 7585 7550 IF I$ = "N" THEN 7910 7555 IF I$ = "G" THEN 7945 7560 IF I$ = "L" THEN 7920 7565 IF I$ = "T" THEN GOSUB 4000: GOTO 7500 7570 IF I$ = "W" THEN 7980 7575 IF I$ = "?" THEN F$ = "MENU9":RT = 2: GOSUB 9000: GOTO 7500 7580 O$ = EL$ + "ILLEGAL COMMAND": GOSUB 7000: GOTO 7500 7585 O$ = EL$ + "Confirm (Y/N)? ": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN 7500 7590 & M: & L: CALL 1002: END 7595 O$ = EL$ + "(> REQUEST FILE" + EL$: GOSUB 7000: IF NOT RQ THEN O$ = EL$ + "FILE EMPTY": GOSUB 7000: GOTO 7500 7600 O$ = EL$ + "PRINT ENTIRE FILE ?": GOSUB 7000: GOSUB 8300: IF I$ = "Y" THEN F$ = "REQUEST":RT = 2: GOSUB 8800: GOSUB 9000: GOSUB 8810: GOTO 7500 7605 PRINT CHR$ (4)"OPENREQUEST"DR$ 7610 PRINT CHR$ (4)"READREQUEST" 7615 & E / ZZ$:BB = VAL (ZZ$): IF ZZ$ = CHR$ (0) THEN 7670 7620 O$ = EL$ + MD$ + EL$: GOSUB 7000 7625 & E / ZZ$: IF ZZ$ = CHR$ (0) OR PEEK (960) = PEEK (970) OR PEEK (960) = 255 THEN 7670 7630 IF ZZ$ < > CHR$ (31) THEN O$ = MID$ (ZZ$,1) + EL$: GOSUB 7000: GOTO 7625 7635 O$ = MD$: GOSUB 7000 7640 O$ = EL$ + EL$ + "(V)erify (K)ill (C)ontinue (A)bort :": GOSUB 7000:CR = 1: GOSUB 8300: IF I$ = "" OR I$ = "C" THEN 7610 7645 IF I$ = "R" THEN A = BB: GOSUB 6120: GOTO 7640 7650 IF I$ = "K" THEN PRINT CHR$ (4)"OPENUSERS,L64": PRINT CHR$ (4)"WRITEUSERS,R"BB: PRINT "EMPTY,X": PRINT CHR$ (4)"CLOSEUSERS": GOTO 7610 7655 IF I$ = "A" THEN 7670 7660 IF I$ < > "V" THEN 7635 7665 O$ = EL$ + "SEC LVL:": GOSUB 7000: GOSUB 8100:CR = A:A = BB:D3$ = "A0": GOSUB 8500:F = CR:CR = 1: GOSUB 7810: GOTO 7610 7670 POKE 960,0: PRINT CHR$ (4)"CLOSE":O$ = EL$ + "DELETE FILE ?": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN 7500 7675 PRINT CHR$ (4)"RIDREQUEST":RQ = 0: GOTO 7500 7680 O$ = EL$ + "NUKE USER" + EL$ + EL$ + "PASS #": GOSUB 7000:CR = 1: GOSUB 8100: IF I$ = "" THEN 7500 7685 IF A = 0 THEN 7500 7690 IF A > NU THEN 7725 7695 D1$ = "END OF":D2$ = "DATA":D6$ = "": ONERR GOTO 7705 7700 GOSUB 8500: IF D1$ = "EMPTY" THEN 7725 7705 O$ = EL$ + "NUKE " + D1$ + " " + D2$ + EL$ + "LAST ON " + D6$ + " ?": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN 7500 7710 PRINT CHR$ (4)"OPENUSERS,L64": PRINT CHR$ (4)"WRITEUSERS,R"A 7715 PRINT "EMPTY,X": PRINT CHR$ (4)"CLOSE" 7720 O$ = EL$ + "NUKED": GOSUB 7000: GOTO 7500 7725 O$ = EL$ + "NO ONE HERE BY THAT NAME": GOSUB 7000: GOTO 7500 7730 O$ = EL$ + "EDIT USER" + EL$ + EL$ + "PASS #": GOSUB 7000:CR = 1: GOSUB 8100: IF I$ = "" THEN 7500 7735 IF A < 1 OR A > NU THEN 7725 7740 GOSUB 8500: IF D1$ < > "EMPTY" THEN 7760 7745 O$ = EL$ + "NO ONE HERE BY THAT NAME - CREATE ?": GOSUB 7000: GOSUB 8300 7750 IF I$ < > "Y" THEN 7500 7755 D1$ = "NA":D2$ = "ME":D3$ = "A" + RIGHT$ ("000" + STR$ (A),3) + "AAA":D4$ = "111-111-1111":D5$ = "UNKNOWN":D6$ = DA$:Z = 0:F = 0:C = 0 7760 O$ = EL$ + "A:" + D1$ + " " + D2$ + EL$ + "B:" + D5$ + EL$ + "C:" + D3$ + EL$ + "D:" + D4$ + EL$ + "E:" + STR$ (F) + EL$ + "F:" + MID$ ("NY",(C > 4) + 1,1) + EL$ + EL$ + "WHICH (A-F):":CR = 1: GOSUB 7000: GOSUB 8000 7765 IF I$ = "A" THEN O$ = EL$ + "FIRST NAME:": GOSUB 7000: GOSUB 8000:D1$ = I$:O$ = " LAST NAME:": GOSUB 7000: GOSUB 8000:D2$ = I$ 7770 IF I$ = "B" THEN O$ = EL$ + "FROM:": GOSUB 7000: GOSUB 8000:D5$ = I$: IF LEN (I$) + LEN (D1$) + LEN (D2$) > 25 THEN O$ = EL$ + "TOO LONG, TRY AGAIN": GOSUB 7000:I$ = "B": GOTO 7770 7775 IF I$ = "C" THEN O$ = EL$ + "PASS:": GOSUB 7000: GOSUB 8000:D3$ = I$ 7780 IF I$ = "D" THEN O$ = EL$ + "PHONE:": GOSUB 7000: GOSUB 8000:D4$ = I$ 7785 IF I$ = "E" THEN O$ = EL$ + "SEC LVL:": GOSUB 7000: GOSUB 8100:F = A 7790 IF I$ = "F" THEN O$ = EL$ + "UPLOAD:": GOSUB 7000: GOSUB 8300:C = C - (5 * (C > 4)): IF I$ = "Y" THEN C = C + 5 7795 IF I$ < > "" THEN 7760 7800 O$ = EL$ + "A)BORT OR S)AVE ?": GOSUB 7000: GOSUB 8300: IF I$ < > "S" THEN 7500 7805 GOSUB 7810:O$ = EL$ + "SAVED": GOSUB 7000: GOTO 7500 7810 PRINT CHR$ (4)"OPENUSERS,L64"DR$:A = VAL ( MID$ (D3$,2,3)): PRINT CHR$ (4)"WRITEUSERS,R"A 7815 PRINT D1$","D2$: PRINT D6$"," LEFT$ (D3$ + " ",7) CHR$ (F + 48)D4$C;Z: PRINT D5$ 7820 PRINT CHR$ (4)"CLOSEUSERS": IF A > NU THEN NU = A 7825 RETURN 7830 O$ = EL$ + "SET THE DATE FROM " + DA$ + EL$ + EL$ + "TO:": GOSUB 7000:CR = 1: GOSUB 8000: IF I$ < > "" THEN DA$ = I$ 7835 GOTO 7500 7840 O$ = EL$ + "FILE NAME (TO READ):": GOSUB 7000:CR = 1: GOSUB 8000: IF I$ = "" THEN 7500 7845 F$ = I$: GOSUB 7890: IF LEFT$ (F$,1) = "*" THEN F$ = MID$ (F$,2): GOSUB 8800 7850 RT = 1: GOSUB 9000: GOSUB 8810: GOTO 7500 7855 O$ = EL$ + "DOS:": GOSUB 7000:CR = 1: POKE 0,80: GOSUB 8000: POKE 0,VW: IF I$ = "" THEN 7500 7860 ONERR GOTO 7870 7865 PRINT CHR$ (4)I$: POKE 216,0: GOTO 7500 7870 POKE 216,0:O$ = EL$ + "DOS ERROR!": GOSUB 7000: GOTO 7500 7875 O$ = EL$ + ":=> CATALOG" + EL$: GOSUB 7000: GOSUB 7890 7880 & L: & M: CALL 1002: PRINT CHR$ (4)"CATALOG,S"S",D"D",V"V: PR# 0: POKE 56,102: POKE 57,213: CALL 1002 7885 GOTO 7500 7890 O$ = EL$ + " SLOT:": GOSUB 7000: GOSUB 8100: IF A > 2 AND A < 8 THEN S = A 7895 O$ = "DRIVE:": GOSUB 7000: GOSUB 8100: IF A > 0 AND A < 3 THEN D = A 7900 O$ = " VOL:": GOSUB 7000:CR = 1:A = 0: GOSUB 8100:V = A: IF V < 0 OR V > 254 THEN V = 0 7905 RETURN 7910 O$ = EL$ + "ADD A USER ?": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN 7500 7915 A = NU + 1: GOTO 7755 7920 O$ = EL$ + "LOG:A)bort, D)elete, S)how, P)rint? ": GOSUB 7000: GOSUB 8300: IF I$ = "A" THEN 7500 7925 IF I$ = "S" THEN F$ = "LOG":RT = 2: GOSUB 9000: GOTO 7920 7930 IF I$ = "D" THEN PRINT CHR$ (4)"OPENLOG"DR$: PRINT CHR$ (4)"CLOSE": PRINT CHR$ (4)"RIDLOG": GOTO 7500 7935 IF I$ < > "P" THEN 7920 7940 RT = 1:F$ = "LOG": GOSUB 8800: GOSUB 9000: GOSUB 8810: GOTO 7920 7945 O$ = EL$ + "EDIT A FILE" + EL$ + EL$ + "ENTER FOR NEW FILE OR" + EL$: GOSUB 7000:X = 1: GOSUB 7295: IF NOT X THEN 7500 7950 O$ = EL$ + "FILE NAME (TO SAVE):": GOSUB 7000:CR = 1: GOSUB 8000: IF I$ = "" THEN 7500 7955 A$ = I$: GOSUB 7890: PRINT CHR$ (4)"OPEN"A$",S"S",D"D",V"V: PRINT CHR$ (4)"RID "A$: PRINT CHR$ (4)"OPEN"A$: PRINT CHR$ (4)"WRITE"A$ 7960 FOR Z = 1 TO X: PRINT D$(Z): NEXT Z: PRINT CHR$ (4)"CLOSE":O$ = EL$ + "SAVED": GOSUB 7000: GOTO 7500 7965 ONERR GOTO 7975 7970 RETURN 7975 POKE 216,0: CALL 54915:O$ = EL$ + "ERROR!! - LINE " + STR$ ( PEEK (218) + PEEK (219) * 256) + ". ERROR #" + STR$ ( PEEK (222)): GOSUB 7000: GOTO 7500 7980 O$ = EL$ + "SHOW CURRENT WELCOME TO ALL USERS ?": GOSUB 7000: GOSUB 8300: IF I$ < > "Y" THEN 7500 7985 WM = MN:MN = MN * (MN < 9999) + 1:O$ = EL$ + "NEWS UPDATED": GOSUB 7000: GOTO 7500 8000 & A / SP$:I$ = MID$ (SP$,1): IF PEEK (961) THEN POKE 961,0: GOSUB 4120:I$ = " ": RETURN 8010 IF PEEK (960) = 255 THEN 4025 8020 IF LEN (I$) = 0 AND CR = 1 THEN O$ = EL$: GOSUB 7000:CR = 0: RETURN 8030 IF LEN (I$) = 0 THEN 8000 8040 CR = 0: RETURN 8100 GOSUB 8000: IF I$ = "" THEN RETURN 8110 IF LEN (I$) > 5 THEN I$ = LEFT$ (I$,5) 8120 A = INT ( VAL (I$)): IF A < 0 THEN A = 0 8130 RETURN 8200 POKE 2,255: GOSUB 8000: POKE 2,0: IF I$ = "" THEN RETURN 8210 IF RIGHT$ (I$,1) = " " THEN I$ = MID$ (I$,1, LEN (I$) - 1): GOTO 8210 8220 RETURN 8300 GOSUB 8000: IF I$ = "" THEN RETURN 8310 I$ = LEFT$ (I$,1): RETURN 8350 I$ = CHR$ (0): & F / I$: IF PEEK (960) = 255 THEN 4025 8360 POKE 960,0: RETURN 8400 IF NOT CS THEN T = 0:T$ = "": RETURN 8410 PRINT CHR$ (4)"PR#"CS: PRINT CHR$ (4)"IN#"CS 8470 PR# 0: POKE 56,102: POKE 57,213: CALL 1002 8480 T = VAL (T$) * 3600 + VAL ( MID$ (T$,4)) * 60 + VAL ( MID$ (T$,7,2)) - T0: IF T < 0 THEN T = T + 43200 8490 RETURN 8500 PRINT CHR$ (4)"OPENUSERS,L64"DR$: PRINT CHR$ (4)"READUSERS,R"A: INPUT D1$,D2$: IF D1$ = "EMPTY" THEN 8520 8510 INPUT D6$,A$:D3$ = LEFT$ (A$,7):F = ASC ( MID$ (A$,8,1)) - 48:Z = VAL ( MID$ (A$,22)):D4$ = MID$ (A$,9,12): & E / ZZ$:D5$ = MID$ (ZZ$,1) 8520 C = VAL ( MID$ (A$,21,1)): IF F > 63 THEN F = 0 8530 PRINT CHR$ (4)"CLOSEUSERS": RETURN 8600 IF BL = BB THEN O$ = EL$ + "MESSAGES FROM 1 TO " + STR$ (AM): GOTO 7000 8610 PRINT CHR$ (4)"OPENS"BB",S"S",D"D",V"V: PRINT CHR$ (4)"READS"BB 8620 & E / ZZ$:AM = VAL (ZZ$):O$ = EL$ + "MESSAGES FROM 1 TO " + STR$ (AM): GOSUB 7000: IF ZZ$ = CHR$ (0) THEN 8640 8630 FOR X = 1 TO AM: INPUT N%(X),T$(X): NEXT X 8640 PRINT CHR$ (4)"CLOSE":BL = BB:NN = NB: RETURN 8700 IF NOT CH THEN RETURN 8710 O$ = EL$ + "Wait...": GOSUB 7000 8720 PRINT CHR$ (4)"OPENS"BB",S"S",D"D",V"V: PRINT CHR$ (4)"WRITES"BB 8730 PRINT AM: FOR X = 1 TO AM: PRINT N%(X)","T$(X): NEXT X 8740 PRINT CHR$ (4)"CLOSE":CH = 0: RETURN 8800 PRINT CHR$ (4)"PR#"PR: POKE 962,237: RETURN 8810 PRINT CHR$ (4)"PR#0": POKE 962,240: RETURN 8900 ER = 0: ONERR GOTO 8920 8910 PRINT CHR$ (4)"CLOSE": RETURN 8920 POKE 216,0: CALL 54915:O$ = EL$ + "OOPS! SYSTEM ERROR. GOODBYE.": GOSUB 7000 8930 ER = PEEK (222):C = PEEK (218) + PEEK (219) * 256: GOTO 4025 9000 O$ = EL$: GOSUB 7000: IF RT = 2 THEN O$ = S$ + EL$ + EL$: GOSUB 7000 9010 POKE 960,0: PRINT CHR$ (4)"OPEN"F$",S"S",D"D",V"V: PRINT CHR$ (4)"READ"F$ 9020 & C: IF PEEK (960) = PEEK (971) AND RT < > 3 THEN POKE 960,0: GOTO 9020 9030 IF PEEK (960) = PEEK (970) AND RT = 5 THEN POKE 960,0: GOTO 9020 9040 PRINT CHR$ (4)"CLOSE": IF PEEK (960) = 255 THEN 4025 9050 IF PEEK (960) = PEEK (970) THEN POKE 960,3:O$ = EL$: GOTO 7000 9060 IF PEEK (960) = PEEK (971) THEN POKE 960,2 9070 RETURN 10000 MOV = MOV - 1: IF MOV = < - 1 THEN O$ = EL$ + EL$ + "{You have used up your moves!}": GOSUB 7000: POP : GOTO 4005 10001 MOV$ = STR$ (MOV): RETURN 11000 O$ = EL$ + "Current boarderlines: " + EL$ + EL$: GOSUB 7000 11001 FOR BL = 1 TO 9:BL$ = STR$ (BL):O$ = BL$ + "]" + BRD$(BL) + EL$: GOSUB 7000: NEXT BL 11002 O$ = EL$ + "Change which one? (1-9,0=Quit,L):": GOSUB 7000: GOSUB 8100: IF A < 0 OR A > 9 THEN 11002 11003 IF I$ = "0" OR I$ = "Q" THEN RETURN 11004 IF I$ = "?" OR I$ = "L" THEN 11000 11005 AA = A:USL = USL + 1:O$ = EL$ + "Type in new boarderline -- 38 char. max:": GOSUB 7000: GOSUB 8000: IF LEN (I$) > 38 THEN 11002 11006 IF USL > 2 THEN O$ = EL$ + "That's all--Limit's 2!": GOSUB 7000: RETURN 11007 BRD$(AA) = I$: GOTO 11002 12000 O$ = EL$ + EL$ + ":=> On-Line Edit": GOSUB 7000:O$ = EL$ + "Security:": GOSUB 7000: GOSUB 8100: POKE 972,A:O$ = "Upload:": GOSUB 7000: GOSUB 8300: IF I$ = "Y" THEN UP = 1 12001 O$ = "Moves:": GOSUB 7000: GOSUB 8100:MOV = A: GOSUB 10000: GOTO 7500 12100 F$ = "BOARDS": GOSUB 9000:O$ = EL$ + "Which one:": GOSUB 7000: GOSUB 8100: IF A < 0 OR A > 3 THEN 12100 12110 IF A = 1 THEN S = B1:D = B2:V = B3:BB = 1: GOSUB 10000: GOTO 5000 12115 IF A = 2 AND USR (2) THEN S = B1:D = B2:V = B3:BB = 2: GOSUB 10000: GOTO 5000 12118 IF A = 2 THEN O$ = EL$ + "Illegal access!": GOSUB 7000: GOTO 12100 12120 IF A = 3 AND USR (4) THEN S = B1:D = B2:V = B3:BB = 3: GOSUB 10000: GOTO 5000 12122 IF A = 3 THEN O$ = EL$ + "Illegal access!": GOSUB 7000: GOTO 12100 12125 RETURN 13000 O$ = EL$ + EL$ + "ON-LINE GAME!": GOSUB 7000:O$ = EL$ + "You want to bet your moves?": GOSUB 7000: GOSUB 8300: IF LEFT$ (I$,1) = "N" THEN RETURN 13001 O$ = EL$ + "Bet on which number? (1-3):": GOSUB 7000: GOSUB 8100: IF A < 1 OR A > 3 THEN RETURN 13002 AB = A 13003 MOV$ = STR$ (MOV):O$ = EL$ + "You have " + MOV$ + " moves left.": GOSUB 7000 13005 O$ = EL$ + "Bet how many moves?": GOSUB 7000: GOSUB 8100: IF A > MOV THEN O$ = EL$ + "You don't have that many!": GOSUB 7000: GOTO 13000 13006 IF A < = 0 THEN RETURN 13010 NUM = INT ( RND (1) * 3) + 1:NUM$ = STR$ (NUM) 13011 O$ = EL$ + "You rolled a " + NUM$ + "...": GOSUB 7000 13015 IF NUM = AB THEN MOV = MOV + A + 1: GOSUB 10000:O$ = EL$ + "$$ YOU NOW HAVE " + MOV$ + "! $$": GOSUB 7000: GOTO 13000 13018 LO = MOV - A:MOV = MOV - A:LO$ = STR$ (LO) 13020 O$ = EL$ + "You now have " + LO$ + " moves!": GOSUB 7000: GOTO 13000