Category : BBS Programs+Doors
Archive   : CDCOM.ZIP
Filename : CDCOM.DOC

Output of file : CDCOM.DOC contained in archive : CDCOM.ZIP

CdCom - CD-ROM Support Door Ver 1.1j
This Version Supporting most Shareware CDROM Disks (except pc-sig)

CdCom is a full featured door program for allowing your users access to
the shareware types of cdrom disks. The door allows listing of files by
category, searching for text, viewing of files and downloading. Batch
downloading is available for protocols that support it. Protocols are
totally configurable by you. See PROTOCOL.DOC in this file for more
information on this.

This door was written to use Wildcats old CALLINFO.BBS door user information
file, however it can be run with other bbs software by simply creating a
callinfo.bbs file using a conversion program. Callinfo.bbs is the only
Wildcat specific file that CdCom uses. See notes at the end of this
documentation file for more info on callinfo.bbs and what info CdCom
uses out of it. The program DoorMaster seems to create a callinfo.bbs
from most bbs data that cdcom likes. It usually goes as DM##.ZIP where
## is the version number (I think its up to version 6.0 now). It is
available from both support boards if you need it. WC 3.X sysops look for
the WC32WC2.EXE that comes with WC 3.X. This will create a callinfo.bbs
from door.sys.

YOU WILL NEED the following two files as well for the door to work correctly,
as there are no internal protocols or internal file viewing functions:

DSZ.ZIP - File transfer protocols Xmodem, Ymodem, Ymodem Batch and Zmodem.

AVIEW54A.ZIP or - Compressed file viewer, allows view, read, download
AVIEW61D.ZIP - from compressed files. These are minimum version
- numbers, any later version will work also.

The latest version of DSZ is available from the dsz bbs at (503) 621-3746.
Download as DSZ.ZIP (type sz at Yam (C): prompt to download it using

AVIEW54A.ZIP is available from any of the support bbs's as well as the
authors bbs. DSZ is also available from the from the support bbs's as
DSZ####.ZIP where #### is the release month/day.

Support BBS's are:

HIS Board Fido 1:206/1 (805) 652-1478 12/24/9600 14.4k Dual Standard
or (805) 643-5770 12/24 (soon maybe another dual)

Com Port BBS (805) 12/24/9600 v.32 or 14.4k V.32bis
Not running mailer, but allows first time callers full access

The following files should be in this CDCOM.ZIP file:

CDCOM.EXE - Main Program
CDCOM.DOC - Documentation
CDCOM.BBS - Main Menu Screen
CDCOM1.BBS - Sample Logon Dump Screen
CDROP.BAT - Sample Shell to DOS Batch File
CDCOM.HLP - Help File Explains Commands
PROTOCOL.BAT - Main Protocol Batch File
PROTOCOL.DEF - Protocol Configuration File
PROTOCOL.DOC - CdCom Protocol Usage Doc's
PROTOCOL.BBS - Protocol's Avaialable Menu
RVMX.COM/DOC - Allows you to use EGA/VGA memory as extra dos memory
SAMPLE.BAT - Sample Batch File for Running Cdcom
REPORT.TMP - Template used to generate top 45 downloads report
MAKEXRF.DOC - Doc File for MAKEXRF.EXE Program
MAKEXRF.EXE - Setup Program For Converting Descriptions and Creating
CdCom Work Files
CFGFILES.ZIP - Various configuration files for different disks.
ERRORS.DOC - Lists errors generated by program
REGISTER.DOC - Program registration information
README.1ST - Most recent information on program
NOVIEW.EXT - Block certain filename extensions from being viewed

In the CFGFILES.ZIP file will be individual zip files for the various
disks that the door previously supported. The zip files are named by
the disk they support. In those zip files should be at least the

CDCOM.DEF - door configuration file
CDCOM.CAT - file category control file
CATEGORY.BBS - file category menu file
MAKEXRF.CFG - configuration file for makexrf

there may be other files in these config zip files for certain disks.
Makexrf.doc should cover these.

As well as this CdCom will create or use:

CDCOM.XRF - Sorted Cross Reference file for Quick File Searches
CDCOM.USR - Logs users downloads and download kb in door
CDDISK.RPT - Report of Whats on Cdrom Disk.
CDCOM.PTH - Contains Paths on Cdrom Disk, Used by Door.
CDCOM.RPT - Top 45 downloads report
CALLINFO.BBS - Wildcat's Caller Info Created When a Door is Run.
CDCOM.LOG - A log file that lists what the user did
CDCOM.TDY - Keeps track of users time for the day
CDCOM.SEC - Online Time in door/ratio check by security config file
CDCOM.LOC - Block individual filenames from being downloaded
CRITICAL.LOG - Updated when a program error occurs. I'll need the info
in here if you call for help.



1) Make a separate directory for this cdrom door. Un-zip all files
into it (don't unzip CFGFILES.ZIP though, you will only need one file out
of this one). Make a separate directory for the file viewer and un-zip all
files into it. Add the file viewer directory path to your path statement.
You should also do the same for any protocols you want to use (either place
them in your dos path or create a separate pathed subdir for them).

2) Run the MAKEXRF program to create work files and convert descriptions
if necessary. See MAKEXRF.DOC for details on this. This is a major
step so read makexrf.doc carefully, and don't miss any steps in it.

3) Modify CDCOM.DEF file for your system. See explanation below.

4) Configure PROTOCOL.DEF and PROTOCOL.BAT for the protocols you
want to support. See PROTOCOL.DOC for an explanation on how
CdCom handles protocols.

The door at this point is ready to run. You can edit the menu files
later on to your tastes.



This is the main configuration file for CdCom. This file will have a
different filename for multi-node systems. See multi-node section below
even if you are not running multi-node. You will need a text editor
(edlin being the most basic one) to modify/create this file.

CDCOM.DEF set-up file:
note: (the line#> is for reference only, do not put this in the cdcom.def

1> h: ; drive letter of cdrom drive
2> c:\cdcom ; where setup and work files will be located
3> on ; bell on/off when paged
4> 1000 ; lowest security allowed to drop to dos via cdrop.bat
5> 50 ; minumum security allowed to download
6> c:\cdcom ; alternate path for cdcom.log file
7> d:\ ; path to sorted description file ( + filename)
8> n ; toggle y/n to allow auto log-off from within prgm
9> c:\cdcom\node1 ; path to temp work directory
10> y ; send files from cdrom (y) or from temp work dir (n)
11> n ; reboot if cdrom drive timeout y/n
12> y ; add ---- to log file between users
13> 1,36,40 ; normal text color
14> 1,37,40 ; hi-lighted text color
15> 81 ; description line length, makexrf.dat reports this
16> 0 ; leave 0 unless using rbbs-in-a-box disk
17> 1 ; 1 = multi-line descriptions, 0 = single line desc's
18> 0 ; 1 = user info line on at startup, 0 = off at startup
19> 3 ; cdrom drive timeout time (minutes)
20> 3 ; keyboard inactivity timeout time (minutes)

On all drive:\path designations do not put a trailing backslash "\".

You can have comments on the same line, just begin them with a ";".
Cdcom will ignore any text past that. Do not wrap comments around to
the next line however. They can go as far right as you want though.

1> Drive letter of the cd-rom. Make sure to put the ":" after the drive

2> Drive and path where Cdcom work files for that particular cdrom disk will
be located (ie: file index, setup files, etc.). You can put the cdcom.exe
file in your path if you want however, in fact this is recommended if you are
going to run more than 1 cdrom disk using cdcom. Each disk will have its own
description file and work files, but the same cdcom.exe file can be used for
all (except pc-sig, which requires a different exe file).

3> Turn page alert tone on or off. Its a "red alert" type tone, will
definately get your attention.

4> Lowest security user that will be allowed to shell into dos from
the program. It shells to CDROP.BAT, that will let you turn on watchdog,
CTTY AUX1, etc. See example batch file. The shell command is not displayed
in the menu, it is the "^". If you don't want to use this feature then make
it a number larger than any security level you might have, like 10000. This
is also a multi-node filename changing type of file (ex: cdrop1.bat for node
1, etc).

5> Minimum security allowed for downloading. This allows you to open
the program up so all users can access it, read/search descriptions
but not be able to download until they register. Any number is valid,
so if you enter a 0 then all securities can download from the program.
A -d is also passed to aviewcom so that aviewcom will not let them download
if their security is below this number.

6> Path for the log file. This way you can have it written to
your BBS system files area or wherever so you can use the [R]ead a text
file command from Wildcat and read the log file, else in Wildcats case
you would have to add the path to CdCom in the configuration. Do not
make this the same directory as line 9. The line 9 sub-dir is a
scratch directory for cdcom, and all files are killed periodically
from that directory during program operation.

7> Full path plus filename for the sorted description file. This will
be the same filename that makexrf made from your listings, or if you already
had one then enter the filename here. If you are going to have the description
file in the same directory as the other cdcom work files (and are changing
directories to it) then you can just put the filename here. If you want to put
the description file somewhere else, like in a ram disk, then enter the path to
it as well as the filename. ex:
a& ;if it is in the same directory
d:\a& ;if you copied it to your ramdrive d: root dir

8> Toggle to allow or disallow auto-logoff after downloading from within
door. The door has an automatic timeout logoff (see line # 20) even if you
disable this function, it will simply exit gracefully back to the bbs
and the bbs can log them off. The user is also given a 20 second
countdown in order to abort auto log-off.

9> Temporary work directory for viewing or downloading files. This
directory should be SEPARATE for each node if you are running a
multi-node system. DO NOT make this the same directory as the
work directory as all files get erased in this directory throughout
various times when the door is running. Do not store callinfo.bbs
here or any other files, as they will get erased. This is a scratch
directory for the program, not for longterm storage of files. A ramdisk
would be ideal for this purpose. If you are running more than 1 cdrom disk
with cdcom see multi-node setup below about options for running more than 1
cdrom disk (you can share temp dirs between disks is what it basically boils
down to).

10> Send files from cdrom disk or from hard disk. A Y will send the
files from the cdrom disk, a N will cause cdcom to copy them to
the temp dir specified by line 9 (see above) and send them from
there. Cdcom has its own internal copy routines, so if you are
having problems with dsz giving you the classic CDR 101 error with
this set to Y, then try changing it to N and let cdcom attempt to
copy them over. If it bombs it will exit gracefully with an error
71 or 72 and go back to the bbs instead of hanging your system up.

11> Auto reboot toggle. If cdcom encounters a cdrom drive time out
(CDR 101 also) you have the option to have it reboot your computer.
I've found this can "wake up" the cdrom drive sometimes, especially
for older drives or older versions of the drivers. Reboot will occur
on error 71 or 72. This is of course unwanted in multinode setups.
Most bbs programs if on finding carrier and the door user information file
will just assume they are returning from a door and not log them off even
if you did just do a reboot.

12> if you want a dashed line ---- between users in the log, put a y
here. Some callers log programs don't like this though, so if your
using one that doesn't just put a n here. The dashed line makes it
a little more readable though for general use.

13> Normal text color. For users who selected ansi, this will be
the text color they recieve. See pg. 595 of ms-dos 5.0 manual
for a breakdown of the colors. Make sure you separate them with
a comma, DO NOT USE a ; to separate them, it will not work! Color
also will not work on un-registered versions, however this line
cannot be omitted (it can be blank).

14> Hi-lighted color. Items surrounded in <>, () and [] will
be hi-lighted using this color, as well as any other pertinent text.
All rules from line 13 apply here also.

15> Description line length. See makexrf.doc for explanation of this.
After makexrf has converted descriptions (if necessary) it will create
a file called makexrf.dat that will have the correct value to enter here.

16> toggle to read description file forwards (=0) or backwards (=1).
Rbbs-in-a-box disks are the only ones I know of that have the description
file sorted backwards, so this needs to be 1 for their disks. However not
all versions of riab disks have the description file backwards, so verify
this before setting this to 1. Most disks will have this set at 0.
This also will only work for single line descriptions, leave at 0 if you have
multi-line descriptions.

17> Single/multi line description toggle. Multi-line descriptions are
designated by having an | in column 32. If so set this value to 1,
otherwise leave it at 0. See makexrf.doc for further explantion of this.
The | does not have to be in column 32, however makexrf will place it there
if its not when it converts the descriptions, but if you have an existing
description file then don't worry about the exact location. However it does
have to contain a | to be a multi-line description or cdcom won't be able
to handle it correctly. Note: new feature pcbl.dat for makexrf lets you
change the column 32 for | to whatever you want now (cdcom really doesn't care
where it is, you just have to tell it to look for it somewhere).

18> user info line startup toggle. Cdcom writes a two line user info line
at the bottom of the screen with user name, security, etc. This toggle allows
you to either have it on or off with program startup. Screens do seem to
move a little faster with it off, so you may want to set this to 0.
You can with either option toggle it on or off using ALT-I at any prompt,
so the best setup is to put a 0 here, then if you want to see who is online
then press alt-i to display it, then alt-i to remove it again. When using
alt-i however the info line will get scrolled if the cursor is at
the bottom of the screen when you enable it. A clear screen will get it
working correctly again however.

19> cdrom drive timeout time. This was basically added to allow DRM-600's
to be used multi-node without having the door crash when two users accessed
different disks in the drive at the same time. It will wait this amount of
time (specified in minutes), if still no access after this time it will cause
an error 72 to occur and it will exit the door. If your having problems with
your cdrom drive timing out too early with earlier versions of cdcom this may
fix the problem also.

20> keyboard / remote user timeout time. Cdcom used to be hardcoded for
a default 3 minutes timeout time (no repsonse from either local or remote
in 3 minutes it would exit the door). You can now specify it here. This
time is in minutes.



The following files are altered for multi-node setup.


The change will be in that cdcom will add the node number to the
filename, so for node 1 you would have:


Cdcom will read line 35 of callinfo.bbs for the node number. Even if
you are not running multi-node, if wildcat or your conversion program
is writing a number here you must take this into account and modify these
filenames as so. If you are running an earlier version of Wildcat, or
your conversion program writes nothing here then cdcom will use the
non-altered filenames (cdcom.def, cdcom.sec, etc).

In cdcom#.def, insure that line 9 the temp directory is a SEPARATE
directory from all the other nodes. This is VERY important! So
a good setup would be as so:


Line 9 for CDCOM1.DEF would be C:\CDCOM\NODE1
Line 9 for CDCOM2.DEF would be C:\CDCOM\NODE2

All files are opened in share mode, so you can share the description file,
category file, menus, etc. Just don't share the temp directory.

Note that some LAN's require that all .EXE, .COM and .BAT files are
read-only. You can also read-only the cdcom work files if you wish,
except for:


If you register the program then insure that CDCOM.EXE is not read-only.
You can change it back after the registration process.

If you are running multiple copies of cdcom for different cdrom disks the
following can be done:

1) Only one copy of cdcom is needed (except for pc-sig version). Simply
put the cdcom.exe file in your path. This way you only need to worry about
one version of the exe file for registrations, updates, etc.

2) the temp directories can be shared between all disks. Since only one
user can be on any node # at a time, this is totally safe to do. So you
could create a \TEMP1 directory and all cdcom setups for different disks
could use this directory for when a user logs on from node 1, and a \TEMP2
for all node 2 logins, etc. The idea is that this way you only need 1
temp directory (cdcom.def line 9) for each node on your system, not for each
node for each disk. So if you were running two different cdrom disks on a
three node system, you don't need 6 different temp dirs total, you only need
3. The cdcom1.def line 9 for both disks will both have the same temp dir
path (ie: \TEMP1), same for both cdcom2.def's (\TEMP2) and cdcom3.def's



Protocols are dynamic in CdCom. They are controlled by
PROTOCOL.DEF. PROTOCOL.BBS/SCR is simply a display file
to let the user know what protocols you support. It in no
way reflects what you have active. CdCom shells to PROTOCOL.BAT
for sending files. Read PROTOCOL.DOC for more info on this.


MENU and TEXT Files:

The following files are either dumped as ansi or text depending
on the users selection (callinfo line 6). Text versions are
supplied in the program. The menu selection codes are hardcoded into the
program however and cannot be changed at this time.

cdcom.bbs - main menu
cdcom1.bbs - intro dump file
protocol.bbs - protocol selection menu
category.bbs - category listing menu file

Color screens should have a .SCR extension, ascii files a .BBS extension.

The unregistered version of this program does not allow color screens.
Registration will enable this feature.

Information from callinfo.bbs can be displayed by putting a ctrl-c
then the line number of the information you want immediately afterwords.
So a 05 will display the users time left, and 20 would display the
protocol they are using. See bottom of this doc file for a breakdown
of callinfo.bbs. Note the number must be 2 digit, so 1 - 9 must have
a leading 0.

By inserting a ascii 1 (ctrl-a) you can make the screen pause with
a ontinue, top, onstop prompt, and a ascii 2 will make it
pause with a Press [Enter] To Continue prompt. It will occur immediately
upon reading one of these characters, so watch where you place it in the

Note that cdcom1.bbs/.scr is not a multi-node file, so you don't need
cdcom2.bbs/.scr etc. I just called it that for lack of imagination.



CdCom accepts two parameters on the command line in order to log someone
into the door. These are CALLINFO.BBS and LOCAL. The CALLINFO.BBS
parameter tells cdcom to read callinfo.bbs for user information. LOCAL
tells it to enter a local mode where no callinfo.bbs is needed (it prompts
for needed information).


1> CDCOM CALLINFO.BBS - reads callinfo.bbs file from current directory

2> CDCOM C:\WCAT\NODE1\CALLINFO.BBS - reads callinfo.bbs file from
c:\wcat\node1 directory

3> CDCOM LOCAL - enter local mode, no callinfo.bbs needed.

For multi-node setup it is probably not a good idea to copy callinfo.bbs
to the cdcom work directory (current directory), and run as example 1,
as the next user who goes in overwrites the existing callinfo.bbs there.
If there was a simultaneous entrance into the same door from two different
nodes there would be a problem. So the best way for multi-node systems
is to follow example 2 where you pass the path to callinfo.bbs also, thereby
avoiding any collisions/overwrites.

There are two local modes that cdcom can use. The first one is if line 28
of callinfo.bbs is set at local (see end of docs), and you tell cdcom to read
callinfo.bbs from the command line. If so cdcom will function the same as it
would from remote, except that there is no output to com port. Aviewcom will
also be passed the proper parameters to put it in local mode. Most protocols
however has no local mode. Cdcom will still shell out to it however,
allowing you to at least test to make sure everything up to actual file
transfer by the protocol is working correctly.

The other local mode is started by passing the LOCAL parameter on the command
line. In this mode cdcom will not require a callinfo.bbs at all. It will
prompt you for the info it needs (with default values in brackets [ ] )
then run the program as it would in local mode via callinfo.bbs, except
for downloads. When you go to download it will copy the files to a
destination you can specify or use the default (default is temp dir
line 9 of cdcom.def). It will also check for free space on disk,
handy for copying off to floppy. It will ask you for the node number
also, if you hit enter here it will assume no node number and operate
as so. If you are on one of your nodes then enter that number.
Note that it still requires cdcom.def (or cdcom#.def) and all other work
files, so insure the door is configured properly for your system and the
node you are on.

See the file SAMPLE.BAT for a sample batch file for running CdCom
on your bbs.

If you are running the program on a non-Wildcat system insure
that there is sufficient memory for CdCom to run. It is advised
to use a shell that removes the BBS software from memory giving
CdCom maximum room. CdCom uses approximately 220k, and you must
still leave room for DSZ and Aviewcom to run. Aviewcom uses
pkunzip to extract text from a zip, and pkunzip uses 70k of
memory so you need about 400k free when you exit your bbs software.
An error 7 will be generated by cdcom if there is insufficient memory
for it to shell to any of these two programs (although the program that
is being shelled to may still bomb with insufficient memory). On LAN
systems it will probably be necessary to use a program that will allow
you to load the LAN drivers into high memory to free up enough memory
to run these programs. I do not run these programs so please don't call
me and ask me about it, cause I really don't know.

There is a program out called shroom that will write the contents of memory
to disk when shells are made. So for example when cdcom shells to dsz or
aviewcom shroom will remove the vast majority of cdcom from memory, freeing
it up, and write it to disk. When the shell is done, it will re-read it
into memory from disk. A version is available on support bbs's as
if you are interested.

Cdcom will also set dos errorlevel upon exit from the program. Here
are the values that can be set:

ErrorLevel 0 = Normal Logoff.
ErrorLevel 1 = Critical/Fatal Error Occured.
ErrorLevel 2 = User Auto-Logged Off After Download.
ErrorLevel 3 = User Dropped Carrier in Door.
ErrorLevel 4 = Users Time Expired in Door.
ErrorLevel 5 = User denied Access to CdRom Disk or Security Not in Cdcom.sec

That should pretty much cover most situations you may want to test for.



This program was not written in mind to support DesqView. I have
attempted over time to convert certain routines so that they would
work correctly under desqview. I personally do not own or use desqview
at all so I really know nothing about it. If you are having problems with
the door, and are running desqview, then try running the door without
desqview present and see if it gets rid of the problem. If it does,
then write down EXACTLY what it was doing (and where it was happening)
and contact me and I'll see if I can fix it. There are however 3 things
that I know of that you have to be careful of if you are going to run
this program under desqview.

1) If you have a system with a math coprocessor, then make sure that the
math coprocessor is turned on in each window. Failure to do so will result
in error 6's in the program, as well as a whole bunch of other problems.
The compiler I use by default will use a math coprocessor if it finds one,
this is why this is a problem.

2) You will need to use a program called TAME or DVPTAME (both either
shareware or public domain I believe) to speed up the program. The
way I wrote my input routines ends up with the program heavily polling
the keyboard, this program should solve that problem. I know TAME works
not so sure of DVPTAME.

3) The user info bar (cdcom.def line 18) is probably not desqview compatible.
I am working on that problem. If you notice it popping up on other screens,
then you may want to disable it in cdcom.def, and just use the alt-i to
toggle back and forth if you want to see who is in the door.



CdCom supports AViewCom thru the protocol.bat file. All parameters
passed are listed in protocol.bat. These should be sufficent for
most setups. Note that AViewCom can be told to use callinfo.bbs
for information it needs, however since CdCom does not re-write
callinfo.bbs when shelling to AViewCom the user will get the same
time in AViewCom as when they exited the bbs. On the command line
however I pass the true time they have left online to AViewCom. This
would only be undesirable (using callinfo.bbs for Aviewcom) if you
are allowing users to download files from Aviewcom.

If AviewCom is having memory problems, it will be noticable when you
try to read or extract files from the zip. It will say something like
Error Accessing filename.ext. All you can do is try to free up some
more memory and try it again.

Aviewcom is available from support bbs's as AVIEW54A.ZIP. This was also
the version cdcom was tested with. AviewCom's support BBS is
(619) 457-2665, HST. Any problems with AviewCom should be reported

It is recommended that you create a separate directory for Aviewcom
on your hard disk and path it. Aviewcom knows where it is located
(dos passes it the full path) so it can find all its work files no
matter where you run it from. This way you can quickly update it
as new versions come out, and the files won't get mixed up with
CdCom files. I am working with the author of AViewCom to make
sure the two programs run well together.

Here is how cdcom handles aviewcom. Explanation of the commands is
giveb below.

aviewcom %2 %3 -t%4 -a%5 -p%6 -e%7 %8
next line locks downloads
rem aviewcom %2 %3 -t%4 -a%5 -p%6 -e%7 -d

%2 is the full filename with path
%3 is comport (COM1, COM2, etc or LOCAL)
%4 is time left online, as calculated from program
%5 is ansi on=1, off=0 or choose=2 (program passes 0 or 1 however)
%6 is the path to temp dir, given by line 2 cdcom.def for pcsig version
of door, or line 9 for the other versions
%7 is the extractor to use
%8 is the connect baudrate (for calculating file xfer times) or -d
%9 is the node number (from callinfo.bbs line 35)

The following information was extracted from the aviewcom 5.4a docs.
I also added any other important information about how cdcom may handle
some of these parameters.

%3 is either 'com#' or 'local' where # is from 1 to 8
This is an optional parameter and defaults to local.
In local mode no transmission is sent to the com port.

-t# (%4) # is the number of minutes to be allowed.

-a# (%5) 0 = no ANSI. In this mode, all display is MONO.
1 = ANSI color. All display is in ANSI color.
2 = prompt caller for ANSI color or not (default).

-ptpath (%6) is an optional parameter and if omitted, defaults
to the current working directory. tpath is any
valid DOS path and specifies a temporary directory
for the external extractor to use when extracting files.
A useful tpath is a ramdrive. The '-p' indicates
that a DOS pathname follows. Cdcom passes path on
line 9 of cdcom.def thru %6.

-e# (%7) Used to specify an archiver where # is as follows:
0 pkarc (.COM or .EXE)
1 pkpak
2 pak
3 arc
4 pkzip [default]
5 zoo
6 lha
7 arj

If you use code 2, make sure that PAK.CNF is such that
the archive will not be deleted after extracting it. The
specified extractor is also used to create the temporary
archive which is assigned the name AVIEWnnn.???.

-r# (%8) Define the connection baud rate for file xfer calculations.
Cdcom will pass either a -rbaudrate or a -d depending on if the
users security is sufficient for them to download (cdcom.def
line 5). If they are allowed to download in cdcom, it will pass
a -rbaudrate to %8, if not it passes a -d to %8. If you are
by default not allowing downloads from aviewcom, then remove
the %8 parameter and replace it with -d (see above example).

-d disables the download option. This is included for those
systems which prefer not to allow downloading. If not
included, downloading is enabled and external protocol
programs must be somewhere in the DOS path.
(end of aviewcom docs)

You may need to block certain filename extensions from being viewed.
These are .GIF, .TIF, .EXE, etc. This is done through the NOVIEW.EXT
file. The format is as follows:

# of extensions to block



This file is read on startup of the program.



CDCOM.SEC allows you to assign users a certain amount of time total
allowed in the door by security level for the day. This also
allows you to lock any security levels out of the program. A users
download to upload ratio can also be controlled here.

This feature is not enabled in unregistered versions of the program.

The format goes as follows:

number of security levels
security,time (in minutes), dl/ul ratio


So here you have 8 security levels, 5 thru 5000.
To lock a security level out simply put a 0 for time allowed.
So in this example security level 5 is locked out, 10 gets 15
minutes, 15 gets 25 minutes, etc. This value is the maximum
amount of time they will get for the day. It will compare this time to
the time left that is in callinfo.bbs. If the time left reported
by callinfo.bbs is greater than the allowed time, they will get
the allowed time. If the time left reported by callinfo.bbs is less
than the allowed time they will get the time left that is reported
by callinfo.bbs.

ex: callinfo.bbs reports 90 minutes left, users security is 10 so
they get 15 min.
ex: callinfo.bbs reports 25 minutes left, users security is 1000,
they get 25 min.

If you do not have the CDCOM.SEC file installed, then CdCom
will let all securities in, and give them the time left in
callinfo. However if you use this file then INSURE that
EVERY security level your system uses is accounted
for. The program will abort if it encounters a security
level not listed in cdcom.sec.

Note this is a multi-node file, so you can make it different
for each node if you wish. Node 1 is cdcom1.sec, node 2 is
cdcom2.sec, etc. The format and rules are the same however.

The time listed in cdcom.sec is the maximum amount of time for the user
in the door for the day. Even if they raid the timebank (if you run one),
this is all the time they will get total for the day in the door. Once
the user exits the door their time remaining is written to a file called
CDCOM.TDY. The value that is written here is the value in cdcom.sec minus
how long they were in the door. So if they are security level 50 (60 minutes
total in door for day), and are in the door for 10 minutes, a value of 50
minutes will be written to cdcom.tdy. This once again is the maximum value
they will have for the rest of the day. If they raid the timebank and take
out 90 minutes, the door will only give them 50 minutes in the door. Once the
user has entered the door once during the same day, the value in cdcom.sec is
ignored till the next day, and only the value in cdcom.tdy is used.

If there is an error in operation in the door or if you had something configured
incorrectly then there is a chance that the time for that user will get
set to 1 minute in this file (cdcom.tdy). CdCom reads this file on start-up
and will use the time out of here if the date matches up. To get around this
(the 1 minute problem) just delete this file and start over. Its not
that big of a deal its only really used for the current day, not for
longtime use. CDCOM.SEC controls the total time for the day, and cdcom.tdy
keeps track of how much of this time they have used for the current day.

The dl/ul ratio level will be checked against this number here everytime
they enter a filename to download. It is a straight division, the number
of downloads divided by number of uploads. So if you put 2 here, a user
can still download at 10 downloads/5 uploads, but at 11 downloads/5 uploads
they will be locked. A zero value (0) here (security 5000 in example) means
no ratio check will take place, this user can download freely until they
run out of time. I will add DL kilobyte checks later. If the user has
0 uploads, then a subtraction is performed (# downloads - # uploads) and
if this result is greater than this number they will be locked. So a
2 here will let 2-0 pass, but 3-0 will get locked.



This file allows you to lock certain filenames from being downloaded or
viewed. Its format is

# of files to lock





It is checked each time the user enters a filename to either view or
download. It is not checked however when run local on command line.
This file is not read into memory, so you may not want to make it too
big. If you need to block an entire directory see makexrf.doc (use
makexrf.pth file) when creating cdcom.xrf. This option is really only
intended to lock out various filenames.

This feature only works on registered versions.



CdCom can generate a top 45 downloads report file by running:


The file REPORT.TMP is the template that cdcom uses to create this file.
You can change the top 2 lines for your bbs information or whatever. Cdcom
will write one more line at the bottom of this for totals. Note that you
can only edit the top 2 lines. The 3rd line has to be the start of the
report. I tried to write it so it would fit on one screen. It will add a
clear screen to the CDCOM.RPT file so don't add one to report.tmp. Sorry
no ansi output, I just don't have the time to mess with it right now.

The file can be displayed from within cdcom when the user presses T from the
main menu. Please note that it does not generate the report when the user
presses T, it simply dumps the file cdcom.rpt to them. You must run
cdcom report in order to generate the file.

This feature is not enabled in the unregistered version.



Cdcom by default will support COM1 - COM4. The base (starting) addresses
it uses are COM1 - 3F8h, COM2 - 2F8h, COM3 - 3E8h, COM4 - 2E8h. The port
number, as passed to protocol.bat for file transfer protocols is just the
com # (so for com1 it passes a 1, com2 a 2, etc.). These are the "standard"
addresses for these ports. CdCom is not interrupt driven (you may have
noticed there is no keystroke buffer from remote, this is why) so there is
no need to tell it an IRQ number. However most protocols are interrupt
driven so you will have to configure them to support the additional com
port interrupts.

CdCom supports com ports above com4 thru COM#.DAT, where # is your com port
number (for example COM5.DAT). In this file you will tell CdCom the base
address (starting address) of the com port. The port number is automatically
assumed from the com#, so in this example the port number would be 5. There
are two ways to enter the port number in com#.dat. If you know the hex
address (like 3F8h for com1) you can enter it as &h3F8, otherwise just enter
the value in decimal (1016 for 3F8h). For example, if your com5 is from
addresses 300h-307h, then put either &h300 or 768 in com5.dat, and the port
number will be set as 5. There is only one line in com#.dat and this is the
base address.

COM0 is assumed to be local mode.



Here is some supplemental information on the cdcom work files, in case you
are interested. Some of these can be changed, others not at all.

This file has all the categories and their select codes in it. It is used
for the ist files by category function. Its format goes as follows

number of categories
select code,category name


003,Programming Utilities

You can modify this file if you like. To remove a category, simply remove
the line from this file, and decrement the number of categories by 1. Ex:


gets rid of 003, Programming Utilities. If the user selects category 3
they will be told it does not exist. Note that the 003 select code is for
matching up in the description file. A user at the category prompt can
enter a 3 instead of an 003, cdcom can handle it either way. The entry
in must have all leading 0's though.

You should not modify this file. This file is used by cdcom to locate the
files on the cdrom disk. But FYI, its format goes as follows:

number of paths
path on cdrom disk

Cdcom automatically adds the drive letter from cdcom.def and the trailing
backslash (\). The top blank line is for the root directory entry.
Location of the path is important also, so don't move them around.

This file has in it every file that is on the cdrom disk. It contains the
following information: filename, filesize, location on cdrom disk, location
of description in master description file, and the number of times
downloaded. I may add the file date later on so there will be a new files
by date on the main menu, as some people have requested this. Cdcom.xrf
is in a basic language random file format, which goes as follows:

12 as filename$, 4 as filesize$, 1 as disk.location$, 2 as number.dl$,
2 as desc.location$ - Record size: 21 bytes

The disk location points into the cdcom.pth file. If you program in basic
then you can access this file quite easily using the format shown above.
Use cvl for filesize$, asc for disk.location and cvi for number.dl$ and
desc.location$. Dividing the size of cdcom.xrf by the record size yields
how many files are on the cdrom disk.

CdCom was written with Spectra Publishings PowerBasic compiler (previously
Borlands Turbo Basic).

This file keeps track of the number of downloads the user has done in
the door, as well as the number of download kilobytes. This is mostly
for your record keeping, so you can use this file to update your user
records later on since record updating is not done by the door. The
format goes as follows:

# of lines in cdcom.usr
user name, # of downloads, # of download KB

Eric Schonning,2,260
Bob Harris,3,400

shows 2 users, one with 2 downloads totaling 260 kb and the other with
3 downloads totaling 400 kb.

Note that these numbers do not take into account the number of downloads/
download kilobytes passed via callinfo.bbs. These numbers are only
the stats that the user has accumulated in the door.

If you use this file to update a users records, then either zero out their
numbers or delete the file when done. A new one will be created if
one is not found. If you remove a line here, make sure you decrement the
first line, the number of lines, or the door will crash.

On registered versions, this file is read in on startup and the number
of downloads the user has in it are added to the number of downloads found
in callinfo.bbs for ratio checking.

This file will be used later on when Wildcat 3.0 record updating is added
(if that is necessary, since wildcat now supports cdroms internally.
However if there is enough interest I will add it).



The distribution package (unregistered version) has the following
features disabled:

1) Color menus are not allowed.
2) Cdcom.sec support is not functional.
3) Top 45 download report is not functional.
4) Only 3 files can be batch downloaded at a time.
5) Cdcom.loc support is not functional
6) Future versions will have record updating and advanced ratio checking.
This will not be enabled in unregistered version.

These features are enabled after registration. All other features of
the door are functional besides these.

There is also a message given to the user when they go to download
that the program is unregistered. This will cease after registration.

This program is not shareware. What this basically means is that you are
free to run the unregistered version for as long as you want, and can use
all unregistered updates as they come out. This program can be distributed
by any means possible, as long as it remains in .ZIP form and no additional
files are added to the .ZIP (like BBS ad's, a very tacky thing to do).

Although this program has been extensively tested bugs may
still exist. The author assumes no responsibility for any
damages to hardware or data that may be incurred from running
this program. By running this program you the user assume full
responsibility for any damages that may occur.

For some reason which I do not understand the door will run significantly
faster if you have a math coprocessor. This is especially noticable with
the screens. If it seems to be running a little slow and its worth your
money you may want to invest in a math co. The prices have dropped
dramatically recently making them quite affordable, and then you will
have one if you come across another program that will use the math co.

This program now requires a registration fee. Registration will fully enable
all features of the door. See REGISTER.DOC for registration info. This is
a one time registration fee, the same code will work for any other version
of the door. However if you are running multiple copies of the door with
other disks, a $10 or so donation should be sent in, especially if you would
like to see updates to the program. While I fully plan on supporting the
program as long as I am able, I also need to be able to justify such support.
Registrations and donations help immensely with such justification.

Bug fixes and future upgrades are always available on the support BBS's at
no charge. Fixes will be posted as CDCOM.ZIP. Best bet is to just
view the CDCOM.ZIP file anytime you logon and see if the CDCOM.EXE
file has a later date than the one you have.

CdCom is only a door for the shareware software type of disks.
It is not intended for encyclopedias, viewing graphics, etc.

If you are having problems getting the door to work with your disk
feel free to contact me. I am usually always willing to get you going in
the right direction with the setup if you are having problems. Also if
you find a bug or any other problem let me know. You can contact me
either by mail, voice call, the support bbs's or the Fidonet cdrom
conference. I don't mind helping out with new cdrom disks not covered in as once I help you get it set up, then others can benefit from
it also as I will place the new config file in cfgfiles.

My address is: Eric Schonning
5281 Creekside Road
Camarillo, CA. 93012-5419 USA
Voice # (805) 987-2110

If you call my voice number please be courteous about the time you call.
I am on pacific time, and do sometimes keep long hours, but not always
during the week. Please keep this in mind if you decide to call.

Please note: Working on this door is about 4th on my list of priorities.
I do not do this for a living (a foolish idea no doubt). I do not run a
business, so I cannot write my expenses off. So if you do call me for
help or just want to talk about the door, here are some things you
must realize.

1) If you call me and leave a message on my machine, and want me to
call you back, I will only call you collect. The hours I am at the
house vary from day to day, however evening Pacific time is always
a good time to get ahold of me. If you leave a number for me to call,
please try to let someone know I may be calling, or leave a number where
it is most likely I will get ahold of you.

2) I will call your bbs and help you set up the door if you require
it. However before you ask me to do this be fully ready to recompensate
me for my phone bill. I do not at this time require pre-payment of my
phone bill (a deposit), however if I get stiffed any more phone bills
I will undoubtably do so.

3) I cannot at this time accept credit card orders for registrations.
I am looking into doing so however, and if you want to do it this way
then contact me. I would still like to recieve the completed
REGISTER.DOC form from you so that I have this information on hand, as I
am compiling a database, and this will allow me to contact you in case
of problems or notify you of updates. I do accept personal check's
accompanied by the completed register.doc form for registration. You
do not have to obtain a money order.

The support BBS's are:

HIS Board Fido 1:206/1 (805) 652-1478 12/24/96 14.4k Dual Standard
or (805) 643-5770 12/24 (soon maybe another dual)

Com Port BBS (805) 9600 v.32/14.4k V.32bis only
This bbs is not running a mailer at this time. He does however allow first
time callers full access to the bbs.

I try to logon to His Board everyday. I also check the Fidonet CDROM
conference everyday if possible also.



First, I would like to thank the Lord Jesus Christ for saving my rotten,
undeserving soul and for giving me the ability to be able to write computer
programs such as CdCom.

I also want to thank all those who have supported me over the years and
gave me encouragement, ideas for the program and gifts of hardware or
cdrom disks. There are so many names and I can't remember them all,
so I won't go into details here.


Sample Wildcat 2.X CALLINFO.BBS

* = Used By CdCom, ? = Used but not required

Callinfo.bbs file Line Number) Description
----------------- ------------------------
Eric Schonning * 1) User Full Name
3 * 2) Connect Baud Rate (0=2400,1=300,2=1200,3=9600
4=19200, 5=LOCAL). This is the modem connect rate.
Camarillo, CA ? 3) Calling From
1000 * 4) Security
177 * 5) Logon Time Left
MONO ? 6) COLOR or MONO (for Ansi)
Password 7) Password
4 ? 8) User Record Number
4 9) Minutes On System Before Shell
15:00 10) Time Entered Shell
14:56 11) BBS Logon Time
ABCDEFHGYZ 12) Conferences Joined
0 13) Daily Downloaded Files Total
9999 14) Max Daily Download Limit
0 15) Daily Download K Total
9766 16) Max Download K Limit
805-652-1478 17) Phone Number
12/03/88 14:56 18) Time/Date Last Call
All 20) Default File Xfer Protocol
12/03/88 21) Last New File Search
58 22) Total Times On
23 23) Lines Per Page
71 24) Last Message Read
9 ? 25) Total Uploads
1 ? 26) Total Downloads
8 { Databits } ? 27) 7 or 8 Databits
COM1 * 29) Com Port Being Used
11/16/62 30) Date of Birth
38400 ? 31) Port rate (text). If port is locked this will
be the locked speed.
AlreadyConnected 32) Not sure exactly what this is
Normal Connection 33) Either MNP/ARQ Connection or Normal Connection
12/04/88 19:45 34) Current Date Time
1 ? 35) Node Number
4 36) Door Number

Earlier versions of wildcat don't have lines 34 - 36. Cdcom will use the
node number for true multi-node support but it is not needed to run the

You do not need to have information on the unused lines. I have just
included them for indentification purposes. Some of the other info may
be used in future versions. If you don't include them insure that there
is at least a blank line there. This example undoubtably does not exactly
match what callinfo.bbs looks like for all versions of wildcat for the
items on the unused lines, as it does change slightly from version to
version of Wildcat.

Note that the security must be a numeric value. Some bbs software
allow you to use letters, CdCom will not work with such a setup.

Line 27 for number of databits will tell cdcom whether or not to strip
the high bit from com input. If your users are calling in with 7 databits
then make sure your conversion program writes something here, otherwise
cdcom will not recognize their input. They can change to 8 databits
while online however and it will then accept input from them. CdCom
only looks at the numeric value here not the rest of the line.

  3 Responses to “Category : BBS Programs+Doors
Archive   : CDCOM.ZIP
Filename : CDCOM.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: