Post Reply 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Converting CWCheat pointer address to psp's debugger
03-22-2020, 06:29 PM
Post: #1
Question Converting CWCheat pointer address to psp's debugger
I have a pointer code that perfectly works with CWCheat

_L 0x601F6048 0x0000200D
_L 0x00020001 0x00000394

Now I'm trying to look at this address using PPSSPP debugger

It should be simple, right?

I add 8800000 to 01F6048 and I get 089F6048

Then I go to this address in the debugger and I see this instruction

j  0x0723D200

However, when I try to follow this jump it leads me nowhere (probably because PSP's memory starts from 8800000). I see only a bunch of dashes

So what am I doing wrong and how to find this pointer address in PSP's memory?
Find all posts by this user
Quote this message in a reply
03-28-2020, 11:11 AM
Post: #2
RE: Converting CWCheat pointer address to psp's debugger
0x08800000 + 0x001F6048 is 0x089F6048, but you're assuming this is code.

Memory can contain code, but it can also contain images, character stats, text, music, etc.

Think of it this way: if you heard someone speaking a completely different language you'd never heard before, it wouldn't make sense. But if you assumed they were actually speaking English, you might find sounds in what they said that matched words you're familiar with. So you might say "aha, they just said 'soup', I wonder why?"

Except, they didn't say 'soup'. They're speaking another language, and you just heard part of a word that has nothing to do with English.

That's what's happened here. And things in memory often "sound" like other things. When you tell the disassembler to look at some memory, you're assuming it's code. So it's trying its best to pick words out and make sense of it. It heard something that sounds like "jump" and then some more sounds that don't really make sense (0x0723D200), but it's hoping that will make sense to you.

This is not code, just like my example of someone not speaking English. This is probably data. In fact, the cheat only makes sense if it's a pointer - the cheat would break if it was code.

You can look at memory without trying to decipher it as code in the "Memory View".

Find all posts by this user
Quote this message in a reply
Post Reply 

Forum Jump: