NES 2.0 submappers

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: NES 2.0 submappers

Post by zzo38 »

nocash wrote:I've never thought about that special case: Trainer PLUS battery. Yes, that should defined. Your suggestion looks fine... from the how-it-should-work point of view. The way how-it-did-actually-work might have been different, and then we should keep that behaviour.
It assumes that there is a "how-it-did-actually-work"; it is possible that different emulators differ, or will ignore the trainer in such case, or something like that. Using trainer and battery together in the way I suggested may be useful if you are making a game and want to specify the initial contents of battery RAM (when copying to a cartridge, you load the first 512 bytes of battery RAM with trainer; same thing with emulators), and it also allows the game to detect if the battery is dead.
(Free Hero Mesh - FOSS puzzle game engine)
User avatar
Dwedit
Posts: 4924
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: NES 2.0 submappers

Post by Dwedit »

Is there a submapper proposed to distinguish FME-7 from Sunsoft-5B? FME-7 doesn't have the music chip.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: NES 2.0 submappers

Post by rainwarrior »

Same deal with N163 vs N106, though not sure how necessary a submapper is, since in these cases (so far as I have seen) games that don't use the audio features don't do anything that would make them incombatible with the mapper that has audio features, and vice versa (excepting the lack of expansion sound).

Probably worth having:
0 - iNES
1 - FME-7 / Sunsoft 5A
2 - Sunsoft 5B

If nothing else, it will help tools/emulators actually distinguish which games do need the audio features.
User avatar
MottZilla
Posts: 2837
Joined: Wed Dec 06, 2006 8:18 pm

Re: NES 2.0 submappers

Post by MottZilla »

If there is no conflict, why waste the effort to fix a non existent problem?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: NES 2.0 submappers

Post by lidnariq »

At least in the case of Namco 163/175/340 (ines 19/210), I'm not certain what's really going on. I got a friend to translate the linked writeup Naruko had made. I'm a little skeptical of Nestopia's decision to collapse mapper 210 into mapper 19, but without getting a native speaker to play through all of the Namco 175/340 games I'm not certain whether that's reasonable or not.

I'm also concerned whether the 175 and 340 don't secretly pose some kind of compatibility issue, but that's certainly solveable using submappers. It would be nice to see a commercial example that made it clear they were necessary, though. (I could clearly write test code that would detect which variant it was being emulated as)
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES 2.0 submappers

Post by tepples »

Bregalad wrote:
why not also have an option to force BNROM?
I agree.
I'd definitely see a higher probability of someone ever wanting to do BNROM + 8kb CHR-ROM than someone wanting to clone NINA's weird and strange mapper with CHR-RAM.
I think I know how to solve that one: default to BNROM behavior for 8192 byte CHR ROM.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES 2.0 submappers

Post by tepples »

I reviewed the list of NES 2.0 submappers today, promoting drafts that hadn't changed in a while to recommendations on the principle of silent consensus. A few questions remain before I can take some proposals further:
  • On MC-ACC (Acclaim MMC3 clone), does loading 0 into the latch produce an IRQ every scanline, or does it produce no IRQs?
  • TEROM and TFROM boards can be configured for fixed H/V mirroring instead of MMC3 mirroring, presumably added in case the supply of DEROM and DE1ROM ran out. Do any games actually use the fixed H/V mirroring?
  • What makes Mindseeker, to which kevtris allocated its own submapper, different from any other Namco 163 game?
  • Are the bugs in the wavetable synthesizer of the Namco 129 mapper characterized? The difference between it and Namco 163 is that Namco 163's synth is corrected. Or is it safe to emulate all N129 games as if they have no expansion sound?
  • Anything we missed?
User avatar
rainwarrior
Posts: 8734
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: NES 2.0 submappers

Post by rainwarrior »

MottZilla wrote:If there is no conflict, why waste the effort to fix a non existent problem?
If the unneeded audio emulation can be turned off, this can save CPU.

Information about whether or not the audio chip is present can be useful for automated ROM tools, statistics gathering, etc.

It could potentially make a difference to a homebrew that wants to rely on the audio chip not being there, but I kinda doubt this would ever be of real use.

It's hair splitting, yes, but the "extra effort" is also pretty small. I mean, it's just a few more lines in a spec doc. The emulator implementation doesn't need to do anything with the extra information unless its author wants to.
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: NES 2.0 submappers

Post by Zepper »

Trainer data + backed battery save data would be PRG RAM in hardware terms. Well, you know: "battery" means "data at $6000-$7FFF" is saved & loaded there, and "trainer" is usually loaded/started at $7000. In software terms, once you load the battery data, the trainer should overwrites it. In my emu, I don't check for battery if there's trainer data.
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: NES 2.0 submappers

Post by zzo38 »

tepples wrote:TEROM and TFROM boards can be configured for fixed H/V mirroring instead of MMC3 mirroring, presumably added in case the supply of DEROM and DE1ROM ran out. Do any games actually use the fixed H/V mirroring?
I don't know, but maybe it can be used in case someone makes up a new game which uses the fixed mirroring (or if someone finds a previously unknown game that uses it).
tepples wrote:What makes Mindseeker, to which kevtris allocated its own submapper, different from any other Namco 163 game?
This really ought to be specified.
tepples wrote:Anything we missed?
  • MMC1: I agree using the PRG RAM sizes to distinguish SUROM/SOROM/SXROM, if it is more than 8K, or if the PRG ROM size is more than 256K. This looks like the only use of such mappers, so a submapper number for such thing is useless.
  • MMC5: I have made the proposal to distinguish SL/CL and contiguous/non-contiguous PRG RAM. As far as I know, no known commercial games care (if the emulator provides 64K PRG RAM then it will work from what I have read), although these features are present on the MMC5 and may be useful for homebrew.
  • Some mappers may use trainer ROM for other purpose. No mappers are known to do this, though.
(Free Hero Mesh - FOSS puzzle game engine)
natt
Posts: 76
Joined: Fri Oct 26, 2012 5:27 pm

Re: NES 2.0 submappers

Post by natt »

Mapper 78.2
-----------
a) Vertical mirroring
b) Ability to have 8K of battery backed WRAM at 6000-7FFF
Does anyone know what game this is?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: NES 2.0 submappers

Post by lidnariq »

As far as I (and the fceux team, and the original author of nestopia) know, nothing like 78.2 exists. I have no idea why kevtris allocated it. (nesdevwiki)

In fact, there are a lot of things in that list I don't understand, although most of them are explained if his list predated the RAM size fields.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES 2.0 submappers

Post by tepples »

I assume it'd be used for a variant of the Uchuusen board with fixed V or H mirroring, and that's what I listed it as in the community-maintained submapper page. But I guess new development on that mapper should use the Holy Diver configuration instead of the fixed mirroring configuration that no commercial games used.
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: NES 2.0 submappers

Post by zzo38 »

tepples wrote:I assume it'd be used for a variant of the Uchuusen board with fixed V or H mirroring, and that's what I listed it as in the community-maintained submapper page. But I guess new development on that mapper should use the Holy Diver configuration instead of the fixed mirroring configuration that no commercial games used.
I also don't think mapper 78.2 is useful, and it should be deallocated (or "deprecated", like it currently is), but see below anyways if anyone wants to use it; it is possible that someone wants to use it for some reason.

Nevertheless, I have defined G'.4 which happens to be the same as the currently defined 78.2 (mapper G'.12 would be an oversize 70, and G.4 is oversize 11). Maybe someone somehow finds this useful, but I don't know. It seems to me that it would be a usable generalization of several GNROM-like mappers, but I don't know if anyone uses it.
(Free Hero Mesh - FOSS puzzle game engine)
etabeta
Posts: 109
Joined: Wed Nov 29, 2006 10:11 am
Location: Trieste, Italy

Re: NES 2.0 submappers

Post by etabeta »

tepples wrote:I reviewed the list of NES 2.0 submappers today, promoting drafts that hadn't changed in a while to recommendations on the principle of silent consensus.

great news!
I will update soonish MESS handling of iNES2.0 to match this!
Post Reply