CyberShow Version 3.2 (c) by Helmut Hoffmann 1995 ========= This is an universal shareware picture viewer (incl. PhotoCD) and converter which can * display images in TrueColor/HighColor in Cybergraphic windows on Workbench, custom screens or public screens with at least 15Bit color depths * display images in reduced color (upto 256 colors) on any WB screen, custom screen or public screen, including AGA, ECS, OCS and usually WB-Emu graphic board screens as well (e.g. EGS-Emu, CyberGfx-Emu, ...). This function does not require OS3.1 anymore; it should now be usable with OS3.0 as well! New in V3.2: + support for RLE-compressed BMP images (8Bit or 1Bit) New in V3.1: + now with possibility to use named foreign public screens (name can be specified with leading * in ENV: variable "CyberShowScreen") New in V3.0: + now with possibility to use separate screen (screenmode can be specified in ENV: variable "CyberShowScreen") + now with possibility to change the viewing directory from the menu during use + now OS3.0 is sufficient for viewing with 2 to 256 colors as well New in V2.0: + now with massively enhanced comfort (scrolling during preloading, scrollbars, faster scrolling, keyboard control, menues) + now with function to go back to previous pictures as well + new functions (picture information window, fast direct transfers) + now with optional fast downscaled loading (1:1, 2:1, 4:1, 8:1) + now with save functions for many 24Bit formats Supported picture file formats for loading: 1) IFF-ILBM (all standard formats 1 to 8Bit, EHB, HAM6, HAM8, 24Bit) 2) PhotoCD (Base format 768x512 or 512x768 (portrait); linear 24Bit RGB) 3) JPeg (color and greyscale) 4) PPM/PGM/PBM (P1&P4 b&w, P5 grey, P6 color) 5) QRT (also known as dump format by PD raytracers as POV-Ray) 6) Targa (RLE compr.&uncompr. 24Bit,32Bit,1Bit,8Bit grey/Colormap; incl. interleaved) 7) PCX (compr.&uncompr. EGA1-4Bit, VGA 8Bit grey/Colormap and 24Bit) 8) BMP (uncompr. 24Bit RGB,1Bit,4Bit or 8Bit Colormap; RLE compressed 8Bit,1Bit) 9) TIF (packbit-compr./uncompr. Motorola formats 24Bit RGB, 1-8Bit grey/Colormap) 10) EGS7.x window icons 11) DEEP (compr.&uncompr. IFF-DEEP 24Bit and 32Bit formats) 12) YUV (color 1:1:1, 2:1:1, 4:1:1 and greyscale) 13) VLAB raw (color 1:1:1, 2:1:1, 4:1:1 and greyscale) 14) RGB (IFF-RGB: RGB8 and RGBN compressed; RGB5 uncompressed) 15) HHsYUVSq sequence format (sequential or random access) 16) IFF-PBM (DPII) format 17) ACBM (IFF-ACBM: 1 to 8Bit, EHB, HAM6, HAM8) 18) FBM (8Bit grey/Colormap and 24Bit) 19) Sun raster (uncompressed formats for 1Bit, 8Bit grey/ColorMap and 24Bit) 20) MacPaint (b&w compressed 1Bit format; datafork only) 21) HHsXRL formats (1-8Bit ColorMap incl. HAM6/8, 8Bit grey, 24Bit RGB compressed) and all picture and animation DataType formats under OS3.x. For animation formats (HHsYUVSq and animation datatypes) the first frame is shown (for playback of HHsYUVSq animations you can use my freeware program CyberTVPlayer). Please note: The GIF format is not internally supported for legal reasons, but due to the DataType support GIF loading should be possible if you have a suitable DataType (with a fast GIF DataType loading is usually still faster than with many other viewers which directly support GIF!). Supported picture file formats for saving: 1) IFF-ILBM 24Bit (compressed and uncompressed) 2) IFF-DEEP 24Bit (uncompressed) This format is used e.g. by TVPaint or XiPaint 3) JPeg (variable compression rates) 4) PPM-P6 This format is used by the PBM image processing software 5) QRT 6) Targa 24Bit (compressed and uncompressed) 7) HHsXRL TC24 format (compressed lossless and lossy) This format is esp. designed for raytracing pictures, which should be compressed lossless or with nearly invisible losses. Compression is usually better than IFF-ILBM or Targa compression. Highlights of CyberShow: Why should you use this viewer + All loading functions (except JPeg: This software is based in part on the work of the independent JPeg Group) have been written in Assembler and optimised for extremely high speed. Loading will usually be upto 5 times faster than with comparable viewers... An exception to this is the JPeg format, which is written in C and based on the usual code, so that it will be about the same speed as other viewers. + Automatic preloading: The next picture is loaded while you view the current picture; you can now also scroll the picture or use other functions during preloading of the next picture; this reduces waiting time to a minimum + Supports true color viewing on Cybergraphic public screens (or custom screen) of at least 15Bit color depths + Supports reduced color viewing on screens with 2 to 256 colors, including most kind of WB emulations on graphic boards. A special color selection scheme is used for good quality and good speed. + Pictures can be scrolled (with cursor keys or scrollbars) in their resizeable windows. + Support of nearly all commonly used image formats (incl. PhotoCD) and additional DataTypes for even more formats + Can view single files, group of files (specified by a pattern) and even directory trees (automatic search of subdirectories). Images will be shown in alphabetical order (ordered by complete path name). + Optional downscaled loading for faster access + Can go back to previous images as well + Information window for picture can be opened including name, dimensions, file type and number of frames (for animations) + Fast direct transfer of images to famous image processing and painting programs (currently ImageFX, XiPaint and ArtEffect/PicoPainter are supported; transfers to other programs could be included if more developers/dealers would support me) + Save function to convert pictures into some 24Bit file formats (JPeg, IFF, ...) + ... (More to come if enough users register: Possible future expansions e.g. + include a slideshow mode with transition effects + zooming functions for magnification or downscaling) Using instructions ================== Configuration: Usually CyberShow will show the picture windows directly on the default public screen (usually the Workbench). Since version 3.0/3.1 you can specify other screens as well in the environment variable "CyberShowScreen": a) Custom Screen: If you want a screen to be opened for CyberShow you should set an environment variable with the screenmode, e.g.: SETENV CyberShowScreen "NTSC:HighRes Interlace" You can specify all kinds of screenmodes for Amiga screens, emulation screens of graphic boards and TrueColor/HighColor screens for Cybergraphics. In any case the screen will be opened with the max. depth which is available for that mode. Please note that the screenmode name is case sensitive! Take a look at the Prefs/Screenmode program's list of screenmode names to see what is available. If you specify an unknown screenmode name or the specified screenmode can't be used for some reason the program will use the default public screen (after an information requester). b) Named Public Screens: If you want to make CyberShow use a non-default Public Screen, you can also specify this with the ENV: variable, e.g.: SETENV CyberShowScreen "*CoolScreen" To distinguish between a screenmode and a public screen name the * character has to be specified before the screen name. To find out the public screen name of your applications, look into their manuals! The screen title of the public screens is often NOT the public screen name. If the named public screen can't be used (if it is not found or private) then the default public screen is used (after an information requester). To save the screenmode or name specification for automatic use after booting, just copy it from ENV: to ENVARC: If you want to use the program on the default public screen again, just SETENV CyberShowScreen "" or delete the variable from ENV: or from ENVARC: for permanent effect. For start from CLI you can specify a parameter with the picture path including a pattern or file name (e.g. CyberShow CD1:Photo_CD/Images/#?pcd). You can also include the path/pattern/file in " for better compatibility (e.g. CyberShow "CD1:Photo_CD/Images/IMG0005.PCD"). This should work with directory utilites as well (I checked it with DirOpus 4.12A+: Specify CyberShow {f} as DOS command for your CyberShow button...). For start from Workbench no parameter can currently be selected. Instead a requester will appear and ask you to select the directory and (optional) a pattern or file name. In any case subdirectories will be searched automatically if you don't restrict searching by a pattern to one directory. New: After program start you can switch to other directories with a menu function. Default is to load pictures in full size. With the "Scaled-Loading" menue you can select to load all pictures in 1/2, 1/4 or 1/8 of their original size. For many file formats this downscaled loading will be significantly faster. Please note that the pictures will be in small form in memory, thus save or transfer operations will save or transfer the images in small form. To advance to the next picture use the "Next Picture" menu entry (Shortcut Amiga N) or press the close button of the picture window. During displaying the next picture will already be loaded. Since version 2.0 you can now scroll or resize the window or select another function while the next picture is preloaded (due to technical restrictions of some file formats this is partially not available if pictures are not stored line by line, e.g. FBM24, ACBM, DataTypes, vertical PCD images, YUV, VLB, HHsYUVSq; during the color conversion phase you can still scroll and this phase is often longer than the loading time unless you load from floppy disk). Scrolling can now be performed with cursor keys or the scroll bars. You can also go back to previous pictures with the "Previous Picture" menu entry (Shortcut Amiga P). For the currently displayed picture you can get an information requester by selecting the "Picture Info" menu item (Shortcut Amiga I). It includes the name, dimensions, file format and number of frames (for animations). The file format string often includes the color depths or other variation informations as well. For pictures loaded with any DataType, the file type is "DTxx" with xx being the color depth. For animations loaded with DataType the file type is "DHxx". You can quit the program with the "Quit" menu item in the picture windows, by pressing Ctrl-C in the CLI or sending a Ctrl-C signal to the task. The "About" menu function gives an information requester (which includes the personal registration information if you are a registered user with a correctly installed keyfile). Fast direct transfer and saving/conversion (not available in demo version): You can directly transfer the image in full 24Bit quality very fast to important image processing and painting programs (see transfer menu). Currently supported applications: ImageFX, XiPaint and ArtEffect/PicoPainter Transfers should at least be possible to ImageFX 1.5/1.6, ImageFX 2.x, EGS-ImageFX, XiPaint 3.x, all versions of ArtEffect and PicoPainter 1.3. For ArtEffect/PicoPainter you can transfer the image into a picture project window or into a brush. Please note that pictures will always be transferred in their loaded size. If you have selected the downscaled loading, the pictures will be transferred in small form. The same restrictions apply to the save functions which can be used to convert the currently loaded image into one of several formats (see above for list of supported save formats). All pictures are saved as 24Bit images. This is not dependent on the screenmode. The size which has been used for loading will be the size in which it is saved. For JPeg saving you can select the quality between 50% and 95% in 5% steps with a sub menu. Problems with loading specific file formats? If you have difficulties viewing a picture in one of the supported file formats (or DataTypes) and you are sure that you have enough memory left, check the following: a) File systems: Some PD/ShareWare/Commercial add-on or replacement file systems are buggy (e.g. they do not support some rarely used DOS functions properly). Try to copy the picture to a standard device (e.g. RAM:) and to view it from there. If this works, you know that your specific file system is buggy. I really reccommend to only use official Commodore file systems (e.g. the AmigaOS3.1 CD-Filesystem) in case of difficulties. b) DataTypes: Some DataTypes are instable and can crash on certain pictures with odd dimensions or incomplete pictures. I have no influence on this. Requirements ============ For usage with Cybergraphics on HiColor/TrueColor screens: - cybergraphics.library V40 or higher (Cybergraphics is a Workbench emulation/True color software extension which is usable in conjunction with several graphic boards as the Cybervision, Piccolo, SD64, Picasso, Retina-BLTZ3, Spectrum, Domino. It is Copyright by Thomas Sontowski and Frank Mariak.) - Default Public screen or specified screen with at least 15Bit color depth - OS2.04 or higher (higher OS may be required by Cybergraphics itself!) - some memory (about 4MByte Fast-RAM should be enough for normal use) For usage on screens with 2 to 256 colors: - OS3.0 (OS3.1 is not needed anymore) - some memory (about 4MByte Fast-RAM should be enough for normal use) Shareware modalities ==================== The unregistered demo version of CyberShow has an important restriction: All pictures will be shown in greyscale only in the demo version!!! Anyway, I have designed the loading functions so that the speed is the same as with color loading so that you can check the real speed of my fast loading functions, but please note: on screens with less than 15Bit color depths the displaying speed of the greyscale pictures could be higher than that of color pictures due to the fact that the color pen allocation is different. I have no influence on this; to see the real speed, try it on HiColor/TrueColor screens (if you have Cybergraphics), as no color pens are needed and it makes no difference if a greyscale or true color image is displayed. If you want to see how the color allocation works with 2 to 256 colors, take a look at CyberTVPlayer, my freeware animation player for HHsYUVSq sequences (a sample sequence is included in the CyberTVPlayer archive). CyberTVPlayer uses the same color reducing functions as CyberShow. Some other functions are also not available in the demo version (e.g. fast direct transfer functions and save functions). *** Special offer *** The shareware registration fee is currently only 20DM (in europe) or 18US$ (outside europe). This offer is at least valid upto 31st July 1995. I have not yet decided if the shareware fee will be higher at a later time, but it might become a bit higher (e.g. 30DM / 25US$). Other currencies are possible as well (see registration form for details). To register send the filled in and signed registration form (included in this archive) to my address together with the money as banknotes, a cheque or international postal money order: My address: Helmut Hoffmann Rubensstrasse 4 D-41063 Moenchengladbach Germany Users in germany can also transfer money to my account (No bank transfers from outside germany!!). You can currently contact me by EMail (no registrations by EMail!): hhoff@pool.informatik.rwth-aachen.de After registration you will receive a keyfile and the latest version of this program. The keyfile will enable you to use future demo versions of this program as full version. The processing of your order can take some time. Usually it will be very fast (only a few days), but under raw circumstances it could take some weeks. Registered users might get another advantage: If I decide to port my picture management software EGSPhotoAlbum for Cybergraphics and standard Amigas, registered CyberShow users can register for a lower price. The fast loading functions of CyberShow are the same as thoose in EGSPhotoAlbum Professional 5.x. Special note for ImageFX users: In addition to CyberShow you can order my FastImageFXModules for a small add-on fee (see registration form). The loader module is based on the same functions as CyberShow (only JPeg is missing as this did not bring any speed advantage). All other loading functions were faster on my configuration or were not available with the standard loaders. A saver module for some formats is also included. Version history =============== 1.0 (14th june 95): Initial release (supporting 21 file formats and DataTypes) 2.0 (19th june 95): Added menu for picture windows offering Quit, About, SaveAs, Picture Info, Next/Previous Picture, Transfer, Downscale Added fast direct transfer functions to ImageFX, XiPaint and ArtEffect/PicoPainter Added saving functions (7 formats) for picture conversions Added function to go back to previous pictures Added scrollbars for comfortable scrolling Implemented faster scrolling methods Functions like scrolling/resizing now already usable during the next picture is loaded Window position will now be left unchanged for newly opened windows if possible; the scroll position will be left unchanged between pictures of identical size Information requesters for unreadable pictures/problems Preloading is suppressed if not enough memory is available Support of downscaled loading (1:1, 2:1, 4:1, 8:1) 3.0 (30th june 95): New reduced color output function which is available with OS3.0 and not only with OS3.1. This makes CyberShow usable for all OS3.0 users now (drawing speed is increased for standard Amiga screens and some WB emulation screens as well). Support of separate screen with screenmode specified in ENV:CyberShowScreen Added menu function to select a new directory and/or pattern Slightly changed CLI parameter extraction for more compatibility with non-standard shells/utilities Changed menu colors for OS3.x look Changed file requester for saving to a save requester with picture file name as default for save name as well 3.1 (7th july 95): Support of use of named foreign public screen with name specified (with a leading *) in ENV:CyberShowScreen Information requester if screenmode or public screen can't be found or own screen can't be opened Fixed bug which could lead to crashes if files couldn't be opened after they have been stored in the internal list; now you can choose to try the next picture or quit the program in case of any difficulties during opening/loading Fixed bug which could lead to problems if window couldn't be opened Correction of Sun raster 24Bit loading (wrong colors and problems with odd sized images) 3.2 (21st july 95): Support for RLE compressed 8Bit and 1Bit BMP files Bug fix for loading function which could lead to crashes if certain non-picture files where detected as a picture Special Thanks ============== My special thanks go to: Kermit Woodall from NOVA-Design for providing me with ImageFX-EGS and ImageFX. Thomas Dorn for providing me with XiPaint. Alexander Pratsch for providing me with ArtEffect (successor of PicoPainter). Without this support the fast direct transfer functions would probably have been impossible. Thomas Sontowski and Frank Mariak for making the TrueColor/HighColor Workbench possible. The "Independent JPEG Group" for providing the portable C source code for JPeg compression/decompression. The JPeg functions are based on this code (This software is based in part on the work of the independent JPeg Group). and to all registered users of CyberShow, esp. thoose who reported bugs or made suggestions... Hard- and Software used for developing ====================================== This program is written in pure Assembler (using the german assembler O.M.A. 2.0). Only the lowlevel JPeg functions have been implemented in C (based on the portable C source of the Independent JPeg Group) and compiled with the german MaxonC++ 3.0 system. My development system is: Amiga 3000/030/25MHz / 18 Megabytes RAM / OS3.1 4MByte Piccolo SD64 (64Bit) graphics board (running in Zorro III-mode). This program was tested with enforcer and mungwall running. Disclaimer ========== This software (program and documentation) is provided "as is" and comes with no warranty, either expressed or implied. The author is in no way responsible for any damage or loss that may occur due to direct or indirect usage of this software. You use this software entirely at your own risk. Copyright ========= This software (program and documentation) is copyright by Helmut Hoffmann Rubensstrasse 4 D-41063 Mönchengladbach Germany The demo version may be freely distributed and used as long as the following conditions are met: 1) All files have to be kept together 2) No file may be modified or crunched/packed. The only official way to distribute this demo packed is the original .lha archive. The program may not be disassembled or analysed. The limitations integrated in the demo version may under no circumstance be removed or bypassed. 3) Distributors may only charge for the duplication process (including media) and not for the software. Theese charges may not exceed the following limits: a) Demo on a PD-disk: 8$ (US-dollar) including postage&packing (in Germany: 12DM) b) Demo on a PD-CD-ROM: 50$ (US-dollar) including postage&packing (in Germany: 75DM) c) Demo on a BBS/Mailbox/ftp-site or other electronically callable system: Maximum charge 4$ (US-dollar) (in Germany: 6DM) for downloading Anyway, it must be made explictly clear to the buyer, that he does not pay for the program (demo) itself but only for the duplication service. 4) It is not allowed to distribute the demo with any commercial product without a written permission by me. One exception is the distribution of the demo version with products not exceeding the above price limits (e.g. a cover-disk magazine for 8$ or less). The following companies have my explicit permission to distribute the demo with their products: NOVA Design, Ingenieurbüro Helfrich. If you want to distribute the demo with your commercial product (hardware or software) write to me for details. 5) The registered version (the keyfile) may not be redistributed. It may only run on one machine per registration. It is allowed to make a backup copy of the original disk.