README FILE FOR CHIEFLZ v1.00 ----------------------------- This package contains ready-to-compile-and-run Borland Pascal and Delphi sources for LZSS (LZ77) compression. The original source for the LZSS compression was called LZSSUNIT. This package develops that unit further. Although the package is called "CHIEFLZ", it is the joint work of The African Chief (Dr. Abimbola Adeleke Olowofoyeku), and Chris Rankin. Most of the Win32 (Delphi 2.x) sources were written by Chris Rankin, who also ported all the 16-bit ASM code in the original LZSSUNIT.PAS (LZSS16.PAS in this package) to 32-bit ASM for Delphi 2.x (LZSS32.PAS). That was a great effort: many thanks to Chris! This package does not contain too much in the way of documentation. The existing documentation consists of this file, the comments in the source code, and a test program (LZ.PAS or LZ.DPR). The test program is sufficient to show how to use the routines in this package. Distribution ------------ This package is released as FREEWARE. This means that it is FREE, but it is NOT public domain software. Dr A Olowofoyeku and Chris Rankin retain full copyright in all the source files, except LZSS16.PAS (which is original to someone else). You may freely use these routines in your own programs. You may freely redistribute this package, on the conditions; [a] that the whole package is redistributed, AND, [b] that NO alteration is made to the package, or to any of the files in it, AND, [c] that no charge (other than charges for disk duplication and handling, in any case, not exceeding $5.00 (US) or equivalent) be made for any redistribution. Bulletin boards and CD-ROM producers make freely distribute this package, subject to the above conditions. *************** **** NOTE:***** *************** All use of this package is SUBJECT TO THE DISCLAIMER AT THE END OF THIS FILE. Features -------- 1. Compiles for all Borland Pascal platforms (DOS, DOS DPMI, Win16, and Win32). 2. Functions can be statically linked into programs. 3. Functions can be (for DOS DPMI, Win16 and Win32) compiled into a DLL. 4. Import units for (implicit and explicit) DLL use. 5. Compresses and Decompresses single files. 6. Compiles several files into an archive, and dearchives this. 7. Returns the contents of Chief LZ archives. 8. Stores (for Win16 and Win32) version information from Windows binaries. 9. Pascal object and Delphi class to encapsulate the functionality of the package (cannot be exported from the DLL). Exported routines ----------------- Below is a simple list of the routines exported by the ChiefLZ package (unit and/or DLL). 1. Single File Compression -------------------------- * function LZCompress - compress single file * function LZDecompress - decompress single file * function LZCompressEx - compress single file * function LZDeCompressEx - decompress single file * function IsChiefLZFile - is it a ChiefLZ file? 2. Compression into LZ Archives ------------------------------- * function LZArchive - archive some files * function LZDeArchive - dearchive a ChiefLZ archive * function IsChiefLZArchive - is it a ChiefLZ archive? * function GetChiefLZFileName - get filename from inside LZ file * function GetChiefLZFileSize - get real size from inside LZ file * function GetChiefLZArchiveSize - get real size of Archive * function GetChiefLZArchiveInfo - return info in archive header * function GetFullLZName - return a file name from LZ archive 3. DLL routines --------------- * function ChiefLZDLLVersion - return version of LZ DLL * function GetLZMarkerChar - get marker for LZ file extension * procedure SetLZMarkerChar - set marker for LZ file extension File List --------- 1. CHFTYPES.PAS - assorted data types used by the package 2. CHFUTILS.PAS - assorted shared functions and procedures 3. CHIEFLZ.PAS - the main "Chief" LZ unit (can be compiled to a DLL) 4. LZ.DPR - test program (for Delphi 1.x and Delphi 2.x) 5. LZ.PAS - test program (for BPW, TPW, TP7 - same as LZ.DPR) 6. LZDEFINE.INC - assorted conditional defines 7. LZEXPLIC.PAS - unit for explicitly loading the LZ DLL 8. LZIMPLIC.PAS - unit for implicitly loading the LZ DLL 9. LZSS16.PAS - the 16-bit LZSS compression algorithm 10. LZSS32.PAS - the 32-bit LZSS compression algorithm 11. LZ_CONST.PAS - some constants (Win32) 12. LZ_CONST.RC - string table for messages (Win32) 13. LZ_CONST.RES - string table resources (Win32) 14. LZ_DLL.PAS _ some constants for DLL use (Win32) 15. LZ_DLL.RC - string table for messages (Win32) 16. LZ_DLL.RES - string table resources (Win32) 17. LZ_LINK.PAS _ more constants for DLL use (Win32) 18. LZ_LINK.RC _ more constants for DLL use (Win32) 19. LZ_LINK.RES _ more constants for DLL use (Win32) 20. README.TXT - this file 21. FILE_ID.DIZ - description file for BBS use !! Please note the disclaimers below !! DISCLAIMER ---------- WE DO NOT WARANTEE ANYTHING CONCERNING ANY OF THE SOURCES OR FILES WHICH MAKE UP THIS CHIEFLZ PACKAGE. WE ACCEPT NO RESPONSIBILITY FOR ANY LOSS OR DAMAGE OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, LOSSES OF A PHYSICAL, MENTAL, SOCIAL, FINANCIAL, MARITAL, OR OF WHATEVER NATURE, RESULTING FROM THE USE, OR THE PURPORTED USE, OF THIS CHIEFLZ PACKAGE OR ANY OF THE FILES IN THE PACKAGE, FOR ANY PURPOSE WHATSOEVER. WE DO NOT EVEN WARANTEE THAT THE FILES WILL NOT KILL YOU. YOU USE THIS CHIEFLZ PACKAGE ENTIRELY AT YOUR OWN RISK, AND YOU SUPPLY IT TO YOUR CUSTOMERS, FRIENDS, FAMILY, ACQUAINTANCES, OR ENEMIES, ENTIRELY AT YOUR OWN RISK. IF THESE TERMS ARE NOT ACCEPTABLE TO YOU, THEN PLEASE DELETE ALL THE FILES FROM YOUR DISKS IMMEDIATELY AND PERMANENTLY. In this disclaimer, "WE" refers to: Dr. A Olowofoyeku, and Chris Rankin --------------------------------------------------------------- September 1996. Dr. Abimbola Adeleke Olowofoyeku (The African Chief) Email: laa12@cc.keele.ac.uk http://ourworld.compuserve.com/homepages/African_Chief/chief.htm ----------------------------------------------------------------