About a year ago, I inquired as to whether or not any MMC5 games utilized 4-screen mirroring? http://www.romhacking.net/forum/index.php/topic,11050.0.html
Of course, the answer was no: only two NES titles utilized this mirroring method, and neither of them were among the eight MMC5 games released in the States. It was also established that 4-screen mirroring probably wouldn't be the best bet for my "Alpha" project, which utilizes bidirectional scrolling in only one dimension at a time (if at all).
However, the estimable Mr. Disch did allude to the technical possibility
of adding 4-screen mirroring to an MMC5 cart, effectively creating a special version of that mapper. Without going into interminable details, I now have legitimate use(s) for such a creation. However, my pre-production research has unearthed a number of queries which I now submit:
1) Is there anything about the internal MMC5 layout that would prevent or prohibit the addition of extra RAM for 4-screen mirroring?
I figured I'd study the internals of Gauntlet
or Rad Racer 2
to see how the extra RAM linked up to everything, then apply those changes to an MMC5 donor cart. By the looks of this image (Gauntlet
's board), there is no direct interfacing between the MMC3 chip and the extra RAM itself:
2) What happens to the native 2k on the NES itself? I'm led to believe that the cart-based RAM (8kB for both Gauntlet
, but A12 is tied to ground making it effectively 4 kB) overrides the native console RAM when it comes to Name/Attribute Tables. So the native stuff just sits there looking pretty...
3) How much interference should I expect from the MMC5's pre-existing ExRAM? Obviously, $5104 Modes 0 and 1 are out the window, but since modes 2 and 3 utilize the CPU space at $5C00-5FFF, I'm hoping that they can stick around.
4) Name Table Mapping at $5105: Assuming Mode 2 or 3 is set at $5104, would setting $5105 as #$A4 allow the extra screen data to register in NT's 2 and 3? Or would the MMC5 just keep everything from $2800-2FFF zeroed-out?
And, assuming all of the above is resolved and the project is completed successfully:
5) Do I submit the documentation to Kevin Horton or Marat Fayzullin?
6) Can I pick my own iNES mapper number? (Which ones are left, anyway?)