View Single Post
Old March 13th, 2009   #6 (permalink)
Pontifice
Registered User
 
Join Date: Nov 2007
Location: ES
Posts: 17
I will try to explain it better

patch=1,EE,xxxxxxxx,size,yyyyyyyy

work writing "size" of "yyyyyyyy" starting in address "xxxxxxxx"

for example

patch=1,EE,00000100,byte,00000001

writes 01 in address 00000100

patch=1,EE,00000101,byte,00000002

writes 02 in adresss 00000101

and these two lines do the same that this line

patch=1,EE,00000100,short,00000201

It writes 0101 starting in address 00000100 so it first writes 01 in address 100 and then 02 in address 101


For example with these codes that you posted
Code:
//unlock cassandra weapons
patch=1,EE,003fe796,word,00000202
patch=1,EE,003fe798,word,02020202
patch=1,EE,003fe79c,word,02020202
First patch writes 00000202 starting in address 3fe796 until adress 3fe799
you get something like
Code:
address      data
3fe795       ..
3fe796       02
3fe797       02
3fe798       00
3fe799       00
3fe79A       ..
Second patch writes 02020202 starting in address 3fe798 until adress 3fe79B
you get something like
Code:
address      data
3fe795       ..
3fe796       02
3fe797       02
3fe798       02
3fe799       02
3fe79A       02
3fe79B       02
3fe79C       ..
Third patch writes 02020202 starting in address 3fe79C until adress 3fe79F
you get something like
Code:
address      data
3fe795       ..
3fe796       02
3fe797       02
3fe798       02
3fe799       02
3fe79A       02
3fe79B       02
3fe79C       02
3fe79D       02
3fe79E       02
3fe79F       02
3fe7A0       ..
With this i can see that the first patch was translated wrong because it gets overwrited by the second one.

With theses cheats you are unable to know what data is in 3fe798 and 3fe799because it's written with two different values. Probably it will be "02" because the way pcsx2 works.

But hey with the last patch of this code
Code:
//yungsung Weapon Codes
patch=1,EE,003FE78C,word,02020202
patch=1,EE,003FE790,word,02020202
patch=1,EE,003FE794,word,00000202
It writes

Code:
address      data
3fe793       ..
3fe794       02
3fe795       02
3fe796       00
3fe797       00
3fe798       ..
Overwriting the previous code.

That's why it's important the byte,short,word thing.


And any other code that start for anything but 0,1 or 2 should not work because they are not writing directly in memory.

For example
Code:
// FFXII  P1 Press R3+L1 For Super Fast Speed
D056BADC 0000FBFB
1025C7E8 000041F7
This code means checks if the data in adress 056BADC is FBFB and if it is it writes 41F7 in adress 25C7E8

If i translate it your way

it will be
Code:
patch=1,EE,0056BADC,word,0000FBFB
patch=1,EE,0025C7E8,word,000041F7
it will write 0000FBFB in 56BADC (by the way 56BADC it's the adress with pad "registers") and then it will write 000041F7 in 25C7E8

But if you used what i said

Code:
patch=1,EE,D056BADC,extended,0000FBFB
patch=1,EE,1025C7E8,extended,000041F7
It will work


i know all of this because i write the "extended" thing in pcsx2 and for that i have to study how codebreaker/armax codes works

Last edited by Pontifice; March 13th, 2009 at 16:18..
Pontifice is offline   Reply With Quote