Closed joepogo closed 3 years ago
Thanks for the info. No time to look at it now, but will as soon as I get a chance to breathe again.
sounds correct for me : https://wiki.nesdev.com/w/index.php/MMC5
Yea, I was hoping this would fix the issue with Castlevania III on nestopia as it exhibits incorrect behavior but even though this fix is correct, something is still off with Nestopia's implementation of the MMC5. This can be exhibited in the first stage of castlevania III when ascending the stairs, there should only be a small amount of (I assume) IRQ glitchiness, but the jumpiness is really bad as you continue to ascend in the level.
It looks like this isn't actually creating any problems.
Nestopia MMC5 does not ignore the upper bits of registers 5102 and 5013 accurately. The attached code fixes this:
change line 1223 in MMC5.cpp to:
if ((data & 3) == Regs::WRK_WRITABLE_A)
and line 1229 to:
if ((data & 3) == Regs::WRK_WRITABLE_B)