home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 2 / HACKER2.BIN / 626.PBBS.BA < prev    next >
Text File  |  1988-05-29  |  12KB  |  208 lines

  1. 0 'PBBS.BA BY DICK ROUX N1AED/GARY MCDUFFIE AG0N VERSION 3.11 02/08/88
  2. 1 GOTO10
  3. 5 FORX=1TOLEN(O$):S$=MID$(O$,X,1):PRINT#1,S$;:PRINTS$;:NEXT:PRINT#1,RT$;:PRINT:RETURN
  4. 10 CLEAR1000:MAXFILES=6:CK$="ON ":RT$=CHR$(13):CA$="N1AED":NA$="Dick":T$="Merrimack, NH":BE$="NHNET Mini-PBBS Mail For: ":CALL16969
  5. 30 OPEN"ERRLOG.DO"FORAPPENDAS1:CLOSE1
  6. 40 GOSUB2090
  7. 50 MM=0:MS=0:ONERRORGOTO80:OPEN"MESLOG.DO"FORINPUTAS4
  8. 60 LINEINPUT#4,I$:IFLEN(I$)=>3THENMS=MS+1:IFI$=CA$THENMM=MM+1
  9. 70 IFEOF(4)THENCLOSE4:GOTO90ELSE60
  10. 80 IFERR=52THENOPEN"MESLOG.DO"FORAPPENDAS4:PRINT#4,CR$:CLOSE4
  11. 90 ONCOMGOSUB280:ONERRORGOTO900
  12. 100 IFUTHENGOSUB2080:U=0:GOSUB190ELSEGOSUB190
  13. 110 COMON
  14. 120 E$=INKEY$:GOSUB130:GOTO150
  15. 130 DA$=LEFT$(DATE$,2)+"/"+MID$(DATE$,4,2)+"/"+RIGHT$(DATE$,2):TI$=LEFT$(TIME$,2)+MID$(TIME$,4,2):RETURN
  16. 150 IFM=0ANDC=0THENPRINT@296,TIME$;:PRINT@280,"";
  17. 155 IFE$=""THEN120
  18. 160 ONINSTR("EPRSGKBMCT",E$)GOTO660,690,760,1650,840,1400,2075,3000,4000,5000
  19. 170 ONINSTR("eprsgkbmct",E$)GOTO660,690,760,1650,840,1400,2075,3000,4000,5000
  20. 180 GOTO120
  21. 190 IFCTHENRETURNELSECLS:PRINT"MAILBOX ACTIVE - WAITING  ";MM;"/";MS;" Msgs"
  22. 210 PRINTFRE(0);" BYTES FREE   ";MR;"CONNECTS TODAY"
  23. 220 IFLEN(LC$)THENPRINT "Last User: ";LC$ELSEPRINT
  24. 225 IFB=0THENBB$="OFF"ELSEBB$="ON "
  25. 226 IFM=0THENMM$="OFF"ELSEMM$="ON "
  26. 230 PRINT"<P>rint Msgs <R>ead Msgs   <E>xit"
  27. 240 PRINT"<S>end Msg   <G>o Online   <K>ill Msgs"
  28. 250 PRINT"<B>eacon ";BB$;" <M>onitor ";MM$;" <T>ime"
  29. 260 PRINT"<C>onok ";CK$;"    ..SELECT..":RETURN
  30. 280 IFEOF(2)THENCLOSE2:OPEN"COM:58N1E"FORINPUTAS2:IFS=0THEN360ELSEPRINT#4,Z$:Z$="":S=0:FL=1:GOSUB1590:COMON:GOSUB1530:GOSUB1560:GOTO360
  31. 290 C$=INPUT$(1,2):PRINTC$;:IFC$=CHR$(10)THENRETURN
  32. 300 IFC$=RT$THEN330
  33. 310 Z$=Z$+C$:IFLEN(Z$)=>80THEN330ELSERETURN
  34. 330 IFNOTCTHEN380
  35. 340 FG=INSTR(Z$,"*** conn"):IFFGTHENRQ$=MID$(Z$,20+FG,8):RQ=1:GOTO360
  36. 350 IFCTHEN430
  37. 360 IFRD=0ANDS=0ANDRQANDCTHENO$=RQ$+" Just Tried to Connect":GOSUB5:RQ=0
  38. 370 Z$="":RETURN
  39. 380 R=INSTR(Z$,"*** CONN"):IFNOTLANDR>0THENCLS:C=-1:GOSUB2025ELSEGOTO360
  40. 390 IFFL=0THENGOSUB1030
  41. 400 COMSTOP:GOSUB1540:COMON:IFMFTHEN360ELSEGOSUB1280:GOSUB1560:GOTO360
  42. 430 IFINSTR(Z$,"*** DIS")THENC=0:LC=0:GOSUB2100:GOTO640
  43. 440 IFINSTR(Z$,"retry")THEN370
  44. 450 IFSTHEN610
  45. 460 IFMFTHEN560
  46. 470 IFLTHEN360
  47. 480 IFZ$<>CR$THENZ=ASC(LEFT$(Z$,1)):IFZ>96ANDZ<123THENGOSUB2040:Z$=ZX$:ZX$=""
  48. 490 IFLEN(Z$)>4THEN560
  49. 495 IFLEN(Z$)>1THEN590
  50. 500 IFZ$="T"THEN1190
  51. 510 IFZ$="R"THENGOSUB1320:GOSUB1560:GOTO360
  52. 515 IFZ$="L"THENZA$="MESLOG":GOTO2600
  53. 520 IFZ$="H"THENGOSUB1760:GOSUB1560:GOTO360
  54. 525 IFZ$="U"THENZA$="USELOG":GOTO2600
  55. 530 IFZ$="I"THENZA$="INFO00":GOTO2600
  56. 540 IFZ$="B"THENGOSUB630:GOSUB2098:GOSUB2000:GOTO360
  57. 545 IFZ$="K"THENMD=1:O$="Your message(s) will be deleted.":GOSUB5:GOSUB1560:GOTO360
  58. 550 IFZ$<>CR$THENO$="*** NON FUNCTIONAL CMD":GOSUB5:GOSUB1560:GOTO360
  59. 560 IFLEN(Z$)<5THEN590
  60. 570 IFLEFT$(Z$,1)="S"THENZP=INSTR(Z$," "):IFZP=2ORZP=3THEN1420
  61. 590 IFZ$<>CR$THENGOSUB2040:Z$=ZX$:ZX$="":IFZ$="R ALL"THENZA$="ALL":MW=1:GOSUB1330:MW=0:GOSUB1560:GOTO360
  62. 595 IFZ$="R NEWS"THENZA$="NEWS00":GOTO2600
  63. 600 IFZ$<>CR$THENO$="*** SAY WHAT?  Type <H>elp if you need it.":GOSUB5:GOSUB1560
  64. 610 IFSTHENPRINT#4,Z$:IFLCTHENGOSUB1580:LC=0
  65. 620 GOTO360
  66. 630 O$=ZC$+" de "+CA$+": 73 - Call again!":GOSUB5:RETURN
  67. 640 COMSTOP:GOSUB2010:IFSTHENCLOSE4:S=0:GOSUB1850ELSEGOSUB1850:GOSUB2020:GOSUB1590:IFBTHENO$="BT "+BT$:GOSUB5:GOSUB1590
  68. 650 FL=0:L=0:MF=0:MR=MR+1:RD=0:GOSUB360:GOSUB1740:IFMDTHEN1410ELSEGOSUB2110:GOSUB670:GOTO100
  69. 660 COMOFF:CLOSE:GOSUB670:GOTO680
  70. 670 DATE$=LEFT$(DATE$,6)+"88":RETURN
  71. 680 MENU
  72. 690 COMSTOP:CLS:PRINT:INPUT"CHECK PRINTER - PRESS ENTER.. ";X$
  73. 705 CLS:INPUT"Print YOUR Mail";ZE$:IFZE$="N"ORZE$="n"THENINPUT"Print whose";ZC$ELSEZC$=CA$
  74. 710 OPENZC$+".DO"FORINPUTAS3:OPEN"LPT:"FOROUTPUTAS4
  75. 720 LINEINPUT#3,C$:IFEOF(3)THENPRINTC$:PRINT#4,C$:CLOSE3,4:GOTO100
  76. 740 FORI=1TO250:NEXT:PRINTC$:PRINT#4,C$:GOTO720
  77. 760 COMSTOP:CLS:ONERRORGOTO830
  78. 770 MS=0:PRINT"Read YOUR Mail?"
  79. 775 E$=INKEY$:IFE$=""THEN775ELSEIFE$="Y"ORE$="y"THENZC$=CA$ELSEINPUT"Read whose";ZC$
  80. 780 OPENZC$+".DO"FORINPUTAS3
  81. 790 LINEINPUT#3,C$:IFEOF(3)THENCLOSE3:PRINTC$+CR$:GOSUB1590:PRINT"*** END OF FILE ":FORI=1TO3000:NEXT:GOTO50
  82. 810 PRINTC$:FORI=1TO1500:NEXT:GOTO790
  83. 830 IFERR=52THENPRINT"** NO MESSAGES":GOSUB1590:RESUME50
  84. 840 IFCTHENGOSUB2098:GOSUB2010
  85. 845 CLS:L=-1:PRINT"** ONLINE **  ^D To cmd:  <ESC> to MENU"
  86. 850 E$=INKEY$:IFE$=""THEN850
  87. 860 IFE$=CHR$(27)THENL=0:Z$="":IFCTHENGOSUB2025:GOSUB1560:Z$="":GOTO100ELSEGOTO100
  88. 870 IFE$=CHR$(8)THENPRINTCHR$(8);CHR$(32);
  89. 880 PRINT#1,E$;:IFE$=RT$THENPRINTE$ELSEPRINTE$;
  90. 890 GOTO850
  91. 900 IFERR=52THENCLOSE:BEEP:GOTO940ELSECLOSE:BEEP:OPEN"ERRLOG.DO"FORAPPENDAS6
  92. 910 PRINT#6,"ERROR ";ERR;" IN LINE ";ERL" WHILE ";ZC$;" WAS ON AT ";TI$;" ON ";DA$
  93. 920 IFCANDERR=57THENCLOSE6:S=0:Z$="":O$="*** SORRY, CAN'T DO IT, RAN OUT OF FILE SPACE !!! ***":GOSUB2090:GOSUB5:MF=0:RESUME1560
  94. 930 IFCANDERR=7THENCLOSE6:CLOSE4:S=0:Z$="":O$="*** SORRY, CAN'T DO IT, RAN OUT OF MEMORY !!! ***":GOSUB2090:GOSUB5:MF=0:RESUME1560
  95. 940 IFCANDERR=52THENCLOSE6:RD=0:MW=0:Z$="":O$="*** NONE FOUND":GOSUB2090:GOSUB5:RESUME360ELSECLOSE6:Z$="":RESUME40
  96. 1030 IFMID$(Z$,21+R,1)="-"THENZC$=MID$(Z$,17+R,4):GOTO1075
  97. 1040 IFMID$(Z$,21+R,1)=" "THENZC$=MID$(Z$,17+R,4):GOTO1075
  98. 1050 IFMID$(Z$,22+R,1)="-"THENZC$=MID$(Z$,17+R,5):GOTO1075
  99. 1060 IFMID$(Z$,22+R,1)=" "THENZC$=MID$(Z$,17+R,5):GOTO1075
  100. 1070 ZC$=MID$(Z$,17+R,6)
  101. 1075 FT=VAL(LEFT$(TIME$,2)):IFFT=<7ORFT=>14THENGOSUB1080:MF=0:RETURN
  102. 1080 RESTORE
  103. 1090 READZF$,N$,MF:IFZF$=ZC$THENRETURN
  104. 1110 IFZF$="END"THENN$=ZC$:RETURN
  105. 1120 GOTO1090
  106. 1130 DATA"AB1Q","Dan",0,"WA2YVL","Jon",0,"KA1SU","Jim",0
  107. 1140 DATA"K1EVU","Rich",0,"K3GUW","Jack",0,"KL7IJG","Lee",0
  108. 1150 DATA"KQ1L","Dave",0,"N1AHH","Ron",0,"W1TF","Ty",0
  109. 1160 DATA"WB1DSW","Herb",0,"W1KGZ","Uncle Dickey",0,"W4PAS","Dick",0
  110. 1170 DATA"W1TN","John",0,"K1MON","George",0,"K1WW","Ray",0
  111. 1180 DATA"K1UGM","Jim",0,"N1DL","Karl",0,"END","END",0
  112. 1190 PG=VAL(LEFT$(TIME$,2)):IFPG=>2ANDPG=<13THENO$="Sorry...Paging is disabled until after 8 A.M.":GOSUB5:GOSUB1560:GOTO360
  113. 1200 CLS:O$="Paging "+NA$+"...(for about 30 Sec.)":GOSUB5
  114. 1210 PRINT:PRINTZC$;" wants to chat...":PRINT:PRINT"Hit <G> to go online."
  115. 1230 FORI=1TO175:FORP=1TO10:NEXT:BEEP
  116. 1250 E$=INKEY$:IFE$="G"ORE$="g"THENO$=NA$+" is here now, go ahead. >>":GOSUB5:COMON:GOTO840
  117. 1260 NEXT:O$="I guess "+NA$+" is busy, but you could leave him a message.":GOSUB5:GOSUB1560:GOTO360
  118. 1280 ONERRORGOTO1300:OPENZC$+".DO"FORINPUTAS5
  119. 1290 O$=RT$+"*** You have mail. Use the <R> cmd to read it.":ONERRORGOTO900:GOSUB5:MW=1:CLOSE5:RETURN
  120. 1300 IFERR=52THENRESUME1310
  121. 1310 ONERRORGOTO900:RETURN
  122. 1320 ZA$=ZC$
  123. 1330 IFMW=0THENO$=RT$+"*** SORRY, NO MAIL":GOSUB5:RETURNELSERD=1:OPENZA$+".DO"FORINPUTAS5
  124. 1340 LINEINPUT#5,ZD$
  125. 1350 O$=CR$:GOSUB5:LINEINPUT#5,O$:DB$=LEFT$(O$,6):TB$=RIGHT$(O$,5):GOSUB1600
  126. 1370 LINEINPUT#5,O$:IFINSTR(O$,"<")THENZD$=O$:GOTO1350ELSEGOSUB5
  127. 1380 IFEOF(5)THENCLOSE5:IFZA$<>"ALL"THENO$=RT$+"*** Please delete your message(s) with the <K> cmd before you <D>.":GOSUB5:RD=0:RETURNELSERD=0:RETURN
  128. 1390 GOTO1370
  129. 1400 CLS:PRINT"Kill YOUR Mail?"
  130. 1405 E$=INKEY$:IFE$=""THEN1405ELSEIFE$="Y"ORE$="y"THENZC$=CA$:U=1ELSEINPUT"Kill whose";ZD$:GOSUB2030:ZC$=ZX$:ZX$="":U=1
  131. 1410 MD=0:KILLZC$+".DO":GOSUB1920:GOSUB2090:GOSUB2110:GOSUB670:GOTO50
  132. 1420 IFMID$(Z$,ZP,1)=" "THENZP=ZP+1:GOTO1420
  133. 1430 ZN=INSTR(ZP,Z$," "):IFZN=0THENZN=LEN(Z$)+1
  134. 1440 ZD$=MID$(Z$,ZP,ZN-ZP):IFINSTR(ZD$,"-")THENZD$=LEFT$(ZD$,INSTR(ZD$,"-")-1)
  135. 1450 IFMF=0THENZ$=Z$+" < "+ZC$:GOTO1470
  136. 1460 IFINSTR(Z$,"@")=0THENZ$=Z$+" @ "+ZC$
  137. 1470 S=1:OPENZD$+".DO"FORAPPENDAS4
  138. 1480 PRINT#4,Z$;"  ";DA$;"   ";TI$;"Z";RT$:IFMFTHENZ$="":IFMF=1THENGOSUB1580:COMON:GOTO90ELSELC=1:COMON:GOTO90
  139. 1510 COMON:O$="Enter Message, Cntl-Z to end:":GOSUB5:Z$="":GOTO100
  140. 1530 CLOSE4:OPEN"MESLOG.DO"FORAPPENDAS4:GOSUB2030:ZD$=ZX$:ZX$="":PRINT#4,ZD$:CLOSE4:MS=MS+1:GOSUB2120:IFMFTHENRETURNELSEO$="*** DONE":GOSUB5:RETURN
  141. 1540 IFMFTHEN1560ELSEO$="Hello "+N$+", Welcome to the NHNET Mini-PBBS in "+T$+".":GOSUB5
  142. 1550 O$="H for HELP, I For System Info; There are"+STR$(MS)+" Msgs On the System":GOSUB5
  143. 1555 O$="and"+STR$(FRE(0))+" bytes available.":GOSUB5:RETURN
  144. 1560 IFFRE(0)<1000 THENO$="** CAUTION - THE MEMORY IS FULL..PLEASE DO NOT ATTEMPT TO LEAVE ANY MESSAGES **":GOSUB5
  145. 1570 GOSUB130:O$=RT$+ZC$+" de "+CA$+" AT "+TI$+"Z ON "+DA$+": NEXT? - B,H,I,K,L,R*,S*,T,U >>":GOSUB5:RETURN
  146. 1580 O$=":"+RT$+":":GOSUB5:RETURN
  147. 1590 FORI=1TO600:NEXT:RETURN
  148. 1600 IFINSTR(ZD$,"@")=0THEN1630
  149. 1610 O$=" TR  "+" TO    "+" @ BBS  "+"    FROM "+"    DATE  "+"  TIME":GOSUB5
  150. 1620 O$=" "+ZD$+"   "+DB$+"   "+TB$:GOSUB5:RETURN
  151. 1630 O$=" TR  "+" TO  "+"  FROM"+"     DATE  "+"   TIME":GOSUB5
  152. 1640 O$=" "+ZD$+"   "+DB$+"   "+TB$:GOSUB5:RETURN
  153. 1650 CLS:LINEINPUT"Callsign of Receiver? ";ZD$:GOSUB2030:ZD$=ZX$:ZX$=""
  154. 1660 OPENZD$+".DO"FORAPPENDAS4
  155. 1670 PRINT#4,"S  "+ZD$+" < "+CA$+"   "+DA$+"   "+TI$+"Z"+RT$
  156. 1690 PRINT"Input Message.../EX to End (ON A BLANK LINE)"
  157. 1700 LINEINPUTI$:IFI$="/EX"ORI$="/ex"THEN1730
  158. 1720 PRINT#4,I$:GOTO1700
  159. 1730 PRINT#4,CR$:CLOSE4:OPEN"MESLOG.DO"FORAPPENDAS4:GOSUB2030:ZD$=ZX$:ZX$="":PRINT#4,ZD$:CLOSE4:PRINT"*** DONE":GOSUB1590:MS=MS+1:GOSUB2120:U=1:GOSUB2080:U=0:GOTO100
  160. 1740 OPEN"USELOG.DO"FORAPPENDAS4
  161. 1750 LC$=ZC$+" AT "+TI$+" ON "+DA$:PRINT#4,LC$:CLOSE4:RETURN
  162. 1760 RD=1:O$=RT$+"The proper Syntax is:"+RT$:GOSUB5
  163. 1770 O$="B - BYE <D>                             H - This HELP File":GOSUB5
  164. 1780 O$="I - System Information                  K - Kill YOUR Mail":GOSUB5
  165. 1790 O$="L - Msg Log listing                     R - Read YOUR mail":GOSUB5
  166. 1800 O$="R ALL - Read Msgs addressed to ALL      R NEWS - Latest NEWS Tips":GOSUB5
  167. 1805 O$="S <CALLSIGN> - Send mail                U - User Log listing":GOSUB5
  168. 1810 O$="T - Pages "+NA$+" for 30 seconds":GOSUB5:RD=0:RETURN
  169. 1850 COMSTOP:OPEN"MESLOG.DO"FORINPUTAS4
  170. 1860 LINEINPUT#4,O$:GOSUB1890:IFEOF(4)THENCLOSE4:GOTO1910
  171. 1880 GOTO1860
  172. 1890 IFINSTR(O$,ZC$)THENRETURN
  173. 1900 IFINSTR(BE$,O$)THENRETURNELSEBE$=BE$+O$+" ":RETURN
  174. 1910 O$=BE$:BT$=BE$:COMON:IFLEN(BE$)=<32THENRETURNELSEGOSUB5:BE$="NHNET Mini-PBBS Mail For: ":RETURN
  175. 1920 MM=0:MS=0:OPEN"MESLOG.DO"FORINPUTAS4:OPEN"MESLO.DO"FOROUTPUTAS5
  176. 1940 PRINT#5,CR$
  177. 1950 LINEINPUT#4,I$:IFEOF(4)ANDI$=ZC$THENGOTO1980
  178. 1960 IFI$=ZC$THENI$="":GOTO1950
  179. 1970 IFI$=CR$THEN1980ELSEPRINT#5,I$:MS=MS+1:IFZD$=CA$THENMM=MM+1
  180. 1980 IFEOF(4)THENCLOSE4,5:KILL"MESLOG.DO":NAME"MESLO.DO"AS"MESLOG.DO":RETURN
  181. 1990 GOTO1950
  182. 2000 O$="D":GOSUB5:RETURN
  183. 2010 O$="CONV":GOSUB5:RETURN
  184. 2020 GOSUB1590:O$=CHR$(4):GOSUB5:GOSUB1590:RETURN
  185. 2025 GOSUB1590:O$=CHR$(4)+"T":GOSUB5:GOSUB1590:RETURN
  186. 2030 Z$=ZD$
  187. 2040 FORX=1TOLEN(Z$):S$=MID$(Z$,X,1):IFASC(S$)>96ANDASC(S$)<123THENS$=CHR$(ASC(S$)-32)
  188. 2070 ZX$=ZX$+S$:NEXT:RETURN
  189. 2075 IFB=0THEN2080ELSE2095
  190. 2080 ZC$="XXX":BE$="BT NHNET Mini-PBBS Mail For: ":CLS:GOSUB1850:GOSUB1590:IFUTHENZC$="":RETURNELSEO$="BE 90":B=1:GOSUB5:ZC$="":GOSUB1590:GOTO100
  191. 2090 CLOSE:OPEN"COM:58N1E"FOROUTPUTAS1:OPEN"COM:58N1E"FORINPUTAS2:RETURN
  192. 2095 O$="B 0":GOSUB5:GOSUB1590:B=0:GOTO100
  193. 2098 GOSUB1590:GOSUB1590:FORI=1TO3:PRINT#1,CHR$(4);:NEXT:GOSUB1590:GOSUB1590:RETURN
  194. 2100 GOSUB1590:O$=CHR$(4)+"CONO OF":GOSUB5:GOSUB1590:RETURN
  195. 2110 GOSUB1590:O$=CHR$(4)+"CONO ON":GOSUB5:GOSUB1590:RETURN
  196. 2120 IFZD$=CA$THENMM=MM+1:RETURNELSERETURN
  197. 2600 ONERRORGOTO2620
  198. 2603 RD=1:OPENZA$+".DO"FORINPUTAS5
  199. 2610 LINEINPUT#5,O$:GOSUB5:IFEOF(5)THENCLOSE5:RD=0:GOSUB1560:GOTO360ELSEGOTO2610
  200. 2620 IFERR=54THENCLOSE5:OPENZA$+".DO"FOR OUTPUTAS5:PRINT#5,CR$:CLOSE5:ONERRORGOTO900:RESUME2603
  201. 2625 IFERR=52THENO$="*** FILE NOT FOUND ***":GOSUB5:GOSUB1560:ONERRORGOTO900:RESUME360
  202. 3000 IFM=0THEN3010ELSE3020
  203. 3010 O$="M ON":GOSUB5:M=1:GOSUB1590:GOTO100
  204. 3020 O$="M OF":GOSUB5:M=0:GOSUB1590:GOTO100
  205. 4000 IFCK=0THENGOSUB2100:CK=1:CK$="OFF":GOTO100
  206. 4010 IFCK<>0THENGOSUB2110:CK=0:CK$="ON ":GOTO100
  207. 5000 O$="DAY "+RIGHT$(DATE$,2)+LEFT$(DATE$,2)+MID$(DATE$,4,2)+TI$+RIGHT$(TIME$,2):GOSUB5:GOSUB1590:GOTO100
  208.