ShowANIM Version 5.30 13 September 1988 written by Gary Bonham Copyright (c) 1988 by SPARTA Inc. Laguna Hills, Calif. QUARTEX in 1988 ShowANIM is a freely distributable player for ANIM animation files and for IFF ILBM picture files. ShowANIM 5.3 represents a significant advance from the previously released versions, the latest of which was v4.3. I wish to thank all those who have contributed suggestions and hope that at least most of you will be pleased with this release. The most significant change in this release is a rework of the internal way of handling overscan and the display in general. The result is that this version will support both NTSC and PAL in all resolutions and all normal levels of overscan. Overscan levels that have been verified include no overscan (320/640 x 200/400), medium overscan (352/704 x 220/440), and severe overscan (384/768 x 240/480). Also the corresponding levels for PAL which are identical in width but 56/112 taller. Note that PAL overscan will, in general, require more than 512k of chip ram. Therefore, you may not be able to utilize these modes until Commodore releases new chips which permit 1Mb of chip ram. In addition keyboard control of animation speed as well as pause/restart/resume has been added, and full control of ShowANIM can now be specified from a workbench icon via the tooltypes table (which duplicates all command line parameters when run from the CLI). In addition, this version will properly handle ANIMs which have new color maps on each frame. Also, color cycling is supported. Separate timing is provided for the first and last frame of an animation. These are defaulted to 3 seconds apiece so running ShowANIM without any parameters on an ANIM will hold the first frame 3 seconds, play the ANIM, and then hold on the last frame for 3 seconds before termination. During this time you can use the keyboard to pause, or alter other settings such as looping playback and speed. If showing a single picture, such as an IFF ILBM picture from a paint program, the two 3 second delays combine into one 6 second period during which the picture is displayed. Specific features are as follows: 1) Continuous play mode. In continuous play it is assumed that the last two frames of an ANIM exactly match the first two frames. The ANIM can then be run in a continuous loop mode where frame 3 follows the last frame. CLI command line: -C# where # indicates the number of times the ANIM is to be continuously looped. If left off, then it will loop forever (well, at least a LOT of times - something like 32000). Icon Tooltype: CONTINUOUS=# same as above except that # is required. If you want infinite play, set it to a large value such as 32000. 2) Looping play mode. In looping play, each loop the ANIM will start with frame 1 like starting from scratch. There will be a definite pause at this point since the compression used for the initial frame is not very fast, and it contains the entire picture and not just the differences from the previous frame. The delay for first and last frames apply to the first and last frames of each loop. If both continuous and looping play are selected then the continuous loop is inside of the looping play loop. CLI command line: -L# where # indicates the number of times the ANIM is to be repeated. If left off, then it will loop forever (well, at least a LOT of times - something like 32000). Icon Tooltype: LOOP=# same as above except that # is required. If you want infinite play, set it to a large value such as 32000. 3) PingPong mode. In this mode an ANIM will play first to last and then backwards back to the first, and so on. N.B. that this mode will ONLY WORK if the ANIM was generated in the XOR mode. As of the date of this writing, there is no commercial product offering the XOR mode, and when one becomes available, it will probably be a slightly different compression technique which will necessitate a revision to ShowANIM. There will be a product from Aegis in the next few months which will offer this as an option, unless it is pulled prior to release. CLI command line: -B# where # indicates the number of times the ANIM is to be pingpong looped. If left off, then it will loop forever (well, at least a LOT of times - something like 32000). Icon Tooltype: PINGPONG=# same as above except that # is required. If you want infinite play, set it to a large value such as 32000. 4) ANIM timing. Normally, an ANIM will play back as fast as possible unless there are timing values on the file itself (the relative timing parameter in the ANHD chunk on each frame). One can override this value by specifying the timing for all frames (in jiffies - 1/60 sec video frames). Note that this is different than the special timing delays for the first and last frames - this will affect ALL frames, overriding any timing on the ANIM file itself. CLI command line: +# where # indicates the timing in jiffies (1/60 second video frames). Icon Tooltype: TIMING=# 5) Special timing delay for first/last frames. These permit you to delay the first and last frames of an ANIM. If in looping play mode, these apply to the first and last frames of each loop. These are defaulted to 180 jiffies (3 seconds) each. CLI command line: +F# For timing delay on first frame. +L# For timing delay on last frame. Icon Tooltype: FIRST=# LAST=# 6) Color Cycling. Not many products can generate an ANIM with cycling info, but if they do, ShowANIM can play them. Also, showing still pictures will frequently require color cycling since most paint programs support cycling. Cycling is normally off, but may be activated with the following: CLI command line: +C Acivate Color Cycling. Icon Tooltype: CYCLING=ON N.B. that there is NO CYCLING=OFF command. The contents of the right side of this expression is ignored - the very presence of this command will activate cycling. 7) Keyboard control. While an ANIM or picture is being displayed, one can type the following keys for the following actions: ESC or CTRL-C - aborts the play. F1 - Set timing to 1 jiffy (60 fps). Note that these timings will not force a given speed if the Amiga cannot decompress the images fast enough. The timing is used to delay so the ANIM will not play faster than this speed. F2 - Set timing to 2 jiffies (30 fps). F3 - Set timing to 3 jiffies (20 fps). F4 - Set timing to 4 jiffies (15 fps). F5 - Set timing to 5 jiffies (12 fps). F6 - Set timing to 6 jiffies (10 fps). F7 - Set timing to 10 jiffies (6 fps). F8 - Set timing to 20 jiffies (3 fps). F9 - Set timing to 30 jiffies (2 fps). F10 - Set timing to 60 jiffies (1 fps). TAB - Toggle color cycling. Down Arrow - Pause. Up Arrow - Continue. Right Arrow - Go to next frame immediately. Left Arrow - Restart ANIM from first frame - Note, this puts play into the Looping play mode with 32000 loops. C - Set continuous loop mode with 32000 loops. L - Set looping mode with 32000 loops. ********************************************************************** One last disclaimer ... This program does its own copperlist creation. Therefore, if anyone encounters difficulties with particular size pictures, resolutions, etc., please contact me so it can be corrected. Many thanks go to Bart, Dale, Jimm, and others who have been very helpful in getting this code to run. ... Gary Bonham, SPARTA Inc., Laguna Hills, Calif - 714) 768-8161