Talk:MMC1

From Nesdev wiki
Jump to: navigation, search

SOROM, SUROM, and SXROM[edit]

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

Lidnariq (talk) 12:39, 11 August 2015 (MDT)