AmigaOS 4.0


IBrowse - Get It

Valid XHTML 1.0!


RegisterRegister Now
Bug Tracker
Futaura.co.uk / Oliver Roberts
JPEG 45.13
PNG 45.21
TIFF 45.9
BMP 45.7
PCX 45.5
PSD 45.5
Prefs 45.9
· WarpPCX.datatype
A fast 24-bit capable PCX picture datatype!
For 68k, OS4, WarpOS and MorphOS.
Copyright © 2003-2011 Oliver Roberts, All Rights Reserved.
Version: 45.5
Released: 25 February 2011

WarpPCX.datatype is a datatype which allows you to view and read ZSoft PC Paintbrush (PCX) image files. A unique feature of this particular PCX datatype is that in addition to supporting the 68k (with optimized versions for 020, 030, 040 and 060), it also supports the PowerPC processor, with native OS4, WarpOS and MorphOS versions. Even better, it is fast, compact, clean and well behaved - a true plug'n'play PPC datatype. One of the key features is its superior speed, hence the name WarpPCX. This datatype uses the same engine as used by my other WarpDTs. There are various user settings available, which can be changed using the WarpDT Preferences program.

· Features

  • Read standard ZSoft PC Paintbrush PCX files, including less common non-standard modes which Cloanto Personal Paint can save
  • Supports pixel bit depth of 1 or 8 and 1-8 planes of data, covering mono 1-bit images upto 24-bit RGB, both RLE compressed and uncompressed
  • Highly optimized datatype dispatch engine and PCX decoder, resulting in a very efficient, compact and quick PCX datatype
  • Asynchronous double buffering techniques (WarpOS only) and file i/o, which speeds up image decoding
  • Optimized versions for 68020, 030, 040 and 060
  • PowerPC support with native OS4, WarpOS and MorphOS versions
  • Alter the pen allocation precision when images are remapped to an 8-bit display
  • Specific support for the AmigaOS picture.datatype v44+, when available
  • The dithering feature of the AmigaOS picture.datatype v44+ can be configured to your liking (e.g. disabled for 15/16-bit displays)
Warp Datatypes

· Speed

The table below shows the time (in seconds) it took to decode 5 different images on my A1200 603e/240MHz 060/50MHz, with BVision and CGX picture.datatype, with other tested datatypes configured as close as possible to WarpPCX's internal settings. However, due to the nature of PCX files, don't expect miracles from the PPC versions.

Really, there wasn't much to benchmark my datatype against, apart from the CGX PCX datatype. And, as you can see, there's really not a lot in it in terms of speed. The main reason being that PCX files use a very simple RLE compression scheme, which in turn means simpler decoding routines, and therefore less room for optimisation. But, WarpPCX tends to be faster than everything else, even if only small fractions of a second :-)

PowerPC M68K
WarpPCX 45.5CGX PCXdt
C= PicDT
833x841 1-bit c, 87019 bytes0.
621x494 4-bit c, 153035 bytes0.210.210.380.260.3*
461x599 24-bit c, 62967 bytes0.*
645x259 8-bit c, 130842 bytes0.*
268x577 8-bit c, 23715 bytes0.

(* = not supported)

Note: all tests were performed, multiple times, using Visage, with the following command line: "visage test.pcx time test".

· Requirements

  • Kickstart 3.0 or higher
  • picture.datatype v43 or higher (i.e. either of the ones supplied with AmigaOS 3.5+, P96 or CGraphX)
68k version
  • 68020 processor or higher (optimized versions included)
WarpOS version
  • PPC accelerator card + 68040/060
  • WarpUp Release 5.0 or higher
OS4 version
  • PPC accelerator card / AmigaOne / SAM
  • AmigaOS 4.0 or higher
MorphOS version
  • PPC accelerator card / Pegasos / Efika
  • MorphOS 1.4 or higher
Note that a graphics card is not necessary.

Page design by Oliver Roberts - Copyright © 2001-2020, All Rights Reserved - Terms & Conditions