home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / COMPRESS / PAK251.ZIP / PAK.DOC < prev    next >
Encoding:
Text File  |  1990-10-08  |  64.2 KB  |  1,697 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                                     PAK
  19.  
  20.                         The File Compression Utility
  21.                                 Version 2.51
  22.  
  23.                          Copyright 1988, 1989, 1990
  24.                                      by
  25.                              NoGate Consulting
  26.                                P.O. Box 88115
  27.                         Grand Rapids, MI 49518-0115
  28.                                (616)455-6270
  29.                     BBS: (616)455-5179 (1200-9600+ baud)
  30.                              FAX: (616)455-8491
  31.  
  32.                             ALL RIGHTS RESERVED
  33.  
  34.                                 _______
  35.                            ____|__     |               (Tm)
  36.                         --|       |    |-------------------
  37.                           |   ____|__  |  Association of
  38.                           |  |       |_|  Shareware
  39.                           |__|   o   |    Professionals
  40.                         -----|   |   |---------------------
  41.                              |___|___|    MEMBER
  42.  
  43.  
  44.  
  45.  
  46.  
  47.    Introduction..............................................1
  48.         Purpose of PAK.......................................1
  49.         Archive Files........................................1
  50.         A Note on the Interface..............................1
  51.         The Shareware Concept................................2
  52.         Registration and Benefits............................2
  53.         Obtaining Updates....................................3
  54.         Limitations..........................................3
  55.         Other NoGate Products................................3
  56.         List of Files........................................3
  57.    The Security Envelope.....................................4
  58.    Creating An Archive.......................................4
  59.         The Add Command......................................4
  60.         The Move Command.....................................5
  61.         The Update Command...................................5
  62.         The Freshen Command..................................5
  63.         Archiving Subdirectories.............................5
  64.    Extracting Files From An Archive..........................6
  65.         The Extract Command..................................6
  66.         The Extract and Remove Command.......................7
  67.         Extracting Files to the Screen or Printer............7
  68.         Extracting files to their original paths.............7
  69.    Managing Archives.........................................8
  70.         Listing Files........................................8
  71.         Deleting Files.......................................8
  72.         Testing files........................................9
  73.    Adding Remarks to Archives................................9
  74.         The /R (remark) option...............................10
  75.         The /H (header remark) option........................10
  76.         The Revise command...................................10
  77.         The Header command...................................10
  78.    Converting Archives for other programs....................10
  79.         Converting to and from ZIP files.....................11
  80.    Self-Extracting Archives..................................12
  81.         Creating self-extracting archives....................12
  82.         Using self-extracting archives.......................12
  83.         Self-extracting to a path............................13
  84.         Converting to self-extracting archives...............13
  85.    Options...................................................13
  86.         Crunch, Squash, and Crush (/C, /S, /CR)..............14
  87.         Zip, Shrink, Bugs (/Z, /ZS, /BUGS)...................14
  88.         Encrypting Files (/G)................................14
  89.         Duplicate Files (/D).................................15
  90.         Make EXE file (/EXE).................................15
  91.         Print in Hex format (/HEX)...........................15
  92.         Including subdirectories (/I)........................16
  93.         Use last date (/L)...................................16
  94.         Moving Files (/M)....................................16
  95.         Pause after each page (/MORE)........................16
  96.         Using the original path (/PATH)......................17
  97.         Use Remarks (/R and /H)..............................17
  98.         Rename archives on convert (/REN)....................17
  99.         Sorting Files (/S)...................................18
  100.  
  101.  
  102.  
  103.  
  104.         Pack Archives (/P)...................................18
  105.         Check security envelope (/SEC).......................18
  106.         Only use Distill or Implode (/O).....................18
  107.         The Temporary Path (/T)..............................19
  108.         Replacing Existing Files (/W)........................19
  109.    General Syntax............................................20
  110.         Summary of Standard PAK Commands.....................20
  111.    PAKINST (PAK install program).............................21
  112.         Text Configuration Files.............................22
  113.         Comments.............................................22
  114.         Command Definitions..................................22
  115.         Option Definitions...................................23
  116.         Configuring a default temporary path.................24
  117.         Using PAK with a WORM or Network Drive...............24
  118.         Configuring a standard archive title.................24
  119.    Appendices................................................25
  120.         Release History......................................25
  121.         Technical Notes......................................27
  122.              File Formats....................................27
  123.              Error Codes.....................................28
  124.         Credits..............................................28
  125.         Order Form...........................................29
  126.  
  127.    PAK 2.51 (C) 1989-90 NoGate Consulting       October 8th, 1990  Page 1
  128.  
  129.  
  130.  
  131.    Introduction
  132.  
  133.    Purpose of PAK
  134.  
  135.         PAK is a utility to create and maintain file archives in
  136.    compressed form.  There are several advantages to compressing files.
  137.    On a hard disk, most files are accessed infrequently.  Reducing the
  138.    size of these files allows more of them to remain on the hard disk,
  139.    where they are more accessible than on a floppy in a file cabinet, and
  140.    frees disk space for other use.
  141.         Backup is simpler, faster, and cheaper, since the files are
  142.    smaller and organized into related groups.
  143.         Most importantly, compressed files take less time to transmit via
  144.    modem, and time is money when the transmission is long distance, or to
  145.    a service such as CompuServe.  Even on local computer bulletin boards,
  146.    reduced transmission time is an advantage.
  147.  
  148.         PAK is intended as a replacement for ARC by System Enhancement
  149.    Associates and PKARC and PKZIP by Philip Katz.  While PAK is faster
  150.    than ARC, speed is not the emphasis, and PAK does not attempt to
  151.    compete with PKARC in this respect.  However, PAK produces archive
  152.    files that are consistently 50% to 90% of the size produced by either
  153.    ARC, PKARC, or PKZIP 0.9 and supports files created by any of these
  154.    programs.  While PKZIP 1.0 files are roughly comparable in size to PAK
  155.    files, PAK supports more archive formats and more features.
  156.         Finally, PAK is available in a full screen edition which is much
  157.    easier to use than ARC, PKARC, or PKZIP, and in a programmer's toolkit
  158.    for those who want data compression in their own programs.
  159.  
  160.  
  161.    Archive Files
  162.  
  163.         PAK creates and modifies archive files, which have the .PAK,
  164.    .ARC, or .ZIP extension.  An archive file may contain one, two, or any
  165.    number of compressed files.  Files in an archive retain all of the
  166.    information they had in the directory, such as name, size, and date.
  167.    In addition, each file in an archive has a calculated CRC number,
  168.    which assures the detection of damage after events such as file
  169.    transmission via modem.
  170.  
  171.  
  172.    A Note on the Interface
  173.  
  174.         This manual describes PAK's commands as they are initially
  175.    configured.  Using PAKINST and the provided example files STDCFG.TXT
  176.    and ALTCFG.TXT, you can easily add, change, or delete the commands and
  177.    options which PAK understands.  For example, if the 'A' command is too
  178.    cryptic for your taste, you can change it to 'Add' or 'Compress'.
  179.         The section on PAKINST describes how to change the interface.
  180.  
  181.    PAK 2.51 (C) 1989-90 NoGate Consulting       October 8th, 1990  Page 2
  182.  
  183.  
  184.    The Shareware Concept
  185.  
  186.         PAK is distributed as shareware.
  187.         Shareware is commercial software distributed in an unconventional
  188.    manner.  Microcomputers copy information very easily.  Instead of
  189.    trying to frustrate this through copy protection, shareware takes
  190.    advantage of it to reach as many users as possible at the lowest cost.
  191.    Anyone may copy a shareware program and distribute it to whomever they
  192.    desire, provided they do not charge a fee or alter it.
  193.         Shareware isn't free.  Serious shareware is as polished as any
  194.    conventional commercial product, and represents just as much
  195.    programming effort.  If you use it regularly, the authors expect
  196.    compensation.
  197.         However, unlike conventional distribution, shareware allows you
  198.    to evaluate the product before you decide to purchase it.  The price
  199.    is often lower, as well, because there are no advertising, packaging,
  200.    or distribution costs.
  201.         It can only work with your support.  If you are still using a
  202.    shareware product after a couple of weeks, then it is obviously worth
  203.    something to you, and you should register it.
  204.  
  205.  
  206.    Registration and Benefits
  207.  
  208.         There are three editions of the compression routines in PAK
  209.    available.  The first is the command line edition, included in the
  210.    evaluation package (of which this file is a part) distributed as
  211.    shareware.  Registration of this edition is $15, and entitles you to a
  212.    disk with a copy of PAK registered in your name.
  213.         The second is the full screen edition, also known as PAKF.  PAKF
  214.    is a fully windowed program which displays archive contents and file
  215.    directories, and allows easy tagging of files to be compressed or
  216.    extracted.  Registration of this edition is $30, and entitles you to a
  217.    disk with both the full screen and command line editions.
  218.         The third, for programmers, is a library of data compression
  219.    routines suitable for inclusion in your own programs.  This toolkit
  220.    can be used in practically any application, since all compression is
  221.    done on buffers in memory, not on disk.  Programs created with the
  222.    toolkit do not require a royalty so long as they do not compete with
  223.    PAK.  For example, you can compress your own program's data, or
  224.    distribute your software in compressed form without royalty.  On the
  225.    other hand, a general-purpose archiving, installation, or backup
  226.    utility would require a special licensing agreement.
  227.         Registration of this edition is $75, and entitles you to a disk
  228.    with object files suitable for use with Turbo Pascal, Turbo C,
  229.    Microsoft C, or assembler.  The toolkit is usable with OS/2 and
  230.    Windows 3.0.  The toolkit disk also includes the other two editions of
  231.    PAK, as well as example programs in Pascal and C.
  232.         To register your copy of PAK, send in a completed copy of the
  233.    enclosed order form, call the NoGate BBS to order via questionnaire,
  234.    or call NoGate Consulting at (616)455-6270.
  235.  
  236.    PAK 2.51 (C) 1989-90 NoGate Consulting       October 8th, 1990  Page 3
  237.  
  238.  
  239.    Obtaining Updates
  240.  
  241.         The fastest way for registered users to obtain an update of any
  242.    of the editions of PAK is to call our bulletin board at (616)455-5179.
  243.    The BBS has a 9600 baud US Robotics Dual Standard modem, so any modem
  244.    from 1200 to 9600 baud should work.
  245.         If you have never called the BBS before, you will have to start
  246.    as a new user, even if you are a registered PAK user.  This entails
  247.    choosing a password and leaving some information such as your phone
  248.    number and city.
  249.         If you are a registered user, you can download PAK, PAKF, and the
  250.    Toolkit through the Update Door.  Before you can do so, however, you
  251.    will have to leave a message to the Sysop asking for access to that
  252.    door.
  253.         If you don't have a modem, or don't want to call our BBS, you can
  254.    call for an update at (616)455-6270, FAX us at (616)455-8491, or send
  255.    us a letter.
  256.         Updates are free from the BBS, and $5.50 by mail within the
  257.    United States or $7 overseas.  Updates of the Toolkit from release 1.6
  258.    or earlier are $25.
  259.  
  260.  
  261.    Limitations
  262.  
  263.         PAK can handle at most 16,000 files at once, though this may also
  264.    be limited by available memory.
  265.  
  266.  
  267.    Other NoGate Products
  268.  
  269.         CONTOUR, a utility for creating contour maps from empirical data.
  270.    Quickly and accurately approximates the entire surface from relatively
  271.    few data points, and then draws lines at each elevation change.  Also
  272.    creates AutoCad .DXF files.  Primarily intended for surveyors, taking
  273.    a few minutes for a process that normally takes weeks, but useful to
  274.    anyone who wishes to plot three dimensional data.  CONTOUR is $150.
  275.  
  276.         NoGate consulting also provides custom solutions in a wide
  277.    variety of fields including databases, networking, simulations, and
  278.    telecommunications.  Inquire for further information.
  279.  
  280.    List of Files
  281.  
  282.         Your copy of PAK251.EXE should contain:
  283.  
  284.        READ.ME      - This list of files, and documentation revisions.
  285.        PAK.EXE      - PAK version 2.51
  286.        PAK.DOC      - This documentation file.
  287.        PAKINST.EXE  - PAK installation program.
  288.        ORDER.FRM    - Order form for registration.
  289.        UPDATE.FRM   - Form for updates and upgrades.
  290.        SITE.FRM     - Form for site licenses.
  291.        STDCFG.TXT   - Text file for standard configuration.
  292.        ALTCFG.TXT   - Text file for alternate configuration.
  293.  
  294.    PAK 2.51 (C) 1989-90 NoGate Consulting       October 8th, 1990  Page 4
  295.  
  296.  
  297.  
  298.  
  299.    The Security Envelope
  300.  
  301.         PAK 2.51 is the official archive program for distributing files
  302.    through SDNet/Works!, the Shareware Distribution Network.  PAK will
  303.    automatically recognize files distributed by The SDN Project and
  304.    SDNet/Works! (sm).  The SDN Project and SDNet/Works! is a cooperation
  305.    of BBS Sysops and not-for-profit.
  306.         SDN distributed files have the .SDN extension and a Security
  307.    Envelope which protects them from viruses.  PAK will automatically
  308.    check the integrity of SDN files.  If the archive has been altered in
  309.    any way, PAK will alert you.  If the archive is untouched, PAK will
  310.    display a page of information about the author.
  311.         Shareware authors interested in this free distribution should
  312.    contact The SDN Project BBS at 203-634-0370, 1200-9600HST baud, 8-N-1.
  313.  
  314.  
  315.    Creating An Archive
  316.  
  317.    The Add Command
  318.  
  319.         To create an archive, type
  320.  
  321.         PAK a <archive name> <file name or file names>
  322.  
  323.         A is the Add command, and adding files to an archive will create
  324.    it if it doesn't exist.  If the extension is omitted, PAK will look
  325.    first for a file with the extension PAK and then for ARC, ZIP, or SDN.
  326.         For example, to add the file "FOO.DAT" to an archive named
  327.    "BAR.PAK" (which need not already exist), type
  328.  
  329.         PAK a bar foo.dat
  330.  
  331.         The wildcard characters ? and * are also permissible, as are
  332.    multiple file specifications.  For example, to add all of the files
  333.    ending in ".DAT" to the same archive, and all of the files named
  334.    "TURBO" with any extension, type
  335.  
  336.         PAK a bar *.dat turbo.*
  337.  
  338.         Specifying a subdirectory will add all of the files in that
  339.    subdirectory.  For example,
  340.  
  341.         PAK a bak \c\lib
  342.  
  343.         would add all of the files in the "\c\lib" directory to the
  344.    archive "BAK.PAK", provided that "\c\lib" was a subdirectory.  Of
  345.    course, if "\c\lib" were simply a file, it would be added like any
  346.    other file.
  347.  
  348.         If you omit the file name, PAK assumes you mean "*.*", or all of
  349.    the files in the directory.
  350.  
  351.    PAK 2.51 (C) 1989-90 NoGate Consulting       October 8th, 1990  Page 5
  352.  
  353.  
  354.    The Move Command
  355.  
  356.         The Add command copies files to an archive, and leaves the
  357.    originals intact.  The Move command also copies files to an archive,
  358.    but deletes the originals when the operation is successfully
  359.    completed.  Using the Move command is very similar to the Add command.
  360.    To move a file or files, type
  361.  
  362.         PAK m <archive name> <file name or names>
  363.  
  364.    The Update Command
  365.  
  366.         If a file specified in an Add or Move command has the same name
  367.    as a file already in the archive, PAK will ask if you wish to replace
  368.    the old file.  The Update command behaves much as the Add command
  369.    does, except that it replaces existing archived files automatically if
  370.    they have an older date, and does not replace newer files.  To update
  371.    a file or files, type
  372.  
  373.         PAK u <archive name> <file name or names>
  374.  
  375.         For example, suppose NEW1.DAT and NEW2.DAT existed in the archive
  376.    "SAVE.PAK", that the copy of NEW1.DAT in the archive was older than
  377.    the one on the disk, and that NEW3.DAT existed on the disk but not in
  378.    the archive.  Then
  379.  
  380.         PAK u save new1.dat new2.dat new3.dat
  381.  
  382.         would add "NEW1.DAT" and "NEW3.DAT" to "SAVE.PAK".
  383.  
  384.    The Freshen Command
  385.  
  386.         The Freshen command is very similar to the Update command, except
  387.    that it only checks files which already exist in the archive.  To
  388.    freshen files in an archive, type
  389.  
  390.         PAK f <archive name> <file name or names>
  391.  
  392.         For example,
  393.  
  394.         PAK f total *.*
  395.  
  396.         would check every file in the archive "TOTAL.PAK" and freshen any
  397.    which were older than those on the disk.  Note that the "*.*" in the
  398.    above example is optional; if you omit the file list, PAK assumes you
  399.    intended all files in the directory.
  400.  
  401.    Archiving Subdirectories
  402.  
  403.         By including the /I (include subdirectories) option with any of
  404.    the above commands (Add, Move, Update, or Freshen), you can add files
  405.    from several directories at once.
  406.  
  407.    PAK 2.51 (C) 1989-90 NoGate Consulting       October 8th, 1990  Page 6
  408.  
  409.  
  410.         For example, if you had these directories -
  411.  
  412.         \DOCUMENT
  413.         \DOCUMENT\BUSINESS
  414.         \DOCUMENT\BUSINESS\LETTERS
  415.  
  416.         the command:
  417.  
  418.         PAK a save \document\g*.* /I
  419.  
  420.         would add all files which began with the letter G in each of the
  421.    three directories.  Similarly,
  422.  
  423.         PAK a image a:\ /I
  424.  
  425.         would archive every file from drive A.
  426.  
  427.  
  428.    Extracting Files From An Archive
  429.  
  430.    The Extract Command
  431.  
  432.         To copy files from an existing archive to the disk, type
  433.  
  434.         PAK e <archive name> <file name or names>
  435.  
  436.         For example, to unpack all of the files from the archive
  437.    "GAME.PAK", type
  438.  
  439.         PAK e game
  440.  
  441.         Again, PAK assumes that you mean all of the files in the archive
  442.    if you omit the file names to be extracted.  If one of the files to be
  443.    extracted already exists, PAK will stop and ask if you intend to
  444.    replace the existing file.
  445.  
  446.         When using any command which does involve compression (i.e., the
  447.    Add, Move, Update and Freshen commands), you can use wildcards in
  448.    specifying the archive name.  For example,
  449.  
  450.         PAK e ch* *.doc
  451.  
  452.         would extract all of the files with the extension .DOC from all
  453.    of the archives starting with the letters CH.  As usual, PAK will
  454.    provide .PAK, .ARC, .ZIP, or .SDN if you omit the extension.
  455.  
  456.         Extracting files to one or more remote subdirectories is much
  457.    like adding them from other subdirectories.  For example,
  458.  
  459.         PAK e project \c\objects\*.obj \c\source\*.c
  460.  
  461.         would extract all of the files with the extension .OBJ to the
  462.    \C\OBJECTS directory, and all the files with the extension .C to the
  463.    \C\SOURCE directory.
  464.  
  465.    PAK 2.51 (C) 1989-90 NoGate Consulting       October 8th, 1990  Page 7
  466.  
  467.  
  468.  
  469.    The Extract and Remove Command
  470.  
  471.         Sometimes you may wish to move files out of an archive rather
  472.    than simply copying them.  To do this, type
  473.  
  474.         PAK x <archive name> <file name or names>
  475.  
  476.         The X command is like the Extract command in all ways except that
  477.    it deletes the files from the archive after unpacking them.  If this
  478.    removes all of the files from the archive, leaving it empty, it also
  479.    deletes the archive.
  480.  
  481.    Extracting Files to the Screen or Printer
  482.  
  483.         You can also extract files to the standard output, which is
  484.    normally the screen.  To do so, type
  485.  
  486.         PAK p <archive name> <file name or names>
  487.  
  488.         If you add the /MORE option to this command, PAK will pause after
  489.    each screen of information.
  490.  
  491.         Anything sent to the standard output can be re-directed to a
  492.    file, some other programs, or to the printer.  For example,
  493.  
  494.         PAK p docs >prn:
  495.  
  496.         would extract all of the files from the archive DOCS and send
  497.    them to the printer.
  498.         For other uses of redirection, consult your DOS manual.
  499.  
  500.  
  501.    Extracting files to their original paths
  502.  
  503.         PAK 2.51 saves complete path information for each file in your
  504.    archives.  By adding the /PATH option to the extract command, you can
  505.    tell PAK to restore your files to their original directories.  For
  506.    example, if you saved a directory and its subdirectories with the Add
  507.    command, like so:
  508.  
  509.         PAK a saved \test /I
  510.  
  511.         then you could restore every file from the archive to its
  512.    original location by typing
  513.  
  514.         PAK e saved /path
  515.  
  516.         PAK will create any needed directories if they do not already
  517.    exist.
  518.  
  519.    PAK 2.51 (C) 1989-90 NoGate Consulting       October 8th, 1990  Page 8
  520.  
  521.  
  522.    Managing Archives
  523.  
  524.    Listing Files
  525.  
  526.         Both the L and V commands display a list of files, the original
  527.    sizes, and the file dates, in much the same format as the MSDOS DIR
  528.    command.  In addition, they display the type of compression,
  529.    compression ratio, the compressed size, time, and CRC checksum.  If
  530.    you add the /MORE option to the list command, PAK will pause after
  531.    each screen of information.
  532.         There is no difference between the two commands.  Both L and V
  533.    are provided for the convenience of those used to PAK 1.0.
  534.  
  535.         There are 12 compression types, created variously by ARC, PKARC,
  536.    PKZIP, and PAK.  PAK can extract files compressed with any of these,
  537.    and compress new files with the Crunched, Squashed, Shrunk, Crushed,
  538.    Imploded, or Distilled types.
  539.  
  540.           --      No compression.  Used by ARC, PKARC, PAK.
  541.  
  542.         Packed    Repeated byte values replaced by codes. Used by ARC.
  543.  
  544.        Squeezed   Huffman encoding, used by ARC 5.20 and earlier.
  545.  
  546.        crunched   Lempel-Zev compression, used by ARC 4.5 and earlier.
  547.  
  548.        Crunched   Lempel-Zev compression, used by ARC 5.0 and later.
  549.  
  550.        Squashed   Lempel-Zev compression, used by PKARC.
  551.  
  552.        Crushed    Lempel-Zev compression, used by PAK.
  553.  
  554.        Distill    Huffman/Sliding Window, used by PAK 2.51.
  555.  
  556.        Shrunk     Lempel-Zev compression, used by PKZIP.
  557.  
  558.        Reduced    Sliding Window, used by PKZip 0.9
  559.  
  560.        imploded   Huffman/Sliding Window, PKZIP 1.0 and later.
  561.  
  562.        Imploded   Huffman/Sliding Window, PKZip 1.1 and later.
  563.  
  564.  
  565.         PAK uses the CRC checksum to verify that the file is intact.
  566.  
  567.  
  568.    Deleting Files
  569.  
  570.         Sometimes you may wish to remove files from an archive, either
  571.    because they were added accidently or because they are no longer
  572.    useful.  To delete files from an archive, type
  573.  
  574.         PAK d <archive name> <file name or names>
  575.  
  576.    PAK 2.51 (C) 1989-90 NoGate Consulting       October 8th, 1990  Page 9
  577.  
  578.  
  579.         For example,
  580.  
  581.         PAK d junk *.tmp
  582.  
  583.         would delete all the files ending in the ".TMP" extension from
  584.    the archive "JUNK.PAK".
  585.  
  586.         PAK can ask for confirmation before deleting each file.  To
  587.    enable this option, type
  588.  
  589.         PAK d /WP <archive name> <file name or names>
  590.  
  591.  
  592.    Testing files
  593.  
  594.         Sometimes the integrity of an archive (or any other file) is
  595.    suspect, such as after transmission by modem or after physical disk
  596.    damage.  The Test command checks all the specified files to insure
  597.    that they are intact.
  598.  
  599.         For example, to test the archive "POKER.PAK" which you have just
  600.    downloaded from a BBS, type
  601.  
  602.         PAK t poker
  603.  
  604.         PAK can also test multiple archives this way:
  605.  
  606.         PAK t *.pak
  607.  
  608.         would test all of the archives ending in the .PAK extension.
  609.  
  610.         If, for some reason, you wish to test only some of the files, you
  611.    may specify a list of files, much as you can for any other command.
  612.    For example,
  613.  
  614.         PAK t *.pak *.doc
  615.  
  616.         will test only files ending in the .DOC extension.
  617.  
  618.    Adding Remarks to Archives
  619.  
  620.         PAK supports variable length remarks for each file in an archive,
  621.    and for the archive as a whole.  PAK 2.51 also supports extended
  622.    comments, such as multiline remarks or remarks with ANSI graphics.  To
  623.    add these special remarks to a file, type @[filename] when asked for a
  624.    remark instead of a normal line of text.
  625.  
  626.         For example, at this prompt:
  627.  
  628.         Archive remark?
  629.  
  630.         You could type
  631.  
  632.         Demonstration (C) 1989 Special Software
  633.  
  634.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 10
  635.  
  636.  
  637.  
  638.         Or you could type
  639.  
  640.         @banner.txt
  641.  
  642.         where banner.txt is a file with the logo you wish to display.
  643.  
  644.         Note: PAK automatically removes the ANSI sequence for keyboard
  645.    remapping from remarks.
  646.  
  647.    The /R (remark) option
  648.  
  649.         Adding the /R option to any other command (such as Add or List)
  650.    will enable remarks.  For example,
  651.  
  652.         PAK a /r saved *.pas
  653.  
  654.         will add all the files with the extension .PAS to the archive
  655.    SAVED, and ask for the remark for each new file.
  656.  
  657.         PAK l /r saved
  658.  
  659.         would then include those remarks with the list of files in the
  660.    archive.
  661.  
  662.    The /H (header remark) option
  663.  
  664.         Adding the /H option to any other command will enable the remark
  665.    at the head of an archive.  In all other ways it is like the /R
  666.    option.
  667.  
  668.    The Revise command
  669.  
  670.         Sometimes you may wish to change the remarks in an archive.
  671.    Typing
  672.  
  673.         PAK r saved *.doc
  674.  
  675.         will first display the archive remark, and then display the files
  676.    with the extension .DOC one at a time, and ask for the new remark for
  677.    each.  If you wish to keep the existing remark, simply press <enter>.
  678.  
  679.    The Header command
  680.  
  681.         The H (header) command is just like Revise, except that it only
  682.    changes the remark at the head of the archive, and not the remarks for
  683.    the files in the archive.
  684.  
  685.  
  686.    Converting archives for other programs
  687.  
  688.         PAK can read archives created by ARC, PKARC, PKZIP, and earlier
  689.    versions of PAK directly.  To save space, however, you may wish to
  690.  
  691.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 11
  692.  
  693.  
  694.    convert archives to the PAK 2.0 format.  The C command extracts files
  695.    from the archive and recompresses them.
  696.  
  697.         Example:
  698.         To convert all the files in BONZO.ARC, type:
  699.  
  700.         PAK c bonzo
  701.  
  702.         If you add the /REN (rename) option, PAK will automatically
  703.    rename any converted archives to .PAK.  For example, if you had a
  704.    directory full of ARC format files which you wished to convert, you
  705.    could type
  706.  
  707.         PAK c *.ARC /ren
  708.  
  709.         and all of the files would be changed to .PAK.
  710.  
  711.         It is also possible to convert files created with PAK so that
  712.    they will be compatible with ARC, PKARC or PAK 1.x, by adding the C,
  713.    S, or CR compression type modifier:
  714.  
  715.         PAK c /c bonzo
  716.  
  717.         converts bonzo (created with PAK, PKARC, or PAK) to compression
  718.    types compatible with ARC, PKARC, and PAK 1.x.
  719.  
  720.         PAK c /s bonzo
  721.         converts bonzo to compression types compatible with PKARC or
  722.    PAK 1.x.
  723.  
  724.         PAK c /cr bonzo
  725.  
  726.         converts bonzo to compression types compatible with PAK 1.x.
  727.  
  728.  
  729.    Converting to and from ZIP files
  730.  
  731.         ZIP files are a special case, since they are in a format
  732.    completely different from ARC and PAK files.  PAK automatically
  733.    renames the archive to .PAK or .ZIP if you change from one format to
  734.    the other.  Otherwise, converting ZIP archives is much like converting
  735.    any other kind of archive.
  736.         To convert a PAK or ARC format archive to ZIP, type
  737.  
  738.         PAK c bonzo /z
  739.  
  740.         Version 1.01 PKUNZIP had bugs in it.  PAK compensate for these
  741.    when creating a ZIP archive, but this may hurt compression on some
  742.    files.  If you want to create a file that PKUNZIP 1.01 can read, you
  743.    must include the BUGS option:
  744.  
  745.         PAK c bonzo /bugs
  746.  
  747.         BUGS implies the Z (Zip format) option.
  748.  
  749.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 12
  750.  
  751.  
  752.         If you want to create an archive that ZIP 0.9 will read, you must
  753.    force PAK to use Shrinking only with the ZS option, like so:
  754.  
  755.         PAK c bonzo /zs
  756.  
  757.  
  758.    Self-Extracting Archives
  759.  
  760.         PAK can create special EXE files which contain archived files and
  761.    can extract them without PAK.  PAK treats these files like any other
  762.    archive, and any and all PAK commands will work on them.  There is an
  763.    additional overhead of approximately 6.7K for these files.
  764.         There is no royalty required to distribute self-extracting
  765.    archives, and several vendors use them as a method of delivering
  766.    software in a compressed form.
  767.  
  768.  
  769.    Creating self-extracting archives
  770.  
  771.         To create a self-extracting archive from scratch, simply use the
  772.    A (Add) command as you would to create a normal archive, and include
  773.    the /EXE option.
  774.  
  775.         For example,
  776.  
  777.         PAK a demo /exe
  778.  
  779.         will create a new archive DEMO.EXE which contains all the files
  780.    in the current directory.
  781.  
  782.  
  783.    Using self-extracting archives
  784.  
  785.         To extract files from a self-extracting archive, simply type the
  786.    name of the EXE file, like so:
  787.  
  788.         DEMO
  789.  
  790.         Self-extracting archives created by PAK normally ask before
  791.    writing over a file if the file with the same name exists.  You can
  792.    disable this by adding the /W (write-over) option:
  793.  
  794.         DEMO /w
  795.  
  796.         A self-extracting archive will pause after an archive remark and
  797.    ask if it should continue.  You can use this to display an opening
  798.    banner detailing the contents of the archive, so you, or anyone else
  799.    extracting the archive, have a better idea if you want to continue.
  800.         If you want to disable this, add the /N (no pause) option:
  801.  
  802.         DEMO /n
  803.  
  804.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 13
  805.  
  806.  
  807.    Self-extracting to a path
  808.  
  809.         By specifying a path, you can determine a destination for the
  810.    extracted files.  For example,
  811.  
  812.         DEMO c:\project
  813.  
  814.         will deliver the files in the C:\PROJECT directory.  If the
  815.    directory does not exist, the self-extracting archive will attempt to
  816.    create it.
  817.  
  818.         You can extract files to their original directories if you
  819.    include the /P (path) option.  Suppose you created the original
  820.    archive in a directory called C:\PROJECTS\ALIEN, which had two
  821.    subdirectories called TILES and TERRAIN.  You might create the
  822.    original archive like this:
  823.  
  824.         PAK a /exe alien *.exe *.com *.dat tiles\*.pic terrain\*.*
  825.  
  826.         If you then typed:
  827.  
  828.         ALIEN c:\games\alien /p
  829.  
  830.         The files would extract to C:\GAMES\ALIEN, C:\GAMES\ALIEN\TILES,
  831.    and C:\GAMES\ALIEN\TERRAIN.  If any of these directories, including
  832.    GAMES, did not exist, then the self-extracting archive would create
  833.    them.
  834.  
  835.  
  836.    Converting to self-extracting archives
  837.  
  838.         You can convert existing archives to a self-extracting format
  839.    with the C (Convert) command, like so:
  840.  
  841.         PAK c sales /exe
  842.  
  843.         You can also convert self-extracting files to conventional
  844.    archives with the Convert command.  For example,
  845.  
  846.         PAK c sales.exe
  847.  
  848.         will remove the self-extracting code from sales.
  849.  
  850.         Self-extracting archives created by EXEMAKE (which was
  851.    distributed with PAK 1.0 to 1.61) which contain remarks will generate
  852.    errors when read by PAK 2.51.   PAK cannot read these remarks, but it
  853.    will read the files.
  854.  
  855.  
  856.    Options
  857.  
  858.         In addition to the commands, PAK supports a variety of options.
  859.    We've already mentioned a few in passing.
  860.  
  861.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 14
  862.  
  863.  
  864.         These options aren't necessary for the day-to-day use of PAK, but
  865.    occasionally you may wish to use them.  Normally, these options appear
  866.    immediately after the command, separated by slashes (/) or dashes (-).
  867.    For example:
  868.  
  869.         PAK a /opt1 /opt2 archive
  870.  
  871.         While this is the normal ordering, it's not required, and the
  872.    options can appear anywhere on the line, provided each starts with the
  873.    slash character or dash character.  For example,
  874.  
  875.         PAK a archive /opt1 file /opt2
  876.  
  877.         is also acceptable.
  878.  
  879.         Note: Options may no longer be jammed together as they were in
  880.    PAK 1.0.  This format was hard to read, and precluded certain
  881.    combinations of option names.
  882.  
  883.  
  884.    Crunch, Squash, and Crush (/C, /S, and /CR)
  885.  
  886.         Using the /C, /S or /CR option will force PAK to use Crunching,
  887.    Squashing, or Crushing when compressing files.  They are of primary
  888.    use with the Convert command, but they can also be used with Add,
  889.    Move, Update, and Freshen.
  890.  
  891.  
  892.    Use Zip format (/Z, /ZS, /BUGS)
  893.  
  894.         The /Z, /ZS, and /BUGS options tell PAK to create a ZIP format
  895.    archive.  /BUGS forces PAK to write a file which accommodates bugs in
  896.    PKUNZIP 1.01, which may hurt compression.  /ZS forces PAK to use only
  897.    Shrinking, so that PKUNZIP 0.9 can read the archive.
  898.         Like the /C, /S, and /CR options, these options can be used
  899.    either with the Convert command or with Add, Move, Update, or Freshen.
  900.  
  901.  
  902.    Encrypting Files (/G)
  903.  
  904.         You can encrypt your archives with a password.  Files can still
  905.    be listed in such archives, but they cannot be extracted without the
  906.    password.
  907.         To encrypt files, type
  908.  
  909.         PAK a /g=<password> <archive name> <file name or names>
  910.  
  911.         The 'g' option stands for Garble.  Passwords used with the Garble
  912.    command are converted to all uppercase.  For example, to encrypt the
  913.    file "SECRET.EXE" in the archive "DARK.PAK" with the password "DEEP",
  914.    type
  915.  
  916.         PAK a /g=DEEP dark secret.exe
  917.  
  918.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 15
  919.  
  920.  
  921.         To extract it later, type
  922.  
  923.         PAK e /g=DEEP dark secret.exe
  924.  
  925.         While these are the most common uses of Garble, Garble can also
  926.    be used with any of the other commands.  For example, testing the
  927.    example encrypted archive requires the use of the Garble command:
  928.  
  929.         PAK t /g=DEEP dark
  930.  
  931.  
  932.    Duplicate Files (/D)
  933.  
  934.         The /D (duplicate) option selects only those files which are both
  935.    inside the archive and outside the archive.  For example,
  936.  
  937.         PAK e /d saved *.doc
  938.  
  939.         would only extract those files with the .DOC extension which
  940.    matched existing files on the disk.  The Freshen command is another
  941.    example of the /D option - it only adds those files which already
  942.    exist in the archive.
  943.         While of most use with the Add and Extract commands, the
  944.    Duplicate option can be used with other commands, such as List.
  945.  
  946.  
  947.    Make EXE file (/EXE)
  948.  
  949.         Including the /EXE option with the Convert command or any
  950.    compression command (such as Add or Update) will create a self-
  951.    extracting archive.  See the section on self-extracting archives.
  952.  
  953.  
  954.    Print in Hex format (/HEX)
  955.  
  956.         Adding the /HEX option to the Print command will display the file
  957.    in a hexadecimal format.
  958.  
  959.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 16
  960.  
  961.  
  962.    Including subdirectories (/I)
  963.  
  964.         The /I option causes PAK to search subdirectories when adding
  965.    files to an archive.  For example, if you had these directories -
  966.  
  967.         \DOCUMENT
  968.         \DOCUMENT\BUSINESS
  969.         \DOCUMENT\BUSINESS\LETTERS
  970.  
  971.         the command:
  972.  
  973.         PAK a save \document\g*.* /I
  974.  
  975.         would add all files which began with the letter G in each of the
  976.    three directories.  Similarly,
  977.  
  978.         PAK a image a:\ /I
  979.  
  980.         would archive every file from drive A.
  981.  
  982.         The /I command automatically includes the /PATH command so that
  983.    adding files to an existing archive will take the paths of the
  984.    original files into account.  You can change this by altering the
  985.    configuration file (STDCFG.TXT) and installing your new configuration
  986.    with PAKINST.  See the section on PAKINST.
  987.  
  988.  
  989.    Use last date (/L)
  990.  
  991.         Normally, the date of an archive is the last date it was altered
  992.    in any way.  If you add the /L option to any command which changes an
  993.    archive, the archive date will be set to that of the most recent file
  994.    in the archive.
  995.  
  996.  
  997.    Moving Files (/M)
  998.  
  999.         The Move option will delete files after compressing them or
  1000.    extracting them.  The M (move) and X (extract + delete) commands are
  1001.    actually the Add and Extract commands with the Move option.
  1002.         This option is primarily of use in combination with Update or
  1003.    Freshen, which do not have matching Move commands.
  1004.  
  1005.  
  1006.    Pause after each page (/MORE)
  1007.  
  1008.         The /MORE option causes the List or Print commands to pause after
  1009.    each page of text displayed.
  1010.  
  1011.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 17
  1012.  
  1013.  
  1014.    Using the original path (/PATH)
  1015.  
  1016.         PAK stores the full path of each file compressed except for the
  1017.    drive.  By including the /PATH option with most commands, you can take
  1018.    this information into account.
  1019.         The List command displays the path of the archived files if you
  1020.    include the /PATH option.
  1021.         Compression commands (such as Add or Update) normally only
  1022.    consider the names of files when comparing old files in the archive to
  1023.    new files to be added.  For example, if there is a file in the archive
  1024.    named READ.ME, adding a new file named READ.ME will replace the old
  1025.    one.
  1026.         With the /PATH option, compression commands also consider the
  1027.    path.  In the previous example, if the first READ.ME was archived from
  1028.    the \123 directory, and the second was archived from the \TP5
  1029.    directory, they would be considered different files with the /PATH
  1030.    option.
  1031.  
  1032.  
  1033.    Use Remarks (/R and /H)
  1034.  
  1035.         Adding the /R option to any other command (such as Add or List)
  1036.    will enable remarks.  For example,
  1037.  
  1038.         PAK a /r saved *.pas
  1039.  
  1040.         will add all the files with the extension .PAS to the archive
  1041.    SAVED, and ask for the remark for each new file.
  1042.  
  1043.         PAK l /r saved
  1044.  
  1045.         would then include those remarks with the list of files in the
  1046.    archive.
  1047.  
  1048.         The /H option is similar, except that it only enables the remark
  1049.    at the head of an archive.
  1050.  
  1051.  
  1052.    Rename archives on convert (/REN)
  1053.  
  1054.         Adding this option to the Convert command will change the
  1055.    extensions of the converted archives to .PAK.
  1056.  
  1057.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 18
  1058.  
  1059.  
  1060.    Sorting Files (/S)
  1061.  
  1062.         PAK supports sorting of archives by filename + extension (the
  1063.    normal method, used in release 1.0), extension + filename, date +
  1064.    time, size, or no sort at all.  To enable a sorting method, include
  1065.    one of these options:
  1066.  
  1067.         /SN  for filename + extension
  1068.         /SE  for extension + filename
  1069.         /ST  for date + time
  1070.         /SS  for size
  1071.         /NS  for no sort
  1072.  
  1073.         For example,
  1074.  
  1075.         PAK a /ST newmail mail*.*
  1076.  
  1077.         will add the all files starting with MAIL to the archive NEWMAIL
  1078.    in the order of the date and time of the files.  On the other hand,
  1079.  
  1080.         PAK l /SS saved
  1081.  
  1082.         would list all of the files in an archive in the order of their
  1083.    fully-expanded size, regardless of the actual order in SAVED.
  1084.  
  1085.         Note that adding any file to an archive will result in PAK
  1086.    sorting the archive.  In the first example above, all of the files in
  1087.    the archive NEWMAIL would be sorted by time, even if they were
  1088.    previously sorted by some other method.
  1089.  
  1090.         The standard sort for the compression commands (Add, Move,
  1091.    Update, Freshen) is by filename + extension.  For other commands, the
  1092.    standard is no sorting.
  1093.  
  1094.  
  1095.    Pack Archives (/P)
  1096.  
  1097.         Archives rarely compress, so normally PAK does not attempt to do
  1098.    so, which saves time.  Adding this option will force PAK to try and
  1099.    compress archive files.
  1100.  
  1101.  
  1102.    Check security envelope (/SEC)
  1103.  
  1104.         Adding the /SEC option to any command will check the security
  1105.    envelope for the archive before any other action.
  1106.  
  1107.  
  1108.    Only use Distill or Implode (/O)
  1109.  
  1110.         PAK normally uses Crushing on files of less than 1500 bytes when
  1111.    using Distilling, and if PAK is writing a ZIP file, PAK normally uses
  1112.    Shrinking on files of less than 500 bytes.  Using the /O option will
  1113.    force PAK to use only Distilling or Imploding.
  1114.  
  1115.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 19
  1116.  
  1117.  
  1118.  
  1119.  
  1120.    The Temporary Path (/T)
  1121.  
  1122.         You can specify a path for temporary files, like so:
  1123.  
  1124.         PAK c /t=C: doodle
  1125.  
  1126.         Whenever PAK makes any change (adding or deleting a file) to an
  1127.    archive, PAK must create a temporary file for the changed archive.  If
  1128.    you are working on floppy disks, this limits the maximum size of an
  1129.    archive to half the volume of the disk, since the old copy and the new
  1130.    copy must exist at the same time.  If you use this option to specify a
  1131.    temporary path (such as C:), and you are working on drive A: or B:,
  1132.    PAK will create this temporary file in the Temporary Path and copy it
  1133.    over the old file when everything is done.  This allows archives up to
  1134.    the full size of a floppy.
  1135.         PAK also needs a temporary file if you Print or Convert a file
  1136.    which is larger than what PAK can hold in memory (this is always
  1137.    limited to 64K, even if you have more).  PAK will always try to use
  1138.    the Temporary Path to create this file.
  1139.         The temporary path can also be specified in the configuration
  1140.    information.  You can also specify in the configuration information
  1141.    which drives should always use the temporary path.  By default this is
  1142.    A and B.  The details of changing your configuration are described in
  1143.    the section on PAKINST (page 24).
  1144.         If the Temporary Path is invalid, PAK will use the directory of
  1145.    the archive instead.
  1146.  
  1147.  
  1148.    Replacing Existing Files (/W)
  1149.  
  1150.         Normally, PAK asks before replacing an existing file, either in
  1151.    an archive or on your disk.  You can change this by adding one of
  1152.    these options:
  1153.  
  1154.         /WA  Always replace existing files.
  1155.         /WP  Prompt before replacing existing files (normal).
  1156.         /WO  Replace older files.
  1157.         /WN  Never replace existing files.
  1158.  
  1159.         NOTE: The /WP option simply means 'Prompt' when used with the
  1160.    Delete command.  Also, the Update and Freshen commands automatically
  1161.    include the /WO option.
  1162.  
  1163.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 20
  1164.  
  1165.  
  1166.    General Syntax
  1167.  
  1168.    The command format for PAK is:
  1169.  
  1170.      PAK <command> [/opt, /opt...] <arcname> [<filename>, <filename> ...]
  1171.                    [@<filename>]
  1172.  
  1173.         <command> is a command.
  1174.  
  1175.         [/opt] is zero or more options.
  1176.  
  1177.         <arcname> is the name of the archive to operate on, which may
  1178.    include the "wildcard" characters * or ?, provided <command> is not
  1179.    one of the compression commands (Add, Move, Update, or Freshen).
  1180.  
  1181.         <filename> is one or more file names.  Filenames may include the
  1182.    "wildcard" characters * and ?.  If you specify a directory or a disk
  1183.    drive, PAK will use all files in that directory.  If you don't list
  1184.    any files or directories, PAK assumes you mean all the files in the
  1185.    current directory.
  1186.  
  1187.         @<filename> is a response file.  A response file is a text file
  1188.    with commands, options, and file names, just as they would appear on
  1189.    the command line.
  1190.  
  1191.         Simply typing PAK will print a short list of commands.
  1192.  
  1193.  
  1194.    Summary of Standard PAK Commands
  1195.  
  1196.    Commands:
  1197.  
  1198.     A  Add files to archive           M  Move files to archive
  1199.     U  Update archive files           F  Update duplicate files
  1200.     E  Extract files from archive     X  Move files from archive
  1201.     D  Delete files                   L  List files
  1202.     V  List files                     P  Display files
  1203.     T  Test files                     C  Convert files
  1204.     R  Revise remarks                 H  Revise archive header
  1205.  
  1206.    Options:
  1207.  
  1208.         /sec  = check security envelope (if present)
  1209.         /m    = move files
  1210.         /c    = make ARC compatible files (Crunched).
  1211.         /s    = make PKARC compatible files (Squashed).
  1212.         /cr   = make PAK 1.x compatible files (Crushed).
  1213.         /z    = make ZIP 1.10 compatible archive (Imploded).
  1214.         /bugs = make ZIP 1.01 compatible archive.
  1215.         /zs   = make ZIP 0.9 compatible archive (Shrunk).
  1216.         /g    = encrypt the file with a password.
  1217.         /t    = use temporary path
  1218.         /d    = use only duplicate files.
  1219.         /wa   = always replace existing files
  1220.  
  1221.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 21
  1222.  
  1223.  
  1224.         /wp   = prompt before replacing existing files (normal)
  1225.         /wo   = replace older files
  1226.         /wn   = never replace existing files
  1227.         /r    = use remarks
  1228.         /sn   = filename + extension order
  1229.         /se   = extension + filename order
  1230.         /st   = time order
  1231.         /ss   = size order
  1232.         /ns   = no order
  1233.         /p    = pack archives
  1234.         /l    = use last date in archive to stamp archive
  1235.         /hex  = display using hexadecimal format
  1236.         /more = pause after every page
  1237.         /ren  = rename archive extension to PAK when converting
  1238.         /path = use path to compress, extract, or display.
  1239.         /i    = include subdirectories
  1240.         /exe  = create self-extracting file
  1241.         /o    = Use only Distilling or Imploding.
  1242.  
  1243.    PAKINST (PAK install program)
  1244.  
  1245.         PAKINST can alter the interface for PAK to suit your needs.
  1246.    Also, if you are using a version of MSDOS or PCDOS earlier than 3.0,
  1247.    you will need to use PAKINST to install PAK.EXE in a specific
  1248.    directory.
  1249.         The configuration information for PAK is stored in the EXE file.
  1250.    However, you can convert this information to a text file with PAKINST,
  1251.    or convert a properly formatted text file to new configuration
  1252.    information.  Included with PAK 2.51 are two example text-format
  1253.    configuration files, STDCFG.TXT and ALTCFG.TXT.  By creating your own
  1254.    configuration files with a word processor, or by altering the provided
  1255.    examples, you can customize PAK's commands.
  1256.         PAKINST must always be run in the same directory with PAK.  To
  1257.    run PAKINST, simply type
  1258.  
  1259.         PAKINST
  1260.  
  1261.         PAKINST provides four choices:
  1262.  
  1263.          set [D]irectory for pak.exe (required ONLY for DOS 2.xx)
  1264.    configure [P]AK from text file
  1265.       create [T]ext file from PAK.EXE configuration
  1266.              [Q]uit
  1267.  
  1268.         To set the directory for PAK, select D.  If you are using DOS
  1269.    version 3.0 or later, this option is unnecessary.
  1270.         To configure PAK from a properly-formatted text file, select P.
  1271.         To create a text file from the current configuration of PAK,
  1272.    select T.
  1273.  
  1274.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 22
  1275.  
  1276.  
  1277.    Text Configuration Files
  1278.  
  1279.         If you examine STDCFG.TXT, or create a new text file with PAKINST
  1280.    from the configuration information in PAK, you will notice that there
  1281.    are four basic sections: the header comment, the command definitions,
  1282.    the option definitions, and the default temporary path.
  1283.         These sections may be arranged in any order, but for clarity they
  1284.    are grouped together.
  1285.  
  1286.    Comments
  1287.  
  1288.         Text configuration files may include comments.  PAKINST will
  1289.    ignore anything contained in curly braces {} or Pascal comment symbols
  1290.    (* *).  For example,
  1291.  
  1292.        { This is a comment. }
  1293.        (* So is this. *)
  1294.  
  1295.         Comments may appear anywhere on a line.
  1296.  
  1297.  
  1298.    Command Definitions
  1299.  
  1300.         A command definition in a text-format file looks like this:
  1301.  
  1302.         <command> = <PAK command> [+ <PAK options>], "<help definition>"
  1303.  
  1304.         The <command> is the command as it will be used with PAK, i.e.
  1305.    'A' or 'Add'.  Commands must start with a letter, and may contain no
  1306.    spaces, but may be may be any length.
  1307.  
  1308.    <PAK option>      Standard option      Alternate option (ALTCFG.TXT)
  1309.    ADD                   A                 Add
  1310.    CONVERT               C                 Convert
  1311.    DELETE                D                 Del
  1312.    EXTRACT               E                 Ext
  1313.    LIST                  L or V            List
  1314.    REVISE                R                 Revise
  1315.    VIEW                  P                 View
  1316.    TEST                  T                 Test
  1317.  
  1318.       The command may also include one or more <PAK options>, separated
  1319.    by the plus (+) symbol.
  1320.  
  1321.    <PAK option>      Standard option      Alternate option (ALTCFG.TXT)
  1322.    ALWAYS_REPLACE        WA                Always
  1323.    ARCHIVE_REMARK        H                 Title
  1324.    ASCII                 (not used)        (not used)
  1325.    CRUNCH                C                 Crunch
  1326.    CRUSH                 CR                Crush
  1327.    DISTILL               (not used)        Distill
  1328.    DUPLICATE             D                 Dup
  1329.  
  1330.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 23
  1331.  
  1332.  
  1333.    EARLY_ZIP             BUGS              Bugs
  1334.    EXT_SORT              SE                SExt
  1335.    HEX                   HEX               Hex
  1336.    IMPLODE               Z                 Zip
  1337.    INCLUDE_DIRS          I                 Include
  1338.    LAST_DATE             L                 Last
  1339.    MOVE                  M                 Move
  1340.    NAME_SORT             SN                SName
  1341.    NEVER_REPLACE         WN                Never
  1342.    NO_SORT               NS                SNone
  1343.    PACK_ARCHIVES         P                 Pack
  1344.    PASSWORD              G                 Pass
  1345.    PAUSE                 MORE              More
  1346.    PROMPT_REPLACE        WP                Prompt
  1347.    REMARK                R                 Rem
  1348.    RENAME                REN               Rename
  1349.    REPLACE_OLDER         WO                Older
  1350.    SELF_EXTRACT          EXE               EXE
  1351.    SHRINK                ZS                Shrink
  1352.    SINGLE                O                 (not used)
  1353.    SIZE_SORT             SS                SSize
  1354.    SQUASH                S                 Squash
  1355.    TEMP_PATH             T                 Temp
  1356.    TEST_ENVELOPE         SEC               Security
  1357.    TIME_SORT             ST                STime
  1358.    USE_PATH              PATH              Path
  1359.  
  1360.         Finally, separated from the commands and options by a comma and
  1361.    enclosed in quotation marks is the help definition for this command.
  1362.    The PAK help screen, obtained by typing PAK by itself, will display
  1363.    the text within these quotation marks after the command.
  1364.  
  1365.         For example, the Freshen command (F) in the STDCFG.TXT file looks
  1366.    like this:
  1367.  
  1368.        F = Add + Duplicate + Replace_Older + Name_Sort,
  1369.            "Update duplicate files"
  1370.  
  1371.         Reading this literally, PAKINST takes this as 'F means add files
  1372.    to the archive, selecting only duplicate files, replacing older files,
  1373.    and sorting by name.  When asked for help, display F followed by the
  1374.    text "Update duplicate files".'
  1375.         Notice that this does not all have to be on the same line.
  1376.  
  1377.    Option Definitions
  1378.  
  1379.         An option definition looks like this:
  1380.  
  1381.         /<option> = <PAK option> [+ <PAK options>], "<help definition>"
  1382.  
  1383.         This is much like a command definition, only it begins with a
  1384.    slash (/) to indicate it is an option.  Options, of course, may not
  1385.    include PAK commands.
  1386.  
  1387.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 24
  1388.  
  1389.  
  1390.         For example,
  1391.  
  1392.         /MORE = PAUSE, "Pause after each page"
  1393.  
  1394.         indicates that the /MORE option means that PAK should PAUSE.
  1395.         If you have a set of options that you often use together, it may
  1396.    be worthwhile to create a new option or change an existing one.  For
  1397.    example,
  1398.  
  1399.         /MAIL = NO_SORT + ALWAYS_REPLACE + LAST_DATE + INCLUDE_DIRS
  1400.                 + USE_PATH, "Mail packet option"
  1401.  
  1402.  
  1403.    Configuring a default temporary path
  1404.  
  1405.         To specify a default temporary path, include a line in the text
  1406.    configuration file in this format:
  1407.  
  1408.         $TPATH = "<path>"
  1409.  
  1410.         For example,
  1411.  
  1412.         $TPATH = "C:"
  1413.  
  1414.         Will set the temporary path to drive C.
  1415.  
  1416.  
  1417.    Using PAK with a WORM or Network Drive
  1418.  
  1419.         Normally, PAK only uses the temporary path for intermediate files
  1420.    needed for Distilling and Imploding.  However, if you are working on a
  1421.    network drive or a WORM drive, you may want PAK to use the temporary
  1422.    path for everything but the finished archive.  In that case, you can
  1423.    set the $TDRIVES variable to specify these drives,
  1424.    like so:
  1425.  
  1426.         $TDRIVES = "A,B,E,H"
  1427.  
  1428.         In which case PAK would avoid writing to A:, B:, E:, or H: except
  1429.    when writing the finished archive.  By default, $TDRIVES is A: and B:.
  1430.  
  1431.  
  1432.    Configuring a standard archive title
  1433.  
  1434.         To specify a standard title to include in all of the archives
  1435.    which you create, include a line in the text configuration file in
  1436.    this format:
  1437.  
  1438.         $STD_TITLE = "<remark>"
  1439.  
  1440.         For example,
  1441.  
  1442.         $STD_TITLE = "Joe's BBS"
  1443.  
  1444.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 25
  1445.  
  1446.  
  1447.         Will include the remark "Joe's BBS" in every archive you create
  1448.    with the /H option.  Like any other remark, the standard title can be
  1449.    the name of a file instead, like so:
  1450.  
  1451.         $STD_TITLE = "@C:\DOC\Title.txt"
  1452.  
  1453.         It's fairly important to include a complete path to a standard
  1454.    title file, since you could be using PAK in any path on any drive.
  1455.  
  1456.  
  1457.    Appendices
  1458.  
  1459.  
  1460.    Release History
  1461.  
  1462.         Release 2.51 (October 8th, 1990):
  1463.  
  1464.         Fixed bug with self-extracting archives with 7 or 8 character
  1465.    file names.
  1466.  
  1467.         Release 2.50 (September 20th, 1990):
  1468.  
  1469.         Added support for ZIP files.
  1470.         Added Temp path support for Network and WORM drives.
  1471.         Added Distill-only option.
  1472.         Added autochecking for security envelopes.
  1473.         Added error count display to test command.
  1474.         Added path support to self-extracting archives.
  1475.         Added pause feature to self-extracting archives.
  1476.         Reduced overhead for self-extracting archives.
  1477.         Fixed bug with deleting files from self-extracting archives.
  1478.  
  1479.         Release 2.10 (August 10th, 1989):
  1480.  
  1481.         Fixed bug with deleting files from multiple archives.
  1482.         Fixed bug which required excessive memory.
  1483.         Fixed another minor bug in Distill.
  1484.         Fixed bug with Garble and Distill.
  1485.         Added path-matching on compression.
  1486.         Added default archive title to configuration.
  1487.         Changed Revise command so as to preserve the security envelope.
  1488.  
  1489.         Release 2.01 (July 31st, 1989):
  1490.  
  1491.         Fixed minor bug in Distill.
  1492.  
  1493.         Release 2.0 (July 26th, 1989):
  1494.  
  1495.         Added Distill compression.
  1496.         Added security envelope.
  1497.         Added path support and subdirectory inclusion.
  1498.         Added ability to use all commands on self-extracting archives.
  1499.         Moved creation of self-extracting archives from EXEMAKE to PAK.
  1500.         Added write-over option for self-extracting archives.
  1501.  
  1502.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 26
  1503.  
  1504.  
  1505.         Added pause feature.
  1506.         Added response file.
  1507.         Added option to rename converted archives to .PAK.
  1508.         Added summary for multiple archive conversion.
  1509.         Added default temp path to configuration information.
  1510.         Added filter to eliminate ANSI keyboard definition codes from
  1511.    remarks.
  1512.         Increased speed of Print option.
  1513.         Eliminated PAK.CNF.
  1514.         Eliminated need to install PAK for DOS version 3.0 and later.
  1515.         Eliminated restriction on foreign characters in file names.
  1516.         Eliminated difficulties with read-only files.
  1517.         Changed command syntax slightly to allow more flexibility in
  1518.    choice of command and option names.
  1519.         Allows use of '-' for options as well as '/'.
  1520.  
  1521.  
  1522.         Release 1.6 (January 24th, 1989):
  1523.  
  1524.    Fixed several small bugs.
  1525.         Added separate support for archive remarks.
  1526.         Added optional prompting on deletion.
  1527.         Changed Convert command to preserve archive date.
  1528.         Added optional date stamping using last date in archive.
  1529.         Fixed incorrect stack size in EXEMAKE which caused erratic
  1530.    failures.
  1531.         Added support for remarks in self-extracting archives.  Overhead
  1532.    increased to 6744 bytes.
  1533.  
  1534.         Release 1.51 (January 15th, 1989):
  1535.  
  1536.         Fixed bug which left junk bytes at the end of archives when using
  1537.    a simple Store on large files.  (Rare, usually only with already
  1538.    compressed files).
  1539.         Fixed bug in EXEMAKE with extraction of files over 64K.
  1540.         EXEMAKE fixes increase self-extraction overhead to 6674 bytes.
  1541.  
  1542.  
  1543.         Release 1.5 (January 12th, 1989):
  1544.  
  1545.         Added remarks.
  1546.         Added support for wildcards in specifying archives.
  1547.         Added extraction to standard output.
  1548.         Added sorting options.
  1549.         Added temporary path.
  1550.         Added configurable interface.
  1551.         Added target directory parameter to self-extracting archives.
  1552.         Improved error reporting.
  1553.         Reduced size overhead for self-extracting archives to 6662 bytes.
  1554.         Fixed bug in the Move command.
  1555.         Fixed problem with handling large numbers of files.
  1556.         Fixed bug with EXEMAKE forcing the name of the output .EXE to
  1557.    that of the input archive.
  1558.  
  1559.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 27
  1560.  
  1561.  
  1562.         PAK Release 1.0 (October 17th, 1988):
  1563.  
  1564.         Initial release as PAK.
  1565.  
  1566.         GSARC Release 1.0 (October 13th, 1988):
  1567.  
  1568.         Limited release.
  1569.  
  1570.  
  1571.    Technical Notes
  1572.  
  1573.    File Formats
  1574.  
  1575.  
  1576.         In the interest of simplifying the creation of utilities by
  1577.    third-party developers, this section provides a short description of
  1578.    the file format for archives created with PAK.  For information on the
  1579.    ZIP format, see the file APPNOTE.TXT supplied with PKWare's PKZIP
  1580.    program.
  1581.  
  1582.         In the basic format for archives, each archived file has a header
  1583.    which looks like this:
  1584.  
  1585.    Marker (1 byte)  - always 26 (^Z, the eof mark for text files).
  1586.    Version (1 byte) - type of compression used.
  1587.    Name (13 bytes)  - an ASCIIZ string.
  1588.    Size (4 bytes)   - a long integer giving the current file size.
  1589.    Date (2 bytes)   - packed date.  bits 0-4  = day  5-8 = month
  1590.                                          9-15 = year - 1980.
  1591.    Time (2 bytes)   - packed time.  bits 0-4  = second / 2  5-10 = minute
  1592.                                         11-15 = hour.
  1593.    CRC (2 bytes)    - the CRC checksum for the expanded file.
  1594.    Length (4 bytes) - original length of file.
  1595.  
  1596.         The version field currently has the following values:
  1597.  
  1598.         0  End of file.  File header is only 2 bytes long (26 and 0).
  1599.         1  No compression. File header lacks the Length field.
  1600.         2  No compression.
  1601.         3  Run-length encoding (RLE).
  1602.         4  Huffman squeezing.
  1603.         5  Fixed-length 12 bit LZW compression.
  1604.         6  As above, with RLE.
  1605.         7  As above, but with a different hashing scheme.
  1606.         8  Variable-length 9-12 bit LZW compression with RLE.
  1607.         9  Variable-length 9-13 bit LZW compression without RLE.
  1608.        10  Crushing.
  1609.        11  Distilling.
  1610.  
  1611.         Basic archives end with a short header, containing just the
  1612.    marker (26) and the end of file value (0).  PAK release 1.5 extended
  1613.    this format by adding information after this end of file marker.  Each
  1614.    extended record has the following header:
  1615.  
  1616.    PAK 2.51 (C) 1989-90 NoGate Consulting      October 8th, 1990  Page 28
  1617.  
  1618.  
  1619.    Marker (1 byte)  - always 254
  1620.    type (1 byte)    - type of record
  1621.    File (2 bytes)   - # of file in archive to which this record refers,
  1622.                       or 0 for the entire archive.
  1623.    length (4 bytes) - size of record
  1624.  
  1625.         Type      Meaning
  1626.           0  End of file
  1627.           1  Remark
  1628.           2  Path
  1629.           3  Security envelope
  1630.           4  Error correction codes (not implemented in PAK 2.xx)
  1631.  
  1632.    Error Codes
  1633.  
  1634.         On exiting, PAK sets the DOS error level two one of four values:
  1635.  
  1636.         0    No Error
  1637.         1    CRC error in file or file missing
  1638.         2    Out of memory
  1639.         7    Disk error
  1640.  
  1641.    Credits
  1642.  
  1643.         ARC is a registered trademark of System Enhancement Associates,
  1644.    and PKZIP is a registered trademark of PKWare, Inc.  NoGate Consulting
  1645.    is not associated in any way with System Enhancement Associates or
  1646.    PKWare.
  1647.  
  1648.         We would like to thank several people:
  1649.  
  1650.         The various authors of the public-domain De-Arc'ing utility, for
  1651.    providing insights into the (sometimes very strange) internal workings
  1652.    of ARC:
  1653.  
  1654.         Roy Collins, David W. Carroll, Richard P. Byrne, Robert D. Tolz,
  1655.    and Jim North.
  1656.  
  1657.         We must also credit Terry A. Welch, whose article "A Technique
  1658.    for High Performance Data Compression", IEEE Computer Vol 17 No 6
  1659.    (June 1984) seems to have started all the research on Lempel-Zev
  1660.    coding.
  1661.  
  1662.         Spencer W. Thomas, Jim McKie, Steve Davies, Ken Turkowski, James
  1663.    A.  Woods, and Joe Orost, who are the authors of the UNIX compress
  1664.    utility.
  1665.  
  1666.         Ray Kaliss of SDNet/works!, who proposed the Security Envelope
  1667.    concept.
  1668.  
  1669.         And all of the people whose suggestions we added to PAK, such as
  1670.    the temporary path, sorting, wildcards for archives, path support, and
  1671.    remarks.
  1672.  
  1673.  
  1674.  
  1675.  
  1676.     PAK version 2.51                                       Order Form
  1677.       -----------------------------------------------------------------
  1678.         Make checks payable to:
  1679.           NoGate Consulting
  1680.           P.O. Box 88115
  1681.           Grand Rapids, MI 49518-0115
  1682.       -----------------------------------------------------------------
  1683.       Qty
  1684.       ___ Command line edition of PAK        @ $15 each         $______
  1685.       ___ Full screen edition of PAK (PAKF)  @ $30 each         $______
  1686.       ___ Programmer's edition of PAK        @ $75 each         $______
  1687.                                                    Subtotal     $______
  1688.           Michigan residents please add 4% sales tax.           $______
  1689.  
  1690.           Shipping and handling - inside the United States        $3.50
  1691.                                                                  - or -
  1692.                                 - overseas                        $5.00
  1693.  
  1694.           Credit Card orders add 3% surcharge                   $______
  1695.  
  1696.                                                         Total   $______
  1697.  
  1698.         Diskette type (check or circle one):   [ ] 5.25"  [ ] 3.5"
  1699.  
  1700.         Payment: (check or circle one):
  1701.         [ ] Check  [ ] Money Order  [ ] Visa  [ ] MasterCard [ ] AmEx
  1702.  
  1703.         Credit Card #__________________________________________________
  1704.  
  1705.         Expiration Date _______  Signature ____________________________
  1706.  
  1707.         Credit Card Orders may be made by phone - (616)455-6270
  1708.                           or via the NoGate BBS - (616)455-5179
  1709.                                      or via FAX - (616)455-8491
  1710.  
  1711.       Checks and Money Orders must be drawn on U.S. banks in U.S. funds
  1712.       -----------------------------------------------------------------
  1713.  
  1714.             Name_______________________________________________________
  1715.  
  1716.          Company_______________________________________________________
  1717.  
  1718.          Address_______________________________________________________
  1719.  
  1720.                 ______________________________________________________
  1721.  
  1722.            Phone_________________________  Bus.________________________
  1723.  
  1724.        Where did you obtain PAK?
  1725.  
  1726.                 _______________________________________________________
  1727.  
  1728.         Comments_______________________________________________________
  1729.