GIFtest 4.0ß
CopyRight 1991 by Dave Navarro, Jr.
History File
Note that many changes are occuring in GIFtest, I think up dimented
stuff to do to it all the time. If you can think of anything let me
know. At present, the DOCs aren't even close to being finished and
the utilities mentioned in ORDER.FRM aren't out of the alpha stages
yet, but all seem to work, though they're buggy. All "official" beta
testers will recieve a free registered copy of GIFtest. Thanks for
you help.
Note: An incorrect price of $30 was listed in earlier betas. The
correct price for GIFtest 4.0 is $15 plus shipping. This is to
accomodate smaller BBS's which cannot afford high priced utilities
for their BBSs.
New!: If you are using GIFtest with ZipLab, you can register GIFtest
for only $10! "Jeez Dave, how do we take advantage of the great offer?"
Well, I'm glad you asked that.. It's simple, send in the ORDER form
with your check/money order for $10 along with your BBS number and the
serial number from your registered ZipLab and I'll leave a message on
my BBS with your serial number to 'BRAND' GIFtest with!
Version 4.0:
Beta [11/23/91]: Added /A option to force upload descriptions to
private (put a "/" in front of them). It's gotten to the point on
my BBS where idiots (you know who they are) upload adult GIFs in my
main board public area for minors to download.. The only way around
it is to either stop letting people upload GIFs, force all uploads
private (a major pain), or have GIFtest force all GIFs to be private
uploads. Add /P:n routine where 'n' is the com port number.. This
will have GIFtest send all it's display information to the specified
COM port if carrier is detected. GIFtest reads the port speed from
the com port (only supports COM1: through COM4: with standard port
configurations), so should work with any BBS software. Fixed
resolution insertion problem where GIFtest wasn't putting the rez on
the last line by itself if position is set to 3. Fixed GTSETUP.COM
to reflect the changes in GIFtest 4.0 beta.
[Note: Can someone who is running GIFtest on PCB or ProDoor and not]
[ using 4DOS please upload their PCBTEST/PROUT1 file(s) ]
Beta [11/17/91]: Fixed GTSETUP to use GIFTEST.CNF as the default
config filename as opposed to GIFTEST.CFG.
Beta [11/14/91]: Added the /F:filename option for PCBoard 14.5a sysops.
PCBoard 14.5a will pass the location of the UPDESC[.n] file on the
command line to PCBTEST.BAT as variable %3. This, so you can now
use /F:%3 on the command line to tell GIFtest the location of your
description file. You can then delete all the remaining lines in your
GIFtest.CNF file which did contain the various names and locations of
your UPDESC file. (See sample PCBTEST.BAT file)
Beta [11/07/91]: Finally fixed ALL problems with resolution insertion
on PCB systems. Rewrote the whole thing from scratch and tested it
for 2 hours. A number of PCB sysops have called me and asked where
the heck the UPDESC file(s) can be found. When a user types in a
description of a file before they upload it, it is put into a file
called UPDESC. If it's a multinode system, the node number is appended
as the file extension (UPDESC.1, UPDESC.2, etc..). If you have NOT
specified a word directory in PCBSETUP, the UPDESC file(s) are kept in
the default PCB directory where PCBOARD.DAT resides. If you have
designated a WORK directory, then you will find the UPDESC file(s)
there. If you have PCBoard 14.5a, PCB passes a third parameter (%3)
to PCBTEST.BAT during upload testing. You can put "ECHO %3> UPDESC.LOC"
at the beginning of your PCBTEST.BAT file and you'll find a file called
UPDESC.LOC in your PCB directory which tells the location of the UPDESC
file for that node.
Beta [10/07/91]: COM routines are not functioning yet.
Beta [10/06/91]: GIFtest no longer "automatically" searches path
for GIFTEST.CFG, only if you specift /C or /C:filename on the command
line. Instead of searching the path for GIFtest, GIFtest only searches
the current directory and the directory that GIFTEST.EXE is located in.
Changed /P [rez position in description] to /R. Changed /R [rez type]
to /T. Changed /D [debug on] to /Z. Added /D to turn on duplicate
checking via 32 bit CRC (same CRC used in PKZIP and ARJ).
Added /P:n to indicate COM port number. Note -> GIFtest will send
all output to both the local screen, and the COM port if carrier is
detected on the indicated com port, if no carrier, only the local
screen will recieve data. COM ports supported are 1-4, com addresses
3FB, 2FB, 3EB, and 2EB using IRQ's 3 and 4. COM port addresses are
looked up from the BIOS table, so if you have a program that uses a
non-standard port address and changes the BIOS table, GIFtest will
support it. GIFtest automatically reads the baud rate, parity and
stop bits from the port so they do not need to be passed. This will
make GIFtest usable with a wide variety of BBS programs when not using
the resolution insertion functions. Once again, I fixed the PCBoard
description handling routines. I've done extensive testing with
PCBoard this time, so they should be working properly. I had been
working on moving the CRC dupe checking routines into a database
instead of searching the GIFLOG as I have been doing, but I've had
too many problems because of how I've got the code setup.. Since
there are plenty of CRC database programs available right now, I
suggest you use one of those if the dupe checking routines are too
slow for you. To facilitate this, dupe checking now defaults to
off and you must include "/D" on the command line or in the
GIFTEST.CNF file. CRC's are still put in the log even if dupe
checking is turned off.
Beta [09/15/91]: Fixed PCBoard Description Handling.
Beta [08/12/91]: Changed display so that if a duplicate is found,
instead of "Duplicate!!" is says "Duplicates [duplicate filename]".
Beta [08/12/91]: Changed the display slightly to better accomodate
PCBoard's PCBVIEW.BAT for redirection to PCBVIEW.TXT [sample
PCBVIEW.BAT file for 4DOS included]. I have changed my BBS to
PCBoard, and in doing so, have discovered the the PCB description
routines are not working..
Beta [08/10/91]: Fixed the "press any key" bug in the help display for
the unregistered version.
Beta [08/07/91]: Changed GIFLOG searching routines to make them faster
when searching for CRC. Added PCBOARD description support. GIFtest
now parses UPDESC[.n] where [.n] is the extension with the node number.
If GIFtest finds the PCBNODE= environment variable then GIFtest uses
that for the node number (ProDoor systems should set this variable for
each node to have GIFtest properly find the right description file if
running multiple node and your using the same PROUTEST.BAT for all
nodes.) Made changes in "alpha" routines for recognizing "branded"
GIFs.
Beta [07/24/91]: Converted a bunch of routines to ASM to reduce size
of EXE file. Added "alpha" test routines for recognition of GIFs
branded with GIFbrand.
Beta [07/23/91]: Fixed logic for finding $DOOR.NAM description file.
Beta [07/21/91]: Made changes in sample PROUT1.BAT file. Added
TESTGIF.BAT as a sample GIF testing batch file for ProDoor and
PCBoard.
Beta [07/20/91]: [04:15am] Added /X:FILENAME option which will
log any internal GIF comments found to FILENAME. All descriptions
are appended, FILENAME is not overwritten.
Beta [07/20/91]: Rewrote GIF testing logic to comply 100% with
GIF89a standard. No longer "crops" description fields in GIFs.
Added /D option which will display "debug" information as GIF
is processed.
Beta [07/19/91]: Fixed bug in /S, skip GIF testing and just add
resolution. Fixed bug in /E option, added "debug" routine to
display where GIFtest "thinks" $DOOR.NAM is located.
Beta [07/18/91]: Added ProDoor resolution insertion routines and
node checking routines. GIFtest will now also display the exit
code so you have some idea exactly what is going on. Added CRC
test for GIFtest itself. If you type GIFTEST CRC, GIFTEST will
display a CRC of itself.
Beta [07/17/91]: It seems that with the GIF89a standard, an image
can end with a "!" as a terminator instead of a ";" which designates
an extension. Prizm BBS uses this to store ASCII text comments after
their GIFs. GIFtest currently truncates this "extension" and replaces
the "!" terminator with the proper ";". At present, VPIC, CSHOW and
other GIF viewers do not recognize any extensions while viewing GIFs
so by truncating this, GIFtest is able to get a more accurate CRC32.
This will not affect your GIFs in any way other that to reduce their
size.
Beta [07/17/91]: Fixed command line parsing so that it properly
distinguishes between a filename and a command parameter.
Beta [07/15/91]: Searches path for GIFTEST.CFG file if not in current
directory. Removed /T option.. when testing GIFs, GIFtest will always
trim off the extra bytes, otherwise the 32 bit CRCs don't mean anything.
Added GTSETUP to the beta zip to help people create GIFTEST.CFG file.
Beta [07/12/91]: Does not have routines for placing resolution into
description yet.
Complete rewrite from scratch. Now 70% assembler to speed up most
functions.
Version 3.4:
Recompiled to use less memory.... Fixed /E (erase) function.
Version 3.3:
Added /L:[filename] option for logging of GIFs. Log entries are
written as:
FILENAME.GIF 999999 01-01-91 [9999xx9999x999] 9999 OK GL FFFFFFFF
─────┬────── ──┬─── ────┬─── ────────┬─────── ─┬── ┌─ ┌─ ┌───────
│ │ │ │ │ │ │ └ 32 bit CRC
│ │ │ │ │ │ └ GIFLITE'd
│ │ │ │ │ └ Status
│ │ │ │ │ OK
│ │ │ │ │ IM Incomplete Image
│ │ │ │ │ IV Invalid Header
│ │ │ │ └ Trimmed Bytes
│ │ │ └ Resolution
│ │ └ Current Date
│ └ File Size
└ File Name
If the filename for /L is left out, then GIFtest assumes the name
GIFLOG. If the log file exists, it's search for the current filename
and if found, GIFtest exits without retesting the file.
Version 3.2:
Fixed resolution insertion (again). 3.0 and 3.1 weren't handling
multiple line descriptions properly, and didn't do ANYTHING with
single line descriptions. When testing, this wasn't caught with the
"/D" option because "/D" printed the description as it was being
adjusted and not as it was put back in $DOOR.NAM so I didn't catch it.
Version 3.1:
Added ability to detect if a GIF has been compressed with the
unregistered version of GIFLITE. If the GIF is valid and it has been
compressed with GIFLITE then GIFTEST will exit with an ERRORLEVEL = 3,
which will allow your batch files to use GIFLITE on uploaded GIFs if
you desire. Also added "/S" option to skip GIF testing alltogether.
This was provided for SysOps who just want the resolution added to their
description without all the testing.
Version 3.0:
Rewrote GIF testing routines to test the internal image of a GIF file
as well as the header and terminator. This does not test to see if
each pixel is the correct color, but rather tests to make sure that
the correct number of pixels are represented in the LZW table for the
image and that all internal codes are accurate. Added /P:3 option to
place resolution as the last line of the description by itself. Once
again fixed problem with descriptions not being displayed properly.
Also included TESTGIF which displays techinical information of a GIF
file. WARNING! TESTGIF.EXE does direct screen writes when displaying
information about a GIF. This could cause problems with some
multitaskers on non 386/486 machines when used in the background task.
Version 2.3:
Added /E option to erase Invalid or Incomplete GIFs and fixed problem
where leading "/" was being deleted from description causing private
uploads to be put in the public upload directory. Fixed description
duplication problem when description was the minimum allowed by ProDoor
and using the /P:2 option.
Version 2.21:
Minor bug fix in documentation to reflect the change in the switch
charactor. Use "/" instead of "-".
Version 2.2:
Minor bug fix where GIFtest was improperly placing resolution when used
with -p:2 or -p:0 options.
Version 2.1:
Minor bug fix where GIFtest would remove "-"'s from filenames on the
command line causing the GIF to be invalid.