home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / UTILS / SQUEEZE / 00SQ-USQ.DOC < prev    next >
Text File  |  2000-06-30  |  3KB  |  82 lines

  1.  
  2. For those of you who argue that compact and uncompact should be used
  3. under Unix, consider the following:
  4.  
  5. 1)  These programs are compatible with the popular 'SQ' and 'USQ' programs
  6. found on many bulletin board systems.  Files squeezed by other programs
  7. will always be unsqueezable by any version of 'usq'.
  8.  
  9. 2)  You have the sources yourself.  PLEASE don't make changes which affect
  10. the internal format of the squeezed file.  This causes great portability
  11. and compatibility headaches.
  12.  
  13. 3)  'sq' and 'usq' are faster than compact/uncompact, and since they use
  14. an adaptive Huffman coding, rather than a fixed one, they compress files
  15. as well or better.
  16.  
  17.  
  18. Included in this distribution of 'sq' and 'usq' are:
  19.  
  20.     1) sq.1            - man page
  21.     2) sqcom.h        - header file for sq and usq compilations
  22.     3) sq.h            - header file for sq compilations
  23.     4) usq.h        - header file for usq compilations
  24.     5) sq.c, tr1.c, tr2.c,
  25.        sqio.c, sqdebug.c    - sources for sq
  26.     6) usq.c, utr.c        - sources for usq
  27.     7) makesq, makeusq    - 'make' files for sq and usq
  28.     8) README        -  this file
  29.  
  30. With the exception of providing 'make' files for Unix, Xenix, etc. systems,
  31. I have not included compilation instructions for other compilers.  The
  32. only thing you need to know is which modules are linked with which programs.
  33. To link 'sq', compile:
  34.  
  35.     sq.c
  36.     tr1.c
  37.     tr2.c
  38.     sqio.c
  39.  
  40. and then link the four object files with your standard libraries to produce
  41. the binary for 'sq'.  If you need to debug 'sq', compile sqdebug.c, set the
  42. DEBUG #define in tr2.c, recompile tr2.c, and relink the above four files
  43. plus sqdebug.
  44.  
  45. To create 'usq', compile:
  46.  
  47.     usq.c
  48.     utr.c
  49.  
  50. and then link the two object files with your standard libraries to produce
  51. the binary for 'usq'.
  52.  
  53. There are two system-dependent #define's in sq.c which may need to be
  54. modified.  They are at the beginning of the source (after the large block
  55. of comments), and are FNM_LEN and UNIX.
  56.  
  57. FNM_LEN should be set to the maximum length of a file name on the target
  58. system.
  59.  
  60. UNIX should be defined for Unix or a derivative, and undefined (i.e.,
  61. commented out) for CP/M, MP/M, MS-DOS, PC-DOS, or any system that
  62. has separate file "names" and "types" (delimited by a period).
  63.  
  64. I have compiled and tested the code with the following compilers on
  65. the following systems:
  66.  
  67. system "C" compiler        Xenix (Altos 586)
  68. system "C" compiler        Unix BSD 4.2 (Vax 780)
  69. system "C" compiler        Zeus (Zilog Z8000)
  70. Computer Innovations C86    PC-DOS (MS-DOS) (IBM PC, etc.)
  71. Computer Innovations C86    CP/M-86 (Altos 586)
  72. DeSmet C88            CP/M-86 (Altos 586)
  73. Aztec C II            CP/M-80 (CompuPro)
  74.  
  75. If some of the code looks funny (read: slow), remember that it has to be
  76. portable accross all the above systems, and I get tired of too many
  77. #define's.  If you successfully port it to some system that requires
  78. minor (but backwards compatible) changes, let me know, and I'll update
  79. them into my sources, and make sure they still work on the above systems.
  80.  
  81.  
  82.