home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / COMPRESS / ARC601.EXE / ARC.DOC next >
Encoding:
Text File  |  1989-01-20  |  118.3 KB  |  4,197 lines

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