       *************************************************************
       **************    ===RKIVE file archiver===    **************
       *************************************************************
            
            Copyright (c)1996 Malcolm Taylor All Rights Reserved


      RKIVE is a high performance shareware file archiver which uses many 
   of the latest techniques to gain a high level of compression while
   maintaining a reasonable decompression speed.

   This is version 1.90beta1 - released on 30th September 1997.

   THIS IS A BETA VERSION AN AS SUCH MAY CONTAIN BUGS. USE THIS ARCHIVER
   AT YOUR OWN RISK, THE AUTHOR WILL NOT TAKE ANY RESPONSIBILITY FOR BUGS
   ERRORS OR OMISSIONS.

* Features:

   RKIVE now supports a full range of standard archiver features - these
   are:

         - Support for file attributes.
         - Support for file date/time stamps.
         - Support for CRC32 checksums to verify file integrity.
         - Support for Win95 long filenames.
         - Better compression than almost any other archiver.
         - Environment variable argument passing.


* Requirements:

   This program will run on any 386 or better computer. 4Mb of memory is
   required but 16Mb is recommended for the high compression modes.
   Note that the -mtx mode currently requires 32Mb of memory. This may be
   changed in future versions hopefully.


* Format and future:

   The format and compression algorithm being used by RKIVE changes
   significantly between versions as I investigate ways of improving the
   compression. Because of this, the versions are not backwardly compatible
   and will probably never be.

   This is a beta version and as such many features args etc. used will be
   changing significantly in future versions.

* Shareware info:

   Being a beta version I'm not asking for registrations. If you like it then
   just send some e-mail. This will almost definitely change once I release
   the full version 2.00.

* Legal info:

   As I stated above:
   The Author takes no responsibility for any damages resulting from the
   use or misuse of this program.
   USE THIS PROGRAM AT YOUR OWN RISK.

   This software is Copyright (c) 1996,1997 Malcolm Taylor, all rights
   reserved.


   Having said this if you have any problems then please feel free to 
   contact me at the e-mail address below.


* Usage:

   The usage of the archiver is fairly self explanatory:

      rkive [options] filename[.rkv] [files ... @list]

   The options are:
      -c           to compress (defaults to this if no options given).
      -e           to expand without paths.
      -x           to expand with paths.
      -i           to perform an integrity check.
      -v[v]        to view the files.
                      v - verbose listing.
      -r           recurse through sub-directories.
      -p[0,r,f]    store pathnames:
                      0 - no pathnames.
                      r - relative pathnames (default).
                      f - full pathnames.
      -ed[0]       stores empty directories
                      0 - don't store them.
      -s[0,t,e,n]  sets the sorting method to:
                      0 - no sorting.
                      t - sort by file type.
                      e - sort by extension.
                      n - sort by name.
                      a - sort by analysis (default).
      -m[f,b,t][x] sets the compression mode (see below).
      -mm[0..2]    sets the multi-media compression mode to:
                      0 - no multi-media compression.
                      1 - file-type selected multi-media compression.
                      2 - forced all files multi-media compression.
      -j[rsh][+-]  includes files with given attributes.
      -tNNNN       sets the table size (sets compression level).
      -bNNNN       sets the buffer size (see below).

   After the options come the archive filename and then the list of files
   for the given operation. A file containing a list of files to compress
   can also be used by prefixing the list's filename with '@'.


* Compression modes:

   There are four main compression modes that have been designed to give
   a wide range of speed and compression. These are:

   -mf
      This mode is the fastest mode, sacrificing compression ratio to
   gain better speed (despite this the compression is often better than
   many other popular archivers).

   -mb[x]
      This is the default mode, and is best on binary files. On all files
   this gives the best compression for a reasonable speed.

   -mt[x]
      These modes both require 16Mb of physical memory to perform at their
   top speed, otherwise they can often be significantly slower. These modes
   both give excelent text compression, however on some binary file types
   (most notably executables and object code) they perform about 1% worse
   than -mb.

   -mtx
      This mode currently uses 32Mb but it achieves compression close to the
   best in the world. The price for this is a slow down from previous
   versions from 2-4x! This will hopefully change in the future though.

   There are also options available to change the sizes of internal tables,
   allowing slightly better compression in some cases. In most cases
   changing these values has a slight negative effect, so these are
   normally best left alone. The most likely case in which these have a
   positive effect is when archiving large (>5MB) filesets that are largly
   similar (source archives etc.) In this case raising both these will often
   increase compression, sometimes significantly, however it also uses more
   memory.


* Examples of use:

      rkive archive *.txt *.exe @list

   This will compress all *.txt, *.exe and the files listed in the file
   'list' to the archive file archive.rkv using the default binary mode.

      rkive -jr+s-h -mtx archive *.txt *.doc "Win95 long name.txt"

   This will compress all *.txt, *.doc and the file 'Win95 long name.txt'
   including files with the read-only attribute and hidden attribute but
   not files with the system attribute to the archive file archive.rkv
   using the max-text mode.

      rkive -x archive

   This will extract all files in archive including any stored pathnames.

   NB. There does not need to be any files listed to extract, as in this
       case all files are extracted.


* Memory:

   Given below is a list of the approximate memory requirements for each
   mode.

      Mode         Mem use
      -mf           4-5Mb
      -mb           7-8Mb
      -mbx         14-16Mb
      -mt           ~7Mb
      -mtx          ~30Mb

   If you do not have this much available memory (ie. free _PHYSICAL_
   memory) then speed can be significantly hurt. The archiver should still
   function though (under Windows you must have enough memory allocated to
   the dos session as DPMI memory or else you may run out of memory during
   compression).

   It may warn you correctly if you don't have enough memory, but don't
   trust this as it hasn't been finished or tested :)

   Note that these numbers are very approximate at present.


* Environment variable:

   Whenever RKIVE is executed it looks for the environment variable
   'RKIVE_OPT' and parses the value of this variable as though it were
   command line arguments. This enables the default behaviour of RKIVE
   to be changed, or favourite modes to be set automatically. Any
   arguments in the environment variable can be overridden on the command
   line.

   eg. SET RKIVE_OPT=-p0 -sn -mt

   Will make RKIVE use the text mode, store no paths and sort by name
   by default when rkive is next executed.


* Contact info:

   You can contact me if you have any advice, comments or requests for
   info via the Internet at:
      mtaylor@clear.net.nz

   My snail mail address is:
      Malcolm Taylor
      19 Koromiko Road
      Wanganui
      New Zealand


* Acknowledgments:

   I'd like to acknowledge some people for their help in creating RKIVE.

   The most notable is Charles Bloom without whose helpful pointers,
   information and homepage I would never have been able to write RKIVE.

   Philip Lai and Joe Negron need special thanks for the generous
   donation of their time in testing pre-release versions of RKIVE and
   helping me locate bugs.

   Thanks to Ian Sutton for discussing ideas, many of which lead me to
   this latest compression improvement.

   Also thanks to Szymon Grabowski for sharing many ideas on multi-media
   compression. The fruits of these discusions should be visable in the
   next release!

   A general thanks as well to all others who have sent me mail about
   bugs or suggestions for new features.


