home *** CD-ROM | disk | FTP | other *** search
/ CD Direkt 1995 #1 / Image.iso / cdd / dosanw / phantom / dokus / arc / arc.doc next >
Encoding:
Text File  |  1989-04-21  |  135.7 KB  |  4,637 lines

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