PAL-N Famiclone with generic 15-pin controllers unresponsive

Started by sys64738, January 31, 2024, 12:00:33 pm

Previous topic - Next topic


I got a Hudson controller to test it out, and it works with couple quirks. 1. It only works on the right port (the port that reads everything correctly) 2. It does not work on some of the games - I believe this has something to do with some games not supporting the official 15-pin input. I also ordered a Subor controller from Ukraine for few bucks, I will also test that one out once it arrives. I am still not clear if the ports were configured this way intentionally for a modified set of controllers or something is shot.


According to the post 7 here

That's expected behaviour for mismatched clone/official pinouts



This is exactly how it should be - Hudson/Hori joypads use $4016.D1 and this pin i present only in the 15pin expansion connctor (which in famiclones it is either the 15pin exp port if console has 9+9+15p ports or second player port if it has 15+15p ports).

This bit need to be explicitly read by the game, because "default" player1 bit is $4016.D0. That's why not all games can be controlled using such joypad.


We have an incomplete list here (scroll down for more additions) of games that ignores the $4016.D1 and $4017.D1 input pins.

The Nesdev Wiki also covers most of the hardware details including some regarding clones.


I ordered a 15-pin cable so I will try to build an adapter.

Has there been a system where P1 and P2 controllers are strictly sperate but also detachable?


What do you mean by P1 and P2? All 4 controller inputs are always separate on all Famicom variants.

On the original Famicom and the Twin, con1 ($4016.D0) and con2 ($4017.D0) are hardwired while on AV Famicom and NES they are detachable using 7-pin connectors.
Con3 ($4016.D1) and con4 ($4017.D1) uses pins in the 15-pin expansion port on all Famicoms and in the 48-pin expansion port on the bottom of the NES frontloader, so it's always detachable. No official peripheral for NES uses the 48-pin expansion port, but the pins are technically there.

Multitaps like the Four Score uses only con1 and con2 and multiplexes them into two more controllers and ignores con3 and con4 (the two expansion port inputs). There is a Famicom variant of it as well (Hori multitap) which multiplexes con3 and con4 instead and ignores con1 and con2 (the two normal controller ports).
So we have two different and incompatible methods to use 4 controllers on the system, though a few game supports both methods.
More details here.


Quote from: P on February 11, 2024, 03:53:22 pmWhat do you mean by P1 and P2?

Let me clarify. The console has two 15-pin ports, one for each controller. Even though they are not labeled I call them P1 and P2. Their readings (even the 5V pin) are different. Meaning, a controller meant for port #1 should not work for the other port, unless they have over-engineered controllers that can detect and compensate accordingly. That's what I was asking, has there been a console where controllers must be plugged in to the ports they were meant to be plugged in, or are they always interchangeable? I know the ones that cannot be detached has some differences (start/select on one, microphone on the other). If I fail to build an adapter I will go after used controllers but I don't want to go after  the wrong ones.


Oh I see, interchangeable with each other. I don't really know about clones but for official Famicom and NES controllers they have always been interchangeable for port 1 and 2.

However if the Pegasus pinout diagram that Skawo posted is correct it seems like the clone controllers used for Pegasus are also interchangeable since both ports uses pin 8 for the input data from the controller (D0) and the Nesdev wiki also seems to confirm this. The second port is missing GND, +5V and strobe but that must be a mistake in the diagram since the controller wouldn't be working without them.

However, the Pegasus port does not seem to be wired the same as a Famicom's 15-pin expansion port, so those Hudson/Hori joypads would not work (they use pin 13 for input (D1) and pin 14 for clock), assuming your clone is wired the same way as a Pegasus that would explain your problem. The Hudson controller only works with games that merges D0 and D1 (i.e. games that supports expansion port controllers).
You would need to build an adapter (I use NeoGeo joypad extension cables to source the connectors) that changes pin 13 to pin 8 and pin 14 to pin 9. The pins for GND, +5V and strobe pins are already correct.

Famicom Expansion Port Pinout DA-15M (viewed from front of Famicom):

   \ o o o o o o o o /
  9 \ o o o o o o o / 15
   1:  GND                  2:  Audio >              3:  IRQ <>
   4:  Input 1 D4 <         5:  Input 1 D3 <         6:  Input 1 D2 <
   7:  Input 1 D1 <         8:  Input 1 D0 <         9:  CLK ($4017) >
   10: Output D2 >          11: Output D1 >          12: Output D0 (strobe) >
   13: Input 0 D1 <         14: CLK ($4016) >        15: +5V

      <: Input, >: Output, <>: Bidirectional

Input 0 is for con1 (D0) & con3 (D1) and input 1 is for con2 (D0) & con4 (D1).
Output D0 is also available in both controller ports and is used as strobe by all controllers (a signal sent by the game to tell the controllers it wants to know the states of the buttons).
Con1 (D0) is not available in the expansion port, only in controller port 1. Con2 (D0) however is available for some reason and may cause a conflict with the same pin in controller port 2 if both are used at the same time.


That's the thing - from his testing it appears the 5V and ground are the other way around between Controller 1 and 2, so they are not interchangeable.


Update: When the Hudson is connected on the 2nd port, voltage on the 1st port reads correctly somehow? I built a simple frankenstein 9-to-15 pin adapter, and interestingly generic 9-pin controller (2nd player for Super Joy III) was able to send some signals while the Hudson was connected (no directions, and buttons A/B register as "right"). This gives me hope. I still cannot reach the pin 14 until I receive my cable (the pin I believe is D0)


That really does sound like a problem with the pull up resistors. Buttons working as directions is what you sometimes get in that case.

You sure those resistors on the board haven't failed open?


Quote from: Skawo on February 15, 2024, 03:44:26 pmThat really does sound like a problem with the pull up resistors. Buttons working as directions is what you sometimes get in that case.

You sure those resistors on the board haven't failed open?

I don't see anything visual. Should I verify each resistor value?
EDIT: I forgot to mention that current adaptor wouldn't work anyways because it cannot reach pin 14 which I believe D0 on this console. So I will wait until I get the full cable from Ali Express /EDIT

In the meantime I got a Hori card controller. Works just like Hudson on port 2, no response on port 1 by itself BUT while Hudson is on port 2, it pushes multiple buttons at once. Multi cart game list keeps scrolling up, and if I manage to start a game it moves and shoots all over the place. As soon as I pull the Hudson from the second port it stops. Looks like they fighting over control lol.