PATCHER 1.0
-----------
PATCHER is a generic file patching program in source form for MSDOS and
CP/M-86.  It provides a simple way of providing end-users with patches
where distributing the revised binary is not feasable.

PATCHER is useful when simple one-for-one byte patches are needed.  It
is less suitable for those applications where the difference between
the source and target files is great.

Features
--------
 - Patches multiple files.
 - Verifies all target files for correct version before any patches are
   applied.
 - Target files may be selectively marked as 'optional' allowing patching
   to occur even if some files were not found.  This allows patching of
   applications which are installed with some components missing.
 - The MSDOS version of PATCHER returns ERRORLEVEL for batch processing
   (0=success, 1=error).

Instructions
------------
You will need the following data:

 - The name of file(s) to be patched.
 - The offset from the start of the file where each patch is to be made.
 - The old and new values for each byte patched.

Edit PATCHER.ASM (or PATCHER.A86 for CP/M-86) using any text editor.  It
is only necessary to change the data in the boxes marked with asterix!

Finally, assemble using any 8086 assembler e.g.

For MSDOS:
 
   A86 PATCHER.ASM     (if using A86)

   TASM PATCHER        (if using Borland's TASM)
   TLINK /T PATCHER

For CP/M-86 (if using DRI ASM86):

   ASM86 PATCHER
   GENCMD PATCHER 8080 CODE[ M200]


Disclaimer
----------
PATCHER is public domain.  Use of this program is at your own risk and
responsibility.


Addendum
--------
A binary file compare utility can be a handy adjunct to PATCHER.  Some
suitable programs are listed below.
 
1. The MSDOS program FC.EXE can be used to generate the differences
   between two binary files. e.g.

     FC /b oldfile newfile >diff.txt

   DIFF.TXT then provides the address offsets and difference bytes for
   cutting/pasting into PATCH.ASM.  A 'column mode' editor e.g. UltraEdit
   will simplify the process and minimize transcription errors.

2. For CP/M-86 users, there is BINCOM 2.0 (7-Jan-01).  This program works
   in a similar manner to FC.EXE and has a 'log to disk' option.

