WT - WediTutto (which in Italian means 'views everything') Yet Another freely distributable picture viewer for any Amiga Written by : Gianluca Marcoccia (of CoolData Inc.) Marco Menichetti (of HellSoft) Daniele Finocchiaro (of himself!) This program is Copyright (C) 1993,94 Gianluca Marcoccia & CO. ----------------------------------------------------------------------------- Copyright & Distribution ------------------------ WT executables and all the files contained in this archive are Copyrighted (C) 1993,94 by Gianluca Marcoccia, All rights are reserved. WT is NOT public domain. The authors retain all rights to it. (we should call it GIFT-ware... if you really like it send us a gift... some old game (original please) you dont use any more, some preview of your new software which is going to be release, anything you like, even old 68060 boards and 4 Gb hard disks you dismitted! :)) WT may be freely distributed to any BBS, commercial network, public domain collection, amiga user, as long as: no fees are charged beyond resonable media fees (Fred Fish's, Aminet CD and anything like that is resonable), the archive is distributed in its original unmodified form, it should not be used in commercial(any kind of software you have to pay for)packages without prior written agreement with all the authors (some internal routines of this viewer are available for sale to software houses), the user knows this: The authors are neither responsible for any damage of any kind that this program could cause, nor for the suitability or accuracy of the documentation and the program. YOU ARE USING IT AT YOUR OWN RISK: Installing or using this software even once means having read and accepted all of these conditions. What is this? ------------- In a few words this program is 'just' a viewer of graphic files... What it would try to do is much more.... to be user friendly, to be easy to use, and very powerful, so that none will ever need to use any other viewing program... (ambitious eh?) What does it do (by now) ? -------------------------- It views *** ANY *** IFF picture file. Including very exotic ones, such as DYNA-hires, DYNA-lores, DYNA-HAM, SHAM7, SHAM15, and any PCHG picture. It allows you to scroll freely thru the picture (all around!) *** including DYNA pictures. *** (allowing so to display pictures larger than screen) It views JPEG files, quickly, and it tries to be VERY CAREFUL while converting it to HAM/HAM8 modes, bringing you a VERY HIGH QUALITY image. (try matching it with other JPEG viewers) It works from the Shell/CLI and, when run without parameters, runs an ASL file requester for the user. What will it do in the (near) future? ------------------------------------- It will support wildcards from Shell. (this piece of code was omitted to prevent users from sending flames to us... it was "rather" buggy! :))) It will support AUTOSCROLLING features also for IFF screens. (Marcoooooooooooooo!!!!!) It will support scrolling/closing/changing modes also with the keyboard. It will support also GIF and Targa (TGA) files, which at the current state of development are under beta testing. It will support all slideshow features, including forever cycling, image double buffering, timing, etc... It will support Workbench 2.0+ usage, including AppIcons and such... Il will give you full control over the display modes, allowing you to view any image in any display mode. It will support Commodore's DataTypes, allowing you to add new formats as they get developed. it will use XPK libraries, so it could depack automatically any crunched files it would load. What do I need to use this program? ----------------------------------- System requirements are quite standard: You need at least an Amiga with AmigaOS 2.0+. If you have an Amiga with 020+ CPU you SHOULD use the 020+ specific version. AGA chipset would be nice to have, but if you dont.... this program will work for you the same! How do I use it? (naaah! don't tell me you need this section!!!) ---------------- You SHOULD run it from a Shell/CLI Window, at the moment the program shouldnt be run from the Workbench. either: 1) By only typing 'WT' at the Shell prompt you will be shown an ASL file requester where you can move to a directory, point, click and select one or more picture files. (dont tell me you dont know how to do this:) or: 2) By typing 1.PICS:> WT pic1.iff pic2.jpg pic3.sham pic4.dyna pic5.mp you will be shown on the screen the selected pictures. SORRY! There is no wildcards support yet! :( (look for it in the next version) To switch to the next picture just hit the RIGHT mouse button. You can scroll JPEG pictures by simply moving the mouse over the border. You can scroll ALL the IFF pictures by grasping the scroll bar by holding the left mouse button (as usual). SORRY!! there is no autoscroll support in the IFF viewing section.... (this means that you have to click on the scrollbar to move an IFF picture) WHY??? you ask me? well.... the programmer (Marco) of that piece of code (pure asm) forgot to put it in, and now it is too late to change it.... (Marco is now having his military service and isnt very much available :( ) And.... That's All, Folks.... :) History, Development and Objectives ----------------------------------- ATTENTION: You can avoid reading the next paragraph if you are not interested in some technical aspects of this program and what made us decide to program another viewer. What we wanted when we started this work was to be able to use just one program instead of many for viewing our pictures, so we considered which are the formats that we would like to support in our utility; it turned out that we wanted **ALL** IFF formats, JPEG, and GIF, maybe even Targa (TGA).. In particular we were interested in those dynamic palette formats such as DYNA, SHAM, and PCHG, which we use to find in BBSs, for which there is not any more viewing support. Some of those picture are really nice and we really didnt want to be unable to view them. In particular, the DYNA format which is a (willingly) hires format which allows changing the whole palette on each line of the picture, (originally released by NewTek for their DigiView digitizer) has never been displayed by any program but the OLD! dynashow program. That program which used to lock completely the machine while displaying such type of images (it used the CPU in order to manage the palette color changing on the fly), failed completely to work on AGA machines, making impossible for AGA owners to view such images. (cool programmin', eh?) So we started developing the IFF viewing section, and we found out that those IFF formats had no released documentation, so we started searching for programs able to manipulate such files, looking for the possibility to find the sources for them, from which understand how to view them... We found invaluable the informations we got from the very good 'WASP' converter program from Steven Reiz, which supports all of those formats, and sports VERY good conversion routines for them. Also some information about the SHAM format were taken from 'WASP': this format allows two kind of operation, a 7 palette changes mode and a 15 palette changes mode. Nothing wrong about the 7 changes mode, but the 15 changes mode is possible only under certain conditions. The only non-standard IFF format we found documentation easily about has been the PCHG. This standard is not tied to a specific display mode, but can be applied to any mode, and consists in the possibility to have 7 color changed on every line of the picture. This is the maximum the system can afford to do in any circumstances. The problem about displaying some of the above formats is that the palette changes have to be done while the electronic pen which builds the display is not putting the picture on the screen: that is to say, when it is off the right border of the screen. The COPPER coprocessor doesnt have enough time to change more than 7 colors before the electronic pen reaches the beginning of the next line. In order to support more changes without having to shut off the system while displaying there is only one way: we have to give the COPPER more time to do its job, that means giving him a wider border area; the real image width is reduced to 608 horizontal points. Doing this we managed displaying 15 palette changes images by using only the COPPER and without having to even disable multitasking. Supporting JPEG was a little bit easier, it is a documented and official standard, and there is a package with C source supplied freely redistributable that is a complete implementation of the (de)compression algorithm. The decompacting routines used in this software are derived from those of that package. What we wanted from the JPEG part of the program was speed and accuracy! That's why we decided to partly rewrite all intensively used code in assembler and convert the structure of the routines from object oriented programming to direct call.(Yes, the package above mentioned is programmed in C but in a object oriented approach, which might be good for the structure but is slower to execute....) This took us a couple of months of hard work, but finally we got a fast jpeg decompacting routine. Then we switched working on the best way to visualize the 24 bit output from the JPEG file. The only reasonable way to view these files, which are supposed to be photographic images are the HAM6/HAM8 modes. In order to calculate which one is the nearest obtainable color to the one we would like to display (with HAM modes it isnt always possible to display what you want... a small fee to pay for a lot of colors! :), we used the euclidean norm, weighted with eye sensibility to color component errors. That guarantees the choice of the most similiar (to the human eye) color to the original one. We also included a special for 020+ users: a fast, very fast Chunky to Planar conversion routine which makes the display even faster. (as this routines makes use of advanced 020+ addressing modes, this feature is not available in the 68000 version, in which, anyway we use the blitter to plot the image on the screen, avoiding, in this way, to overload the already-stressed CPU) GIF and Targa (TGA) support didn't make in for this 0.9c BETA release which is going to be released at IPISA 1994 meeting, 19 november, Milan. They will be included in the next release. Best quality and speed are a promise! Authors' Addresses ------------------ Feel free to mail for anything, greetings, suggestions, bug reports, flames(!?!?), job offers, code licensing, and anything else. Marcoccia Gianluca Via Garibaldi 78 56100 Pisa (PI) ITALY E-Mail: marcocci@cli.di.unipi.it ----------------------------- Menichetti Marco Via Monteverdi 4 50144 Firenze (FI) ITALY ----------------------------- Daniele Finocchiaro Via Pietro Scuderi 1 95015 Linguaglossa (CT) ITALY E-Mail: df133590@ipifidpt.difi.unipi.it ----------------------------- Greeting -------- The authors greet all of the following people in NO particular order... Luigi, Puppaviola, Scorfy, Flo, JSep, Rotella, David 'Ray', Andrea, K(pan)9, Oscar, Emanuele, Giuseppe, Giuseppone(the big one), Romano, Frank(appleman), AleMei, Ghu, Albertuzzo, Stef(run), AleTat, Robi(the mighty sysop of AMP BBS ++39-6-52200200), Lutz Pelikan, Zaremba, Martin(b0d0), Cottapin, WWWutz, ViJay, Amigaeb, Tor, Donato, DJPressure, Claudio, Lara, Tito, Massimo, Davide, Slayer :), Nando, GiuMian, Valeria, Elena, Antonella, Simona, Paola, Stefano, Sonia, Stefania, Francesca, Nino, Concetto, Daniela, Angela, Kathya, Milena, Patrizia, Rumy, Renata, Chiara, Riccardo, Silvia.... our parents for supporting (bearing) us! :) and all the others we forgot!!!... (sorry, I am writing this doc at 5' am and it isnt easy to remember all our friends) Note to the reader: ( 95% of the girls in the list are greetings from Daniele Finocchiaro! :( sigh :)