home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / S / UNARC14.ARC / UNARC.DOC < prev    next >
Text File  |  1993-03-28  |  27KB  |  661 lines

  1. File:     UNARC.DOC
  2. Subject:  User Documentation for UNARC Program
  3. Version:  1.4
  4. Date:     November 21, 1986
  5. ------------------------------------------------------------------------------
  6.  
  7.  
  8.                                     UNARC
  9.  
  10.                      CP/M Archive File Extraction Utility
  11.  
  12.  
  13.                     Copyright (C) 1986 by Robert A. Freed
  14.                              All Rights Reserved
  15.  
  16.  
  17.  
  18. This file provides user-level documentation and operating instructions for
  19. UNARC version 1.4, released November 21, 1986.  Refer to the notice at the end
  20. of this file regarding rights of use and distribution of this program.
  21.  
  22. The release message file, UNARC.MSG, provides a list of all additional files
  23. distributed with the current UNARC release and describes the program changes
  24. from the previous version 1.2 release.
  25.  
  26.  
  27.  
  28. ABSTRACT
  29. --------
  30.  
  31. UNARC is a utility program for CP/M systems which allows the listing, typeout,
  32. and extraction of subfiles contained in "archive" library (*.ARC) files.
  33. These are commonly used for compressed file storage on remote access bulletin
  34. board systems which cater to users of 16-bit computers running the MS-DOS (or
  35. PC-DOS) operating system (e.g. IBM-PC and compatibles).  UNARC provides the
  36. CP/M user the ability to process such files after downloading them via modem
  37. from these remote systems.
  38.  
  39.  
  40.  
  41. REQUIREMENTS
  42. ------------
  43.  
  44. UNARC requires CP/M version 2.0 or higher.  The program is offered in two
  45. versions.  The standard version, UNARC.COM, requires a Z80 (or compatible
  46. equivalent) processor.  An alternate version, UNARCA.COM, is provided for
  47. older systems with 8080 or 8085 processors.  Identical capabilities are
  48. provided by the two program versions.
  49.  
  50.                                      NOTE
  51.  
  52.       Although UNARCA.COM can execute on ANY system capable of
  53.       supporting CP/M, it is larger and significantly slower than
  54.       UNARC.COM and should be avoided by users of Z80-based systems.
  55.  
  56. UNARC is written in Z80 assembly language and requires only 4K bytes of disk
  57. storage (5K for UNARCA).  As distributed, the program requires at least a 33K
  58. CP/M 2.2 system size for full use of all functions (34K size for UNARCA).
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. File:  UNARC.DOC                                                  Page 2 of 10
  68. ------------------------------------------------------------------------------
  69.  
  70.  
  71. ABOUT ARC FILES
  72. ---------------
  73.  
  74. The files which UNARC processes are the product of a utility program, ARC (a
  75. "freeware" product of System Enhancement Associates of Wayne, New Jersey),
  76. which executes on 16-bit computers running the MS-DOS (or PC-DOS) operating
  77. system.  This program has achieved widespread popularity since it was first
  78. introduced in March 1985.  It has become the de facto standard for file
  79. storage on remote access systems catering to 16-bit computer users.
  80.  
  81. An archive is a group of files collected together into a single file in such a
  82. way that the individual files may be recovered intact.  In this respect,
  83. archives are similar in function to libraries (*.LBR files), which have been
  84. commonplace on CP/M systems since 1982, when the original LU library utility
  85. program was introduced by Gary P. Novosielski.  (However, the two file formats
  86. are not compatible.)
  87.  
  88. The distinguishing characteristic of an ARC archive is that its component
  89. files are automatically compressed when they are added to the archive, so that
  90. the resulting file occupies a minimum amount of disk space.  Of course, file
  91. compression techniques have also been commonplace in the CP/M world since
  92. 1981, when the public domain SQ and USQ "squeeze and unsqueeze" programs were
  93. introduced by Richard Greenlaw.
  94.  
  95. The SQ/USQ programs and their numerous popular descendants utilize a well-
  96. known general-purpose form of data compression (Huffman coding).  This
  97. technique, which is also utilized by the ARC program, performs well for many
  98. text files but often produces poor compression of binary files (e.g. object
  99. program .COM files).  The ARC program also uses an advanced method of data
  100. compression, which it terms "crunching."  This method (which is based on the
  101. Lempel/Ziv/Welch or "LZW" algorithm), performs better than "squeezing" in many
  102. (but not all) cases, often achieving 50% or better compression of ASCII text
  103. files and 15-40% compression of binary object files.
  104.  
  105. ARC actually employs four different methods for storing files in an archive,
  106. and always chooses the one which results in the best compression for a
  107. particular file:
  108.  
  109. (1)  No compression ("unpacked").  The file is stored in its original form.
  110.  
  111. (2)  Run-length encoding ("packed").  Repeated sequences of 3-255 identical
  112.      bytes are compressed into a three-byte sequence.
  113.  
  114. (3)  Huffman coding ("squeezed").  Each 8-bit byte (after run-length encoding)
  115.      is encoded by a variable number of (up to 16) bits, with the bit length
  116.      (approximately) inversely proportional to the frequency of occurence of
  117.      the corresponding byte.
  118.  
  119. (4)  LZW compression ("crunched").  Variable-length strings of bytes (in
  120.      theory, up to nearly 4000 bytes in length) are represented by a single
  121.      12-bit code.
  122.  
  123. Note that since one of the four methods involves no compression at all, the
  124. resulting archive entry will never be larger than the original file.
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133. File:  UNARC.DOC                                                  Page 3 of 10
  134. ------------------------------------------------------------------------------
  135.  
  136.  
  137. During its brief lifetime, the ARC program has undergone numerous revisions
  138. which have employed different variations on some of the above methods,
  139. particularly LZW compression.  (The latest crunching method, introduced with
  140. version 5.0 of the ARC program, is superior to earlier methods, particularly
  141. for very short or very long files; and it almost always generates the best
  142. compression of all four methods for any type of file.)  In order to retain
  143. compatibility with archives created by earlier program revisions, ARC stores a
  144. "version" indicator with each file in an archive.  Based on this indicator,
  145. the latest release of the ARC program can always extract files created by
  146. older releases (although it will only use the latest data compression versions
  147. when adding new files to an archive).
  148.  
  149.                                      NOTE
  150.  
  151.       The current release of UNARC supports archive file versions
  152.       generated by all releases of MS-DOS ARC through (at least) program
  153.       version 5.12, dated February 7, 1986.  It also supports archives
  154.       generated by all releases of the following ARC-compatible MS-DOS
  155.       programs through (at least) the indicated program versions:
  156.  
  157.             ARCA version 1.22, by Wayne Chin and Vernon Buerg
  158.             PKARC version 1.2, by Phil Katz
  159.  
  160.       (UNARC does not recognize, but is unaffected by, the non-standard
  161.       file commenting feature of PKARC.)
  162.  
  163. Although the above discussion has emphasized the origin of archive files for
  164. the MS-DOS operating system, their use has recently spread to many other
  165. systems.  Programs compatible with MS-DOS ARC have appeared for UNIX, Atari
  166. 68000, VAX/VMS, and TOPS-20 systems.  A CP/M utility for building archive
  167. files will also be available in the near future.
  168.  
  169. For additional information about archive files and the MS-DOS ARC utility,
  170. refer to the excellent documentation file, ARC.DOC, which is available from
  171. most remote access systems which utilize archive files.  For additional
  172. information about the LZW algorithm (and data compression methods in general),
  173. refer to the article "A Technique for High-Performance Data Compression", by
  174. Terry A. Welch, in IEEE Computer, Vol. 17, No. 6, June 1984.
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199. File:  UNARC.DOC                                                  Page 4 of 10
  200. ------------------------------------------------------------------------------
  201.  
  202.  
  203. USING UNARC
  204. -----------
  205.  
  206. The UNARC program provides a brief on-line help message, which is invoked by
  207. running the program with an empty command line:
  208.  
  209.       A>UNARC
  210.  
  211.       UNARC  1.4  21 Nov 86
  212.       CP/M Archive File Extractor
  213.  
  214.       Usage:  UNARC arcfile [d:][afn] [N]
  215.  
  216.       Examples:
  217.  
  218.       B>UNARC A:SAVE.ARC *.*  ; List all files in archive SAVE on drive A
  219.       A>UNARC SAVE            ; Same as above
  220.       A>UNARC SAVE *.DOC N    ; List just .DOC files (no pauses)
  221.       A>UNARC SAVE READ.ME    ; Typeout the file READ.ME
  222.       A>UNARC SAVE A:         ; Extract all files to drive A
  223.       A>UNARC SAVE B:*.DOC    ; Extract .DOC files to drive B
  224.       A>UNARC SAVE C:READ.ME  ; Extract file READ.ME to drive C
  225.  
  226. As shown by this help display, the UNARC utility provides three capabilities:
  227.  
  228. (1)  Listing the directory of an archive
  229. (2)  Extracting component files from an archive
  230. (3)  Typing the contents of a component file at the console
  231.  
  232. The particular operation to be performed is determined by the form of the file
  233. parameter(s) in the command line, as described separately in the sections
  234. which follow.  The following characteristics apply to all operations:
  235.  
  236. The standard CP/M terminal control characters, CTRL-S (to pause console
  237. output) and CTRL-C (to abort the program), may be used at any time.  CTRL-K
  238. may also be used as an alternate for CTRL-C.  Printer output to the CP/M list
  239. device may be obtained by typing CTRL-P at CCP command level before executing
  240. UNARC.
  241.  
  242. In addition, by default UNARC will pause after every 23 lines of console
  243. output.  At this time, the message "[more]" will appear at the bottom of the
  244. console screen.  The listing may be resumed by typing any key (other than
  245. CTRL-S, CTRL-C, or CTRL-K, which will function as described above).  If the
  246. space bar is used, one more line of console output will be displayed (over-
  247. writing the "[more]" message) and the program will again pause.  If any other
  248. key is typed (e.g. RETURN), another 23 lines of output will be allowed to
  249. scroll onto the screen before the next pause.  (LINE FEED may be used to
  250. prevent overprinting of the "[more]" line, e.g. for hard-copy terminals.)
  251.  
  252. If continuous display is desired, this automatic pause feature may be disabled
  253. by specifying "N" at the end of the command line.  The "N" must be the last
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265. File:  UNARC.DOC                                                  Page 5 of 10
  266. ------------------------------------------------------------------------------
  267.  
  268.  
  269. command line character, and it must be preceded by a space.  Also, there must
  270. be two file parameters on the command line.  E.g., note the difference between
  271. the following commands:
  272.  
  273.       A>UNARC SAVE N          ; Typeout the file N. in archive SAVE.ARC
  274.       A>UNARC SAVE *.* N      ; List all files in SAVE.ARC with no pauses
  275.  
  276. The first command line parameter must specify the name of an archive file.  A
  277. drive name and filetype are optional.  The filetype, if omitted, defaults to
  278. "ARC" or, if no such file exists, the alternate default "ARK" is used.
  279.  
  280.  
  281.  
  282. LISTING AN ARCHIVE DIRECTORY
  283. ----------------------------
  284.  
  285. By default, UNARC produces a detailed console listing of the component files
  286. in an archive.  (In fact, there is no way to suppress this listing; it is
  287. generated during file extraction and typeout operations as well.)  If only the
  288. archive file name appears on the command line, UNARC will generate a complete
  289. directory of all component files in the specified archive file.  Otherwise,
  290. the second command line parameter may be used to select a particular file to
  291. be listed (or group of files, if it contains the ambiguous file specification
  292. characters "*" or "?").  If no disk drive name is provided for the second
  293. parameter, and this parameter specifies a group of files, the directory
  294. listing is the only output generated by the program.
  295.  
  296. A sample directory listing is illustrated here:
  297.  
  298. A>UNARC CODES
  299.  
  300. Archive File = CODES.ARC
  301.  
  302. Name           Length  Disk  Stowage  Ver  Stored Saved   Date     Time   CRC
  303. ============  =======  ====  ======== === ======= ===== ========= ======  ====
  304. ABLE    .DOC    24320   24k  Crunched  8    11777  52%  30 Apr 86 10:50a  42C0
  305. BRAVO   .COM    17152   17k  Squeezed  4    14750  14%   2 May 86  4:11p  8CBD
  306. CHARLIE .TXT      234    1k   Packed   3       99  58%   2 May 86  4:11p  8927
  307.         ====  =======  ====               =======  ===
  308. Total      3    41706   42k                 26626  36%
  309.  
  310. This listing is equivalent to the "verbose" listing of the MS-DOS ARC program
  311. (with the addition of the "Disk" and "Ver" fields, which are unique to UNARC).
  312. The listing requires a 78-column terminal width; there is currently no "short"
  313. listing format.
  314.  
  315. "Name" is the file name which will be generated if the file is extracted by
  316. UNARC on a CP/M system.  (This is not necessarily the same as the name
  317. recorded in the archive file.  Although CP/M and MS-DOS file naming
  318. conventions are identical, two conversions are made to guarantee file name
  319. validity under CP/M:  Lower-case letters are converted to upper-case, and
  320. non-printing characters are converted to dollar signs, "$".)  Archive entries
  321. are usually maintained (and hence listed) in alphabetic name order.
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331. File:  UNARC.DOC                                                  Page 6 of 10
  332. ------------------------------------------------------------------------------
  333.  
  334.  
  335. "Length" is the uncompressed file length, i.e. the number of bytes the file
  336. will occupy if extracted to disk, exclusive of any additional length imposed
  337. by the CP/M file system.  Note that MS-DOS permits files of arbitrary lengths
  338. (unlike CP/M which restricts all files to a multiple of 128 bytes).
  339.  
  340. "Disk" is the actual amount of disk space required to extract the file to a
  341. CP/M disk, expressed as a multiple of 1K (1024) bytes.  Note that this number
  342. is dependent on the disk data allocation block size.  (CP/M permits various
  343. block sizes, ranging from 1K to 16K bytes.  Typical sizes are 1K for single-
  344. density floppy disks, 2K for double-density floppies, and 4K for hard disks,
  345. although these values are quite system-dependent.)  In the absence of an
  346. explicit output drive name, UNARC uses the block size of the default
  347. (currently "logged") disk drive (i.e. the drive which appears in the CCP
  348. prompt).
  349.  
  350. "Stowage" is the compression method used, specified as "Unpacked", "Packed",
  351. "Squeezed", "Crunched", or "Unknown!".  If the stowage type "Unknown!"
  352. appears, it most likely indicates (if not a faulty archive file) a newer
  353. release of the MS-DOS ARC program that supports a new compression method (or a
  354. new variation of an existing method).  In this case, a corresponding new
  355. release of UNARC will be required to extract the file.
  356.  
  357. "Ver" further identifies the version of compression used.  Currently, UNARC
  358. supports versions 1-8: unpacked files can have versions 1 or 2; packed files,
  359. version 3; squeezed files, version 4; and crunched files, versions 5-8.  The
  360. highest version number associated with each compression method is the one
  361. generated by the most recent release of the MS-DOS ARC program.
  362.  
  363. "Stored" is the compressed file length, i.e. the number of bytes occupied by
  364. the file in the archive.  (This does not include the overhead associated with
  365. the directory information itself, which adds an additional 29 bytes to the
  366. size of each component file.)
  367.  
  368. "Saved" is the percentage of the original file length which was saved by
  369. compression; i.e., higher values indicate better compression.  (The MS-DOS ARC
  370. documentation refers to this as the "stowage factor.")  The value shown on the
  371. totals line applies to the archive as a whole, not including the directory
  372. overhead.
  373.  
  374. "Date" and "Time" refer to the last file modification, as of the time it was
  375. added to the archive.  (Date and time stamping is, of course, one of the nice
  376. features of MS-DOS which is lacking in standard CP/M 2.2.)
  377.  
  378. "CRC" is an internal 16-bit cyclic redundancy check value which the MS-DOS ARC
  379. program computes when it adds a file to an archive (expressed in hexadecimal).
  380. As a test of file validity, UNARC re-computes this value when it extracts a
  381. file (see below).  Note that this value is calculated by a different method
  382. than that used by either of the two popular public domain programs, CRCK and
  383. CHEK.  (It is however mathematically valid as a quite reliable error-detection
  384. mechanism.)  This value is shown in the listing for completeness only.
  385.  
  386. The "Total" line is displayed only if multiple files appear in the listing.
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397. File:  UNARC.DOC                                                  Page 7 of 10
  398. ------------------------------------------------------------------------------
  399.  
  400.  
  401. EXTRACTING FILES FROM AN ARCHIVE
  402. --------------------------------
  403.  
  404. If the second command line parameter contains a disk drive name, UNARC will
  405. extract the selected file(s) from the archive to CP/M file(s) on the indicated
  406. disk drive.  If only a drive name appears, all component files of the archive
  407. will be extracted.  The following illustrates a sample archive directory
  408. listing as generated during a file extraction operation:
  409.  
  410.  
  411. A>UNARC CODES B:
  412.  
  413. Archive File = CODES.ARC
  414. Output Drive = B:
  415.  
  416. Name           Length  Disk  Stowage  Ver  Stored Saved   Date     Time   CRC
  417. ============  =======  ====  ======== === ======= ===== ========= ======  ====
  418. ABLE    .DOC    24320   24k  Crunched  8    11777  52%  30 Apr 86 10:50a  42C0
  419. Replace existing output file (y/n)? Y
  420. BRAVO   .COM    17152   18k  Squeezed  4    14740  14%   2 May 86  4:11p  8CBD
  421. Warning: Extracted file has incorrect CRC
  422. Warning: Extracted file has incorrect length
  423. Warning: Bad archive file header, bytes skipped = 10
  424. CHARLIE .TXT      234    2k   Packed   3       99  58%   2 May 86  4:11p  8927
  425.         ====  =======  ====               =======  ===
  426. Total      3    41706   44k                 26616  36%
  427.  
  428.  
  429. The above listing also illustrates several warning messages which may occur
  430. when extracting files from an archive.
  431.  
  432. The message "Replace existing output file (y/n)?" appears if a file of the
  433. same name already exists on the output drive.  The user must answer "Y" (or
  434. "y") to allow the extraction to proceed (in which case, the existing file is
  435. unceremoniously deleted).  Any other response will cause UNARC to preserve the
  436. existing file, bypass the extraction operation for the current file, and
  437. (except for a CTRL-C response) skip to the next file to be extracted (if any).
  438.  
  439. The first two warning messages illustrated above are provided as a check on
  440. the validity of the extracted file.  These indicate that either the cyclic
  441. redundancy check (CRC) value computed by UNARC, or the resulting extracted
  442. file length, does not match the corresponding value recorded in the archive
  443. when the original file was added to it.  The final warning message occurs if
  444. UNARC fails to detect the proper format for the start of a new subfile, but
  445. can recover by skipping a certain number of bytes in the archive file.  (If
  446. the recovery attempt fails, UNARC aborts with the message "Invalid archive
  447. file format.")  The appearance of any of these messages most likely indicates
  448. that the file data has been corrupted in some way (e.g. during modem
  449. transmission from a remote system).
  450.  
  451. Note that if the original (i.e. MS-DOS) file length was not an exact multiple
  452. of 128 bytes (as required by CP/M), UNARC will pad the final record of the
  453. extracted file with hex "1A" (ASCII CTRL-Z) bytes.  This provides the correct
  454. end-of-file termination for text files, according to CP/M conventions.
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463. File:  UNARC.DOC                                                  Page 8 of 10
  464. ------------------------------------------------------------------------------
  465.  
  466.  
  467. Also, the disk space shown in the archive directory listing will be correct
  468. for the specified disk drive.  (In the above examples, drive A: has a 1K data
  469. allocation block size while drive B: has a 2K block size, which accounts for
  470. the differences in the two listings.)  In order to determine the exact disk
  471. space requirements in advance of a file extraction operation, the user may
  472. first "log into" the desired output drive (i.e. select it as the default
  473. drive), and run UNARC to obtain a directory listing only.  (This is a
  474. consideration only on systems with mixed disk drive types.)
  475.  
  476. A file extraction operation may be aborted at any time by entering CTRL-C from
  477. the console.  In this case, any partial output file will remain on disk and
  478. should be deleted manually following the program abort.  (Any existing file of
  479. the same name will have already been deleted, however.)
  480.  
  481.  
  482.  
  483. TYPING OUT A FILE IN AN ARCHIVE
  484. -------------------------------
  485.  
  486. A console typeout of the contents of a single component file in an archive may
  487. be requested by specifying a non-ambiguous file name (and no disk drive name)
  488. in the second command line parameter.  For example:
  489.  
  490.  
  491. A>UNARC CODES ABLE.DOC
  492.  
  493. Archive File = CODES.ARC
  494.  
  495. Name           Length  Disk  Stowage  Ver  Stored Saved   Date     Time   CRC
  496. ============  =======  ====  ======== === ======= ===== ========= ======  ====
  497. ABLE    .DOC    24320   24k  Crunched  8    11777  52%  30 Apr 86 10:50a  42C0
  498. -------------------------------------------------------------------------------
  499. This is file ABLE.DOC, contained within the archive CODES.ARC.  Typeout will
  500. proceed until the end of this file or may be aborted by CTRL-C.....
  501.  
  502.  
  503. The specified file is assumed to contain valid ASCII text data.  In
  504. particular, all bytes are masked to seven bits, and all ASCII control
  505. characters are ignored except for HT (horizontal tab, which is expanded to
  506. blanks with assumed tab stops at every eighth column), LF, VT or FF (line
  507. feed, vertical tab or form feed, which generate a new typeout line), and SUB
  508. (CTRL-Z, which by CP/M convention indicates end-of-file and terminates the
  509. typeout).  Note that BS (backspace) and CR (carriage return) are ignored, so
  510. that text will not be obscured within files which utilize these for over-
  511. printing (i.e. when directed to a printer).
  512.  
  513. The following filetypes, which are usually associated with binary (non-text)
  514. data, are specifically excluded from typeout operations:  COM, EXE, OBJ, OV?,
  515. REL, ?RL, INT, SYS, BAD, LBR, ARC, ARK, ?Q?, and ?Z?.  If one of these types
  516. is specified, only the directory information for the requested file is listed.
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529. File:  UNARC.DOC                                                  Page 9 of 10
  530. ------------------------------------------------------------------------------
  531.  
  532.  
  533. PROGRAM OPTIONS
  534. ---------------
  535.  
  536. UNARC provides several options which may be used to tailor the program for
  537. specific non-universal requirements.  Many of these are intended for RCP/M
  538. (Remote CP/M) system operators, to allow generation of a secure version of
  539. UNARC which can be used by remote callers for purposes of archive directory
  540. listing and/or file typeout only (but not file extraction).  Others are
  541. provided for specialized non-standard CP/M systems and need not concern the
  542. majority of users running CP/M 2.2, CP/M 3.0 (CP/M Plus), or ZCPR3/ZRDOS
  543. systems.  Additional options provide user preference features (such as the
  544. number of screen lines between console output pauses, or the list of filetypes
  545. excluded from typeout operations).
  546.  
  547. All of these options are described in UNARCOVL.ASM, an assembly language
  548. source file that can be edited and assembled to generate a HEX-format overlay
  549. for easy patching of the UNARC.COM or UNARCA.COM program files.  Complete
  550. details are provided for technically-oriented users in UNARCOVL.ASM.  However,
  551. the default options in the distributed program files are suitable for the
  552. majority of users with standard CP/M operating systems.
  553.  
  554.  
  555.  
  556. AUTHOR'S NOTE
  557. -------------
  558.  
  559. I undertook writing the UNARC program to satisfy my curiosity about software
  560. developments in the MS-DOS/PC-DOS world.  At the time I began work on UNARC,
  561. the MS-DOS ARC program had been in existence for over a year and had achieved
  562. widespread popularity and acceptance in the 16-bit community.   Unfortunately,
  563. the lack of a compatible equivalent for CP/M systems rendered a large amount
  564. of public domain software inaccessible to 8-bit users such as myself.  (Note
  565. that 16-bit software can indeed be of interest to users of 8-bit systems, e.g.
  566. Pascal and C language programs.)
  567.  
  568. Also, an increasing number of RCP/M systems now cater to both 8-bit and 16-bit
  569. users.  Since the release of UNARC 1.0 (May 3, 1986), I have been encouraged
  570. to see that the program has found a welcome home on many such systems.
  571. Special thanks are due to Irv Hoff and Norman Beeler for providing archive
  572. file support in the KMD20 and LUX52 series of programs, respectively.  With
  573. the increasing popularity of .ARC files on many different computer systems, I
  574. believe that continued such support of this compression format is both
  575. desirable and inevitable for CP/M systems.  At the time of this writing I am
  576. near completion of NOAH, a companion program to UNARC which will allow CP/M
  577. users to generate ARC-compatible files.
  578.  
  579.                                       Bob Freed
  580.                                       November 21, 1986
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595. File:  UNARC.DOC                                                 Page 10 of 10
  596. ------------------------------------------------------------------------------
  597.  
  598.  
  599.  
  600.                                     NOTICE
  601.  
  602.       The UNARC program and its associated documentation is the copy-
  603.       righted property of its author -- it is NOT in the public domain.
  604.       HOWEVER...  Free use, distribution, and modification of this
  605.       program is permitted (and encouraged), subject to the following
  606.       conditions:
  607.  
  608.       (1)  Such use or distribution must be for non-profit purposes only.
  609.       (2)  The author's copyright notice may not be altered or removed.
  610.       (3)  Modifications to this program or its documentation files may
  611.            not be distributed without notification of and approval by
  612.            the author.
  613.  
  614.       No fee is requested or expected for the use and distribution of
  615.       this program subject to the above conditions.  The author reserves
  616.       the right to modify these conditions for any future revisions of
  617.       this program.  Questions, comments, suggestions, commercial
  618.       inquiries, and bug reports or fixes are welcomed by the author:
  619.  
  620.                            Robert A. Freed
  621.                            62 Miller Road
  622.                            Newton Centre, MA  02159
  623.                            Telephone (617) 332-3533
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.