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   
Text File  |  1993-02-03  |  5KB  |  119 lines

  1. ***********************************************************************
  2.         V0.24 (TPLZH024.SQZ) or TPLZH024.exe
  3.  
  4.         Relocated the most commonly used array to ds:0 (8086 optimization)
  5.  
  6.         Tested compatibility with Turbo Pascal 7.0
  7.         Corrected documentation of write and read assignments.
  8.  
  9.         Decode is now faster than Lharc on all CPU's.
  10.  
  11.         Added LZHASMB.obj for basic compatibility
  12.  
  13.         LZHMem^.Inptr no longer needs to be reset.
  14.  
  15. ***********************************************************************
  16.         V0.22ß (TPLZH022.SQZ)
  17.  
  18.         The current version can be compiled to use significantly less
  19.         memory in powers of 2.  For customized engines, performance
  20.         degrades as the buffers get smaller. (A 6502 engine is currently
  21.         being worked on using a 256 byte table)
  22.  
  23.         The TP 5.x+ version (LZ.pas) is now intentionally overlayed,
  24.         And LZ.ovr needs to be in the same directory as LZ.EXE.
  25.  
  26.         Bug fix to the OOPS version.  Actually it's a fix to a bug fix,
  27.         because the engine automatically fills the read buffer.
  28. ***********************************************************************
  29.         V0.20ß (TPLZH020.SQZ)
  30.         Optimized insertnode. 
  31.  
  32.         Moved array constants to the code segment, for better optimization
  33.         when overlayed.  Now, the engine uses 12 bytes of data space.
  34.         This effectively creates a TINY module that will work with all
  35.         languages, including pascal, which is not designed to handle
  36.         tiny modules.
  37.  
  38.         Removed LZHASMC.OBJ, because the original engine is compatible
  39.         with both C calling conventions and Pascal calling conventions.
  40.         (No procedures have parameters, only extern and heap allocation.)
  41. ***********************************************************************
  42.         V0.19ß (TPLZH019.SQZ)
  43.         Thanks to Andres Cvitkovich, 2:310/36.9@Fidonet.Org
  44.         for the Object oriented programming interface.
  45.  
  46.         Now, if you don't pre-fill the inputbuffer, the engine will do
  47.         it for you.
  48.  
  49.         Added LZHASMC.OBJ, which uses C Calling convention.
  50.         This has in no way been tested, and might be unnecessary. The
  51.         standard object LZHASM.OBJ should work for all languages.
  52.  
  53.         Basic compatibility issues:
  54.         Removed usage of underscores in all public variables.
  55.         Basic interface is in progress.
  56.  
  57. ***********************************************************************
  58.         V0.18ß (TPLZH018.SQZ)
  59.  
  60.         Fixed difference in compression between the pascal version and
  61.         my version.  Would you believe the bug was a 1/16th of the size
  62.         of the space it cost? :)
  63.  
  64.         Fixed the bonus bytes output on decompress.
  65. ***********************************************************************
  66.         V0.17ß (TPLZH017.SQZ)
  67.  
  68.         Expanded Getc and putC into Macros.  A later version will have
  69.         2 versions:  LZHFast will use the .obj file with expanded macros
  70.         and not defining LZHFast will use the tighter process that CALLS
  71.         to getc and putc instead.  The slower version need only be used
  72.         to reduce the required size of your overlay buffer, if you use
  73.         overlays.
  74.  
  75.         8086/286 optimization.
  76.         Minimized usage of AX,Mem and Mem,ax.  This has little effect
  77.         on 386 machines.  Also in the process of optimizing the array
  78.         swapping routines.
  79.  
  80. ***********************************************************************
  81.  
  82.         V0.16ß (TPLZH016.SQZ)
  83.         All variables now have the Prefix "LZHMem^."
  84.  
  85.         Operations now operate entirely from the heap, which reduces
  86.         the active data segment to under 2k of memory. Some stuff resides
  87.         in the data segment, but is copied onto the heap at the start of
  88.         Encode or decode.  Refer to the $M definition in LZ.PAS for
  89.         memory requirements for your application.
  90.  
  91.         SHORTened all loops where possible.
  92.  
  93.         "FIXED" the I/O buffers in size to 10k, and placed them in the
  94.         LZHMem^ structure.  This is much cleaner, although buffer size is
  95.         not as flexible. The difference in buffering doesn't matter too
  96.         much past 2k, but for a round figure, I chose 10k.
  97.  
  98. ***********************************************************************
  99.  
  100.         V0.15ß (TPLZH015.SQZ)
  101.         Removed options in 0.14ß and changed memory allocation structure.
  102.         Now minimum requirements for memory in the data segment are 6k for
  103.         all versions.  The next version will require a value somewhere
  104.         around 1k.
  105.  
  106.  
  107. ***********************************************************************
  108.         V0.13ß (TPLZH013.SQZ)
  109.  
  110.         8086/8088/286 optimization pass:
  111.         These changes have no effect on 386 machines
  112.         Replaced occurances of Mov areg,0 with xor areg,areg
  113.         Replaced occurances of CMP areg,0 with AND areg,areg
  114.         The difference in time for each of these is 1 clock cycle per
  115.         occurance. 
  116.  
  117.  
  118. ***********************************************************************
  119.