home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / ARC521-2.ZIP / ARC.DOC < prev    next >
Text File  |  1989-12-29  |  56KB  |  2,101 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                           ARC
  14.  
  15.                  File Archive Utility
  16.                      Version 5.20
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.                  (C)COPYRIGHT 1985,86
  43.                           by
  44.           System Enhancement Associates, Inc.
  45.                   ALL RIGHTS RESERVED
  46.  
  47.  
  48.  
  49.  
  50.  
  51. This document describes version 5.20 of the ARC file
  52. utility, which was created by System Enhancement
  53. Associates, Inc. in October of 1986.
  54.  
  55.  
  56.        TABLE OF CONTENTS
  57.  
  58.  
  59.  
  60. Section                                           Page
  61.  
  62.  
  63. Introduction  ....................................   1
  64. Using ARC  .......................................   3
  65. ARC commands  ....................................   5
  66.     Adding files  ................................   5
  67.     Extracting files  ............................   7
  68.     Deleting files  ..............................   8
  69.     Listing archive entries  .....................   8
  70.     Running files  ...............................  10
  71.     Printing files  ..............................  11
  72.     Testing an archive  ..........................  11
  73.     Converting an archive  .......................  12
  74. ARC options  .....................................  13
  75.     Suppressing compression  .....................  13
  76.     Backup retention  ............................  14
  77.     Message suppression  .........................  15
  78.     Encryption/Decryption  .......................  17
  79. RAMdisk support  .................................  18
  80. MARC  ............................................  19
  81. ARCE  ............................................  20
  82. Version numbers  .................................  21
  83. Common questions and answers  ....................  22
  84. Maintenance contracts  ...........................  24
  85. Revision history  ................................  25
  86.     Changes in version 3  ........................  25
  87.     Changes in version 4  ........................  25
  88.     Changes in version 4.1  ......................  26
  89.     Changes in version 4.3  ......................  26
  90.     Changes in version 4.4  ......................  27
  91.     Changes in version 4.5  ......................  27
  92.     Changes in version 5.0  ......................  28
  93.     Changes in version 5.1  ......................  29
  94.     Changes in version 5.2  ......................  30
  95. Program history and credits  .....................  31
  96. Bulletin boards  .................................  33
  97. Site licenses  ...................................  34
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.          INTRODUCTION
  112.  
  113.  
  114.  
  115. ARC is the copyrighted property of System Enhancement
  116. Associates, Inc.  You are granted a limited license to
  117. use ARC, and to copy it and distribute it, provided
  118. that the following conditions are met:
  119.  
  120. 1) No fee may be charged for such copying and
  121.    distribution.
  122.  
  123. 2) ARC may ONLY be distributed in its original,
  124.    unmodified state.
  125.  
  126. 3) ARC may *not* be distributed, in whole or in part, as
  127.    part of any commercial product or service without
  128.    the express written permission of System
  129.    Enhancement Associates.
  130.  
  131.  
  132. Contributions for the use of this program will be
  133. appreciated, and should be sent to:
  134.  
  135.           System Enhancement Associates, Inc.
  136.              21 New Street, Wayne NJ 07470
  137.  
  138. You may not use this product in a commercial
  139. environment or a governmental organization without
  140. paying a license fee of $35.  Site licenses and
  141. commercial distribution licenses are available.  A
  142. program disk and printed documentation are available
  143. for $50.  See the order form enclosed with this manual
  144. for more details.
  145.  
  146.  
  147.  
  148. ARC is user supported software.  This means that you
  149. may copy it freely and give the copies away to anyone
  150. you wish, at no cost.  They are in turn requested to
  151. send in a contribution if they decide to use it.
  152.  
  153. The user supported software concept (often referred to
  154. as "shareware") is an attempt to provide software at low
  155. cost.  The cost of offering a new product by
  156. conventional means is staggering, and hence dissuades
  157. many independent authors and small companies from
  158. developing and promoting their ideas.  User supported
  159. software is an attempt to develop a new marketing
  160. channel, where products can be introduced at low cost.
  161.  
  162.  
  163.  
  164.  
  165. ARC                                              Page 1
  166. If user supported software works, then everyone will
  167. benefit.  The user will benefit by receiving quality
  168. products at low cost, and by being able to "test
  169. drive" software thoroughly before purchasing it.  The
  170. author benefits by being able to enter the commercial
  171. software arena without first needing large sources of
  172. venture capital.
  173.  
  174. But it can only work with your support.  We're not
  175. just talking about ARC here, but about all user
  176. supported software.  If you obtain a user supported
  177. program from a friend or colleague, and are still
  178. using it after a couple of weeks, then it is obviously
  179. worth something to you, and a contribution should be
  180. sent.
  181.  
  182.  
  183.  
  184. And now, back to ARC:
  185.  
  186. ARC is used to create and maintain file archives.  An
  187. archive is a group of files collected together into
  188. one file in such a way that the individual files may
  189. be recovered intact.
  190.  
  191. ARC is different from other archive and library
  192. utilities in that it automatically compresses the
  193. files being archived, so that the resulting archive
  194. takes up a minimum amount of space.
  195.  
  196. When ARC is used to add a file to an archive it
  197. analyzes the file to determine which of three storage
  198. methods will result in the greatest savings.  These
  199. three methods are:
  200.  
  201. 1) No compression; the file is stored as is.
  202.  
  203. 2) Repeated-character compression; repeated sequences
  204.    of the same byte value are collapsed into a three-
  205.    byte code sequence.
  206.  
  207. 3) Dynamic Lempel-Zev compression;  the file is stored
  208.    as a series of variable size bit codes which
  209.    represent character strings, and which are created
  210.    "on the fly".
  211.  
  212. Note that since one of the three methods involves no
  213. compression at all, the resulting archive entry will
  214. never be larger than the original file.
  215.  
  216.  
  217.  
  218.  
  219.  
  220. ARC                                              Page 2
  221.            USING ARC
  222.  
  223.  
  224.  
  225. ARC is invoked with a command of the following format:
  226.  
  227.     ARC <x> <arcname> [<template> . . .]
  228.  
  229. Where:
  230.  
  231.     <x> is an ARC command letter (see below), in
  232.     either upper or lower case.
  233.  
  234.     <arcname> is the name of the archive to act on,
  235.     with or without an extension.  If no extension is
  236.     supplied, then ".ARC" is assumed.  The archive
  237.     name may include path and drive specifiers.
  238.  
  239.     <template> is one or more file name templates.
  240.     The "wildcard" characters "*" and "?" may be used.
  241.     A file name template may include a path or drive
  242.     specifier, though it isn't always meaningful.
  243.  
  244.  
  245. If ARC is invoked with no arguments (by typing "ARC",
  246. and pressing "enter"), then a brief command summary is
  247. displayed.
  248.  
  249.  
  250.  
  251. Following is a brief summary of the available ARC
  252. commands:
  253.  
  254.     a   = add files to archive
  255.     m   = move files to archive
  256.     u   = update files in archive
  257.     f   = freshen files in archive
  258.     d   = delete files from archive
  259.     x,e = extract files from archive
  260.     r   = run files from archive
  261.     p   = copy files from archive to standard output
  262.     l   = list files in archive
  263.     v   = verbose listing of files in archive
  264.     t   = test archive integrity
  265.     c   = convert entry to new packing method
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275. ARC                                              Page 3
  276. Following is a brief summary of the available ARC
  277. options, which may alter how a command works:
  278.  
  279.     b   = retain backup copy of archive
  280.     s   = suppress compression (store only)
  281.     w   = suppress warning messages
  282.     n   = suppress notes and comments
  283.     o   = overwrite existing files when extracting
  284.     g   = encode or decode archive entry
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330. ARC                                              Page 4
  331.          ARC COMMANDS
  332.  
  333.  
  334.  
  335. This section describes each of the commands.  ARC will
  336. accept any one command at a time.  If no commands are
  337. given, then a brief command list is displayed.
  338.  
  339.  
  340.  
  341. ADDING FILES
  342.  
  343. Files are added to an archive using the "A" (Add), "M"
  344. (Move), "U" (Update), or "F" (Freshen) commands.  Add
  345. always adds the file.  Move differs from Add in that
  346. the source file is deleted once it has been added to
  347. the archive.
  348.  
  349. Update differs from Add in that the file is only added
  350. if it is not already in the archive, or if it is newer
  351. that the corresponding entry in the archive.
  352.  
  353. Freshen is similar to Update, except that new files
  354. are not added to the archive; only files already in
  355. the archive are updated.
  356.  
  357.  
  358. For example, if you wish to add a file named
  359. "TEST.DAT" to an archive named "MY.ARC", you would use
  360. a command of the form:
  361.  
  362.     ARC a my test.dat
  363.  
  364. If you wanted to add all files with a ".C" extension,
  365. and all files named "STUFF" to an archive named
  366. "JUNK.ARC", you could type:
  367.  
  368.     ARC a junk *.c stuff.*
  369.  
  370. If you wanted to move all files in your current
  371. directory into an archive named "SUM.ARC", you could
  372. use a command of the form:
  373.  
  374.     ARC m sum *.*
  375.  
  376. If you have an archive named "TEXT.ARC", and you
  377. wanted to add to it all of your files with an
  378. extension of ".TXT" which have been created or changed
  379. since they were last archived, then you would type:
  380.  
  381.     ARC u text *.txt
  382.  
  383.  
  384.  
  385. ARC                                              Page 5
  386. If you have a bunch of files in your current
  387. directory, with backup copies being stored in an
  388. archive named "SAFE.ARC", then if you wanted to make
  389. sure that every file in the archive is the latest
  390. version of that file, you would type:
  391.  
  392.     ARC f safe
  393.  
  394.  
  395. A word about Update and Freshen:  These are similar in
  396. that they look at the date and time of last change on
  397. the file, and only add it if the file has been changed
  398. since it was last archived.  They differ in that
  399. Update will add new files, while Freshen will not.
  400.  
  401. In other words, Update looks for the files on disk,
  402. and adds them if they are new or have changed, while
  403. Freshen looks in the archive, and tries to update the
  404. files which are already there.
  405.  
  406.  
  407. Archive entries are always maintained in alphabetic
  408. order.  Archive entries may not have duplicate names.
  409. If you add a file to an archive that already contains
  410. a file by that name, then the existing entry in the
  411. archive is replaced.  Also, the archive itself and its
  412. backup will not be added.
  413.  
  414. You may also add a file which is in a directory other
  415. than your current directory.  For example, it is
  416. perfectly legal to type:
  417.  
  418.     ARC a junk c:\dustbin\stuff.txt
  419.  
  420. You cannot add two files with the same name.  In other
  421. words, if you have a file named "C:\DUSTBIN\STUFF.TXT"
  422. and another file named "C:\BUCKET\STUFF.TXT", then
  423. typing:
  424.  
  425.     arc a junk c:\dustbin\*.* c:\bucket\*.*
  426.  
  427. will not work.
  428.  
  429.  
  430. ARC does not save the path name.  In other words, if
  431. you specify a drive and/or path when adding a file,
  432. only the actual file name is stored in the archive.
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440. ARC                                              Page 6
  441. ARC will never add an archive to itself, nor will it
  442. add the temporary copy or a backup copy of the
  443. archive.
  444.  
  445.  
  446. An interesting note:  It has been brought to our
  447. attention that BASIC programs compress to a smaller
  448. size when they are *not* tokenized.  If you are more
  449. concerned with space than speed, you may wish to
  450. convert your BASIC programs to ASCII form before
  451. adding them to an archive.  Your BASIC manual should
  452. give instructions on how to do this.
  453.  
  454.  
  455.  
  456. EXTRACTING FILES
  457.  
  458. Archive entries are extracted with the "E" (Extract)
  459. and "X" (eXtract) commands.  For example, if you had
  460. an archive named "JUNK.ARC", and you wanted all files
  461. in it with an extension of ".TXT" or ".DOC" to be
  462. recreated on your disk, you could type:
  463.  
  464.     ARC x junk *.txt *.doc
  465.  
  466. If you wanted to extract all of the files in an
  467. archive named "JUNK.ARC", you could simply type:
  468.  
  469.     ARC x junk
  470.  
  471. Whatever method of file compression was used in
  472. storing the files is reversed, and uncompressed copies
  473. are created in the current directory.
  474.  
  475. You can also specify a path name, in which case the
  476. decompressed copy is placed in the specified
  477. directory.  For example, if you had an archive named
  478. "JUNK.ARC", and you wanted all files in it with an
  479. extension of ".TXT" to be placed in the directory
  480. "C:\WASTE\LAND", then you could type:
  481.  
  482.     ARC x junk c:\waste\land\*.txt
  483.  
  484. If you wanted to put the file "TRASH.TXT" on your A:
  485. drive, and the file "LITTER.TXT" on your B: drive, you
  486. could type:
  487.  
  488.     ARC x junk a:trash.txt b:litter.txt
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495. ARC                                              Page 7
  496. If you give more than one path for a file, then only
  497. the first one is used.  For example, if you typed:
  498.  
  499.     ARC x junk a:trash.txt b:trash.txt
  500.  
  501. then TRASH.TXT will be placed on your A: drive.
  502.  
  503.  
  504.  
  505. DELETING FILES
  506.  
  507. Archive entries are deleted with the "D" (Delete)
  508. command.  For example, if you had an archive named
  509. "JUNK.ARC", and you wished to delete all entries in it
  510. with a filename extension of ".C", you could type:
  511.  
  512.     ARC d junk *.c
  513.  
  514.  
  515.  
  516. LISTING ARCHIVE ENTRIES
  517.  
  518. You can obtain a list of the contents of an archive by
  519. using the "L" (List) command or the "V" (Verbose list)
  520. command.  For example, to see what is in an archive
  521. named "JUNK.ARC", you could type:
  522.  
  523.     ARC l junk
  524.  
  525. If you are only interested in files with an extension
  526. of ".DOC", then you could type:
  527.  
  528.     ARC l junk *.doc
  529.  
  530.  
  531. ARC prints a short listing of an archive's contents
  532. like this:
  533.  
  534.     Name          Length    Date
  535.     ============  ========  =========
  536.     ALPHA.TXT         6784  16 May 85
  537.     BRAVO.TXT         2432  16 May 85
  538.     COCO.TXT           256  16 May 85
  539.             ====  ========
  540.     Total      3      9472
  541.  
  542.  
  543. "Name" is simply the name of the file.
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550. ARC                                              Page 8
  551. "Length" is the unpacked file length.  In other words,
  552. it is the number of bytes of disk space which the file
  553. would take up if it were extracted.
  554.  
  555. "Date" is the date on which the file had last been
  556. modified, as of the time when it was added to the
  557. archive.
  558.  
  559. "Total" is pretty obvious, I think.
  560.  
  561.  
  562. ARC prints a verbose listing of an archive's contents
  563. like this:
  564.  
  565. Name          Length    Stowage    SF   Size now  Date       Time    CRC
  566. ============  ========  ========  ====  ========  =========  ======  ====
  567. ALPHA.TXT         6784  Crunched   35%      4413  16 May 85  11:53a  8708
  568. BRAVO.TXT         2432  Crunched   41%      1438  16 May 85  11:53a  5BD6
  569. COCO.TXT           256   Packed     5%       244  16 May 85  11:53a  3AFB
  570.         ====  ========            ====  ========
  571. Total      3      9472             27%      6095
  572.  
  573.  
  574. "Name", "Length", and "Date" are the same as for a
  575. short listing.
  576.  
  577. "Stowage" is the compression method used.  The
  578. following compression methods are currently known:
  579.  
  580.        --          No compression.
  581.  
  582.      Packed        Runs of repeated byte values are
  583.                    collapsed.
  584.  
  585.     Crunched       Lempel-Zev compression technique
  586.                    employed.
  587.  
  588.     Squeezed       Huffman encoding compression
  589.                    technique, as employed by an
  590.                    earlier version of ARC.
  591.  
  592. "SF" is the stowage factor.  In other words, it is the
  593. percentage of the file length which was saved by
  594. compression.  The total stowage factor is the stowage
  595. factor for the archive as a whole, not counting
  596. archive overhead.
  597.  
  598. "Size now" is the number of bytes the file is
  599. occupying while in the archive.
  600.  
  601.  
  602.  
  603.  
  604.  
  605. ARC                                              Page 9
  606. "Time" is the time of last modification, and is
  607. associated with the date of last modification.
  608.  
  609. "CRC" is the CRC check value which has been stored
  610. with the file.  Another CRC value will be calculated
  611. when the file is extracted or tested to ensure data
  612. integrity.  There is no especially good reason for
  613. displaying this value.
  614.  
  615.  
  616.  
  617. RUNNING FILES
  618.  
  619. Archive entries may be run without being extracted by
  620. use of the "R" (Run) command.  For example, if you had
  621. an archive named "JUNK.ARC" which contained a file
  622. named "LEMON.COM", which you wished to run, you could
  623. type:
  624.  
  625.     ARC r junk lemon
  626.  
  627. You can run any file from an archive which has an
  628. extension of ".COM", ".EXE", ".BAT", or ".BAS".  You
  629. do not have to specify the extension, but all matching
  630. files are run if you do not.  In other words, if you
  631. had an archive named "JUNK.ARC" which contained the
  632. files "LEMON.COM", "LEMON.EXE", and "LEMON.BAS", and
  633. you typed:
  634.  
  635.     ARC r junk lemon
  636.  
  637. Then all three programs will be run.  You can avoid
  638. this by specifying an extension in this case.
  639.  
  640. You can give arguments to the program you are running
  641. by appending them to the command line.  For example,
  642. if you have an archive named "JUNK.ARC" which contains
  643. a program named "LEMON.COM", and you wanted to run it
  644. giving it the argument "JUICE", you would type:
  645.  
  646.     ARC r junk lemon juice
  647.  
  648. You will need a fair amount of memory to run a program
  649. from an archive.  It probably cannot be done with less
  650. than 256k.
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660. ARC                                             Page 10
  661. In practice, the file to be run is extracted, run, and
  662. then deleted.  In other words, the above example is
  663. equivalent to:
  664.  
  665.     ARC x junk lemon.com
  666.     lemon juice
  667.     erase lemon.com
  668.  
  669. If you have an archive which contains a program that
  670. you will be running often, then you should probably
  671. extract the program from the archive and use it
  672. normally.
  673.  
  674.  
  675.  
  676. PRINTING FILES
  677.  
  678. Archive entries may be examined with the "P" (Print)
  679. command.  This works the same as the Extract command,
  680. except that the files are not created on disk.
  681. Instead, the contents of the files are written to
  682. standard output.  For example, if you wanted to see
  683. the contents of every ".TXT" file in an archive named
  684. "JUNK.ARC", but didn't want them saved on disk, you
  685. could type:
  686.  
  687.     ARC p junk *.txt
  688.  
  689. If you wanted them to be printed on your printer
  690. instead of on your screen, you could type:
  691.  
  692.     ARC p junk *.txt >prn
  693.  
  694.  
  695.  
  696. TESTING AN ARCHIVE
  697.  
  698. The integrity of an archive may be tested by use of
  699. the "T" (Test) command.  This checks to make sure that
  700. all of the file headers are properly placed, and that
  701. all of the files are in good shape.
  702.  
  703. This can be very useful for critical archives, where
  704. data integrity must be assured.  When an archive is
  705. tested, all of the entries in the archive are unpacked
  706. (without saving them anywhere) so that a CRC check
  707. value may be calculated and compared with the recorded
  708. CRC value.
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715. ARC                                             Page 11
  716. For example, if you just received an archive named
  717. "JUNK.ARC" over a phone line, and you want to make
  718. sure that you received it properly, you could type:
  719.  
  720.     ARC t junk
  721.  
  722. It defeats the purpose of the T command to combine it
  723. with N or W.
  724.  
  725.  
  726.  
  727. CONVERTING AN ARCHIVE
  728.  
  729. The "C" (Convert) command is used to convert an
  730. archive entry to take advantage of newer compression
  731. techniques.  This is occasionally desirable when a new
  732. version of ARC is released.  Please refer to the
  733. revision history section for details on when new
  734. compression methods were implemented.
  735.  
  736. For example, if you had an archive named "JUNK.ARC",
  737. and you wanted to make sure that all files with an
  738. extension of ".DOC" were encoded using the very latest
  739. methods, you could type:
  740.  
  741.     ARC c junk *.doc
  742.  
  743. Or if you wanted to convert every file in the archive,
  744. you could type:
  745.  
  746.     ARC c junk
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770. ARC                                             Page 12
  771.           ARC OPTIONS
  772.  
  773.  
  774.  
  775. This section describes the options which are available
  776. to modify how ARC works.  Any of these options can be
  777. combined with any of the commands, though the result
  778. may not always be something you'd want to do.
  779.  
  780.  
  781.  
  782. SUPPRESSING COMPRESSION
  783.  
  784. The "S" (Suppress compression) option can be combined
  785. with any command that updates archive entries.  These
  786. include Add, Move, Update, Freshen, and Convert.  The
  787. effect of the S option is to prevent any compression
  788. techniques from being employed.  This is intended to
  789. allow you to add a few files at a time to an archive
  790. quickly, and then later convert the archive to
  791. compress everything at once.
  792.  
  793. For example, over the course of a day you might give
  794. each of the following commands:
  795.  
  796.     ARC as junk *.txt
  797.     ARC as junk *.mac
  798.     ARC as junk *.doc
  799.  
  800. At the end of the day, when you have finished adding
  801. things to the archive, you could have all of the
  802. archive entries compressed at once by typing:
  803.  
  804.     ARC c junk
  805.  
  806. You could also decompress the archive by typing:
  807.  
  808.     ARC cs junk
  809.  
  810. though I can't imagine why you'd want to.
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825. ARC                                             Page 13
  826. BACKUP RETENTION
  827.  
  828. When ARC changes an archive (during an Add, Move,
  829. Update, Freshen, Delete, or Convert) it creates a new
  830. archive with the same name, but with an extension of
  831. ".$$$".  For example, if you add a file to an archive
  832. named STUFF.ARC, then ARC will create a new archive
  833. named STUFF.$$$.  ARC will read from your existing
  834. archive and write out the new archive with any changes
  835. to the ".$$$" copy.
  836.  
  837. Normally when ARC is finished it deletes the original
  838. and renames the new archive to the original name (ie.
  839. STUFF.ARC goes away, and STUFF.$$$ becomes the new
  840. STUFF.ARC).  Among other things, this means that if
  841. anything goes wrong and ARC is unable to finish, then
  842. your original archive will still be intact.
  843.  
  844.  
  845. In some circumstances you may wish to retain the
  846. original version of the archive as a backup copy.  You
  847. can do this easily by using the Backup option.  Add
  848. the letter "B" to your command, and ARC will rename
  849. your original archive to have an extension of ".BAK"
  850. instead of deleting it.
  851.  
  852.  
  853. In other words, if you wanted to add "WASTE.TXT" to an
  854. archive named "JUNK.ARC", but wanted to keep a backup
  855. copy, then you would type:
  856.  
  857.     ARC ab junk waste.txt
  858.  
  859. Your original archive would become "JUNK.BAK", while
  860. "JUNK.ARC" would contain the new "WASTE.TXT" file.
  861.  
  862.  
  863. If you keep a backup of an archive which already has a
  864. backup, then the older backup copy is deleted.
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880. ARC                                             Page 14
  881. MESSAGE SUPPRESSION
  882.  
  883. ARC prints three types of messages: warnings,
  884. comments, and errors.
  885.  
  886. Warnings are messages about suspected error
  887. conditions, such as when a file to be extracted
  888. already exists, or when an extracted file fails the
  889. CRC error check.  Warnings may be suppressed by use of
  890. the "W" (Warn) command.  You should use this command
  891. sparingly.  In fact, you should probably not use this
  892. command at all.
  893.  
  894. Comments (or notes) are informative messages, such as
  895. naming each file as it is added to the archive.
  896. Comments and notes may be suppressed by use of the "N"
  897. (Note) command.
  898.  
  899. Errors are actual system problems, such as running out
  900. of disk space.  You cannot suppress errors.
  901.  
  902.  
  903. For example, suppose you extracted all files with an
  904. extension of ".BAS" from an archive named "JUNK.ARC"
  905. Then, after making some changes which you decide not
  906. to keep, you decide that you want to extract them all
  907. again, but you don't want to be asked to confirm every
  908. one.  In this case, you could type:
  909.  
  910.     ARC xw junk *.bas
  911.  
  912. Or, if you are going to add a hundred files with an
  913. extension of ".MSG" to an archive named "TRASH.ARC",
  914. and you don't want ARC to list them as it adds them,
  915. you could type:
  916.  
  917.     ARC an trash *.msg
  918.  
  919. Or, if you want to extract the entire contents of an
  920. archive named "JUNK.ARC", and you don't want to hear
  921. anything, then type:
  922.  
  923.     ARC xnw junk
  924.  
  925.  
  926. A special case is provided when extracting files from
  927. an archive.  One of the various warnings that can
  928. occur is when a file being extracted already exists on
  929. disk.  Normally, ARC will stop and ask you if you want
  930. to overwrite the file.  This can be suppressed with
  931. the "W" command, but that will also suppress any
  932.  
  933.  
  934.  
  935. ARC                                             Page 15
  936. warnings about other things, like failed CRC checks
  937. and such.
  938.  
  939. The "O" (Overwrite) option suppresses *only* the warning
  940. that the file already exists.  For example, in our
  941. earlier case of extracting all the ".BAS" files from
  942. "JUNK.ARC", a much safer way to do it is to type:
  943.  
  944.     ARC xo junk *.BAS
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990. ARC                                             Page 16
  991. ENCRYPTION/DECRYPTION
  992.  
  993. Archive entries may be encrypted and decrypted by
  994. using the "G" (Garble) option.  The Garble option
  995. takes the remainder of the command string as the
  996. password to use, so it must be the *last* option.
  997.  
  998.  
  999. For example, if you wanted to add a file named
  1000. "WASTE.TXT" to an archive named "JUNK.ARC", and you
  1001. wanted to encrypt it using the password "DEBRIS", then
  1002. you would type:
  1003.  
  1004.     ARC agdebris junk waste.txt
  1005.  
  1006. Later on, when you want to extract it again, you would
  1007. type:
  1008.  
  1009.     ARC xgdebris junk waste.txt
  1010.  
  1011. The password you supply is used to encrypt (or
  1012. decrypt) the archive entry by performing an exclusive
  1013. OR between each byte of the packed data and each byte
  1014. of the password.  The password can be any length, and
  1015. each of its bytes is used in rotation.  The password
  1016. is converted to uppercase before it is used, so it is
  1017. *not* case sensitive.  Since the encryption is performed
  1018. on the packed data, it has no effect on stowage
  1019. factors.
  1020.  
  1021. This is not a particularly sophisticated means of
  1022. encryption, and it is theoretically possible to crack.
  1023. Still, since it is performed on the packed data, the
  1024. result should be quite sufficient for casual use.
  1025.  
  1026.  
  1027. You can, if you wish, use different passwords for
  1028. different files in an archive, but we advise against
  1029. it.  If you are going to encrypt an archive, we
  1030. suggest you use the same password for every file, and
  1031. give the password whenever you do anything at all with
  1032. the archive.  It is possible to list the entries in an
  1033. encrypted archive using the "L" and "V" commands
  1034. without giving the password, but nothing else will
  1035. work properly.
  1036.  
  1037.  
  1038. We advise that you use this option sparingly, if at
  1039. all.  If you should forget or mistype your password,
  1040. it is highly unlikely that you will ever recover your
  1041. data.
  1042.  
  1043.  
  1044.  
  1045. ARC                                             Page 17
  1046.         RAMDISK SUPPORT
  1047.  
  1048.  
  1049.  
  1050. If you have a RAMdisk, or other high-speed storage,
  1051. then you can speed up ARC somewhat by telling it to
  1052. put its temporary files on the RAMdisk.  You do this
  1053. by setting the ARCTEMP environment string with the MS-
  1054. DOS SET command.  For example, if drive B: is your
  1055. RAMdisk, then you would type:
  1056.  
  1057.     set ARCTEMP=B:
  1058.  
  1059. Refer to the MS-DOS manual for more details about the
  1060. SET command.  You need only set the ARCTEMP string
  1061. once, and ARC will use it from then on until you
  1062. change its value or reboot your system.
  1063.  
  1064.  
  1065. If ARC does not find an environment string named
  1066. ARCTEMP, then it looks for one named TEMP to use
  1067. instead.  Several packages already use the TEMP string
  1068. for exactly this purpose.  If you have need of an
  1069. environment string named TEMP for something else, then
  1070. you should be sure to define ARCTEMP.
  1071.  
  1072.  
  1073. There are a limited number of temporary files created
  1074. by ARC.  The Convert command uses a file named
  1075. "$ARCTEMP.CVT" to hold each file as it is being
  1076. converted.  The Run command also creates a temporary
  1077. file, which has the name "$ARCTEMP", and whose
  1078. extension matches that of the file being run.
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100. ARC                                             Page 18
  1101.              MARC
  1102.  
  1103.  
  1104.  
  1105. MARC is a separate program which is used to merge
  1106. archives created by ARC.  MARC moves files from one
  1107. archive to another without unpacking them.
  1108.  
  1109.  
  1110. MARC is used as follows:
  1111.  
  1112.     MARC <target> <source> [<template> . . .]
  1113.  
  1114. Where:
  1115.  
  1116.     <target> is the name of the archive to add files
  1117.     to.
  1118.  
  1119.     <source> is the name of the archive to read files
  1120.     from.
  1121.  
  1122.     <template> is one or more file name templates.
  1123.     The wildcard characters "*" and "?" may be used.
  1124.     If no template is supplied, then all of the files
  1125.     in <source> are added to <target>.
  1126.  
  1127. It is not necessary for the target to exist.  If it
  1128. does not exist, then it is created.  Thus, MARC can be
  1129. used as an "extractor" as well as a "merger".
  1130.  
  1131.  
  1132. For example, if you wanted to create an archive named
  1133. "JUNK.ARC", which is to contain all of the files with
  1134. an extension of ".TXT" which are currently contained
  1135. in another archive named "WASTE.ARC", then you could
  1136. type:
  1137.  
  1138.     MARC junk waste *.txt
  1139.  
  1140. If you wanted to create an archive named "JUNK.ARC",
  1141. which is to contain all of the files currently in the
  1142. archives "WASTE.ARC" and "TRASH.ARC", you could type:
  1143.  
  1144.     MARC junk waste
  1145.     MARC junk trash
  1146.  
  1147.  
  1148. If MARC is invoked with no arguments, then it gives
  1149. brief directions in its use.
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155. ARC                                             Page 19
  1156.              ARCE
  1157.  
  1158.  
  1159.  
  1160. ARCE is a program which is used to extract files from
  1161. an archive.  It will *only* extract files, and it will
  1162. *not* extract encrypted files.  It doesn't do anything
  1163. that ARC can't do, but it is highly optimized for the
  1164. sole purpose of archive extraction, so it is very
  1165. small and very fast.
  1166.  
  1167. ARCE is used in a fashion very similar to the "ARC E"
  1168. command (hence the name).  The first argument is the
  1169. name of the archive to extract files from, and may
  1170. include a drive and path specifier.  Up to sixteen
  1171. additional arguments can be supplied, which specify
  1172. the files to extract.  The wildcard characters "*" and
  1173. "?" are allowed, as with ARC.  If no files are named,
  1174. then all files are extracted from the archive.  If the
  1175. file being extracted already exists, you are asked
  1176. whether or not you want to overwrite it.  You can use
  1177. the "/R" option to bypass this.
  1178.  
  1179. For example, if you had an archive named "WASTE.ARC"
  1180. that you wanted to extract everything from, then you
  1181. could type:
  1182.  
  1183.     ARCE waste
  1184.  
  1185. Or if you just wanted to extract the files with a
  1186. filename extension of ".ASM", you could type:
  1187.  
  1188.     ARCE waste *.asm
  1189.  
  1190. If you already have a few files from the archive that
  1191. you want replaced, then you could type:
  1192.  
  1193.     ARCE waste *.asm /R
  1194.  
  1195. If you run ARCE with no arguments at all, then it will
  1196. give you a brief reminder of how to use it.
  1197.  
  1198.  
  1199. NOTICE:NOTICE: ARCE is the copyrighted property of Vernon D.
  1200.         Buerg and Wayne Chin.  It is included on the
  1201.         ARC program disk as a service to ARC users.
  1202.  
  1203.         Vernon D. Buerg
  1204.         456 Lakeshire Drive
  1205.         Daly City, CA  94015
  1206.         RBBS: (415) 994-2944
  1207.  
  1208.  
  1209.  
  1210. ARC                                             Page 20
  1211.         VERSION NUMBERS
  1212.  
  1213.  
  1214.  
  1215. There seems to be some confusion about our version
  1216. numbering scheme.  All of our version numbers are
  1217. given as a number with two decimal places.
  1218.  
  1219. The units indicate a major revision, such as adding a
  1220. new packing algorithm.
  1221.  
  1222. The first decimal place (tenths) indicates a minor
  1223. revision that is not essential, but which may be
  1224. desired.
  1225.  
  1226. The second decimal place (hundredths) indicates a
  1227. trivial revision that will probably only be desired by
  1228. specific individuals or by die-hard "latest version"
  1229. fanatics.
  1230.  
  1231. ARC also displays its date and time of last edit.  A
  1232. change of the date and time without a corresponding
  1233. change in version number indicates a truly trivial
  1234. change, such as fixing a spelling error.
  1235.  
  1236.  
  1237. To sum up: If the units change, then you should get
  1238. the newer version as soon as you can.  If the tenths
  1239. change, then you may want to get the newer version,
  1240. but there's no hurry.  If anything else changes, then
  1241. you probably shouldn't bother.
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265. ARC                                             Page 21
  1266.  COMMON QUESTIONS AND ANSWERS
  1267.  
  1268.  
  1269.  
  1270. Here are some of the more common questions we've
  1271. received about ARC, along with their answers:
  1272.  
  1273.  
  1274. Q: Why does ARC run out of room if I make an archive
  1275.    bigger than about 180k?
  1276.  
  1277. A: Because you are working on a floppy disk.  ARC
  1278.    creates a copy of your archive, incorporating any
  1279.    new files as it goes.  When it is done, it deletes
  1280.    the original and renames the new one.  There are a
  1281.    number of reasons for doing it this way, one being
  1282.    that your original archive is still intact if
  1283.    anything happens while ARC is running.
  1284.  
  1285.    You can save some space by using drive specifiers
  1286.    and having the archive and the files to add on
  1287.    separate disks, but you still won't be able to make
  1288.    an archive larger than about 180k.  If you need to
  1289.    make a larger archive, and if you have a fixed
  1290.    disk, then you can create the archive on the fixed
  1291.    disk and then copy it to the floppy.
  1292.  
  1293.  
  1294. Q: I've seen an ARC.COM and an ARC.EXE.  Which one is
  1295.    the right one?
  1296.  
  1297. A: ARC.EXE.  One or more people have been running ARC
  1298.    through a utility that converts an ".EXE" file to a
  1299.    ".COM" file.  But this utility is designed to save
  1300.    space, not speed.  On ARC it saves about 250 bytes,
  1301.    and makes no measurable difference in program
  1302.    speed.  We've decided that the savings are not
  1303.    worth the extra step in development in this case.
  1304.  
  1305.  
  1306. Q: How can I get the latest version of ARC?
  1307.  
  1308. A: ARC updates are distributed through normal
  1309.    shareware channels, and by FidoNet.  We also ship a
  1310.    program update disk on every order of $50 or more.
  1311.    Also, please refer to the next section for
  1312.    information about our maintenance contracts.
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320. ARC                                             Page 22
  1321. Q: Can I use ARC to distribute my public domain or
  1322.    shareware program?
  1323.  
  1324. A: Yes, of course.
  1325.  
  1326.  
  1327. Q: Can I use ARC to distribute my commercial software
  1328.    package?
  1329.  
  1330. A: Yes, provided that you obtain a commercial
  1331.    distribution license from us.  Please contact us
  1332.    for details.
  1333.  
  1334.  
  1335. Q: I'm a commercial user.  Why should I pay for
  1336.    shareware that others get for free?
  1337.  
  1338. A: Because you cannot credibly plead poverty.
  1339.               ___   Shareware, all shareware, is an attempt to develop
  1340.    a new marketing channel to the benefit of everyone.
  1341.    You can still "test drive" shareware for a short
  1342.    period, but if you decide to use it in your
  1343.    business, then you should pay for it.
  1344.  
  1345.  
  1346. Q: Why not allow me to select which method of
  1347.    compression I want ARC to use?
  1348.  
  1349. A: It would needlessly complicate ARC, both internally
  1350.    and in use.  The exact nature of the compression
  1351.    methods used are complex, and quite different.  The
  1352.    only sure way to tell which will be best in any
  1353.    given case is to analyze the data, as ARC does.
  1354.    The method chosen may not always be what you
  1355.    expect.
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375. ARC                                             Page 23
  1376.      MAINTENANCE CONTRACTS
  1377.  
  1378.  
  1379.  
  1380. Registered users of ARC receive 90 days of telephone
  1381. support at no extra charge.  If you wish, you can
  1382. extend this by pruchasing a maintenance contract.
  1383.  
  1384. A maintenance contract costs $50 per year and entitles
  1385. you to unlimited telephone support, as well as free
  1386. updates to ARC as they come out.
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430. ARC                                             Page 24
  1431.        REVISION HISTORY
  1432.  
  1433.  
  1434.  
  1435. CHANGES IN VERSION 3
  1436.  
  1437. The function used to calculate the CRC check value in
  1438. previous versions has been found to be in error.  It
  1439. has been replaced with the proper function.  ARC will
  1440. still read archives created with earlier versions of
  1441. ARC, but it will report a warning that the CRC value
  1442. is in error.  All archives created prior to version
  1443. 3.0 should be unpacked and repacked with the latest
  1444. version of ARC.
  1445.  
  1446.  
  1447. Transmitting a file with XMODEM protocol rounds the
  1448. size up to the next multiple of 128 bytes, adding
  1449. garbage to the end of the file.  This used to confuse
  1450. ARC, causing it to think that the end of the archive
  1451. was invalidly formatted.  This has been corrected in
  1452. version 3.01.  Older archives may still be read, but
  1453. ARC may report them to be improperly formatted.  All
  1454. files can be extracted, and no data is lost.  In
  1455. addition, ARC will automatically correct the problem
  1456. when it is encountered.
  1457.  
  1458.  
  1459.  
  1460. CHANGES IN VERSION 4
  1461.  
  1462. ARC is adding another data compression technique in
  1463. this version.  We have been looking for some technique
  1464. that could improve on Huffman squeezing in at least a
  1465. few cases.  So far, Lempel-Zev compression seems to be
  1466. fulfilling our fondest hopes, often achieving
  1467. compression rates as much as 20% better than
  1468. squeezing, and sometimes even better.  Huffman
  1469. squeezing depends on some bytes being more "popular"
  1470. than others, taking the file as a whole.  Lempel-Zev
  1471. compression is instead looking for strings of bytes
  1472. which are repeated at various points (such as an end
  1473. of line followed by spaces for indentation).  Lempel-
  1474. Zev compression is therefore looking for repetition at
  1475. a more "macro" level, often achieving impressive
  1476. packing rates.
  1477.  
  1478. In the typical case a file is added to an archive once
  1479. and then extracted many times, so the increased time
  1480. for an update should more than pay for itself in
  1481. increased disk space and reduced transmission time.
  1482.  
  1483.  
  1484.  
  1485. ARC                                             Page 25
  1486. CHANGES IN VERSION 4.1
  1487.  
  1488. Lempel-Zev coding has been improved somewhat by
  1489. performing non-repeat compression on the data before
  1490. it is coded (as was already done with Huffman
  1491. squeezing).  This has the two fold advantage of (a)
  1492. reducing to some extent the amount of data to be
  1493. encoded, and (b) increasing the time it takes for the
  1494. string table to fill up.  Performance gains are small,
  1495. but noticeable.
  1496.  
  1497. The primary changes are in internal organization.  ARC
  1498. is now much "cleaner" inside.  In addition to the
  1499. aesthetic benefits to the author, this should make
  1500. life easier for the hackers out there.  There is also
  1501. a slight, but not noticeable, improvement in overall
  1502. speed when doing an update.
  1503.  
  1504.  
  1505.  
  1506. CHANGES IN VERSION 4.3
  1507.  
  1508. Version 4.3 adds the much-demanded feature of using
  1509. pathnames when adding files to an archive.
  1510.  
  1511. Version 4.3 is also using a slightly different
  1512. approach when adding a file to an archive.  The end
  1513. result is twofold:
  1514.  
  1515. 1) Slightly more disk space is required on the drive
  1516.    containing the archive.  This should only be
  1517.    noticeable to those creating very large archives on
  1518.    a floppy based system.
  1519.  
  1520. 2) A 30% reduction in packing time has been achieved
  1521.    in most cases.  This should be noticeable to
  1522.    everyone.
  1523.  
  1524. As always, version 4.3 is still fully upwards
  1525. compatible, and is backwards compatible as far as
  1526. version 4.1.
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540. ARC                                             Page 26
  1541. CHANGES IN VERSION 4.4
  1542.  
  1543. The temporary file introduced in version 4.3
  1544. occasionally caused problems for people who had not
  1545. added a FILES= statement to their CONFIG.SYS file.
  1546. This has now been corrected.  Also, support of the
  1547. ARCTEMP environment string was added to allow placing
  1548. of the temporary file on a RAMdisk.
  1549.  
  1550. A bug was reported in the Run command, which has been
  1551. fixed.  From the nature of the bug, and the extreme
  1552. time required before the bug was reported, it is
  1553. deduced that the Run command is probably the least
  1554. used feature of ARC.
  1555.  
  1556. The Update command was changed.  It is no longer a
  1557. straight synonym for Add.  Instead, Update now only
  1558. adds a file if it is newer than the version already in
  1559. the archive, as shown by the MS-DOS date/time stamp.
  1560.  
  1561.  
  1562.  
  1563. CHANGES IN VERSION 4.5
  1564.  
  1565. The Convert command was not making use of RAMdisk
  1566. support.  Now it is.
  1567.  
  1568. The Freshen command was added.  Our first choice for a
  1569. name was Refresh, but we already had a Run command.
  1570. Assuming that you have an archive which already
  1571. contains everything you want in it (for software
  1572. distribution, perhaps), then Freshen would be used to
  1573. update the archive.  It was pointed out to us that ARC
  1574. already knows what is in the archive, so it should be
  1575. able to look on disk for newer versions.  Now it can.
  1576.  
  1577. The Suppress compression option was added by popular
  1578. demand.  It allows files to be added quickly to an
  1579. archive, since the files are not analyzed or
  1580. compressed, but merely stored straight.  The intent is
  1581. to allow users to build an archive "in pieces", and
  1582. then compress all of the entries at once with the
  1583. Convert command.  The conversion is much faster if you
  1584. take advantage of RAMdisk support.
  1585.  
  1586. A minor bug was detected in our handling of date/time
  1587. stamps which occasionally resulted in stamping an
  1588. archive with the wrong date and time.  This has been
  1589. corrected.
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595. ARC                                             Page 27
  1596. CHANGES IN VERSION 5.0
  1597.  
  1598. The Move command used to delete the files as it went.
  1599. It now waits until it is finished updating the
  1600. archive, and deletes them all at once.  (You *did* know
  1601. that Move is just an Add where the file gets deleted,
  1602. didn't you?)  This, along with the changes made in
  1603. version 4.5, means that it is now much safer to
  1604. interrupt ARC while it is working.
  1605.  
  1606. The Print command no longer prints the name of each
  1607. file.  Instead, it prints a formfeed after each file.
  1608.  
  1609. The Run command now supports BASICA programs.  Also,
  1610. the filename extension is no longer required on the
  1611. Run command.
  1612.  
  1613. The Garble option was added.  It provides a convenient
  1614. means of low level data security for the casual user.
  1615. Use it sparingly, if at all.
  1616.  
  1617. ARC no longer tests for the presence of $ARCTEMP.CRN
  1618. before creating a new one.  If you interrupt ARC a
  1619. lot, you'll find this much more convenient.  If you
  1620. happen to have a file named $ARCTEMP.CRN which you
  1621. want to keep, too bad.
  1622.  
  1623. Improved error recovery was added when reading an
  1624. archive.  ARC now has a good chance of recovering the
  1625. data from a corrupted archive (the corrupted entry is
  1626. still lost, of course).
  1627.  
  1628. Path support has been added for all commands, though
  1629. it doesn't do anything on most of them.  For example,
  1630. there isn't much we can do with a path in the List
  1631. command.  But many users will be glad to know that a
  1632. path can be used when extracting a file, and specifies
  1633. where the file is to be placed.
  1634.  
  1635. Support for the TEMP environment string was added.  If
  1636. ARC doesn't find an environment string named ARCTEMP,
  1637. then it looks for one named TEMP to use instead.
  1638. Several packages already use the TEMP string for
  1639. exactly this purpose.  With any luck, maybe we can get
  1640. a standard going.
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650. ARC                                             Page 28
  1651. ARC is now using a different variation of Lempel-Zev
  1652. coding, courtesy of Kent Williams, who found it on
  1653. USENET and adapted it to the IBM PC.  The new method
  1654. differs from the old in several respects.  The most
  1655. significant differences are:
  1656.  
  1657. 1) Where our previous implementation used a fixed code
  1658.    size of twelve bits, the new one starts with a code
  1659.    size of nine bits and increases it as it needs to.
  1660.  
  1661. 2) The earlier method tended to "choke" on large files
  1662.    when its string table filled up.  The new method
  1663.    has a rather ingenious scheme its authors call
  1664.    "adaptive reset."  When it notices that its string
  1665.    table has filled, and its compression ratio is
  1666.    starting to suffer, it clears the table and starts
  1667.    defining new strings.
  1668.  
  1669. Our benchmarks show an improvement in compression on
  1670. the order of 10% when crunching is used.
  1671. Additionally, ARC 5.0 is on the order of 23% faster at
  1672. adding a file when crunching is used, or 13% faster
  1673. when squeezing is used.  Extracting a file crunched
  1674. with the new method is 27% faster than it is with the
  1675. old method.  Extraction of any other type of file
  1676. (including those crunched with the older method) is no
  1677. faster than before.  These figures are based on our
  1678. own benchmark tests; your results may vary.
  1679.  
  1680. The previous implementation of Lempel-Zev coding is no
  1681. longer used to pack files.  The "V" (Verbose listing)
  1682. command distinguishes between the two by referring to
  1683. the older method as "crunched" (with a lower-case
  1684. "c"), and the newer method as "Crunched" (with a
  1685. capital "C").
  1686.  
  1687. ARC 5.0 can still read archives created by earlier
  1688. versions of ARC, but once again it creates archives
  1689. which older versions cannot read.
  1690.  
  1691.  
  1692.  
  1693. CHANGES IN VERSION 5.1
  1694.  
  1695. Rick Moore discovered that ARC was occasionally adding
  1696. an archive to itself.  This would only happen when the
  1697. archive is in the same directory as the files being
  1698. added, and its name comes last.  This bug has been
  1699. fixed, though it is still possible to fool ARC into
  1700. adding an archive to itself by getting tricky with
  1701. path names.
  1702.  
  1703.  
  1704.  
  1705. ARC                                             Page 29
  1706. Dana Montgomery found the upper limit on how many
  1707. files can be added to an archive.  There's always been
  1708. an upper limit, but it depends on memory, and used to
  1709. be larger than anyone could possibly want (knock on
  1710. wood).  However, the added memory requirements in
  1711. version 5.0 lowered this limit into the realm of
  1712. possibility, somewhere around 300 files.  We change
  1713. some things around, and effectively, there is no
  1714. longer a limit on how many files you can add at once.
  1715. ARC will add the files in batches of as many as it can
  1716. handle at one time.
  1717.  
  1718. We've also introduced a new packaging method for ARC
  1719. and its documentation, since we are in the unique
  1720. position of being unable to use ARC for this purpose.
  1721. We've created a program called ARC51.COM which, when
  1722. executed, attempts to create the ARC program and
  1723. manual.  You must be in the same directory as
  1724. ARC51.COM when you run it.
  1725.  
  1726.  
  1727.  
  1728. CHANGES IN VERSION 5.2
  1729.  
  1730. We've made some changes to Lempel-Zev coding to
  1731. further improve its compression ability on "poor fit"
  1732. files (mainly .EXE and .COM files).  The result is
  1733. that crunching now works better than squeezing on
  1734. almost all files, and comes close on most of the rest
  1735. (within 5%, by our benchmarks).  Accordingly, we have
  1736. dropped Huffman encoding in this version.  Our
  1737. benchmarks show a speed improvement of around 14% when
  1738. adding a file to an archive.
  1739.  
  1740. A low-level file copy routine was implemented to speed
  1741. up bulk data moves.  Deleting or adding a file to a
  1742. large existing archive is now much faster.
  1743.  
  1744. The Run command has been modified to allow passing
  1745. command line arguments to the program being run.
  1746.  
  1747. The temporary file introduced in version 4.3 has been
  1748. eliminated.  Crunched output generated in the analysis
  1749. phase is now placed directly in the output archive,
  1750. and is rewritten if crunching turns out not to be the
  1751. best choice.  This can, in rare circumstances, cause
  1752. an archive to be slightly larger than it should be,
  1753. but it also makes ARC considerably faster at adding
  1754. files to an archive.
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760. ARC                                             Page 30
  1761.   PROGRAM HISTORY AND CREDITS
  1762.  
  1763.  
  1764.  
  1765. In its short life thus far, ARC has astounded us with
  1766. its popularity.  We first wrote it in March of 1985
  1767. because we wanted an archive utility that used a
  1768. distributive directory approach, since this has
  1769. certain advantages over the then popular central
  1770. directory approach.  We added automatic squeezing in
  1771. version 2 at the prompting of a friend.  In version
  1772. 2.1 we added the code to test for the best compression
  1773. method.  In less than a year we found that our humble
  1774. little program had spread across the country, and
  1775. seems to have become a new institution.
  1776.  
  1777. We are thankful for the support and appreciation we
  1778. have received.  We hope that you find this program of
  1779. use.
  1780.  
  1781.  
  1782. If we have achieved greatness, it is because we have
  1783. stood upon the shoulders of giants.  Nothing is
  1784. created as a thing unto itself, and ARC is no
  1785. exception.  Therefore, we would like to give credit to
  1786. the following people, without whose efforts ARC could
  1787. not exist:
  1788.  
  1789.  
  1790. Brian W. Kernighan and P. J. Plauger, whose book
  1791. "Software Tools" provided many of the ideas behind the
  1792. distributive directory approach used by ARC.
  1793.  
  1794. Dick Greenlaw, who wrote the public domain SQ and USQ
  1795. programs, in which the Huffman squeezing algorithm was
  1796. first developed.
  1797.  
  1798. Robert J. Beilstein, who adapted SQ and USQ to
  1799. Computer Innovations C86 (the language we use), thus
  1800. providing us with important parts of our squeezing
  1801. logic.
  1802.  
  1803. Kent Williams, who graciously allowed us to use his
  1804. LZWCOM and LZWUNC programs as a basis for our Lempel-
  1805. Zev compression logic, and who continues to make
  1806. valuable contributions.
  1807.  
  1808. David Schwaderer, whose article in the April 1985
  1809. issue of PC Tech Journal provided us with the logic
  1810. for calculating the CRC 16 bit polynomial.
  1811.  
  1812.  
  1813.  
  1814.  
  1815. ARC                                             Page 31
  1816. Terry A. Welch, whose article "A Technique for High
  1817. Performance Data Compression", IEEE Computer Vol 17 No
  1818. 6 (June 1984) seems to have started all the research
  1819. on Lempel-Zev coding.
  1820.  
  1821. Spencer W. Thomas, Jim McKie, Steve Davies, Ken
  1822. Turkowski, James A.  Woods, and Joe Orost, who are the
  1823. authors of the UNIX compress utility.
  1824.  
  1825. Alex Jacobs, who in June of 1985 sent us the very
  1826. first shareware contribution we ever received.
  1827.  
  1828.  
  1829. And many, many others whom we could not identify.
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870. ARC                                             Page 32
  1871.         BULLETIN BOARDS
  1872.  
  1873.  
  1874.  
  1875. ARC is distributed mainly through shareware channels.
  1876. Among other things, this means that ARC is available
  1877. from many bulletin board systems.  In fact, the system
  1878. operators (sysops) of many bulletin boards have taken
  1879. to storing almost all of their downloadable files in
  1880. archives to save themselves disk space and to save
  1881. their users time.
  1882.  
  1883. This also makes things more convenient for the
  1884. bulletin board users, since one archive may contain
  1885. several programs, any related data files, and the
  1886. documentation.  Many shareware authors have taken to
  1887. distributing their software in archives to help ensure
  1888. that the users receive everything.
  1889.  
  1890. Obviously, we can't do that with ARC.  As a result,
  1891. many of our users have ARC, but don't have the manual.
  1892. Most of our customer support calls come from people
  1893. who have never seen the manual, and in many cases
  1894. didn't even know that one exists!
  1895.  
  1896. To solve this problem we developed what is in essence
  1897. a self-unpacking archive.  We distribute this as
  1898. "ARCxxx.COM", where "xxx" is the current version
  1899. number.  For example, ARC version 5.20 would be
  1900. distributed as "ARC520.COM".  This program, when run,
  1901. unpacks itself into a copy of ARC plus its
  1902. documentation.
  1903.  
  1904. Now that we've gone to all that work, we'd really
  1905. appreciate it if you would use this program when you
  1906. distribute ARC.
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925. ARC                                             Page 33
  1926.          SITE LICENSES
  1927.  
  1928.  
  1929.  
  1930. Corporate users may wish to obtain a site license for
  1931. the use of ARC.  Please use the order form in this
  1932. manual to order a site license.  Site licenses are
  1933. granted as of when we receive your payment.  License
  1934. fees vary depending on the number of computers on
  1935. which ARC will be used, as follows:
  1936.  
  1937.      1 to  9 machines  $35 each
  1938.     10 to 24 machines  $25 each
  1939.     25 to 49 machines  $20 each
  1940.     50 to 99 machines  $15 each
  1941.     over  99 machines  $1500 one time fee
  1942.  
  1943.  
  1944.  
  1945. Enclosed is a site license agreement, which should be
  1946. signed and sent with your payment when ordering a
  1947. commercial site license.
  1948.  
  1949.  
  1950. A commercial site license does not include additional
  1951. copies of the ARC program disk and the ARC manual.
  1952. Instead, you make your own copies of the disk and
  1953. manual as you need them.  If you wish, you can order
  1954. additional program disks and manuals from us.
  1955.  
  1956. Additional program disks cost $10 each.  Additional
  1957. manuals cost $20 each.  If you wish, you can order
  1958. program sets for $40 each.  A "program set" is a
  1959. program disk and manual enclosed in a vinyl binder.
  1960. There is a $50 minimum on all orders.
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980. ARC                                             Page 34
  1981.              SITE LICENSE APPLICATION
  1982.  
  1983.  
  1984.  
  1985. The use of ARC in a commercial environment or government organization
  1986. is granted under the following terms:
  1987.  
  1988. 1.  Payment of the license fee must be made to System Enhancement
  1989.     Associates, Inc.  The fee is based on the number of computers
  1990.     which will be used to run ARC, as follows:
  1991.  
  1992.           1 to  9 machines  $35 each
  1993.          10 to 24 machines  $25 each
  1994.          25 to 49 machines  $20 each
  1995.          50 to 99 machines  $15 each
  1996.          over  99 machines  $1500 one time fee
  1997.  
  1998. 2.  You may use ARC on the number of computers included in the license
  1999.     fee.  If you have paid the fee for over 99 machines, then you may
  2000.     use ARC on any number of computers within your organization.
  2001.  
  2002. 3.  You may make copies of the program and documentation, in their
  2003.     original,  unmodified form,  without restriction.  You may
  2004.     distribute these copies without restriction.
  2005.  
  2006. 4.  If these copies are distributed outside of your organization,  you
  2007.     have no obligation to control the use of those copies which are
  2008.     outside of your organization.
  2009.  
  2010. 5.  You may make copies of the program documentation, in both its
  2011.     printed form and machine readable form, without restriction.
  2012.  
  2013. 6.  You may use all future versions of ARC under this license.
  2014.  
  2015. 7.  You may *not* modify the program or charge a fee for copying or
  2016.     distributing the program or its documentation.
  2017.  
  2018. 8.  It is your responsibility to make the necessary copies and to
  2019.     deliver them to the computers which they will be used on.  If you
  2020.     wish, you can order additional ARC program disks and manuals.
  2021.  
  2022. 9.  We are not responsible for *anything* that may happen or not happen
  2023.     if you use ARC.  You're on your own.
  2024.  
  2025.  
  2026.     I agree to abide by the terms and conditions of this license.
  2027.  
  2028.     _____________________________         __________________________
  2029.     Signature                             Date
  2030.  
  2031.     _____________________________
  2032.     Name (please print or type)
  2033.  
  2034.     _____________________________
  2035.     Title
  2036.  
  2037.     _____________________________
  2038.     Company
  2039.  
  2040.  
  2041.                    ORDER FORM
  2042.  
  2043.  
  2044.  
  2045. Check which items you wish to purchase:
  2046.  
  2047.     [] Noncommercial license for the use of ARC.
  2048.  
  2049.     [] Commercial license for the use of ARC on ___ computers (see
  2050.        attached price schedule and terms).
  2051.  
  2052.     [] Program disk and documentation (only on orders of $50 or more,
  2053.        not counting maintenance contracts).
  2054.  
  2055.     [] ____ additional program disks at $10 per disk.
  2056.  
  2057.     [] ____ additional manuals at $20 per manual
  2058.  
  2059.     [] ____ additional program sets (disk, manual, and binder) at $40
  2060.        per program set.
  2061.  
  2062.     [] One year maintenance agreement at $50 per year.
  2063.  
  2064.     [] Payment of $_____ is enclosed (check or money order).
  2065.  
  2066.     [] Please charge $_____ to my [] Visa or [] MasterCard:
  2067.  
  2068.       Card number:  _______________________________
  2069.  
  2070.       Expiration date:  ___________________________
  2071.  
  2072.       Signature:  _________________________________
  2073.  
  2074.     _______________________________________________
  2075.     Name
  2076.  
  2077.     _______________________________________________
  2078.  
  2079.  
  2080.     _______________________________________________
  2081.     Address
  2082.  
  2083.     ______________________   ________  ____________
  2084.     City                     State     Zip
  2085.  
  2086.     _______/_______
  2087.     FidoNet address
  2088.  
  2089.  
  2090. Send this completed form to:
  2091.  
  2092.                   System Enhancement Associates, Inc.
  2093.                      21 New Street, Wayne NJ 07470
  2094.  
  2095. For program disk orders outside the U.S., please add an additional $5,
  2096. and enclose an international money order payable in U.S. currency.
  2097.  
  2098. For commercial site license orders, please enclose a signed copy of
  2099. the site license agreement.
  2100.  
  2101.