XPak compression v1.0

Copyright (c) 2002-2003 Paul Froissart


1. What is XPak?

XPak is a compression program using a method close to the one from which TTPack is derived, which allows for high compression ratios (close to those of TTPack) as well as on-calculator compression. The decompression algorithm has been tuned to be as fast as possible.

2. Compressing files with XPak

2.1 The xpak() program

It is compatible with TI-89, 92+ and V200 calculators, and located in the file "XPak.89z" (or ".9xz"/".v2z"). You use it this way:

xpak("uncompressedfile","packedfile")

 

When compressing texts, it is usually more efficient to write:

xpak("uncompressedfile","packedfile",1)

 

Note that you may not specify packedfile to be the same as uncompressedfile. There is a utility, located in group file "XPakI.89g", that allows you to do so: its syntax is xpak\xpaki("myfile"): myfile gets compressed and then archived.

2.2 Technical details

Compression speed: around 3 kb/s; a bit slower than ZIP and such (though the compression ratio is much improved), but faster than many non-Huffman compressors around.

Memory requirements: about 50 kb temporary RAM, plus a bit less than twice the packed size.

Compression ratio: much more efficient than ZIP, usually a few percent less efficient than TTPack (this is mostly due to the limited RAM size).

2.3 Compressing all texts in a whole folder

Send the group file "XDirPak.89g": you can now compress all the text files within a given folder using:

xpak\xdirpak("myfolder")

 

In addition, this will extract title informations to create XPAK files (contrary to the PAK files normally generated by xpak()), which the uView text viewer will be able to use.

3. Decompressing files with XUPak

3.1 Usage

This is very similar to the above paragraph: you have a file named "XUPak.89z" (or ".9xz"/".v2z"), which you may use through:

xupak("packedfile","decompressedfile")

 

There is a group file named "XUPakI.89g", enabling you to do xpak\xupaki("myfile").

 

You may decompress whole directories, too, using the group file "XDirUPak.89g".

3.2 Technical details

Decompression speed: around 80 kb/s; this is much faster than many (if not all) compression algorithms I have seen so far.

Memory requirements: none, apart from the output file size!

4. History/Future

December 13th 2003: version 1.0

 

Possible improvements:

Please send me feedback about all these features (and possibly others), so I can know whether they're useful or not: I don't think I'll do any of the above unless I see many people are interested, so express yourself!

5. About

XPak has fully been written in C language on my calculator, thanks to the soon-to-be-released GTC embedded compiler, and much of the performance-critical code has been rewritten in assembly for optimal performance.

 

Special thanks to:

6. Contact

You can check for updates on http://www.genezis.fr.fm, and mail me at paul.froissart@tiscali.fr

 

7. Licence/disclaimer

XPak is freeware. You may freely redistribute it, as long as the package (the ZIP file from which this file was extracted) is kept unchanged.

 

I (Paul Froissart) shall not be held liable for any damage caused, directly or indirectly, by use of this software. Use it at your own risk.