How pnach files work
#31
i'm new here but why some of the armax codes didn't work even there are error when used it
(Example resident evil outbreak PAL version..
Infinite Health (Main Character)
H9TF-BZ1R-UQU2Z
QTBB-0TC7-7CN6D
GDN1-HCAH-KXCAP

Friendly Fire & Infinity Mode On
5YFB-AWKZ-UCBT2
3PUV-BQ57-Z15K2

i've convert them to RAW but the infinite health are not working...(have checked the disc version and error like 32-bit something in maxconvert)
...please forgive me if i ruin this thread...i'm such a noob
Reply

Sponsored links

#32
Quote:The "common" codes 0, 1 and 2 means respectively "byte", "short" and "word" (sorry if it was formerly mentioned in this thread).

Although this code may work, it's wrong ... notice 270F is a "short" (two bytes) and using "word" (four bytes) there you will be actually placing zeros where they were not supposed to be.

It was posted that "0" "1" and "2" are "byte" "short" and "word" respectively, but in the same post it was stated that a line 0000270F was "short." How are we to differentiate which we are to use? I believe something about 0, 2, and 4 bytes was mentioned. How can we identify how many bytes are in the line of code. (if applicable)

What if we decrypt and result with an address higher than 2? (ie: 4)
I assume this simply means there was a mistake or the code line is unusable

Reply
#33
There is no way to know if the "field" is a byte or short if less than the minimal significant digits are provided in the code, other than looking at the original code from a "knowing" source or analyzing the data ourselves and with criteria. Notice than by formatting reasons the code is always presented as 8 digits.

And that is not a minor issue because if the field is smaller than the data being pushed it means adjacent fields are being overwritten, something that can work for a time or all the time or can lead to hard to correct issues later. Think this way, if the code is a byte or short, the leading zeroes are ignored and not pushed... it it is a word all those zeroes are indeed shoved into that memory range.

Just as an example, if the "attributes" are in a vector of several bytes, introducing the code as word erase the three next attributes...actually the whole code is misplaced.

On the other hand, if the input data is shorter than the field the problem is lessened but still a problem if the non affected bytes aren't already the expected.

Now save that mess in a sstate and the issue is sacred forever...
Imagination is where we are truly real
Reply
#34
how do i enable the pnatch files or even to use them right
Reply
#35
in 0.9.7, go to "System" menu and mark the "Enable cheats".

Now the pnach file must have the name as the same strange collection of hex characters that is that CRC thing you can find looking a few lines after the highlighted

(SYSTEM.CNF)... line at the console log and placed under the "cheats" folder.

Make sure the "Hide extensions for known file types" is NOT marked in the "Folder Search and options", "View" tab in Windows explorer. You need a file
XYZ.pnach and not a XYZ.pnach.txt (where XYZ is actually 8 hex digits long)
Imagination is where we are truly real
Reply
#36
(03-27-2011, 11:21 AM)nosisab Ken Keleh Wrote: in 0.9.7, go to "System" menu and mark the "Enable cheats".

Now the pnach file must have the name as the same strange collection of hex characters that is that CRC thing you can find looking a few lines after the highlighted

(SYSTEM.CNF)... line at the console log and placed under the "cheats" folder.

Make sure the "Hide extensions for known file types" is NOT marked in the "Folder Search and options", "View" tab in Windows explorer. You need a file
XYZ.pnach and not a XYZ.pnach.txt (where XYZ is actually 8 hex digits long)

still not working man i'm bad at this there an easier way to do this or could you kind of dumb it down for me?
Reply
#37
supposing the name and extension is correct

We can help more than just pointing the "howto make a pnach file" like threads if we know the specific content so we can tell what is being wrongly done in each line.

Teaching how to compose the line is not only redundant as it is loooooooooooooooooooooonnnggggggggg.

Basically the pnach line is something like:

patch=1,EE,200FFE00,extended,3C0100A5

Where:

patch=1 - means the code is to be applied at each frame (0 there indicates the code is applied only once and lead to complications in it's usage, should be avoided).

EE mean the patch is over the EE, let it as it is.

the following parameter is very important to understand. basically it is the address where the code is to be applied, but it's first digit is not part of the address, it indicates the type of the code.

So, the first digit in the address:

It must always be 0 or 2 (replace if needed) when the following parameter is "byte", "short" or "word" - since it is treated as being actually part of the address and the code type is given explicitly in the next parameter. Notice 0 is in the real base address offset and 2 is it's mirror.

When using "extended" it must be left as it is in the original raw code - never change it if using extended since it is what tells the code type since it's not explicitly given anymore.

The next parameter is the code type. The accepted types are the already mentioned byte, short, word and extended.

Finally we have the actual value to be pushed into the given address.

Extended was implemented later and in a way it obsoletes the former three which are left for compatibility purposes, it has the advantage of not requiring AND not ALLOWING changes in that first digit at the address obtained from the raw original code, making it just a copy and paste procedure.

PS: and of course "extending" the code types beyond those three, hence the name.

It's that simple.

Addendum: a final note. Many actual PS2 cheat devices, like codebreaker, may use "master codes". These are control for the device engine and have no meaning for the PCSX2 cheat engine and MUST NOT be entered in the pnach. Any code that actually would not work without it probably can't be used with pnach anyway.
Imagination is where we are truly real
Reply
#38
this is the file i'm trying to get to work
comment=by spike1977 :-)
gametitle=Silent Hill 2 (E) Multi
//energia illimitata
patch=1,EE,00400976,word,000042c8
//munizioni infinite pistola
patch=1,EE,01138774,word,00000008
//munizioni infinite fucile
patch=1,EE,01138778,word,00000006
//primo save
patch=1,EE,01236cea,word,00000000
//munizioni infinite carabina
patch=1,EE,0113877c,word,00000004
//energy drink illimitati
patch=1,EE,0113876e,word,00000063
//infinite ampolle energia
patch=1,EE,01138772,word,00000063
Reply
#39
(03-27-2011, 10:50 PM)nosisab Ken Keleh Wrote: supposing the name and extension is correct

We can help more than just pointing the "howto make a pnach file" like threads if we know the specific content so we can tell what is being wrongly done in each line.

Teaching how to compose the line is not only redundant as it is loooooooooooooooooooooonnnggggggggg.

Basically the pnach line is something like:

patch=1,EE,200FFE00,extended,3C0100A5

Where:

patch=1 - means the code is to be applied at each frame (0 there indicates the code is applied only once and lead to complications in it's usage, should be avoided).

EE mean the patch is over the EE, let it as it is.

the following parameter is very important to understand. basically it is the address where the code is to be applied, but it's first digit is not part of the address, it indicates the type of the code.

So, the first digit in the address:

It must always be 0 or 2 (replace if needed) when the following parameter is "byte", "short" or "word" - since it is treated as being actually part of the address and the code type is given explicitly in the next parameter. Notice 0 is in the real base address offset and 2 is it's mirror.

When using "extended" it must be left as it is in the original raw code - never change it if using extended since it is what tells the code type since it's not explicitly given anymore.

The next parameter is the code type. The accepted types are the already mentioned byte, short, word and extended.

Finally we have the actual value to be pushed in the given address.

Extended was implemented later and in a way it obsoletes the former three which are left for compatibility purposes, it has the advantage of not requiring AND not ALLOWING changes in that first digit address obtained from the raw original code, making it just a copy and paste procedure.

It's that simple.

it's still confusing
Reply
#40
so the pnatch file is right but i'm doing something wrong? because 0.9.7 keeps asking for pnach file 8e8e384b.pnach and i don't seem to have it
Reply




Users browsing this thread: 1 Guest(s)