|Xbox RAM modification|
Sonic Heroes Hacking with the Xbox Remote Debugger
Tired of playing the same levels over and over? Can't stand the Dark's annoyingly difficult second missions? Still can't find the 20th Hermit Crab? Don't worry; so long as you have a modded Xbox, you can easily hack your way to all A ranks.
What you'll need:
First of all, in EvoX, scroll down to System Utils, and go to Settings. (This may be different per your EvoX setup, I think you'd be smart enough to figure out how to get there =) Scroll down to Telnet and make sure it is enabled, and make sure RDTools is enabled as well. Scroll down further and make sure TSR is set for Debug. If Heroes locks up or otherwise doesn't load, try setting TSR back to normal. (If other games lock up or don't load, simply disable TSR before you play them) Scroll down to Save and Exit, then reboot your Xbox and load up Heroes.
Make sure you know your Xbox's IP address! You can view it by switching to the included InfoDash skin. Once Heroes has loaded, run telnet from your PC and open a connection to your Xbox. You should see:
RemoteX Debugger V1.1
If you see that, you're ready to start hacking. If not, try switching out your TSR and double check that RDTools has been enabled (and that your xbox has a network connection!)
Level record hacking:
There are three basic commands you'll need to know to hack the game:
You can see how your game has changed in the Challenge menu. If you change your ring count, for one team, hit left or right to switch to another, then switch back. Your new ring count will be shown. Of course this is all in the RAM; you'll need to force the game to dump the file to apply the changes to your savegame. The best way to do this is to go to the Options menu, change your gamma settings a little (so the game has a reason to save), then hit B until you exit completely out to the title screen. Your saved game shoud have your hacked values.
The game data is stored in a large block arranged with the main levels first then the boss battles. Here is the address table for Seaside Hill, the first level:
NOTES ABOUT ADDRESS/VALUES: I've listed the length of the values next to their type on the top of the table. A dword is 4 bytes. Also, the values are stored in little endian format, which means that they will appear 'backwards.' Example: if you have decimal 312 (0x0138 hex) rings, then it will appears as 38 01 00 00 in memory.
Each level follows one right after the other with no break, and each is laid out just like this. So it's quite simple to change any value in any level using just this table. The size for each level block is 0x50 bytes. You simply add 0x50 for each level after Seaside hill to the address of the value you want to change. An easier way to think of it is to give each level after Seaside Hill a number:
1 (50) - Ocean Palace
You would multiply 0x50 with the level number shown here and add that to the address in the table above to get the new address. For example, if you want to change Chaotix's mission 2 rank in Mystic Mansion, you first take 0x50 multiplied by 0x0b which yields 0x370 (in case it wasn't obvious, the numbers in parenthesis above are the values multiplied by 0x50). Mission 2 rank for Chaotix in Seaside Hill is 0x60dd63. Add 0x370 this address and you get 0x60e0d3. That is the address to change. So, to give yourself an A rank, in the remote debugger, you'd type:
.poke 60e0d3 5
You can then do:
.db 60e0d3 10
to verify the change. Change as much as you like, but do the forced save trick every now and then just in case.
The boss battles work in a smiliar way:
Since the length of the boss battle blocks are 0x10 bytes, multiply 0x10 by the battle number below to get the address to change.
1 (10) - Team Battle #1 (@ Power Plant)
Metal Madness is slightly different since the time/rank applies to all the teams:
If done properly, you can easily give yourself all A ranks. Then just force a save and reload; Super Hard should be unlocked.
Back To Game Index
Back To Sonic Heroes Index