home *** CD-ROM | disk | FTP | other *** search
/ The California Collection / TheCaliforniaCollection.cdr / his008 / pak210.exe / pak / PAK.DOC < prev    next >
Text File  |  1989-08-10  |  56KB  |  1,626 lines

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