SO I went ahead and made some structures... and the ones that I needed for just mem addresses, I learned how to do the addition in Hexadecimal... so here's what I'm doing:
- Code: Select all
//my static address.... I used the pointer search for static addresses only... //and this is one for the psx emulator exe itself.
extern LONG address = { "", 0x400144 }; (Address is 10f000e0)
//variables
extern BYTE buttonpress = { "", address+0xbe74b3 }; (Address is 1ac7593)
extern SHORT rooms = { "", buttonpress+0x351ed }; (Address is 1afc780)
extern BYTE character = { "", buttonpress+0x3542d }; (Address is 1afc9c0)
extern BYTE canmove = { "", buttonpress+0x6b989 };
extern SHORT whippowerup = { "", buttonpress+0x6b98d };
You'll notice how the top variable references to address, and the rest to buttonpress. The reason is for now I am HAVING trouble finding an address that the variables can all reference to on multiple computers where they all come out correct. (so for now I did this, so that I don't have to CHANGE ALL OF THEM DUE TO MY MISTAKE.... just 2 instead).
That is why I am WRITING again, I need help with this. I'm trying to get around the DMA. How do I figure out which address to use, so that basically on every computer I go to, it looks for the value in that address (which in turn points to another address), then I can add to it to figure out where all my variables start.
P.S. The one I chose above for address is the same on every computer. And the one I picked the day before today, was different on each computer and didn't add up right either.[/code]