UUCP@vu-vlsi.UUCP (04/14/87)
ARC4/CMD
File Archive Utility
Version 01.00.00 12/11/86
for TRSDOS 6.x.x
(C) COPYRIGHT 1985, 1986 by System Enhancement Associates;
ALL RIGHTS RESERVED
TRSDOS 6.x.x adaptations (C) COPYRIGHT 1986 by David Huelsmann;
ALL RIGHTS RESERVED
This document describes the ARC4 file utility, version 01.00.00, which was
based on the MS-DOS ARC created by System Enhancement Associates.
INTRODUCTION
ARC is the copyrighted property of System Enhancement Associates. Since ARC4
s a derivative work based on ARC, it, too, is the copyrighted property of
System Enhancement Associates. The TRSDOS 6.x.x modifications are the
copyrighted property of David Huelsmann.
You are granted a limited license to use ARC4, 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) ARC4 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
ARC4 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 ARC4:
ARC4 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.
ARC4 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 ARC4 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.
USING ARC4
ARC4 is invoked with a command of the following format:
ARC4 <x> <arcname> <template> . . .|
Where:
<x> is an ARC4 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 ARC4 is invoked with no arguments (by typing "ARC4", and pressing
<ENTER>, then a brief command summary is displayed.
The following is an example of the display when ARC4 is invoked with no
arguments:
ARC4/CMD Version 01.00.00 12/11/86
(C) COPYRIGHT 1985,1986 by System Enhancement Associates
ALL RIGHTS RESERVED
TRSDOS 6.x.x adaptations (C) COPYRIGHT 1986 by David Huelsmann
ALL RIGHTS RESERVED
Distributed with permission of SEA
Usage: ARC4 aumdexplvt| b| g{password}| archive file(s)| >*pr|
>file|
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 table of contents (verbose) to CRT
t = Test archive integrity
b = Backup copy of archive retained
g = Garble (encrypt/decrypt) archive file(s)
Refer to program documentation for complete instructions
and limitations on copying and distribution of this program.
ARC4 COMMANDS
This section describes each of the commands. ARC4 will accept any one
command at a time. If no commands are given, then a brief command list is
displayed as shown above.
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:
ARC4 A MY TEST/DAT
or
ARC4 A MY TEST.DAT
or
ARC4 U MY TEST/DAT
Note that ARC4 will automatically supply the extension /ARC. You could also
supply the drive specifier on the archive without the extension such as "my:1".
ARC4 will read this as MY/ARC:1. ARC4 will accept a different extension than
/ARC for the archive file if you wish. Note, also, that ARC4 will accept either
the slash "/" or a period "." as an extension delimeter 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:
ARC4 A JUNK *.C STUFF.*
or
ARC4 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:
ARC4 M SUM:1 $/$:2
Note that after the files are placed in the archive, they are killed from
the source drive.
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 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:
ARC4 A JUNK STUFF/$:0 STUFF/$:1
will not work.
ARC4 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.
ARC4 will never add an archive to itself, nor will it add the temporary
copy or a backup copy of the archive.
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:
ARC4 E JUNK $/TXT $/DOC
or
ARC4 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:
ARC4 E JUNK
or
ARC4 E $/$: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:
ARC4 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:
ARC4 D JUNK $/C
Note that deleted files cannot be recovered (unless you specified to keep a
backup copy of the archive). ARC4 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 ARC4.
For example, to see what is in an archive named "JUNK/ARC", you could type:
ARC4 L JUNK
or
ARC4 V JUNK
ARC4 prints a listing of an archive's contents like this:
Name Length Stowage SF Size now Date Time CRC
============ ======== ======== ==== ======== ========= ====== ====
ARC4.C 27318 Squeezed 45% 15248 28 Dec 86 1:23p 69e4
ARC4.H 5239 Squeezed 40% 3194 28 Dec 86 1:26p 5f5d
ARC42.C 20620 Squeezed 44% 11617 28 Dec 86 1:26p 6d9e
ARC42.H 5245 Squeezed 38% 3265 28 Dec 86 1:28p 2f7f
ARC43.C 23682 Squeezed 43% 13538 28 Dec 86 1:28p 2a53
ARC43.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.
"Date" is the date on which the file had last been added to the archive.
"Total" is pretty obvious, I think.
"Stowage" is the compression method used. The following compression methods are
currently employed:
-- No compression.
Packed Runs of repeated byte values are collapsed.
Squeezed 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.
"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.
Instead, 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:
ARC4 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:
ARC4 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.
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:
ARC4 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".
ARC4 OPTIONS
This section describes the options which are available to modify how ARC4
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.
BACKUP RETENTION
When ARC4 changes an archive (during an Add, Update, Move, or Delete) it
creates a new archive with the same name, but with an extension of "/TMP".
For example, if you add a file to an archive named STUFF/ARC, then ARC4 will
create a new archive named STUFF/TMP. ARC4 will read from your existing archive
and write out the new archive with any changes to the "/TMP" copy.
Normally when ARC4 is finished it deletes the original and renames the new
archive to the original name (ie. STUFF/ARC goes away, and STUFF/TMP becomes
the new STUFF/ARC). Among other things, this means that if anything goes wrong
and ARC4 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 ARC4 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:
ARC4 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.
Note that the "/TMP" file and/or the "/BAK" file are kept on the same drive
as your "/ARC" file.
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:
ARC4 AGDEBRIS JUNK WASTE/TXT
Later on, when you want to extract it again, you would type:
ARC4 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.
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.
MS-DOS ARC File Compatibility
ARC4 uses the exact same conventions in its file creation as does MS-DOS
ARC. Therefore, archives created by ARC4 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 ARC4 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 ARC4. This is not a problem
with ARC4! Rather, it is differing conventions used in the different computers.
An easy solution would be for the ARC4 user to first squeeze the text file
using SQ4/CMD and the new line option. After unsqueezing and then adding to the
archive, a line feed would follow every carriage return.
ARC4 cannot read archives created by MS-DOS ARC except in some unique
circumstances. A table of contents listing (L,V) would error out on the first
encounter of a file crunched under ARC. It would also have a problem with the
old style headers because it does no conversion to the newer style header.
Therefore, if the first few files are what you wanted to obtain AND they were
squeezed, packed, or stored, you would be able to extract. If the first file in
the archive was crunched, you could not proceed. Watch for XARC4 to extract
files from an MS-DOS archive sometime in January.
TECHNICAL SUPPORT
It should be obvious by now that SEA cannot provide technical support even
though they wrote the original ARC that ARC4 is based on. They do not have
access to the source code, nor do they have a Model IV Tandy computer. ARC4 is
NOT in the public domain and can only 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 ARC4.
Please address all inquiries concerning ARC4 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 ARC4 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.
ARC4 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 ARC4? 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.
Due to the memory limitations of the Tandy Model IV, it just wasn't possible
to add the coding and the tables necessary to handle crunching in ARC4.
Q:
Why does ARC4 run out of room if I make an archive bigger than about 180k?
A:
Because you are working on a floppy disk. ARC4 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 ARC4 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:
Can I use ARC4 to distribute my public domain or freeware program?
A:
Yes, of course.
Q:
Can I use ARC4 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.
Q:
Why not allow me to select which method of compression I want ARC4 to use?
A:
It would needlessly complicate ARC4, 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 ARC4 does. The method chosen may not always be what you expect.
Q:
How can I get the latest version of ARC4?
A:
ARC4 updates are distributed through normal freeware channels, and by
FidoNet.
REVISION HISTORY
Version 01.00.00 12/11/86 of ARC4/CMD was released on 12/28/86.
PROGRAM HISTORY AND CREDITS
ARC4/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 IV 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:
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.
SITE LICENSE
Corporate users may wish to obtain a site license for the use of ARC4.
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 ARC4 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 is a site license agreement, which should be signed and sent
with your payment when ordering a commercial site license.
Site License Agreement
The use of ARC4 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 ARC,
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 ARC4 on the number of computers included in the license fee. If
you have paid the fee for over 99 copies, then you may use ARC4 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 ARC4 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
ORDER FORM
Check which items you wish to purchase:
(_) Noncommercial license for the use of ARC4.
(_) Commercial license for the use of ARC4 on ___ computers (see price schedule
and terms above).
(_) 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.
UUCP@vu-vlsi.UUCP (06/04/87)
ARC4/CMD
File Archive Utility
Version 01.01.00 03/20/87
for TRSDOS 6.x.x
(C) COPYRIGHT 1985, 1986 by System Enhancement Associates;
ALL RIGHTS RESERVED
TRSDOS 6.x.x adaptations (C) COPYRIGHT 1986,1987 by David Huelsmann;
ALL RIGHTS RESERVED
This document describes the ARC4 file utility, version 01.01.00, which
was based on the MS-DOS ARC created by System Enhancement Associates.
ARC4/CMD
Documentation Page 2
Table of Contents
Table of contents ............................................... 2
Introduction .................................................... 3
Using ARC4 ....................................................... 5
ARC4 commands ................................................... 6
Adding files ................................................ 6
Extracting files ............................................ 7
Deleting files .............................................. 8
Listing archive entries ..................................... 8
Printing files .............................................. 9
Testing an archive .......................................... 10
ARC4 options .................................................... 10
Backup retention ............................................ 10
Encryption/decryption ....................................... 11
New Line Mode ............................................... 12
MS-DOS ARC File Compatibility ................................... 12
Technical Notes ................................................. 12
Technical Support ............................................... 13
Version numbers ................................................. 14
Common questions and answers .................................... 14
Revision history ................................................ 15
Program history and credits ..................................... 16
Site license .................................................... 17
Site License Agreement .......................................... 18
Order form ...................................................... 19
ARC4/CMD
Documentation Page 3
INTRODUCTION
ARC is the copyrighted property of System Enhancement Associates. Since
ARC4 is a derivative work based on ARC, it, too, is the copyrighted
property of System Enhancement Associates. The TRSDOS 6.x.x
modifications are the copyrighted property of David Huelsmann. You
are granted a limited license to use ARC4, 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) ARC4 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 ARC4 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 ARC4:
ARC4 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.
ARC4/CMD
Documentation Page 4
ARC4 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 ARC4 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.
ARC4/CMD
Documentation Page 5
USING ARC4
ARC4 is invoked with a command of the following format:
ARC4 <x> <arcname> <template> . . .|
Where:
<x> is an ARC4 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 and it is recommended that a
drive specifier be used when the Add, Update, or Move options are
invoked.
<template> is one or more file name templates. The "wildcard"
characters "$", "*" and "?" may be used for the filename and/or the
extension. The delimeter character between the filename and the
extension may be either the "/" or a ".". A "!" may be used to reverse
the sense of the wildcard following. A file name template may include a
drive specifier.
If ARC4 is invoked with no arguments (by typing "ARC4", and pressing
"enter"), then a brief command summary is displayed.
The following is an example of the display when ARC4 is invoked with no
arguments:
ARC4/CMD Version 01.01.00 03/20/87
(C) COPYRIGHT 1985,1986 by System Enhancement Associates
ALL RIGHTS RESERVED
TRSDOS 6.x.x adaptations (C) COPYRIGHT 1986,1987 by David Huelsmann
ALL RIGHTS RESERVED
Distributed with permission of SEA
Usage: ARC4 aumdexplvt| b| g{password}| archive file(s)| >*pr|
>file|
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 table of contents (verbose) to CRT
t = Test archive integrity
b = Backup copy of archive retained
g = Garble (encrypt/decrypt) archive file(s)
Refer to program documentation for complete instructions
and limitations on copying and distribution of this program.
ARC4/CMD
Documentation Page 6
ARC4 COMMANDS
This section describes each of the commands. ARC4 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:
ARC4 a my test/dat
or
ARC4 u my test.dat
or
ARC4 m my test/dat
Note that ARC4 will automatically supply the extension /ARC. You could
also supply the drive specifier on the archive without the extension
such as "my:1". ARC4 will read this as MY/ARC:1. ARC4 will accept a
different extension than /ARC for the archive file if you wish. Note,
also, that ARC4 will accept either the slash "/" or a period "." as an
extension delimeter 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:
ARC4 a junk *.c stuff.*
or
ARC4 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
unless there are duplicate filespecs in which case ARC4 will error exit
back to DOS.
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:
ARC4 m sum:1 $/$:2
Note that after the files are placed in the archive, they are killed
from the source drive.
ARC4/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 and its backup 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:
ARC4 a junk stuff/$:0 stuff/$:1
will not work.
ARC4 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.
ARC4 will never add an archive to itself, nor will it add the temporary
copy or a backup copy of the archive.
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:
ARC4 e junk $/txt $/doc
or
ARC4 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:
ARC4 e junk
or
ARC4 e $/$: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.
ARC4/CMD
Documentation Page 8
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:
ARC4 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:
ARC4 d junk $/c
Note that deleted files cannot be recovered (unless you specified to
keep a backup copy of the archive). ARC4 recovers all space from
deleted files. Note also that the archive did not have a drive
specified. As a result, the new archive (made after the file was
deleted) will be created on drive 0!
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 ARC4. For example, to see what is in an
archive named "JUNK/ARC", you could type:
ARC4 l junk
or
ARC4 v junk
ARC4 prints a listing of an archive's contents like this:
Name Length Stowage SF Size now Date Time CRC
============ ======== ======== ==== ======== ========= ====== ====
ARC4.C 27318 Squeezed 45% 15248 28 Dec 86 1:23p 69e4
ARC4.H 5239 Squeezed 40% 3194 28 Dec 86 1:26p 5f5d
ARC42.C 20620 Squeezed 44% 11617 28 Dec 86 1:26p 6d9e
ARC42.H 5245 Squeezed 38% 3265 28 Dec 86 1:28p 2f7f
ARC43.C 23682 Squeezed 43% 13538 28 Dec 86 1:28p 2a53
ARC43.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.
ARC4/CMD
Documentation Page 9
"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.
"Stowage" is the compression method used. The following compression
methods are currently employed:
-- No compression.
Packed Runs of repeated byte values are collapsed.
Squeezed 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. Instead, 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:
ARC4 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:
ARC4 p junk $/txt >*pr
Note that no check is done to ensure your printer is online and the
program may appear to "hang" until the printer is online.
ARC4/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:
ARC4 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".
ARC4 OPTIONS
This section describes the options which are available to modify how
ARC4 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.
BACKUP RETENTION
When ARC4 changes an archive (during an Add, Update, Move, or Delete)
it creates a new archive with the same name, but with an extension of
"/TMP". For example, if you add a file to an archive named STUFF/ARC,
then ARC4 will create a new archive named STUFF/TMP. ARC4 will read
from your existing archive and write out the new archive with any
changes to the "/TMP" copy.
Normally when ARC4 is finished it deletes the original and renames the
new archive to the original name (ie. STUFF/ARC goes away, and
STUFF/TMP becomes the new STUFF/ARC). Among other things, this means
that if anything goes wrong and ARC4 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 ARC4 will rename
your original archive to have an extension of "/BAK" instead of
deleting it.
ARC4/CMD
Documentation Page 11
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:
ARC4 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.
Note that the "/TMP" file and/or the "/BAK" file are kept on the same
drive as your "/ARC" file unless you failed to add a drive specifier to
the archive name on the command line. In that case, the /TMP file will
be created on drive 0 and subsequently renamed to /ARC. The /BAK file
wil be located on the drive where the original archive was located.
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:
ARC4 agdebris junk waste/txt
Later on, when you want to extract it again, you would type:
ARC4 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.
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.
ARC4/CMD
Documentation Page 12
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.
NEW LINE MODE
ARC4 automatically removes Line Feeds after Carriage returns when
extracting from an archive (not during printing). This feature was
added primarily for those that attempt to remove stored, packed, or
squeezed files from MS-DOS archives using ARC4 rather than XARC4.
While not documented on the help screen, it is possible to suppress
this feature by adding a "n" to the command line as follows:
arc4 en junk:1 $/doc:2
In the above example, all occurances of files with the extension of
/DOC will be extracted to drive 2 and LF after CR will NOT be removed
from the files.
MS-DOS ARC File Compatibility
ARC4 uses the exact same conventions in its file creation as does
MS-DOS ARC. Therefore, archives created by ARC4 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 ARC4 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 ARC4. This is not a problem with ARC4! Rather, it
is differing conventions used in the different computers. An easy
solution would be for the ARC4 user to first squeeze the text file
using SQ4/CMD and the new line option. After unsqueezing and then
adding to the archive, a line feed would follow every carriage return.
ARC4 can now read archives created by MS-DOS ARC! It will even allow
the extraction of files that were stored, packed, or squeezed without
giving error messages and exiting to DOS. In the process, ARC4 will
ensure that the filenames and extensions are legal for TRSDOS and will
substitute the letter "Z" for any character not legal under TRSDOS
conventions.
If you wish to be able to fully extract files from an MS-DOS archive
created by ARC version 5.0 to 5.1.2 (probably also works under 5.2),
then you should get a copy of XARC4 - now available!
TECHNICAL NOTES
ARC4 loads at 2600H and occupies up to D345H. This leaves only 2CBAH of
RAM for ARC4 to handle it's own stack. The squeeze routines are
ARC4/CMD
Documentation Page 13
recursive (call themselves) and require varying amounts of RAM to
operate under. ARC4 definitely works with memory set to FA00H and will
probably also work with memory set down as low as F000H, however, it
has not been tested at F000H. Wildcards used for filenames consume
memory. Appropriate error messages are displayed if there is
insufficient memory to handle the number of files recovered using
wildcards.
The ARC4 help display uses space compression codes which are expanded
to spaces upon display. If the help display appears all at the left of
the screen, it can be corrected by entering basic and typing:
PRINT CHR$(21)
The space compression codes will then work correctly. Unfortunately,
there is no flag set that will allow a program to determine the state
of the special characters and space compression status.
ARC4 is fully compatible with ARC31 (the model 1 and 3 version).
Archives created by either one can be read and extracted from by the
other. XARC4 can also extract from ARC4 or ARC31 archives as well as
from MS-DOS archives.
If a problem should arise with your computer when adding or deleting
files from an archive, you could be left with only an archive with the
/TMP extension or you could have both the original archive (/ARC) and
the temporary archive. DO NOT ATTEMPT to access an archive with the
/TMP extension for any purpose other than extraction or listing of the
contents. ARC4 does NOT expect to find a file with the same name and
the extension of /TMP on your disk. It will attempt to create another
/TMP file if you try to add or delete. There is NO error checking to
ensure that another /TMP file does not exist. A computer "hang" will be
the likely result.
TECHNICAL SUPPORT
It should be obvious by now that SEA cannot provide technical support
even though they wrote the original ARC that ARC4 is based on. They do
not have access to the source code nor do they have a Model IV Tandy
computer. ARC4 is NOT in the public domain and can only 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 ARC4.
Please address all inquiries concerning ARC4 technical matters to:
David Huelsmann
3308 Delamar NE
Albuquerque, NM 87107
or to
SSE BBS
(505) 821-7379
ARC4/CMD
Documentation Page 14
1200/2400 bps anytime
300 bps after 2400 Mountain
or to
CIS ppn 71525,1363
VERSION NUMBERS
The version number of ARC4 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.
ARC4 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 ARC4? 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.
Due to the memory limitations of the Tandy Model IV, It just wasn't
possible to add the coding and the tables necessary to handle crunching
in ARC4.
Q: Why does ARC4 run out of room if I make an archive bigger than about
180k?
A: Because you are working on a floppy disk. If you are using DS DD
disks, you are limited to about 180K archive size if you add or delete
to or from the archive. Of course, if you are creating a new archive,
you could fill up the entire disk (about 360K). ARC4 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 ARC4 is running.
ARC4/CMD
Documentation Page 15
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: Can I use ARC4 to distribute my public domain or freeware program?
A: Yes, of course.
Q: Can I use ARC4 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.
Q: Why not allow me to select which method of compression I want ARC4
to use?
A: It would needlessly complicate ARC4, 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 ARC4 does. The method chosen may not
always be what you expect.
Q: How can I get the latest version of ARC4?
A: ARC4 updates are distributed through normal freeware channels, and
by FidoNet.
REVISION HISTORY
Version 01.00.00 12/11/86 of ARC4/CMD was released on 12/28/86.
Version 01.01.00 03/20/87 of ARC4/CMD was released on 03/22/87. This
version incorporates a number of minor fixes such as:
Time display of 12:00 to 12:59 will now correctly display "p" rather
than "a" (This is a bug in MS-DOS ARC as well).
Errors discovered while Testing an archive will now be correctly
counted rather than doubled as in the original version.
Failure to supply a drivespec to an archive name will no longer cause a
display of extraneous characters..
After moving files to an archive, the display of those files being
removed will no longer be displayed unformatted across a line but will
be displayed formatted as does TRSDOS.
ARC4/CMD
Documentation Page 16
The minor enhancement added in this version was the ability to display
an MS-DOS archive directory and extract files that were stored, packed,
or squeezed with the appropriate coding added to prevent problems if
some of the other features are attempted on an MS-DOS archive.
PROGRAM HISTORY AND CREDITS
ARC4/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 IV 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:
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.
ARC4/CMD
Documentation Page 17
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.
SITE LICENSE
Corporate users may wish to obtain a site license for the use of ARC4.
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 ARC4 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.
ARC4/CMD
Documentation Page 18
Site License Agreement
The use of ARC4 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 ARC4, 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 ARC4 on the number of computers included in the license
fee. If you have paid the fee for over 99 copies, then you may use ARC4
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 ARC4 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
ARC4/CMD
Documentation Page 19
ORDER FORM
Check which items you wish to purchase:
(_) Noncommercial license for the use of ARC4.
(_) Commercial license for the use of ARC4 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, NJUCP ^$^\(