Requestable from : Joe Jared of 1:125/1212@Fidonet.ORG
BBS (510) 834-6906 V.32bis/HST 8n1
(European Guard tones enabled)
File request name : TPLZH (Magic names only please)
Discription : (V0.26) Huffman Compression Engine w/TP {$O+}
: interface. Atari ST/TT, and IBM.
Downloadable name : TPLZH@##.zip where @ is the major release number
and the minor release.
Topics:
- What's new
- How to use this utility in your programs
- Legalities and distribution limitations
- Version history: Refer to TPLZH.HST
---------------------------------------------------------------------
V0.26 (TPLZH026.Zip)
Bug fix for wild write in DS memory (IBM version)
Abandoned TP 5.5 compatibility
---------------------------------------------------------------------
- Implementation: (IBM)
The following is a basic structure of how the engine operates:
( Your program ) ------------\
| \---( Your program )
| +-->(Your procedure for handling input buffer)
| | (These must be far procedures)
| |+->(Your procedure for handling output buffer)
v ||
(Huffman Compression Engine)
It's generally a good idea to have some sort of display related
function in each of your iobuffer routines, and especially during
initial setup.
In the examples, position progress reports keep the user from being
bored.
Memory requirements:
Memory requirements are as follows:
{$M Stack, Minheap, Maxheap}
{$M 1024, 56000, 56000}
(Lzhasm.obj)
Note: This does not include sample program space.
Codespace: 3693 bytes.
Dataspace: 12 bytes
The stack is probably higher than necessary, but heap memory
is definately accurate. (Some space is currently reserved for
updates so there are no hassles Approximately 700 bytes)
This unit is overlayable, and is designed to operate best when
overlayed. (With minimum usage of data seg, it makes sense to
overlay the engine, because its entire process can be contained
in an overlay.)
--------------------------------------------------------------------
-Legalities:
-Compression of this archive:
As far as compression type is concerned, I could personally care
less, as long as the software used to re-compress is freely
available. Please to not re-compress this archive with
crippleware, and do not add useless banner files.
The contents of this archive should contain the following: +
means compatible with language v x.xx and higher.
.model small,pascal
LZHASM.OBJ -=> The huffman compression object file (MSC 5.1+)
TPLZH.HST -=> Version history
TPLZH.DOC -=> This document.
LZ.PAS -=> Sample TP 6.0+ version
LZH.PAS -=> Base unit for all pascal platforms
LZO.PAS -=> OOPS examples for TP 6.0+
TESTLZO.PAS -=> OOPS examples for TP 6.0+
LZ.exe -=> Compiled Lz.pas using Turbo Pascal 7.0
Anything additional shall be considered twit behavior.
If this object is used in any utility you write for public
or commercial use, please give credit to the following people
in your documentation or credits banner (as applicable):
(These people always)
Haruyasu YOSHIZAKI : Original lharc program.
Kenji RIKITAKE : English translation to C
Peter Sawatzki : Pascal interface(TP 5.0+}
Wayne Sullivan : Pascal interface(TP 5.0+)
Joe Jared : Assembler optimization {TP 5.0+}
: Assembler routines for 680x0 machines.
(These people as appropriate)
Andres Cvitkovich : Object Oriented version (TP 5.5+)
-Distribution
No fee may be charged for distribution of this package, and it
CANNOT be sold for any reason. All code is property of the
developers listed.
Exceptions: The disk this program is on, may be sold for the
cost of the disk. (Not to exceed $0.70)+exact mail costs if
mailed.
CD-ROM distribution.
Unrestricted, but please either download or freq the latest
prior to distribution.
If in a shareware or commercial package, no additional charges
may be added for the use of this "module".
This is a * militantly freeware * implementation of huffman
compression.
|