Dec 122017
BBSLIST is a dBase door for RBBS to keep a listing of your favorite BBS's available for callers. Callers can create a customized listing of the BBS's they would like from the list and download just those BBS using XMODEM.
File BBSLIST1.ZIP from The Programmer’s Corner in
Category BBS Files
BBSLIST is a dBase door for RBBS to keep a listing of your favorite BBS’s available for callers. Callers can create a customized listing of the BBS’s they would like from the list and download just those BBS using XMODEM.
File Name File Size Zip Size Zip Type
BBSLIST.DOC 10587 4128 deflated
BBSLIST.EXE 217129 100758 deflated
BBS_LIST.DBF 1846 602 deflated
DOORDEF.DBF 65 37 deflated
PHONE.NDX 1024 549 deflated
STATE.NDX 1024 628 deflated

Download File BBSLIST1.ZIP Here

Contents of the BBSLIST.DOC file

BBS LIST Version 1.0
By Dennis K. Courtney

Former SYSOP of the now defunct
Mission Viejo, California
and the Still running strong
(708) 964-1084
Downers Grove, Illinois
also at
Compuserv [76357,3314]


BBS LIST Version 1.0 was written with WordTech's DBXL (a dBase III+
clone), compiled with WordTech's QuickSilver, using the SilverComm
communication libraries, for the RBBS-PC file formats.

I run a BBS that needed to keep a listing of other BBS services in
the area and, although there were plenty of these type of programs
for other BBS systems, I couldn't find one for RBBS-PC so I decided
to write my own. The program automatically loads information from
RBBS-PC's DOORINFO1.DEF file (no, this version doesn't support
multiple nodes) and passes the necessary information to the
SilverComm functions, allowing communications. Callers can ADD
BBS's to the database, LIST the database in several ways, DOWNLOAD a
text file of the databases and QUIT, returning to the calling BBS.
Other functions may be added to subsequent versions of the program
(SYSOP editing of the database, reindexing, cleaner print files and
automatic archiving of text files come to mind) if there is enough
interest. There is a lot than can be added but, let's face it, this
is a mundane function that serves quite well without a million
whistles and bells to increase it's already bulging file size
(Quicksilver doesn't do a great job of optimizing code size). It
could (and probably should) have been written in PASCAL or C but,
our BBS is dedicated to serving dBase users so we chose the route
that fit our user base.


The program files consist of:

BBSLIST.EXE && Main program file
DOORDEF.DBF && Database from DORINFO1
BBS_LIST.DBF && Database of BBS's
PHONE.NDX && Index of BBS Phone Numbers
STATE.NDX && Index of BBS's by State/City
BBSLIST.DOC && This file

BBS_LIST.TXT && Not included in the disk but is created
as a temporary file when the user selects

Unarchive the files and place them in the SAME directory as
DORINFO1.DAT, which is probably your main RBBS-PC directory. The
program doesn't automatically look up the path to DORINFO1.DAT if
you were to place the BBSLIST files in another directory but may be
able to find it if you include your main RBBS-PC directory in your
PATH command. From here you will have to create a batch file to have
RBBS-PC start the door. The documentation for RBBS-PC covers the
requirements of the DOOR menu pretty well so I'll just list the
content of the batch file. My DOOR for BBS LIST is DOOR #3 so I have
a file called 3.BAT that looks like this:

REM BBSLIST Version 1.0

The RBBS.BAT file is another batch file that starts the RBBS-PC
program when BBSLIST is through. It's the same batch file I use to
start (or restart) RBBS-PC in the first place. You may have other
programs that affect/monitor the COM port status (I have WATCHDOG
loaded) as part of your batch file and I think you'll be all right.

BBSLIST supports COM1-COM2 and baud rates up to 19200 and, as far as
I can tell, any combination of word length, parity and stop bits
(i.e., 7/1/E or 8/1/N) automatically. It reads the information from
the DORINFO1.DAT file and passes the parameters on to the
SilverComm functions. It also reads the user's security level and
time remaining but doesn't do anything with the information (perhaps
a future opportunity?). Once installed, BBSLIST will run itself
except for some occasional housekeeping like cleaning out any bad
records in the database. This unregistered version forces you to
perform any file cleanup with dBase III+ or DBXL rather than in the
program itself. It's not difficult but it does encourage you to
register your copy.

When BBSLIST is chosen by a caller to the BBS, two windows open up on
your screen (the caller doesn't see it) to advise the SYSOP of the
caller's name, communication parameters, security and time
remaining. The caller sees a banner with the name of your BBS (read
from the DORINFO1.DAT file), the date (read from DOS), and four
menu choices. The menu choices are ADD a BBS to the database, LIST
the databases, DOWNLOAD the database list and QUIT (return to the
BBS). These choices will be explained in detail in the next few
pages. When the user selects a menu choice, the chosen function is
performed and the caller is returned to the menu. The only way to
return to the BBS is via the QUIT menu choice (although the program
will terminate when an ERROR is encountered, smoothly returning you
to the BBS). I suggest that you also include WATCHER, or some other
program that monitor's the COM port and reboots on carrier loss, as
BBSLIST doesn't perform that function for you.


When the user selects ADD from the main menu, the user is asked to
enter the area code and phone number first. The format used
indicates the number of allowed spaces for entry and takes the data
without pressing if you do not completely fill up the space
allowed for data. The format is:

3 Spaces allowed --- <- Dashes show spaces allowed
Enter the Area Code........

7 Spaces allowed ------- <- Text shows spaces allowed
Enter phone number.........

At this point, the BBSLIST program searches the database to determine
if the entered BBS already exists. If it does exist, a message is
displayed to the user indicating that the BBS exists with the name of
the uploader (originally read from DORINFO1.DAT) returning the user
to the main menu. If BBSLIST doesn't find the phone number, it
continues asking questions about the BBS like the NAME of the BBS,
completes the list, BBSLIST asks if they would like to add another
BBS to the listing. If the user answers Yes, the process is recycled
while an answer of No returns the user to the main menu where they
can immediately view their BBS listing or perform any other menu

LISTing the BBSLIST File

When the user selects LIST from the BBSLIST main menu, the user is
asked if they want to view [A]ll (the default, indicated by
brackets) of the BBS's in the file (in Area Code/PhoneNumber
sequence), or (S)tate, which then asks the user which state
(indicated by the two digit state code - i.e., California = CA) they
would like to limit their search to. If the user enters a state
code, the search is limited to that state, if the user presses
the total list is presented in state/city sequence. The user
is also presented with a choice of displaying/limiting the list by
Area(C)ode. If the user chooses this option, they are asked if they
want to limit the display to a specific Area Code (i.e., 714 =
Southern California) or, by pressing , display the entire list
sorted by Area Code/Phone Number.

BBSLIST displays a header and the complete information (except who
the uploader was) for up to four BBS's to a screen before pausing
and asking the user if they would like to see another screen full.
The choices for this are:

Yes, is the default and it will display another screen of up to 4
BBS's before pausing again and redisplaying the choices. No, will
send the BBSLIST to the end of the file and show no additional BBS's
to the user. Continuous will display all of the remaining records
without pausing when the screen is full. When the end of the file is
encountered, a message indicating that it is the last BBS is
displayed and the user is returned to the main menu. The number of
BBS's displayed is dependent on the choices of STATE or AREA CODE as
it sets a dBase FILTER condition which is removed when the user is
recycled to the main menu. The user cannot filter the text file for
downloading, they get the entire file.


The main menu choice of XModem/Download causes a TEXT file to be
created called BBS_LIST.TXT that is downloadable via the
XMODEM/CRC protocol. We chose this method for two reasons - first,
it's the only protocol supported by SilverComm's Silverware
communication functions for dBase and, second, it's the most widely
available protocol for your callers in that ALMOST everyone has it
available in their communications program. I didn't see any need to
add all of the fancy protocols now available both for simplicity of
programming and code size. If enough demand results for additional
protocols (or auto archiving), we may add them to subsequent

The previous file BBS_LIST.TXT is always erased and rewritten as an
ASCII file delimited with BLANKS. The program will then display the
information about downloading the file (bytes, blocks, estimated
download time, etc.) before automatically starting the XModem/CRC
download of the file. The user sees a message indicating that the
transfer is about to start and that it can be aborted by entering
Ctrl-X. At the end of the transfer, the total transfer time is
displayed and the user is returned to the main menu.


When the user selects QUIT, the program, which had reserved some
memory for the input/output transfer buffers, releases the memory and
resets the communication parameters to their preBBSLIST state.


You can ask questions about the product (free support) via Compuserv
at [76357,3314]. We would also like to solicit your comments,
suggestions, bug finds and whatever else you'd like to send us.

 December 12, 2017  Add comments

Leave a Reply