I don't remember anything like that when I played it.tokumaru wrote:Isn't Megaman 3 (E) the one with lots of bad screen splitting? Like, with parts that jump like crazy?
I think the common Mega Man 3 (E) rom floating arround comes from the (PRG1) / REV-A version of the game, but the cart I have is a (PRG0) game with the bug.
Also, if you play Mega Man 6 (U) on a PAL NES, there will be several bugs, such as the sun in Tomahawk Man's stage not staying in place as it's supposed to.
It's not hard, just time consuming. Detailed instructions in case anyone else feels like trying:
Compare patched jp rom to unpatched jp rom. Find what was changed. I used a program for this. Alternatively, just learn the IPS file format which will tell you exactly what was changed and where.
Say this string of bytes at $0100
Code: Select all
$40 $50 $30 $51 $80 $87;(not real code obviously)
Code: Select all
$30 $80 $80 $51 $80 $87;(Not real code)
Do this for all changes made by the patch.
Then run the patched jp rom in Nintendulator's debugger. Step, and reset. The first address is the reset vector. Search for the byte stream starting there.
Then try to find that byte stream it in the PAL rom. Replace the reset vector's address to the address of that byte stream.
If all goes well, it'll just work. If not, run the patched JP rom in PAL mode. Run the PAL rom in PAL mode. Log both from reset for around two frames.
Compare the debug output. The code run should be more or less identical. If the patched PAL rom, ends up someplace with a lot of breaks, look at the patched jp rom's output. Look for what should have happened. Search for the byte stream where it should have ended up. Fix the address in the PAL rom, or fix what it was supposed to do right before.
I don't remember ever having to do that for the MM2 rom, but in case you need it, it's there.
Here's Megaman (E) to MMC3: http://www.mediafire.com/?3jr4g1rxrbvecav
Test this one VERY thoroughly. There were some bytes changed from the original Rockman rom in the patch where I could not find the corresponding bytes in the (E) rom. So I didn't make those changes at all. It seems to work fine, but I have done very little testing.
Should you encounter a bug/crash, what would be really helpful is a Nintendulator movie file that does all the necessary actions to cause the crash. Then I can probably find those bytes in the (E) rom, and hopefully it will work then or I'll be stumped.