[comp.sys.ibm.pc] Patch to make PKarc compatible

tes@whuts.UUCP (04/14/87)

In article <206900012@mirror>, jvc@mirror.UUCP writes:
> 
> /* Written 12:29 pm  Apr  9, 1987 by japplega@csm9a.UUCP */
> >As to PKARC, I am currently discouraging the use of PKARC to archive files
> >until it is modified to use another extension.  PKARC archives are NOT
> >compatible with ARC 5.12 or 5.20!!!

After running the performance tests reported last week,
(Summary, PKarc was 5 times faster but incompatible in
"native" mode, but had a SEAarc compatible mode as fast)
I applied the official PKware patch to force PKarc to be
totally compatible.  I have not had the time for a major
test, but I have been (noticably) burnt yet.  So....

Without any warrentees, including whether this patch really
did come from PKware as I believe, or that it really works
as I believe.  (Run your own tests).  Here is the "PKware
DISSQASH.PAT patch file" source.
================================================================

DISSQASH.PAT
================================================================
By default, PKARC 2.0 will "squash" a file if this compression 
technique would appear to be optimal for that file.  While I 
personally do not think it is desirable to change this, this patch is 
presented at the request of others who disagree.

However, PLEASE DO NOT distribute PKARC 2.0 if it has been patched as 
shown in this document.  Not only can this create problems for 
recipients of the program that are not aware that the program has 
been patched, but it is also in strict violation of the license 
agreement in PKARC to distribute the program in modified form.  

PKWARE INCORPORATED RESERVES THE RIGHT TO FIND ANYONE WHO DISTRIBUTES 
PKARC IN MODIFIED FORM WITHOUT EXPRESS WRITTEN CONSENT FROM PKWARE 
INCORPORATED TO BE IN VIOLATION OF THE SOFTWARE LICENSE AGREEMENT AND
LIABLE FOR DAMAGES.

Using DEBUG, change the byte at offset F25 hex in the file PKARC.COM,
version 2.0, dated 12-15-86.  The value in the distribution copy is 
75 hex.

Changing this value will yield the results shown:

Byte at F25	Program Behavior
------------	----------------

    75		This is the 'normal' value.  Squashing will be
		performed by default, when it is optimal.

    74		Reverses the meaning of the "/oc" flag.  By default
		squashing will NOT be performed.  Specifying "/oc"
		on the command line will ENABLE squashing when it
		is optimal.

    EB		Permanently disables squashing.  Squashing will
		never be performed, regardless if the "/oc" flag is 
		specified or not.

WARNING: Changing the value of this byte to any other value will cause 
unpredicatble program operation.



The following example session with debug will change the value to 74.

Enter

debug pkarc.com<CR>

where <CR> means the enter key.  Debug will display a "-" prompt.  Then enter

ef25<CR>.

Debug will display something like "xxxx:0F25  75.".  The xxxx value will
vary from computer to computer.  Debug should display the number 75 as
above.  If this value is not 75, then you do not have PKARC 2.0 and
should not continue.  Enter

74<CR>

followed by

w<CR>

and then

q<CR>.


The result should appear similar to:

A>debug pkarc.com
-ef25
xxxx:0F25  75.74
-w
Writing 4430 bytes
-q
A>



		-Phil Kat
-- 
  -----                    Terry Sterkel
-====----              AT&T Bell Laboratories
--------- {clyde|harvard|cbosgd|allegra|ulysses|ihnp4}!whuts!tes
  -----         [opinions are obviously only my own]