Index of /pub/pdp11/rsts/bbs
Name Last modified Size Description
Parent Directory 15-Oct-1999 16:07 -
0,1/ 02-Nov-1997 21:34 -
1,4/ 02-Nov-1997 21:34 -
10,10/ 02-Nov-1997 21:37 -
10,9/ 02-Nov-1997 21:35 -
John Wilson JAKE:[1,4] 02-Nov-1997
BBS-11 Bulletin Board System for RSTS/E V7.0-07.
This is the BBS package I started writing for RSTS in the mid 80s. What's
here worked great, but I never got to the actual message board or file
upload/download features. Here's how it fits together:
* I modified LOGIN.BAS to chain to BBS:ANSWER.TSK whenever it is invoked on
a dialup line (just KB13: on my system, a Vadic VA3451PA). ANSWER autobauds
(RSTS V7.0-07 didn't have this in the TTY driver) and prompts for a BBS
username, which may be up to 12 characters long (from the .RAD50 character
set -- A-Z, 0-9, $.?), and then a password up to 6 chars long (from the
same character set). If the user enters <LF> at the username prompt, they
get kicked back to LOGIN.BAC at line 31500, which in my hacked LOGIN.BAS
would go back to putting up the usual RSTS login prompt. This way regular
RSTS users could get in pretty easily, but BBS-only users didn't have to
be confused (or tempted!) by the RSTS login prompt. If a valid username/
password pair is entered (or a blank username to let them in as a guest),
ANSWER logs into 100,100 (the demo account on my machine, with a 1-block
quota and the password permanently set to DEMO), and creates a NAMExx.TMP
file with the login information.
* Once ANSWER lets them in (and displays the login banner and checks for
incoming mail) it switches to the BBS RTS. The main BBS command line
interpreter runs as its own RTS because that is (was?) the only way to
be 100% ^C-proof. The RTS works only as a KBM (i.e. it can't really be
used as a run-time system for programs) and has a hard-coded table of
commands the user may type (rather than using the system-wide CCLs),
which generally contains hard-coded program names to execute (so you
may need to modify them, in particular modifying the system BBS: logical
name isn't enough).
* I only got as far as writing the login/logout programs, mail send/receive,
account creation and password change programs, and help system. I was kind
of proud of the help system because it was a lot faster than RSTS's own HELP
command due to running the BBS's ASCII help file through a simple
preprocessor which created an index file which was used by the help display
program. The help text itself is drivel, what can I say I was a college
sophomore at the time, and some of it makes no sense at all to someone who
isn't an MTS user (MTS is the Michigan Terminal System, a home-grown IBM
mainframe OS written a U. Mich. which RPI ran on its 3081D and later 3090
while I was a student). The mail system is bare bones but it works.
Accounts:
[0,1] BBS.RTS, built from the files in [1,4]
[1,4] Sources to BBS.RTS (and ATPK file to build/install it)
[10,9] Sources to BBS programs and help files. Most are simple programs
that run under the RSX RTS (but using RSTS EMTs except EXIT$S), and
are easily built, like this:
MAC file=file
TKB file=file
[10,10] Binaries to BBS programs, and BBS data files. This account has the
logical name "BBS:", but few of the utilities refer to it by that name
so simply changing the logical won't work, you also need to modify
PREFIX.MAC before building the utilities, and modify the hard-coded
filenames in the BBS.RTS source code to point at where things really
are. Once moved to a RSTS system, the files should be set up as
follows:
*.TSK: prot=<232>, RTS=RSX
*.BAC: prot=<104>, RTS=BASIC
HELP.NDX, HELP.DAT, *.TXT: prot=<40>, RTS doesn't matter
other *.DAT files: prot=<60>, RTS doesn't matter