home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Aktief 1995 #3 / CDA3.iso / cdrom / sea601 / arc.doc next >
Text File  |  1989-01-20  |  121KB  |  4,197 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                    ARC
  14.  
  15.                       File Archive Utility
  16.                           Version 6.00
  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.                    COPYRIGHT 1985,86,87,88,89
  43.                                by
  44.                System Enhancement Associates, Inc.
  45.                        ALL RIGHTS RESERVED
  46.  
  47.  
  48.  
  49.  
  50.  
  51.      This document describes version 6.00 of the ARC file
  52.      utility, which was created by System Enhancement
  53.      Associates, Inc. in January of 1989.
  54.  
  55.  
  56.        LIMITED WARRANTY
  57.  
  58.  
  59. IMPORTANT NOTICE:IMPORTANT NOTICE: Any use of this software for any
  60. period of time for any purpose whatsoever constitutes
  61. your unqualified acceptance of this LICENSE and
  62. subjects you to all of the terms and conditions set
  63. forth below:
  64.  
  65. System Enhancement Associates, Inc. ("SEA") warrants
  66. to any Licensee that acquires the program from SEA or
  67. an authorized SEA representative ONLY that:
  68.  
  69.  1) All diskettes SEA provides constitute an accurate
  70.     duplication of the software and SEA will replace
  71.     any diskette found to be defective within 30 days
  72.     from date of acquisition.  SEA will not honor this
  73.     warranty if the diskette has been subjected to
  74.     physical abuse, or used in defective or non-
  75.     compatible equipment.
  76.  
  77.  2) SEA's software will perform substantially as
  78.     described in the documentation SEA regularly
  79.     supplies with that software, if operated as
  80.     prescribed in such documentation including the
  81.     hardware and software environment specified.
  82.  
  83.  3) If a significant defect in any program is found,
  84.     Licensee's only remedy shall be to receive refund
  85.     of the actual fee Licensee paid for such defective
  86.     program.  In no event will such a refund exceed
  87.     the fee SEA charges for such program.
  88.  
  89.  4) SEA makes no warranty or representation that the
  90.     software will be error free nor that its use by
  91.     Licensee will be uninterrupted.
  92.  
  93. Except as provided above, SEA disclaims all other
  94. warranties, either express or implied, including but
  95. not limited to any implied warranty of merchantability
  96. or fitness for any particular purpose.
  97.  
  98. Licensee agrees to take full responsibility for the
  99. selection of and any use whatsoever made of the
  100. software.
  101.  
  102. IN NO EVENT WILL SEA BE LIABLE FOR ANY DAMAGES
  103. WHATSOEVER (INCLUDING WITHOUT LIMITATION DAMAGES FOR
  104. LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS
  105. OF BUSINESS INFORMATION OR THE LIKE) ARISING OUT OF
  106. THE USE OF, INTERRUPTION IN THE USE OF, OR INABILITY
  107. TO USE THIS SOFTWARE, EVEN IF SEA HAS BEEN ADVISED OF
  108. ANY POSSIBILITY OR LIKELYHOOD OF SUCH DAMAGES.
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.             TABLE OF CONTENTS
  120.  
  121.  
  122.      _______                                           ____     Section                                           Page
  123.  
  124.      Introduction  ....................................   1
  125.      Using ARC  .......................................   3
  126.      ARC commands  ....................................   5
  127.          Adding files  ................................   5
  128.          Extracting files  ............................   8
  129.          Deleting files  ..............................   9
  130.          Listing archive entries  .....................   9
  131.          Running files  ...............................  12
  132.          Printing files  ..............................  13
  133.          Testing an archive  ..........................  13
  134.          Converting an archive  .......................  14
  135.      ARC options  .....................................  15
  136.          Directories  .................................  15
  137.          Level 5 compatibility  .......................  15
  138.          Verbose mode  ................................  16
  139.          Backup retention  ............................  16
  140.          Suppressing compression  .....................  17
  141.          Message suppression  .........................  18
  142.          Encryption/Decryption  .......................  19
  143.      Indirection  .....................................  21
  144.      RAMdisk support  .................................  22
  145.      Version numbers  .................................  23
  146.      Common questions and answers  ....................  24
  147.      Maintenance contracts  ...........................  26
  148.      Revision history  ................................  27
  149.          Changes in version 5  ........................  27
  150.          Changes in version 5.3  ......................  29
  151.          Changes in version 6.0  ......................  29
  152.      Program history and credits  .....................  31
  153.      Bulletin boards  .................................  33
  154.      Site licenses  ...................................  34
  155.      The SEA Utilities  ...............................  35
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.           BLANK PAGE
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228. ARC                                              Page 0
  229.               INTRODUCTION
  230.  
  231.  
  232.  
  233.      ARC is the copyrighted property of System Enhancement
  234.      Associates, Inc.  You are granted a limited license to
  235.      use ARC, and to copy it and distribute it, provided
  236.      that the following conditions are met:
  237.  
  238.      1) No fee may be charged for such copying and
  239.         distribution.
  240.  
  241.                 ____     2) ARC may only be distributed in its original,
  242.         unmodified state.
  243.  
  244.                 ___     3) ARC may not be distributed, in whole or in part, as
  245.         part of any commercial product or service without
  246.         the express written permission of System
  247.         Enhancement Associates.
  248.  
  249.  
  250.      Contributions for the use of this program will be
  251.      appreciated, and should be sent to:
  252.  
  253.                System Enhancement Associates, Inc.
  254.                   21 New Street, Wayne NJ 07470
  255.  
  256.      You may not use this product in a commercial
  257.      environment or a governmental organization without
  258.      paying a license fee of $35.  Site licenses and
  259.      commercial distribution licenses are available.  A
  260.      program disk and printed documentation are available
  261.      for $50.  See the order form enclosed with this manual
  262.      for more details.
  263.  
  264.  
  265.  
  266.      ARC is user supported software.  This means that you
  267.      may copy it freely and give the copies away to anyone
  268.      you wish, at no cost.  They are in turn requested to
  269.      send in a contribution if they decide to use it.
  270.  
  271.      The user supported software concept (often referred to
  272.         _________     as shareware) is an attempt to provide software at low
  273.      cost.  The cost of offering a new product by
  274.      conventional means is staggering, and hence dissuades
  275.      many independent authors and small companies from
  276.      developing and promoting their ideas.  User supported
  277.      software is an attempt to develop a new marketing
  278.      channel where products can be introduced at low cost.
  279.  
  280.  
  281.  
  282.  
  283.      ARC                                         Page 1
  284. If user supported software works, then everyone will
  285. benefit.  The user will benefit by receiving quality
  286. products at low cost, and by being able to "test
  287. drive" software thoroughly before purchasing it.  The
  288. author benefits by being able to enter the commercial
  289. software arena without first needing large sources of
  290. venture capital.
  291.  
  292. But it can only work with your support.  We're not
  293.                                        ___just talking about ARC here, but about all user
  294. supported software.  If you obtain a user supported
  295. program from a friend or colleague, and are still
  296. using it after a couple of weeks, then it is obviously
  297. worth something to you, and a contribution should be
  298. sent.
  299.  
  300.  
  301.  
  302. And now, back to ARC:
  303.  
  304. ARC is used to create and maintain file archives.  An
  305. archive is a group of files collected together into
  306. one file in such a way that the individual files may
  307. be recovered intact.  ARC automatically compresses the
  308. files being archived so that the resulting archive
  309. takes up a minimum amount of space.
  310.  
  311. When ARC is used to add a file to an archive it
  312. analyzes the file to determine which of three storage
  313. methods will result in the greatest savings.  These
  314. three methods are:
  315.  
  316. 1) No compression; the file is stored as is.
  317.  
  318. 2) Repeated-character compression; repeated sequences
  319.    of the same byte value are collapsed into a three-
  320.    byte code sequence.
  321.  
  322. 3) Dynamic Lempel-Ziv compression;  the file is stored
  323.    as a series of variable size bit codes which
  324.    represent character strings, and which are created
  325.    "on the fly".
  326.  
  327. Note that since one of the three methods involves no
  328. compression at all, the resulting archive entry will
  329. never be larger than the original file.
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. ARC                                              Page 2
  339.                 USING ARC
  340.  
  341.  
  342.  
  343.      ARC is invoked with a command of the following format:
  344.  
  345.          ARC <x> <arcname> [<template> . . .]
  346.  
  347.      Where:
  348.  
  349.          <x> is an ARC command letter (see below), in
  350.          either upper or lower case.
  351.  
  352.          <arcname> is the name of the archive to act on,
  353.          with or without an extension.  If no extension is
  354.          supplied, then ".ARC" is assumed.  The archive
  355.          name may include path and drive specifiers.
  356.  
  357.          <template> is one or more file name templates.
  358.          The "wildcard" characters "*" and "?" may be used.
  359.          A file name template may include a path or drive
  360.          specifier, though it isn't always meaningful.
  361.  
  362.  
  363.      If ARC is invoked with no arguments (by typing "ARC",
  364.      and pressing "enter"), then a brief command summary is
  365.      displayed.
  366.  
  367.  
  368.  
  369.      Following is a brief summary of the available ARC
  370.      commands:
  371.  
  372.          a   = add files to archive
  373.          m   = move files to archive
  374.          u   = update files in archive
  375.          f   = freshen files in archive
  376.          d   = delete files from archive
  377.          x,e = extract files from archive
  378.          r   = run files from archive
  379.          p   = copy files from archive to standard output
  380.          l   = list files in archive
  381.          v   = verbose listing of files in archive
  382.          t   = test archive integrity
  383.          c   = convert entry to new storage method
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.      ARC                                         Page 3
  394. Following is a brief summary of the available ARC
  395. options, which may alter how a command works:
  396.  
  397.     m   = move files to archive
  398.     z   = include subdirectories in archive
  399.     v   = verbose mode
  400.     b   = retain backup copy of archive
  401.     s   = suppress compression (store only)
  402.     w   = suppress warning messages
  403.     n   = suppress notes and comments
  404.     o   = overwrite existing files when extracting
  405.     5   = produce only level 5 compatable archives
  406.     g   = encode or decode archive entry
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448. ARC                                              Page 4
  449.               ARC COMMANDS
  450.  
  451.  
  452.  
  453.      This section describes each of the commands.  ARC will
  454.      accept any one command at a time.  If no commands are
  455.      given, then a brief command list is displayed.
  456.  
  457.  
  458.  
  459.      ____________     ADDING FILES
  460.  
  461.      Files are added to an archive using the "A" (Add), "U"
  462.      (Update), or "F" (Freshen) commands.
  463.  
  464.      Add always adds the file.
  465.  
  466.      Update differs from Add in that the file is only added
  467.      if it is not already in the archive, or if it is newer
  468.      that the corresponding entry in the archive.
  469.  
  470.      Freshen is similar to Update, except that new files
  471.      are not added to the archive; only files already in
  472.      the archive are updated.
  473.  
  474.  
  475.      For example, if you wish to add a file named
  476.      "TEST.DAT" to an archive named "MY.ARC", you would use
  477.      a command of the form:
  478.  
  479.          ARC a my test.dat
  480.  
  481.      If you wanted to add all files with a ".C" extension,
  482.      and all files named "STUFF" to an archive named
  483.      "JUNK.ARC", you could type:
  484.  
  485.          ARC a junk *.c stuff.*
  486.  
  487.      If you have an archive named "TEXT.ARC", and you
  488.      wanted to add to it all of your files with an
  489.      extension of ".TXT" which have been created or changed
  490.      since they were last archived, then you would type:
  491.  
  492.          ARC u text *.txt
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.      ARC                                         Page 5
  504. If you have a bunch of files in your current
  505. directory, with backup copies being stored in an
  506. archive named "SAFE.ARC", then if you wanted to make
  507. sure that every file in the archive is the latest
  508. version of that file, you would type:
  509.  
  510.     ARC f safe
  511.  
  512.  
  513. A word about Update and Freshen:  These are similar in
  514. that they look at the date and time of last change on
  515. the file, and only add it if the file has been changed
  516. since it was last archived.  They differ in that
  517. Update will add new files, while Freshen will not.
  518.  
  519. In other words, Update looks for the files on disk,
  520. and adds them if they are new or have changed, while
  521. Freshen looks in the archive, and tries to update the
  522. files which are already there.
  523.  
  524.  
  525. The Add, Update, and Freshen commands may be modified
  526. by the "M" (Move) option.  The Move option tells ARC
  527. to delete the file on disk once it is safely tucked
  528. away in the archive.  For example, if you wanted to
  529. move all files in your current directory into an
  530. archive named "SUM.ARC", you could use a command of
  531. the form:
  532.  
  533.     ARC am sum *.*
  534.  
  535. When Move is combined with Update or Freshen, it
  536. deletes the files that are in the archive, even if it
  537. does not need to compress them again.  For example,
  538. suppose you extracted several files from an archive
  539. named "STUFF.ARC" and then made changes to a few of
  540. them.  Now you want to pack away the new versions of
  541. what you changed, and clean up the mess (that is,
  542. delete all the files you extracted).  You can do it
  543. easily by using the command:
  544.  
  545.     ARC fm stuff
  546.  
  547.  
  548. If the Move option is given by itself, it acts like an
  549. "Add and Move".  So in our earlier example of moving
  550. everything in your current directory into an archive
  551. named "SUM.ARC", you could also use the command:
  552.  
  553.     ARC m sum *.*
  554.  
  555.  
  556.  
  557.  
  558. ARC                                              Page 6
  559.      If you don't say which files to add, ARC adds
  560.      everything in your current directory.  So we could
  561.      shorten that to:
  562.  
  563.          ARC m sum
  564.  
  565.  
  566.      Archive entries are always maintained in alphabetic
  567.      order.  Archive entries may not have duplicate names.
  568.      If you add a file to an archive that already contains
  569.      a file by that name, then the existing entry in the
  570.      archive is replaced.  Also, the archive itself and its
  571.      backup will not be added.
  572.  
  573.      You may also add a file which is in a directory other
  574.      than your current directory.  For example, it is
  575.      perfectly legal to type:
  576.  
  577.          ARC a junk c:\dustbin\stuff.txt
  578.  
  579.      You cannot add two files with the same name.  In other
  580.      words, if you have a file named "C:\DUSTBIN\STUFF.TXT"
  581.      and another file named "C:\BUCKET\STUFF.TXT", then
  582.      typing:
  583.  
  584.          arc a junk c:\dustbin\*.* c:\bucket\*.*
  585.  
  586.      will not work.
  587.  
  588.  
  589.      ARC does not save the path name in this case.  In
  590.      other words, if you specify a drive and/or path when
  591.      adding a file, only the actual file name is stored in
  592.      the archive.
  593.  
  594.                   ___     However, you can store a subdirectory in an archive,
  595.      but you have to tell ARC that you want to do that.
  596.      When you add the "Z" option to an Add, Update, or
  597.      Freshen, ARC will store subdirectories and their
  598.      contents in such a way that it can later recreate
  599.      them.
  600.  
  601.      For example, suppose you have a directory name
  602.      C:\WASTE that you wish to place in an archive named
  603.      "TRASHCAN.ARC".  You could do this with the command:
  604.  
  605.          ARC az trashcan c:\waste
  606.  
  607.      This would cause ARC to place the C:\WASTE directory
  608.      (and all of its contents, including any subdirec-
  609.      tories) into the TRASHCAN.ARC archive.  The directory
  610.  
  611.  
  612.  
  613.      ARC                                         Page 7
  614. is stored in such a way that it can be extracted
  615. anywhere.  It could, for example, be extracted as
  616. D:\JUNKYARD\WASTE if you so desired.
  617.  
  618. If you combine the "Z" and "M" options, then the
  619. directories are removed from your disk once they are
  620. safely stored in the archive.
  621.  
  622.  
  623. ARC will not add an archive to itself, nor will it add
  624. the temporary copy or a backup copy of the archive.
  625.  
  626.  
  627. An interesting note:  It has been brought to our
  628. attention that BASIC programs compress to a smaller
  629.                    ___size when they are not tokenized.  If you are more
  630. concerned with space than speed, you may wish to
  631. convert your BASIC programs to ASCII form before
  632. adding them to an archive.  Your BASIC manual should
  633. give instructions on how to do this.
  634.  
  635.  
  636.  
  637. ________________EXTRACTING FILES
  638.  
  639. Archive entries are extracted with the "E" (Extract)
  640. or "X" (eXtract) commands.  For example, if you had an
  641. archive named "JUNK.ARC", and you wanted all files in
  642. it with an extension of ".TXT" or ".DOC" to be
  643. recreated on your disk, you could type:
  644.  
  645.     ARC x junk *.txt *.doc
  646.  
  647. If you wanted to extract all of the files in an
  648. archive named "JUNK.ARC", you could simply type:
  649.  
  650.     ARC x junk
  651.  
  652. Whatever method of file compression was used in
  653. storing the files is reversed, and uncompressed copies
  654. are created in the current directory.
  655.  
  656. You can also specify a path name, in which case the
  657. decompressed copy is placed in the specified
  658. directory.  For example, if you had an archive named
  659. "JUNK.ARC", and you wanted all files in it with an
  660. extension of ".TXT" to be placed in the directory
  661. "C:\WASTE\LAND", then you could type:
  662.  
  663.     ARC x junk c:\waste\land\*.txt
  664.  
  665.  
  666.  
  667.  
  668. ARC                                              Page 8
  669.      If you wanted to put the file "TRASH.TXT" on your A:
  670.      drive, and the file "LITTER.TXT" on your B: drive, you
  671.      could type:
  672.  
  673.          ARC x junk a:trash.txt b:litter.txt
  674.  
  675.      If you give more than one path for a file, then only
  676.      the first one is used.  For example, if you typed:
  677.  
  678.          ARC x junk a:trash.txt b:trash.txt
  679.  
  680.      then TRASH.TXT will be placed on your A: drive.
  681.  
  682.  
  683.  
  684.      ______________     DELETING FILES
  685.  
  686.      Archive entries are deleted with the "D" (Delete)
  687.      command.  For example, if you had an archive named
  688.      "JUNK.ARC", and you wished to delete all entries in it
  689.      with a filename extension of ".C", you could type:
  690.  
  691.          ARC d junk *.c
  692.  
  693.  
  694.  
  695.      _______________________     LISTING ARCHIVE ENTRIES
  696.  
  697.      You can obtain a list of the contents of an archive by
  698.      using the "L" (List) command or the "V" (Verbose list)
  699.      command.  For example, to see what is in an archive
  700.      named "JUNK.ARC", you could type:
  701.  
  702.          ARC l junk
  703.  
  704.      If you are only interested in files with an extension
  705.      of ".DOC", then you could type:
  706.  
  707.          ARC l junk *.doc
  708.  
  709.  
  710.      ARC prints a short listing of an archive's contents
  711.      like this:
  712.  
  713.          Name          Length    Date
  714.          ============  ========  =========
  715.          ALPHA.TXT         6784  16 May 85
  716.          BRAVO.TXT         2432  16 May 85
  717.          COCO.TXT           256  16 May 85
  718.                  ====  ========
  719.          Total      3      9472
  720.  
  721.  
  722.  
  723.      ARC                                         Page 9
  724. "Name" is simply the name of the file.
  725.  
  726. "Length" is the unpacked file length.  In other words,
  727. it is the number of bytes of disk space which the file
  728. would take up if it were extracted.
  729.  
  730. "Date" is the date on which the file had last been
  731. modified, as of the time when it was added to the
  732. archive.
  733.  
  734. "Total" is pretty obvious, I think.
  735.  
  736.  
  737. ARC prints a verbose listing of an archive's contents
  738. like this:
  739.  
  740. Name          Length    Stowage    SF   Size now  Date       Time    CRC
  741. ============  ========  ========  ====  ========  =========  ======  ====
  742. ALPHA.TXT         6784  Crunched   35%      4413  16 May 85  11:53a  8708
  743. BRAVO.TXT         2432  Crunched   41%      1438  16 May 85  11:53a  5BD6
  744. COCO.TXT           256   Packed     5%       244  16 May 85  11:53a  3AFB
  745.         ====  ========            ====  ========
  746. Total      3      9472             27%      6095
  747.  
  748.  
  749. "Name", "Length", and "Date" are the same as for a
  750. short listing.
  751.  
  752. "Stowage" is the compression method used.  The
  753. following compression methods are currently known:
  754.  
  755.        --          No compression.
  756.  
  757.      Packed        Runs of repeated byte values are
  758.                    collapsed.
  759.  
  760.     Crunched       Lempel-Ziv compression technique
  761.                    employed.
  762.  
  763.     Squeezed       Huffman encoding compression
  764.                    technique, as employed by an
  765.                    earlier version of ARC.
  766.  
  767.     Deviant        A nonstandard variant of Lempel-Ziv
  768.                    was employed.  Files compressed
  769.                    with this method should be
  770.                    converted (with the "C" command).
  771.  
  772.     Subdir         A subdirectory.  The files within
  773.                    the subdirectory may be viewed by
  774.                    using the "Z" option.
  775.  
  776.  
  777.  
  778. ARC                                             Page 10
  779.      "SF" is the stowage factor.  In other words, it is the
  780.      percentage of the file length which was saved by
  781.      compression.  The total stowage factor is the stowage
  782.      factor for the archive as a whole, not counting
  783.      archive overhead.
  784.  
  785.      "Size now" is the number of bytes the file is
  786.      occupying while in the archive.
  787.  
  788.      "Time" is the time of last modification, and is
  789.      associated with the date of last modification.
  790.  
  791.      "CRC" is the CRC check value which has been stored
  792.      with the file.  Another CRC value will be calculated
  793.      when the file is extracted or tested to ensure data
  794.      integrity.  There is no especially good reason for
  795.      displaying this value.
  796.  
  797.  
  798.      ARC follows a verbose listing with a report giving the
  799.      overall compression for everything in the archive and
  800.      for anything specific you selected, along with a
  801.      prediction of whether or not the files would fit on
  802.      your disk if you tried to extract them.
  803.  
  804.      For example, if you wanted to know if all of the files
  805.      with an extension of ".TXT" in an archive named
  806.      "WASTE.ARC" would fit on your D: drive, you would give
  807.      the command:
  808.  
  809.          ARC v waste d:*.txt
  810.  
  811.      At the end of the listing ARC would give its
  812.      prediction of whether or not your D: drive has room
  813.      for those files.
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.      ARC                                        Page 11
  834. _____________RUNNING FILES
  835.  
  836. Archive entries may be run without being extracted by
  837. use of the "R" (Run) command.  For example, if you had
  838. an archive named "JUNK.ARC" which contained a file
  839. named "LEMON.COM", which you wished to run, you could
  840. type:
  841.  
  842.     ARC r junk lemon
  843.  
  844. You can run any file from an archive which has an
  845. extension of ".COM", ".EXE", ".BAT", or ".BAS".  You
  846. do not have to specify the extension, but all matching
  847. files are run if you do not.  In other words, if you
  848. had an archive named "JUNK.ARC" which contained the
  849. files "LEMON.COM", "LEMON.EXE", and "LEMON.BAS", and
  850. you typed:
  851.  
  852.     ARC r junk lemon
  853.  
  854. Then all three programs will be run.  You can avoid
  855. this by specifying an extension in this case.
  856.  
  857. You can give arguments to the program you are running
  858. by appending them to the command line.  For example,
  859. if you have an archive named "JUNK.ARC" which contains
  860. a program named "LEMON.COM", and you wanted to run it
  861. giving it the argument "JUICE", you would type:
  862.  
  863.     ARC r junk lemon juice
  864.  
  865. You will need a fair amount of memory to run a program
  866. from an archive.  It probably cannot be done with less
  867. than 256k.
  868.  
  869. In practice, the file to be run is extracted, run, and
  870. then deleted.  In other words, the above example is
  871. equivalent to:
  872.  
  873.     ARC x junk lemon.com
  874.     lemon juice
  875.     erase lemon.com
  876.  
  877. If you have an archive which contains a program that
  878. you will be running often, then you should probably
  879. extract the program from the archive and use it
  880. normally.
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888. ARC                                             Page 12
  889.      ______________     PRINTING FILES
  890.  
  891.      Archive entries may be examined with the "P" (Print)
  892.      command.  This works the same as the Extract command,
  893.      except that the files are not created on disk.
  894.      Instead, the contents of the files are written to
  895.      standard output.  For example, if you wanted to see
  896.      the contents of every ".TXT" file in an archive named
  897.      "JUNK.ARC", but didn't want them saved on disk, you
  898.      could type:
  899.  
  900.          ARC p junk *.txt
  901.  
  902.      If you wanted them to be printed on your printer
  903.      instead of on your screen, you could type:
  904.  
  905.          ARC p junk *.txt >prn
  906.  
  907.  
  908.  
  909.      __________________     TESTING AN ARCHIVE
  910.  
  911.      The integrity of an archive may be tested by use of
  912.      the "T" (Test) command.  This checks to make sure that
  913.      all of the file headers are properly placed, and that
  914.      all of the files are in good shape.
  915.  
  916.      This can be very useful for critical archives, where
  917.      data integrity must be assured.  When an archive is
  918.      tested, all of the entries in the archive are unpacked
  919.      (without saving them anywhere) so that a CRC check
  920.      value may be calculated and compared with the recorded
  921.      CRC value.
  922.  
  923.      For example, if you just received an archive named
  924.      "JUNK.ARC" over a phone line, and you want to make
  925.      sure that you received it properly, you could type:
  926.  
  927.          ARC t junk
  928.  
  929.      It defeats the purpose of the T command to combine it
  930.      with N or W.
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.      ARC                                        Page 13
  944. _____________________CONVERTING AN ARCHIVE
  945.  
  946. The "C" (Convert) command is used to convert an
  947. archive entry to take advantage of newer compression
  948. techniques.  This is occasionally desirable when a new
  949. version of ARC is released.  Please refer to the
  950. revision history section for details on when new
  951. compression methods were implemented.
  952.  
  953. For example, if you had an archive named "JUNK.ARC",
  954. and you wanted to make sure that all files with an
  955. extension of ".DOC" were encoded using the very latest
  956. methods, you could type:
  957.  
  958.     ARC c junk *.doc
  959.  
  960. Or if you wanted to convert every file in the archive,
  961. you could type:
  962.  
  963.     ARC c junk
  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.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998. ARC                                             Page 14
  999.                ARC OPTIONS
  1000.  
  1001.  
  1002.  
  1003.      This section describes the options which are available
  1004.      to modify how ARC works.  Any of these options can be
  1005.      combined with any of the commands, though the result
  1006.      may not always be something you'd want to do.
  1007.  
  1008.  
  1009.  
  1010.      ___________     DIRECTORIES
  1011.  
  1012.      The "Z" option tells ARC that you wish to act on
  1013.      directories as well as files.  When combined with Add,
  1014.      Update, Freshen, or Move it tells ARC to add
  1015.      directories to the archive.  When combined with List
  1016.      or Verbose it tells ARC to list directory contents.
  1017.      (The Extract command will always extract directories,
  1018.      and does not need to be told to do so.)
  1019.  
  1020.      A directory is treated as a unit by ARC.  This means
  1021.      that when you add a directory to an archive you add
  1022.      the whole thing, including all of its files and
  1023.      subdirectories.  Likewise, when you extract a
  1024.      directory from an archive you get all of it.
  1025.  
  1026.      If you wish to make a change to a directory that is in
  1027.      an archive, you should extract it, then make whatever
  1028.      changes you want on disk, and then put the directory
  1029.      back into the archive.
  1030.  
  1031.  
  1032.  
  1033.      _____________________     LEVEL 5 COMPATIBILITY
  1034.  
  1035.      The "5" (level 5 compatibility) option can be combined
  1036.      with any comand that alters an archive.  It tells ARC
  1037.      that the resulting archive should be fully compatible
  1038.      with ARC version 5.  This is mostly necessary for
  1039.      creating archives that are to be extracted on other
  1040.      operating systems where the version of ARC available
  1041.      for that system does not yet support the ARC version 6
  1042.      extensions.
  1043.  
  1044.      When given the level 5 compatibility option, ARC will
  1045.      ensure that the resulting archive does not contain any
  1046.      directories, comments, or any extended data fields for
  1047.      non-MS-DOS operating systems.
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.      ARC                                        Page 15
  1054. ____________VERBOSE MODE
  1055.  
  1056. The "V" (Verbose) option can be used with any command,
  1057. though it isn't always meaningful.
  1058.  
  1059. When used with the List command it causes ARC to
  1060. display a "verbose listing" of the archive contents.
  1061. In fact, this is its most common use, so you can use
  1062. the Verbose option as a command for this purpose.
  1063.  
  1064. When used with any command that creates a new archive
  1065. (generally during an Add or a Move), it tells ARC to
  1066. add a note to the archive saying which version of ARC
  1067. created the archive.  This note is then automatically
  1068. updated every time the archive is modified, and is
  1069. displayed during a verbose listing.
  1070.  
  1071. Normally when ARC adds files to an archive or deletes
  1072. files from an archive it doesn't say anything about
  1073. the files it isn't changing.  When you use the verbose
  1074. option ARC will report them.
  1075.  
  1076.  
  1077.  
  1078. ________________BACKUP RETENTION
  1079.  
  1080. When ARC changes an archive (during an Add, Move,
  1081. Update, Freshen, Delete, or Convert) it creates a new
  1082. archive with the same name, but with an extension of
  1083. ".$$$".  For example, if you add a file to an archive
  1084. named STUFF.ARC, then ARC will create a new archive
  1085. named STUFF.$$$.  ARC will read from your existing
  1086. archive and write out the new archive with any changes
  1087. to the ".$$$" copy.
  1088.  
  1089. Normally when ARC is finished it deletes the original
  1090. and renames the new archive to the original name (ie.
  1091. STUFF.ARC goes away, and STUFF.$$$ becomes the new
  1092. STUFF.ARC).  Among other things, this means that if
  1093. anything goes wrong and ARC is unable to finish, then
  1094. your original archive will still be intact.
  1095.  
  1096.  
  1097. In some circumstances you may wish to retain the
  1098. original version of the archive as a backup copy.  You
  1099. can do this easily by using the Backup option.  Add
  1100. the letter "B" to your command, and ARC will rename
  1101. your original archive to have an extension of ".BAK"
  1102. instead of deleting it.
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108. ARC                                             Page 16
  1109.      In other words, if you wanted to add "WASTE.TXT" to an
  1110.      archive named "JUNK.ARC", but wanted to keep a backup
  1111.      copy, then you would type:
  1112.  
  1113.          ARC ab junk waste.txt
  1114.  
  1115.      Your original archive would become "JUNK.BAK", while
  1116.      "JUNK.ARC" would contain the new "WASTE.TXT" file.
  1117.  
  1118.  
  1119.      If you keep a backup of an archive which already has a
  1120.      backup, then the older backup copy is deleted.
  1121.  
  1122.  
  1123.  
  1124.      _______________________     SUPPRESSING COMPRESSION
  1125.  
  1126.      The "S" (Suppress compression) option can be combined
  1127.      with any command that updates archive entries.  These
  1128.      include Add, Move, Update, Freshen, and Convert.  The
  1129.      effect of the S option is to prevent any compression
  1130.      techniques from being employed.  This is intended to
  1131.      allow you to add a few files at a time to an archive
  1132.      quickly, and then later convert the archive to
  1133.      compress everything at once.
  1134.  
  1135.      For example, over the course of a day you might give
  1136.      each of the following commands:
  1137.  
  1138.          ARC as junk *.txt
  1139.          ARC as junk *.mac
  1140.          ARC as junk *.doc
  1141.  
  1142.      At the end of the day, when you have finished adding
  1143.      things to the archive, you could have all of the
  1144.      archive entries compressed at once by typing:
  1145.  
  1146.          ARC c junk
  1147.  
  1148.      You could also decompress the archive by typing:
  1149.  
  1150.          ARC cs junk
  1151.  
  1152.      though I can't imagine why you'd want to.
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.      ARC                                        Page 17
  1164. ___________________MESSAGE SUPPRESSION
  1165.  
  1166. ARC prints three types of messages: warnings,
  1167. comments, and errors.
  1168.  
  1169. Warnings are messages about suspected error
  1170. conditions, such as when a file to be extracted
  1171. already exists, or when an extracted file fails the
  1172. CRC error check.  Warnings may be suppressed by use of
  1173. the "W" (Warn) command.  You should use this command
  1174. sparingly.  In fact, you should probably not use this
  1175. command at all.
  1176.  
  1177. Comments (or notes) are informative messages, such as
  1178. naming each file as it is added to the archive.
  1179. Comments and notes may be suppressed by use of the "N"
  1180. (Note) command.
  1181.  
  1182. Errors are actual system problems, such as running out
  1183. of disk space.  You cannot suppress errors.
  1184.  
  1185.  
  1186. For example, suppose you extracted all files with an
  1187. extension of ".BAS" from an archive named "JUNK.ARC"
  1188. Then, after making some changes which you decide not
  1189. to keep, you decide that you want to extract them all
  1190. again, but you don't want to be asked to confirm every
  1191. one.  In this case, you could type:
  1192.  
  1193.     ARC xw junk *.bas
  1194.  
  1195. Or, if you are going to add a hundred files with an
  1196. extension of ".MSG" to an archive named "TRASH.ARC",
  1197. and you don't want ARC to list them as it adds them,
  1198. you could type:
  1199.  
  1200.     ARC an trash *.msg
  1201.  
  1202. Or, if you want to extract the entire contents of an
  1203. archive named "JUNK.ARC", and you don't want to hear
  1204. anything, then type:
  1205.  
  1206.     ARC xnw junk
  1207.  
  1208.  
  1209. A special case is provided when extracting files from
  1210. an archive.  One of the various warnings that can
  1211. occur is when a file being extracted already exists on
  1212. disk.  Normally, ARC will stop and ask you if you want
  1213. to overwrite the file.  This can be suppressed with
  1214. the "W" command, but that will also suppress any
  1215.  
  1216.  
  1217.  
  1218. ARC                                             Page 18
  1219.      warnings about other things, like failed CRC checks
  1220.      and such.
  1221.  
  1222.                                            ____     The "O" (Overwrite) option suppresses only the warning
  1223.      that the file already exists.  For example, in our
  1224.      earlier case of extracting all the ".BAS" files from
  1225.      "JUNK.ARC", a much safer way to do it is to type:
  1226.  
  1227.          ARC xo junk *.BAS
  1228.  
  1229.  
  1230.  
  1231.      _____________________     ENCRYPTION/DECRYPTION
  1232.  
  1233.      Archive entries may be encrypted and decrypted by
  1234.      using the "G" (Garble) option.  The Garble option
  1235.      takes the remainder of the command string as the
  1236.                                         ____     password to use, so it must be the last option.
  1237.  
  1238.  
  1239.      For example, if you wanted to add a file named
  1240.      "WASTE.TXT" to an archive named "JUNK.ARC", and you
  1241.      wanted to encrypt it using the password "DEBRIS", then
  1242.      you would type:
  1243.  
  1244.          ARC agdebris junk waste.txt
  1245.  
  1246.      Later on, when you want to extract it again, you would
  1247.      type:
  1248.  
  1249.          ARC xgdebris junk waste.txt
  1250.  
  1251.      The password you supply is used to encrypt (or
  1252.      decrypt) the archive entry by performing an exclusive
  1253.      OR between each byte of the packed data and each byte
  1254.      of the password.  The password can be any length, and
  1255.      each of its bytes is used in rotation.  The password
  1256.      is converted to uppercase before it is used, so it is
  1257.      ___     not case sensitive.  Since the encryption is performed
  1258.      on the packed data, it has no effect on stowage
  1259.      factors.
  1260.  
  1261.      This is not a particularly sophisticated means of
  1262.      encryption.  Still, since it is performed on the
  1263.      packed data, the result should be quite sufficient for
  1264.      casual use.
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.      ARC                                        Page 19
  1274. You can, if you wish, use different passwords for
  1275. different files in an archive, but we advise against
  1276. it.  If you are going to encrypt an archive, we
  1277. suggest you use the same password for every file, and
  1278. give the password whenever you do anything at all with
  1279. the archive.  It is possible to list the entries in an
  1280. encrypted archive using the "L" and "V" commands
  1281. without giving the password, but nothing else will
  1282. work properly.
  1283.  
  1284.  
  1285. We advise that you use this option sparingly, if at
  1286. all.  If you should forget or mistype your password,
  1287. it is highly unlikely that you will ever recover your
  1288. data.
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328. ARC                                             Page 20
  1329.                INDIRECTION
  1330.  
  1331.  
  1332.  
  1333.      The list of filenames given to ARC may include
  1334.      indirect references.  If a filename begins with an "at
  1335.      sign" ("@"), it is taken to be the name of a file
  1336.      which contains a list of file names.  The list of file
  1337.      names may include further indirection.  For example,
  1338.      the command:
  1339.  
  1340.          arc a waste junk.txt @trash
  1341.  
  1342.      would cause ARC to add JUNK.TXT plus all files listed
  1343.      in the file TRASH to an archive named WASTE.ARC.  If
  1344.      no file is specified, then the list is read from
  1345.      standard input.
  1346.  
  1347.      When the N option (suppress Notes) is used with the L
  1348.      (List files) command, it causes a terse listing of
  1349.      filenames only, suitable for use with pipes and
  1350.      redirection.  This can be combined with indirection to
  1351.      easily perform many tasks.
  1352.  
  1353.      For example, the command:
  1354.  
  1355.          arc ln waste | arc a trash @
  1356.  
  1357.      would cause ARC to add files to TRASH.ARC based on the
  1358.      names of the files stored in WASTE.ARC.
  1359.  
  1360.      If by some chance you want to archive a file whose
  1361.                  ____     name really does begin with an at sign, then preceed
  1362.      the name with a forward slash ("/").  For example, to
  1363.      add a file named "@DUST.DAT" to an archive named
  1364.      "TRASHCAN.ARC", you would type:
  1365.  
  1366.          arc a trashcan /@dust.dat
  1367.  
  1368.  
  1369.      The MARC program also allows for indirection.
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.      ARC                                        Page 21
  1384.         RAMDISK SUPPORT
  1385.  
  1386.  
  1387.  
  1388. If you have a RAMdisk, or other high-speed storage,
  1389. then you can speed up ARC somewhat by telling it to
  1390. put its temporary files on the RAMdisk.  You do this
  1391. by setting the ARCTEMP environment string with the
  1392. MS-DOS SET command.  For example, if drive B: is your
  1393. RAMdisk, then you would type:
  1394.  
  1395.     set ARCTEMP=B:
  1396.  
  1397. Refer to the MS-DOS manual for more details about the
  1398. SET command.  You need only set the ARCTEMP string
  1399. once, and ARC will use it from then on until you
  1400. change its value or reboot your system.
  1401.  
  1402.  
  1403. If ARC does not find an environment string named
  1404. ARCTEMP, then it looks for one named TEMP to use
  1405. instead.  Several packages already use the TEMP string
  1406. for exactly this purpose.  If you have need of an
  1407. environment string named TEMP for something else, then
  1408. you should be sure to define ARCTEMP.
  1409.  
  1410.  
  1411. There are a limited number of temporary files created
  1412. by ARC.  The Convert command uses a file named
  1413. "$ARCTEMP.CVT" to hold each file as it is being
  1414. converted.  The Run command also creates a temporary
  1415. file, which has the name "$ARCTEMP", and whose
  1416. extension matches that of the file being run.
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438. ARC                                             Page 22
  1439.              VERSION NUMBERS
  1440.  
  1441.  
  1442.  
  1443.      There seems to be some confusion about our version
  1444.      numbering scheme.  All of our version numbers are
  1445.      given as a number with two decimal places.
  1446.  
  1447.      The units indicate a major revision, such as adding a
  1448.      new packing algorithm.
  1449.  
  1450.      The first decimal place (tenths) indicates a minor
  1451.      revision that is not essential, but which may be
  1452.      desired.
  1453.  
  1454.      The second decimal place (hundredths) indicates a
  1455.      trivial revision that will probably only be desired by
  1456.      specific individuals or by die-hard "latest version"
  1457.      fanatics.
  1458.  
  1459.      ARC also displays its date and time of last edit.  A
  1460.      change of the date and time without a corresponding
  1461.      change in version number indicates a truly trivial
  1462.      change, such as fixing a spelling error.
  1463.  
  1464.  
  1465.      To sum up: If the units change, then you should get
  1466.      the newer version as soon as you can.  If the tenths
  1467.      change, then you may want to get the newer version,
  1468.      but there's no hurry.  If anything else changes, then
  1469.      you probably shouldn't bother.
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.      ARC                                        Page 23
  1494.  COMMON QUESTIONS AND ANSWERS
  1495.  
  1496.  
  1497.  
  1498. Here are some of the more common questions we've
  1499. received about ARC, along with their answers:
  1500.  
  1501.  
  1502. Q: Why does ARC run out of room if I make an archive
  1503.    bigger than about 180k?
  1504.  
  1505. A: Because you are working on a floppy disk.  ARC
  1506.    creates a copy of your archive, incorporating any
  1507.    new files as it goes.  When it is done, it deletes
  1508.    the original and renames the new one.  There are a
  1509.    number of reasons for doing it this way, one being
  1510.    that your original archive is still intact if
  1511.    anything happens while ARC is running.
  1512.  
  1513.    You can save some space by using drive specifiers
  1514.    and having the archive and the files to add on
  1515.    separate disks, but you still won't be able to make
  1516.    an archive larger than about 180k.  If you need to
  1517.    make a larger archive, and if you have a fixed
  1518.    disk, then you can create the archive on the fixed
  1519.    disk and then copy it to the floppy.
  1520.  
  1521.  
  1522. Q: I've seen an ARC.COM and an ARC.EXE.  Which one is
  1523.    the right one?
  1524.  
  1525. A: ARC.EXE.  One or more people have been running ARC
  1526.    through a utility that converts an ".EXE" file to a
  1527.    ".COM" file.  But this utility is designed to save
  1528.    _____   space, not speed.  On ARC it saves about 250 bytes,
  1529.    and makes no measurable difference in program
  1530.    speed.  We've decided that the savings are not
  1531.    worth the extra step in development in this case.
  1532.  
  1533.  
  1534. Q: How can I get the latest version of ARC?
  1535.  
  1536. A: ARC updates are distributed through normal
  1537.    shareware channels.  We also ship a program update
  1538.    disk on every order of $50 or more.  Also, please
  1539.    refer to the next section for information about our
  1540.    maintenance contracts.
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548. ARC                                             Page 24
  1549.      Q: Can I distribute my public domain or shareware
  1550.         program in an ARC format archive?
  1551.  
  1552.      A: Yes, of course.
  1553.  
  1554.  
  1555.      Q: Can I use ARC to distribute my commercial software
  1556.         package?
  1557.  
  1558.      A: Yes, provided that you obtain a commercial
  1559.         distribution license from us.  Please contact us
  1560.         for details.
  1561.  
  1562.  
  1563.      Q: Why not allow me to select which method of
  1564.         compression I want ARC to use?
  1565.  
  1566.      A: It would needlessly complicate ARC, both internally
  1567.         and in use.  The exact nature of the compression
  1568.         methods used are complex, and quite different.  The
  1569.         only sure way to tell which will be best in any
  1570.         given case is to analyze the data, as ARC does.
  1571.         The method chosen may not always be what you
  1572.         expect.
  1573.  
  1574.  
  1575.      Q: ARC keeps giving me an odd error message.  It says
  1576.         "Drive not ready.  Abort, Retry, Ignore?"  What
  1577.         does this mean?
  1578.  
  1579.      A: Close the latches ("doors") on your floppy disk
  1580.         drives, then press the "R" key.
  1581.  
  1582.  
  1583.      Q: How can I tell ARC to make an archive that goes on
  1584.         more than one floppy disk?
  1585.  
  1586.      A: Create the archive on your fixed disk, and then use
  1587.         the BACKUP command (or other backup utility).
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.      ARC                                        Page 25
  1604.      MAINTENANCE CONTRACTS
  1605.  
  1606.  
  1607.  
  1608. Registered users of ARC receive 30 days of telephone
  1609. support at no extra charge.  If you wish, you can
  1610. extend this by purchasing a maintenance contract.
  1611.  
  1612. A maintenance contract costs $50 per year.  In
  1613. addition to telephone support you also receive free
  1614. updates to ARC as soon as they are available, and a
  1615.                      ______ _____free subscription to Making Waves, the SEA customer
  1616. support newsletter.
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658. ARC                                             Page 26
  1659.             REVISION HISTORY
  1660.  
  1661.  
  1662.  
  1663.      ____________________     CHANGES IN VERSION 5
  1664.  
  1665.      The Move command used to delete the files as it went.
  1666.      It now waits until it is finished updating the
  1667.                                                   ___     archive, and deletes them all at once.  (You did know
  1668.      that Move is just an Add where the file gets deleted,
  1669.      didn't you?)  This, along with the changes made in
  1670.      version 4.5, means that it is now much safer to
  1671.      interrupt ARC while it is working.
  1672.  
  1673.      The Print command no longer prints the name of each
  1674.      file.  Instead, it prints a formfeed after each file.
  1675.  
  1676.      The Run command now supports BASICA programs.  Also,
  1677.      the filename extension is no longer required on the
  1678.      Run command.
  1679.  
  1680.      The Garble option was added.  It provides a convenient
  1681.      means of low level data security for the casual user.
  1682.      Use it sparingly, if at all.
  1683.  
  1684.      ARC no longer tests for the presence of $ARCTEMP.CRN
  1685.      before creating a new one.  If you interrupt ARC a
  1686.      lot, you'll find this much more convenient.  If you
  1687.      happen to have a file named $ARCTEMP.CRN which you
  1688.      want to keep, too bad.
  1689.  
  1690.      Improved error recovery was added when reading an
  1691.      archive.  ARC now has a good chance of recovering the
  1692.      data from a corrupted archive (the corrupted entry is
  1693.      still lost, of course).
  1694.  
  1695.      Path support has been added for all commands, though
  1696.      it doesn't do anything on most of them.  For example,
  1697.      there isn't much we can do with a path in the List
  1698.      command.  But many users will be glad to know that a
  1699.      path can be used when extracting a file, and specifies
  1700.      where the file is to be placed.
  1701.  
  1702.      Support for the TEMP environment string was added.  If
  1703.      ARC doesn't find an environment string named ARCTEMP,
  1704.      then it looks for one named TEMP to use instead.
  1705.      Several packages already use the TEMP string for
  1706.      exactly this purpose.
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.      ARC                                        Page 27
  1714. ARC is now using a different variation of Lempel-Ziv
  1715. coding, courtesy of Kent Williams, who found it on
  1716. USENET and adapted it to the IBM PC.  The new method
  1717. differs from the old in several respects.  The most
  1718. significant differences are:
  1719.  
  1720. 1) Where our previous implementation used a fixed code
  1721.    size of twelve bits, the new one starts with a code
  1722.    size of nine bits and increases it as it needs to.
  1723.  
  1724. 2) The earlier method tended to "choke" on large files
  1725.    when its string table filled up.  The new method
  1726.    has a rather ingenious scheme its authors call
  1727.    ______________   adaptive reset.  When it notices that its string
  1728.    table has filled, and its compression ratio is
  1729.    starting to suffer, it clears the table and starts
  1730.    defining new strings.
  1731.  
  1732. The previous implementation of Lempel-Ziv coding is no
  1733. longer used to pack files.  The "V" (Verbose listing)
  1734. command distinguishes between the two by referring to
  1735. the older method as "crunched" (with a lower-case
  1736. "c"), and the newer method as "Crunched" (with a
  1737. capital "C").
  1738.  
  1739. Rick Moore discovered that ARC was occasionally adding
  1740. an archive to itself.  This would only happen when the
  1741. archive is in the same directory as the files being
  1742. added, and its name comes last.  This bug has been
  1743. fixed, though it is still possible to fool ARC into
  1744. adding an archive to itself by getting tricky with
  1745. path names.
  1746.  
  1747. Dana Montgomery found the upper limit on how many
  1748. files can be added to an archive.  There's always been
  1749. an upper limit, but it depends on memory, and used to
  1750. be larger than anyone could possibly want (knock on
  1751. wood).  However, the added memory requirements as of
  1752. version 5.0 lowered this limit into the realm of
  1753. possibility, somewhere around 300 files.  We change
  1754. some things around, and effectively, there is no
  1755. longer a limit on how many files you can add at once.
  1756. ARC will add the files in batches of as many as it can
  1757. handle at one time.
  1758.  
  1759. The Run command has been modified to allow passing
  1760. command line arguments to the program being run.
  1761.  
  1762. Indirection was added, and the List command was
  1763. modified to give a terse listing suitable for use with
  1764. indirection when the N option is employed.
  1765.  
  1766.  
  1767.  
  1768. ARC                                             Page 28
  1769.      A bug was found that would keep an archive entry from
  1770.      being encrypted if it was stored without compression.
  1771.      This has now been fixed.
  1772.  
  1773.      If changes are made to a corrupted archive, the
  1774.      corrupted entries are discarded.  This makes it
  1775.      possible to lose data accidentally.  ARC will now only
  1776.      make changes to a corrupted archive if the W (suppress
  1777.      Warnings) option has been given.
  1778.  
  1779.      Support for a nonstandard variation of Lempel-Ziv was
  1780.      added.
  1781.  
  1782.      Two new utilities, SCANDISK and SQDIR, were added to
  1783.      the ARC program disk.  Full program sources for both
  1784.      are included in UNDEL.ARC on the ARC source disk.
  1785.  
  1786.  
  1787.  
  1788.      ______________________     CHANGES IN VERSION 5.3
  1789.  
  1790.      A minor bug caused earlier versions of ARC to output
  1791.      an extra carriage return on an end of line when
  1792.      dumping text to standard output with the "P" command.
  1793.      This has now been fixed.
  1794.  
  1795.      Greatly enhanced error recovery has been added to deal
  1796.      with corrupted or partially damaged archives.  The
  1797.      corrupted data itself is still lost, of course, but
  1798.      ARC will recover everything possible.
  1799.  
  1800.      ARC has been fully ported to Microsoft C version 5.1.
  1801.      This has resulted in a small speed improvement, and
  1802.      should make it easier to port ARC to other operating
  1803.      systems.
  1804.  
  1805.      A new utility, MKSARC, was added to the ARC program
  1806.      disk.  Regretfully, we cannot release the program
  1807.      sources for MKSARC.
  1808.  
  1809.  
  1810.  
  1811.      ______________________     CHANGES IN VERSION 6.0
  1812.  
  1813.      Version 6.0 is a major upgrade for ARC.  It is a
  1814.      substantial rewrite that greatly improves overall
  1815.      performance.  ARC is now as fast as any comparable
  1816.      program, or faster.  The changes are primarily in
  1817.      internal organization of the code, so that versions
  1818.      ported to other operating systems should experience a
  1819.      substantial performance boost as well.
  1820.  
  1821.  
  1822.  
  1823.      ARC                                        Page 29
  1824. We've also added support for directories, allowing
  1825. entire directory trees to be added or moved into an
  1826. archive, and later extracted.
  1827.  
  1828. We've also designed and implemented a method whereby
  1829. versions of ARC ported to other operating systems can
  1830. record system-specific information in a compatible
  1831. manner.  This includes provisions for longer
  1832. filenames, more date/time stamps, and even icon
  1833. bitmaps.  Contact us for details or see the comments
  1834. in the ARC sources if you are interested in using this
  1835. capability in a version of ARC for a different
  1836. operating system.
  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.  
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878. ARC                                             Page 30
  1879.        PROGRAM HISTORY AND CREDITS
  1880.  
  1881.  
  1882.  
  1883.      In its short life thus far, ARC has astounded us with
  1884.      its popularity.  We first wrote it in March of 1985
  1885.      because we wanted an archive utility that used a
  1886.      distributive directory approach, since this has
  1887.      certain advantages over the then popular central
  1888.      directory approach.  We added automatic squeezing in
  1889.      version 2 at the prompting of a friend.  In version
  1890.      2.1 we added the code to test for the best compression
  1891.      method.  In less than a year we found that our humble
  1892.      little program had spread across the country, and
  1893.      seems to have become a new institution.
  1894.  
  1895.      We are thankful for the support and appreciation we
  1896.      have received.  We hope that you find this program of
  1897.      use.
  1898.  
  1899.  
  1900.      If we have achieved greatness, it is because we have
  1901.      stood upon the shoulders of giants.  Nothing is
  1902.      created as a thing unto itself, and ARC is no
  1903.      exception.  Therefore, we would like to give credit to
  1904.      the following people, without whose efforts ARC could
  1905.      not exist:
  1906.  
  1907.  
  1908.      Brian W. Kernighan and P. J. Plauger, whose book
  1909.      "Software Tools" provided many of the ideas behind the
  1910.      distributive directory approach used by ARC.
  1911.  
  1912.      Dick Greenlaw, who wrote the public domain SQ and USQ
  1913.      programs, in which the Huffman squeezing algorithm was
  1914.      first developed.
  1915.  
  1916.      Kent Williams, who graciously allowed us to use his
  1917.      LZWCOM and LZWUNC programs as a basis for our Lempel-
  1918.      Ziv compression logic, and who continues to make
  1919.      valuable contributions.
  1920.  
  1921.      David Schwaderer, whose article in the April 1985
  1922.      issue of PC Tech Journal provided us with the logic
  1923.      for calculating the CRC 16 bit polynomial.
  1924.  
  1925.      Terry A. Welch, whose article "A Technique for High
  1926.      Performance Data Compression", IEEE Computer Vol 17 No
  1927.      6 (June 1984) seems to have started all the research
  1928.      on Lempel-Ziv coding.
  1929.  
  1930.  
  1931.  
  1932.  
  1933.      ARC                                        Page 31
  1934. Spencer W. Thomas, Jim McKie, Steve Davies, Ken
  1935. Turkowski, James A.  Woods, and Joe Orost, who are the
  1936. authors of the UNIX compress utility.
  1937.  
  1938. Karl Schinke, who is the friend that suggested that we
  1939. add compression to ARC.
  1940.  
  1941. Alex Jacobs, who in June of 1985 sent us the very
  1942. first shareware contribution we ever received.
  1943.  
  1944.  
  1945. And many, many others whom we could not identify.
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.  
  1987.  
  1988. ARC                                             Page 32
  1989.              BULLETIN BOARDS
  1990.  
  1991.  
  1992.  
  1993.      ARC is distributed mainly through shareware channels.
  1994.      Among other things, this means that ARC is available
  1995.      from many bulletin board systems.  In fact, the system
  1996.      operators (sysops) of many bulletin boards have taken
  1997.      to storing almost all of their downloadable files in
  1998.      archives to save themselves disk space and to save
  1999.      their users time.
  2000.  
  2001.      This also makes things more convenient for the
  2002.      bulletin board users, since one archive may contain
  2003.      several programs, any related data files, and the
  2004.      documentation.  Many shareware authors have taken to
  2005.      distributing their software in archives to help ensure
  2006.      that the users receive everything.
  2007.  
  2008.      Obviously, we can't do that with ARC.  As a result,
  2009.      many of our users have ARC, but don't have the manual.
  2010.      Most of our customer support calls come from people
  2011.      who have never seen the manual, and in many cases
  2012.      didn't even know that one exists!
  2013.  
  2014.      To solve this problem we developed what is in essence
  2015.      a self-unpacking archive.  We distribute this as
  2016.      "ARCxxx.EXE", where "xxx" is the current version
  2017.      number.  For example, ARC version 6.00 would be
  2018.      distributed as "ARC600.EXE".  This program, when run,
  2019.      unpacks itself into a copy of ARC plus its
  2020.      documentation.
  2021.  
  2022.      Now that we've gone to all that work, we'd really
  2023.      appreciate it if you would use this program when you
  2024.      distribute ARC.
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.      ARC                                        Page 33
  2044.          SITE LICENSES
  2045.  
  2046.  
  2047.  
  2048. Corporate users may wish to obtain a site license for
  2049. the use of ARC.  Please use the order form in this
  2050. manual to order a site license.  Site licenses are
  2051. granted as of when we receive your payment.  License
  2052. fees vary depending on the number of computers on
  2053. which ARC will be used, as follows:
  2054.  
  2055.  
  2056.              1 machine            $50
  2057.      2  to   9 machines           $35 per machine
  2058.     10  to  24 machines           $25 per machine
  2059.     25  to  49 machines           $20 per machine
  2060.     50 or more machines           $15 per machine
  2061.  
  2062.     100 or more machines at one location    $1500
  2063.  
  2064.  
  2065.  
  2066. Enclosed is a site license agreement, which should be
  2067. signed and sent with your payment when ordering a
  2068. commercial site license.
  2069.  
  2070.  
  2071. A commercial site license does not include additional
  2072. copies of the ARC program disk and the ARC manual.
  2073. Instead, you make your own copies of the disk and
  2074. manual as you need them.  If you wish, you can order
  2075. additional program disks and manuals from us.
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098. ARC                                             Page 34
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.             The SEA Utilities
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.                    COPYRIGHT 1985,86,87,88,89
  2141.                                by
  2142.                System Enhancement Associates, Inc.
  2143.                        ALL RIGHTS RESERVED
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.        LIMITED WARRANTY
  2155.  
  2156.  
  2157. IMPORTANT NOTICE:IMPORTANT NOTICE: Any use of this software for any
  2158. period of time for any purpose whatsoever constitutes
  2159. your unqualified acceptance of this LICENSE and
  2160. subjects you to all of the terms and conditions set
  2161. forth below:
  2162.  
  2163. System Enhancement Associates, Inc. ("SEA") warrants
  2164. to any Licensee that acquires the program from SEA or
  2165. an authorized SEA representative ONLY that:
  2166.  
  2167.  1) All diskettes SEA provides constitute an accurate
  2168.     duplication of the software and SEA will replace
  2169.     any diskette found to be defective within 30 days
  2170.     from date of acquisition.  SEA will not honor this
  2171.     warranty if the diskette has been subjected to
  2172.     physical abuse, or used in defective or non-
  2173.     compatible equipment.
  2174.  
  2175.  2) SEA's software will perform substantially as
  2176.     described in the documentation SEA regularly
  2177.     supplies with that software, if operated as
  2178.     prescribed in such documentation including the
  2179.     hardware and software environment specified.
  2180.  
  2181.  3) If a significant defect in any program is found,
  2182.     Licensee's only remedy shall be to receive refund
  2183.     of the actual fee Licensee paid for such defective
  2184.     program.  In no event will such a refund exceed
  2185.     the fee SEA charges for such program.
  2186.  
  2187.  4) SEA makes no warranty or representation that the
  2188.     software will be error free nor that its use by
  2189.     Licensee will be uninterrupted.
  2190.  
  2191. Except as provided above, SEA disclaims all other
  2192. warranties, either express or implied, including but
  2193. not limited to any implied warranty of merchantability
  2194. or fitness for any particular purpose.
  2195.  
  2196. Licensee agrees to take full responsibility for the
  2197. selection of and any use whatsoever made of the
  2198. software.
  2199.  
  2200. IN NO EVENT WILL SEA BE LIABLE FOR ANY DAMAGES
  2201. WHATSOEVER (INCLUDING WITHOUT LIMITATION DAMAGES FOR
  2202. LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS
  2203. OF BUSINESS INFORMATION OR THE LIKE) ARISING OUT OF
  2204. THE USE OF, INTERRUPTION IN THE USE OF, OR INABILITY
  2205. TO USE THIS SOFTWARE, EVEN IF SEA HAS BEEN ADVISED OF
  2206. ANY POSSIBILITY OR LIKELYHOOD OF SUCH DAMAGES.
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.             TABLE OF CONTENTS
  2218.  
  2219.  
  2220.      _______                                           ____     Section                                           Page
  2221.  
  2222.      Introduction  ....................................  39
  2223.      MKSARC  ..........................................  39
  2224.      ARCE  ............................................  40
  2225.      MARC  ............................................  41
  2226.      ARCP and MARCP  ..................................  42
  2227.      ASCII  ...........................................  43
  2228.      CHMOD  ...........................................  44
  2229.      FAKEY  ...........................................  45
  2230.          Hexadecimal BIOS keystroke codes  ............  49
  2231.      MAKEY  ...........................................  51
  2232.      LF  ..............................................  52
  2233.      PARBOOT  .........................................  61
  2234.      SCANDISK  ........................................  62
  2235.      SCROLOCK  ........................................  65
  2236.      SOFTBELL  ........................................  65
  2237.      SQDIR  ...........................................  66
  2238.      TASK  ............................................  66
  2239.      TDIR  ............................................  68
  2240.      UNDEL  ...........................................  68
  2241.      OHMYGAWD  ........................................  70
  2242.      Your notes  ......................................  72
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.  
  2263.  
  2264.  
  2265.  
  2266.  
  2267.  
  2268.  
  2269.  
  2270.  
  2271.  
  2272.           BLANK PAGE
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326. SEA Tools                                       Page 38
  2327.               INTRODUCTION
  2328.  
  2329.  
  2330.  
  2331.      The ARC program disk includes several other programs
  2332.      in addition to ARC.  These are various utilities
  2333.      created by SEA to do various things, and are included
  2334.      on the disk as our way of thanking you for supporting
  2335.      ARC.  The one exception is ARCE.COM, which was written
  2336.      by Vern Buerg and Wayne Chin, and which SEA has
  2337.      licensed to include on the ARC disk as a service to
  2338.      our customers.
  2339.  
  2340.      Full program sources for everything on the ARC disk
  2341.      (with the exception of ARCE and MKSARC) are available
  2342.      from System Enhancement Associates, Inc.
  2343.  
  2344.      We will now describe the various programs that are
  2345.      included on the ARC program disk.
  2346.  
  2347.  
  2348.  
  2349.      ______     MKSARC
  2350.  
  2351.      MKSARC is used to convert an archive into a self-
  2352.      unpacking program.  It takes one argument, which is
  2353.      the name of the archive to convert.  For example, if
  2354.      you had an archive called "WASTE.ARC" and you typed:
  2355.  
  2356.          MKSARC waste
  2357.  
  2358.      then MKSARC would create a new file called "WASTE.EXE"
  2359.      which would be a self-unpacking version of "WASTE.ARC"
  2360.      (your original "WASTE.ARC" archive is left untouched).
  2361.      This can now be unpacked simply by typing:
  2362.  
  2363.          waste
  2364.  
  2365.      You can also supply a second argument to specify the
  2366.      name of the resulting program.  For example, if you
  2367.      typed:
  2368.  
  2369.          MKSARC waste trash
  2370.  
  2371.      then MKSARC would create a new file called "TRASH.EXE"
  2372.      instead of "WASTE.EXE".
  2373.  
  2374.      At this time only level 5 compatible archives may be
  2375.      turned into self-unpacking programs.
  2376.  
  2377.  
  2378.  
  2379.  
  2380.  
  2381.      SEA Tools                                  Page 39
  2382. MKSARC works by adding a self-extraction header
  2383. program (called SARC) to the beginning of the archive.
  2384. This adds about 7800 bytes to the length of the
  2385. archive.  SARC recognizes the same options as ARCE,
  2386. including integrity testing and decryption, and may be
  2387. told specific files to extract.  If a self-unpacking
  2388. program is given the "/H" option, it will display a
  2389. brief help screen.
  2390.  
  2391. Before SARC begins extracting files it first performs
  2392. an internal integrity check to ensure that the SARC
  2393. header itself has not been damaged.  If it fails the
  2394. integrity check, it will abort with the message:
  2395.  
  2396.     Unpacker has been corrupted!
  2397.  
  2398. The files contained in the  self-unpacking program may
  2399. still be extracted with ARC.
  2400.  
  2401.  
  2402. NOTE:NOTE: The copyright notice that is printed when SARC
  2403. runs refers to the SARC self-extraction header itself,
  2404. ___not the entire self-unpacking archive.
  2405.  
  2406.  
  2407.  
  2408. ____ARCE
  2409.  
  2410. ARCE is a program which is used to extract files from
  2411.                      ____an archive.  It will only extract files.  It doesn't
  2412. do anything that ARC can't do, but it is highly
  2413. optimized for the sole purpose of archive extraction,
  2414. so it is very small and very fast.  The ARCE program
  2415. has been shown in benchmark tests to be the world's
  2416. fastest archive extractor.
  2417.  
  2418. ARCE is used in a fashion very similar to the "ARC E"
  2419. command (hence the name).  The first argument is the
  2420. name of the archive to extract files from, and may
  2421. include a drive and path specifier.  Up to sixteen
  2422. additional arguments can be supplied, which specify
  2423. the files to extract.  The wildcard characters "*" and
  2424. "?" are allowed, as with ARC.  If no files are named,
  2425. then all files are extracted from the archive.  If the
  2426. file being extracted already exists, you are asked
  2427. whether or not you want to overwrite it.  You can use
  2428. the "/R" option to bypass this.
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436. SEA Tools                                       Page 40
  2437.      For example, if you had an archive named "WASTE.ARC"
  2438.      that you wanted to extract everything from, then you
  2439.      could type:
  2440.  
  2441.          ARCE waste
  2442.  
  2443.      Or if you just wanted to extract the files with a
  2444.      filename extension of ".ASM", you could type:
  2445.  
  2446.          ARCE waste *.asm
  2447.  
  2448.      If you already have a few files from the archive that
  2449.      you want replaced, then you could type:
  2450.  
  2451.          ARCE waste *.asm /R
  2452.  
  2453.  
  2454.      ARCE also has options for extracting to standard
  2455.      output, for testing archive integrity, and for
  2456.      extracting encrypted files.  The full documentation
  2457.      for ARCE is included on the ARC program disk.
  2458.  
  2459.      If you run ARCE with no arguments at all, it will give
  2460.      you a brief reminder of how to use it.
  2461.  
  2462.  
  2463.      NOTICE:     NOTICE: ARCE is the copyrighted property of Vernon D.
  2464.              Buerg and Wayne Chin.  It is included on the
  2465.              ARC program disk as a service to ARC users.
  2466.  
  2467.              Vernon D. Buerg
  2468.              456 Lakeshire Drive
  2469.              Daly City, CA  94015
  2470.              RBBS: (415) 994-2944
  2471.  
  2472.  
  2473.  
  2474.      ____     MARC
  2475.  
  2476.      MARC is used to merge archives created by ARC.  MARC
  2477.      moves files from one archive to another without
  2478.      unpacking them.
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.      SEA Tools                                  Page 41
  2492. MARC is used as follows:
  2493.  
  2494.     MARC <target> <source> [<template> . . .]
  2495.  
  2496. Where:
  2497.  
  2498.     <target> is the name of the archive to add files
  2499.     to.
  2500.  
  2501.     <source> is the name of the archive to read files
  2502.     from.
  2503.  
  2504.     <template> is one or more file name templates.
  2505.     The wildcard characters "*" and "?" may be used.
  2506.     If no template is supplied, then all of the files
  2507.     in <source> are added to <target>.
  2508.  
  2509. It is not necessary for the target to exist.  If it
  2510. does not exist, then it is created.  Thus, MARC can be
  2511. used as an "extractor" as well as a "merger".
  2512.  
  2513. For example, if you wanted to create an archive named
  2514. "JUNK.ARC", which is to contain all of the files with
  2515. an extension of ".TXT" which are currently contained
  2516. in another archive named "WASTE.ARC", then you could
  2517. type:
  2518.  
  2519.     MARC junk waste *.txt
  2520.  
  2521. If you wanted to create an archive named "JUNK.ARC",
  2522. which is to contain all of the files currently in the
  2523. archives "WASTE.ARC" and "TRASH.ARC", you could type:
  2524.  
  2525.     MARC junk waste
  2526.     MARC junk trash
  2527.  
  2528.  
  2529.  
  2530. ______________ARCP and MARCP
  2531.  
  2532. ARCP and MARCP are "protected mode" versions of ARC
  2533. and MARC which will run under the OS/2 operating
  2534. system.  They function exactly the same as their
  2535. MS-DOS counterparts.
  2536.  
  2537.  
  2538.  
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546. SEA Tools                                       Page 42
  2547.      _____     ASCII
  2548.  
  2549.      ASCII is a program that scans a file for strings of
  2550.      printable text.  This can be handy in several
  2551.      situations, like checking out an upload for "gotcha"
  2552.      messages, peeking at a new adventure game for hints,
  2553.      and many other practical endeavors.
  2554.  
  2555.      ASCII takes one argument, the name of the file to
  2556.      examine.
  2557.  
  2558.      How ASCII functions may be modified by using the
  2559.      following command line options:
  2560.  
  2561.      /m<min>       Minimum;  ASCII normally does not
  2562.                    consider text to be a "string" unless it
  2563.                    is at least four characters long.  This
  2564.                    tells ASCII to show any strings that
  2565.                    area <min> characters long or longer.
  2566.  
  2567.      /w<width>     Width;  ASCII normally formats its
  2568.                    output for an 80-column screen.  This
  2569.                    tells ASCII to format for a <width>
  2570.                    columns screen.
  2571.  
  2572.      /l<length>    Length;  ASCII normally scrolls its
  2573.                    output to the screen continuously.  This
  2574.                    tells ASCII to stop with a "more" prompt
  2575.                    every <length> lines.
  2576.  
  2577.      /f            Filter;  ASCII normally reads from a
  2578.                    file you specify.  This tells ASCII to
  2579.                    instead read  from "standard input".
  2580.  
  2581.      /r            Raw output;  ASCII normally prints the
  2582.                    text it finds in a human-readable report
  2583.                    giving offsets into the file.  This
  2584.                    tells ASCII to skip the offsets and just
  2585.                    dump out the text.  The output is still
  2586.                    broken by an end-of-line every 80
  2587.                    columns (or whatever you specify with
  2588.                    the /w option).
  2589.  
  2590.      /x            eXtended character set;  ASCII normally
  2591.                    displays only printable ASCII
  2592.                    characters.  This tells ASCII to also
  2593.                    show carriage returns (as a left
  2594.                    pointing arrow), linefeeds (as a down
  2595.                    pointing arrow) and horizontal tabs (as
  2596.                    a right pointing arrow).
  2597.  
  2598.  
  2599.  
  2600.  
  2601.      SEA Tools                                  Page 43
  2602. For example, if you wanted to see all of the printable
  2603. text strings in a file called TRASH.EXE, with the
  2604. output formatted for a 40-column screen and with a
  2605. pause every 24 lines, you could give the command:
  2606.  
  2607.     ASCII trash.exe /w40 /l24
  2608.  
  2609.  
  2610.  
  2611. _____CHMOD
  2612.  
  2613. CHMOD is used to examine and change file attributes.
  2614. Each attribute is represented by a single letter, as
  2615. follows:
  2616.  
  2617. ______   _______Letter   Meaning
  2618.  
  2619. D        Directory.  This marks a subdirectory
  2620.          containing more files.  This bit cannot be
  2621.          changed.
  2622.  
  2623. R        Read only.  The file may be examined, but may
  2624.          not be altered.
  2625.  
  2626. H        Hidden.  The file will not appear in
  2627.          directory searches.
  2628.  
  2629. S        System.  This acts like a combination of R
  2630.          and H, which it usually appears with.
  2631.  
  2632. A        Archive.  This has nothing to do with the ARC
  2633.          file archive utility.  It means that the file
  2634.          has been changed since you last backed up
  2635.          your disk.
  2636.  
  2637. If you wanted to see what attributes are presently set
  2638. on all ofthe files in your current directory that have
  2639. an extension of ".COM", you would type:
  2640.  
  2641.     chmod *.com
  2642.  
  2643. The report you get back would look something like
  2644. this:
  2645.  
  2646.     IBMBIO.COM          -RHS-
  2647.     IBMDOS.COM          -RHS-
  2648.     COMMAND.COM         -----
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.  
  2655.  
  2656. SEA Tools                                       Page 44
  2657.      This shows that the files IBMBIO.COM and IBMDOS.COM
  2658.      are saved with the Read only, Hidden, and System
  2659.      attributes, while the file COMMAND.COM has no file
  2660.      attributes.
  2661.  
  2662.      You can alter the file attributes by giving the
  2663.      attribute letters after the filename.  Use lowercase
  2664.      to signal that you want that attribute turned off, or
  2665.      uppercase to indicate that you want it on.  For
  2666.      example, if you wanted to alter AUTOEXEC.BAT to make
  2667.      it read only and hidden, and at the same time you want
  2668.      to turn off the archive bit, you would type:
  2669.  
  2670.          chmod autoexec.bat RHa
  2671.  
  2672.      Any attributes you don't specify are left unchanged.
  2673.  
  2674.  
  2675.  
  2676.      _____     FAKEY
  2677.  
  2678.      FAKEY is used to fake sequences of keystrokes.  It is
  2679.      especially useful in batch files, where it can be used
  2680.      to "pre-load" input for programs.  It is faking it at
  2681.      the point where BIOS is called.  It will not affect
  2682.      programs that bypass BIOS for their input.  FAKEY can
  2683.      fake keyboard input for almost any program, except for
  2684.      certain resident utilities.
  2685.  
  2686.  
  2687.      FAKEY takes one or more arguments, separated by
  2688.      spaces.  Each argument can be any one of the
  2689.      following:
  2690.  
  2691.       1) A text literal enclosed in quotes.  See below.
  2692.  
  2693.       2) A decimal number, indicating the ASCII value of a
  2694.          character.
  2695.  
  2696.       3) A hexadecimal number of up to four digits,
  2697.          preceeded by an ampersand.
  2698.  
  2699.       4) A mnemonic value indicating a particular
  2700.          keystroke.
  2701.  
  2702.      None of these are case sensitive, except literal text
  2703.      in quotes.  Hex digits, mnemonics, and so forth can be
  2704.      entered in any combination of upper and lower case.
  2705.  
  2706.  
  2707.  
  2708.  
  2709.  
  2710.  
  2711.      SEA Tools                                  Page 45
  2712. If an argument indicates a character value, then the
  2713. character value is filled out to include a scan code
  2714. value.  Where more than one scan code is possible
  2715. (such as Backspace or Ctrl H), the more "conventional"
  2716. choice is made (ie. Backspace instead of Ctrl H, top
  2717. row instead of number pad, etc.)
  2718.  
  2719. A text literal is enclosed in quotes, and may contain
  2720. special sequences.  The special sequences currently
  2721. defined are:
  2722.  
  2723.  1) An uparrow followed by a character from A to Z (in
  2724.     this case really "at sign" to "underline"),
  2725.     indicating the equivalent control key.
  2726.  
  2727.  2) An exclamation mark followed by a digit or a
  2728.     character from A to Z, indicating the equivalent
  2729.     alter key.
  2730.  
  2731.  3) A backslash followed by another character.
  2732.     Defined uses are:
  2733.  
  2734.     \r   for a return or enter
  2735.     \t   for a tab
  2736.     \b   for a backspace
  2737.     \e   for an escape
  2738.     \anything else, for a literal character.
  2739.          Thus \" is a quote, \\ is a backslash, etc.
  2740.  
  2741.  
  2742. A mnemonic can be an uparrow, exclamation mark, or
  2743. backslash followed by a character, in which case it
  2744. means the same thing as in a text literal.  The
  2745. following additional mnemonics are also defined:
  2746.  
  2747. Standard ASCII mnemonics:
  2748.  
  2749.     NUL SOH STX ETX EOT ENQ ACK BEL
  2750.     BS  HT  LF  VT  FF  CR  SO  SI
  2751.     DLE DC1 DC2 DC3 DC4 NAK SYN ETB
  2752.     CAN EM  SUB ESC FS  GS  RS  US
  2753.     SP  RUB
  2754.  
  2755. Cursor movement keypad mnemonics:
  2756.  
  2757.     UP DOWN LEFT RITE HOME END PGUP PGDN
  2758.     INS DEL PLUS DASH
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766. SEA Tools                                       Page 46
  2767.      Function key mnemonics:
  2768.  
  2769.          Fn   for normal
  2770.          Sn   for shifted
  2771.          Cn   for control
  2772.          An   for alter
  2773.  
  2774.          Where "n" is a number from 1 to 10.  For example,
  2775.          A10 means Alt F10.
  2776.  
  2777.      Special mnemonics:
  2778.  
  2779.          TOSS      Causes all previous pending keystrokes
  2780.                    to be thrown away.  Does not affect the
  2781.                    sequence being defined.
  2782.  
  2783.          PSCR      Causes whatever is on the screen to be
  2784.                    printed on the printer.
  2785.  
  2786.          WAIT <n>  Causes a pause for <n> seconds in the
  2787.                    input stream.  Keystrokes will not
  2788.                    appear to be available for the duration
  2789.                    of the wait.  The maximum wait is 255
  2790.                    seconds.
  2791.  
  2792.          BEEP      Causes FAKEY to emit a warbling tone.
  2793.  
  2794.          BOOT      Causes a warm system boot, as if the
  2795.                    user had typed "Ctrl-Alt-Del".
  2796.  
  2797.          COLD      Causes a cold system boot, as if the
  2798.                    user had turned the power off and on
  2799.                    again.
  2800.  
  2801.          LOAD <n>  Only valid when first running FAKEY.
  2802.                    Causes FAKEY to load without displaying
  2803.                    the help screen, and also tells FAKEY to
  2804.                    reserve room for up to <n> keystrokes.
  2805.                    If <n> is not given, then FAKEY will
  2806.                    save room for up to 200 keystrokes.
  2807.  
  2808.  
  2809.      If FAKEY is run without arguments, then it displays a
  2810.      brief help screen to remind you of various special
  2811.      characters and mnemonics.  This help screen can be
  2812.      bypassed (to load FAKEY from your AUTOEXEC.BAT, for
  2813.      example) by giving FAKEY a load command, as follows:
  2814.  
  2815.          fakey load
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.      SEA Tools                                  Page 47
  2822. The TOSS mnemonic takes effect at the point where
  2823. FAKEY is run.  It serves to discard faked keystrokes
  2824. which an earlier program didn't use.
  2825.  
  2826. The other special mnemonics take effect at the point
  2827. where they are first scanned by the operating system.
  2828. This is not always when you might think.  DOS (along
  2829. with many applications programs) scans the keyboard
  2830. buffer to see if anything is pending at many points,
  2831. so things may take effect sooner than you would
  2832. expect.  For example, if your batch file contained:
  2833.  
  2834.     fakey ^C
  2835.     myprog
  2836.  
  2837. then "myprog" would not be run.  DOS would check the
  2838. keyboard after running FAKEY and before running the
  2839. next program, and would see the pending control C.
  2840. Your batch file would stop while DOS asks:
  2841.  
  2842.     Terminate batch file (y/n)?
  2843.  
  2844. You probably don't want that.  So instead, you should
  2845. say:
  2846.  
  2847.     fakey wait 1 ^C
  2848.     myprog
  2849.  
  2850. This would cause a one second delay before the control
  2851. C shows up in the keyboard buffer.
  2852.  
  2853. If this doesn't make sense, then don't worry too much.
  2854. This is all meant to address a few special cases which
  2855. don't normally arise.
  2856.  
  2857.  
  2858.  
  2859. Hexadecimal literals:
  2860.  
  2861. These can be used to fake any keystroke whatsoever,
  2862. including ones that don't actually exist (though we're
  2863. not sure why you'd want to do that).  Use the table
  2864. following to pick out the keystroke you want.  For
  2865. example, a shifted keypad 5 would be:
  2866.  
  2867.     fakey &4C35
  2868.  
  2869. A table entry of "--" means you can't get that
  2870. combination out of BIOS.
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876. SEA Tools                                       Page 48
  2877.                 BIOS keystroke codes, hexadecimal
  2878.  
  2879.      ___        ______      _____       _______     _____     Key        Normal      Shift       Control     Alter
  2880.  
  2881.      Esc        011B        011B        011B         --
  2882.      1!         0231 '1'    0221 '!'     --         7800
  2883.      2@         0332 '2'    0340 '@'    0300        7900
  2884.      3#         0433 '3'    0423 '#'     --         7A00
  2885.      4$         0534 '4'    0524 '$'     --         7B00
  2886.      5%         0635 '5'    0625 '%'     --         7C00
  2887.      6^         0736 '6'    075E '^'    071E        7D00
  2888.      7&         0837 '7'    0826 '&'     --         7E00
  2889.      8*         0938 '8'    092A '*'     --         7F00
  2890.      9(         0A39 '9'    0A28 '('     --         8000
  2891.      0)         0B30 '0'    0B29 ')'     --         8100
  2892.      -_         0C2D '-'    0C5F '_'    0C1F        8200
  2893.      =+         0D3D '='    0D2B '+'     --         8300
  2894.      BkSpc      0E08        0E08        0E7F         --
  2895.      tab        0F09        0F00         --          --
  2896.      q          1071 'q'    1051 'Q'    1011        1000
  2897.      w          1177 'w'    1157 'W'    1117        1100
  2898.      e          1265 'e'    1245 'E'    1205        1200
  2899.      r          1372 'r'    1352 'R'    1312        1300
  2900.      t          1474 't'    1454 'T'    1414        1400
  2901.      y          1579 'y'    1559 'Y'    1519        1500
  2902.      u          1675 'u'    1655 'U'    1615        1600
  2903.      i          1769 'i'    1749 'I'    1709        1700
  2904.      o          186F 'o'    184F 'O'    180F        1800
  2905.      p          1970 'p'    1950 'P'    1910        1900
  2906.      [{         1A5B '['    1A7B '{'    1A1B         --
  2907.      ]}         1B5D ']'    1B7D '}'    1B1D         --
  2908.      enter      1C0D        1C0D        1C0A         --
  2909.      Ctrl        --          --          --          --
  2910.      a          1E61 'a'    1E41 'A'    1E01        1E00
  2911.      s          1F73 's'    1F53 'S'    1F13        1F00
  2912.      d          2064 'd'    2044 'D'    2004        2000
  2913.      f          2166 'f'    2146 'F'    2106        2100
  2914.      g          2267 'g'    2247 'G'    2207        2200
  2915.      h          2368 'h'    2348 'H'    2308        2300
  2916.      j          246A 'j'    244A 'J'    240A        2400
  2917.      k          256B 'k'    254B 'K'    250B        2500
  2918.      l          266C 'l'    264C 'L'    260C        2600
  2919.      ;:         273B ';'    273A ':'     --          --
  2920.      '"         2827 '''    2822 '"'     --          --
  2921.      `~         2960 '`'    297E '~'     --          --
  2922.      l shift     --          --          --          --
  2923.      \|         2B5C '\'    2B7C '|'    2B1C         --
  2924.      z          2C7A 'z'    2C5A 'Z'    2C1A        2C00
  2925.      x          2D78 'x'    2D58 'X'    2D18        2D00
  2926.      c          2E63 'c'    2E43 'C'    2E03        2E00
  2927.      v          2F76 'v'    2F56 'V'    2F16        2F00
  2928.  
  2929.  
  2930.  
  2931.      SEA Tools                                  Page 49
  2932. b          3062 'b'    3042 'B'    3002        3000
  2933. n          316E 'n'    314E 'N'    310E        3100
  2934. m          326D 'm'    324D 'M'    320D        3200
  2935. ,<         332C ','    333C '<'     --          --
  2936. .>         342E '.'    343E '>'     --          --
  2937. /?         352F '/'    353F '?'     --          --
  2938. r shift     --          --          --          --
  2939. PrtSc      372A '*'     --         7200         --
  2940. Alt         --          --          --          --
  2941. spacebar   3920 ' '    3920 ' '    3920        3920
  2942. CapsLock    --          --          --          --
  2943. F1         3B00        5400        5E00        6800
  2944. F2         3C00        5500        5F00        6900
  2945. F3         3D00        5600        6000        6A00
  2946. F4         3E00        5700        6100        6B00
  2947. F5         3F00        5800        6200        6C00
  2948. F6         4000        5900        6300        6D00
  2949. F7         4100        5A00        6400        6E00
  2950. F8         4200        5B00        6500        6F00
  2951. F9         4300        5C00        6600        7000
  2952. F10        4400        5D00        6700        7100
  2953. NumLock     --          --          --          --
  2954. Scroll      --          --          --          --
  2955. 7 Home     4700        4737 '7'    7700         --
  2956. 8 up       4800        4838 '8'     --          --
  2957. 9 PgUp     4900        4939 '9'    8400         --
  2958. grey -     4A2D '-'    4A2D '-'     --          --
  2959. 4 left     4B00        4B34 '4'    7300         --
  2960. 5           --         4C35 '5'     --          --
  2961. 6 right    4D00        4D36 '6'    7400         --
  2962. grey +     4E2B '+'    4E2B '+'     --          --
  2963. 1 End      4F00        4F31 '1'    7500         --
  2964. 2 down     5000        5032 '2'     --          --
  2965. 3 PgDn     5100        5133 '3'    7600         --
  2966. Ins        5200        5230 '0'     --          --
  2967. Del        5300        532E '.'     --          --
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.  
  2978.  
  2979.  
  2980.  
  2981.  
  2982.  
  2983.  
  2984.  
  2985.  
  2986. SEA Tools                                       Page 50
  2987.      _____     MAKEY
  2988.  
  2989.      MAKEY is a companion program to FAKEY, which must be
  2990.      loaded before MAKEY is.  MAKEY defines a "one key
  2991.      macro".
  2992.  
  2993.      To define a key macro with MAKEY, hit the top row "2"
  2994.      key while holding down the "Ctrl" key.  You should
  2995.      hear three beeps, rising in tone.  You are now
  2996.      recording a macro.  Type whatever keys you want
  2997.      defined.  When you're done, hit the top row "2" key
  2998.      while holding down the "Ctrl" key again.  You should
  2999.      hear another three beeps, falling in tone this time.
  3000.      Your macro is now recorded.
  3001.  
  3002.      To use the macro, hit the grey "*" key.  Whatever keys
  3003.      you recorded will be played back every time you hit
  3004.      the grey "*" key.
  3005.  
  3006.      MAKEY normally has room to record up to 200
  3007.      keystrokes (if you run out of room MAKEY will beep at
  3008.      you).  You can change the amount of room MAKEY
  3009.      reserves by giving it a number on the command line the
  3010.      _____     first time you run it.  For example, loading MAKEY
  3011.      with the command:
  3012.  
  3013.          MAKEY 1000
  3014.  
  3015.      would cause MAKEY to reserve room for up to one
  3016.      thousand keystrokes.
  3017.  
  3018.      FAKEY must have been loaded with enough room to hold
  3019.      whatever macro MAKEY is holding.
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.      SEA Tools                                  Page 51
  3042. __LF
  3043.  
  3044. LF is a utility designed to simplify the manipulation
  3045. of large numbers of files.  LF is a menu driven system
  3046. in which the user is presented with a menu of files in
  3047. her current directory.  This may be either a full menu
  3048. of all files, or a subset menu of selected files.
  3049.  
  3050. To invoke LF, type a command of the form:
  3051.  
  3052.     LF [path][template]
  3053.  
  3054. The template, which is optional, is a standard MS/DOS
  3055. filename template, such as you would use for the COPY
  3056. or ERASE commands.  If you give a path name, then that
  3057. will be your starting directory.
  3058.  
  3059. For example, if you wanted to work on all files with
  3060. an extension of ".MAC", you would type:
  3061.  
  3062.     LF *.MAC
  3063.  
  3064. Or, if you wished to work on all files whose names
  3065. begin with "X", you would type:
  3066.  
  3067.     LF X*.*
  3068.  
  3069. Or, to work on all files in your current directory,
  3070. you could simply type:
  3071.  
  3072.     LF
  3073.  
  3074.  
  3075. The LF file menu has the following columns:
  3076.  
  3077.  1) The command area.  This is where you type in any
  3078.     commands which you wish to have performed on the
  3079.     files.  See below for more information regarding
  3080.     command strings.  This area may also contain a
  3081.     blue asterisk ("*"), to indicate that a command
  3082.     was performed on this file the last time you
  3083.     invoked any commands.
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096. SEA Tools                                       Page 52
  3097.       2) The filename/extension.  This is the name and
  3098.          extension of the file covered by a given line on
  3099.          your screen.  This is normally shown in white.
  3100.          However, the name will turn red if the file no
  3101.          longer exists or is marked for deletion.  Also,
  3102.          the name will be green if LF detects that the file
  3103.          was modified by your last command.  If the
  3104.          filename/extension is in magenta (purple), then
  3105.          the file is a subdirectory.  You may "zoom in" on
  3106.          it with the Alter Z command, but you may not edit
  3107.          or list it.
  3108.  
  3109.       3) The file size.  This is how big (in bytes) the
  3110.          file is.
  3111.  
  3112.       4) The date/time area.  This is the date and time of
  3113.          the last time the file was created or modified.
  3114.  
  3115.      One line of the files menu will be in reverse color
  3116.      (normally black on white).  This line is your current
  3117.      line, and the file it refers to is your current file.
  3118.      You may move this line using your up and down cursor
  3119.      movement keys.
  3120.  
  3121.  
  3122.      The top of the files menu contains the following
  3123.      fields:
  3124.  
  3125.       1) The disk status box.  This reports the size of
  3126.          your disk, and the number of bytes remaining.  The
  3127.          room remaining will be green if you have more than
  3128.          half of your disk available.  It will turn yellow
  3129.          when you use up half of your disk.  It will turn
  3130.          red when only ten percent of your disk remains,
  3131.          and it will start to flash when you are out of
  3132.          room.
  3133.  
  3134.       2) The file counters.  This reports how many files
  3135.          you are currently looking at on your files menu.
  3136.          If you have marked any files for deletion, the
  3137.          number of files to be deleted will also be shown.
  3138.  
  3139.       3) The current search path.  This is the specifier
  3140.          which is being used to select the files on your
  3141.          file menu.
  3142.  
  3143.       4) The prompting/status error.  If LF asks you any
  3144.          questions, they will be asked here.  Also, status
  3145.          messages are shown here in white, and error
  3146.          messages in red.
  3147.  
  3148.  
  3149.  
  3150.  
  3151.      SEA Tools                                  Page 53
  3152. The bottom line of your screen is there to remind you
  3153. of which function keys do what.
  3154.  
  3155.  
  3156. Your function keys are used to carry out several
  3157. common functions, which can be summarized as follows:
  3158.  
  3159.     F1: Edit            F2: Sort by name
  3160.     F3: Browse          F4: Sort by type
  3161.     F5: Execute         F6: Sort by size
  3162.     F7: Update          F8: Sort by date
  3163.     F9: Invoke          F10: Exit
  3164.  
  3165.  
  3166. These are explained in more detail below:
  3167.  
  3168.  
  3169. F1: Edit      Your F1 key is used to invoke your
  3170.               editor on your current file.  You may
  3171.               not edit a subdirectory.  You may select
  3172.               anything you wish for your editor.  See
  3173.               the section below on setting your
  3174.               environment strings.  If you have not
  3175.               specified an editor, then EDLIN is used.
  3176.  
  3177.               It is assumed that you have used the
  3178.               PATH command in MS-DOS so that your
  3179.               editor may be invoked from any
  3180.               directory.
  3181.  
  3182. F3: Browse    Your F3 key is used to invoke your
  3183.               browse module on your current file.  You
  3184.               may not browse a subdirectory.  As with
  3185.               the F1 key, you may choose anything you
  3186.               wish as your browse module.  See the
  3187.               section below on setting your
  3188.               environment strings.  We highly
  3189.               recommend Vern Buerg's excellent LIST
  3190.               program as a browse utility.  If you
  3191.               have not specified a browser, then the
  3192.               TYPE command is used.
  3193.  
  3194.               Again, it is assumed that your command
  3195.               search path is such that the browse
  3196.               command may be given from any directory.
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206. SEA Tools                                       Page 54
  3207.      F5: Exec      Your F5 key is used to execute a
  3208.                    program.  When you press the F5 key, the
  3209.                    name of the file on your current line is
  3210.                    given as a system command.  The menu
  3211.                    disappears while your command is
  3212.                    executed.  When your command has
  3213.                    finished, you will be asked to strike
  3214.                    any key (which will be discarded) before
  3215.                    your file menu is restored.  If you
  3216.                    press the F10 key, then the menu is not
  3217.                    redrawn, and LF terminates.
  3218.  
  3219.      F7: Update    Your F7 key is used to refresh your
  3220.                    menu.  Your list of files is read from
  3221.                    scratch, and any deleted files are
  3222.                    forgotten.  Also, your menu is redrawn
  3223.                    from scratch, so this may be useful if
  3224.                    your menu is destroyed for any reason.
  3225.  
  3226.      F9: Invoke    Your F9 key is used to invoke any
  3227.                    pending commands or deletions.  If any
  3228.                    deletions are pending, you will be asked
  3229.                    to confirm the deletions before they
  3230.                    take place.  If any commands are
  3231.                    pending, they will be invoked.  Your
  3232.                    menu will disappear while the commands
  3233.                    are being processed so that you may see
  3234.                    what happens, and you will be asked to
  3235.                    strike a key before the menu will
  3236.                    return.  If you strike the F10 key, then
  3237.                    the menu is not redrawn, and LF
  3238.                    terminates.
  3239.  
  3240.                                            ______                   Deletions are performed before commands.
  3241.  
  3242.      F2: S name    Your F2 key is used to sort your menu by
  3243.                    file names (which is the default).  Your
  3244.                    menu of files will be resorted, and you
  3245.                    will be reset to the top of the menu.
  3246.  
  3247.      F4: S type    Your F4 key is used to sort your menu by
  3248.                    filename extensions, then by names.
  3249.                    This is useful for grouping your files
  3250.                    by "type".
  3251.  
  3252.      F6: S size    Your F6 key is used to sort your menu by
  3253.                    reverse order of file size.  That is,
  3254.                    the largest file first and the smallest
  3255.                    file last.  If any files are the same
  3256.                    size, they will be in order of
  3257.                    filename/extension.
  3258.  
  3259.  
  3260.  
  3261.      SEA Tools                                  Page 55
  3262. F8: S date    Your F8 key is used to sort your menu by
  3263.               reverse order of date and time last
  3264.               modified.  That is, the newest file
  3265.               first, and the oldest file last.  If any
  3266.               files where last modified at the same
  3267.               time, they will be in order of
  3268.               filename/extension.
  3269.  
  3270. F10: Exit     Your F10 key is used to exit from LF.
  3271.               When you press this key, LF will clear
  3272.               the screen, bid you adieu, and return
  3273.               you to MS-DOS.
  3274.  
  3275.  
  3276. Your alter keys are used to carry out various other
  3277. actions, which are deemed to be less common than the
  3278. actions performed by your function keys.  These are as
  3279. follows:
  3280.  
  3281. Alter N       Name; Changes your menu to show all
  3282.               files which have the same name as your
  3283.               current file.
  3284.  
  3285. Alter E       Extension; Changes your menu to show all
  3286.               files which have the same extension as
  3287.               your current file.
  3288.  
  3289. Alter C       Command; Prompts you for a command,
  3290.               which is passed unchanged to MS-DOS.
  3291.               Your file menu disappears during the
  3292.               command, and you are asked to strike a
  3293.               key before the menu returns.  If you
  3294.               strike F10, then the menu is not
  3295.               redrawn, and LF terminates.
  3296.  
  3297. Alter D       Directory; Prompts you for a new
  3298.               directory name, and shifts to that
  3299.               directory.
  3300.  
  3301. Alter T       Template; Prompts you for a new search
  3302.               template, and updates your menu to show
  3303.               the files specified by the new template.
  3304.  
  3305. Alter F       Floppy; Prompts you for a new drive
  3306.               letter, and then moves to your current
  3307.               directory on that drive.
  3308.  
  3309. Alter Z       Zoom; If your current file is a
  3310.               directory, then this "zooms in" on it,
  3311.               making it your current directory.
  3312.  
  3313.  
  3314.  
  3315.  
  3316. SEA Tools                                       Page 56
  3317.      Alter P       Pop;  If your current directory is not
  3318.                    the root directory, then this "pops you
  3319.                    up" one level, making your old current
  3320.                    directory your new current file.
  3321.  
  3322.      Alter H       Help; Gives a brief run down on which
  3323.                    keys do what.
  3324.  
  3325.  
  3326.      The following keys may also be used to move around
  3327.      your menu and manipulate your files:
  3328.  
  3329.      Cursor Up     Moves the white bar up one line, making
  3330.                    the file there your current file.
  3331.  
  3332.      Cursor Down   Moves the white bar down one line,
  3333.                    making the file there your current file.
  3334.  
  3335.      PgUp          Moves up one page, and places the white
  3336.                    bar at the top of the new page.
  3337.  
  3338.      PgDn          Moves down one page, and places the
  3339.                    white bar at the top of the new page.
  3340.  
  3341.      Home          Moves up to the top of your file menu,
  3342.                    making the first file your current file.
  3343.  
  3344.      End           Moves down to the end of your file menu,
  3345.                    making the last file your current file.
  3346.  
  3347.      Delete        Marks your current file for deletion,
  3348.                    and then moves the white bar down one
  3349.                    line.  If your current file is a
  3350.                    subdirectory, then it cannot be deleted
  3351.                    unless it is empty.
  3352.  
  3353.      Escape        Discards any command for your current
  3354.                    file, and removes its deletion mark (if
  3355.                    any).
  3356.  
  3357.      " (quote)     Or, in this case, ditto.  When you press
  3358.                    this key, LF repeats the last command
  3359.                    you typed, and then moves the white bar
  3360.                    down one line.  Most of the power of LF
  3361.                    comes from using this.
  3362.  
  3363.      <text>        Enters or adds to the command string for
  3364.                    your current file (see below).
  3365.  
  3366.  
  3367.  
  3368.  
  3369.  
  3370.  
  3371.      SEA Tools                                  Page 57
  3372. Left arrows   Removes one character from the end of
  3373.               the command string for your current
  3374.               file.
  3375.  
  3376.  
  3377. Command strings (in conjunction with the ditto
  3378. command, above) are the very heart of what makes LF
  3379. such a useful tool.  You can type whatever you wish
  3380. into the command area in front of any file.  Then,
  3381. when you press the F9 key, your commands are invoked.
  3382.  
  3383. Unless you specify otherwise, your command string will
  3384. have the filename/extension of its file appended to it
  3385. before it is invoked.  For example, if the line for a
  3386. file named "WHATSUP.DOC" had a command string of
  3387. "Ehhh", then pressing F9 would cause LF to give a
  3388. system command of:
  3389.  
  3390.     Ehhh WHATSUP.DOC
  3391.  
  3392. You specify otherwise by embedding one or more
  3393. specifiers in your command string.  A specifier
  3394. consists of an ampersand ("&") optionally followed by
  3395. a letter, which may be in upper or lower case.  The
  3396. following specifiers are currently defined:
  3397.  
  3398. &n  Name; This is replaced by the name of the file,
  3399.     with no extension.
  3400.  
  3401. &e  Extension; This is replaced by the extension of
  3402.     the file, with no name.  The dot is included.
  3403.  
  3404. &f  Filename; This is replaced by the name of the file
  3405.     followed by the extension, with the dot (if any)
  3406.     in the middle.
  3407.  
  3408. &   This is the same as "&f", and is shorter to type.
  3409.  
  3410. &d  Directory;  This is replaced by the name of the
  3411.     current directory, without the trailing backslash.
  3412.  
  3413. &p  Pathname;  This is replaced by the full pathname,
  3414.     including drive and directory, of the current
  3415.     file.  This is equivalent to "&d\&f" (or "&d\&").
  3416.  
  3417. &x  Exception; This is replaced by nothing.  It does,
  3418.     however, count as a specifier and thus keeps the
  3419.     filename and extension from being appended to the
  3420.     command string.
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426. SEA Tools                                       Page 58
  3427.      For example, if the file "WHATSUP.DOC" had a command
  3428.      string of:
  3429.  
  3430.          copy some&e &n\&
  3431.  
  3432.      Then pressing F9 would cause LF to give the system
  3433.      command:
  3434.  
  3435.          copy some.DOC WHATSUP\WHATSUP.DOC
  3436.  
  3437.  
  3438.      As a somewhat more practical example, suppose that you
  3439.      wanted to sort several files.  In each case you want
  3440.      the sorted output to go in a file with the same name
  3441.      as the original, but with an extension of ".SRT".  To
  3442.      do that with LF you would place the white bar on the
  3443.      first file, and type a command string of:
  3444.  
  3445.          sort <& >&n.SRT
  3446.  
  3447.      Then you would run the white bar down over all of the
  3448.      other files, hitting "ditto" on each one.  Then hit F9
  3449.      and go grab a cup of coffee while your system sorts
  3450.      its heart out.
  3451.  
  3452.  
  3453.  
  3454.      MS-DOS environment strings are used to tell LF what
  3455.      commands should be given for certain commonly
  3456.      performed actions.  Please refer to the MS-DOS manual
  3457.      for complete information regarding the setting and use
  3458.      of environment strings.
  3459.  
  3460.  
  3461.      The following environment strings are used by LF:
  3462.  
  3463.      LFEDIT        This string contains the command to give
  3464.                    to edit a file when the F1 key is
  3465.                    pressed.  If this string is not set,
  3466.                    then the command "EDLIN" is given.
  3467.  
  3468.      LFBROWSE      This string contains the command to give
  3469.                    to examine a file when the F3 key is
  3470.                    pressed.  If this string is not set,
  3471.                    then the command "TYPE" is given.
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.  
  3480.  
  3481.      SEA Tools                                  Page 59
  3482. Pressing one of these keys causes LF to give a system
  3483. command of the appropriate word followed by the
  3484. filename and extension of your current file.  For
  3485. example, if LFEDIT is not set, and your white bar is
  3486. on a line for a file named "WHATSUP. DOC", then
  3487. pressing the F1 key would cause LF to give the system
  3488. command:
  3489.  
  3490.     EDLIN WHATSUP.DOC
  3491.  
  3492.  
  3493. If, as an example, you prefer to use an editor named
  3494. LEO, then before running LF you would give the MS-DOS
  3495. command:
  3496.  
  3497.     set LFEDIT=LEO
  3498.  
  3499.  
  3500. LF uses one other environment string, "LF=", to set
  3501. parameters on how you would like LF to work.  The LF
  3502. string can contain any of the following:
  3503.  
  3504. B   BIOS;  LF Normally does all of its screen output
  3505.     by writing directly to the screen buffer.  In some
  3506.     cases that might not be a good idea.  This tells
  3507.     LF to do all of its output by making legal BIOS
  3508.     calls.
  3509.  
  3510. 1   One screen;  This tells LF to use only one display
  3511.     for all of its activities.  This is the default.
  3512.  
  3513. 2   Two screens;  This tells LF to use two displays.
  3514.     This will only work if your system has both a
  3515.                   ___    color display and a monochrome display.  LF will
  3516.     do all of its own output on the color screen, and
  3517.     will invoke commands on the monochrome display.
  3518.  
  3519. H   Hidden;  LF does not normally show hidden or
  3520.     system files.  This tells LF to show them.
  3521.  
  3522. C   Confirm deletes;  This tells LF to ask for
  3523.     confirmation before deleting files, and is the
  3524.     default.
  3525.  
  3526. U   Unconfirmed deletes;  This tells LF to delete
  3527.     files without asking for confirmation.  This is a
  3528.     bit faster, and is not too dangerous.
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536. SEA Tools                                       Page 60
  3537.      D   Delete at once;  This tells LF to delete a file
  3538.          the instant you mark it by hitting the "Del" key.
  3539.                  ____           ____         This is very fast, and very dangerous.
  3540.  
  3541.      X   This tells LF to redraw its screen immediately
  3542.          when it finishes executing commands.  This
  3543.          bypasses the "hit a key to continue" message.
  3544.  
  3545.      K   This tells LF to do the "hit a key to continue"
  3546.          bit after all.  This is the default.
  3547.  
  3548.      Sx  This tells LF to initially sort its display in a
  3549.          particular way, where "x" is one of the following:
  3550.  
  3551.          N    to sort by name (default)
  3552.          T    to sort by type (extension)
  3553.          S    to sort by size
  3554.          D    to sort by date
  3555.  
  3556.      Any of the above can be given in any combination of
  3557.      upper or lower case.
  3558.  
  3559.      For example, if you normally want LF to use two
  3560.      displays and to sort its display by extensions, you
  3561.      could put the following statement in your AUTOEXEC.BAT
  3562.      file:
  3563.  
  3564.          set LF=2st
  3565.  
  3566.      These options can also be given on the command line by
  3567.      preceeding them with a slash.  For example, if you
  3568.      wanted to override what you put in the LF= string and
  3569.      bring up LF using only one display, you would type:
  3570.  
  3571.          LF /1
  3572.  
  3573.  
  3574.  
  3575.      _______     PARBOOT
  3576.  
  3577.      PARBOOT is a deceptively handy little program.  It
  3578.      slightly modifies your system so that a parity check
  3579.      will cause a system reboot instead of hanging your
  3580.      system.  This can be useful for machines which must
  3581.      run unattended for long periods of time.  It should be
  3582.      invoked from the AUTOEXEC.BAT file.
  3583.  
  3584.      PARBOOT is also the world's smallest TSR utility.
  3585.      When installed, it requires zero bytes of memory.
  3586.  
  3587.  
  3588.  
  3589.  
  3590.  
  3591.      SEA Tools                                  Page 61
  3592. ________SCANDISK
  3593.  
  3594. SCANDISK scans a disk for bad sectors.  So do lots of
  3595. other programs, but SCANDISK is different.
  3596.  
  3597. Awhile back we had a machine where the disk drive
  3598. would sometimes get an error.  So we took a full
  3599. backup and reformatted the drive.  It kept happening.
  3600. So we started hauling out the disk testers.  We tried
  3601. five separate disk test utilities, and every single
  3602. one of them did the same thing.  They would hit a bad
  3603. sector, pause on it awhile with the disk grinding
  3604.                                             ___away, and then report it as good.  We could see that
  3605.                                  ____the sector was no good, we could hear it, but every
  3606. single disk tester we tried would let it go.  We got
  3607. so disgusted that we sat down and wrote our own.
  3608.  
  3609.  
  3610. When a program asks MS-DOS to read a disk sector,
  3611. MS-DOS asks BIOS to go read it.  If BIOS reports an
  3612. error, MS-DOS tries again.  In fact, MS-DOS will keep
  3613. trying several times before finally reporting an
  3614. error.
  3615.  
  3616. So it's possible to have a sector which is
  3617. questionable, but which looks good.  MS-DOS may need
  3618. to retry several times before it actually gets the
  3619. data, but this is shielded from the program that asked
  3620. for the sector.
  3621.  
  3622. That's great for most programs.  It's just the right
  3623.                                 _____thing to do.  But it's just the wrong thing to do when
  3624. you're trying to find out which sectors are starting
  3625. to go bad.  You don't want to know which ones have
  3626. already gone bad (it's too late then -- you already
  3627. lost the data).  You want to know which ones are still
  3628. readable but are starting to go sour so you can get
  3629. your data off while you still have a chance.
  3630.  
  3631. But if MS-DOS is hiding the error, how can you tell?
  3632.  
  3633. If MS-DOS has to reread a sector, the read is going to
  3634. take longer than normal.  Also, MS-DOS resets the disk
  3635. between retries, which takes even more time.
  3636.  
  3637. So SCANDISK scans the disk, reading each sector, and
  3638. on every read it's got a stopwatch in hand to see how
  3639. long MS-DOS takes to read it.  If MS-DOS reports an
  3640. error, then we mark it bad (so far we're just like
  3641. everyone else), but if MS-DOS says that the sector is
  3642. okay, but it took a long time to read, then we
  3643.  
  3644.  
  3645.  
  3646. SEA Tools                                       Page 62
  3647.      remember that it's questionable.  When the run is
  3648.      finished we tell you how many questionable sectors we
  3649.      found, and if you say so we'll mark them as bad.
  3650.  
  3651.      Not only that, but if a questionable sector is in use
  3652.      by a file we'll shift the data to someplace safe.
  3653.  
  3654.      SCANDISK takes one or two arguments.  The first
  3655.      argument is which disk to scan.  The second argument
  3656.      is how many times to scan that disk.  If you don't say
  3657.      how many times, then it scans once.  If you say zero
  3658.      times, then it scans repeatedly until told to stop.
  3659.  
  3660.      For example, if you wanted to scan your C: drive once,
  3661.      you would type:
  3662.  
  3663.          scandisk c:
  3664.  
  3665.      If you wanted to scan your D: drive five times, you
  3666.      would type:
  3667.  
  3668.          scandisk d: 5
  3669.  
  3670.      If you wanted to scan your B: drive continuously, you
  3671.      would type:
  3672.  
  3673.          scandisk b: 0
  3674.  
  3675.  
  3676.      How SCANDISK works can be modified by the following
  3677.      command-line options:
  3678.  
  3679.      /t<n>    Ticks; SCANDISK normally allows twenty clock
  3680.               ticks to elapse during a read before it calls
  3681.               a sector questionable.  Twenty ticks is a
  3682.               shade over a second, so "questionable" might
  3683.               not be a strong enough word.  This option
  3684.               sets threshold at <n> clock ticks.  If you
  3685.                                 ___              set the threshold too low SCANDISK will
  3686.               report many more bad clusters than you really
  3687.               have.  Most fixed disks should be able to
  3688.               read a cluster in five or six clock ticks,
  3689.               and most floppies should take no more than
  3690.               ten clock ticks.
  3691.  
  3692.      /s       Skip;  This tells SCANDISK to skip over
  3693.               clusters that have already been locked out.
  3694.               This can speed things up considerably on a
  3695.               disk with a lot of bad clusters.
  3696.  
  3697.  
  3698.  
  3699.  
  3700.  
  3701.      SEA Tools                                  Page 63
  3702. /l       Large directory;  This tells SCANDISK that
  3703.          your directory is too large to hold.
  3704.                        ___         SCANDISK will not move data off of
  3705.          questionable clusters if you use this option.
  3706.          SCANDISK will tell you if you need to use
  3707.          this option.
  3708.  
  3709. /a       Autopilot;  When SCANDISK finishes its run it
  3710.          asks for confirmation before making any
  3711.          irreversable changes to your disk.  This
  3712.          tells SCANDISK to go ahead and make the
  3713.          changes without asking.
  3714.  
  3715. /u       Unlock;  This tells SCANDISK to recheck
  3716.          clusters that had been locked out, and to
  3717.          unlock any that appear okay.  Use this with
  3718.          extreme caution (or not at all).
  3719.  
  3720. /b       BIOS;  This tells SCANDISK to use legal BIOS
  3721.          calls for all of its output.  Things go
  3722.          faster if you don't use this, but there may
  3723.          be some situations where you need it.
  3724.  
  3725. For example, if you wanted SCANDISK to make three
  3726. passes over your C: drive, skipping bad clusters and
  3727. allowing up to five clock ticks on a read, you would
  3728. use the command:
  3729.  
  3730.     scandisk C: 3 /s /t5
  3731.  
  3732.  
  3733.  
  3734. So what happened with that drive that started all
  3735. this?  We ran SCANDISK on it with the options:
  3736.  
  3737.     scandisk d: 0 /st5
  3738.  
  3739. and we let it run overnight.  In the morning we saw
  3740. that SCANDISK had not found any more bad sectors in
  3741. its last twenty passes, so we stopped it.  The drive
  3742. is still in use, and we haven't had a problem with it
  3743. since.
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756. SEA Tools                                       Page 64
  3757.      ________     SCROLOCK
  3758.  
  3759.      There must be some reason why eight million PC's have
  3760.      "Scroll Lock" keys.  All told, that adds up to quite a
  3761.      lot of keys out there that don't do anything.
  3762.  
  3763.      But until that use shows up, there's SCROLOCK.  When
  3764.      you run SCROLOCK it starts monitoring that Scroll Lock
  3765.      key, and makes it do something like what its name
  3766.      implies.  In other words, it make the screen stop
  3767.      scrolling when you hit Scroll Lock.  Hit Scroll Lock
  3768.      again and your screen will start scrolling again.
  3769.  
  3770.            ___     There are one or two programs out there that use the
  3771.      Scroll Lock key.  In particular, the PC-Write editor
  3772.      uses Scroll Lock to switch between "overwrite" and
  3773.      "pushright" modes.  So if you run SCROLOCK again it
  3774.      will deactivate itself.  Running it yet again makes it
  3775.      reactivate itself, and so on.  When you run SCROLOCK
  3776.      it returns an error level of zero if it deactivated,
  3777.      or one if it reactivated.  Thus, if for example you
  3778.      were writing a batch file where at one point you want
  3779.      SCROLOCK to be deactivated, you would say:
  3780.  
  3781.          scrolock
  3782.          if errorlevel 1 scrolock
  3783.  
  3784.  
  3785.  
  3786.      ________     SOFTBELL
  3787.  
  3788.      SOFTBELL is for those of us who don't like their
  3789.      machines making loud beeping noises.  When you run
  3790.      SOFTBELL it modifies the sound of the bell from a loud
  3791.      beep to a soft buzz.  This only affects the "control G
  3792.      bell" -- your game programs will be as noisy as ever.
  3793.  
  3794.  
  3795.  
  3796.  
  3797.  
  3798.  
  3799.  
  3800.  
  3801.  
  3802.  
  3803.  
  3804.  
  3805.  
  3806.  
  3807.  
  3808.  
  3809.  
  3810.  
  3811.      SEA Tools                                  Page 65
  3812. _____SQDIR
  3813.  
  3814. SQDIR squeezes a directory.  Why squeeze a directory?
  3815. Is directory juice good for anything?
  3816.  
  3817. The method used by the MS-DOS operating system for
  3818. keeping files in directories is quite adequate for
  3819. most normal situations.  However, things slow down a
  3820. ___lot when a directory gets crowded.  If you put a few
  3821. hundred files in one subdirectory, opening one of them
  3822. becomes a slow process.
  3823.  
  3824. But there's a further problem.  Once a directory has
  3825. had several hundred files in it, the deleted entries
  3826. stick around.  This is good for UNDEL, but not always
  3827. so good for everything else because opening a file
  3828.      _____will still be slow even after most of the files are
  3829. deleted.
  3830.  
  3831. Enter SQDIR.  SQDIR reads in the directory and
  3832. rewrites it, minus the deleted files, thus speeding up
  3833. file access and quite possibly recovering some disk
  3834. space.
  3835.  
  3836. SQDIR takes one argument, the name of the directory to
  3837. squeeze.  For example, if you wanted to squeeze a
  3838. directory named "D:\MAIL\MESSAGES" you would type:
  3839.  
  3840.     sqdir d:\mail\messages
  3841.  
  3842. SQDIR knows about one option switch, "/S", which tells
  3843. it to squeeze all subdirectories of the directory as
  3844. well.  For example, if you wanted to squeeze the
  3845. "D:\MAIL" directory and all directories in it, you
  3846. would type:
  3847.  
  3848.     sqdir d:\mail /s
  3849.  
  3850.  
  3851.  
  3852. ____TASK
  3853.  
  3854. TASK (which stands for "Timed ASK") is used to ask
  3855. "yes or no" questions from a batch file, while placing
  3856. a time limit on how long it will wait for an answer.
  3857. It can also be used just as a delay timer.
  3858.  
  3859. TASK reports the result by returning an error level of
  3860. zero if the answer was "No", or one if the answer was
  3861. "Yes", or two if no answer was given.
  3862.  
  3863.  
  3864.  
  3865.  
  3866. SEA Tools                                       Page 66
  3867.      For example, suppose that you wanted your AUTOEXEC.BAT
  3868.      to ask you first before it starts loading up all of
  3869.      your popup gizmos, thus giving you the option of
  3870.      booting a "clean" system.  You could do it thusly:
  3871.  
  3872.  
  3873.          task Do you want this neat stuff?
  3874.          if not errorlevel 1 goto vanilla
  3875.          fakey load
  3876.          makey
  3877.          scrolock
  3878.          softbell
  3879.          parboot
  3880.          :vanilla
  3881.  
  3882.  
  3883.      An answer of "Yes", or no answer at all in twenty
  3884.      seconds, will cause the "if" to fail, and will thus
  3885.      load up some nifty stuff.  But an answer of "No" will
  3886.      return an error level of zero, thus making the "if"
  3887.      true, and causing the batch file to skip over all
  3888.      those goodies.
  3889.  
  3890.      If you'd rather word that question differently, then
  3891.      you can do that too, like so:
  3892.  
  3893.          task Do you want a vanilla system?
  3894.          if not errorlevel 2 if errorlevel 1 goto vanilla
  3895.  
  3896.  
  3897.      If the first argument is a number, then TASK treats it
  3898.      as the number of seconds to wait for an answer.  For
  3899.      example, if you wanted to allow five seconds instead
  3900.      of twenty seconds, you'd say:
  3901.  
  3902.          task 5 Do you want a vanilla system?
  3903.  
  3904.      If you set a limit of zero seconds, then there is no
  3905.      time limit and TASK will wait forever.
  3906.  
  3907.      If you set a time limit, but you don't ask a question,
  3908.      then TASK becomes a delay timer.  For example, the
  3909.      command:
  3910.  
  3911.          task 5
  3912.  
  3913.      just pauses for five seconds without asking anything.
  3914.  
  3915.  
  3916.  
  3917.  
  3918.  
  3919.  
  3920.  
  3921.      SEA Tools                                  Page 67
  3922. ____TDIR
  3923.  
  3924. TDIR is one of those programs that doesn't look like
  3925. much, but if you use it for a day you'll wonder how
  3926. you ever got along without it.  It does a short
  3927. directory listing sorted by filename extension.  Use
  3928. it the same way you'd use the MS-DOS "DIR" command.
  3929.  
  3930. Try it -- you'll like it.
  3931.  
  3932.  
  3933.  
  3934. _____UNDEL
  3935.  
  3936. This is used to "undelete" a file which was
  3937. accidentally deleted.
  3938.  
  3939. ________                                ___________WARNING:WARNING: The MS-DOS operating system is not designed
  3940.          with undeletion in mind.  Any undelete
  3941.                  ____         process must make assumptions that might not
  3942.          be valid in any particular situation, and
  3943.          ____         must access your disk in ways that are
  3944.          outside the bounds of the operating system.
  3945.                        ______         Undeletion is always an inherently risky
  3946.          business.
  3947.  
  3948. The MS-DOS operating system isn't designed to allow
  3949. for "undeleting" a file.  In theory, once a file is
  3950. deleted it is gone forever.  However, it is possible,
  3951. sometimes, to reconstruct where a file was located,
  3952. and to recreate it.  You have the best chance of
  3953. undeleting a file if it has been recently copied or
  3954.                _______edited, and if nothing has been done to the disk since
  3955. the file was deleted.
  3956.  
  3957. UNDEL takes one argument, which is the name of a file
  3958. to undelete.  Any valid filename may be given.  Path
  3959. names are allowed, wildcards are not.  For example, to
  3960. undelete a file that used to be called JUNK.TXT, you
  3961. would type:
  3962.  
  3963.     undel junk.txt
  3964.  
  3965. Pretty simple, eh?
  3966.  
  3967.  
  3968.  
  3969.  
  3970.  
  3971.  
  3972.  
  3973.  
  3974.  
  3975.  
  3976. SEA Tools                                       Page 68
  3977.      How UNDEL operates can be altered by use of command
  3978.      line switches.  A switch is a slash or a dash followed
  3979.      by a letter.  UNDEL recognizes the following options:
  3980.  
  3981.      /l  List deleted files.  This will produce a list of
  3982.          all deleted files in your current directory.  Each
  3983.          filename will begin with a question mark.  This is
  3984.          because of how MS-DOS file deletion works.
  3985.  
  3986.          If you give a name when you use this option, then
  3987.          UNDEL will use it as the name of the directory to
  3988.          search.  For example, if you give the command:
  3989.  
  3990.               undel /l D:\TRASHCAN
  3991.  
  3992.          then UNDEL will report all of the deleted files in
  3993.          the D:\TRASHCAN directory.
  3994.  
  3995.      /a  Ask about clusters.  This causes UNDEL to show you
  3996.          the first few bytes of each cluster as it locates
  3997.          them, giving you the option to accept or reject
  3998.          them.  This might be useful in reassembling a
  3999.          badly fragmented text file.
  4000.  
  4001.      /p  Partial recovery is okay.  Normally UNDEL won't
  4002.          undelete a file unless it thinks it has found all
  4003.          of the deleted clusters.  This option tells UNDEL
  4004.          to recover as much as it can find.
  4005.  
  4006.      /r  Report status of deleted file.  This can be used
  4007.          to assess the chances of recovering a file.
  4008.  
  4009.      /t  Give technical data about the disk.  UNDEL has to
  4010.          figure out a lot of technical details about your
  4011.          disk in order to work.  This option tells UNDEL to
  4012.          report those details.
  4013.  
  4014.  
  4015.  
  4016.      Your best chance of recovering a file is, of course,
  4017.      to not delete it in the first place.  But sometimes
  4018.      accidents happen.
  4019.  
  4020.  
  4021.  
  4022.  
  4023.  
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030.  
  4031.      SEA Tools                                  Page 69
  4032. Your second best chance of recovering a file is to:
  4033.  
  4034.  1) DO NOT delete, move, copy, or create ANY files on
  4035.     the disk after the accidental deletion if at all
  4036.     possible.
  4037.  
  4038.  2) If you have a tape streamer or other "image"
  4039.     backup, then take a backup before doing anything
  4040.     else.  This will give you the ability to retry the
  4041.     undelete endlessly.
  4042.  
  4043.  3) If you don't have a tape streamer, take a backup
  4044.     anyway.  It can't hurt.
  4045.  
  4046.  4) Use UNDEL to undelete the file.
  4047.  
  4048.  5) Examine the file.  If it isn't right, delete it
  4049.     and try again, this time using the "/a" (ask)
  4050.     option.
  4051.  
  4052.  6) If UNDEL can't find all of your file, you may want
  4053.     to try the "/p" (partial is okay) option.
  4054.  
  4055.  7) If none of the above works, then you are out of
  4056.     luck.  Your chances of ever recovering your data
  4057.     are slim indeed.  But see the next utility.
  4058.  
  4059.  
  4060.  
  4061. ________OHMYGAWD
  4062.  
  4063. So your worst nightmare has happened -- your most
  4064. vital document has been accidentally deleted and
  4065. nothing you've tried has worked.  Are you totally out
  4066. of luck?
  4067.  
  4068. Well, probably, but there's one last thing to try.
  4069.  
  4070. OHMYGAWD was written to handle just such a case that
  4071. happened to us.  We weren't really sure it would be
  4072. useful to anyone else -- until it happened again even
  4073. worse.  On the second occasion MS-DOS started giving
  4074. us the dreaded "Invalid drive specification" message,
  4075. and our most recent backup was not quite recent
  4076. enough.
  4077.  
  4078. What OHMYGAWD does is very simple.  It turns all of
  4079. the free clusters on a disk into files.  Every single
  4080. one of them.  When it's done, there will be zero bytes
  4081. free on the disk.  If your data still exists at all,
  4082. it's in there somewhere!
  4083.  
  4084.  
  4085.  
  4086. SEA Tools                                       Page 70
  4087.      OHMYGAWD takes two arguments.  The first argument,
  4088.      which must be given, is the drive to do this to.  The
  4089.      second argument, which is optional, is how big each of
  4090.      the files should be.
  4091.  
  4092.      File size is expressed in "K" (which is computer
  4093.      jargon for 1,024 characters), and will be rounded up
  4094.      to the nearest whole cluster size.  If you don't
  4095.      specify a size, then OHMYGAWD will split your data
  4096.      evenly into as many files as will fit on the disk.
  4097.  
  4098.      Each of the files will be in the root directory, and
  4099.      will have a name of the form:
  4100.  
  4101.          FILEnnnn.OMG
  4102.  
  4103.      where "nnnn" is a number.
  4104.  
  4105.      Suppose for example that your vital data is lost
  4106.      somewhere on the C: drive, and that your editor can
  4107.      handle files up to 64k in size.  You might give the
  4108.      command:
  4109.  
  4110.          ohmygawd C: 64
  4111.  
  4112.      You will then have a whole bunch of files sitting on
  4113.      your C: drive.
  4114.  
  4115.  
  4116.      So what happened when our drive packed it in?  First
  4117.      we ran FDISK to recreate the partition.  The result
  4118.      was a mess, so we ran FORMAT on it to get it
  4119.      straightened out.  Then we ran OHMYGAWD on it and
  4120.      wound up with 147 files, each about 60k in size.  We
  4121.      spent a day sifting through them all, and finally
  4122.      recovered everything.
  4123.  
  4124.      It was something of a trip down memory lane, actually.
  4125.      We also found a whole bunch of old correspondence that
  4126.      had been deleted months earlier.
  4127.  
  4128.  
  4129.      We sincerely hope for your sake that you'll never need
  4130.                                        __     to run OHMYGAWD.  But if you ever do need it, you'll
  4131.      be glad you have it!
  4132.  
  4133.  
  4134.  
  4135.  
  4136.  
  4137.  
  4138.  
  4139.  
  4140.  
  4141.      SEA Tools                                  Page 71
  4142.              NOTES
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148.  
  4149.  
  4150.  
  4151.  
  4152.  
  4153.  
  4154.  
  4155.  
  4156.  
  4157.  
  4158.  
  4159.  
  4160.  
  4161.  
  4162.  
  4163.  
  4164.  
  4165.  
  4166.  
  4167.  
  4168.  
  4169.  
  4170.  
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176.  
  4177.  
  4178.  
  4179.  
  4180.  
  4181.  
  4182.  
  4183.  
  4184.  
  4185.  
  4186.  
  4187.  
  4188.  
  4189.  
  4190.  
  4191.  
  4192.  
  4193.  
  4194.  
  4195.  
  4196. SEA Tools                                       Page 72
  4197.