Nov 13, 2010 Final Fantasy X Cheats You can use them in the pcsx2 emulator, with the patch feature. I will add more eventualy! It will work with the version: Final. This tutorial will outline how to use an external memory editor to create patches or (more likely) cheats for games in the emulator. This tutorial explains how to do.
I am using many pnach files to cheat in many ps2 games and I can play them by using pcsx2 - The best playstation 2 emulator ever! I also use Cheat Engine 6.5 to make even more cheats that do not exist in my pnach files, but this is very annoying to cheat with Cheat Engine, because the memory locations are always changing and moving to another locations every time either I continue playing the game or restart the game or the pcsx2.
I also auto assemble and inject game's code to cheat, but whenever I load a state or restart pcsx2, all changes I made with my code injection are lost! Even pointer scan, level and reference of Cheat Engine don't work with pcsx2, because this is every complicated emulator.
I have read that it makes many shift operations to calculate the addresses (of memory and assembly). This is very annoying! I want to save these cheats I make with cheat engine. I don't want every time to scan for the values I want to change and inject the same codes over and over again. Pnach files are very comfortable, because they don't require you do anything, but just playing the game and enjoy everything they give you, like infinite health, ammo and etc. I wonder if there is a way in a pnach file, making all the cheats that I make by cheat engine, and if yes, then how exactly?
Edit: Now that I've actually used reading comprehension. Download Burger Personality Pdf Merge. Word of Warning: This process is almost entirely based on both how emulators work, and how memory is used. Invalid Inconsistent License Key Solidworks For Mac. I've not actually worked with memory editing with emulators, so there may be some twists and caveats I'm unaware of.
Wall o' Text: The main problem here, is that static pointers, and other static values, are dependent on games and applications that run in the OS. For most games an apps, Cheat Engine is pretty simple, because it's running in the exact same OS. After all, what makes a value static, is that it always has the same offset to the process' base memory address. Since Cheat Engine attaches to the process, it always knows where that base address is. However, when you're talking about an emulator - that emulator basically works as its own OS, with its own processes, that runs in its own memory. Cheat Engine can easily attach to the emulator's process, but as it can't attach to the game itself, it doesn't know where that game's base memory is.
Even worse, since the base memory is stored in dynamic memory, even the game's static memory will change location, from Cheat Engine's perspective. However, since the emulator obviously needs to know where that base address is, that address works no differently than any other value you use Cheat Engine for. In other words, pcsx2 should have a static pointer, that points to that address. Once you have that pointer to that base address, you're halfway there.
The next half is using 'what accesses this address' and 'what writes to this address', along with the disassembler to trace the value you want to track, back to a static pointer within the game. Unfortunately this will require a fair bit of trial and error, because the only way you'll know if that pointer is static, is if its offset to the game's base address never changes.
The only way you'll be able to check that is by closing and reopening the emulator a few times. Thankfully, by this point - you'll at least have the pointer to that base address. When you're done, you'll have something that looks roughly like this: static pointer(pcsx2)->base address(game)+offset to static pointer(game)->value(game) Obviously, there's always the good chance that there may be some dynamic pointers in between, on either or both sides. Hopefully this gets you on the right track.
Dear Digital_Utopia, your answer is very nice and clear, but not to my question. You didn't read all my question.
I have already said that I have already tried pointers and pointer scan, but they don't work, because pcsx2 is very complicated emulator. For example, I have found the address 21940FCC. Then I searched for 21940FCC values and I got 0 found. I have read already that pcsx2 does shift operations to calculate it's pointers. I have already tried what you are suggesting me, but this just doesn't work!