Category : BBS Programs+Doors
Archive   : PCBCK210.ZIP
Filename : PCBCHECK.DOC

 
Output of file : PCBCHECK.DOC contained in archive : PCBCK210.ZIP





PCBCheck Advanced Upload Checker
v.2.10 June 27, 1994
Jim Dahl



ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 1. Mission and conception ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

I created PCBCheck (mainly for in-house use) when I was first exposed to
the difficulty in setting up other PCBoard upload checkers. Creating a
SETUP.CNF file and putting 50 seperate pieces of information on different
lines in certain formats is not a nice way to set up a program! In fact,
any program other than a BBS utility, would fail miserably if it required
such an intricate setup. BBS utilities do not need to be so complicated to
setup!

Comments are very welcomed and bug reports are PROMPTLY addressed!

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 2. Features ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

As mentioned above, I believe the main feature of the program is its
easy-to-use SETUP program! I also think PCBCheck has kind of a cool,
modern PCBoard 15.1 look that others lack. Specific functions are:

* Archive support is through PCC (archive information) files,
NOT internal code, so new archivers can be added with a simple
100 byte file!
* Easy-to-use SETUP program which dynamically adjusts its menus
based on your system setup, selected options, installed
archivers, etc... No wasted menu space, asks only those questions
which affect you! It even sets up your PCBTEST.BAT file for you!
* PCBCheck features advanced output which dynamically alters itself
based on the type of upload, tests to be performed, etc...
A few examples: When testing a GIF, a slot for resolution appears
in the space normally used by the 'testing embedded archives' slot;
when PCBCheck replaces the description with the FILE_ID.DIZ the
change is reflected on the line of the description displayed on the
screen, etc.... There will never be prompts which are irrelevant
to the current upload displayed.
* Flexible recognition criteria- using the 'allow unrecognized files',
'allow archives with non-standard extensions', and acceptable
non-archive extensions list (wildcards allowed) you can tailor
which uploads will be accepted to your specific needs.

General features and abilities include:

- FOSSIL and non-standard comm. port support
- age checking based on percentage of files newer than specified date
- scans embedded archives to any depth (as deep as path names allow)
- FILE_ID.DIZ importing (autocorrects invalid FILE_ID.DIZ descriptions)
- virus scanning using your virus scanner
- GIF integrity scanning
- convert all recognized archives to single type
- can handle self-extracting archives
- recognize archives with non-standard extensions
- add file to archives
- remove specified files from archives
- check for bad 'keywords' in description to reject upload
- compare upload name to 'trashcan' list for rejection
- program or external errors noted in PCBCHECK.LOG
- can send mail to sysop to inform him of program or external errors
- add newest/oldest file dates and number of files to description
- add GIF resolution to description
- notify sysop by mail of uploads which may be virus infected
- special RAM disk support to speed up operation
- ability to use different background screens
- registered version allows sysop to have his BBS name in title bar

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 3. Installation ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

PCBCheck should be installed in it's own directory, preferably close to
the root directory. DOS places limits on command and parameter lengths, and
PCBCheck can often come dangerously close to those limits while executing
complex archive/dearchive commands! Putting PCBCheck in a directory
directly off the root directory gives it more room to play with by
shortening the paths to PCBCheck data files.

When PCBoard wants an upload checked, it calls PCBTEST.BAT in its home
directory. SETUP will modify PCBTEST.BAT for you if it detects that
PCBTEST.BAT does not already run PCBCHECK and you tell it that it is
allowed to modify PCBTEST.BAT. Note that you may need to add a special
parameter yourself. The command line for PCBCheck reads:

X:\\PCBCHECK.EXE %1 %2 %3 [port]

The optional parameter [port] (which SETUP leaves out by default) allows
you to specify an address for PCBCheck to use for serial output. The default
(nothing specified) is for PCBCheck to read PCBoard's PCBOARD.DAT to
determine the COM port number, and then the COM port number is converted to
its standard address. Particularly if you use COM3 or COM4 the address may
not be the default. Also, you must use the [port] option if you wish to
use a FOSSIL driver in lieu of the normal 8250 communications routines.
Pass '#!' where # is the FOSSIL port, for example, to access COM1 via a
FOSSIL driver you would pass '0!' as the port parameter. Note that PCBCheck
should be able to read the FOSSIL port number out of the PCBOARD.DAT, so
you only need to pass the port parameter in special exceptions.

Notice that the suggested PCBTEST.BAT does NOT change directories, rather
calls PCBCheck from the current directory. That is very important! The
reason is that PCBCheck looks for system files in that directory (PCBOARD.DAT
and PCBOARD.SYS).

Change directories to the PCBCheck directory you created earlier and run
SETUP. This document explains the various features of SETUP later.

I strongly recommend all PCBCheck users have SHARE installed (most BBS
computers already should). Also, adding PCBCheck to the path seems to help
some users.

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 4. Running PCBCheck ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

As noted in Installing PCBCheck, SETUP pretty much sets everything up for
PCBCheck to run as the default upload processor for PCBoard. I will
detail the acceptable parameters and methods of running PCBCheck below for
reference.

PCBCHECK filename [method] [description file] [port]

The only required parameter is 'filename'. If you supply only 'filename',
PCBCheck will behave as if LOCAL were used for method. 'filename' should
be the filename to test (make sure it exists!)

'method' can be one of the following:

LOCAL - PCBCheck will scan the file, but will not attempt to do anything
with a description or COMM ports. This mode is used for local
testing of files (non-PCBoard related mode).
(user mode)
OFFLINE - PCBCheck will scan the file and generate a description file,
then move the file to the upload directory and register it with
PCBoard (offline uploads) This mode has basically the same
effect as uploading a file does, but offline (it checks the file,
then performs the PCBoard task of moving the file to the upload
directory and adding the description). This mode should only be
used from the PCBoard directory in which the PCBOARD.DAT and
PCBOARD.SYS are generated!
(user mode)
UPLOAD - PCBoard uses this mode to tell PCBCheck to scan the file,
including description processing and communications (normal
mode of operation for user or local uploads)
(PCBoard mode)
ATTACH - PCBoard uses this mode to tell PCBCheck that the description
is unimportant and that the file is not a public upload, rather
its in a message. PCBCheck will accept the upload even if it
is unrecognized.
(PCBoard mode)
TEST - PCBoard uses this mode to tell PCBCheck to test the file, not
do anything with the description
(PCboard mode)

'description file' is the location of the description file to be used,
this parameter is automatically passed by PCBoard, and should not be used
for user mode tests.

'port' specifies an optional non-standard address or FOSSIL port for
communications as described in Installation

PCBCheck will return 0 if the file passed, 1 if the file failed. Note that
PCBCheck also generates the file PCBPASS.TXT if the file passes and the
file PCBFAIL.TXT if the file fails (as required by PCBoard).

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 5. Setup ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

5.1 Archive support

The archive support page includes three fields and an information box.
The first field is a simple yes/no question whether or not you want to
accept uploads in that format. SETUP creates an archive support page for
each PCC file it finds, so you may choose any combination of archivers for
which you have PCC files.

The second and third fields are user-specific parameters you want passed
the archiver. These fields should be blank for all people and all archivers,
but are included just in case (i.e. PKZip 2.04c had DPMI problems, so some
users may have needed to specify -) to disable DPMI). DO NOT put the
parameters for archiving/dearchiving, etc... in these fields, that
information is in the PCC file. These fields are for hardware-specific
parameters which are required to make the archiver/dearchiver do ANYTHING on
your machine.

The information box scans the path for the archiver/dearchiver and reports
the presence of each. If the archiver and dearchiver use the same executable
it notes that as well. If SETUP reports that your archiver or dearchiver are
NOT in the path, and you have specified that you wish to support that format,
you put them in the path!

5.2 Non-archive support

The non-archive support screen allows you to enter the extensions of
acceptable non-archives. You do not need to fill all or any of the fields,
though you cannot specify more than ten acceptable non-archive extensions.

Special files which have internal PCBCheck support, such as GIF files, must
still be specified here to clear the detection phase of PCBCheck! Self-
extracting archives in the form of EXE files are the only exceptions. They
are considered archives, so if the archiver support is enabled on the
appropriate page and self-extracting support is enabled on the miscellaneous
page, PCBCheck will accept self-extracting archives as EXEs. If you specify
EXE here, you will be telling PCBCheck to accept all executables.

Note that the wildcard '?' can be used in the extensions. For example,
'0??' would allow any files whose extension begins with 0. If you want
to allow ALL unrecognized uploads, however, use the accept unrecognized
uploads switch instead of '???', though they should be functionally
equivalent. Note that the '*' wildcard is not supported because it
would serve no purpose (a single or double question mark could, in all
situations, be substituted).

5.3 Recognition Criteria

NON-STANDARD EXTENSIONS: Setting this switch to 'yes' instructs PCBCheck
to accept archives whose extensions are non-standard (for example, a ZIP
file with an extension JIM. A ZIP file can never have an extension ARJ,
or other recognized archive extensions). This allows PCBCheck to perform
more thorough checking on certain files, but at a price. For uploads which
are truly unrecognized, PCBCheck will still have to check them, thereby
significantly increasing processing time. Note that the processing time
is a function of the activated archivers, so deactivate archives you won't
use to improve performance. Note also that if TXT is specified as an
acceptable non-archive extension, a ZIP file with a TXT extension will be
treated as a non-archive upload.

ALLOW UNRECOGNIZED UPLOADS: Setting this switch to 'yes' instructs PCBCheck
to accept uploads which make it through the detection process completely
unrecognized. Note this switch affects recognition criteria only. The
upload will still have to pass age inspection, virus checking and any
other specified tests.

ALLOW SELF-EXTRACTING ARCHIVES: This switch determines whether PCBCheck
will attempt to determine if EXE files are really archives. Note that if
non-standard extension recognition is active, this switch is redundant.
This feature has the same disadvantages as non-standard extension recognition.

USE TRASHCAN LIST: You can maintain a file, TRASHCAN.PCB, which contains a
list of filenames you don't want on your board. Note that if you're using
PC-DOS, MS-DOS or OS/2, SETUP will attempt to locate your system editor and
allow you to edit TRASHCAN.PCB from within SETUP! If it successfully locates
your editor, a prompt will appear below this choice instructing you to
'F2 to edit TRASHCAN.PCB'. Format instructions for TRASHCAN.PCB are located
in the sample file.

5.4 Description and Comment Editing

Most of these switches are self-explanatory. The first four switches allow
you to instruct PCBCheck to add the number of files in the archive, the
newest date of a file in the archive, the resolution of a GIF, and/or the
oldest date of a file in the archive to the description. You may choose
any combination of the above, and only those appropriate to the upload type
will be used.

PCBCheck can also remove the comments from archives (of archive types which
support commenting). If you select 'yes' for replace comments, SETUP will
create a new prompt which requests the file with which to replace the
comment. You may either enter a filename of a file in the PCBCheck directory
or enter NUL (leaving the field blank will prompt SETUP to insert NUL) to
instruct PCBCheck to clear the comment

5.5 Supplemental Tests

MAX AGE and PERCENT NEWER: Maximum age checking in PCBCheck is unusual,
and quite unique. The technique is different than that used by any other
upload processor (yet, anyway) including previous versions of PCBCheck!
Rather than use some complex algorithm to determine an average age, or just
use the newest file date, PCBCheck allows you to specify an age and a
percentage of files which must be newer than that age. For example, if
your percentage is set at 50% and two out of three files in the archive
are newer than the specified date, the upload will pass (66% are newer).
Note that you cannot specify 100%, rather use 99% to tell PCBCheck that
ALL files in the upload must be newer than the specified date. On the other
hand, use 1% to tell PCBCheck that if ANY file in the archive is newer than
the date the upload is acceptable (that has the same effect as most date
checking systems, checking only the newest date).

MINIMUM GIF RESOLUTION: Enter the minimum resolution (WIDTH, HEIGHT, COLORS)
for GIF images. Note that each GIF image must pass all three criteria.

CHECK FOR KEYWORDS: PCBCheck can scan the user-entered description for
keywords which you do not want to appear in your filebase. The keywords
are stored in KEYWORDS.PCB (the format is described in the sample file).
The same editing feature exists as with the TRASHCAN.PCB file described
above.

VIRUS SCANNING: The virus scanning is quite self-explanatory. The error
level should be the EXACT errorlevel (an equality test is used, not a
greater than or less than test) which indicates a virus for your specific
scanner. The defaults work for F-PROT. Note that when entering the
scanner name the scanner must be in the path and the name must include the
extension. SETUP will indicate below the name whether or not it can find
the scanner in the path.

5.6 Internal Operations

RAMDISK: Specify the drive letter of your RAM disk here. Do not specify
a hard drive! The advantage of using this rather than simply putting
the RAM disk in the data path is that uploads which are too large for the
RAM disk then default back to the data path. PCBCheck should have the
RAM disk to itself or conflicts may result (though multiple copies of
PCBCheck shouldn't conflict with each other).

DATA PATH: Specify the data path PCBCheck should use for its 'work'
directory. It should be empty. If you specify a used or existing directory
you may lose data. I also recommend a directory very close to the root
directory, as it gives PCBCheck more room to work with. Note that the
data path should NEVER be on a RAM disk (see the section on RAMDISKs to
learn the proper method of using a RAM disk).

NOTIFY SYSOP OF (condition): Specifying yes tells PCBCheck that it should
notify the sysop via PCBoard mail of the named condition. Note that
specifying 'yes' does not affect any of the other operations of PCBCheck,
for example, if you tell it to notify the sysop of program errors, PCBCheck
will still also note the error in PCBCHECK.LOG and on the screen.

SCREEN FILE: Specifies the background for PCBCheck to use. Note that
the SCR files are NOT simple ANSI files, though they seem viewable as such!
They are not user editable (with regular ANSI editors, anyway). They contain,
in addition to other checksums, palette information for PCBCheck.

5.7 Unrecommended Features

REMOVE FILES FROM ARCHIVE: You can maintain a list of files which you
want PCBCheck to attempt to remove from archives. The list file must be
DELETE.PCB, which has the same editing features as TRASHCAN.PCB and
KEYWORDS.PCB described above (note the format for DELETE.PCB is described
in the sample file).
Why not recommended? You're modifying the original archive which I never
recommend because you may be violating security packets. Also you may
be removing a necessary file which just happened to have the same name as
a file on your 'hit list'.

ADD FILE TO ARCHIVE: You can specify a single file (in the PCBCheck
directory) to add to all incoming archives.

Why not recommended? In addition to being ANNOYING to have ads in files,
you are again modifying the archive which may destroy security information.
If people didn't use this feature, the remove files feature could also be
eliminated.

CONVERT ALL ARCHIVES TO MASTER TYPE: You can enter any valid archive
extension here. If the extension is not active or is unsuitable as a master
type, SETUP will reject it. Entering an extension instructs PCBCheck to
convert all incoming archives to the named type. Note, PCBCheck considers
some types unsuitable because they involve non-standard command line
operations to create an archive with imbedded directories.
Why not recommended? This is very STRONGLY not recommended, though it
may sound appealing to many sysops. It has the same flaws as ADD and DELETE
files named above, but has many more. First, the conversion is an inexact
science and may result in data loss (there's absolutely NO way to verify
that the conversion was correct other than visual inspection). Also, even
in a conversion which seemed to work, there may be data loss. For example,
converting an archive which is a ZIP made under OS/2 to an ARJ loses the
extended attributes (possibly rendering the files useless) though it is
completely undetectable (since it was decompressed under DOS rather than
OS/2). Similiar situations exist with security envelopes and other platforms.

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 6. Conference specific configurations ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

PCBCheck now has the ability to have different configurations for
different conferences. (I realise you may not want to try the same
checking on archives in your Apple conference is in a regular conference,
or may want to insert a different comment, etc...) Unfortunately, this
was a very difficult feature to integrate with setup (I couldn't figure
out any way, actually), so the only way to do it is by hand (suggestions
are always welcome for improvements). SETUP creates PCBCHECK.CFG, the
configuration file for the main board. Renaming it PCBCHECK.001 makes
it a configuration file for conference 1 (.002 for 2, etc....) So,
if I run a ten conference system, and want a special configuration for
conference 3, I would first run setup, enter the values for conference 3,
then rename PCBCHECK.CFG PCBCHECK.003. I would then run SETUP again,
entering the values I wanted used everywhere else, and SETUP would save
it as PCBCHECK.CFG (which is fine). If there is not a specific configuration
file for a conference, PCBCheck uses PCBCHECK.CFG. PCBCHECK.CFG is always
used for the main board.

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 7. Multinode/Multitasking, etc... ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

Well, this is just about the same as running any other program on a
multinode system. It does open all files in share mode, and does construct
the 'temp directory' name based on the current node, so there should be no
conflict. I share a PCBTEST.BAT between nodes on my system and it works
fine.

PCBCheck should work just fine under multitasking OS's or shells. I
developed it and tested it exclusively on OS/2 2.11, so I *know* it works
there. I've also run it under Windows for the BBS. I can't think of any
reason it wouldn't work with DesqView then, except of course that it
doesn't give up timeslices (but really, when I'm writing a DOS program I
don't feel that it's my responsibility to give up timeslices, I think the
multitasking OS which multitasks DOS programs should do that!)

ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 8. Errors ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ

Should PCBCheck itself fail in some way, it will automatically pass the
file and report to the user the error code number. It will also create a
file named PCBCHECK.LOG in the PCBCHECK directory which will note the error.
If so specified in SETUP, PCBCheck will also send mail to the sysop which
details the error. This list contains all known PCBCheck error codes which
should occur:

-1 Incorrect parameters
-2 Cannot access PCBOARD.SYS
-3 Cannot access PCBOARD.DAT
-4 Cannot access PCBCHECK.CFG file
-5 Old/Invalid configuration (.CFG) file in use
-6 Cannot access specified .SCR file
-7 Cannot open description file
-8 Cannot creat PCBPASS.TXT/PCBFAIL.TXT
-9 Cannot make work directory
-10 Cannot remove work directory
-11 Can't open the file to test
-12 Can't read from the (already open) file to test
-13 File to be tested does not exist
-14 Cannot open the FILE_ID.DIZ from the archive
-16 Cannot write to description file
-20 Cannot open/read a PCC file
-21 Cannot access trashcan file
-23 Invalid PCC or PCC cannot be read
-25 Invalid execute external process attempt
-26 Command is too long
-28 Cannot access keys file
-35 Non-zero error code returned by external process
-36 Old PCC in use
-37 Cannot access deletion list file

Obviously, most of them deal with file access problems, which could be
related to access priveleges, file sharing or something similiar on your
system. The most likely user-addressable problems are:

-2 (cannot open PCBOARD.SYS)
Not being able to access PCBOARD.SYS probably means PCBTEST.BAT doesn't run
from the PCBoard directory (or changes directories), or else a PCBOARD.SYS
doesn't exist in the PCBoard directory. It could also be a sharing problem
It could also mean that your PCBTEST.BAT changes directories away from the
directory in which the PCBOARD.SYS and PCBOARD.DAT are generated.

-3 (cannot open PCBOARD.DAT)
Not being able to find PCBOARD.DAT could be a sharing problem.
It could also mean that your PCBTEST.BAT changes directories away from the
directory in which the PCBOARD.SYS and PCBOARD.DAT are generated.

-25 (can't find external process in path)
Make sure that all designated acceptable archivers are in the path
to fix a -25.

-26 (command too long)
The proper way to deal with a -26 is, as described earlier, relocate
the PCBCheck directory as close to the root as possible to make the
commands shorter.

-35 (external program error)
Note the external process which generated the error and its errorlevel.
Then, refer to the external program's documentation to determine what
the error means. The external process's errorlevel will be noted in
PCBCHECK.LOG. More than likely you either ran out of memory (read
special memory considerations) or out of disk space (you can set PCBoard
not to accept uploads that reduce disk space below a certain level,
i.e. 5 meg).

N/A appears on virus scanner line
Your chosen virus scanner is NOT in the path. To verify this, run SETUP,
and SETUP will tell you (directly below the line on which you enter the
name of the virus scanner) if the scanner is not in the path.

D:\PCBOARD\PRIVUPLD\FILE.ZIP not found -reported by PCBoard
Get PCBoard 15.1 or later if you want to use the 'convert archive types'
feature. Versions prior to 15.1 did not allow the renaming of files
during testing.

PCBCHECK.LOG, should PCBCheck need to create it, is a wealth of information
for error-solving. In addition to noting internal program errors (in
addition to the time/date/file on which the error occurred) it also notes
non-zero error levels as returned by archivers or virus scanning programs.
This allows you to catch errors such as SCAN running out of memory, which
otherwise be undetectable!

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 9. Legal Stuff ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

This program, its look, feel, and its related documentation are copyrighted.
You may not reverse engineer, decompile, or disassemble the program. You
may not modify or translate the program or documentation without the written
consent of Jim Dahl.

This program is provided "as is" without any warranties (or conditions),
express or implied with respect to the program, including the implied
warranties (or conditions) of merchantability and fitness for a
particular purpose. The entire risk arising out of use or performance of
the program and documentation remains with you.

Some jurisdictions do not allow the exclusion of implied warranties, so the
above may not apply to you.

In no event will Jim Dahl be liable for any lost profits, lost savings,
incidental or indirect damages or other economic consequential damages,
even if Jim Dahl has been advised of the possibility of such damages. In
addition, Jim Dahl will be not be liable for any damages claimed by you
based on any third party claim.

Some jurisdictions do not allow the exclusion or limitation of
consequential or incidental damages, so the above may not apply to you.

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 10. Memory Considerations ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

When you consider what PCBCheck does, you realize that at times there
are up to three programs running at any one time, and each of them demands
it be running in conventional memory. (PCBoard, PCBCheck, and a virus
scanner or archiver/dearchiver may be running). PCBoard 15.x (in its latest
incarnation as of this writing) consumes a whopping 248.3k when it shells
to a program, such as PCBCheck, which leaves (assuming a base of 600k) only
351.7k for the other two programs! Of course, your base free memory before
running PCBoard may be much lower than 600k. PCBCheck does it's part by
swapping itself to XMS/EMS/disk, reducing it's kernel in active memory to
a mere 1.7K (it's not getting any smaller). Unfortunately, some programs,
such as McAfee's virus scanner, require more conventional memory than this
leaves (McAfee's SCAN requires 380k -- note that there is a new version
of McAfee's SCAN out called SCAN 2.0 which decreases the memory
requirement).

Since obviously PCBCheck cannot reduce it's memory requirements any
further, it is up to you to setup PCBoard so it swaps more of itself out
before shelling to PCBTEST.BAT to free up more memory. Another option is
to use low-memory programs. I personally recommend F-PROT as a virus
scanner (it is free, and has lower memory requirements).

Note- if a program such as SCAN runs out of memory, it will not crash
PCBCheck, rather it will cause PCBCheck to always report files as 'clean',
thereby possibly allowing viruses to slip through! If an archiver runs
out of memory, it will fail the upload. All errorlevels, for virus scanning
and archiving/dearchiving, are noted in the PCBCheck log file, so you should
be able to catch "out of memory" errors by referring to the log regularly
(or if there are problems).

If you get "Out of Memory" return codes from shelled applications,
In System Setup, under Configuration Options, then Configuration Switches,
set "swap during SHELL" to yes to free up more memory (at the cost of
slightly slower swapping).

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 11. Registration/Shareware ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

As I'm sure most Sysops know, shareware is not a type of program but a
distribution method. If you continue to use my product you are obligated,
morally and legally, to pay me for it. Therefore, I don't disable any cool
features, or even make promises of neat new features or extra utility or
maintenance programs if you register. I want to give you the full program
so you know what you're really dealing with, and if you don't think it's
worth paying for (which is fine with me) I expect you to quit using it. Note
that the amount of work I put into PCBCheck is directly proportional to
registrations received. When I receive registrations, I can justify putting
large amounts of time into new, advanced features. Think of your
registration as funding future releases.

One registration does, of course, entitle you to use all future releases.

The main advantage of registering PCBCheck (in addition to encouraging
me to keep improving it) is that you will receive instructions on how to
make PCBCheck display 'REGISTERED' in place of 'UNREGISTERED', or display
your BBS name in place of 'UNREGISTERED'.

Registration is currently set at $20.

You can register either by filling out the REGISTER.DOC and mailing it to
the given address.

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 12. Future plans / rumors / possibilities / vapour ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

VENDINFO.DIZ support was a feature which was slated for PCBCheck 2.0. The
specs are available, the programs exist, but to tell the truth I was a little
disappointed. I'd like to attack this in detail and let you all know
exactly where I'm coming from. First, since VENDINFO.DIZ is not a PCBoard
specific format (like FILE_ID.DIZ was) the description lines aren't
formatted to 45 characters. In fact, there are 5 different possible
description sizes which can be embedded in a VENDINFO.DIZ file. The way
it works is the third party developers (and second party support) are
supposed to line wrap the text to make it fit wherever its being put. That
means, of course, no frames, borders, etc... Also the description cannot
contain high ASCII anyway. Aside from that, creating a secure VENDINFO.DIZ
file requires registering with the creators of the VENDINFO.DIZ standard.
That means shareware authors must pay a fee to get the program to create
VENDINFO.DIZ files (I'm not complaining about the fee, in fact its quite
understandable). My point is that I don't think shareware authors are
really going to jump on it (at least not in droves). The larger ones may
appreciate the built-in distribution encoding, etc... CD makers and large
shareware distributors love it, but I don't see it as the future of all
BBS description files. This is NOT, however, a dismissal of VENDINFO.DIZ.
Rather, I'm delaying adding any features to support VENDINFO for the time
being. I have the specs (they are public domain, to the credit of the
creators of the specification). The possible implementations I see for
PCBCheck is checking to make sure the file is authorized for BBS
distribution (then again, if it wasn't, who would've bothered putting a
VENDINFO.DIZ in there?) and getting the description. As you can see I don't
really see a lot of benefit for PCBCheck beyond getting the description,
which FILE_ID.DIZ works better for anyway! So until it gets to the point
where authors quit inserting FILE_ID.DIZ in their files and only use
VENDINFO.DIZ, or other uses for VENDINFO.DIZ in the PCBCheck BBS setting
come to light, PCBCheck will not support VENDINFO.DIZ. Should ANYTHING
at all compelling come along, I will quickly retract this statement and
support VENDINFO.DIZ to the best of my abilities in PCBCheck. Time will
tell, I just wanted to explain why PCBCheck isn't on the 'cutting edge'
because it otherwise would be 🙂

ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 13. Where to complain / how to compliment the author ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

I can be reached at:

Legal Eagle BBS (218) 773-6011 (home of PCBCheck)

Legal Eagle is where I will continue to alpha test
PCBCheck, and will continue to provide support. Also,
I can field mail addressed to 'SYSOP' on this board.
(note join conference 5)

Internet [email protected]

And of course, write to me at:

Jim Dahl
RE: PCBCheck
2236 Springbrook Ct.
Grand Forks, ND 58201

-----------------------------------------------------------------------------

New versions can always be obtained from Salt Air, from the above BBS.

Registrations (currently $20) taken at:

Jim Dahl
RE: PCBCheck
2236 Springbrook Ct.
Grand Forks, ND 58201



  3 Responses to “Category : BBS Programs+Doors
Archive   : PCBCK210.ZIP
Filename : PCBCHECK.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: http://www.os2museum.com/wp/mtswslnk/