MMC3 support
One of the bonus assignments is to implement an MMC3 mapper, but the current PPU lacks the features needed to make that possible.
The following features are required to get MMC3 running at all, and relatively easy to add:
- Allow the CPU to change the PPU mirroring mode
- Allow the CPU to get the current scanline
The following features are required to get MMC3 games like SMB3, megaman 3, and Kirby's Adventure to run without severe graphical glitches, and will require a major overhaul of how the PPU is emulated: