     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
                                   ARC31/CMD 
     
                             File Archive Utility 
                           Version 02.00.00 03/14/87 
                                for LDOS 5.1.x 
                                  Model I/III 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
          (C) COPYRIGHT 1985, 1986 by System Enhancement Associates; 
                              ALL RIGHTS RESERVED 
     
      LDOS 5.1.x adaptations (C) COPYRIGHT 1986, 1987 by David Huelsmann; 
                              ALL RIGHTS RESERVED 
     
     
    This document describes the ARC31 file utility, version 02.00.00, which 
    was based on the MS-DOS ARC created by System Enhancement Associates. 
     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 2 
     
     
                               Table of Contents 
     
     
     
    Table of contents  ...............................................   2 
    Introduction  ....................................................   3 
    Using ARC31 ......................................................   5 
    ARC31 commands  ..................................................   6 
        Adding files  ................................................   6 
        Extracting files  ............................................   7 
        Deleting files  ..............................................   8 
        Listing archive entries  .....................................   8 
        Printing files  ..............................................   9 
        Testing an archive  ..........................................  10 
    ARC31 option  ....................................................  10 
        Encryption/decryption  .......................................  10 
    ARC4 File Compatibility  .........................................  11 
    MS-DOS ARC File Compatibility  ...................................  11 
    Memory Limitations  ..............................................  12 
    Overlays  ........................................................  12 
    Technical Support  ...............................................  12 
    Version numbers  .................................................  13 
    Common questions and answers  ....................................  13 
    Revision history  ................................................  15 
    Program history and credits  .....................................  15 
    Site license  ....................................................  17 
    Site License Agreement  ..........................................  18 
    Order form  ......................................................  19 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 3 
     
     
                                 INTRODUCTION 
     
     
     
    ARC is the copyrighted property of System Enhancement Associates. Since 
    ARC31 is a derivative  work based on ARC, it,  too, is the  copyrighted 
    property of System Enhancement Associates. The LDOS 5.1.x modifications 
    are  the copyrighted  property of  David  Huelsmann. You  are granted a 
    limited license  to  use  ARC31, and  to  copy  it  and  distribute it, 
    provided that the following conditions are met: 
     
    1) No fee may be charged for such copying and distribution. 
     
    2) ARC31 may ONLY be distributed in its original, unmodified state. 
     
     
    Any  voluntary  contributions  for the  use  of  this  program will  be 
    appreciated, and should be sent to: 
     
                         System Enhancement Associates 
                                 21 New Street 
                               Wayne, NJ   07470 
     
    You  may  not  use  this  product  in  a commercial  environment  or  a 
    governmental organization without paying a  license fee  of  $35.  Site 
    licenses and  commercial distribution licenses  are  available. See the 
    order form in the back of this manual for more details. 
     
     
     
    A word about user supported software: 
     
    The user supported  software concept (usually referred  to as freeware) 
    is an  attempt to provide software at low cost. The cost of offering  a 
    new  product by conventional  means is staggering, and  hence dissuades 
    many  independent  authors  and  small companies  from  developing  and 
    promoting their ideas. User supported software is an attempt to develop 
    a new marketing channel, where products can be introduced at low cost. 
     
    If  user supported software works, then everyone will benefit. The user 
    will benefit by  receiving quality products at low  cost, and by  being 
    able  to "test  drive" software thoroughly  before  purchasing  it. The 
    author  benefits by being able to  enter  the commercial software arena 
    without first needing large sources of venture capital. 
     
    But  it can only work with  your support.  We're not just talking about 
    ARC and  ARC31 here, but about all user supported software. If you find 
    that you  are  still using a  program after a  couple  of  weeks,  then 
    pretty obviously it is worth something to you, and you should send in a 
    contribution. 
     
    And now, back to ARC31: 
     
    ARC31 is  used to create  and maintain file archives.  An archive  is a 
    group of files collected together into one file in such a way that the  
    individual files may be recovered intact. 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 4 
     
     
    ARC31 is different from other archive  and library utilities in that it 
    automatically  compresses  the  files  being  archived,  so   that  the 
    resulting archive takes up a minimum amount of space. 
     
    When ARC31 is  used to add a file to an archive it analyzes the file to 
    determine which of three storage methods will  result in the greatest   
    savings. These three methods are: 
     
    1) No compression; the file is stored as is. 
     
    2)  Repeated-character compression; repeated sequences of the same byte 
    value are collapsed into a three-byte code sequence. 
     
    3) Huffman squeezing  with repeated-character compression; the  file is 
    compressed into variable length bit strings, similar to the method used 
    by the SQ programs. 
     
     
    Note  that  since one of the  three methods involves no  compression at 
    all, the resulting archive entry will never be larger than the original 
    file. 
     
     
    An interesting note: It has been brought to SEA's attention that BASIC  
    programs compress to a smaller size when they are not tokenized. If you 
    are more concerned with space than speed, you may  wish to convert your 
    BASIC programs to ASCII  form before  adding them  to an  archive. Your 
    BASIC manual should give instructions on how to do this. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 5 
     
     
                                  USING ARC31 
     
     
     
    ARC31 is invoked with a command of the following format: 
     
                    ARC31 <x> <arcname> [<template> . . .] 
     
    Where: 
     
    <x>  is  an ARC31  command letter (see below), in either upper or lower 
    case. 
     
    <arcname>  is the name  of  the  archive to act  on, with or without an 
    extension. If no extension  is supplied,  then "/ARC"  is assumed.  The 
    archive name may include a drive specifier. 
     
    <template>  is  one  or  more  file  name  templates.   The  "wildcard" 
    characters "$",  "*" and "?" may be used. A  "!" may be used to reverse 
    the sense of the wildcard following. A file name template may include a 
    drive specifier. 
     
    If ARC31 is  invoked with no arguments (by typing "ARC31", and pressing 
    "enter"), then a brief command summary is displayed. 
     
     
     
    The following is  an example of the display when  ARC31 is invoked with 
    no arguments: 
     
                      ARC31/CMD Version 02.00.00 03/14/87   
          (C) COPYRIGHT 1985,1986 by System Enhancement Associates   
                            ALL RIGHTS RESERVED  
       LDOS 5.1 adaptation (C) COPYRIGHT 1986,1987 by David Huelsmann  
                            ALL RIGHTS RESERVED 
                      Distributed with permission of SEA 
     
           Refer to program documentation for complete instructions 
         and limitations on copying and distribution of this program. 
     
     
    Press ENTER to continue: 
     
                      ARC31/CMD Version 02.00.00 03/14/87   
     
     
         Usage: ARC31 [aumdexplvt][b][g{password}] archive [file(s)] 
              Where:   a,u = Add (update) file(s) to archive 
                       m   = Move file(s) to archive 
                       d   = Delete file(s) in archive 
                       e,x = Extract file(s) from archive 
                       p   = Print file(s) in archive to CRT 
                       l,v = List files in archive (verbose) to CRT 
                       t   = Test archive integrity 
                       g   = Garble (encrypt/decrypt) archive file(s) 
     
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 6 
     
                                ARC31 COMMANDS 
     
     
     
    This section describes each of the commands. ARC31 will  accept any one 
    command at a time. If no commands  are given, then a brief command list 
    is displayed as shown on the previous page. 
     
     
     
    ADDING FILES 
     
    Files are added to an archive using the "A" (Add), "U" (Update), or "M" 
    (Move)  commands.  Add and Update are the same and always add the file. 
    Move differs from Add and  Update in  that  the source file is  deleted 
    once it has been added to the archive. 
     
     
     
    For example, if  you  wish to add a file named "TEST/DAT" to an archive 
    named "MY/ARC", you would use a command of the form: 
     
                              ARC31 a my test/dat 
                                      or 
                              ARC31 a my test.dat 
                                      or 
                              ARC31 u my test/dat 
     
    Note that ARC31 will automatically supply the extension /ARC. You could 
    also  supply the drive  specifier on  the archive without the extension 
    such as "my:1".  ARC31 will read this  as MY/ARC:1. ARC31 will accept a 
    different  extension than /ARC for the archive file if you  wish. Note, 
    also, that ARC31 will accept either the slash "/" or a period "." as an 
    extension delimiter in the extensions of files. 
     
    If  you  wanted to add all  files  with a "/C" extension, and all files 
    named "STUFF" to  an archive named  "JUNK/ARC" located on drive  1, you 
    could type: 
     
                         ARC31 a junk:1 *.c stuff.*:0 
                                      or 
                          ARC31 a junk:1 $/c stuff.* 
     
    Note that failure to supply a drive specifier when using wildcards will 
    cause the addition of all files that match the wildcard on ALL drives. 
     
    If you wanted  to  move all  files  on  drive 2  into an  archive named 
    "SUM/ARC" on drive 1, you could use a command of the form: 
     
                              ARC31 m sum:1 $/$:2 
     
    Note  that after the files  are  placed in the archive, they are killed 
    from the source drive. 
     
     
     
 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 7 
     
    Archive  entries  are always maintained in alphabetical order.  Archive 
    entries may not have  duplicate names.  If you add a file to an archive 
    that already contains a file by that name,  then the existing entry  in 
    the archive is replaced. Also, the archive itself will not be added. 
     
    You cannot add two files  with  the same name. In  other words,  if you 
    have a file named "STUFF/TXT:0"  and another file  named "STUFF/TXT:1", 
    then typing: 
     
                       ARC31 a junk stuff/$:0 stuff/$:1 
     
    will not work. 
     
     
    ARC31 does not  save the drive specifier  or  any  passwords. In  other 
    words, if you specify a drive and/or  password when adding a file, only 
    the actual file name is stored in the archive. 
     
     
    ARC31  will  never add  an archive  to  itself,  nor  will it  add  the 
    temporary copy. 
     
     
     
    EXTRACTING FILES 
     
    Archive entries are extracted  with the "E" (Extract) and "X" (eXtract) 
    commands. For example, if you  had an archive named "JUNK/ARC", and you 
    wanted all  files in it with  an  extension of "/TXT"  or  "/DOC" to be 
    recreated on your disk, you could type: 
     
                           ARC31 e junk $/txt $/doc 
                                      or 
                           ARC31 x junk $/txt $/doc 
     
    Note  that in the above examples, the files would be extracted to drive 
    0. 
     
    If  you  wanted  to extract  all  of the  files  in  an  archive  named 
    "JUNK/ARC", you could simply type: 
     
                                 ARC31 e junk 
                                      or 
                              ARC31 e junk $/$:2 
     
    Note that in the first example, all files would be extracted to drive 0 
    and in the second example, all files would be extracted to drive 2. 
     
    Whatever method  of file compression was used in storing  the  files is 
    reversed, and uncompressed copies are created. If a file with  the same 
    name  already  exists on the drive  specified, you will be asked if you 
    wish to overwrite the file. 
     
    You can also specify a drive  specifier, in which case the decompressed 
    copy is placed  on the specified drive.If you give more  than one drive 
    for  a file, then only  the  first  one  is  used.  For example, if you 
    typed: 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 8 
     
     
                    ARC31 x junk:1 trash/txt:1 trash/txt:2 
     
    then TRASH/TXT will be placed on drive 1. 
     
     
     
    DELETING FILES 
     
    Archive  entries  are  deleted  with the  "D"  (Delete) command.    For 
    example, if you  had  an  archive  named  "JUNK/ARC", and you wished to 
    delete all entries in it with  a filename extension  of "/C", you could 
    type: 
     
                               ARC31 d junk $/c 
     
    Note that deleted files cannot be recovered.  ARC31 recovers all  space 
    from deleted files. 
     
     
    LISTING ARCHIVE ENTRIES 
     
    You can obtain a list of  the  contents of an  archive by using the "L" 
    (List) command or the "V" (Verbose list) command. Both commands display 
    exactly  the same thing  in ARC31. For example, to  see  what is in  an 
    archive named "JUNK/ARC", you could type: 
     
                                 ARC31 l junk 
                                      or 
                                 ARC31 v junk 
     
     
    ARC31 prints a listing of an archive's contents like this: 
     
     
         Name         Length   Sto  SF  Size now Date      Time   CRC 
         ============ ======== === ==== ======== ========= ====== ==== 
         ARC31.C         27318 Sqz  45%    15248 28 Dec 86  1:23p 69e4 
         ARC31.H          5239 Sqz  40%     3194 28 Dec 86  1:26p 5f5d 
         ARC312.C        20620 Sqz  44%    11617 28 Dec 86  1:26p 6d9e 
         ARC312.H         5245 Sqz  38%     3265 28 Dec 86  1:28p 2f7f 
         ARC313.C        23682 Sqz  43%    13538 28 Dec 86  1:28p 2a53 
         ARC313.JCL        161 ---   0%      161 28 Dec 86  1:30p 4fd8 
         COMPARC.JCL       249 ---   0%      249 28 Dec 86  1:31p c134 
                 ==== ========     ==== ========                       
         Total      7    82514      43%    47272                       
     
     
    "Name" is simply the name of the file. 
     
    "Length" is the unpacked file length.  In other words, it is the number 
    of  bytes  of  disk space  which  the file would  take up  if  it  were 
    extracted. 
     
    "Total" is pretty obvious, I think. 
     
 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 9 
     
    "Sto"  is short  for "Stowage"  and is the compression method used. The 
    following compression methods are currently employed: 
     
               ---          No compression. 
               Pkd          Runs of repeated byte values are collapsed. 
               Sqz          Huffman squeeze technique employed. 
     
    "SF" is the stowage factor. In other words, it is the percentage of the 
    file length which was saved by compression. The total stowage factor is 
    the stowage factor for  the archive as  a  whole,  not counting archive 
    overhead. 
     
    "Size now"  is  the number of bytes the file is  occupying while in the 
    archive. 
     
    "Date" is  the  date on which  the  file  had  last  been added to  the 
    archive. 
     
    "Time" is  the time  of last addition to the archive, and is associated 
    with the date of last addition. 
     
    "CRC" is the CRC-16 check  value which has been stored  with  the file. 
    Another CRC-16 value will be  calculated when the file is extracted  or 
    tested to ensure data integrity. There is no especially good reason for 
    displaying this value. 
     
     
     
    PRINTING FILES 
     
    Archive  entries may be  examined  with  the "P" (Print)  command. This 
    works the  same  as the Extract  command, except that the files are not 
    created on  disk  and  the  high bit  is  set  to zero and  unprintable 
    characters are converted to  periods. The  contents  of  the  files are 
    written to the CRT.  For example, if  you wanted to see the contents of 
    every "/TXT" file in an archive named "JUNK/ARC",  but didn't want them 
    saved on disk, you could type: 
     
                              ARC31 p junk $/txt 
     
    Note that you can pause the  output to your CRT by pressing shift @ and 
    then can resume  by pressing any key. Pressing <BREAK> during  printing 
    will exit you from the program back to DOS. 
     
    If  you  wanted the  files to be printed on your  printer instead of on 
    your screen, you could type: 
     
                            ARC31 p junk $/txt >*pr 
     
    Note that  no  check  is done to ensure your printer is online  and the 
    program will appear to "hang" until the printer is online. 
     
 
 
 
 
 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 10 
     
     
    TESTING AN ARCHIVE 
     
    The  integrity  of  an  archive may  be tested by use of the "T" (Test) 
    command.  This  checks to make  sure  that  all of the file headers are 
    properly placed, and that all of the files are in good shape. 
     
    This can be  very useful for critical  archives,  where data  integrity 
    must be assured. When an archive  is tested, all of  the entries in the 
    archive are unpacked  (without  saving them anywhere)  so that a CRC-16 
    check  value  may  be calculated and compared  with the recorded CRC-16 
    value. 
     
    For example, if you just received an  archive  named "JUNK/ARC" over  a 
    phone line,  and you want to make  sure  that you received it properly, 
    you could type: 
     
                                 ARC31 t junk 
     
    Any  errors that occur  will be  displayed  and  a  total count will be 
    given. If no errors occur on a file, it will be displayed as "okay". 
     
                                 ARC31 OPTION 
     
     
     
    This  section describes  the option which is  available  to modify  how 
    ARC31  works. This  option can be  combined with  any  of the commands, 
    though the result may not always be something you'd want to do. 
     
     
    ENCRYPTION/DECRYPTION 
     
    Archive  entries  may  be encrypted and  decrypted  by  using  the  "G" 
    (Garble)  option. The Garble option takes the remainder of  the command 
    string as the password to use, so it must be the last option. 
     
     
    For example, if you  wanted to  add  a  file named  "WASTE/TXT"  to  an 
    archive  named  "JUNK/ARC", and you  wanted  to encrypt  it  using  the 
    password "DEBRIS", then you would type: 
     
                         ARC31 agdebris junk waste/txt 
     
    Later on, when you want to extract it again, you would type: 
     
                         ARC31 egdebris junk waste/txt 
     
     
    The  password you supply  is used to  encrypt (or  decrypt) the archive 
    entry by performing an  exclusive  OR between  each byte of the  packed 
    data and each byte of the password. The password can be any length, and 
    each of  its bytes  is used  in  rotation. The password is converted to 
    uppercase  before it is used, so it is not case sensitive.   Since  the 
    encryption is performed on the packed data, it has no effect on stowage 
    factors. 
     
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 11 
     
    This is not a particularly sophisticated means of encryption, and it is 
    theoretically possible to crack.  Still, since  it is performed  on the 
    packed data, the result should be quite sufficient for casual use. 
     
     
    You can, if you wish, use different passwords for different files in an 
    archive,  but  it  is  not advisable.  If you are  going  to encrypt an 
    archive, use the same password for every  file,  and give  the password 
    whenever  you do anything at  all with the archive.  It  is possible to 
    list the entries in an encrypted archive using the "L" and "V" commands 
    without giving the password, but nothing else will work properly. 
     
     
    It is advisable  that you use this option sparingly,  if at all. If you 
    should  forget or mistype your password, it is highly unlikely that you 
    will ever recover your data. 
     
     
                            ARC4 File Compatibility 
     
     
    ARC31  generates archives that can be read or written to by  ARC4  (the 
    Model  4 version). The archives created by ARC4  can be read or written 
    to by ARC31. 
     
     
                         MS-DOS ARC File Compatibility 
     
     
     
    ARC31 uses the  exact  same conventions in  its  file creation  as does 
    MS-DOS ARC. Therefore, archives created by ARC31 can be read by ARC and 
    extracted properly. Of course, CMD files and tokenized basic files will 
    not  run  under MS-DOS. Also, there has been no provision made in ARC31 
    to add  a line feed  after every carriage  return.  This  would make it 
    difficult  for an MS-DOS  ARC user to  read text files  extracted  from 
    archives created by ARC31. This is not a problem with ARC31! Rather, it 
    is  differing conventions  used in  the  different  computers.  An easy 
    solution would be for the ARC31 user  to  first  squeeze the  text file 
    using  SQ31/CMD and  the new line  option. After unsqueezing  and  then 
    adding to the archive, the MS-DOS user would be able to view the file. 
     
    ARC31 cannot extract files from an MS-DOS archive. It has no capability 
    to handle any of the multiple versions of Lempel-Zev crunching that was 
    implemented in MS-DOS ARC. If crunching was not used in the archive ( a 
    very rare  and unusual occurrence),  you could conceivably extract from 
    that archive. ARC31 will extract  from an MS-DOS archive if  the  files 
    were squeezed, packed or stored. ARC31  will experience a  fatal  error 
    and exit back to DOS if it finds a  file that is crunched. If the first 
    few files are what you wanted to obtain AND they were squeezed, packed, 
    or  stored you could, conceivably,  extract from an MS-DOS  archive. If 
    the first file in the archive was crunched, you could not proceed. 
     
     
 
 
 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 12 
     
     
                              MEMORY LIMITATIONS 
     
     
    ARC31 will work well with memory reserved to FA00H. If no wildcards are 
    used during  add  (update), it will  work down  to  F700H though  speed 
    performance will  be degraded  markedly. The other functions will  work 
    normally down to F700H. 
     
    Note that the use of wildcards during ADD or UPDATE consumes memory. 
     
     
                                   OVERLAYS 
     
     
    ARC31  uses 6  overlay files (/OVR) in order to accomplish  all of  its 
    functions.  These overlays must be present on your disk  drives  but do 
    not have  to  be present on the same drive. The "root" - ARC31/CMD will 
    call  in the appropriate overlay when it is needed.  If an error occurs 
    while loading an overlay, a message will be printed  in  the  following 
    form: 
     
                     Error <#> loading overlay <filespec> 
     
    Where #  is a number defining the error and filespec is the name of the 
    overlay. The error codes and their meanings are: 
     
                    #      Meaning 
                    --     ------- 
                    10     can't open overlay file 
                    20     can't read overlay header record 
                    30     invalid header record 
                    40     overlay area overlaps stack 
                    50     error reading overlay 
     
    The  following  files are necessary  to  implement  all  of  the  ARC31 
    functions: 
     
    File                         Function 
    ------------                 -------------------------------------- 
    ARC31/CMD                    "root" calls all overlays 
    ARC31ADD/OVR                 performs all functions in add or move 
    ARC31DEL/OVR                 performs all delete functions 
    ARC31TST/OVR                 performs test of archive integrity 
    ARC31EXT/OVR                 performs all extractions from archive 
    ARC31LST/OVR                 lists the contents of an archive 
    ARC31HLP/OVR                 Displays short help text 
     
     
                               TECHNICAL SUPPORT 
     
     
     
    It  should be obvious by now that SEA  cannot provide technical support 
    even though they wrote the original ARC that ARC31 is based on. They do 
    not  have  access to the source code  nor do they have a  Model  III or 
    Model I Tandy computer. ARC31 is  NOT in the public domain and can only 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 13 
     
    be  modified with  the permission of the original copyright holders  of 
    ARC and  myself.  Except  for providing  contributions or  obtaining  a 
    noncommercial  or  a  commercial  site  license,  you   should  not  be 
    contacting SEA for support for ARC31. 
     
    Please address all inquiries concerning ARC31 technical matters to: 
     
                                David Huelsmann 
                                3308 Delamar NE 
                             Albuquerque, NM 87107 
     
                                     or to 
                                    SSE BBS 
                                (505) 821-7379 
                             1200/2400 bps anytime 
                          300 bps after 2400 Mountain 
     
                                     or to 
                              CIS ppn 71525,1363 
     
     
                                VERSION NUMBERS 
     
     
    The version number of ARC31 is given as follows XX.YY.ZZ. 
     
    XX = a major revision, such as adding a new packing algorithm. 
     
    YY = a minor revision that is not essential, but which may be desired. 
     
    ZZ =  a trivial revision that will probably only be desired by specific 
    individuals or by die-hard "latest version" fanatics. 
     
    ARC31 also  displays its date  of  last  edit.   A  change of  the date 
    without  a corresponding  change in version  number  indicates a  truly 
    trivial change, such as fixing a spelling error. 
     
     
                         COMMON QUESTIONS AND ANSWERS 
     
     
     
    Q: Why isn't crunching available in ARC31? Crunching is much faster. 
     
    A: Actually, crunching isn't really as fast as it looks. Crunching is a 
    one  pass operation, while squeezing requires two passes.  ARC actually 
    does  the  crunching during  the analysis  pass, and puts the  crunched 
    output in a file named "$ARCTEMP.CRN". If crunching turns out to be the 
    best method, then this temporary file is  copied  into the new archive. 
    In other words, when ARC  says  "crunching" it isn't  really crunching, 
    it's just copying a file. 
     
    Also, there are a  lot of files out there that squeeze much better than 
    they crunch. 
     
 
 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 14 
     
    Due to the memory limitations of the Tandy Models I/III, It just wasn't 
    possible to add the coding and the tables necessary to handle crunching 
    in ARC31. 
     
     
    Q: Why does  ARC31 run out  of room if I  make  an  archive bigger than 
    about 180k? 
     
    A: Because you are working on  a floppy  disk that is double density or 
    double  sided or both. A double-sided double  density disk has  about a 
    360K capacity. If  you are adding  or deleting files from your archive, 
    you could  only handle  about  a 180K archive. ARC31 creates  a copy of 
    your archive, incorporating any new files as  it goes. When it is done, 
    it  deletes the original and renames the new one. There are a number of 
    reasons for doing it this way, one being that your original  archive is 
    still intact if anything happens while ARC31 is running. 
     
    If  you need to make a larger  archive, and if you have  a fixed  disk, 
    then you can create the archive  on the  fixed disk and then copy it to 
    the floppy. 
     
     
    Q: Why does my system "hang"  when  I  specify  my archive  filename as 
    TEST/TMP when adding, deleting, or extracting files? 
     
    A: ARC31  attempts to create  a temporary archive with the same name as 
    the original  archive  but  with an  extension  of  /TMP  when  adding, 
    deleting or  extracting  files. There is no error handling  built in to 
    ARC31  to handle  a situation  where  the  archive  name and  extension 
    already  match  the temporary file  name ARC31 expects to create. While 
    you  can certainly use another extension besides /ARC, I would  suggest 
    that you stay away from /TMP. 
    On a side note, if your system bombed for some reason and left the /TMP 
    file that ARC31  created on your disk, rename  the file  to /ARC before 
    attempting any accesses. This will prevent the possibility of the above 
    described problem from occurring as well. 
     
     
    Q: Can I use ARC31 to distribute my public domain or freeware program? 
     
    A: Yes, of course. 
     
     
    Q: Can I use ARC31 to distribute my commercial software package? 
     
    A: Yes. Please contact SEA for a commercial distribution license. 
     
     
    Q: I'm a commercial user. Why should I pay for freeware that others get 
    for free? 
     
    A: Because you cannot credibly  plead poverty.  Freeware, all freeware, 
    is an attempt to  develop a  new marketing  channel to  the benefit  of 
    everyone.  You can still "test drive" freeware for a short period,  but 
    if you decide to use it in your business, then you should pay for it. 
     
     
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 15 
     
    Q: Why not allow me to  select which method of compression I want ARC31 
    to use? 
     
    A:  It would needlessly complicate  ARC31, both internally and  in use. 
    The exact nature of the compression methods used are complex, and quite 
    different. The only sure way to tell  which will be  best  in any given 
    case is to  analyze the data, as  ARC31 does. The method chosen may not 
    always be what you expect. 
     
     
    Q: How can I get the latest version of ARC31? 
     
    A:  ARC31 updates are distributed through normal freeware channels, and 
    by FidoNet. 
     
     
                               REVISION HISTORY 
     
     
    Version 01.00.00 12/31/86 of ARC31/CMD was released on 01/09/87. 
    Version 02.00.00 03/14/87 of ARC31/CMD was  released on  03/14/87. This 
    updated version corrects a number of minor problems and fixes one major 
    problem. Thanks  go to Bob  Connors  who clearly  presented  the  major 
    problem making it much  easier to figure out and  correct. ARC31 seemed 
    to choke when  writing archives greater than 64K or  handling  files of 
    that length  or larger.  This problem was  quite a puzzler for  a while 
    since  it  should have easily handled archives up  to one billion bytes 
    long  (certainly not  a restriction  considering the size  of  the hard 
    disks  available to  the Tandy line). The problem turned out to  be a C 
    library function that had been fixed by AZTEC in the version of C I was 
    using  but it appears  that  they  had  failed to  update  the library. 
    Fortunately, the source code for the library was available and it was a 
    relatively easy job to fix the problem. 
    Other minor fixes  included correction  of the display when a drivespec 
    is not placed on the archive name; an automatic return to DOS after the 
    rename function so as to not interfere  with  DOSPLUS operation; coding 
    that SHOULD allow operation under DOSPLUS (Note: I don't have that DOS, 
    so I  would  appreciate some  feedback  as to  whether the coding does, 
    indeed, allow operation) thanks go to Joe Johnson  and  Joe Sewell  for 
    working out the coding I used; correction of the count of errors in the 
    test option so that it doesn't report double the number  of errors that 
    have actually occurred; and, correction to the time display in list  so 
    that a time of 1200 thru 1259 is correctly reported as p. 
     
     
                          PROGRAM HISTORY AND CREDITS 
     
     
    ARC31/CMD  is  based  on  ARC  Version  5.1.2   of  System  Enhancement 
    Associates. Thom Henderson graciously gave his  permission to release a 
    modified version  of ARC  for  the TANDY Model I/III users on 12/11/86. 
    While a number  of changes and  adaptations  had  to  be  made  to  the 
    existing  source  code   (including   eliminating  some  features  like 
    Lempel-Zev crunching), the majority of the program is the original work 
    of SEA, now,  almost 2  years old. The following is the program history 
    and credits, as described by SEA, for MS-DOS ARC: 
     
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 16 
     
    In its short life thus far,  ARC has astounded us with its  popularity. 
    We first wrote it in March of 1985 because we wanted an archive utility 
    that used  a distributive directory  approach,  since this  has certain 
    advantages  over the more popular central directory approach.  We added 
    automatic  squeezing in  version  2 at the  prompting of  a  friend. In 
    version 2.1 we added  the code to test for the best compression method. 
    Now  (in October of  1985)  we find that our  humble little program has 
    spread across the country, and seems to have become a new institution. 
     
    We are  thankful for the  support and appreciation we have received. We 
    hope that you find this program of use. 
     
     
    If we have  achieved  greatness, it is because  we have stood upon  the 
    shoulders of giants. Nothing is created as a thing unto itself, and ARC 
    is  no  exception. Therefore,  we  would like  to give  credit  to  the 
    following people, without whose efforts ARC could not exist: 
     
     Brian  W.  Kernighan  and P. J. Plauger, whose  book  "Software Tools" 
    provided many  of the ideas behind  the distributive directory approach 
    used by ARC. 
     
    Dick  Greenlaw,  who wrote the public domain SQ  and  USQ  programs, in 
    which the Huffman squeezing algorithm was first developed. 
     
    Robert J. Beilstein, who adapted SQ and USQ to Computer Innovations C86 
    (the language  we use), thus providing us with  important parts of  our 
    squeezing logic. 
     
    Kent Williams, who graciously allowed us  to use his  LZWCOM and LZWUNC 
    programs as  a basis  for  our Lempel-Zev  compression  logic,  and who 
    continues to make valuable contributions. 
     
    David Schwaderer,  whose article  in the  April 1985  issue  of PC Tech 
    Journal provided us  with  the logic  for  calculating the CRC  16  bit 
    polynomial. 
     
    Terry  A. Welch, whose  article "A Technique for  High Performance Data 
    Compression",  IEEE Computer  Vol  17  No  6 (June  1984) seems to have 
    started all the research on Lempel-Zev coding. 
     
    Spencer W.  Thomas,  Jim McKie,  Steve Davies, Ken Turkowski, James  A. 
    Woods, and Joe Orost, who are the authors of the UNIX compress utility. 
     
    And many, many others whom we could not identify. 
     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 17 
     
     
                                 SITE LICENSE 
     
     
    Corporate users may wish to obtain a site license for the use of ARC31. 
    Please use the order form in this manual to order a  site license. Site 
    licenses are granted as of when SEA receives your payment. License fees 
    vary  depending on the number of computers on which ARC31 will be used, 
    as follows: 
     
                           1 to  9 copies  $35 each 
                           10 to 24 copies  $25 each 
                           25 to 49 copies  $20 each 
                           50 to 99 copies  $15 each 
                      over  99 copies  $1500 one time fee 
     
     
    The following page is a site license agreement, which should be  signed 
    and sent with your payment when ordering a commercial site license. 
     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 18 
     
     
                            Site License Agreement 
     
    The use of ARC31 in a commercial environment or government organization 
    is granted under the following terms: 
     
    1.   Payment  of the  license  fee must be made  to  System Enhancement 
    Associates. The fee is based on the  number of computers which  will be 
    used to run ARC31, as follows: 
     
                           1 to  9 copies  $35 each 
                           10 to 24 copies  $25 each 
                           25 to 49 copies  $20 each 
                           50 to 99 copies  $15 each 
                      over  99 copies  $1500 one time fee 
     
    2.    You may use  ARC31  on  the number  of computers  included in the 
    license fee.  If you have paid the fee for over 99 copies, then you may 
    use ARC31 on any number of computers within your organization. 
     
    3.   You may make copies of  the program, in  its original,  unmodified 
    form,  without  restriction.  You  may distribute  these  copies of the 
    program without restriction. 
     
    4.   If these copies are distributed outside of  your organization, you 
    have no obligation to control the use of those copies which are outside 
    of your organization. 
     
    5.   You may  make  copies of  the program documentation,  in  both its 
    printed form and machine readable form, without restriction. 
     
    6.  You may use future versions of ARC31 under this license. 
     
    7.   You may NOT modify  the program or  charge a  fee  for copying  or 
    distributing the program. 
     
    8.    It is  your responsibility  to make  the necessary copies  and to 
    deliver them to the computers which they will be used on. 
     
     
     
    I agree to abide by the terms and conditions of this license. 
     
     
     _____________________________         __________________________ 
             Signature                             Date 
     
    _____________________________ 
      Name (please print or type) 
     
    _____________________________ 
             Title 
     
    _____________________________ 
           Company 
     
     
 
 
 
 
 
 
                                   ARC31/CMD 
    Documentation                                                 Page 19 
     
                                  ORDER FORM 
     
     
     
    Check which items you wish to purchase: 
     
    (_) Noncommercial license for the use of ARC31. 
     
    (_) Commercial license for the use of ARC31 on ___ computers (see price 
    schedule and terms on preceding page). 
     
    (_) Payment of $_____ is enclosed (check or money order). 
     
    (_) Please charge $_____ to my (_) Visa or (_) MasterCard: 
     
    Card number: ______________________________ 
     
    Expiration date: __________________________ 
     
    _______________________________________________ 
    Name 
     
    _______________________________________________ 
     
     
    _______________________________________________ 
    Address 
     
    ______________________   ________  ____________ 
    City                     State     Zip 
     
    _______/_______ 
    FidoNet address 
     
     
    Send this completed form to: 
     
                         System Enhancement Associates 
                                 21 New Street 
                               Wayne, NJ   07470 
     
    For commercial site license orders, please enclose a signed copy of the 
    site license agreement. 
     
     
                                                                                                                          