zlib ARMlet Port

Introduction

zlib is a free, general-purpose, legally unencumbered, lossless data-compression library that runs on many different platforms. zlib was written by Jean-loup Gailly (compression) and Mark Adler (decompression). Jean-loup Gailly maintains the main zlib homepage. zlib was ported to a Palm OS shared library by Tom Zerucha, who has a homepage for his Palm OS port. I have taken Tom's port and added an ARMlet, which allows it to run significantly faster on Palm OS devices with ARM processors. Note that this version will still run on pre-OS 5, non ARM devices.

History

03.07.2003 Added some code so that old apps that still call ZLSetup will still work, by manually calling zlib_open when necessary. (114armlet-4)

02.07.2003 Replaced the ZLSetup and ZLTeardown macros with some inline functions. The old ZLSetup macro failed to call the zlib_open function. Also took out the #include of zconf.h from SysZLib.h. (114armlet-3)

01.15.2003 Updated compress2 and uncompress functions, added macros for compress and uncompress, changed defines for MAX_MEM_LEVEL and MAX_WBITS. (114armlet-2)

01.09.2003 Initial release. (114armlet-1)

Performance Comparison

The following table shows deflate and inflate speeds on a device with a 68K processor (m515) and on a device with an ARM processor (Tungsten T). Results were obtained by running Deflater on the Asian_24x24.PDB Anki font database.

Device Name Deflate Speed
(bytes per second)
Inflate Speed
(bytes per second)
Palm m515 5,300 21,700
Palm Tungsten T
68K version
7,200 28,600
Palm Tungsten T
ARMlet version
152,000 169,000

Download

If you have a Palm OS device with an ARM processor in it, and you run any applications that use SysZLib, then simply download the following PRC file and install it onto your device:

SysZLib.prc

If you are a developer and would like to use zlib in your Palm OS applications, then download the following header file and use zlib as described in the zlib manual. Also, download the DLL and copy it into your Simulator directory, if you would like to test on the Simulator.

SysZLib.h
zlib_armlet_dll.zip

If you are a developer and wish to modify this port or make any bug fixes, then download the following patch and apply it to the zlib-1.1.4 distribution:

zlib114armlet-4.dif

Old Versions:

zlib114armlet-3.dif
zlib114armlet-2.dif
zlib114armlet-1.dif

Links

Here are links to a few Palm OS applications that are OS 5.0 compatibile and use zlib for compression:

Contact

If you have any questions or comments about this software, please send me e-mail at justinc@copera.com


Justin Clark (January 9th, 2003)

all rights reserved
copyright © copera 1999-2008