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 and
RR2, 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?)