My Ghostbusters romhack uses mapper 66. It always worked fine on all emulators and also on my krikzz everdrive n8. At some point there was a modification to the rom that broke compatibility with the everdrive and virtuanes: the game won't boot up (gray screen). Only now I've noticed it.
The rom was expanded from 2 PRG banks to 4. So, rom addresses 0x0000-0x7FFF in the original to 0x0000-0xFFFF in the new one for PRG. This was working on all emulators and the everdrive. But a modification on the end of the final bank seems to be causing trouble with the everdrive and with virtuanes, even though fceux tells me that code isn't run at startup at all. So, either the everdrive and virtuanes isn't implementing the mapper correctly, or all other emulators aren't. Any idea?
Works:
Won't work (though fceux insists this isn't even run/read at boot up):
Just wanted to share. I'll try modifying the code so it stays in the same address. I'm guessing it must be more likely that the mapper 66 implementation on everdrive isn't perfect and it's starting on the wrong bank or something, and out of chance it was working before.
The rom was expanded from 2 PRG banks to 4. So, rom addresses 0x0000-0x7FFF in the original to 0x0000-0xFFFF in the new one for PRG. This was working on all emulators and the everdrive. But a modification on the end of the final bank seems to be causing trouble with the everdrive and with virtuanes, even though fceux tells me that code isn't run at startup at all. So, either the everdrive and virtuanes isn't implementing the mapper correctly, or all other emulators aren't. Any idea?
Works:
Code:
03:FFF2:A9 0F LDA #$0F
03:FFF4:8D F3 FF STA $FFF3 = #$0F
03:FFF7:00 BRK
03:FFF8:00 BRK
03:FFF9:00 BRK
03:FFFA:F2 UNDEFINED
03:FFFB:FF UNDEFINED
03:FFFC:F2 UNDEFINED
03:FFFD:FF UNDEFINED
03:FFFE:F2 UNDEFINED
03:FFFF:FF UNDEFINED
03:FFF4:8D F3 FF STA $FFF3 = #$0F
03:FFF7:00 BRK
03:FFF8:00 BRK
03:FFF9:00 BRK
03:FFFA:F2 UNDEFINED
03:FFFB:FF UNDEFINED
03:FFFC:F2 UNDEFINED
03:FFFD:FF UNDEFINED
03:FFFE:F2 UNDEFINED
03:FFFF:FF UNDEFINED
Won't work (though fceux insists this isn't even run/read at boot up):
Code:
03:FFF3:A9 0F LDA #$0F // notice that the address is different now by 1 byte
03:FFF5:8D F3 FF STA $FFF3 = #$A9
03:FFF8:00 BRK
03:FFF9:00 BRK
03:FFFA:F2 UNDEFINED
03:FFFB:FF UNDEFINED
03:FFFC:F2 UNDEFINED
03:FFFD:FF UNDEFINED
03:FFFE:F2 UNDEFINED
03:FFFF:FF UNDEFINED
03:FFF5:8D F3 FF STA $FFF3 = #$A9
03:FFF8:00 BRK
03:FFF9:00 BRK
03:FFFA:F2 UNDEFINED
03:FFFB:FF UNDEFINED
03:FFFC:F2 UNDEFINED
03:FFFD:FF UNDEFINED
03:FFFE:F2 UNDEFINED
03:FFFF:FF UNDEFINED
Just wanted to share. I'll try modifying the code so it stays in the same address. I'm guessing it must be more likely that the mapper 66 implementation on everdrive isn't perfect and it's starting on the wrong bank or something, and out of chance it was working before.