Pointer Creation...

Started by OnkelLes, October 29, 2008, 03:47:15 PM

Previous topic - Next topic

OnkelLes

Hy Guys...

I try to get some codes for MySims Kingdom... I found the adress poked it and started a new game. Then i started a new game and found out that the adress changed. So i set the new adress to pointer 1, loaded again and set the new adress to pointer 2... Now i started a pointer search and found some pointers. But there also are negative pointers... Now i don't know how they should look like. All i found was only if they are just positive. Can someone help me? I give u the adresse and u just give me an example for one of those.

[[806E110C]-24EC]+3EA12
[[80FB41A0]-3600]-9905AE
[[80700D1C]+3EC0]-9229FE
[[80722C24]-4510]-994CEE
[[80F27420]-1EE0]-97C9CE
[[80F27448]-1F08]-97C9CE
[[80F2B6D8]-A40]-98E46E
[[80F2BCD0]-5854]-8CBCF6
[[80FB4180]-3600]-9905AE
[[80F5BA60]-1130]-943A2E
[[80F63090]+2F38]-983E2E
[[80F70710]-3660]-979F0E
[[811DCF4C]-3E04]-8CBB76
[[811DCF9C]-3E04]-8CBB76
[[80FCDEE8]-60A8]-98D16E
[[80FEE17C]+848]-8F6696
[[811DCFEC]-3E04]-8CBB76
[[8117B11C]+6C30]-9F7E96
[[811DC18C]-3E04]-8CBB76
[[80FBD878]-7EA4]-91BBBE

Greetings

Jackal

I think you have ticked the boxes for Allow Negative Offset and Pointer in Pointer
unticking them should help you find a more reasonable pointer

TNTkryzt

#2
You'd be lucky to find any static ram pointers for that game, I ran my code directly from the main inventory write routine. The PAL code I made also works on the US version.

Black_Wolf

generally when your dealing with offsets that big, AND with negative offsets, its easier to just set a breakpoint and then inject your code in asm at that location, HOWEVER, if this is an unstable area and won't allow asm injection, you CAN inject a routine elsewhere with this kind of template (i'll use your first example)


[[806E110C]-24EC]+3EA12


lis r10, 0x806e
lwz r10, 0x110c(r10)
li r11, 0x24ec
sub r10, r10, r11
lwz r10, 0x0(r10)
lis r11, 0x0003
ori r11, r11, 0xEA12
add r10, r10, r11


This routine will put the final code's value into r10. Basically it loads the first pointer's value, subtracts the first offset, loads the value at that location. Adds the second offset with the result in r10