**********************************************
**             LZD compressor               **
**             for HP48,49&50               **
**********************************************
Author : Yann Collet

Current version : v0.3e


LZD is a compressor specially developed
to achieve very high decoding speed.

This property can be used into automated tools, 
to keep data in compressed format in your HP4x calculator,
wether it is a Library (with MkLibZ) or some global variables.

This is HP4x equivalent to an exe-packer,
with the added advantage that any object, not just programs,
can stay compressed in your calc (matrix, grobs, texts, etc.)

Decoding speed is really the key advantage of LZD,
being approximately 3 times faster than BZ, the "standard" HP packer,
and twice faster than its nearest opponent, Flash (HP48 only).

On the compression side, LZD is also fast and efficient,
leading many compression ratio & speed benchmarks.
LZD is especially efficient on small objects (less than 1KB).
It tends to also show good results on Assembler Code and Greyscale pictures.


How good does it perform ?
--------------------------

Benchmark Results :					
HP50G Summary        BZ49          RF            LZD 0.3e      TNT 1.11
Decoding Speed       25.8 KB/s     17.6 KB/s     64.9 KB/s     15.8 KB/s
Compression Speed    1.41 KB/s     0.46 KB/s     2.05 KB/s     1.19 KB/s
Compression Rate     -33.1%        -31.3%        -33.9%        -35.6%

HP48G Summary        BZ 1.2        Flash         LZD 0.3e      TNT 1.0
Decoding Speed       10.0 KB/s     10.7 KB/s     21.9 KB/s     5.3 KB/s
Compression Speed    0.55 KB/s     0.46 KB/s     0.87 KB/s     0.45 KB/s
Compression Rate     -30.3%        -30.4%        -31.6%        -33.5%


Complete detailed benchmarks are available at webpage :
http://lzd.webhop.org
or
http://phantasie.tonempire.net/utilitaires-f7/lzd-compressor-t65.htm



How to use it ?
---------------

Put the object to compress on Stack 1.

Call LZD, and it will compress the object
into a non-editable string.
Annunciators animation will be displayed during compression,
and statistics at the end (time & compression ratio).

Call LZD again, and it will uncompress the object.
A Standalone decoder, called ULZ, is also provided,
should you wish to integrate it into your own tool or application.



Special Thanks to 
-----------------
William Bill Graves, for maintaining Debug4x, the development environment
Cyrille de Brebisson, for creating MASD syntax
Mika Heiskanen, for BZ, and excellent insights on HP4x garbage collector
