It is currently Tue Apr 24, 2018 12:04 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Mon Apr 02, 2018 1:36 pm 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 504
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.

Proposal:
New byte 15: Default input/expansion port device
Code:
00      Unspecified
01      2xNES Standard Controllers
02      2xFamicom Standard Controllers (Microphone on Player 2 Controller)
02      NES Four Score/NES Satellite with Standard Controllers
03      Famicom Four Players Adapter with Standard Controllers
04      Vs. System, normal controllers
05      Vs. System, reversed 1P and 2P controllers
06      Vs. System, Pinball (Japan) button arrangement
07      Vs. System Zapper
08      Zapper in Famicom Expansion Port (or NES Player 2 Port)
09      Bandai Hyper Shot in Famicom Expansion Port
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
0E      Arkanoid Paddle in NES Player 1 Port
0F      Arkanoid Paddle in Famicom Expansion Port
10      Konami Hyper Shot in Famicom Expansion Port
11      Coconuts Pachinko Controller in Famicom Expansion Port
12      Exciting Boxing Punching Bag in Famicom Expansion Port
13      Jissen Mahjong Controller in Famicom Expansion Port
14      Party Tap in Famicom Expansion Port
15      Oeka Kids Tablet in Famicom Expansion Port
16      Sunsoft Barcode Battler Interface in Famicom Expansion Port
17      Miracle Piano Keyboard in NES Player 1 Port
18      Pokkun Moguraa Whac-A-Mole Controller in Famicom Expansion Port
19      Top Rider Inflatable Motorbike in Famicom Expansion Port
1A      Crazy Climber Control Method
1B      R.O.B.
1C      Famicom 3D System in Famicom Expansion Port
1D      Family BASIC Keyboard and Data Recorder in Famicom Expansion Port
1E      Subor Keyboard, Mouse and Tape Recorder
1F      Dongda PEC-586 Keyboard and Tape recorder
20      Bit Corp. Bit-79 keyboard
21      ASCII Turbo File in Famicom Expansion Port
22      IGS Storage Battle Box in Famicom Expansion Port
I may have forgotten a few; feel free to add them.

Notes:
  1. If a game supports several selectable options, denote the simplest one that will allow one to play the game. The user will always be able to manually select other optionsone that maximises the user's choices without having to manually select other options in the emulator. For example, since The Adventures of Bayou Billy supports both Zapper and Controller 1 input, use value "08" to connect the Zapper to the Famicom expansion port while keeping both Controllers connected.
  2. Multicarts: Leave at "Unspecified" for multicarts requiring several non-compatible devices on different games, for example, Super Mario Bros./Duck Hunt/World Class Track Meet. Emulating the Zapper as a Famicom Expansion Port device allows it to be used along with Player 2's standard controller, and allows common multicarts to have this field set to "08" to use both for different games.
  3. Devices not included:
    • Two Zappers for Chiller: impractical on PCs.
    • Doremikko Keyboard: used only on one FDS game.
    Emulators of course should be free to offer these as selectable options using their normal Input Selection menus.
  4. Also not included: NES Advantage, NES Max: these function as standard controllers from the game's point of view.
  5. Crazy Climber does not have a separate controller, but has an alternative way of using both controllers' D-Pads.
  6. R.O.B. is in the list because if so selected, Nestopia presses the second controller's buttons as R.O.B. would for Gyromite.


Last edited by NewRisingSun on Thu Apr 05, 2018 11:05 am, edited 4 times in total.

Top
 Profile  
 
PostPosted: Mon Apr 02, 2018 2:59 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10427
Location: Rio de Janeiro - Brazil
NewRisingSun wrote:

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.


Top
 Profile  
 
PostPosted: Mon Apr 02, 2018 3:07 pm 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 393
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)


Top
 Profile  
 
PostPosted: Mon Apr 02, 2018 4:38 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19947
Location: NE Indiana, USA (NTSC)
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.


Top
 Profile  
 
PostPosted: Mon Apr 02, 2018 5:10 pm 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 504
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.

Top
 Profile  
 
PostPosted: Mon Apr 02, 2018 5:13 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7020
Location: Seattle
NewRisingSun wrote:
07 Vs. System Zapper
Is that specifically "joystick via $4017 and vs zapper via $4016" ?
Quote:
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.


Top
 Profile  
 
PostPosted: Mon Apr 02, 2018 5:25 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19947
Location: NE Indiana, USA (NTSC)
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


Top
 Profile  
 
PostPosted: Mon Apr 02, 2018 5:27 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7020
Location: Seattle
... yes?


Top
 Profile  
 
PostPosted: Mon Apr 02, 2018 5:29 pm 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 504
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.


Top
 Profile  
 
PostPosted: Mon Apr 02, 2018 5:58 pm 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 393
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.


Top
 Profile  
 
PostPosted: Tue Apr 03, 2018 7:00 am 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 7020
Location: Seattle
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)


Top
 Profile  
 
PostPosted: Tue Apr 03, 2018 7:15 am 
Offline
User avatar

Joined: Thu Jan 03, 2008 1:48 pm
Posts: 553
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?


Top
 Profile  
 
PostPosted: Tue Apr 03, 2018 7:20 am 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 504
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:
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:
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.


Top
 Profile  
 
PostPosted: Tue Apr 03, 2018 11:25 am 
Offline

Joined: Thu May 19, 2005 11:30 am
Posts: 504
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.


Top
 Profile  
 
PostPosted: Wed Apr 04, 2018 8:45 am 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 4028
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!


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group