PCX.svobject © 1993-94 by Andreas R. Kleinert. FREEWARE. All rights reserved. Version : 2.6 Release Date : 02.04.1994 Description ~~~~~~~~~~~ PCX.svobject is an external Library-Module for the superview.library V2+. It contains SVDriver-Support for the superview.library V3+, and needs any SVDriver with Bitplane-/ChunkyPixel-Support. It supports reading and writing of PCX Files. In detail these are : Reading : - PCX V2.5 upto 16 Colors (supports 4/8 color EGA/VGA palette) - PCX V2.8a upto 16 Colors (supports 4/8 color EGA/VGA palette) - PCX V2.8b - PCX V3.00 upto 256 Colors Writing : Depending on the Colordepth of the source - no matter, which WriteSubType has been specified - the following is written : Source Colors Version Type Destination Colors 2 .. 16 PCX V2.8a planar bitmap 16 32 .. 256 PCX V3.00 chunky pixel 256 Remarks ~~~~~~~ - Why writing only 16/256 Color files ? When loading 4 Color PCX files, some programs might expect a CGA style color palette, while we only write EGA/VGA palettes. For 8 Color graphics it is not clear how they should be handled. Also, most programs do not support 32 .. 128 Color graphics, perhaps because it is not clear, how the colormap has to be stored : all at the end of the file or one hunk in the header and only the rest at the end of the file ? So why should PCX.svobject support things, which are not defined as clear as they should be ? - Then, why reading 4/8 Color files nevertheless ? Because PCX.svobject wrote them - this was my fault - before I fixed this bug. So it still reads them, but no longer writes them. Author ~~~~~~ Andreas R. Kleinert Grube Hohe Grethe 23 D-57074 Siegen Germany History ~~~~~~~ V2.6 (02.04.1994) : - improved speed of RLE decoding routines V2.5 (27.03.1994) : - removed internal SVDriver-Replacement, so that we now are really dependent on external SVDrivers in libs:svdrivers. This saves about 1600 Bytes diskspace and reduces redundancy. - replaced SAS/C's sprintf()-routine with own, RawDoFmt()-based one. This saves again about 1800 Bytes. - now using Utility-Library for integer operations (activated SAS/C's UTILLIB option) : this increases 68000-codesize a little bit, but increases speed on 68020+ systems (should also decrease codesize, but does not ...) V2.4 (25.03.1994) : - slightly improved internal BitMap-to-BitMap routine V2.3 (18.03.1994) : - removed some dead code (not compiled nor linked ?!) V2.2 (17.03.1994) : - fixed "large memory usage" bug in internal ECS-ChunkyPixel routine - added several security checks (zero-pointers) V2.1 (09.03.1994) : - now with SVDriver-Support. Not yet necessarily needed. - improved internal "Chunky Pixel to BitMap" (8 Bit) Routine - writing routine(s) : - added code for writing 256 Color graphics (chunky pixel) - 2, 4, 8, 32, 64 or 128 Colors are expanded to either 16 or 256 Colors before writing - 16 Colors now written as V2.8a, also fixed some small bugs - increased speed for writing 16 Colors - fixed bug in setting map for 16 Colors (same as in reading routine, which was fixed in V1.2) - fixed small bug in memory management routines - internal routines : AUTOSCROLL now really works with big-sized Screens - fixed several little bugs V1.3 (24.01.1993) : - fixed bug with setting ColorMap under V37/V38 V1.2 (02.01.1993) : - fixed "wrong colors" bug - improved speed V1.1 (19.12.1993) : - first version Literature ~~~~~~~~~~ [1] "Supercharged Bitmapped Graphics", Steve Rimmer, Windcrest/McGraw-Hill, © 1992 by Windcrest Books (registered Trademark of TAB Books). ISBN 0-8306-3788-5 [2] "Amiga Magazin", Issue 2/1992, Markt & Technik Verlag AG [3] "DOS Extra", Issue 4/1993, DMV-Verlag Copyrights ~~~~~~~~~~ Some of the mentioned names or products above may be copyrighted by companies or trademarks of companies.