home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-11-25 | 32.3 KB | 1,057 lines |
-
-
-
-
-
-
-
- //////// // ///// //// //////
- // // // // //
- /////// ///// //// // // // // // /////
- // // // // // // // // // // // //
- /////// // // //// ////// /////// //// //
-
- Version 5.1
-
-
- Written By
-
-
- Bill Parquet
-
- and
-
- Dave Sharpless
-
-
- Copyright July, 1990
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Introduction
- -------------------------------------------------------------
-
- How often have you downloaded a GIF file from your
- favorite BBS only to discover you wasted maybe 15 minutes and
- 50,000 bytes of download credits on an array of dots that
- doesn't deserve to be called a picture, or had a "bad code in
- file" after the first 10 lines? Wouldn't it be better to see
- the picture as you are getting it? Just abort the transfer,
- saving your time and credits for something more worthwhile if
- you don't like it? If so, SHOWGIF is just the program for
- you! It is a TSR that quietly waits for the system to begin
- writing a GIF file. Once writing begins, SHOWGIF switches to
- the appropriate VGA or EGA video mode, and shows the picture
- as it is coming over. Unlike other view it while you get it
- setups, it works with nearly ALL protocols available.
-
-
- System Requirements
- -------------------------------------------------------------
-
- For SHOWGIF to operate properly, your system must be
- equipped with an EGA, VGA, or Super-VGA video card. It also
- requires about 32k of memory (mostly for GIF decoding).
-
-
- Configuring ShowGIF
- -------------------------------------------------------------
-
- The first step in operating ShowGIF is the setup.
- Configuring ShowGIF is a simple process. The first thing to
- do in this process is to select a setup file which best
- matches your card. Each of these files has the extension
- CNF. The first line of each of these files contains the name
- of card that it corresponds to. Pick out the one which best
- matches your video setup.
-
- Once you have selected the setup file for your system,
- run CSHOWGIF followed by the name of the name of the file
- that you have selected. For example "CSHOWGIF VGA.CFG"
- CSHOWGIF will print out the current setup and load in the new
- setup. It will inform you if you are using an unsupported
- bank switching method or if a resolution is unlikely.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The final phase of the setup involves series of
- questions relating to how the operation of ShowGIF. Most of
- these options can be altered with the use of command line
- options, but are also available here for convenience. The
- first question refers to the message delay. It is the amount
- of time (in 0.054 second clock cycles) that the result of the
- view remains on the screen before returning to the original
- display. Normally it is 36, or about 2 seconds. You MUST
- enter a number here (the original setting given for
- reference). Next you're asked if you want to enable or
- disable stream and extension detection methods. If you hit
- enter for either of these, than the existing setting will be
- used. The implications of each will be discussed later.
- (NOTE: CSHOWGIF will not let you turn both methods off
- because ShowGIF would not have any way to detect a GIF file).
- Finally it asks if you wish ShowGIF to pause after the
- display. This is probably best left off. If enabled,
- ShowGIF will wait for a key before removing the picture.
- Like before, enter will keep the existing setting.
-
- The next changes are optional. CSHOWGIF will ask you if
- you wish to redefine the keys. Enter or 'N' will skip this
- phase. If you do wish to change the ShowGIF keys, hit 'Y'.
- It will then ask you that key to hit for aborting the view
- (normally BACKSPACE). Press the key that you wish to use.
- Next, it will ask you the key to use for blanking the screen
- (normally TAB). Press the key that you wish to use. Shift
- key sequences aren't recognized by either prompt, meaning
- CTRL C will be the same as SHIFT C, ALT C and C by itself.
- CSHOWGIF will not stop you from setting both functions to the
- same key, but you setting it as such will disable the screen
- blanker. NOTE: If you do reconfigure the keys, make sure
- they aren't keys that your protocol uses. These may included
- keys such as ESC, CTRL-C, CTRL-X. ShowGIF will trap these
- keys and prevent you from aborting your transfer. When you
- have finished, a reconfigured copy of ShowGIF will be written
- to disk.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Operation Instructions
- -------------------------------------------------------------
-
-
- Once you have ShowGIF configured, all you need do is
- type "SHOWGIF" before you load your favorite terminal program
- and it will be ready to use. Once you begin downloading a
- GIF file, or an archive that contains GIF files, ShowGIF will
- start, and begin displaying the data as it goes to disk.
- ShowGIF may not start immediately, as it must wait until it
- has collected enough information about the picture to begin
- drawing. It will usually "kick in" after the second
- Ymodem/Zmodem block. If anything goes wrong during the
- transfer, ShowGIF will abort and give you a message
- explaining what happened. If the transfer goes successfully,
- ShowGIF will finish with a "view successful" message. After
- you finishing your session in the terminal program and return
- to DOS, type "SHOWGIF /u" to remove ShowGIF from memory.
-
-
- Batch Files
- -------------------------------------------------------------
-
-
- We recommend that you create that (if you haven't
- already) you create a batch file that loads ShowGIF, loads
- your terminal program, then unloads ShowGIF. This prevents
- ShowGIF from occupying memory any longer than it has to, and
- it helps to prevent the side effects mentioned later. If you
- plan to use ShowGIF in immediate mode, another batch file
- should be created. It should enact the setup for immediate
- viewing and pass the file you wish to view. There will be
- much less hassle with command-line switches and accidental
- installations.
-
- Here are a few sample batch files:
-
- @echo off
- showgif
- e:\modem\qmodem.42\qmodem
- showgif /u
-
- @echo off
- showgif /p:+ /d:1 %1
-
- The first one installs ShowGIF, runs a terminal program,
- then uninstalls. The second uses ShowGIF's immediate mode to
- view a given GIF file with pausing on, then exits.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ShowGIF function keys
- -------------------------------------------------------------
-
-
- When active, ShowGIF allows you to perform two
- functions. (This includes both immediate mode and during
- file transfers) The first function is "Abort-View" It aborts
- the ShowGIF file viewer, but not the transfer itself. I
- don't see any practical use for this other than in immediate
- mode when you've "seen enough of the picture." During a
- download, you can just abort the transfer itself and ShowGIF
- will abort with it.
-
- The second function is an "on-demand" screen blanker.
- Its there to prevent those particularly embarrassing moments
- when your spouse walks into the room and happens to notice
- that you are downloading that new X-Rated picture. Despite
- that there is nothing on the screen, the download and view
- will progress normally. Any subsequent keypress will unblank
- the screen. The screen will automatically un-blank when
- ShowGif finishes (ie at end of transfer or if an error
- occurs).
-
- The default settings are backspace for abort view and
- tab for blank screen. You may change these with CSHOWGIF.
- Note that, Shift/Ctrl/Alt shift key combinations are NOT
- recognized! (ie Shift-X, Alt-X, Ctrl-X, and X are all the
- same). ALSO NOTE: do not choose combinations that your
- protocol uses for its functions. For example, if you're
- protocol uses Ctrl-C to abort the transfer, don't set blank-
- screen to C.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- How ShowGIF Works
- -------------------------------------------------------------
-
- *** General Description ***
-
- DOS contains several services for opening, closing,
- writing to files. ShowGIF positions itself between the
- application program (usually your terminal program or
- external protocol) and the DOS. In this position it
- intercepts calls to DOS, checks to see if they are of any
- importance, then passes them along to DOS unaltered. This
- sounds dangerous and destructive but, in this situation, it
- is beneficial.
-
- ShowGIF can be in one of two states when it intercepts
- these DOS calls. The first state is where it monitors all
- the open and write calls. If one of these calls implies that
- a GIF file is going to disk, ShowGIF makes note of this file
- and switches to the second state. In the second state,
- ShowGIF monitors write and close calls. If the write is to
- go to aforementioned file, ShowGIF intercepts the data and
- decodes it to the screen. If it sees that the application is
- going to close the file one of two things happens. It will
- either print "View Successful" or "Transfer Aborted or File
- Incomplete" depending on whether the decoder finished and
- switched back to the monitoring state.
-
- All this happens unbeknownst to the file transfer
- software. The software assumes that it is performing normal
- opens, writes, and closes. The upshot of this is that
- downloads with ShowGIF and downloads without ShowGIF are
- identical, or nearly so.
-
- *** Modes of Detection ***
-
- In ShowGIF 5.1, unlike previous versions, there are two
- ways in which a GIF file can be detected. They are:
-
-
- - Detection by Filename-Extension -
-
- This is the original method of detecting GIF files. If
- a file opens with the GIF extension, ShowGIF will start and
- begin decoding. The advantages to this method are that it is
- very simple and quick. The disadvantages to it are that it
- will not detect a GIF file when the picture in circumstances
- such as when the protocol uses a temporary name than does not
- have the GIF extension (as in Procomm Plus and SeaLink) or
- when the GIF file is in an archive (a common practice among
- misinformed people).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - Detection by File Streams -
-
- Detection by file streams works by monitoring the output
- to all the open files, and checking this output for the
- presence of the keyword "GIF87a." This will detect a GIF
- file with any name and even if its part of another file (such
- as stored in a ZIP file). Unfortunately, this method may
- slow down drive access (although not noticeably) and may
- cause it to start unnecessarily. (For instance, it would
- believe this text file is a GIF because of the header string
- listed above).
-
-
-
-
-
- Command Line Options
- -------------------------------------------------------------
-
-
- /u : Uninstalls ShowGIF. This returns all the memory
- used by ShowGIF and restores the system vectors
- tapped by ShowGIF. The Uninstall routine was
- repaired somewhat, but if it still causes
- trouble, MARK & RELEASE can be used
- successfully. A word of warning to the wise:
- If you install ShowGIF and install another TSR,
- then uninstall ShowGIF, memory will become
- fragmented (not unlike fragmentation on your
- hard drive) and your computer will probably lock
- up the next time you load a program.
-
- /e+
- /e- : Enables or Disables detection of GIF files by
- the extension of their filename. These switches
- can override the setting made during
- setup.
-
- /s+
- /s- : Enables or Disables detection of GIF files by
- the contents of the file output streams. These
- switches can override the setting made during
- setup.
-
- /p+
- /p- : Forces or prevents ShowGIF from waiting for a
- keystroke after displaying the picture. This
- allows you to admire the picture for a little
- bit after drawing is complete. This will
- override any setting made in setup. You may
- want to enable this feature for viewing GIFs in
- immediate mode: "SHOWGIF /p:+ KYM256.GIF" or if
- you use ShowGIF for viewing GIF files.
-
-
-
-
-
-
-
-
-
-
-
-
-
- /d:xx: Sets a delay for the result to remain on the
- screen after viewing is complete. xx may range
- from 1 to 255, and is proportional to the number
- of seconds (divide by 18.2)
-
-
-
- /b : Disable BIOS video trapping. I put BIOS
- trapping in on a bit of a whim and I'm not
- absolutely sure of the consequences of what I've
- done. Nothing should go wrong, BUT if something
- does I've included this switch.
-
- 'File': Displays a certain file then exits. (Immediate
- mode). You may wish to use the /p:+ switch
- with this command. An example would be "SHOWGIF
- BALLONS.GIF" [sic] in which showgif would
- merely display that picture then exit.
-
- /h : Displays a help screen listing all the commands
- (except /b)
-
-
- ShowGIF messages
- -------------------------------------------------------------
-
-
- *** Run-Time messages ***
-
- "Bad Code In File" Usually means that the picture data is in
- some way garbled. For those interested, it means that
- ShowGIF encountered a Zev-Lempel code that exceeded the
- acceptable range.
-
- "Damaged parameter block" ShowGIF found that the screen
- resolution request was unreasonable (ie 320 ≤ x-resoution ≤
- 1280 and 200 ≤ y-resolution ≤ 1024) or the local picture size
- is larger than the requested resolution. This usually
- indicates that the text 'GIF87a' was encountered in a text
- file.
-
- "Not a GIF file" A file with the GIF extension was created,
- but the first 6 characters don't match the GIF header I.D.
- Its possible that somebody renamed a file of a different type
- to GIF just to annoy you!
-
- "Incomplete picture" This message usually occurs when you
- abort the transfer, but it also might occur because the
- person who uploaded the picture aborted and the BBS didn't
- delete the file. The worst part is there is no way to detect
- these until they happen.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "Transfer aborted or GIF incomplete" The defined abort key
- was pressed and ShowGIF has returned to protocol's text
- screen.
-
- "View Successful" The picture passed through ShowGIF without
- any flaws.
-
-
- *** Installation Messages ***
-
-
- "ShowGIF: Already Installed" ShowGIF is already ready to
- use and won't let you install it twice.
-
- "ShowGIF: /u requires that ShowGIF be installed" ShowGIF
- cannot find its resident portion.
-
- "ShowGIF: Cannot open immediate file" You've started
- ShowGIF with an immediate filename that it cannot locate.
-
- "ShowGIF: Both detection methods are disabled, aborting
- installation" You've attempted to run ShowGIF with no way to
- detect a GIF file, so it would just sit in memory uselessly.
- You must use /e:+ and/or /s:+ to provide a means for
- detection.
-
- "ShowGIF: Invalid switch" Use ShowGIF /h to list the valid
- switches.
-
- "ShowGIF: Uninstalled" This just informs you that ShowGIF
- has been successfully Uninstalled and memory freed.
-
- Quirks
- -------------------------------------------------------------
-
-
- Most quirks are due to ShowGIF's sensitivity to the
- creation of a GIF file alone and not its origin. For
- instance, COPYing a GIF file around also will kick in the
- viewer.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Answers to common questions
- -------------------------------------------------------------
-
-
- I'm using showgif in immediate mode. The picture comes up
- quickly then disappears. Is there any way to make it pause
- at the end?
-
- Yes: Use the command line /p:+ or turn pausing on in the
- setup. Note that if you turn it on in the setup, you may
- want it off in regular use, or else the screen will pause at
- the end of a download!
-
- ------------------------------------------------------------
-
- Why won't ShowGIF sense when I'm downloading a GIF file?
-
- **Procomm Plus users will experience the problem.
- Fortunately, ShowGIF 5.1 addresses this issue with stream
- detection. To use stream detection give /s:+ command line or
- the change the setup. What usually happens is that the
- terminal (or protocol driver) makes a temporary file of some
- sort to be renamed after the transfer. This file usually
- doesn't have the GIF extension. Stream detection looks at
- the file contents instead of the extension.
-
- -------------------------------------------------------------
-
-
- Why does showgif wait a very long period of time before
- starting, and operate in widely spaced bursts?
-
- Users of **Telix's built in Zmodem may experience this
- problem. Telix's sending its output to disk in large bursts
- causes this problem. Since ShowGIF operates off these disk-
- writes (not modem accesses), your problem occurs. The best
- solution to this problem is to disable buffering. If you're
- using a hard drive to download, the write time for each block
- is negligible. If you cannot disable buffering, your other
- options are to use a different protocol or an external
- protocol driver, or just not let it get to you.
-
- ------------------------------------------------------------
-
- Why does ShowGIF activate then deactivate with an incomplete
- message, then reactivate?
-
- **Qmodem users have this problem, as Qmodem opens then
- closes the file, then reopens it. Either disable extension
- detection (and enable stream detection) /e:-/s:+ or just
- ignore it. It is harmless.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Why does a lockup often follow uninstallation of ShowGIF?
-
- The most probable cause of this is installing something on
- top of ShowGIF. Here is what happens, you install ShowGIF,
- then you (mistakenly) install another TSR. After you
- finish, you uninstall ShowGIF with the /u switch. Now there
- is a 32k unused 'hole' in your used memory. Next thing you
- know, a different program tries to fit 200k of data into that
- 32k hole. Since this data doesn't fit, it over-writes your
- TSR in memory. Nothing seems wrong until you try to activate
- this now nonexistent TSR...
-
- ------------------------------------------------------------
-
- I have a few unusually sized pictures . . .
-
- . . .And ShowGIF won't view them because it looks at the GIF
- header and checks to see if the information is feasible.
- Horizontal resolution must be between 320 and 1024. Vertical
- resolution must be between 200 and 1024, among other things.
- I implemented this extended checking to protect the stream
- detection against text files that mention 'GIF87a' or the
- like. There is no solution to this problem.
-
- -------------------------------------------------------------
-
- Why won't ShowGIF use the whole screen on my Video 7
- Fastwrite?
-
- Try issuing the /b command line switch to disable Video Bios
- interception. This is the only case I can think of where
- this switch may become necessary.
-
- ------------------------------------------------------------
-
- ShowGIF wraps the picture around several times in the middle
- of the screen or Showgif gets past the first quarter of the
- screen and locks up.
-
- Recheck which configuration file you are using. The plane
- switching method probably isn't correct, or you are using an
- unsupported plane switching technique. Valid techniques are
- "NONE" "TSENG" "VIDEO7" "TRIDENT" "PARADISE" "CHIPSNTECH"
- and "ATI."
-
- -------------------------------------------------------------
-
- My monitor goes nuts when viewing certain large pictures.
-
- Your monitor may not handle the resolution that your card is
- using. Remove the highest resolution from your current
- configure file, and try again.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- What can I do about ShowGIF significantly slowing down my
- file transfer?
-
- Use a different protocol or a different driver. The one
- that you are currently using depends on completion of drive
- accesses before proceeding with the transfer. Since ShowGIF
- "slows down" these transfers, poorly constructed protocols
- may suffer.
-
- ------------------------------------------------------------
-
- I'm concerned that ShowGIF will interfere with the transfer
- itself.
-
- There is no reason to worry about ShowGIF interfering with
- the transfers themselves. ShowGIF operates transparently
- with most protocols. The only noticeable effect (for the
- protocol) is that drive access will be noticeably slower (as
- ShowGIF is both "un-GIFfing" the data and writing it to the
- drive). If the protocol uses interrupt driven I/O properly,
- no loss of speed will occur. Because ShowGIF operates with
- the streams of data going to the disk, NOT the streams of
- data coming from the modem, protocol reliability is not
- affected.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Update Information
- -------------------------------------------------------------
-
-
- 1.0 α: First version of SHOWGIF <Not released>
-
- * Converted from a standalone gif decoder into a
- decoder/viewer then into a TSR.
-
- 1.0 ß: Several features added: <Not released>
-
- * Status report at the end of viewing (Not a gif, bad
- code, etc.)
- * Support for ATI, TSENG chipsets, separate versions of
- the program
- * Switch back normal video if d/l is aborted before
- viewer is aborted.
- * Squeezing pictures to fit 320x200 (MCGA version)
-
- 2.0 : Several problems fixed: <Beta Test>
-
- * Code parsing routine completely re-written for speed
- * Rest of the main loop translated into machine language
- * Lockup after "Picture is not a GIF" message resolved
- * Picture information put up while drawing
- * Stack frame is normalized after each picture -- no
- more lockup's after viewing 'too many' pictures
- * 500% overall increase in speed! (benchmark 20 seconds
- in 1.0 to 4 seconds in 2.0)
-
- 3.0 : Improvements made <Beta Test>
-
- * Support for EGA
- * X axis scaling for pictures larger than 320 MCGA,EGA
-
- 3.5 : Improvements made <First release>
-
- * One program can handle various video cards
- * Internal configuration for video hardware
- * Support for 10 more video cards
-
- 3.7 : Improvements made <Beta Test>
-
- * 16 color (EGA) modes supported in standard VGA
- configuration (640x350 and 640x480)
- * Offset picture difficulties corrected.
-
- 4.1 : Improvements made <Rare Second release>
-
- * User definable resolutions (compatible with VPIC)
- * Better judgement is used when choosing video modes.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4.1B : Cosmetic changes <Preferred second release>
-
- * Mistake in "VGA.CFG" corrected (oops!)
- * Thought I fixed the "text at the bottom of the screen
- problem" but it still didn't work.
-
- 5.0 : A hack
- Version 5.0 is NOT a valid release. If you have a
- version 5.0 it <MAY> have a virus and should be deleted
- IMMEDIATELY
-
- 5.1 : Many Improvements made <Third release>
-
- * Opening screen
- * EGA routines GREATLY improved -- 3x's improvement in
- speed
- * Initialization translated into ml (except EGA color
- selection) for compactness & control
- * Various sections carefully optimized for a 50%
- increase in speed for VGA.
- * EGA screen output GREATLY improved for about 250%
- improvement in speed overall.
- * Bug with viewing certain pictures which are
- interlaced/smashed in EGA mode corrected
- * File stream detection added.
- * Checks the GIF header for information feasibility.
- * Immediate mode GIF viewing.
- * Control over the delay after viewing.
- * Optional press a key pause after picture display.
- * Bios video functions disabled during view.
- (Note: if this causes problems, it can be disabled
- with the /b switch)
- * More extensive command line options.
- * Bug with uninstall corrected (I think!)
- * Problems with memory allocation fixed (Doesn't take
- any more memory then it really needs -- only about
- 30k)
- * Abort-view key made more responsive (though I don't
- really see a need for using it)
- * On-demand screen blanker added.
- * Ability to redefine the control keys.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Shareware notice
- -------------------------------------------------------------
-
-
- The registration fee for ShowGIF is $30. For this we
- will give you:
-
- 1) A registered ShowGIF on 5 1/4 floppy (unless
- otherwise specified) with Super-VGA support, and the
- lengthy title screen removed.
-
- 2) A lovely printed version of the documentation.
-
- 3) Notice of future updates.
-
-
-
- If you wish to contact me, Call The Henrietta Outhouse
- (216/965-5463) or my board (419/531-2693 9p-9a weekdays only)
- BILL PARQUET
- 30231 BATES RD.
- PERRYSBURG, OHIO 43551-3827
-
-
- Software Credits
- -------------------------------------------------------------
-
-
- I will give credit for all the software that I have
- mentioned throughout this document.
-
-
- **VPIC is a first rate picture file viewer (if you ignore all
- the bugs). 2.9 is the newest version at the time of this
- writing. VPIC may be obtained from:
- BOB MONTGOMERY
- 132 PARSONS RD
- LONGWOOD FL 32779
-
- **GIF is a trademark of Compuserve, an H&R Block company.
-
- **Qmodem may be the best communications program in existence.
- 4.2 is the newest version at the time of this writing.
- Qmodem can be obtained from:
- THE FORBIN PROJECT, INC.
- POST OFFICE BOX 702
- CEDAR FALLS, IA 50613
-
- **Procomm Plus is a terminal package made by:
- DATASTORM TECHNOLOGIES, INC
- POST OFFICE BOX 1471
- COLUMBIA, MO 65205
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- **Telix is terminal package made by:
- EXIS, INC
- POST OFFICE BOX 130
- WEST HILL, ONTARIO
- M1E R4
-
- **Mark & Release are TSR management programs and are
- copyrighted by Turbo-Power software:
- TURBO-POWER SOFTWARE
- POST OFFICE BOX 66747
- SCOTTS VALLEY, CA 95066-0757
-
-
-
- Kudos
- -------------------------------------------------------------
-
- I'd like to think a few people, without which, ShowGIF
- would be far less complete.
-
-
- Dave Sharpless: For programming the plane switching
- routines, entering the large amount of card information in
- the first release. Writing the intro for release 4.1 and the
- intro for future release 5.5 or 6.0 (the intro is done, now
- all I have to do is write the program!) and urging that I
- charge a fee for this.
-
- John Sharpless: Sysop of the Henrietta Outhouse III, For
- bringing ShowGIF's success & distribution. ShowGIF would
- probably only be used by the three of us and a couple people
- in Toledo if it weren't for him.
-
- Thank you for using ShowGIF!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-