GIF.loader version 0.95b ©1994 Chris Guy 1. Legal Thingies Permission is hereby granted for anyone who desires to use the GIF.loader program free of charge subject to the following. This loader module is provided on an "as is" basis. No warranty of any kind is expressed or implied. The author makes no claims as to the suitability of this product for any particular purpose. Any damage or loss directly or indirectly caused by the use or misuse of this program sole responsibility of the user. In no event will the author be liable for damages, including any loss of revenue, loss of profits or other incidental or consequential damages arising out of the use of or inability to use this program. This program freely distributable but is not in the public domain. The author retains the rights to all original portions of the GIF.loader program. The InstallLSI and RemoveLSI programs included in this archive were not written by the author of the loader and remain the property of Opal Technology. All conditions and restrictions placed on those programs by their authors remain in effect. Parts of the GIF.loader program are based on work of other individuals or companies that has been publicly released. Their contribution has been instrumental to the completion of this program. Please refer to section 8 for a complete listing of the documents provided by these sources. OpalVision and OpalPaint are trademarks of Opal Technology Pty Ltd. The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated. 2. Introduction This program is a loader module for use with OpalVision programs such as OpalPaint that use the LSI loader and saver interface. It enables such programs to transparently load images stored in standard GIF(sm) format. The module will load all files of GIF version 87a (at least it has with every one I've tested) and should work with all 89a files as well. So far, I've only found two 89a files and this release (0.95b) now works with them. However, the extended features of version 89a such as comments, application extensions and plain text extensions are simply ignored by the loader. Most such features really have no use when loading a GIF into programs like OpalPaint. If I get some ideas from people as to other ways of handling these extensions I might implement some of them in a future release. 3. System and software requirements - Any Amiga computer with an OpalVision Board. - OpalPaint v1.6 or higher. This is according to a readme file that came with Opal Technology's Loader/Saver docs. Should work with OpalPaint v2.2 and up in any case as this is the version I tested with. - opal.library version 4.4 or higher. 4. Installing the loader Installing the loader is easy. The first step is putting the GIF.loader file in the OpalLoaders: directory that should have been created when you installed your OpalVision software. If this directory doesn't exist, create a directory called Loaders in your OpalPaint: directory and add the following line to your User-Startup file: Assign OpalLoaders: OpalPaint:Loaders Note that this line must be added AFTER the line that creates the OpalPaint: assign. Before the loader can be used, it must me executed. When it is executed, it remains in memory ready to be called by OpalPaint or other simillar software. The included InstallLSI program comes from Opal Technology and was designed to install all loader and saver modules. It executes all of the files in the OpalLoaders: and OpalSavers: directories that have .loader and .saver extensions respectively. If you use the loader often, it may be a good idea to add the InstallLSI command to your User-Startup file (after the assigns). When idle (not actually performing a load) the loader module takes up only a little memory and virtually no CPU time. The RemoveLSI program is also from Opal Technology and is used to terminate the execution of external loader and saver modules including GIF.loader. Use this if you need to free up the memory that the loader is occupying. 5. Using the loader While the loader module is running, programs like OpalPaint, etc will automatically be able to recognize and load GIF files transparently. Just use the load requester in the host program as you would for any other file type. GIF files contain no thumbnail images so you must click on or type in the filename to load the image. The loader makes no decisions about the resolution to be used for the loaded image. This is left to the host program (usually OpalPaint). This means that sometimes the picture will load in a resolution that makes it look too wide or too narrow or maybe the image is too big for the screen. After the load is performed, the user must compensate for this by changing the resolution and scaling the image as necessary. 6. Release history This version (0.95b) is the second beta release. I hadn't intended to release a second beta but there were a couple of fairly serious problems I discovered with the first release (0.9b). One major problem was an infinitle loop whenever a version 89a GIF was encountered. The second involved running out of stack space. I have fixed both of these problems but this release is still a beta. This version has worked on every GIF file I have tested it with so far including a few 89a GIFs. However, I have still not had a chance to test it on any machine other that my own (an A3000 25MHz). I would greatly like to hear from anyone who tests this program and especially from those who find a file or a machine setup that it doesn't work with. In a short time, I will fix any bugs that I come across and release version 1.0. Please see section 8 for information on how to contact me. 7. Files included in this archive The following files should be in the GIF.loader archive: GIF.loader - The actual loader module itself Readme.095b - Short intro and release notes GIF.loader.095b.doc - This file InstallLSI & RemoveLSI - The Opal Technology programs used to install and remove external loader and saver modules like GIF.loader (see above). 8. How to contact me I would like to hear from you if: - you have found a bug or a GIF file or a machine configuration that the loader has trouble with. - you can give me the name of a version 89a GIF file that contains any of the extensions that were new to that version (I need to find some to do more testing). - you think the loader is really keen. - you have any other comments that you think might be of interest to me concerning this program. The best way to contact me is to send NetMail through FidoNet to me (Chris Guy) at 1:134/65 (or to FidoNet via Internet by sending to Chris.Guy@f65.n134.z1.fidonet.org). Alternatively, I usually call the Centaur BBS every week or two so you can leave a message for me there. If all else fails, send me regular mail at: Chris Guy 76 Winslow Cres. S.W. Calgary, AB CANADA T3C 2R1 9. References The documents listed below were referenced during the design and implementation of this loader. Each contains standards defninitions and/or techniques that were instrumental to its completion. Loader Saver documentation (Draft), Martin Boyd, Opal Technology. Graphics Interchange Format(c) Programming Reference, CompuServe Incorporated, 31 July 1990. "LZW Data Compression", M.R. Nelson, Dr. Dobb's Journal, October 1989.