0x1CE128 is correct for all game versions; the section that is in is actually loaded to the same place in all game versions. But sometimes the code in those places (whether in the DOL or in memory) is different between game versions. So that's what the Code Offset Conversion tool can be used to help with. It searches for identical patterns of instructions between game versions. Searching for identical strings of code doesn't work because the values for the instructions may be different, (like in the case of slightly different branches (the hex values to replace) in the Pokemon Stadium code), which is why manual searching can be really difficult. If you enter one of those dol offsets into the Code Offset Converter, you'll see the offsets Zauron used for the other game versions.I should have phrased the question differently. Given only a gecko code for one version of Melee, can I use MCM to port the code to the other versions of Melee?
Starting with
$Disable Pokemon Stadium Transformations (1.02) [Zauron]
041D1548 60000000
How do I use MCM to get to the 1.00 version?
If I try to run a RAM address conversion on 0x801d1548, all four of the DOL offsets are shown as 0x1CE128
Ahh, that address falls into a section called the 'bss'. I don't know what that stands for, but I don't think it exists in the DOL. I read somewhere that it's the game's "scratchpad" while it's running. So this means that the gecko code couldn't be converted to a DOL mod using a static overwrite (i.e. simply replacing some hex in the DOL before booting the game). But the code could still be re-written in the form of an injection mod, that modifies that address you want once the game boots up. You might want to post that code in the codes subforum, and ask if someone could do that sort of re-write. Someone there could probably whip it up a lot faster than me.Starting with
$TAS Input Polling Fix (1.02) [Dan Salvato]
04432a5c 000a8000
How do I use MCM to get to the 1.00 version?
If I try to run a RAM address conversion on 0x80432a5c, all of the DOL offsets are "not found"
Although, you might not need to do anything with it; MCM already supports many Gecko codes. Have you tried using that gecko code in MCM? It won't convert it to something else; it'll add a Gecko codehandler to the DOL, as well as your Gecko codelist, if it detects that any Gecko codes were selected. You'll need to change the format of it slightly though, to this:
TAS Input Polling Fix
[Dan Salvato]
1.02
04432a5c 000a8000
Edit: Forgot you needed this for v1.00! So, in v1.02, the bss section starts at 0x804316C0 in memory. The address this code affects is 0x80432a5c, and that's 0x80432a5c - 0x804316C0 = 0x139C bytes away from the start of the section. In v1.00, the bss goes to memory at 0x8042F700, and so the same address in there would be 0x8042F700 + 0x139C = 0x80430A9C. But again, I don't know if the actual code there will be equivalent, but if so, this might work:
TAS Input Polling Fix
[Dan Salvato]
1.02
04432a5c 000a8000
1.00
04430A9C 000a8000
Last edited: