Metropoli BBS
VIEWER: giftest.his MODE: TEXT (CP437)
       ┌─┬────── ┬─┬ ┬─┬─────┐
       │ │       │ │ │ │
       │ │   ┌─┐ │ │ │ ├──     ┌─┬┬─┐ ┬┬──┐ ┌┬──┐ ┌─┬┬─┐    ┬  ┬┬   ┌┬──┐
       │ │     │ │ │ │ │         ││   │├─   └┴─┬┐   ││      └──┤│   ││  │
       └─┴─────┘ ┴─┴ ┴─┴         ┴┴   ┴┴──┘ └──┴┘   ┴┴         ┴┴ o └┴──┘

           CopyRight (C) 1991-92 by Max Bernard & Dave Navarro, Jr.

                                 History File
                       (in reverse chronological order)

 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 your help.

Version 5.0 (Not yet.  In closed Beta)

 As soon  as 4.0 is out the door, I  will start taking suggestions for the next
 version.   Already on the  list is the  ability to read  resolutions from .JPG
 files  created with GIF2JPG.  Much thanks to that author for providing me with
 the  appropriate information.  Please see  GIFTEST.CRC for more information on
 problems with GIFs.

Version 4.0ß
 ------------------------------------------------------------------------------

 ■ Ver 4.0ß16f [10-15-92] (Released 10/24/92)
     ■ Fixed a bug in the routine that removes an existing resolution string
       from the caller-provided description

     ■ Various other minor fixes

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

 ■ Ver 4.0ß16e [10-10-92] (Not Released)
     ■ Internal code cleanup and optimization

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

 ■ Ver 4.0ß16d [10-08-92] (Released 10/08/92)
     ■ The /E option wasn't actually erasing dupes or bad gifs
       The code for this option was commented out during testing and I
       forgot to put it back in (Thanks John Blackwell).

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

 ■ Ver 4.0ß16c [10-07-92] (Released 10/07/92)
     ■ Fixed a minor bug in the FIXLOG utility that would cause it to try
       to fix and already FIXed log file under certain circumstances.

     ■ New MAKETREE utility added.  This necessary utility was accidentally
       left out of the earlier ß16 releases.  MAKETREE is a utility that you
       run *AFTER* your pre-beta 14 log file has been FIXed using FIXLOG.
       See MAKETREE.DOC for usage information.

     ■ There were no changes to the GIFtest program itself from ß16B.

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

 ■ Ver 4.0ß16b [09-27-92] (Released 09/28/92)
     ■ Fixed a bug introduced in ß15 that caused GIFtest to sometimes ignore
       the config file.

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

 ■ Ver 4.0ß16 [09/26/92]
     ■ Added options 3 and 4 to the /T:x resolution type switch
       GIFtest now supports 4 types of resolution information as follows:

         /T:1  Full resolution, with brackets [640x480x256] or [1024x768x256]
         /T:2  Full resolution,  no  brackets  640x480x256  or  1024x768x256
         /T:3  Abbreviated resolution, with brackets [640x480] or [1Kx768]
         /T:4  Abbreviated resolution,  no  brackets  640x480  or  1Kx768

       If the /T switch is not found, GIFtest forces a default of /T:1

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

 ■ Ver 4.0ß15 [09/08/92]

     ■ Another increase in speed during dupe checking.  In this version, dupe
       checking is almost instantaneous.  In order to achieve this speed
       increase, the way in which the log file is searched for duplicate CRCs
       had to be changed.  That also resulted in a change in the format of the
       log file.  So, the same warning that applied to the previous beta (ß14)
       applies to this one.  YOU MUST use the supplied FIXLOG utility to
       convert your log to the new format BEFORE using this version of GIFtest
       or it WILL NOT work properly.  See FIXLOG.DOC for details.

     ■ Dupe files are no longer added to the main log file.  Instead, they
       are sent  to  another log file named after the main log file but with
       a .DUP extension.  For example, if your main log file is GIFTEST.LOG,
       the dupe files will be logged to GIFTEST.DUP  This has the side effect
       of reducing the size of the main logfile, resulting in even faster dupe
       checking.

     ■ This version (as well as ß14) has the ability to detect and use any
       embedded GIFbrand description found in a GIF file to replace the U/L
       description provided by the caller.

     ■ There are some other internal and cosmetic changes.  But the increased
       processing speed during dupe checking is the main improvement in this
       version.

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

 ■ ß14 [08/25/92]

     ■ Brand new and improved version.  Too many enhancements to list  here,
       and many more to come very soon.  This is an interim release just to
       whett your appetite.

     ■ *IMPORTANT* This version of GIFtest uses a different LogFile format than
       all previous versions.  This was done for two reasons:

         1) To speed up dupe-checking, especially on large systems
         2) To provide more meaningful info in the log file

       Before you can use this new version, you *MUST* convert your old LOGFILE
       to the new format  using  the  included  FIXLOG.EXE conversion  utility.
       FIXLOG will read your  old LogFile  and create a new log in  the format
       expected by this version of GIFtest.  If this is not done, GIFtest will
       not function properly.   I may try  to automate  this process  in the
       future, but for now, it is done manually.

     ■ GIFtest will now process both a  config file (if found) and command-line
       arguments in that order.  This way, default behavior can be specified in
       the config file but you  can  always  override  them  with  command-line
       switches.

     ■ Registered users can call The TASTE BBS at (718) 252-4529, to get a
       ßeta copy of GIFbrand which allows you to BRAND your original GIFs with
       up to 5 lines of 45 characters of text.  This text will be extracted by
       GIFtest upon upload and used to replace any description the uploader
       may have typed in.

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

 ■ Beta [01/30/92]: Finally  tracked  down  the  problem  when  dealing  with
    redirection  on Novell networks.   Much thanks to the  sysop of SPACE BBS
    for helping me on  this.   I also  removed all  the unnecessary  code and
    debugging code.  If I get no more bug reports this is the release version
    (will be recompiled as 4.1 release).

 ■  Beta [01/25/92]: Changed output from STDOUT  to CONS to correct a problem
    with redirection on Novell networks.  Fixed the problem where GIFtest was
    removing all  descriptions except for  the first GIF  tested when testing
    multiple  files in ProDoor.  GIFs are now opened in File Sharing mode, so
    SHARE.COM  or equivelant must  be loaded.   This should take  care of the
    problem  reported by sysops running multiple nodes when one user wants to
    "test" a GIF while another user is downloading it.

 ■  Beta [01/22/92]: Thing I've got it!   That pesky $DOOR.NAM problem should
    be fixed now.

 ■ Beta  [01/19/92]: Had a problem reading  the new ProDoor $DOOR.NAM format.
    Should be corrected.

 ■ Beta [01/17/92]: Well, we can  thank  Sam  Smith  for  the  latest  beta..
    Fortunately, before I got GIFtest out the door as a final product, he got
    around to  changing the file format for  the description files in ProDoor
    3.44 dated  after 12/31/91.  So, with this  beta I have added support for
    /B:3 which tells  GIFtest  that  you  are  running  ProDoor  dated  after
    12/31/91.   What's taking so  long is that  I had decided  to convert the
    majority  of GIFtest over to assembler to make it smaller and faster (and
    take up less  memory), and I  didn't expect to  have to make  a change of
    this  magnitude this soon.  It's affected GIFtest and GIFBRAND which were
    both converted..   This  beta  should  cover  the  necessary  changes  in
    GIFtest, but  I'll need  at least  another week  and a  half to  make the
    changes in GIFBRAND.  Sorry, and I'm just as anxious as all of you to get
    this  version out  and finished  with so  I can  get on  to the  stuff in
    version  5.  Once last note..  I'd like to thank Steve Catmull of CDC for
    his idea  for an  option in  GIFtest 5.0  of a  way to  reject untasteful
    GIFs...   I am thinking about some way  to add a "GIF critic" option, but
    it may  be impossible..  I'll sure give it  a try though <grin>.  For all
    of you  who have  registered GIFtest  (many thanks),  I have  printed out
    postcards for all of you with your serial number and branding information
    so that you'll at least have something until I get the disks in the mail.
    And last, but  not least..   I need some  ideas on GIFLab..   My original
    intention  was to just add ANSI color to GIFtest to make it more colorful
    (GIFtest  already supports the COM port)..  But what do you want?  Do you
    want  it as garish as ZipLab?  Let  me know..  ** Please Read GIFTEST.CRC
    **

 ■  Beta [01/01/92]: Sigh..   It looks  like all the  bugs weren't completely
    out.   GIFtest was not  opening the GIFLOG  file in file  sharing mode so
    that  was causing a number of problems.   That has now been fixed.  Note,
    however, that you MUST have SHARE.COM or an equivelant loaded for this to
    work.  Also,  a  number  of  people  reported  some  odd  behavior  under
    different  situations.  I finally  tracked it all down  to places where I
    was using  integers when I should have been  using long integers.  If you
    are  a  beta  tester/registered  user,  GIFSTAT  1.0ß  is  available  for
    downloading  on The Bard's Lair.   This util is  for registered users and
    approved beta testers only.  Do NOT distribute it.  GIFBRAND 1.0ß is also
    available for beta testing.  When you call the system, leave a message to
    the sysop to get the password to download these utils.

 ■  Beta [12/07/91]: Final Beta!  Fixed "/R:3" option to place description as
    the last line  by itself.  Fixed  problem where 1 out  of every 7000 GIFs
    wouldn't pass because  of an "illegal  block".  Some  program somwhere is
    writing a  block with a  header number of  zero, which is  not defined in
    either the GIF87 or GIF89 standard.  VPIC and CSHOW apprently just ignore
    this block and  continue on processing,  so the GIF  views perfectly, but
    GIFtest would report it  as a bad  GIF.  If  you use VPIC  to "regif" the
    image,  VPIC rewrites it without the offending block, which would get you
    around the problem.  If  anyone  knows  what  block  type  zero  is,  I'd
    appreciate it they'd  let me know..   It doesn't  seem to be  part of the
    image.   I added the /Z  option which display's debug  info as GIFtest is
    operating.   If your having a problem, add /Z to the command line to help
    you  to see exactly what GIFtest is doing as it processes the file.  I am
    gonna give this  last beta 7  days, and if  there are no  more reports of
    problems, I'm gonna remove all the  debugging  code  and  release  it  as
    final.  When that happens I'll start mailing disks to all of you who have
    already registered  GIFtest (if  you have  registered it  and I  have NOT
    called  you or your BBS to give you  your serial number, please send me a
    note or call my BBS.)

 ■ 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.
[ RETURN TO DIRECTORY ]