The other day I felt like seeing what the infamous Low G Man compatibility problem was all about. I ended up making a simple patch for it so that it would function correctly on most emulators and flashcarts like the Everdrive N8 and PowerPak.
http://www.romhacking.net/hacks/2512/
Basically the problem is that it's supposed to run on an MMC3 board with either no WRAM, or disabled WRAM, but the iNES format can't specify no WRAM and many emulators don't implement WRAM disable. There are some latent bugs in its code that can manifest as a crash a few seconds into a boss fight, or graphical problems when using the boomerang weapon. These bugs would end up accidentally reading values from the WRAM region, which if properly disabled would result in "open bus" values read that by lucky co-incidence don't cause problems in the game. Very often emulators or flash carts end up supplying zeroes instead of an open bus, causing these latent bugs to activate.
Anyhow, the patch is pretty simple. Treat it as regular MMC3 with WRAM and no expectation that the WRAM disable will work. Initialize the entire WRAM to $FF and never disable it. Seems to take care of all the problems, and it appears to play just fine on both my PowerPak and Everdrive N8.
(I should probably offer thanks to tepples for pointing out and describing this game's problem several times in the past. I wouldn't have done this without that.)
http://www.romhacking.net/hacks/2512/
Basically the problem is that it's supposed to run on an MMC3 board with either no WRAM, or disabled WRAM, but the iNES format can't specify no WRAM and many emulators don't implement WRAM disable. There are some latent bugs in its code that can manifest as a crash a few seconds into a boss fight, or graphical problems when using the boomerang weapon. These bugs would end up accidentally reading values from the WRAM region, which if properly disabled would result in "open bus" values read that by lucky co-incidence don't cause problems in the game. Very often emulators or flash carts end up supplying zeroes instead of an open bus, causing these latent bugs to activate.
Anyhow, the patch is pretty simple. Treat it as regular MMC3 with WRAM and no expectation that the WRAM disable will work. Initialize the entire WRAM to $FF and never disable it. Seems to take care of all the problems, and it appears to play just fine on both my PowerPak and Everdrive N8.
(I should probably offer thanks to tepples for pointing out and describing this game's problem several times in the past. I wouldn't have done this without that.)