![]() |
|
Possible to tell if an Address is a Base Address (Static)? - Printable Version +- Dolphin, the GameCube and Wii emulator - Forums (https://forums.dolphin-emu.org) +-- Forum: Game Modifications (https://forums.dolphin-emu.org/Forum-game-modifications) +--- Forum: Cheats, Hacks, & Game Patches (https://forums.dolphin-emu.org/Forum-cheats-hacks-game-patches) +--- Thread: Possible to tell if an Address is a Base Address (Static)? (/Thread-possible-to-tell-if-an-address-is-a-base-address-static) |
Possible to tell if an Address is a Base Address (Static)? - Zerowalker - 10-27-2016 As Topic states. Is it possible to know if the address will be static, the value unchanged for the entire Game? Or is everything just trial and error for that? Thanks
RE: Possible to tell if an Address is a Base Address (Static)? - gamemasterplc - 10-27-2016 You can know if an address is static because it either can be accessed using an offset of register 13 or the rtoc or its within the BSS with the starting address mentioned at offset 0xD8 of the DOL and the size at offset 0xDC of the DOL. RE: Possible to tell if an Address is a Base Address (Static)? - Zerowalker - 10-27-2016 That was way beyond me. First, what is rtoc? I have seen that function several times, and sometimes it seems to be r1, and other times r2, which doesn't make sense? And what's special about register 13? And BSS, no clue what that is? the last part made no sense to me either, but then again i haven't looked at a DOL either so i guess it will make sense when i do;P Thanks
RE: Possible to tell if an Address is a Base Address (Static)? - gamemasterplc - 10-27-2016 The way I mentioned is the only mostly reliable way that isn't trial and error. The BSS is a static read/write data section that has to be initialized when the game launches. The rtoc is always r2 and is a pointer to a normally read only data section. Register 13 is a pointer to an initalized read/write data section. RE: Possible to tell if an Address is a Base Address (Static)? - Zerowalker - 10-27-2016 Ah, so wait, when it's a pointer, i know what that is from a programming standpoint. But is that when the address contains a address as a value? Cause i see that and it can continue a lot until i finally reach some value. so wait, r13 must always point to a place in BSS? I thought it was a global register? RE: Possible to tell if an Address is a Base Address (Static)? - gamemasterplc - 10-27-2016 Register 13 never points to the bss it points to a different read/write data section. RE: Possible to tell if an Address is a Base Address (Static)? - Zerowalker - 10-28-2016 Oh, i think i kinda get it maybe. Also, do you know how to make a Gecko Button Activated code not ignore every other code below it? for example i have this code: 204cb000 00000062 05346814 45117Ef5 0534681c C5B4C9C9 05346824 C4098000 And i assume i should add "1" to the activator, but it still doesn't prevent every code below it to be ignored until this one is true:S RE: Possible to tell if an Address is a Base Address (Static)? - gamemasterplc - 10-28-2016 You need to add a E2000001 80008000 after the last line you want to be activated by a button press unless if you do it through assembly by loading the button activator address value and doing an AND of the button you want pressed and checking if it's not zero. RE: Possible to tell if an Address is a Base Address (Static)? - Zerowalker - 10-28-2016 Ah will try it out. Btw, do you know if it's possible to redirect an address? Say something reads to address 0x48, but i want to redirect it to 0x66 instead? I know that i can replace values and all that, but i wonder if there is something that acts like a true pointer, redirection. Thanks
|