home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GEMini Atari
/
GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso
/
files
/
bbs
/
turbobbs
/
bbs100.doc
< prev
next >
Wrap
Text File
|
1985-08-23
|
18KB
|
397 lines
Turbo BBS Version 1.00 - System Operator Notes - Page 1
1 - Features:
- Self-contained Message and Files system written in Pascal;
- Program not operating system dependent;
- Information files editable with WordStar;
- Variable Terminal width with word-wrap;
- User profile (password, terminal parameters) kept on file;
- Real-time clock time stamping of files and messages;
- Private and public messages supported;
- Variable access levels available;
- File and message sub-sections for easier user access;
- All uploaded files stamped with name of contributor;
- Number of accesses of each file recorded;
- XMODEM protocol (CRC & checksum) fully supported;
- Calls logged with sign-on and sign-off times;
- Comments to System Operator (Sysop) file;
- Directly drives serial port hardware.
2 - System files: The following files are included in the Turbo
BBS package:
* Required to compile the program: BBS.PAS
IO.INC
CLOCK.INC
MAILSYS.INC
FILESYS.INC
All the above files must be on the logged drive when compiling!
The BBS program should be compiled to a .COM file.
* Required on the default drive to run the compiled BBS program:
BBS.COM (obviously);
MESSAGES.BBS - the system message table: contains records for
each message giving user numbers of sender and receiver, subject,
time stamp, message and section number, and whether the receiver
has read the message or not. This table is loaded into a RAM
buffer whenever the system is active (ie. caller on-line), and
restored to disk at sign-off.
FILES.BBS - the table of files available on-line. Each file has
a record noting name, size, contributor, access count, section,
and whether the file is private or public.
LOG.BBS - Call Log, holding Caller, time on and time off info.
COMMENTS.BBS - Contains comments to Sysop, includes caller name
and time stamp.
IDS.BBS - Contains registered user names, passwords, access
levels, terminal parameters, last call date and high message
number.
Turbo BBS Version 1.00 - System Operator Notes - Page 2
The following text files containing on-line user information are
also expected on the default drive:
WELCOME.TXT - The pre-sign-on user welcome file. Should give
details about the system's features, hours, and policies, as well
as any news about new system features. Newest bulletins should
occur first in a file so frequent users do not have to read long
stretches of familiar information to get the new stuff. This file
is also listed by the W (Welcome) command.
BBSHELP.TXT - The on-line Help file, containing the system
commands and user hints. Also should list the subcommands for the
commands that support them. This file is listed by the H (Help)
command.
BBSLIST.TXT - Contains a list of other remote access systems of
interest. Listed by the O (Other systems) command.
SYSINFO.TXT - Gives information about the equipment running the
BBS, and general information about the BBS. Listed by the Y
(sYstem information) command.
MESS0001.TXT - The message table contains a permanent message
number 1, which contains specific help for the message system.
All messages are stored in individual text files, using the
file name MESSxxxx.TXT, where xxxx is the message number. All
.TXT files are expected on the default drive. They can be edited
using WordStar, in the Document mode. The BBS program is set up
to ignore the WordStar "soft" carriage returns and line feeds, so
the word wrap output driver of the BBS can format the file to
suit the user's terminal.
Messages stored by the BBS editor can be in two formats: one
contains "hard" carriage returns so special formatting used in
message entry is preserved (P subcommand in E command). The other
contains NO carriage returns, which are inserted by the output
routine as needed. Editing a message created by the latter option
with WordStar will show the entire message as a single line: ^B
will fix this by inserting soft carriage returns which the BBS
will ignore.
The top of the include file MAILSYS.INC defines a constant
called "maxmess," which defines the maximum number of messages
that can be held at one time on the system. The distribution
version sets this at 52, which corresponds to the maximum number
of files available on a Kaypro 2 disk (64) minus the number of
support files on the default drive. This limit can be increased
if a larger directory is available, but remember that the message
table is buffered in RAM and so each message uses 43 bytes.
Turbo BBS Version 1.00 - System Operator Notes - Page 3
3 - Installing the BBS on your system
The machine specific codes is contained in the include file
IO.INC. All system serial I/O is routed through these routines.
The procedures and functions that will need changing (unless
you're running a Kaypro 4-84 or modified 2-84) are flagged by the
string "(* Machine Dependent *)" for easy spotting. There is
another routine, called "clearmodem" which is marked "(* Modem
Dependent *)". The distribution version was written for a Rixon
212A Intelligent Modem.
To properly install the BBS, it is necessary to know how to
properly program and control the serial port. Since most
operating system drivers to not allow access to reading the CTS
(Clear To Send) line, this is necessary... It is unreasonable for
the BBS to be expected to capture and comprehend the "NO CARRIER"
or equivalent string from a smart modem. In particular, you must
know how to read the CTS line, control the RTS line, detect the
input buffer full signal, and the output buffer empty line. Also,
remember the character data send and character data receive
functions! To allow XMODEM transfers, it is necessary to set up
for 8 bits, no parity, and one stop bit.
Since the system expects to use the CTS line as a carrier
detect line, it will be necessary to ensure that the modem does
send a suitably readable signal for this purpose. The Rixon
initialization string does this. On Hayes Smartmodems, this is
controlled by a switch that must be set so the CTS line reflects
an on-line status. The DSR or DCD lines, if available and
satisfactory, can be used: just read that line in the cts
function in IO.INC.
The modem should also disconnect when the system lowers the
DTR (Data Terminal Ready - RS-232 pin 20) line for 400
milliseconds. If this feature is not available, another reliable
disconnect method must be found and implemented in the procedure
hangup in IO.INC. The DTR line is also lowered when the BBS has
been accessed locally to inhibit the modem's auto-answer
function. The procedures setlocal and clearlocal (IO.INC) will
require editing if this feature is not supported by your modem.
If your system has a real-time clock, the routines in the
include file CLOCK.INC must be adapted to use it. Once again, the
distribution file uses the Kaypro 4-84 clock. The Kaypro 2-84
normally omits this, but the CPU board has the necessary hardware
to implement it with the addition of a few parts. If the system
lacks a real-time clock, the clock-related features can be turned
off by setting the constant "clockin" to FALSE at the beginning
of the BBS.PAS file.
The special interest sections feature of the BBS is
currently limited to 9 sections, numbered 1-9. If sections are
not wanted, set the "sectsin" constant at the beginning of
BBS.PAS to FALSE. The Section names are defined at the beginning
of MAILSYS.INC. Future updates of the Turbo BBS will offer a
Turbo BBS Version 1.00 - System Operator Notes - Page 4
larger number of available sections, with either password
protection or individual user access flags for protected
sections. It is possible to not use sections in the BBS at first,
then implement them later, since all files and messages in a
system without sections are placed in section 1 (Default:
General).
If your system lacks sufficient memory to run the BBS
program as distributed, it will be necessary to overlay the files
system with the message entry editor. This is done by putting the
word "overlay" immediately before the procedure declaration of
the enter routine (near the end of MAILSYS.INC) and the filesys
routine (the file FILESYS.INC).
That is, change procedure enter;
to overlay procedure enter;
and change procedure filesys;
to overlay procedure filesys;
For this to work properly, it is absolutely necessary to avoid
putting any new procedure/function declarations at the end of
MAILSYS.INC, the beginning of FILESYS.INC, or between {$I
MAILSYS.INC} and {$I FILESYS.INC} in BBS.PAS!
(Note that using overlays will create 2 more files on the default
drive: adjust the maximum number of messages as required.)
The number of files in the file system is limited by the
fact that the directory table is buffered in RAM. In the
distribution version, a limit of 40 is set due to the fact that
the Kaypro 2's disks have a mere 191K capacity (All "freeware"
contributions go to the Hard Disk fund). To expand the number, it
is necessary to change the filetab array declaration and change
the number in the procedure newfile. Future versions will set
this limit with a compilation constant. Each file in the
directory uses 39 bytes of memory. Future versions will allow
large directory files to be read directly from disk (at the
expense of operation speed). (Please remember that the BBS was
NOT originally written for distribution!) The BBS puts all files
on the "B:" drive. To change this, you must change the following:
procedure addfile;
procedure newfile; <-- "B:" occurs twice!
function legaltab.
Turbo BBS Version 1.00 - System Operator Notes - Page 5
4 - Running the system
Once BBS.COM has been compiled successfully, it must be
placed on the default drives with the .TXT and .BBS files listed
previously in this document. The first thing the program should
do when run is initialize the modem. If the modem echoes the
initialization string, the display will show the echo mixed in
with the outgoing string. This is disconcerting, but harmless.
The file "IDS.BBS" contains two pre-declared names, which
are SYSOP and BOB MAXWELL (I couldn't resist). The usernames and
passwords are always mapped to capitals by the BBS to avoid
errors. SYSOP's password is set to TURBO. To sign on locally,
press the 'ESC' key on the host keyboard when the "Waiting for
call..." string appears. You can then sign on and test out the
system. The first thing to do is change your password to
something VERY secure by using the P command: the system supports
certain features for Sysops that are best not made available to
the general public.
The BBS main program supports two commands not listed in the
menus. They are "!" and "@". "!" is the printer switch: if a user
with level 5 (Sysop) access uses this command, system output is
also sent to the lst: device, until another "!" is entered. "@"
is the comments file reader and ID access editor. First, the
system comments file is displayed. Next, a "Kill (Y/N)?" prompt
appears, allowing the sysop to delete the file. Lastly, the
system will ask for a user name: if it is in the userlist, that
user's current access level will be displayed, and you will be
prompted for a new user level (pressing only RETURN leaves it
unchanged). The system will loop through the Name/Access prompts
until a non-existent user name is entered, whereupon the command
ends.
Several commands contain Sysop extensions: the L (call Log)
command gives a "Kill (Y/N)?" prompt to level 5 users. The U
(User list) command shows the access level of each user. The
R (message Read) function prompts "Delete (Y/N)?" after each
message read. Furthermore, all messages are visible to the Sysop.
The file system also contains extensions for the Sysop.
These are the I, R and K commands. I is used to Install a file
that is on the files disk but not in the BBS directory, so the
Sysop can "upload" files by just copying them onto the Files
disk. R releases a file: the public flag in the directory becomes
"true". All uploaded/installed files are initially private, and
do not appear on the BBS directory to anyone without level 5
access. Level 3 users have the ability to access private files
provided they know the file name. Any files on the files disk
that are not in the BBS directory are totally unaccessable, but
cannot be overwritten. The K command deletes a file from the
directory table, and erases the file.
Turbo BBS Version 1.00 - System Operator Notes - Page 6
5 - General Information
This software and its associated documentation and support
files are released to the public domain by the author. It is not
to be distributed commercially or re-sold for profit without
prior permission from the author. If you feel the software is
well-suited to your purposes, and would like to be informed of
any updates or new versions, please send $30 to:
Robert H. Maxwell,
201-2275 West 7th Avenue,
Vancouver, B.C. CANADA
V6K 1Y3
This contribution entitles you to support, error correction, and
updates. Customization of the code for specific purposes is not
included, but can be made available at extra cost. It would be
appreciated if the specifics of the system you plan to run (phone
number, hours, baud rates, etc.) were also included, so any
improvements YOU make can be observed and possibly included in
updates. Also, a compilation of systems using this BBS will be
maintained on the Vancouver Turbo BBS from this information.
The original Turbo BBS is on-line in Vancouver 24 hours a
day at 300 or 1200 baud at (604) 738-7811. If the BBS is not
available, another computer is usually on-line to report the
reason for the unavailability and when the BBS will return.
For fastest response to questions or problems, it is
recommended you use the Vancouver BBS. Slower response is
available through CompuServe's Borland SIG, where the author's
PPN is 70206,174. The use of voice calls is not appreciated until
the details have been arranged.
əəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəə