home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-04-14 | 55.9 KB | 2,101 lines |
-
-
-
-
-
-
-
-
-
-
-
-
- ARC
-
- File Archive Utility
- Version 5.20
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- (C)COPYRIGHT 1985,86
- by
- System Enhancement Associates, Inc.
- ALL RIGHTS RESERVED
-
-
-
-
-
- This document describes version 5.20 of the ARC file
- utility, which was created by System Enhancement
- Associates, Inc. in October of 1986.
-
-
- TABLE OF CONTENTS
-
-
-
- _______ ____Section Page
-
-
- Introduction .................................... 1
- Using ARC ....................................... 3
- ARC commands .................................... 5
- Adding files ................................ 5
- Extracting files ............................ 7
- Deleting files .............................. 8
- Listing archive entries ..................... 8
- Running files ............................... 10
- Printing files .............................. 11
- Testing an archive .......................... 11
- Converting an archive ....................... 12
- ARC options ..................................... 13
- Suppressing compression ..................... 13
- Backup retention ............................ 14
- Message suppression ......................... 15
- Encryption/Decryption ....................... 17
- RAMdisk support ................................. 18
- MARC ............................................ 19
- ARCE ............................................ 20
- Version numbers ................................. 21
- Common questions and answers .................... 22
- Maintenance contracts ........................... 24
- Revision history ................................ 25
- Changes in version 3 ........................ 25
- Changes in version 4 ........................ 25
- Changes in version 4.1 ...................... 26
- Changes in version 4.3 ...................... 26
- Changes in version 4.4 ...................... 27
- Changes in version 4.5 ...................... 27
- Changes in version 5.0 ...................... 28
- Changes in version 5.1 ...................... 29
- Changes in version 5.2 ...................... 30
- Program history and credits ..................... 31
- Bulletin boards ................................. 33
- Site licenses ................................... 34
-
-
-
-
-
-
-
-
-
-
-
-
-
- INTRODUCTION
-
-
-
- ARC is the copyrighted property of System Enhancement
- Associates, Inc. You are granted a limited license to
- use ARC, 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) ARC may ONLY be distributed in its original,
- unmodified state.
-
- ___3) ARC may not be distributed, in whole or in part, as
- part of any commercial product or service without
- the express written permission of System
- Enhancement Associates.
-
-
- Contributions for the use of this program will be
- appreciated, and should be sent to:
-
- System Enhancement Associates, Inc.
- 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. A
- program disk and printed documentation are available
- for $50. See the order form enclosed with this manual
- for more details.
-
-
-
- ARC is user supported software. This means that you
- may copy it freely and give the copies away to anyone
- you wish, at no cost. They are in turn requested to
- send in a contribution if they decide to use it.
-
- The user supported software concept (often referred to
- _________as shareware) 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.
-
-
-
-
- ARC Page 1
- 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 here, but about all user
- supported software. If you obtain a user supported
- program from a friend or colleague, and are still
- using it after a couple of weeks, then it is obviously
- worth something to you, and a contribution should be
- sent.
-
-
-
- And now, back to ARC:
-
- ARC 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.
-
- ARC 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 ARC 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) Dynamic Lempel-Zev compression; the file is stored
- as a series of variable size bit codes which
- represent character strings, and which are created
- "on the fly".
-
- 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.
-
-
-
-
-
- ARC Page 2
- USING ARC
-
-
-
- ARC is invoked with a command of the following format:
-
- ARC <x> <arcname> [<template> . . .]
-
- Where:
-
- <x> is an ARC 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 path and drive specifiers.
-
- <template> is one or more file name templates.
- The "wildcard" characters "*" and "?" may be used.
- A file name template may include a path or drive
- specifier, though it isn't always meaningful.
-
-
- If ARC is invoked with no arguments (by typing "ARC",
- and pressing "enter"), then a brief command summary is
- displayed.
-
-
-
- Following is a brief summary of the available ARC
- commands:
-
- a = add files to archive
- m = move files to archive
- u = update files in archive
- f = freshen files in archive
- d = delete files from archive
- x,e = extract files from archive
- r = run files from archive
- p = copy files from archive to standard output
- l = list files in archive
- v = verbose listing of files in archive
- t = test archive integrity
- c = convert entry to new packing method
-
-
-
-
-
-
-
-
-
- ARC Page 3
- Following is a brief summary of the available ARC
- options, which may alter how a command works:
-
- b = retain backup copy of archive
- s = suppress compression (store only)
- w = suppress warning messages
- n = suppress notes and comments
- o = overwrite existing files when extracting
- g = encode or decode archive entry
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 4
- ARC COMMANDS
-
-
-
- This section describes each of the commands. ARC will
- accept any one command at a time. If no commands are
- given, then a brief command list is displayed.
-
-
-
- ____________ADDING FILES
-
- Files are added to an archive using the "A" (Add), "M"
- (Move), "U" (Update), or "F" (Freshen) commands. Add
- always adds the file. Move differs from Add in that
- the source file is deleted once it has been added to
- the archive.
-
- Update differs from Add in that the file is only added
- if it is not already in the archive, or if it is newer
- that the corresponding entry in the archive.
-
- Freshen is similar to Update, except that new files
- are not added to the archive; only files already in
- the archive are updated.
-
-
- 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:
-
- ARC a my test.dat
-
- If you wanted to add all files with a ".C" extension,
- and all files named "STUFF" to an archive named
- "JUNK.ARC", you could type:
-
- ARC a junk *.c stuff.*
-
- If you wanted to move all files in your current
- directory into an archive named "SUM.ARC", you could
- use a command of the form:
-
- ARC m sum *.*
-
- If you have an archive named "TEXT.ARC", and you
- wanted to add to it all of your files with an
- extension of ".TXT" which have been created or changed
- since they were last archived, then you would type:
-
- ARC u text *.txt
-
-
-
- ARC Page 5
- If you have a bunch of files in your current
- directory, with backup copies being stored in an
- archive named "SAFE.ARC", then if you wanted to make
- sure that every file in the archive is the latest
- version of that file, you would type:
-
- ARC f safe
-
-
- A word about Update and Freshen: These are similar in
- that they look at the date and time of last change on
- the file, and only add it if the file has been changed
- since it was last archived. They differ in that
- Update will add new files, while Freshen will not.
-
- In other words, Update looks for the files on disk,
- and adds them if they are new or have changed, while
- Freshen looks in the archive, and tries to update the
- files which are already there.
-
-
- Archive entries are always maintained in alphabetic
- 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 and its
- backup will not be added.
-
- You may also add a file which is in a directory other
- than your current directory. For example, it is
- perfectly legal to type:
-
- ARC a junk c:\dustbin\stuff.txt
-
- You cannot add two files with the same name. In other
- words, if you have a file named "C:\DUSTBIN\STUFF.TXT"
- and another file named "C:\BUCKET\STUFF.TXT", then
- typing:
-
- arc a junk c:\dustbin\*.* c:\bucket\*.*
-
- will not work.
-
-
- ARC does not save the path name. In other words, if
- you specify a drive and/or path when adding a file,
- only the actual file name is stored in the archive.
-
-
-
-
-
-
-
- ARC Page 6
- ARC will never add an archive to itself, nor will it
- add the temporary copy or a backup copy of the
- archive.
-
-
- An interesting note: It has been brought to our
- 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.
-
-
-
- ________________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:
-
- ARC x junk *.txt *.doc
-
- If you wanted to extract all of the files in an
- archive named "JUNK.ARC", you could simply type:
-
- ARC x junk
-
- Whatever method of file compression was used in
- storing the files is reversed, and uncompressed copies
- are created in the current directory.
-
- You can also specify a path name, in which case the
- decompressed copy is placed in the specified
- directory. For example, if you had an archive named
- "JUNK.ARC", and you wanted all files in it with an
- extension of ".TXT" to be placed in the directory
- "C:\WASTE\LAND", then you could type:
-
- ARC x junk c:\waste\land\*.txt
-
- If you wanted to put the file "TRASH.TXT" on your A:
- drive, and the file "LITTER.TXT" on your B: drive, you
- could type:
-
- ARC x junk a:trash.txt b:litter.txt
-
-
-
-
-
-
- ARC Page 7
- If you give more than one path for a file, then only
- the first one is used. For example, if you typed:
-
- ARC x junk a:trash.txt b:trash.txt
-
- then TRASH.TXT will be placed on your A: drive.
-
-
-
- ______________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:
-
- ARC d junk *.c
-
-
-
- _______________________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. For example, to see what is in an archive
- named "JUNK.ARC", you could type:
-
- ARC l junk
-
- If you are only interested in files with an extension
- of ".DOC", then you could type:
-
- ARC l junk *.doc
-
-
- ARC prints a short listing of an archive's contents
- like this:
-
- Name Length Date
- ============ ======== =========
- ALPHA.TXT 6784 16 May 85
- BRAVO.TXT 2432 16 May 85
- COCO.TXT 256 16 May 85
- ==== ========
- Total 3 9472
-
-
- "Name" is simply the name of the file.
-
-
-
-
-
-
- ARC Page 8
- "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.
-
- "Date" is the date on which the file had last been
- modified, as of the time when it was added to the
- archive.
-
- "Total" is pretty obvious, I think.
-
-
- ARC prints a verbose listing of an archive's contents
- like this:
-
- Name Length Stowage SF Size now Date Time CRC
- ============ ======== ======== ==== ======== ========= ====== ====
- ALPHA.TXT 6784 Crunched 35% 4413 16 May 85 11:53a 8708
- BRAVO.TXT 2432 Crunched 41% 1438 16 May 85 11:53a 5BD6
- COCO.TXT 256 Packed 5% 244 16 May 85 11:53a 3AFB
- ==== ======== ==== ========
- Total 3 9472 27% 6095
-
-
- "Name", "Length", and "Date" are the same as for a
- short listing.
-
- "Stowage" is the compression method used. The
- following compression methods are currently known:
-
- -- No compression.
-
- Packed Runs of repeated byte values are
- collapsed.
-
- Crunched Lempel-Zev compression technique
- employed.
-
- Squeezed Huffman encoding compression
- technique, as employed by an
- earlier version of ARC.
-
- "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.
-
-
-
-
-
- ARC Page 9
- "Time" is the time of last modification, and is
- associated with the date of last modification.
-
- "CRC" is the CRC check value which has been stored
- with the file. Another CRC 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.
-
-
-
- _____________RUNNING FILES
-
- Archive entries may be run without being extracted by
- use of the "R" (Run) command. For example, if you had
- an archive named "JUNK.ARC" which contained a file
- named "LEMON.COM", which you wished to run, you could
- type:
-
- ARC r junk lemon
-
- You can run any file from an archive which has an
- extension of ".COM", ".EXE", ".BAT", or ".BAS". You
- do not have to specify the extension, but all matching
- files are run if you do not. In other words, if you
- had an archive named "JUNK.ARC" which contained the
- files "LEMON.COM", "LEMON.EXE", and "LEMON.BAS", and
- you typed:
-
- ARC r junk lemon
-
- Then all three programs will be run. You can avoid
- this by specifying an extension in this case.
-
- You can give arguments to the program you are running
- by appending them to the command line. For example,
- if you have an archive named "JUNK.ARC" which contains
- a program named "LEMON.COM", and you wanted to run it
- giving it the argument "JUICE", you would type:
-
- ARC r junk lemon juice
-
- You will need a fair amount of memory to run a program
- from an archive. It probably cannot be done with less
- than 256k.
-
-
-
-
-
-
-
-
-
- ARC Page 10
- In practice, the file to be run is extracted, run, and
- then deleted. In other words, the above example is
- equivalent to:
-
- ARC x junk lemon.com
- lemon juice
- erase lemon.com
-
- If you have an archive which contains a program that
- you will be running often, then you should probably
- extract the program from the archive and use it
- normally.
-
-
-
- ______________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.
- Instead, the contents of the files are written to
- standard output. 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:
-
- ARC p junk *.txt
-
- If you wanted them to be printed on your printer
- instead of on your screen, you could type:
-
- ARC p junk *.txt >prn
-
-
-
- __________________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 check
- value may be calculated and compared with the recorded
- CRC value.
-
-
-
-
-
-
- ARC Page 11
- 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:
-
- ARC t junk
-
- It defeats the purpose of the T command to combine it
- with N or W.
-
-
-
- _____________________CONVERTING AN ARCHIVE
-
- The "C" (Convert) command is used to convert an
- archive entry to take advantage of newer compression
- techniques. This is occasionally desirable when a new
- version of ARC is released. Please refer to the
- revision history section for details on when new
- compression methods were implemented.
-
- For example, if you had an archive named "JUNK.ARC",
- and you wanted to make sure that all files with an
- extension of ".DOC" were encoded using the very latest
- methods, you could type:
-
- ARC c junk *.doc
-
- Or if you wanted to convert every file in the archive,
- you could type:
-
- ARC c junk
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 12
- ARC OPTIONS
-
-
-
- This section describes the options which are available
- to modify how ARC works. Any of these options can be
- combined with any of the commands, though the result
- may not always be something you'd want to do.
-
-
-
- _______________________SUPPRESSING COMPRESSION
-
- The "S" (Suppress compression) option can be combined
- with any command that updates archive entries. These
- include Add, Move, Update, Freshen, and Convert. The
- effect of the S option is to prevent any compression
- techniques from being employed. This is intended to
- allow you to add a few files at a time to an archive
- quickly, and then later convert the archive to
- compress everything at once.
-
- For example, over the course of a day you might give
- each of the following commands:
-
- ARC as junk *.txt
- ARC as junk *.mac
- ARC as junk *.doc
-
- At the end of the day, when you have finished adding
- things to the archive, you could have all of the
- archive entries compressed at once by typing:
-
- ARC c junk
-
- You could also decompress the archive by typing:
-
- ARC cs junk
-
- though I can't imagine why you'd want to.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 13
- ________________BACKUP RETENTION
-
- When ARC changes an archive (during an Add, Move,
- Update, Freshen, Delete, or Convert) it creates a new
- archive with the same name, but with an extension of
- ".$$$". For example, if you add a file to an archive
- named STUFF.ARC, then ARC will create a new archive
- named STUFF.$$$. ARC will read from your existing
- archive and write out the new archive with any changes
- to the ".$$$" copy.
-
- Normally when ARC is finished it deletes the original
- and renames the new archive to the original name (ie.
- STUFF.ARC goes away, and STUFF.$$$ becomes the new
- STUFF.ARC). Among other things, this means that if
- anything goes wrong and ARC is unable to finish, then
- your original archive will still be intact.
-
-
- In some circumstances you may wish to retain the
- original version of the archive as a backup copy. You
- can do this easily by using the Backup option. Add
- the letter "B" to your command, and ARC will rename
- your original archive to have an extension of ".BAK"
- instead of deleting it.
-
-
- In other words, if you wanted to add "WASTE.TXT" to an
- archive named "JUNK.ARC", but wanted to keep a backup
- copy, then you would type:
-
- ARC ab junk waste.txt
-
- Your original archive would become "JUNK.BAK", while
- "JUNK.ARC" would contain the new "WASTE.TXT" file.
-
-
- If you keep a backup of an archive which already has a
- backup, then the older backup copy is deleted.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 14
- ___________________MESSAGE SUPPRESSION
-
- ARC prints three types of messages: warnings,
- comments, and errors.
-
- Warnings are messages about suspected error
- conditions, such as when a file to be extracted
- already exists, or when an extracted file fails the
- CRC error check. Warnings may be suppressed by use of
- the "W" (Warn) command. You should use this command
- sparingly. In fact, you should probably not use this
- command at all.
-
- Comments (or notes) are informative messages, such as
- naming each file as it is added to the archive.
- Comments and notes may be suppressed by use of the "N"
- (Note) command.
-
- Errors are actual system problems, such as running out
- of disk space. You cannot suppress errors.
-
-
- For example, suppose you extracted all files with an
- extension of ".BAS" from an archive named "JUNK.ARC"
- Then, after making some changes which you decide not
- to keep, you decide that you want to extract them all
- again, but you don't want to be asked to confirm every
- one. In this case, you could type:
-
- ARC xw junk *.bas
-
- Or, if you are going to add a hundred files with an
- extension of ".MSG" to an archive named "TRASH.ARC",
- and you don't want ARC to list them as it adds them,
- you could type:
-
- ARC an trash *.msg
-
- Or, if you want to extract the entire contents of an
- archive named "JUNK.ARC", and you don't want to hear
- anything, then type:
-
- ARC xnw junk
-
-
- A special case is provided when extracting files from
- an archive. One of the various warnings that can
- occur is when a file being extracted already exists on
- disk. Normally, ARC will stop and ask you if you want
- to overwrite the file. This can be suppressed with
- the "W" command, but that will also suppress any
-
-
-
- ARC Page 15
- warnings about other things, like failed CRC checks
- and such.
-
- ____The "O" (Overwrite) option suppresses only the warning
- that the file already exists. For example, in our
- earlier case of extracting all the ".BAS" files from
- "JUNK.ARC", a much safer way to do it is to type:
-
- ARC xo junk *.BAS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 16
- _____________________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:
-
- ARC agdebris junk waste.txt
-
- Later on, when you want to extract it again, you would
- type:
-
- ARC xgdebris 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.
-
- 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 we advise against
- it. If you are going to encrypt an archive, we
- suggest you 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.
-
-
- We advise 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.
-
-
-
- ARC Page 17
- RAMDISK SUPPORT
-
-
-
- If you have a RAMdisk, or other high-speed storage,
- then you can speed up ARC somewhat by telling it to
- put its temporary files on the RAMdisk. You do this
- by setting the ARCTEMP environment string with the MS-
- DOS SET command. For example, if drive B: is your
- RAMdisk, then you would type:
-
- set ARCTEMP=B:
-
- Refer to the MS-DOS manual for more details about the
- SET command. You need only set the ARCTEMP string
- once, and ARC will use it from then on until you
- change its value or reboot your system.
-
-
- If ARC does not find an environment string named
- ARCTEMP, then it looks for one named TEMP to use
- instead. Several packages already use the TEMP string
- for exactly this purpose. If you have need of an
- environment string named TEMP for something else, then
- you should be sure to define ARCTEMP.
-
-
- There are a limited number of temporary files created
- by ARC. The Convert command uses a file named
- "$ARCTEMP.CVT" to hold each file as it is being
- converted. The Run command also creates a temporary
- file, which has the name "$ARCTEMP", and whose
- extension matches that of the file being run.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 18
- MARC
-
-
-
- MARC is a separate program which is used to merge
- archives created by ARC. MARC moves files from one
- archive to another without unpacking them.
-
-
- MARC is used as follows:
-
- MARC <target> <source> [<template> . . .]
-
- Where:
-
- <target> is the name of the archive to add files
- to.
-
- <source> is the name of the archive to read files
- from.
-
- <template> is one or more file name templates.
- The wildcard characters "*" and "?" may be used.
- If no template is supplied, then all of the files
- in <source> are added to <target>.
-
- It is not necessary for the target to exist. If it
- does not exist, then it is created. Thus, MARC can be
- used as an "extractor" as well as a "merger".
-
-
- For example, if you wanted to create an archive named
- "JUNK.ARC", which is to contain all of the files with
- an extension of ".TXT" which are currently contained
- in another archive named "WASTE.ARC", then you could
- type:
-
- MARC junk waste *.txt
-
- If you wanted to create an archive named "JUNK.ARC",
- which is to contain all of the files currently in the
- archives "WASTE.ARC" and "TRASH.ARC", you could type:
-
- MARC junk waste
- MARC junk trash
-
-
- If MARC is invoked with no arguments, then it gives
- brief directions in its use.
-
-
-
-
-
- ARC Page 19
- ARCE
-
-
-
- ARCE is a program which is used to extract files from
- ____an archive. It will only extract files, and it will
- ___not extract encrypted files. It doesn't do anything
- that ARC can't do, but it is highly optimized for the
- sole purpose of archive extraction, so it is very
- small and very fast.
-
- ARCE is used in a fashion very similar to the "ARC E"
- command (hence the name). The first argument is the
- name of the archive to extract files from, and may
- include a drive and path specifier. Up to sixteen
- additional arguments can be supplied, which specify
- the files to extract. The wildcard characters "*" and
- "?" are allowed, as with ARC. If no files are named,
- then all files are extracted from the archive. If the
- file being extracted already exists, you are asked
- whether or not you want to overwrite it. You can use
- the "/R" option to bypass this.
-
- For example, if you had an archive named "WASTE.ARC"
- that you wanted to extract everything from, then you
- could type:
-
- ARCE waste
-
- Or if you just wanted to extract the files with a
- filename extension of ".ASM", you could type:
-
- ARCE waste *.asm
-
- If you already have a few files from the archive that
- you want replaced, then you could type:
-
- ARCE waste *.asm /R
-
- If you run ARCE with no arguments at all, then it will
- give you a brief reminder of how to use it.
-
-
- NOTICE:NOTICE: ARCE is the copyrighted property of Vernon D.
- Buerg and Wayne Chin. It is included on the
- ARC program disk as a service to ARC users.
-
- Vernon D. Buerg
- 456 Lakeshire Drive
- Daly City, CA 94015
- RBBS: (415) 994-2944
-
-
-
- ARC Page 20
- VERSION NUMBERS
-
-
-
- There seems to be some confusion about our version
- numbering scheme. All of our version numbers are
- given as a number with two decimal places.
-
- The units indicate a major revision, such as adding a
- new packing algorithm.
-
- The first decimal place (tenths) indicates a minor
- revision that is not essential, but which may be
- desired.
-
- The second decimal place (hundredths) indicates a
- trivial revision that will probably only be desired by
- specific individuals or by die-hard "latest version"
- fanatics.
-
- ARC also displays its date and time of last edit. A
- change of the date and time without a corresponding
- change in version number indicates a truly trivial
- change, such as fixing a spelling error.
-
-
- To sum up: If the units change, then you should get
- the newer version as soon as you can. If the tenths
- change, then you may want to get the newer version,
- but there's no hurry. If anything else changes, then
- you probably shouldn't bother.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 21
- COMMON QUESTIONS AND ANSWERS
-
-
-
- Here are some of the more common questions we've
- received about ARC, along with their answers:
-
-
- Q: Why does ARC run out of room if I make an archive
- bigger than about 180k?
-
- A: Because you are working on a floppy disk. ARC
- 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 ARC is running.
-
- You can save some space by using drive specifiers
- and having the archive and the files to add on
- separate disks, but you still won't be able to make
- an archive larger than about 180k. 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: I've seen an ARC.COM and an ARC.EXE. Which one is
- the right one?
-
- A: ARC.EXE. One or more people have been running ARC
- through a utility that converts an ".EXE" file to a
- ".COM" file. But this utility is designed to save
- _____ space, not speed. On ARC it saves about 250 bytes,
- and makes no measurable difference in program
- speed. We've decided that the savings are not
- worth the extra step in development in this case.
-
-
- Q: How can I get the latest version of ARC?
-
- A: ARC updates are distributed through normal
- shareware channels, and by FidoNet. We also ship a
- program update disk on every order of $50 or more.
- Also, please refer to the next section for
- information about our maintenance contracts.
-
-
-
-
-
-
-
- ARC Page 22
- Q: Can I use ARC to distribute my public domain or
- shareware program?
-
- A: Yes, of course.
-
-
- Q: Can I use ARC to distribute my commercial software
- package?
-
- A: Yes, provided that you obtain a commercial
- distribution license from us. Please contact us
- for details.
-
-
- Q: I'm a commercial user. Why should I pay for
- shareware that others get for free?
-
- A: Because you cannot credibly plead poverty.
- ___ Shareware, all shareware, is an attempt to develop
- a new marketing channel to the benefit of everyone.
- You can still "test drive" shareware for a short
- period, but if you decide to use it in your
- business, then you should pay for it.
-
-
- Q: Why not allow me to select which method of
- compression I want ARC to use?
-
- A: It would needlessly complicate ARC, 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 ARC does.
- The method chosen may not always be what you
- expect.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 23
- MAINTENANCE CONTRACTS
-
-
-
- Registered users of ARC receive 90 days of telephone
- support at no extra charge. If you wish, you can
- extend this by pruchasing a maintenance contract.
-
- A maintenance contract costs $50 per year and entitles
- you to unlimited telephone support, as well as free
- updates to ARC as they come out.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 24
- REVISION HISTORY
-
-
-
- ____________________CHANGES IN VERSION 3
-
- The function used to calculate the CRC check value in
- previous versions has been found to be in error. It
- has been replaced with the proper function. ARC will
- still read archives created with earlier versions of
- ARC, but it will report a warning that the CRC value
- is in error. All archives created prior to version
- 3.0 should be unpacked and repacked with the latest
- version of ARC.
-
-
- Transmitting a file with XMODEM protocol rounds the
- size up to the next multiple of 128 bytes, adding
- garbage to the end of the file. This used to confuse
- ARC, causing it to think that the end of the archive
- was invalidly formatted. This has been corrected in
- version 3.01. Older archives may still be read, but
- ARC may report them to be improperly formatted. All
- files can be extracted, and no data is lost. In
- addition, ARC will automatically correct the problem
- when it is encountered.
-
-
-
- ____________________CHANGES IN VERSION 4
-
- ARC is adding another data compression technique in
- this version. We have been looking for some technique
- that could improve on Huffman squeezing in at least a
- few cases. So far, Lempel-Zev compression seems to be
- fulfilling our fondest hopes, often achieving
- compression rates as much as 20% better than
- squeezing, and sometimes even better. Huffman
- squeezing depends on some bytes being more "popular"
- than others, taking the file as a whole. Lempel-Zev
- compression is instead looking for strings of bytes
- which are repeated at various points (such as an end
- of line followed by spaces for indentation). Lempel-
- Zev compression is therefore looking for repetition at
- a more "macro" level, often achieving impressive
- packing rates.
-
- In the typical case a file is added to an archive once
- and then extracted many times, so the increased time
- for an update should more than pay for itself in
- increased disk space and reduced transmission time.
-
-
-
- ARC Page 25
- ______________________CHANGES IN VERSION 4.1
-
- Lempel-Zev coding has been improved somewhat by
- performing non-repeat compression on the data before
- it is coded (as was already done with Huffman
- squeezing). This has the two fold advantage of (a)
- reducing to some extent the amount of data to be
- encoded, and (b) increasing the time it takes for the
- string table to fill up. Performance gains are small,
- but noticeable.
-
- The primary changes are in internal organization. ARC
- is now much "cleaner" inside. In addition to the
- aesthetic benefits to the author, this should make
- life easier for the hackers out there. There is also
- a slight, but not noticeable, improvement in overall
- speed when doing an update.
-
-
-
- ______________________CHANGES IN VERSION 4.3
-
- Version 4.3 adds the much-demanded feature of using
- pathnames when adding files to an archive.
-
- Version 4.3 is also using a slightly different
- approach when adding a file to an archive. The end
- result is twofold:
-
- 1) Slightly more disk space is required on the drive
- containing the archive. This should only be
- noticeable to those creating very large archives on
- a floppy based system.
-
- 2) A 30% reduction in packing time has been achieved
- in most cases. This should be noticeable to
- everyone.
-
- As always, version 4.3 is still fully upwards
- compatible, and is backwards compatible as far as
- version 4.1.
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 26
- ______________________CHANGES IN VERSION 4.4
-
- The temporary file introduced in version 4.3
- occasionally caused problems for people who had not
- added a FILES= statement to their CONFIG.SYS file.
- This has now been corrected. Also, support of the
- ARCTEMP environment string was added to allow placing
- of the temporary file on a RAMdisk.
-
- A bug was reported in the Run command, which has been
- fixed. From the nature of the bug, and the extreme
- time required before the bug was reported, it is
- deduced that the Run command is probably the least
- used feature of ARC.
-
- The Update command was changed. It is no longer a
- straight synonym for Add. Instead, Update now only
- adds a file if it is newer than the version already in
- the archive, as shown by the MS-DOS date/time stamp.
-
-
-
- ______________________CHANGES IN VERSION 4.5
-
- The Convert command was not making use of RAMdisk
- support. Now it is.
-
- The Freshen command was added. Our first choice for a
- name was Refresh, but we already had a Run command.
- Assuming that you have an archive which already
- contains everything you want in it (for software
- distribution, perhaps), then Freshen would be used to
- update the archive. It was pointed out to us that ARC
- already knows what is in the archive, so it should be
- able to look on disk for newer versions. Now it can.
-
- The Suppress compression option was added by popular
- demand. It allows files to be added quickly to an
- archive, since the files are not analyzed or
- compressed, but merely stored straight. The intent is
- to allow users to build an archive "in pieces", and
- then compress all of the entries at once with the
- Convert command. The conversion is much faster if you
- take advantage of RAMdisk support.
-
- A minor bug was detected in our handling of date/time
- stamps which occasionally resulted in stamping an
- archive with the wrong date and time. This has been
- corrected.
-
-
-
-
-
- ARC Page 27
- ______________________CHANGES IN VERSION 5.0
-
- The Move command used to delete the files as it went.
- It now waits until it is finished updating the
- ___archive, and deletes them all at once. (You did know
- that Move is just an Add where the file gets deleted,
- didn't you?) This, along with the changes made in
- version 4.5, means that it is now much safer to
- interrupt ARC while it is working.
-
- The Print command no longer prints the name of each
- file. Instead, it prints a formfeed after each file.
-
- The Run command now supports BASICA programs. Also,
- the filename extension is no longer required on the
- Run command.
-
- The Garble option was added. It provides a convenient
- means of low level data security for the casual user.
- Use it sparingly, if at all.
-
- ARC no longer tests for the presence of $ARCTEMP.CRN
- before creating a new one. If you interrupt ARC a
- lot, you'll find this much more convenient. If you
- happen to have a file named $ARCTEMP.CRN which you
- want to keep, too bad.
-
- Improved error recovery was added when reading an
- archive. ARC now has a good chance of recovering the
- data from a corrupted archive (the corrupted entry is
- still lost, of course).
-
- Path support has been added for all commands, though
- it doesn't do anything on most of them. For example,
- there isn't much we can do with a path in the List
- command. But many users will be glad to know that a
- path can be used when extracting a file, and specifies
- where the file is to be placed.
-
- Support for the TEMP environment string was added. If
- ARC doesn't find an environment string named ARCTEMP,
- then it looks for one named TEMP to use instead.
- Several packages already use the TEMP string for
- exactly this purpose. With any luck, maybe we can get
- a standard going.
-
-
-
-
-
-
-
-
-
- ARC Page 28
- ARC is now using a different variation of Lempel-Zev
- coding, courtesy of Kent Williams, who found it on
- USENET and adapted it to the IBM PC. The new method
- differs from the old in several respects. The most
- significant differences are:
-
- 1) Where our previous implementation used a fixed code
- size of twelve bits, the new one starts with a code
- size of nine bits and increases it as it needs to.
-
- 2) The earlier method tended to "choke" on large files
- when its string table filled up. The new method
- has a rather ingenious scheme its authors call
- ______________ adaptive reset. When it notices that its string
- table has filled, and its compression ratio is
- starting to suffer, it clears the table and starts
- defining new strings.
-
- Our benchmarks show an improvement in compression on
- the order of 10% when crunching is used.
- Additionally, ARC 5.0 is on the order of 23% faster at
- adding a file when crunching is used, or 13% faster
- when squeezing is used. Extracting a file crunched
- with the new method is 27% faster than it is with the
- old method. Extraction of any other type of file
- (including those crunched with the older method) is no
- faster than before. These figures are based on our
- own benchmark tests; your results may vary.
-
- The previous implementation of Lempel-Zev coding is no
- longer used to pack files. The "V" (Verbose listing)
- command distinguishes between the two by referring to
- the older method as "crunched" (with a lower-case
- "c"), and the newer method as "Crunched" (with a
- capital "C").
-
- ARC 5.0 can still read archives created by earlier
- versions of ARC, but once again it creates archives
- which older versions cannot read.
-
-
-
- ______________________CHANGES IN VERSION 5.1
-
- Rick Moore discovered that ARC was occasionally adding
- an archive to itself. This would only happen when the
- archive is in the same directory as the files being
- added, and its name comes last. This bug has been
- fixed, though it is still possible to fool ARC into
- adding an archive to itself by getting tricky with
- path names.
-
-
-
- ARC Page 29
- Dana Montgomery found the upper limit on how many
- files can be added to an archive. There's always been
- an upper limit, but it depends on memory, and used to
- be larger than anyone could possibly want (knock on
- wood). However, the added memory requirements in
- version 5.0 lowered this limit into the realm of
- possibility, somewhere around 300 files. We change
- some things around, and effectively, there is no
- longer a limit on how many files you can add at once.
- ARC will add the files in batches of as many as it can
- handle at one time.
-
- We've also introduced a new packaging method for ARC
- and its documentation, since we are in the unique
- position of being unable to use ARC for this purpose.
- We've created a program called ARC51.COM which, when
- executed, attempts to create the ARC program and
- manual. You must be in the same directory as
- ARC51.COM when you run it.
-
-
-
- ______________________CHANGES IN VERSION 5.2
-
- We've made some changes to Lempel-Zev coding to
- further improve its compression ability on "poor fit"
- files (mainly .EXE and .COM files). The result is
- that crunching now works better than squeezing on
- almost all files, and comes close on most of the rest
- (within 5%, by our benchmarks). Accordingly, we have
- dropped Huffman encoding in this version. Our
- benchmarks show a speed improvement of around 14% when
- adding a file to an archive.
-
- A low-level file copy routine was implemented to speed
- up bulk data moves. Deleting or adding a file to a
- large existing archive is now much faster.
-
- The Run command has been modified to allow passing
- command line arguments to the program being run.
-
- The temporary file introduced in version 4.3 has been
- eliminated. Crunched output generated in the analysis
- phase is now placed directly in the output archive,
- and is rewritten if crunching turns out not to be the
- best choice. This can, in rare circumstances, cause
- an archive to be slightly larger than it should be,
- but it also makes ARC considerably faster at adding
- files to an archive.
-
-
-
-
-
- ARC Page 30
- PROGRAM HISTORY AND CREDITS
-
-
-
- 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 then 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. In less than a year we found that our humble
- little program had 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.
-
-
-
-
- ARC Page 31
- 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.
-
- Alex Jacobs, who in June of 1985 sent us the very
- first shareware contribution we ever received.
-
-
- And many, many others whom we could not identify.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 32
- BULLETIN BOARDS
-
-
-
- ARC is distributed mainly through shareware channels.
- Among other things, this means that ARC is available
- from many bulletin board systems. In fact, the system
- operators (sysops) of many bulletin boards have taken
- to storing almost all of their downloadable files in
- archives to save themselves disk space and to save
- their users time.
-
- This also makes things more convenient for the
- bulletin board users, since one archive may contain
- several programs, any related data files, and the
- documentation. Many shareware authors have taken to
- distributing their software in archives to help ensure
- that the users receive everything.
-
- Obviously, we can't do that with ARC. As a result,
- many of our users have ARC, but don't have the manual.
- Most of our customer support calls come from people
- who have never seen the manual, and in many cases
- didn't even know that one exists!
-
- To solve this problem we developed what is in essence
- a self-unpacking archive. We distribute this as
- "ARCxxx.COM", where "xxx" is the current version
- number. For example, ARC version 5.20 would be
- distributed as "ARC520.COM". This program, when run,
- unpacks itself into a copy of ARC plus its
- documentation.
-
- Now that we've gone to all that work, we'd really
- appreciate it if you would use this program when you
- distribute ARC.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 33
- SITE LICENSES
-
-
-
- Corporate users may wish to obtain a site license for
- the use of ARC. Please use the order form in this
- manual to order a site license. Site licenses are
- granted as of when we receive your payment. License
- fees vary depending on the number of computers on
- which ARC will be used, as follows:
-
- 1 to 9 machines $35 each
- 10 to 24 machines $25 each
- 25 to 49 machines $20 each
- 50 to 99 machines $15 each
- over 99 machines $1500 one time fee
-
-
-
- Enclosed is a site license agreement, which should be
- signed and sent with your payment when ordering a
- commercial site license.
-
-
- A commercial site license does not include additional
- copies of the ARC program disk and the ARC manual.
- Instead, you make your own copies of the disk and
- manual as you need them. If you wish, you can order
- additional program disks and manuals from us.
-
- Additional program disks cost $10 each. Additional
- manuals cost $20 each. If you wish, you can order
- program sets for $40 each. A "program set" is a
- program disk and manual enclosed in a vinyl binder.
- There is a $50 minimum on all orders.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ARC Page 34
- SITE LICENSE APPLICATION
-
-
-
- The use of ARC 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, Inc. The fee is based on the number of computers
- which will be used to run ARC, as follows:
-
- 1 to 9 machines $35 each
- 10 to 24 machines $25 each
- 25 to 49 machines $20 each
- 50 to 99 machines $15 each
- over 99 machines $1500 one time fee
-
- 2. You may use ARC on the number of computers included in the license
- fee. If you have paid the fee for over 99 machines, then you may
- use ARC on any number of computers within your organization.
-
- 3. You may make copies of the program and documentation, in their
- original, unmodified form, without restriction. You may
- distribute these copies 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 all future versions of ARC under this license.
-
- ___7. You may not modify the program or charge a fee for copying or
- distributing the program or its documentation.
-
- 8. It is your responsibility to make the necessary copies and to
- deliver them to the computers which they will be used on. If you
- wish, you can order additional ARC program disks and manuals.
-
- ________9. We are not responsible for anything that may happen or not happen
- if you use ARC. You're on your own.
-
-
- I agree to abide by the terms and conditions of this license.
-
- _____________________________ __________________________
- Signature Date
-
- _____________________________
- Name (please print or type)
-
- _____________________________
- Title
-
- _____________________________
- Company
-
-
- ORDER FORM
-
-
-
- Check which items you wish to purchase:
-
- [] Noncommercial license for the use of ARC.
-
- ___ [] Commercial license for the use of ARC on computers (see
- attached price schedule and terms).
-
- [] Program disk and documentation (only on orders of $50 or more,
- not counting maintenance contracts).
-
- ____ [] additional program disks at $10 per disk.
-
- ____ [] additional manuals at $20 per manual
-
- ____ [] additional program sets (disk, manual, and binder) at $40
- per program set.
-
- [] One year maintenance agreement at $50 per year.
-
- _____ [] Payment of $ is enclosed (check or money order).
-
- _____ [] Please charge $ to my [] Visa or [] MasterCard:
-
- _______________________________ Card number:
-
- ___________________________ Expiration date:
-
- _________________________________ Signature:
-
- _______________________________________________
- Name
-
- _______________________________________________
-
-
- _______________________________________________
- Address
-
- ______________________ ________ ____________
- City State Zip
-
- _______________ /
- FidoNet address
-
-
- Send this completed form to:
-
- System Enhancement Associates, Inc.
- 21 New Street, Wayne NJ 07470
-
- For program disk orders outside the U.S., please add an additional $5,
- and enclose an international money order payable in U.S. currency.
-
- For commercial site license orders, please enclose a signed copy of
- the site license agreement.
-
-