Dual D-Pad Controls (and a minor rant)

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderator: Moderators

User avatar
Jedi QuestMaster
Posts: 688
Joined: Thu Sep 07, 2006 1:08 pm
Location: United States
Contact:

Dual D-Pad Controls (and a minor rant)

Post by Jedi QuestMaster »

So a minor limitation that some games go through when being converted for the NES (like from arcade) are the limited buttons of the NES. One particular control style I'm interested in is the twin stick of shooter games like Smash TV. I know this game was ported to NES. I've yet to play it. I read somewhere that it has the option to use two gamepads--I'm not interested in that.

What I'm more interested in is either:

A.) Are there any (single) controllers for NES or Famicom that are suitable to use as dual d-pads?

if not, then

B.) If the NES took inputs from a gamepad with more buttons (like the Virtualboy or SNES), how many number of button inputs can the NES register? Like would it be possible to hook up a Fourscore with four NES->SNES gamepad adapters and read all 12 SNES buttons of all four SNES controllers as separate inputs?

and

C.) Has someone made an adapter for such a gamepad for the NES?

Oh yeah, minor rant: Why hasn't an NES gamepad with face buttons like this ever been made? (or has it?) It seems like it would be super useful.
Fiskbit
Posts: 891
Joined: Sat Nov 18, 2017 9:15 pm

Re: Dual D-Pad Controls (and a minor rant)

Post by Fiskbit »

I'm not aware of any controller specifically for the NES or Famicom that has two D-pads. The Virtual Boy controller is the closest thing and has a compatible protocol.

There is no limit on the number of buttons that can be read by the game. The console provides a simple protocol, where up to 3 bits (varies by console and controller port) can be written out at a time to all controllers, up to 5 bits (also varies by console and port) can be read at a time from one controller, and the controller is informed that the read is happening so it can change state for the next read.

All existing 4 player adapters, however, do impose limitations on controllers. All known adapters only pass through 1 bit in each direction, and in 4-player mode, they only allow 8 reads from a single controller per strobe (toggle of the one output bit). That means you can't get all 12 buttons from an SNES controller. 2-player mode would allow this, however. See Four player adapters on the wiki.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Dual D-Pad Controls (and a minor rant)

Post by Pokun »

A)
AFAIK the only input devices using more than 2+2 buttons would be special peripherals like the Family BASIC keyboard (72 buttons!) and the Family Trainer mat.
Dual-joystick games like Crazy Climber all seems to use 2-controller-double-fisting.

I think people thought that more than 2 buttons was intimidating during the Famicom era. Before the Famicom popularized a second button for the home market, home-computers typically used the Atari-style 1-button joystick and was happy with it.
3 buttons was getting more common in the arcades (the original JAMMA cabinet connector standard supports up to 3 buttons for each player), and then Sega popularized that with their MD for the home market. I suppose Street Fighter 1 (1987) introduced 6 buttons which was then popularized by both the Super Famicom (1990) and Street Fighter II (1991).



B)
I'm not sure why you would want to use a Fourscore though, there are already NES homebrew that supports the SNES controller and at least a proof-of-concept with the Virtual Boy controller exists. The Famicom/NES, SFC/SNES and Virtual Boy controllers all uses the same basic protocol as Fiskbit said, and all you need is to make a home-made adapter to use them with a Famicom or NES (and write some homebrew that actually uses the extra buttons). A SNES controller should work fine with all existing NES games, and since B is A and Y is B you already get SMW-style controls for Mario games for example.

The SNES multitap and mouse should both work with such an adapter, but you need games that uses them of course, some homebrew supports the mouse at least. The Super Scope or any other SFC light-guns won't work however since they use the "light-pen" feature of the SNES PPU which is missing in the NES PPU. The Zapper is a more traditional light-gun while the Super Scope is more like the Sega Lightphaser and computer light-pens of the time.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Dual D-Pad Controls (and a minor rant)

Post by rainwarrior »

Spookotron and Candelabra: Estoscerro both do this.

Between them they explore possibilities of:
  • Holding 2 NES controllers sideways
  • Super NES 4 buttons as a directional shot
  • Virtual Boy controller dual d-pad
Both SNES and VB controllers can be attached to the NES via a suitable adapter. (I know Raphnet sells one for SNES to NES, dunno about VB. They're not too hard to make though.)

NESDev Wiki: Virtual Boy controller has some links to demos of these games at the bottom.
User avatar
Jedi QuestMaster
Posts: 688
Joined: Thu Sep 07, 2006 1:08 pm
Location: United States
Contact:

Re: Dual D-Pad Controls (and a minor rant)

Post by Jedi QuestMaster »

Fiskbit wrote: Sun Aug 07, 2022 12:44 amThere is no limit on the number of buttons that can be read by the game.
Sounds promising. :)
Fiskbit wrote: Sun Aug 07, 2022 12:44 amAll existing 4 player adapters, however, do impose limitations on controllers.
Damnit! :x
Pokun wrote: Sun Aug 07, 2022 8:38 amI'm not sure why you would want to use a Fourscore though, there are already NES homebrew that supports the SNES controller and at least a proof-of-concept with the Virtual Boy controller exists.
Not sure if I made myself clear: I'm working on a 4-player game that I would like to utilize Smash TV arcade controls with: 4x2 d-pads = 8 d-pads or 4 d-pads & 4x4 face buttons.

But if I can't use a fourscore, then that's okay. We'll use something else. Also, just to note, this game won't require a special controller, but I think it plays best with one, and I would really like to try out something like the Virtual Boy's.

On the topic of Virtualboy controllers: aren't these kind of uncommon? I don't suppose many people just happen to have several lying around in their living room? What are the cost of these things? $50? Wouldn't it be more feasible to just create a new gamepad? Also, what's the battery for?
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Dual D-Pad Controls (and a minor rant)

Post by rainwarrior »

You could potentially use a SNES multitap connected to an NES with an adapter, as long as the adapter wires both D0 and D1, and not just D0.

Otherwise you might make your own adapter to connect 2 SNES controllers into 1 NES port via D0 and D1. The original Famicom could almost do this, if it didn't have two controllers hardwired to D0 already.

The VB controller has batteries to power the VB console itself. That's just where its batteries go. They aren't needed for the controller, and if used with an adapter it can be powered by the console it's attached to instead.

I have no idea how rare VB controllers are. I do suspect that very few people would have 4 of them. Though, because the VB reports its right d-pad in the same place as SNES ABXY maybe you could support them both with the same code. (VB just has two extra buttons A/B next to the right d-pad.)
User avatar
gauauu
Posts: 779
Joined: Sat Jan 09, 2016 9:21 pm
Location: Central Illinois, USA
Contact:

Re: Dual D-Pad Controls (and a minor rant)

Post by gauauu »

Jedi QuestMaster wrote: Wed Aug 10, 2022 10:44 pm 4x2 d-pads = 8 d-pads or 4 d-pads & 4x4 face buttons.
It's been a dream of mine to build an 8-controller multitap (using the same principles as the 4-controller multi-tap). Let's make it happen.
calima
Posts: 1745
Joined: Tue Oct 06, 2015 10:16 am

Re: Dual D-Pad Controls (and a minor rant)

Post by calima »

^ 8 players on NES, yikes.

VB sales were a tiny 770k, and most are probably scrap by now, so controllers aren't going to be common either. Plus a failed console doesn't really have third parties making accessories.

Four SNES controllers using a cable adapter like rainwarrior described might be easiest. Two SNES controllers going into one NES port. But I recall you also want to support Famicoms, those are going to need something different.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Dual D-Pad Controls (and a minor rant)

Post by lidnariq »

gauauu wrote: Thu Aug 11, 2022 7:27 am It's been a dream of mine to build an 8-controller multitap (using the same principles as the 4-controller multi-tap). Let's make it happen.
Can you forsake the "same principles as the 4-controller multi-tap"? Because that's a significant barrier. It both effectively prevents using SNES controllers with the multitap, and requires more complicated parts.

If you can, here's a guide for the best that could be done by anyone as long as they're not afraid of a pair of wire strippers, and are willing to buy a bunch of extension cables.

For six NES controllers:
Buy three NES extension cables per port. At least one per port must have all seven wires (the other two cables per port can have only five).
Per port: Connect all +5V together, all ground, all "OUT", all "CLK". https://www.nesdev.org/wiki/Controller_port_pinout
Take each of the D0, D3, and D4 pins on the port that plugs into the NES, and connect them to the D0 pin on each of the jacks for external controllers.

For six SNES controllers:
Buy one NES extension cable with all seven wires per port, and three SNES extension controllers (only five wires) per port. Otherwise the same instructions.

For either on a Famicom:
Buy five NES/SNES extension cables (only five wires) and one DA15 "female" (innie). Use OUT0 specifically. Connect the D0 on each jack to "joypad 1 D1", "joypad 2 D1", "joypad 2 D2", "joypad 2 D3", and "joypad 2 D4". https://www.nesdev.org/wiki/Expansion_port
On an A/V famicom, you can additionally connect "joypad 2 D0", but this won't work on a original model famicom.
Drag
Posts: 1615
Joined: Mon Sep 27, 2004 2:57 pm
Contact:

Re: Dual D-Pad Controls (and a minor rant)

Post by Drag »

I had an impractical idea, but an idea none the less:
You can use an 8-button packet to encode two d-pads and 4 face buttons.

Code: Select all

           0  1  2  3  4  5  6  7
Standard | A  B  Se St Up Dn Lf Rt
Encoded  | RU RD RL RR LU LD LL LR

  LU                       RU
LL  LR  LB     |     RA  RL  RR
  LD        LA | RB        RD
RU+RD = RA
RL+RR = RB
LU+LD = LB or Select
LL+LR = LA or Start

...observing that the player cannot press, e.g., RU and RA at the same time, but it's OK because that combination would be difficult to press with one thumb anyway. If you did, however, the face button would take precedence.

For a virtualboy controller, a microprocessor would detect STROBE coming from the NES, and use that to strobe and read the full packet from the VB controller, to convert to the serial packet given to the NES.

To detect whether you have an NES-compatible controller or a dual d-pad controller using the scheme above, you'd ask the player to press START+SELECT. On a standard controller, this reads back as two button presses, but with an encoded controller, this reads back as all four directions pressed at the same time, which is impossible under normal conditions.
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Dual D-Pad Controls (and a minor rant)

Post by Pokun »

I meant using the SNES multitap for 4 controllers. But I forgot that it's like the Fourscore and uses two input lines, so it won't work with the exact same adapter I proposed earlier.
For Famicom, connect $4016.D1 and $4017.D1 in the expansion port to the two input lines. For the NES the controller port will be used instead so it's $4016.D0 and $4017.D0. The game must support both methods. I guess that's what Rainwarrior said.

Virtual Boy controllers are not exactly rare but definitely more expensive than most other standard controllers (especially now when retro gaming is popular and prices are high), and probably not something most people have at all.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Dual D-Pad Controls (and a minor rant)

Post by lidnariq »

SNES multitap requires both two OUT signals - one to restart the shift registers, another to switch between the two pairs of controllers.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Dual D-Pad Controls (and a minor rant)

Post by rainwarrior »

Oh right, I forgot about that separate IO latch... well I guess you could use half the ports on each of 2 separate SNES multitaps and end up with 4 controllers in total. :S

TBQH I don't know if the readily available SNES adapters actually had D1 anyway, and if you have to build it custom you might as well make the thing lidnariq described.
User avatar
gauauu
Posts: 779
Joined: Sat Jan 09, 2016 9:21 pm
Location: Central Illinois, USA
Contact:

Re: Dual D-Pad Controls (and a minor rant)

Post by gauauu »

lidnariq wrote: Thu Aug 11, 2022 11:16 am Can you forsake the "same principles as the 4-controller multi-tap"? Because that's a significant barrier. It both effectively prevents using SNES controllers with the multitap, and requires more complicated parts.
Yeah, it's doesn't have to be the same as the four-score. But I don't care about using SNES controllers once we have 8 controllers going, and it just seemed like a relatively easy way to do it.
For six NES controllers:
This method doesn't scale up to 8 controllers though does it? (or maybe it does and I don't have my brain wrapped around it)
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Dual D-Pad Controls (and a minor rant)

Post by Pokun »

Ah right I forgot about that programmable I/O pin too. The Famicom expansion port has 3 output pins but the NES controller ports only has OUT0. I guess you would have to use the NES expansion port.

And yeah I think neither pin 5 (D1) nor 6 (PP) are populated in most SNES extension cables, since they are not used by normal controllers and the makers are cheap, so it's hard to make an adapter even for Famicom.
Post Reply