home *** CD-ROM | disk | FTP | other *** search
/ Game Developers Magazine 1 / GDM001.ZIP / LZEXE.DOC < prev    next >
Text File  |  1993-06-27  |  4KB  |  98 lines

  1. Documentation for:
  2. -------------------
  3. LZEXE.EXE v0.91 (ß-release) (c) 1989 Fabrice BELLARD
  4. Compressor for EXE files.
  5.  
  6.  
  7. This program is in the public domain (FREEWARE), and you can therefore
  8. use, copy and distribute it freely.  You can also utilize it commercially,
  9. i.e. you can use it on programs you intend to sell.  However, the sale of
  10. LZEXE.EXE itself is forbidden.
  11.  
  12.  
  13. Requirements:  PC and compatibles.  80286 or 80386 microprocessors are
  14. recommended  for greater execution speed.
  15.  
  16.  
  17. 1-Introduction
  18. --------------
  19.  
  20. This utility compresses EXE files, namely executable files, while
  21. leaving them executable!
  22.  
  23.  
  24. 2-Using LZEXE
  25. -------------
  26.  
  27. Usage is very simple: just enter the command line
  28.  
  29.                  LZEXE filename
  30.  
  31. where filename is the EXE file to be compressed.  The extension .EXE is
  32. implied by default. "path" is optional: it refers to the directory where
  33. the compacted file and the temporary working file LZTMP.EXE are to be
  34. located.
  35.  
  36. There is a way to force LZEXE to accept a COM file: just use COMTOEXE by the
  37. same author.  It works like EXE2BIN in reverse.
  38.  
  39. For greater safety LZEXE does not erase the original EXE file, but it renames
  40. it with the extension .OLD.  In addition it creates the temporary file
  41. LZEXE.TMP which is renamed with the name of the original program only at the
  42. end of the compression process.
  43.  
  44. 3-Usage tips
  45. ------------
  46.  
  47. Certain files can not be compressed for various reasons:
  48.  
  49. -  The file is not a true EXE file.  Solution: use COMTOEXE.EXE.
  50. -  The relocation table is too large. To understand this you need to know
  51.    the internal structure of an EXE file: such a file can occupy several
  52.    segments unlike COM files.  Thus it must contain a table specifying where
  53.    to branch and where to call subprograms, etc... And if the program is
  54.    rather large  it may confuse the compressor.  I have provided for a table
  55.    with up to 16,000 relocation addresses, which should suffice for almost
  56.    all EXE files.
  57. -  The file you wish to compress has already been compressed by LZEXE.
  58.    Notice that there exists another compressor:   Microsoft's EXEPACK.EXE,
  59.    which however is far less efficient than LZEXE.  LZEXE can further
  60.    compress an EXEPACKed file, if you use UPACKEXE to unpack what EXEPACK
  61.    has done.
  62. -  Sometimes the compression factor is not significant.  This may happen with
  63.    very small files (less than 2K).  Normally the compression is quite
  64.    substantial.
  65.  
  66.  
  67. -  A more serious problem: certain compressed EXE file may hang the system:
  68.  
  69.     -  If the program checks its size (like Turbo Debugger for example).
  70.     -  If it checks for its integrity on disk.
  71.     -  If it uses overlays, which must be loaded later and thus must occupy
  72.        occupy fixed position in the file.  LZEXE 0.91 warns you of the
  73.        presence of such overlays.
  74.     -  Programs that require Microsoft's Windows:  they are not true EXE
  75.        and will not work properly if compressed with LZEXE.
  76.     -  This list may grow, since I have not experimented with all types
  77.        of EXE files.
  78.  
  79.  
  80. -  A less serious problem: Certain programs use configuration options that
  81.    modify the code (Turbo  Pascal, for example).
  82.    In this case, first configure the program, then compress it.  (Always
  83.    keep an uncompressed version for safety.)
  84.  
  85.  
  86. That's all!!!
  87.  
  88.     This decompressor is by itself a little jewel of 8086 assembler
  89. programming. It goes without saying that it was hard work.  But the
  90. compressor was not much easier, particularly with regard to the updating
  91. all the pointers that the decompressor needs in order to function.
  92.  
  93.  
  94.     Fabrice BELLARD
  95.     451 chemin du mas de Matour
  96.     34790 GRABELS  (FRANCE)
  97.  
  98.