PKXARC FAST! Archive Extract Utility Version 3.2 9-12-86 by Phil Katz Page 1 Table of Contents ----------------- Topic Page ----- ---- Features and Overview .............................. 2 Using PKXARC ....................................... 3 PKXARC Warning Messages............................. 4 PKXARC Error Messages .............................. 4 PKXARC Revision history ............................ 5 General Information ................................ 8 Software License ................................... 8 PKXARC FAST! Archive Extract Utility Version 3.2 9-12-86 by Phil Katz Page 2 Features -------- - FAST! archive extraction. - Superior file buffering. - Not copy protected. - Pay only if you use and like the software. Overview -------- An archive is a collection of one or more files collected into a single archive file. An file extension of .ARC is usually used to denote an archive. Each file in an archive is compressed to save disk space, backup storage space, and file transfer time. When a file is archived, it is analyzed and compressed with the most optimal data compression method for that file. Every file in an archive is stored with a 16-bit Cyclic Redundancy Check (CRC) to ensure data integrity when the file is extracted from the archive. PKXARC is a fast archive extraction utility that extracts files from an archive and restores them to their orignal name, size, time & date. It is completely compatible with SEAware's (Software Enhancement Associate's) ARC program and my own FAST! archive create/update utility PKARC, but is many times faster than SEAware's ARC program. PKXARC achieves its speed through the use of optimized assembly language code and advanced file buffering techniques. PKXARC FAST! Archive Extract Utility Version 3.2 9-12-86 by Phil Katz Page 3 Using PKXARC ------------ Usage: PKXARC [options] archive [d:path\] [-file...] Options are: /r = replace existing files /v = verbose listing of archive(s) /c = extract file(s) to the console /p = extract file(s) to the printer /t = test archive integrity /l = display software license archive Archive file name, wildcards *,? ok. Default extension is .ARC d:path\ Output drive and/or path. -file Name(s) of files to extract, list, or test. Wildcards *,? ok. Default is ALL files. Examples: PKXARC a:* b: -Extract all files from all archives on drive A: storing extracted files on drive B:. PKXARC sigdir1 c: -Extract all files from the archive SIGDIR1.ARC in the current drive & subdirectory storing extracted files on drive C:. PKXARC c:\lotus\tax -*.wks -Extract all .WKS files from archive C:\LOTUS\TAX.ARC storing extracted files in the current drive & subdirectory. PKXARC/r c:\public\* d:\ -*.doc -*.txt -Extract all .DOC and .TXT files from all archives in the directory C:\PUBLIC storing the extracted files in the root directory of drive D:. Overwrite existing files without query. PKXARC/v c:\download\* -Display a verbose listing of all archives in the directory C:\DOWNLOAD. PKXARC/c utility -*.doc -Extract all .DOC files form the archive UTILITY.ARC displaying extracted files on the console. PKXARC/p utility -*.doc -Same as above, except extracted files are displayed on the printer. PKXARC/t utility -Test the integrity of the archive UTILITY.ARC. PKXARC/t c:\download\* -Test the validity of all archives in the directory C:\DOWNLOAD. PKXARC FAST! Archive Extract Utility Version 3.2 9-12-86 by Phil Katz Page 4 PKXARC warnings --------------- Warning! File YYY already exists! overwrite (y/n)? - A file to be extracted from the archive already exists on disk. Answer "y" to extract the file from the archive anyway and overwrite the existing file, "n" to not extract the file from the archive. Use the "/r" command line option to suppress this warning. Unknown packing method for: YYY - The file is squeezed or encoded in a unkown way. The archive is probably corrupt. Warning! File YYY fails CRC check - The Cyclic Redundancy Check calculation did not match the stored value. The file is probably corrupt. XXX is not an archive - The archive file header does not indicate this is an archive file. Archive length error - A end of file token was not found for a file within the archive. The archive is corrupt. PKXARC errors ------------- PKXARC: can't find XXX - The given archive filename could not be found. PKXARC: cannot read archive: XXX - The archive could not be opened. PKXARC: Cannot create: YYY - The output file could not be created. The output directory is invalid or full. PKXARC: File has invalid decode tree - The Huffman decode tree for the file is invalid. The archive is corrupt. PKXARC: Disk full - A write to the output file failed. The disk is most likely full. PKXARC: Internal table overflow - An internal decode table overflowed. The archive is corrupt. PKXARC FAST! Archive Extract Utility Version 3.2 9-12-86 by Phil Katz Page 5 PKXARC history -------------- Soon after the archive file format was introduced into the public domain it became popular, and many BBS files were transfered this way. The archive format is a convenient way to put several files into one and squeeze them for effecient disk storage and reduced transfer time, in one step. However, the archive utility was much slower at extracting files than equivalent UnSQueeze type programs. In the inevitable quest for faster archive file extraction, PKXARC was created. Changes in PKXARC version 2.3 ----------------------------- The ability to extract dynamic Ziv-Lempel encoded files was added. Version 5.0 of ARC introduced a new, more efficient variation of Ziv-Lempel "Crunching". PKXARC can now extract files Crunched with this method, approximately 3 times faster than ARC 5.1. Changes in PKXARC version 2.4 ----------------------------- Performance for extracting dynamic Ziv-Lempel files has been improved. Files which are identified as "Crunched" (with a capital C) on the ARC verbose listing extract 15-20% faster than before. When a "Disk full" error occurred, previous versions of PKXARC would leave an empty or incomplete file on the disk. PKXARC now deletes any incomplete files before aborting with a "Disk full" error. Changes in PKXARC version 2.5 ----------------------------- The ability to extract specific files was added. PKXARC can now be passed the specific names of files to be extracted from an archive on the command line. PKXARC FAST! Archive Extract Utility Version 3.2 9-12-86 by Phil Katz Page 6 Changes in PKXARC version 2.6 ----------------------------- Extraction performance for all compression types has been significantly improved over PKXARC version 2.5. Files that are crunched with older versions of ARC (pre 5.x) extract 5% faster. Squeezed files extract 15% faster. Files that are Crunched with ARC 5.x extract 20% faster. Changes in PKXARC version 2.7 ----------------------------- Extraction performance of Squeezed files has been improved more than 60%. PKXARC version 2.7 can extract a Squeezed file more than 8 times as fast as ARC 5.1. The message displayed when a file is being extracted has been enhanced to indicate the compression method used to store the file. Message Meaning ------- ------- Extracting The file was Stored. un-Packing The file was Packed with non-repeat packing. uncrunching The file was crunched with old sytle Ziv-Lempel compression. unCrunching The file was Crunched with Dynamic Ziv-Lempel compression. unSqueezing The file was Squeezed with Huffman encoding. Changes in PKXARC version 3.0 ----------------------------- The following functions have been added to PKXARC version 3.0: Extraction of files to the console or printer. The ability to display a verbose archive listing. PKXARC FAST! Archive Extract Utility Version 3.2 9-12-86 by Phil Katz Page 7 Changes in PKXARC version 3.1 ----------------------------- A minor bug in the pattern matching code for individual file specifications when using the wildcard "*" was fixed. For example, previous versions of PKXARC would not correctly match "flight*.com" to the exact filename "flight.com". This has been corrected in PKXARC version 3.1. The verbose archive listing now displays the total number of files in the archive. Extraction speed has been increased 5-10% for all decompression methods. A "jr" version of PKXARC was created for computers with limited memory. The standard verion of PKXARC requires 105K of free memory to run. PKXARCjr requires only 71K of free memory to run, but is slightly slower than the standard version for most archives. Both versions will run on any type of computer providing there is sufficient free memory. PKXARC is now being distributed in a self-extracting file PKXARC31.COM which extracts itself into the files PKXARC.COM, PKXARCJR.COM, and PKXARC.DOC. PKXARC31.COM requires 59K of free memory to extract itself. Changes in PKXARC version 3.2 ----------------------------- The archive test function "/t" was added to PKXARC. This function tests the integrity of the archive without extracting the files to disk. Specifically, the CRC for each file is computed and compared against the correct value stored in the archive. Extraction speed has been increased by 5% for most files. PKXARC FAST! Archive Extract Utility Version 3.2 9-12-86 by Phil Katz Page 8 General ------- PKXARC will run on any IBM PC/XT/AT/RT/jr/Portable/Convertible or DOS compatible whatever running PC/MS-DOS 2.0 or higher. IBM is a registered trademark of the International Business Machine Corporation. MS-DOS is a registered trademark of Microsoft Inc. If you have any questions or comments about PKXARC send them to: Phil Katz Exec-PC multi-user IBM BBS (16 lines, 24 hours a day) Milwaukee, WI (modem) (414) 964-5160. Special thanks to Alan Losoff, author of ALUSQ and Bob Mahoney, SYSOP of Exec-PC. License ------- Copyright (c) 1986 Phil Katz, All Rights Reserved. You are free to use, copy and distribute PKXARC providing that: NO FEE IS CHARGED FOR USE, COPYING OR DISTRIBUTION. IT IS NOT MODIFIED IN ANY WAY. Clubs and user groups may charge a nominal fee for expenses and handling while distributing PKXARC. This program is provided AS IS without any warranty, expressed or implied, including but not limited to fitness for a particular purpose. If you find PKXARC fast, easy, and convenient to use, a contribution of $15 would be appreciated. With each contribution of $35 or more you will receive free upgrades of the next versions of PKXARC and PKARC when available, including documentation. Send contributions to: Phil Katz 7032 Ardara Avenue Glendale, WI 53209