Dec 182017
CMPBBS is a utility for comparing two BBS file lists.
File CMPBBS10.ZIP from The Programmer’s Corner in
Category BBS Files
CMPBBS is a utility for comparing two BBS file lists.
File Name File Size Zip Size Zip Type
CMPBBS.BAS 13813 2809 deflated
CMPBBS.CFG 2399 988 deflated
CMPBBS.DOC 6637 2740 deflated
CMPBBS.EXE 52761 33614 deflated
DEATHSTR.DIR 135 73 deflated
DISK1.DIR 206 124 deflated
MASTER.DIR 93 67 deflated
XMODEM.OBJ 292 255 deflated

Download File CMPBBS10.ZIP Here

Contents of the CMPBBS.DOC file

Documentation for CMPBBS version 1.0
By Ken Goosens
19 February 1990

1.0 What is CMPBBS?
2.0 How CMPBBS Can be Useful to You
3.0 How to Set up and Run CMPBBS
4.0 An Example
5.0 Details and a Caution
6.0 Recompiling

1.0 What is CMPBBS?

CMPBBS is a utility for comparing two lists of files. The
first, your master list of files that you already have, is compared
to the second, a list of files from another source. Written
out is the ones new, that is, in the other source and not in your
master. CMPBBS is distributed with the following files:

CMPBBS.BAS - Basic source code
XMODEM.OBJ - Assember subprogram required for recompiling
CMPBBS.DOC - This documentation
MASTER.DIR - Sample list of files you have
DEATHSTR.DIR - Sample list of files from BBS to compare to master
DISK1.DIR - Sample list of files from diskette to compare to master
CMPBBS.CFG - Configuration file to drive the master

2.0 How CMPBBS Can be Useful to You

CMPBBS has one main application: you maintain a list of files you
already have, for example, on your own BBS. Most BBS's make a list
of all downloadable files available for downloading. You get
lists of files that are on other BBS's. The 1st thing you want to
know is what's new on the other lists. CMPBBS is designed to tell
you exactly what is new.

CMPBBS is design to run extemely fast on large numbers of files. For
example, it will compare lists with 8000 entries in about a minute on
a 10mhz 80286. It has no trouble handling up to 30,000 files.

You might want to select the new files for downloading.

But CMPBBS is designed especially to support another type of application:
namely, SysOps who want to maintain a list of files available
"off line", that is not their own BBS. With RBBS-PC 17.3A, you
can automatically inform callers on what other boards the
files are on. Or you can maintain your own files off line on removable
media, such as floppy disks, and log requests for those files for you
to inspect and restore the next day. Many SysOps maintain lists of
offline files but they are inconvient to use because they must be noted
as being off line in the directories, and require the caller to leave
a message. RBBS-PC 17.3A makes this work so automatic that it is easily
to set up and maintain for all involved.

If you are running RBBS 17.3A or higher, just install the Fast File
System and get other SysOps to give you their updated file lists. You
can become a kind of "library" resource on where all files in the area
can be found.

3.0 How to Set up and Run CMPBBS

CMPBBS gets its directions from a configuraton file whose default name
is CMPBBS.CFG. This file specifies what your master file is, what
lists to compare it to, and what to write the new files to. Just
load up CMPBBS.CFG into a full screen editor and following the
commented directions in the file. You can specify the configuration
file to use on the command line, e.g. to use CMPBBS.KG simply say


CMPBBS will display the parameters it reads from the configuration
file and give you an opportunity to confirm that you want to run with
them as specified. You can bypass the confirmation by putting "/B"
on the command line to make the program run batch.

Note that you can compare up to 200 lists in a single run.

4.0 An Example

Enclosed is an operating example:

MASTER.DIR - list of files you have
TEST1.DIR - list of files to compare to your master
TEST2.DIR - list of files to compare to your master
CMPBBS.CFG - Configuration file to drive the master

Type in


and in response to the displayed screen, press Enter. If you compare
MASTER to TEST1 and TEST2, you will see that each contains two new files
not in MASTER, which are written out to NEWLIST.DIR.

out the ones in the 2nd and not in the 1st.

5.0 Details and a Caution

CMPBBS is enormously fast - magnitudes faster than other BBS compare
programs. This lightning speed is achieved by using CRC checks rather
than the file name, which allows the entire index to be held in memory
and to be searched in a single step. But this lightning speed occurs
at a theoretical cost:

o it is possible that two distinct file names will be treated
as the same.

Possibly, but very unlikely. Since most BBS lists will overlap
heavily and there are relatively few new files, the likelihood of
having a file that is really new but not treated as new (because
its CRC is the same as another file on the list) is tiny but not
AS NEW, DON'T USE CMPBBS. For the applications it was designed to
cover, occasionally missing a new file is a small price to pay for
the enormous increase in speed of execution.

CMPBBS allows the column in which the file name begins to be
specified in the configuration, separately for the master directory
and the dirs to be added. CMPBBS does expect the file name to be in
the 12 characters at and following the starting column. CMPBBS
also requires that the file name be in ALL CAPS.
The file name can either have a period separating the prefix
and extension, or a space, and will be treated the same in each case.
However, if a space separator is used, the extension must begin in
the 10th column of the name field. The line will be skipped if
the first column of the name field is a space or one of the
following characters: /[]|<>+=;,?*

The outputted list of new files can be used as listable directory.
If processing multiple sources, you will probably want the source
to be identified in the output. This can be accomplised by
including the "OutCatAt" parameter. This specified the column
at which a category is to be written. The category will be
constructed from the first three characters of macro name specified
by the "Header" parameter. For example, the macro "DEATHSTR.IMC"
will have "DEA" as its category classification. Using a OutCatAt
causes the output to be fixed length. Any description in those
columns will simply be overwritten by the category.

6.0 Recompiling

CMPBBS uses QuickBasic source code that requires QB 4.5 or higher,
plus the assembler source code XMODEM.OBJ to calculate the CRC value.
It can be recompiled as follows:


 December 18, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>