ZGIFDatatype 39.7 - minor update to release 39.5 September '93 Another FAST Utility Written by Michael Zucchi This is a replacement for any of the other gif datatypes available. What makes it considerably better than any of the others? Speed. On an A1200 it will load GIF's using multiview approximately the same speed as loading IFF ILBM pictures. And a lot faster if loading from floppy disks. In addition, asynchronous file reading routines have been incorporated into the code which allow it to load pictures virtually independent of I/O speed. For example a 680x480x256 gif picture will load off of floppy disk within a few seconds of one loading off of a hard drive. (this is in an Amiga 1200, with no fastmem) It requires a 68020 or greater CPU, and of course Release 3.0 or greater of the system software. Main features: o SPEED. Try it, after using this you wont want to be without it! o Supports most gifs (only some esoteric, and mostly unused features of the GIF8?a standard have been ignored) o Uses async file reading for greater performance - on an A1200 will load a picture the same speed off of floppy as off of hard drive! o 100% Assembly language, very optimised. o Custom chunky to planar conversion, that is reasonably fast (a version using WritePixelLine8() runs about 50% the speed of this version) o Its FREE! (this is of course the best bit) Main limitations: (hey, its not _perfect_ after all) o OM_WRITE BOOPSI method not yet implemented. Expect this in a future release. o Only decodes pictures with a global colour table. Most gif loaders do the same, and most writers write them. o Ignores any local colour tables (but still decodes picture). Could lead to a bad palette. Distribution: This program is FreeWare, _please_ give it to your friends, your enemies ANYONE who could possibly use it or otherwise spread it around. Datatypes are a really excellent addition to the OS but there aren't yet enough quality datatypes out there. The original achive in which this text file is placed may be included in any other release of non-commercial software, so long it remains intact. If anyone wants to put it on a commercial release, just contact me. Installation: Copy the gif.datatype file into your sys:classes/datatypes/ drawer Copy the Datatypes/GIF file (and its icon) into DEVS:Datatypes/ Reboot your machine or use AddDataTypes to enable it. Nice isn't it? :) The Author: I'm a poor :( student currently doing 3rd year Computer Systems Engineering at The University of South Australia, at the Levels campus (read: swamp/shithole/isolated dump :). I can be reached via email at: 9107047w@lux.levels.unisa.edu.au or Aussie Post via: ('home' address) Michael Zucchi PO box 824 Waikerie SA 5330 <- SA = South Australia or if ya live in Adelaide, ring Freds BBS and give us a bell. I'd like to hear about any major/minor bugs. I'd like to see lots of $$ too :) Thanks and the rest: Thanks to the guys who supplied me with those odd (and i mean _odd_ :) gif's to test some of the weirder stuff. And the other guys who suggested i do it. And to all those guys who mailed me with bugs. Hopefully the screenmode selection is a bit better now fellas? Thanks also to the C= software eng's for making such a _cool_ OS. Sick and tired of all those crappy, huge and slow compilers out there? --> AmigaE2.5 will be here soon! <-- Look out for ZGif 1.0 - also comming soon to an Amiga near you! (quickfeaturelistincludes:ofastestgifloaderavailableforamigaoveryfastiffilbm loaderofastiffilbmsaveroretinagraphicsboardsupportoaslfilerequesteroaslscree nmoderequesteroworkbenchstartupokeyboardcontrolowb2.0or3.0oandmuchmuchmore!) /// /// Michael Zucchi \\\/// 9107047w@lux.levels.unisa.edu.au \\\/ Computer Systems Engineer (in the making) Note: "The Graphics Interchange Format(c) is the Copyright property of CompuServe Incorporated. GIF(sm) is a Service Mark property of CompuServe Incorporated." History 39.0 Initial version 39.1 Now does any depth gif, not only 4 or 8, used to ignore. 39.2 Now supprts interlaced gifs, used to ignore. 39.3 Added better viewmode selection via BestModeIDA(), uses the 'workbench' monitor (if possible). 39.4 Fixed a tiny bug in extension block skipping code. 39.5 Monitor selection was up shit creek. Now it should work a lot better, and select a decent monitor (i only had Euro72 active, so it seemed to be ok before). No longer tries to clone the workbench monitor. 39.6 Was passing incorrect dimensions to the datatype object via the DTA_NominalHoriz/Vert tags. Caused multiview to open a strange sized window if run on workbench. 39.7 Changed GetBestMode() code - again. Now it asks for a mode with roughly square pixels (actually 130:100 seems to be best aspect???). Appears to work better anyway.