after all the cheats for ps2 and ps1 i have shared , i can finally ask for help for a thing

ploppf

New Challenger
Level 0
48%
Joined
Jan 25, 2025
Messages
12
Level up in
13 posts
Reaction score
16
Points
2
for ps2 games i have found an outdated version of pcsx2 that a generous hacker marged with ps2dis , but i don't have the knowledge to understand the assembly language , so i need some hints and suggestions so i can port the god-mode hack from the ntsc version of sly 2 and sly 3 to their respective pal italian (multilanguage) version , since the sly trilogy have the italian dub you know
 
TBH then it would be easier for you to download newest PCSX2 -> open its debugger -> use it as how people use Cheat Engine to find what values change and all -> find the memory address that react when you lose health -> create a cheat that always machineguns highest value for the characters' health to that memory address by figuring out what's the highest value the memory address can have -> god mode. So you won't have to analyze cheat of games to "port" them to other regions when you can pretty much create the cheat yourself.

However most important thing for it is being able to find static memory address because this address won't change and that's how you can generate universal cheat that will work for everyone as long as they have the same game so same region too, otherwise if you just create cheat for dynamic address then its cheat will only work for that specific run of the game until you turn off because when you turn on the game again its dynamic addresses will change therefore the cheat won't work.

Then to find static memory gotta look for pointers and thus reverse-trace where and what pointers send value to the dynamic address you found to find the source that sends value to the pointer which will be the static memory address.

If you just wanna create a cheat for yourself then you don't have to bother with finding static memory address. You may very well create cheat for dynamic address and save the state of the game. Next time you run the game load the game from save state and thus the dynamic address for the memory will remain because its a snapshot of the current RAM of the game that using that state to continue running the game. Then if you wanna share such cheat you would need to also share the emulator version and save state too.
 
thanks for the hints , what i am interested in of course is to find the basic stating addresses as i always do , i don't want any temporary element , so i don't even use cheat engine for this kind of researchs , that's why i use that outdated version of pcsx2 with ps2dis incorporated , of course i use the latestt pcsx2 qt interfact in order to play , but everytime i try to find a value with that debugger , i find nothing , so can you give me some hints about that ? like , if for example i am playing a shooting game , what secion of the qt debugger i must use in order to find the value of the ammo with a scan ? and then what i must press in order to find the relative instruction that cause the loss of ammo ? i am asking for basic stuff you know , like how to use that interface , because as i said , so far i never found a single value , it is like that debugger is only used to improve the quality of the emulation but not to look in to the values of the game itself
Post automatically merged:

in any case i was serious about what i said in my previous posts: i only care about make cheats and share them , i don't mind people taking credits for them , i am not doing them in order to get money or popularity , instead i want to encourage everyone else to share all the codes they find , because in years and years there are cheats that none ever tried to find , like for example a god mode hack for silent hill origins in ps2
 
Last edited:
thanks for the hints , what i am interested in of course is to find the basic stating addresses as i always do , i don't want any temporary element , so i don't even use cheat engine for this kind of researchs , that's why i use that outdated version of pcsx2 with ps2dis incorporated , of course i use the latestt pcsx2 qt interfact in order to play , but everytime i try to find a value with that debugger , i find nothing , so can you give me some hints about that ? like , if for example i am playing a shooting game , what secion of the qt debugger i must use in order to find the value of the ammo with a scan ? and then what i must press in order to find the relative instruction that cause the loss of ammo ? i am asking for basic stuff you know , like how to use that interface , because as i said , so far i never found a single value , it is like that debugger is only used to improve the quality of the emulation but not to look in to the values of the game itself
Post automatically merged:

in any case i was serious about what i said in my previous posts: i only care about make cheats and share them , i don't mind people taking credits for them , i am not doing them in order to get money or popularity , instead i want to encourage everyone else to share all the codes they find , because in years and years there are cheats that none ever tried to find , like for example a god mode hack for silent hill origins in ps2
Debuggers and Cheat Engine makes your job easy to find static memory addresses, on the other hand what you do is taking a long road to do what you can do in Cheat Engine.

The PCSX2 and Cheat Engine 101 is when you have no idea of the value of anything you look for, especially because it runs via emulator therefore it likely won't be a "human readable value" that has the exact value you see on the game compared to native PC games then you gotta start your first search via this:

1.jpg


Then press "Search" and thus you will see the current state of the memory. Afterwards:

2.jpg


After you shoot your ammo will be decreased and after you take a hit your health will be decreased therefore numerically value-wise these memories will have decreased value compared to the previous state of the memory you initially searched therefore select "Decreased" and then press "Filter Search".

However among the results for what you are looking for you will find lots of values that decreased since the initial search because naturally game works and it makes some of its values decrease as well as it decreases. It depends on the process and what the memory addresses works for. That's why you gotta repeat "shoot" and "take hit" process before you repeat "decreased" filter search until you find the value you are looking for.

If you have no idea if value decreases or increases you may select "Changed" instead, if you know the exact change in value you may select "Changed By" like if you are sure the value in the memory would decrease or increased "1" value then put 1 and filter search for "Decreased By" or "Changed By".

But these ways will naturally make you find a dynamic address that is not useful for creating universal cheats just yet. For static address you need to find dynamic address first then find the value that react to same change and also uses different addresses that some of these addresses will be dynamic addresses but one of them will be a static address which I use this debugger and Cheat Engine for it that it's not something to tell "how exactly" because it's like fishing. How to tell a person how to fish beyond "find a spot where fish would hang out and throw the hook that has the food they would like and hope for the best"? It's like finding a needle in Jupiter lol. But what matters is bit size of the "needle" to even look for something correctly to even find them.

Simple values like ammo value, health value, camera state values, item id, switch values like "off"/"on" states and all mostly using 8-bits (1 byte) values. If you had searched for more than 1 byte you would likely to miss the values you look for. Sometimes a memory react to what you look for but it's not the memory that actually changes anything. This is where anti-cheat and optimization aspect of the game comes in for preventing cheats and making game run stable. But sometimes games uses 16-bits (2 byte) values when usually 8-bits (1 byte) values used for such stuff. Why it may be depends on many things but you would kinda see it rarely but just FYI.

So how to find static memory address?: After you found the dynamic address you gotta look for which memory contains the address of the dynamic address. Whatever address contains dynamic address is pointer address. Then look for what memory address that contains the pointer address to find the static address.

PCSX2 cheats can be written in many ways but the logic is writing the static memory address and defining what value it should have to make the cheat work.

To find pointer and static address I mostly use Cheat Engine if it's that simple to find because developer didn't care to implement anti-cheat or game engine doesn't work "weirdly" like how tri-Ace games are lol:

3.jpg


And then finally we get to something!!!:

4.jpg


Then what to do after this point?: You got the address but gotta see if this address always there holding the value you looking for despite you restarted the game. Sometimes it doesn't then you couldn't find a static memory address, you just found "mirror address" (that's the closest thing I can call them). In my experience mirror addresses works like pointers but in reality they just pass the value or they are there to make your hacking more bothersome. Sometimes such addresses used when you run the game on low level hardware that doesn't have much RAM to begin with so you may use same values for tons of different addresses uses to reduce the memory usage.

Afterwards IDK what to tell but "good luck" and "I hope you have a long music playlist for this long task" lol.

So tip for that "test loop to find static address": Static and pointer addresses don't change so you may restart the game over and over again to find common addresses to figure out which are pointer and static addresses. Your job is to weed out unrelated memory addresses to find a few related memory addresses. Good luck, soldier!!! <o
 
Last edited:
thanks , i am used enough to cheat engine when it comes about pc games , but i really needed that very practical explanation about the debugger for pcsx2 , about instructions , can you tell me the procedure to find them once i find the value with that debugger ?
Post automatically merged:

to make an example: right now thanks to your explanations i have found the address for the magazine for the gun in syphon filter omega strain , but now i don'w know what procedure i must do in order to locate the instruction that cause the loss of ammo
 
Last edited:
thanks , i am used enough to cheat engine when it comes about pc games , but i really needed that very practical explanation about the debugger for pcsx2 , about instructions , can you tell me the procedure to find them once i find the value with that debugger ?
When you found the address you suspect this is where a debugger is needed and ease your task if you are stubborn on instructions:

6.jpg


In Breakpoints tab you create a new one to add the address you suspect:

7.jpg


It means every time the game uses this address when it reads and it writes it shows you the last process used in the Disassembly window. Also here "size" means the byte size. We look for 1 byte so size is "1". If you had look for 64-bits value the size would be 8 for example.

For the nature of what you look for I would just check "write" instead to see what causes the "write" task. Then press "OK". Then shoot or take damage, depends on what you looking for to make the game process the task.

After the task is processed the latest reacted memory will be highlighted like this showing its instruction:

8.jpg

By keep finding what memory write to the previous memory you looked for eventually you will reach to the source memory that causes this chain to happen from the start.
 
thanks my friend , thanks to your explanation i have actually managed to find what i was looking for , in this case i did a little experiment to make sure that i am doing the right things: i took an instruction that i have already found with the method i have explained to you , the one with the outdated version of pcsx2 , and now that i have followed your procedure , i have actually found the same instruction i shared with everyone here with my .pnach file for the "no reload" hack , more this works , less i have to use that other outdated emulator , and from what you told me , it seem that you aren't so interested in find the instructions , why ? it is a mere matter of style , or something else ?
::coolmines
 
thanks my friend , thanks to your explanation i have actually managed to find what i was looking for , in this case i did a little experiment to make sure that i am doing the right things: i took an instruction that i have already found with the method i have explained to you , the one with the outdated version of pcsx2 , and now that i have followed your procedure , i have actually found the same instruction i shared with everyone here with my .pnach file for the "no reload" hack , more this works , less i have to use that other outdated emulator , and from what you told me , it seem that you aren't so interested in find the instructions , why ? it is a mere matter of style , or something else ?
::coolmines
Well let's say I got used to "bits way" for game hacking which seems more than enough for me so never saw a need to find instructions honestly. I would use instructions and assembly for changing the nature of what I hack so without these you can do simple manipulation and "find and use" stuff just fine but I guess it's your code ninja way!!!
 
honestly i have no time to do it since i am busy with my games myself , i know two methods to convert the codes , most of the times it work , but not always , first method : ammo address for ntsc and pal ,
ntsc address is 333 , pal address is 111 , you use the windows calculator (programmer setting, hexadecimal section) to subtract the pal address to the ntsc address , that difference is what you need to subtract in order to convert the cheats from one nation to another , of course it can happen that you have to add rather than subtract @AngazAC89ZX
Post automatically merged:

@qw90700
got it , in my case it make me feel way more comfortable and secure , because i am sure that i will never be disturbed by that restriction whatever happen
Post automatically merged:

@AngazAC89ZX
the other method i know is this: you use the debugger to look for the ruglar value of the cheat you want to convert in the version of the game where the original cheat exist , and you look the changing of that value in that address from the start of the game , to the point where you finished to load the game , and maybe proceed a little depending on your decision , then you memorize the sequence of the values that change , and you look for those sequence of values in the japanase version , sometimes this method work , infact it is the one i used to find the god mose for sly 1 in the pal italian version , since originally that hack was found by a hacker for the ntsc version , with that said , if you don't have any particular interest in play a specific version rather than another, you can just get the game that already have the cheats you are interested for , as you see fir of course, maybe you prefer the japanase dub , just like i prefer the italian dub
Post automatically merged:

@qw90700

do you know an emulator for ps1 that have a functioning debugger like the one we talked about so far ? because so far the only thing i could do for ps1 games is to apply the two conversion methods i mentioned, but never got a debugger , duckstation only can find the values , but not the instructions
Post automatically merged:

i think i have found a way to use the CPU debugger in duckstation , for ps1 games: so in duckstation , make sure to update to the latest version , once you do that , you click on "settings" , you know it is the big icon of the gear , then select the "advanced" option , and in the page you select , check the little square that say "show debug menu" , and the "Debug" option will appear in the top left bar , right befor "Help" (not so sure since i am italian and i read the italian writing , and when you open the debugger little window , select "Debugger CPU" , with that big window that you will open , you can execute the procedure to find the instructions , i will use what i did some minutes ago as an example , syphon filter 1 italian version , the instruction that cause the loss of projectiles, use the memory analized to find the address of the bullets that are decreasing for your weapon , once you find it , go in the window of the cpu debugger , click on the "pause\continue" icon , the icon is in top-left , it is more or less "I I" , when you click on it the game will be on pause , then you click on "breakpoints" , always in the top-left , "add new breakpoint" , and then do as qw90700 , chose the action you want to detect , in my case i chosed "write" just like in the explanation i received , then , once i am during a mission , i press again the pause "I I" icon , in order to play the game , and with the breakpoint ready to be used , i shoot , the game is blocked again , this time , in the top-left list of addresses we see where the emulator finished to conduct the reseatch based on the breackpoint you selected , now you need to save a state , and then , from the address highlighted by the emulator , i tried to "nop" that instruction , by adding it as a new cheat , it was something like "80012345 00000000" , but it wasn't the right address , so i proceeded in the upper part of the list , so to my knowledge so far you must look by going up in the list , not down , sooner or later you will find the instruction you need , english is my second language so let me know if actually mt explanation make at least a bit of sense
 
Last edited:

Users who are viewing this thread

Connect with us

Support this Site

RGT relies on you to stay afloat. Help covering the site costs and get some pretty Level 7 perks too.

Featured Video

Latest Threads

This might be a dumb question, but should I try and play mgs3 without pressure sensitive controllers?

Ive been itching to play that game for a long long time, but all I have is a third party PS2...
Read more

weird lines on ppsspp

playing p3p on ppsspp, i noticed these weird lines appearing on character sprites whenever they...
Read more

Great video game cover songs, remixes, and mashups.

If you know any post them here. Some of my faves:

...
Read more

Adventure Game Studio Thread

A place to post and discuss games made using Adventure Game Studio, and generally celebrate some...
Read more

Online statistics

Members online
189
Guests online
189
Total visitors
378

Forum statistics

Threads
11,631
Messages
283,674
Members
853,662
Latest member
Caoilan

Advertisers

Back
Top