Toggling cheats during game suspension
#1
I've been having trouble disabling cheats (.PNACH files) during emulation suspension. I can start the game with cheats disabled, suspend it, enable cheats, and resume it with the cheats active, however the opposite does not work, and I think I'm likely to devastate something critical if I try save state hacking.

Is it possible as of 0.9.8 to unload cheats from memory during game suspension? Or am I stuck sifting through ugly hex blocks?
Reply

Sponsored links

#2
It should disable but may require a couple extra suspend/resume, depends on what the cheat does tho.
Core i5 3570k -- Geforce GTX 670  --  Windows 7 x64
Reply
#3
It's in one of the TimeSplitters challenge modes. 1C - Dusk of the Dead. Apparently zombie waves are endless and you're supposed to die. Invincibility just seems to persist after cheats are off, save state or otherwise, even if I save the state and restart PCSX2.exe.
Reply
#4
You can always use a memcard save instead of save states, that should keep it clear for sure.
Core i5 3570k -- Geforce GTX 670  --  Windows 7 x64
Reply
#5
I know that. I'm just trying to accomplish cheat toggling without restarting the game.
Reply
#6
Schala, what Shadow Lady said is true but may not be enough, to understand the issue understanding the sstate is needed.

Once applied a cheat code becomes indelibly part of the memory and deactivating the cheat does not return the previous values. Of course this is valid only to addresses the game doesn't constantly refresh.

But now the important bit of information. The sstate takes a snapshot of the memory and everything that was there, so it will return every cheat code active when it was done, independently if yet active or not. That effect is speciously dangerous when some wrong cheat codes were entered and sstated. More dangerous yet because they may be lurking in the background only waiting the opportunity to trigger and ruin the whole game later on.

Once this is understood, comes the simple activating/deactivating of a code or the whole pnach. Some events forces it's reload, opening a plugin configuration window for instance, as noted on the console with clear message. But the actual result still depend on the type of the code, as stated before, once in memory might be not enough to just deactivate the code... a complete flush of the memory might be need, what implies saving in memory card, quitting the emulator and reloading the game from that memcard save... again sstate WILL fail there.

PS: Notice there is no ease way to implement a mechanism to emulate that deactivation. When reloading from a memcard, only the absolutely needed information recorded in the save is used, everything else is reconstructed from the disc image, effectively "cleaning" the memory of eventual corruptions. But this is game dependent.

Still, it's feasible and indeed useful to pnach having a way to dynamically activate deactivate codes... but only indeed useful for cheat codes which modifies auto refreshing addresses contents.
Extremely useful indeed for some cases, like putting items on certain slots subject to sorting by the game, what can be very destructive if the code is kept on (actually that would be the reason for that "patch=1" in pnach... "Patch=0" was meant to apply the code once and only once per game session... still it's implementation is not working as thought and difficult to implement. To actually work it should be changed to activate on explicit user command, while in game... Pnach dev? hint, hint).
Imagination is where we are truly real
Reply




Users browsing this thread: 1 Guest(s)