Talk:MMC1
From NESdev Wiki
Jump to navigationJump to search
SOROM, SUROM, and SXROM
I'm a little fuzzy about why these are considered different NES 2.0 submappers. The functionality of all three of these looks the same to me if the extra banking bits become useless/mirror when the ROM/RAM addressed is a smaller size (just like in any other mapper supporting various sizes).
43210 +---+ PSSxC
4:P - A18 of 512k PRG ROM, disconnected if smaller 3:S - A13 of 16k PRG RAM, disconnected if smaller 2:S - A14 of 32k PRG RAM, disconnected if smaller 1:x - unused 0:C - 4k CHR banking control
What am I missing? I can't spot the incompatibility that necessitated three submappers. Isn't this just one mapper together? - Rainwarrior (talk) 00:58, 8 August 2015 (MDT)
Just my $2, but I fully agree with Rainwarrior.Bregalad (talk) 02:28, 9 August 2015 (MDT)
- Yeah, tepples confirmed it in a discussion elsewhere (and lidnariq seemed to confirm it in an oblique way?). I've already put this information to use in the description at NES 2.0 submappers#001: MMC1 anyway. - Rainwarrior (talk) 11:58, 9 August 2015 (MDT)
- The only issue I see is that people seem to like thinking of the two PRG-RAM banking bits in order, which would pose a problem if exchanging SXROM save RAM images is desired. On the other hand, this is a much more elegant way to handle it, so it sgtm. —Lidnariq (talk) 00:09, 10 August 2015 (MDT)
- Actually, thinking about this for a moment, this is a far better explanation of why I think we don't need a submapper for SUROM/SXROM/SOROM, by parsing the bits as follows:
43210 +---+ EDCBA 4:E - CHR A16, if extant; PRG ROM A18, if extant 3:D - CHR A15, if extant; PRG RAM A13, if extant 2:C - CHR A14, if extant; PRG RAM A14, if extant 1:B - CHR A13, if extant 0:A - CHR A12