iNES 2.0 Games

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

User avatar
nicklausw
Posts: 376
Joined: Sat Jan 03, 2015 5:58 pm
Location: ...
Contact:

iNES 2.0 Games

Post by nicklausw »

Are there any homebrew games (or even basic examples) out there that require use of the iNES 2.0 header? I've looked and have come up blank.

It's kinda hard to try to implement 2.0 directives into an assembler when I can't find anything to test it with. (I'm willing to convert custom header insertion routines into what I'm trying to make).
User avatar
NovaSquirrel
Posts: 483
Joined: Fri Feb 27, 2009 2:35 pm
Location: Fort Wayne, Indiana
Contact:

Re: iNES 2.0 Games

Post by NovaSquirrel »

The MMC3 big CHR RAM test and the FME-7 big PRG RAM test both need NES 2.0 to be able to specify more than 8KB of CHR RAM and PRG RAM, and both have source code included. You would have to port it from ca65 to asm6 though, if you're looking for something you can build under a modified asm6.

I think most of the other homebrew programs that require it (Haunted '86, Pulsar, PR8) are closed source.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: iNES 2.0 Games

Post by rainwarrior »

nicklausw wrote:I can't find anything to test it with.
You could check your headers with Quietust's header editor:
https://www.qmtpro.com/~nes/tools/nes2edit.zip

I think some of Neil Baldwin's music tools might require it for either RAM size or battery backing specification? (Edit: PULSAR specifically has an iNES 2 header.)

The Mystic Searches beta might require 32k CHR-RAM as well. (Edit: this ROM does not have an iNES 2 header, maybe 32k CHR-RAM is presumed by the iNES 1 mapper definition, or maybe I'm wrong about it.)

Other than that, there's a number of iNES 2 submapper test ROMs here:
http://wiki.nesdev.com/w/index.php/NES_2.0_submappers
Last edited by rainwarrior on Sat Apr 15, 2017 12:21 pm, edited 1 time in total.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: iNES 2.0 Games

Post by tepples »

nicklausw wrote:Are there any homebrew games (or even basic examples) out there that require use of the iNES 2.0 header?
In addition to what Nova mentioned:
  • Most simulation games by Koei use the SOROM and ETROM boards, which have two 8 KiB WRAMs: one not battery-backed and one battery-backed. A few use EWROM, which has one 32 KiB WRAM.
  • Final Fantasy I & II by Squaresoft uses the SXROM board, which has four 8 KiB banks of WRAM.
  • The forthcoming Action 53 volume 3 needs at least 16 KiB of CHR RAM. Otherwise graphics in Sinking Feeling will be corrupt. There's also a test ROM for this.
Current emulators may be recognizing the Koei and Square games by a PRG ROM hash value and overriding the header.
Great Hierophant
Posts: 780
Joined: Tue Nov 23, 2004 9:35 pm

Re: iNES 2.0 Games

Post by Great Hierophant »

Startropics 1 & 2 should apply them to tell an emulator to use MMC6 compatible register writes.

With regard to NES 2.0 mappers, there seems to be something of a difference between the assignments made by Kevin Horton and assignments given in the NESDev wiki. I made a spreadsheet giving the assignments I as could determine them for games that could require submappers. Sheet 1 list the games that should be assigned submappers according to kevtris, Sheet 2 list the games that should be assigned submappers according to the wiki.
Attachments
submappers.ods
(16.47 KiB) Downloaded 261 times
User avatar
nicklausw
Posts: 376
Joined: Sat Jan 03, 2015 5:58 pm
Location: ...
Contact:

Re: iNES 2.0 Games

Post by nicklausw »

NovaSquirrel wrote:The MMC3 big CHR RAM test
I was able to replicate that header with:

Code: Select all

.inesprg 4
.inesmap 4
.nes2chrram 9
So unless that's incorrect, looks like this is going somewhere.
Great Hierophant wrote:With regard to NES 2.0 mappers, there seems to be something of a difference between the assignments made by Kevin Horton and assignments given in the NESDev wiki. I made a spreadsheet giving the assignments I as could determine them for games that could require submappers. Sheet 1 list the games that should be assigned submappers according to kevtris, Sheet 2 list the games that should be assigned submappers according to the wiki.
Thanks for this!
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: iNES 2.0 Games

Post by lidnariq »

Great Hierophant wrote:submappers.ods
Little typo in the first sheet: the two mapper 34 games are incorrectly listed as mapper 32.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: iNES 2.0 Games

Post by rainwarrior »

Great Hierophant wrote:Sheet 1 list the games that should be assigned submappers according to kevtris, Sheet 2 list the games that should be assigned submappers according to the wiki.
Kevtris had proprosed a few submappers which ultimately seemed to be unnecessary, the most prominent example being MMC1 where many of the "submappers" were already a requirement as a result of various CHR size settings.

I don't believe anything on the wiki disagrees with Kevtris' original proposal, just some are omitted for lack of information or necessity. The redundant MMC1 submappers are deprecated but explicitly kept in the definition to avoid conflict with Kevtris' proposal. Though I don't know why Kevtris' set should be definitive-- he never published an emulator or ROM set that uses them. They're just some (rather rough) list he came up with years ago.

Ideas that seemed to have not enough information to explain or demonstrate, or are not yet fully formed, or in particular have no test ROMs to validate against were moved to as separate page:
http://wiki.nesdev.com/w/index.php/NES_ ... /Proposals

I made this separation in the Wiki so that emulator authors could specifically focus on the set of things that is well described and implementable. i.e. "here's exactly what these submappers mean, which games you'd need to implement them for, and here's some ROMs to validate against".

If you've got information on submappers that are "missing" from the Wiki, please contribute it. What do you know about the "Karaoke" games? kevtris' document didn't really say much about what this submapper is supposed to be. There's also stuff on "page 1" that clearly belongs on "page 2", e.g. why have you omitted the Quatro games from page 2? (Is it based on a much older version of the wiki page?)
Great Hierophant
Posts: 780
Joined: Tue Nov 23, 2004 9:35 pm

Re: iNES 2.0 Games

Post by Great Hierophant »

lidnariq wrote:
Great Hierophant wrote:submappers.ods
Little typo in the first sheet: the two mapper 34 games are incorrectly listed as mapper 32.
Fixed
rainwarrior wrote:
Great Hierophant wrote:Sheet 1 list the games that should be assigned submappers according to kevtris, Sheet 2 list the games that should be assigned submappers according to the wiki.
Kevtris had proprosed a few submappers which ultimately seemed to be unnecessary, the most prominent example being MMC1 where many of the "submappers" were already a requirement as a result of various CHR size settings.

I don't believe anything on the wiki disagrees with Kevtris' original proposal, just some are omitted for lack of information or necessity. The redundant MMC1 submappers are deprecated but explicitly kept in the definition to avoid conflict with Kevtris' proposal. Though I don't know why Kevtris' set should be definitive-- he never published an emulator or ROM set that uses them. They're just some (rather rough) list he came up with years ago.
His custom firmware for the Analogue Nt Mini, for which he designed the hardware, uses NES 2.0 definitions.

I am not sure either whether they are in conflict or not.
rainwarrior wrote: Ideas that seemed to have not enough information to explain or demonstrate, or are not yet fully formed, or in particular have no test ROMs to validate against were moved to as separate page:
http://wiki.nesdev.com/w/index.php/NES_ ... /Proposals

I made this separation in the Wiki so that emulator authors could specifically focus on the set of things that is well described and implementable. i.e. "here's exactly what these submappers mean, which games you'd need to implement them for, and here's some ROMs to validate against".

If you've got information on submappers that are "missing" from the Wiki, please contribute it. What do you know about the "Karaoke" games? kevtris' document didn't really say much about what this submapper is supposed to be. There's also stuff on "page 1" that clearly belongs on "page 2", e.g. why have you omitted the Quatro games from page 2? (Is it based on a much older version of the wiki page?)
I know little about the Karaoke Studio except that it uses has a base unit and custom expansion cartridges and its own microphone. Bandai was fond enough of the idea to try something similar with the Datach Joint ROM system and again with the Sufami Turbo for the SNES.

Speaking of add-ons, Nantettatte!! Baseball is a cartridge which can accept a pair of update add-on cartridges. The main game's mapper is 68, so I assume that the expansion ROMs are also 68, but Nestopia assigns them to mapper 4 (and they don't work). I would also note that Nestopia disagrees with some of the mapper assignments for the Namco and Bandai games, but it may be a bit behind the times.

Finally, about those speech chips. They can be found in cartridges using Mapper 3, 18, 72, 86, 92. The cartridges using 86 and 92 always have speech chips but the cartridges using 3, 18 and 72 may or may not have speech chips, and one cartridge uses a chip that is slightly different. Only one mapper 3 game has speech chips. Should a setting in NES 2.0 be added to distinguish those games in case the speech chips ever get dumped and emulated?
Attachments
submappers.ods
(16.54 KiB) Downloaded 236 times
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: iNES 2.0 Games

Post by lidnariq »

Great Hierophant wrote:Speaking of add-ons, Nantettatte!! Baseball is a cartridge which can accept a pair of update add-on cartridges. The main game's mapper is 68, so I assume that the expansion ROMs are also 68, but Nestopia assigns them to mapper 4 (and they don't work).
It does? I just cross-referenced the current Nestopia UE NstDatabase against GoodNES 3.14 and only found a single entry for any Nantettatte!!. (What filename and sha1?)
I would also note that Nestopia disagrees with some of the mapper assignments for the Namco and Bandai games, but it may be a bit behind the times.
w.r.t. mapper 210, Freij did his best to figure out what the difference was, but the difference is fairly subtle and there was no associated documentation. Naruko has since helped us out.

For mappers 16, 153, 157, 159 ... specific instances? Briefly cross-referencing I don't see anything obviously wrong.
Should a setting in NES 2.0 be added to distinguish those games in case the speech chips ever get dumped and emulated?
There's no agreed-upon way to embed the audio data in the .nes file itself, so I'm not altogether convinced it's worthwhile to mark a file itself as being enhanced by external files...
Last edited by lidnariq on Sat Apr 15, 2017 7:12 pm, edited 1 time in total.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: iNES 2.0 Games

Post by rainwarrior »

Great Hierophant wrote:His custom firmware for the Analogue Nt Mini, for which he designed the hardware, uses NES 2.0 definitions.
I thought this machine runs cartridges, not iNES ROMs. How do NES 2.0 definitions come into play?
Great Hierophant wrote:Should a setting in NES 2.0 be added to distinguish those games in case the speech chips ever get dumped and emulated?
I don't really see the point in adding any additional iNES 2 specifications until they're dumped and there is a reference for emulating them.

The effort to clean up the submappers wiki page was done with this in mind. If there's a real case that we can build and test now, it should be there. If it's a "just in case" for the future, it can stay in the proposals subpage until it matures.

If you have information about needed submappers, please add to the proposals section.

Edit: fixed link.
Last edited by rainwarrior on Sun Apr 16, 2017 6:27 pm, edited 1 time in total.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: iNES 2.0 Games

Post by tepples »

The Nt Mini has a firmware update to make it run ROMs.
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: iNES 2.0 Games

Post by rainwarrior »

lidnariq wrote:There's no agreed-upon way to embed the audio data in the .nes file itself, so I'm not altogether convinced it's worthwhile to mark a file itself as being enhanced by external files...
I think Nestopia will use a collection of WAV samples for some specific games, if you have them. It seems kludgey, but it's one way of doing it. It has its own database of metadata anyway, so didn't need to rely on the iNES 2 dream to do it.

Probably iNES 2 could use some kind of "extra data blobs" extension to support something like this, but the dumps haven't been done, so... is there a need to worry about it yet?
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: iNES 2.0 Games

Post by rainwarrior »

tepples wrote:The Nt Mini has a firmware update to make it run ROMs.
Ah okay, here's the info:
http://atariage.com/forums/topic/242970 ... ?p=3687219

He does have a submapper list in that ZIP file. I don't see anything conflicting the list on the Wiki, but includes the following extra ones:
NES Release Notes.txt wrote:(sorry that some of these aren't very clear, I did this 8 years ago)

16.0 - Bandai mapper with WRAM
16.1 - Bandai mapper with Datach
16.2 - Bandai mapper with EEPROM (128 bytes)
16.3 - Bandai mapper with EEPROM (256 bytes)

19.0 - standard N163
19.1 - Mindseeker (different pinning)

74.0 - MMC3 with CHR RAM addon
74.1 - MMC3 with CHR RAM addon (different mapping)

83.0 - Cony mapper (1K CHR banks)
83.1 - Cony mapper (2K CHR banks)

116.0 - "Beauty Fighting AV"
116.1 - Rex Samurai Spirits

167.0 - Subor
167.1 - Subor alternate

188.0 - Karaoke Studio
188.1 - Karaoke Studio 256K
This is slightly better information than his original document, at least? (Again, if anyone's got the appropriate reference material please add it to the wiki's proposal page.)
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: iNES 2.0 Games

Post by lidnariq »

16.0 - Bandai mapper with WRAM
= m153
16.1 - Bandai mapper with Datach
= m157
16.2 - Bandai mapper with EEPROM (128 bytes)
= m159
16.3 - Bandai mapper with EEPROM (256 bytes)
not moved.
74.1 - MMC3 with CHR RAM addon (different mapping)
I guarantee that's a duplicate of one of m191/192/194/195.

Sure would be nice if kevtris was able to explain what the laconic descriptions actually mean.
Post Reply