PSX Hacker v1.1 (5.1.99) - Coded By Ghandi of Cremlin Software.
E-Mail: ghandi@cremlinsoftware.org
   WWW: http://www.cremlinsoftware.org


Introduction
~~~~~~~~~~~~

PSXHacker is a small CLI program which by utilising a supplied patch file
alters the data contained within a MakeCD image file.


Usage
~~~~~

PSXHacker CAN ONLY be run from the CLI.

The CLI template is PSXHacker [ss|sd|r|c] [patchin|imagea] [imageb] <patchout>

[ss] searches through [imageb] using the location data within [patchin] and
compares the source data against the actual data at the specified location and
then outputs the specified location (including the preceeding and following 10
bytes) along with whether it matches the data present within the patch file.

[sd] performs the same operation as ss but it uses the destination data within
[patchin] instead of the source data.

The output produced by both 'ss' and 'sd' look like the example below (where
nn is either the specified source or destination data):

nn                                 nn

0E : 94 79 EA 94 18 B7 15 AA A2 D3 0E E6 6A A4 44 A9 00 DB 82 37 32

If the specified data does not match the actual data at the specified location
the output would look like the following (a '+' character will mark an
incorrect location):

nn                                 nn

0E : 94 79 EA 94 18 B7 15 AA A2 D3 1E E6 6A A4 44 A9 00 DB 82 37 32 +

[r] searches through [imageb] using the location data within [patchin] and
replaces the data at the specified location with the destination data specified
within [patchin].

PSXHacker does not check that the source data matches the actual data as this
is what the 'ss' option is for!

New to version 1.1 is the compare option [c].

[c] compares [imagea] against [imageb] and outputs the differences between them.
If the optional <patchout> file is specified the differences will be output as
a PSXHacker compatible patch file.

This option can easily be used to create patch files if you have access to the
original and to the patched version of a game.  All you need to do is create an
image file for both versions of the game (following the instructions from our
WWW site) and then run PSXHacker in [c] mode outputing the differences to a file
and there you have it.  A patch file for everybody else to use :-)

NB.  This process requires that you have at least 2mb of contiguous memory free.
     The patched image file might be slightly bigger than the original image
     file, this is to be expected and ignored.
     This process can take upto 30 minutes depending on the size of the image
     files and your machine specification.


Example
~~~~~~~

PSXHacker ss PSXPatchFiles/medievil_uk.pat CDI1:01_Mode2_49_57_33
PSXHacker c CDI1:01_Mode2_49_57_33 CDI2:01_Mode2_49_58_33 RAM:medievil_uk.pat


The Patch File
~~~~~~~~~~~~~~

The patch file contains all the information needed by PSXHacker to alter the
image file that has been created by MakeCD.

The patch file is made up of blocks of three lines and each block represents
one byte of data.  The patch file can contain any number of these blocks.

A block is made up of the following:

Location
Source byte
Destination byte

NB.  The data must be specified in either decimal or hexadecimal (if it is
specified in hexadecimal it must be preceeded by '0x').

0x000343AA
0x0E
0x01

Patch files designed for MakeCD image files can be obtained from our WWW site.


Miscellaneous
~~~~~~~~~~~~~

The location data may alter based on the software used to create the image
file.  If this is the case the 'ss' option will return all errors.

To solve this manually match the first few bytes of source data within 'your'
image file and adjust the location data accordingly.

For more detailed instructions visit our WWW site:

http://www.cremlinsoftware.org


History
~~~~~~~

23.12.1998  1.0  · First public release.
05.01.1999  1.1  · Added [c] compare option to automatically create a patch
                   file from an original and already patched image file.
