home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-387-Vol-3of3.iso
/
t
/
tplzh025.zip
/
TPLZH.HST
< prev
Wrap
Text File
|
1993-02-03
|
5KB
|
119 lines
***********************************************************************
V0.24 (TPLZH024.SQZ) or TPLZH024.exe
Relocated the most commonly used array to ds:0 (8086 optimization)
Tested compatibility with Turbo Pascal 7.0
Corrected documentation of write and read assignments.
Decode is now faster than Lharc on all CPU's.
Added LZHASMB.obj for basic compatibility
LZHMem^.Inptr no longer needs to be reset.
***********************************************************************
V0.22ß (TPLZH022.SQZ)
The current version can be compiled to use significantly less
memory in powers of 2. For customized engines, performance
degrades as the buffers get smaller. (A 6502 engine is currently
being worked on using a 256 byte table)
The TP 5.x+ version (LZ.pas) is now intentionally overlayed,
And LZ.ovr needs to be in the same directory as LZ.EXE.
Bug fix to the OOPS version. Actually it's a fix to a bug fix,
because the engine automatically fills the read buffer.
***********************************************************************
V0.20ß (TPLZH020.SQZ)
Optimized insertnode.
Moved array constants to the code segment, for better optimization
when overlayed. Now, the engine uses 12 bytes of data space.
This effectively creates a TINY module that will work with all
languages, including pascal, which is not designed to handle
tiny modules.
Removed LZHASMC.OBJ, because the original engine is compatible
with both C calling conventions and Pascal calling conventions.
(No procedures have parameters, only extern and heap allocation.)
***********************************************************************
V0.19ß (TPLZH019.SQZ)
Thanks to Andres Cvitkovich, 2:310/36.9@Fidonet.Org
for the Object oriented programming interface.
Now, if you don't pre-fill the inputbuffer, the engine will do
it for you.
Added LZHASMC.OBJ, which uses C Calling convention.
This has in no way been tested, and might be unnecessary. The
standard object LZHASM.OBJ should work for all languages.
Basic compatibility issues:
Removed usage of underscores in all public variables.
Basic interface is in progress.
***********************************************************************
V0.18ß (TPLZH018.SQZ)
Fixed difference in compression between the pascal version and
my version. Would you believe the bug was a 1/16th of the size
of the space it cost? :)
Fixed the bonus bytes output on decompress.
***********************************************************************
V0.17ß (TPLZH017.SQZ)
Expanded Getc and putC into Macros. A later version will have
2 versions: LZHFast will use the .obj file with expanded macros
and not defining LZHFast will use the tighter process that CALLS
to getc and putc instead. The slower version need only be used
to reduce the required size of your overlay buffer, if you use
overlays.
8086/286 optimization.
Minimized usage of AX,Mem and Mem,ax. This has little effect
on 386 machines. Also in the process of optimizing the array
swapping routines.
***********************************************************************
V0.16ß (TPLZH016.SQZ)
All variables now have the Prefix "LZHMem^."
Operations now operate entirely from the heap, which reduces
the active data segment to under 2k of memory. Some stuff resides
in the data segment, but is copied onto the heap at the start of
Encode or decode. Refer to the $M definition in LZ.PAS for
memory requirements for your application.
SHORTened all loops where possible.
"FIXED" the I/O buffers in size to 10k, and placed them in the
LZHMem^ structure. This is much cleaner, although buffer size is
not as flexible. The difference in buffering doesn't matter too
much past 2k, but for a round figure, I chose 10k.
***********************************************************************
V0.15ß (TPLZH015.SQZ)
Removed options in 0.14ß and changed memory allocation structure.
Now minimum requirements for memory in the data segment are 6k for
all versions. The next version will require a value somewhere
around 1k.
***********************************************************************
V0.13ß (TPLZH013.SQZ)
8086/8088/286 optimization pass:
These changes have no effect on 386 machines
Replaced occurances of Mov areg,0 with xor areg,areg
Replaced occurances of CMP areg,0 with AND areg,areg
The difference in time for each of these is 1 clock cycle per
occurance.
***********************************************************************