========================= ShowGIF V1.2 ========================= July 4, 1994 Copyright (c) 1994 by Roman Hiestand Copyright notice ---------------- The program ShowGIF and its documentation are written and copyrighted by Roman Hiestand. They may be distributed freely providing the following restrictions are satisfied: - Distributors may not charge more than the cost of a diskette used in the distribution of this program. - Distributors may only distribute the unmodified copy of the original program, source file, along with it's documentation, and copyright notices intact. - Commercial distribution is only possible with written permission from the author. Disclaimer ---------- This program and its documentation is provided "as is". No warranties are made with respect to the accuracy, reliability, performance or operation of this software and information. You are using this program at your own risk. The author is not liable for any damages that may have been caused by using this software. Description ----------- ShowGIF is, as the name says, a GIF viewer for the Picasso-II graphics board of Village Tronic. The program can be started from CLI or Workbench with one or more file names/icons. If the program cannot load an image (because you didn't submit a filename or the file doesn't exist), a file requester pops up. It is meant to be fast and short, not user-friendly. This means, there are no options until now. Maybe in the next release. ShowGIF has been started as a programming exercise in Oberon. After a couple of days, it worked; but kinda slow. So I translated it into Assembler. It is very much easier translating an existing and running program than writing an assembly program from scratch. After another couple of days programming and optimising, ShowGIF was born. Usage ----- From CLI: ShowGIF Image [...] Template: FILES/M The program can also be started from Workbench: as default tool or with multiple selection. No file requester until now. If no filenames are given, a file-requester pops up. The program can be stopped by hitting any key or mousebutton. Features -------- - fully programmed in assembler - uses a file buffer (currently 50 KB, planned to be user-definable) - CLI or WB start - very system-friendly - (nearly) pure - can be aborted at anytime (except during a crash ... :-) ) - supports interlaced images (since V1.1) - no 'light' background (since V1.1) - file requester (since V1.2) About being 'nearly' pure: You can safely make this program resident. You can run ShowGIF as many times as you want, if you run one *after* the other. A problem *can* arise when you run two or more ShowGIF's at the same time. The only part that is not pure is where it opens the screen and the window. This time is quite short, and it is very unlikely to happen that two ShowGIF's interfere. By the way, have you ever tried to view two images at the very same time ? (Not very useful, ay ?) Requirements ------------ Kick 2.0 and vilintuisup.library version > 2.0. Bugs ---- - well, not really a bug: if started from workbench, no error messages are printed I could only test it on my machine (A3000 with Kick 2.0). No Enforcer hits have been found. If you find a bug, please report it to me together with as much information as possible that could help me to fix it: your computer, configuration, kick version and so on. Future plans ------------ - full support of the GIF89a standard (multiple images, local color tables, texts etc.) - a bunch of options (FileBufSize, Verbose ...) - view images larger than the largest screen available - reduce colors - faster ... Notes about this program ------------------------ The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated. This program has been fully written in assembler. It is therefore very short and quite fast. The GIF decoding algorithm is mainly based on the c-source (jrdgif.c) of the jpeg software (version 4 of the jpeg software release), which itself is based on giftoppm. Many thanks to the JPEG group ! ShowGIF is pretty much optimised. Not only by the assembler (phxass is GREAT! Thanks to F. Wille), but also by hand. At this time, I can't think of another optimisation. When I compared ShowGIF to VT, I was pretty surprised because I didn't expect VT being so fast. Maybe I overlooked a couple of optimisations ... Comparison table ---------------- (Not representative) ShowGIF V1.2 ViewGIF 1.6 VT_Picasso V2.1 ReadGIF V1.210 from VillageTronic (J.Weinelt) ------------------------------------------------------------------------ Executable size 2796 19376 84584 11020 display time (~,secs) 15 33 15 34 Mem needed (~) 1.12 MB 1.2 MB 2.41 MB 1.1 MB (including display memory) Attention: the values for mem in the old (V1.0) doc were wrong. These here should be more precise. (Time & mem are measured with 'globe.gif' (547365 bytes, 912x900), a picture converted from 'globe.jpg' of NASA. Program & image are on harddisk.) These are just typical values. The differences in speed become smaller with smaller images and larger if the image is on ram-disk. Revisions --------- 1.0 - first public release 1.1 - added support for interlaced images now fills background with darkest color 1.2 - file requester added Address ------- I can be reached at Roman Hiestand Luziaweg 15 CH-8807 Freienbach Switzerland Fax: CH-055/48 26 37 email: rhiestan@iiic.ethz.ch