Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Questions about using Debug Disassembly
10-29-2014, 08:28 PM (This post was last modified: 10-29-2014 08:35 PM by LunaMoo.)
Post: #4
RE: Questions about using Debug Disassembly
Maybe a refresh rate of few seconds could avoid problems, but with such speed you could as well type it manually.:X If the game resets something, it's more than likely not what you wanted to change, althrough might be usefull to check what code sets it using disassembly, since it can also lead to proper value.


There is no static range, as I mentioned you have to make yourself a pointer(ppsspp version dependant but will work for all games) or use aob scan(game dependant but will work on all ppsspp versions) to find where psp game is loaded in memory. Then you can set your scan range based on that and also use it to calculate real psp or cw cheat address(0 in cw cheat is basically 8800000 in psp). Dynamic memory allocation is standard for pc apps/games from quite a long time and both pointers and aob scan are CE basic functionality which you can find lots of tutorials for in case that's something you never used.

I generally preffer aob scan script since I update more often than I change games;p. I just search for a pattern from 0x8804000 in ppsspp disassembly ~ which is where game is loaded to psp memory. Then set that as start for scan(I also subtract 0x4000 from it to keep it easy for cw cheats), and +24mb for end.
As for pointer method, when you load any game first time after running ppsspp, in the log console one of the first entries you will find an address at which psp memory got loaded(the first one, don't bother with mirrors) and you can make a pointer for that. Just add 8mb to that address and you'll have psp game memory start then again +24mb to that to get memory end.(that's because psp memory is 8mb for kernel after which 24mb for game, even when psp 2000+ had more, commercial games doesn't really use it)

You can as well just use that information from ppsspp console, but if you don't write any aob scan script nor make yourself a pointer you will have to do it every single time you run ppsspp and you will have no way to save anything usefull to cheat table either.

Edit: Here's an example how it shows in console log:
Code:
30:21:998 EmuThread.cpp:169 I[BOOT]: Done.
30:35:848 System.cpp:324 I[BOOT]: PPSSPP v0.9.9.1-700-gbc5bec2 Windows 64 bit
30:35:850 MemMap.cpp:339 I[MM]: Memory system initialized. RAM at 000000000BCF0000 (mirror at 0 @ 0000000088770000, uncached @ 00000000C8770000)
so in this example, 0xBCF0000 + 0x800000(8mb) = 0xC4F0000 which would be where game was loaded to and what I could set as scan start in CE, for scan end it would be 0xC4F0000 + 0x1800000(24mb) = 0xDCF0000

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Questions about using Debug Disassembly - LunaMoo - 10-29-2014 08:28 PM

Forum Jump: