Hacking Infinite Energy GG Codes for Fighting Games

Pugsy
Any cheat is possible, the only question really is how many GG codes will it take to make a cheat. Fighter games are notorious for using the same routines for both players and the only difference is that one of the address registers will contain a different address for PL1 or PL2/CPU.

If you can find a long enough sequence of NOPs in the code that are executed enough during play it's a simple matter to turn a RAM cheat into a ROM cheat.

For example in 'Dragon Ball Z - Buyuu Retsuden (J) [!] ' you will find that this sequence is run several times during play:-

1AF42C: move.w #$0, $a11100.l
1AF434: nop
1AF436: nop
1AF438: nop
1AF43A: nop
1AF43C: nop
1AF43E: bra $1af410

So you can safely change the NOPs to poke the memory directly,

move.b #$FA, $E783.w

Points to note: When doing this there's a danger of the some of the NOPs being jumped to directly, so this really should be checked for. However, in this example I've just made sure I only changed the bare minimum of NOPs and only changed the last NOPs in the chain.

:g_dbzj:00000000:FFE783:000000EF:FFFFFFFF:Infinite Energy PL1:RAM
:g_dbzj:20900000:1AF438:000011FC:FFFFFFFF:Infinite Energy PL1:ROM, note e783.w is the same as FFE783 it's todo with how the megadrive works.
:g_dbzj:20910000:1AF43A:000000FA:FFFFFFFF:Infinite Energy PL1 (2/3)
:g_dbzj:20910000:1AF43C:0000E783:FFFFFFFF:Infinite Energy PL1 (3/3)

So Infinite Energy PL1 GG codes for Dragon Ball Z - Buyuu Retsuden (J) [!] are:

9X4B-ZCB2
9M4B-YAB4
TS4B-YS36

I haven't tested this cheat so it may fall over after the first round. Personally I'd normally find an ROM Invincibility cheat instead of an ROM Infinite Energy cheat in games such as these.