ASM code to write to memory with ps2rd –
08-29-2010,01:16 PM
This is just a tiny little thing I made in about 5 minutes and tested. It works perfectly. Just use it with ps2rd to write codes to memory while playing, since ps2rd doesn't have that ability yet. It's only 41 lines of code, which surprises me because I kept thinking something this simple would have been twice that size.
That can be copied and pasted to every game if you want. Only the first and second lines are different from game to game.
The first line is the address that jumps to this function. Just load the game's ELF file, invoke the analyzer, and use labelmates to find "scesifsendcmd". Whatever address its "jr ra" is is the address you should use to jump to this function. For example, it would be 20119c04 0803c000 for "Obscure: The Aftermath NTSC".
The second line is the address of the joker/pad address. For "Obscure: The Aftermath NTSC" it would be 200efff0 00552b02.
Buttons:
L2 + Up = Write 4 bytes to address
L2 + Right = Write 2 bytes to address
L2 + Down = Write 1 byte to address
L2 + Left = Reset Address & Value to 0, reset ORed value to 1
R2 + Up = Shift ORed bit left 1 bit
R2 + Right = OR the OR value to the address
R2 + Down = OR the OR value to the value
R2 + Up will intentionally pause the game for about 1 second. It's that way so you don't shift the bit left 50 times in an instant.
You start by pressing L2 + Left. Once you know the address and value you want to write to the address, you use R2 + Up to shift the bit, and R2 + Right & R2 + Down to OR that bit to create the address and value you want write to that address. If you mess up, just Press L2 + Left and restart. Use ps2cc or whatever to see the memory in case you aren't sure of what you are doing. All you would need to look at are addresses 000efff4 (your address), 000efff8 (your value), and 000efffc (the value you OR to the address and value to create them).