NES 2.0 Input device field

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

NewRisingSun
Posts: 1098
Joined: Thu May 19, 2005 11:30 am

NES 2.0 Input device field

Post by NewRisingSun » Mon Apr 02, 2018 1:36 pm

Several emulators automatically select input devices based on hash tables, otherwise games would not be playable without additional user configuration. Including this information in the NES 2.0 header may be a practical solution after all, as discussed in a related thread from which this topic is a spin-off.

Status quo:
"[t]he NES 2.0 file represents the function of everything inside the Game Pak shell. Things like controllers and overscan go in the manual." This rule is already violated by the "TV system" field. This means that either the user has to configure input devices himself, or an emulator needs to use a hash table to automatically select them to make a game playable as opposed to merely run it in attract mode. The first solution is not user-friendly, the second option neither emulator- nor ROM-hack-friendly.

Edit: Updated proposal here.
Last edited by NewRisingSun on Thu Jul 05, 2018 11:23 am, edited 5 times in total.

User avatar
tokumaru
Posts: 11500
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: NES 2.0 Input device field

Post by tokumaru » Mon Apr 02, 2018 2:59 pm

Cartridges do contain a part related to the region where they're supposed to be used, though: the lockout chip. I'm not saying this invalidates your argument, but it might be relevant somehow.

Sour
Posts: 746
Joined: Sun Feb 07, 2016 6:16 pm

Re: NES 2.0 Input device field

Post by Sour » Mon Apr 02, 2018 3:07 pm

NewRisingSun wrote:0A Power Pad Side A in NES Player 2 Port
0B Power Pad Side B in NES Player 2 Port
0C Family Trainer Side A in Famicom Expansion Port
0D Family Trainer Side B in Famicom Expansion Port
I'm not sure I would consider side A & B as separate devices. I'm not completely certain, but it's likely that some games use both, depending on the situation (e.g games that are made up of several different mini games)

tepples
Posts: 21809
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES 2.0 Input device field

Post by tepples » Mon Apr 02, 2018 4:38 pm

NewRisingSun wrote:1A Crazy Climber Control Method
Which zzo38's proposal calls "DoubleFisted". But where does that leave Smash TV, which supports normal (A: shoot forward, B: shoot in last A direction) for 1 or 2 players, DoubleFisted for 1 player, or DoubleFisted through Four Score/Satellite for two players?
NewRisingSun wrote:Two Zappers for Chiller: impractical on PCs.
Likewise two Zappers for "ZapPing" in Zap Ruder or two Super NES Mouse controllers for Thwaite. This makes the first Action 53 doubly guilty.
NewRisingSun wrote:Doremikko Keyboard: used only on one FDS game.
Likewise Miracle Piano: used only on one NES game.

@tokumaru
Lockout is the same on Famicom and PAL famiclones, despite some 60-pin games requiring PAL famiclones because the non-reentrant NMI handler expects to consume more than 262 scanlines.

@Sour
Side A vs. B is like normal vs. DoubleFisted.

NewRisingSun
Posts: 1098
Joined: Thu May 19, 2005 11:30 am

Re: NES 2.0 Input device field

Post by NewRisingSun » Mon Apr 02, 2018 5:10 pm

Sour wrote:I'm not completely certain, but it's likely that some games use both, depending on the situation (e.g games that are made up of several different mini games)
I have tested all of them, and unless I missed one, the only ROM image that requires both is the Power Pad Test cartridge. Of course, somebody could make a homebrew multicart consisting of all the Power Pad/Family Trainer games, but I have not seen one. Emulating both Sides as one device, as stock Nintendulator and Mesen do, seems awkward to me, as it requires additional user configuration effort that this proposal is supposed to remove.
tepples wrote:But where does that leave Smash TV, which supports normal (A: shoot forward, B: shoot in last A direction) for 1 or 2 players, DoubleFisted for 1 player, or DoubleFisted through Four Score/Satellite for two players?
Note 1 applies: If a game supports several selectable options, denote the simplest one that will allow one to play the game. Same for Chiller.
tepples wrote:Likewise Miracle Piano: used only on one NES game.
The emphasis is on the "FDS" part. Because FDS games have no NES 2.0 header, devices limited to them are inapplicable to a NES 2.0 header proposal. Miracle Piano does use NES headers and therefore is applicable to a NES 2.0 header proposal.
Last edited by NewRisingSun on Mon Apr 02, 2018 5:15 pm, edited 1 time in total.

lidnariq
Posts: 8927
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: NES 2.0 Input device field

Post by lidnariq » Mon Apr 02, 2018 5:13 pm

NewRisingSun wrote:07 Vs. System Zapper
Is that specifically "joystick via $4017 and vs zapper via $4016" ?
0E Arkanoid Paddle in NES Player 1 Port
17 Miracle Piano Keyboard in NES Player 1 Port
Those are both only the player 1 port? Huh.

Is there any interest in marking the two Vaus situation for Arkanoid 2? It's only used by the vs. mode.

tepples
Posts: 21809
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: NES 2.0 Input device field

Post by tepples » Mon Apr 02, 2018 5:25 pm

The Vs. System Zapper is a serial device that behaves like a standard controller where Up is always pressed, Left is 1 when light and 0 when dark, and Right is the trigger.

Source: "Zapper" on the wiki

lidnariq
Posts: 8927
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: NES 2.0 Input device field

Post by lidnariq » Mon Apr 02, 2018 5:27 pm

... yes?

NewRisingSun
Posts: 1098
Joined: Thu May 19, 2005 11:30 am

Re: NES 2.0 Input device field

Post by NewRisingSun » Mon Apr 02, 2018 5:29 pm

lidnariq wrote:Is there any interest in marking the two Vaus situation for Arkanoid 2? It's only used by the vs. mode.
Since the Vaus is usually emulated using a mouse, and since few PCs have two mice, the situation is similar to Chiller and so my answer would be "no". Arkanoid II also supports the Famicom Data Recorder for saving editor data, and is to my knowledge the only tape-saving game that also supports expansion port controllers.

Sour
Posts: 746
Joined: Sun Feb 07, 2016 6:16 pm

Re: NES 2.0 Input device field

Post by Sour » Mon Apr 02, 2018 5:58 pm

NewRisingSun wrote:I have tested all of them, and unless I missed one, the only ROM image that requires both is the Power Pad Test cartridge.
Good enough for me.

And about the 2x zapper situation, while it's unusual on a single PC, this configuration works via netplay on Mesen, and is needed to play Chiller (over netplay) with 2 "zappers". So the option would be useful in that sense, but not really a big deal either way.

lidnariq
Posts: 8927
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: NES 2.0 Input device field

Post by lidnariq » Tue Apr 03, 2018 7:00 am

I'm a little uncomfortable with saying "most computers only have one mouse, therefore let's not handle the games that have multiple analog input devices".

For good and ill, more computers have multitouch touchscreens now, and two Vaus on one touchscreen seems perfectly tenable.... but it's also just a bonus mode that doesn't affect one's ability to play the primary game. On the other hand, I think you've indirectly pointed out that maybe there's an argument for a "Vaus and Data Recorder" entry.

(I agree that two Zappers on one touchscreen poses all sorts of problems, but then Sour's argument remains)

User avatar
B00daW
Posts: 584
Joined: Thu Jan 03, 2008 1:48 pm

Re: NES 2.0 Input device field

Post by B00daW » Tue Apr 03, 2018 7:15 am

Regarding the two Korean microphone games, are we assuming that the mappers should take care of the microphone support on load? Or should they be considered like the Famicom 2p "microphone" games and need their own NES2 input classification for emulator setup?

NewRisingSun
Posts: 1098
Joined: Thu May 19, 2005 11:30 am

Re: NES 2.0 Input device field

Post by NewRisingSun » Tue Apr 03, 2018 7:20 am

lidnariq wrote:therefore let's not handle the games that have multiple analog input devices".
Again, an emulator would be free to support these configurations, just not as an auto-selected configuration when the ROM is loaded. That being said, of course one could add an entry for "one/two zappers", so that if an emulator detects two mice, or netplay with one mouse on each end, it can mount both emulated zappers, otherwise just one.

Code: Select all

23      Hori Track
24      1P Controller and one Zapper, or two Zappers (Chiller)
lidnariq wrote:I think you've indirectly pointed out that maybe there's an argument for a "Vaus and Data Recorder" entry.
I don't think the Vaus controller and Data Recorder can coexist, so they would have to be manually or automatically (un-)plugged. A more involved proposal extension would be to add special entries for such cases:

Code: Select all

80      Famicom Data Recorder and ASCII Turbo File (Castle Excellent)
81      Famicom Data Recorder or 2xArkanoid Controller (Arkanoid II)
82      Zapper and Hiro Track (Operation Wolf)
83      Famicom Four Players Adapter with Standard Controllers and Hiro Trackballs (U.S. Championship V'Ball)
B00daW wrote:Regarding the two Korean microphone games, are we assuming that the mappers should take care of the microphone support on load
I would say so, because the microphone is connected to the cartridge, not the NES 1P/2P/Famicom expansion port.

NewRisingSun
Posts: 1098
Joined: Thu May 19, 2005 11:30 am

Re: NES 2.0 Input device field

Post by NewRisingSun » Tue Apr 03, 2018 11:25 am

Having thought about this a little more, another option would be to take the storage devices --- Famicom Data Recorder (sans keyboard), ASCII Turbo File, IGS Storage Battle Box --- out of byte 15 and into some other field, for example, three unused bits in the "TV System" byte. Arkanoid II would just get an "Two Arkanoid Vaus controllers in Famicom expansion port" entry for byte 15. An emulator would simply temporarily unmount the Vaus controllers and connect the emulated Data Recorder while the tape is recording/playing (which will always have to be user-initiated) and automatically re-mount the Vaus controllers afterwards.

User avatar
Dwedit
Posts: 4247
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: NES 2.0 Input device field

Post by Dwedit » Wed Apr 04, 2018 8:45 am

Most Japanese-developed games are compatible with the Famicom four player adapter just to use as alternative controllers for Player 1 and Player 2. Even Super Mario Bros will use either player 1 or player 3.

Remember that the built-in hardwired controllers are really short, and developers did what they could to support external controllers.

Games developed by US or European companies often did not support using Famicom Player 3 or Player 4's controllers.

So I think there should be another entry: Two NES/Famicom controllers, but also using Famicom Four-Player adapter as an alternative for the main controllers. This is about documenting the games, and that's what the games do. It will probably end up being the most frequent joypad option. You'll be surprised just how many games support using Player 3's controller.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

Post Reply