Brilliant, thanks Paul, that was just what I needed. I soldered my connections at the switch to make sure there were no frayed strands causing shorts and connected as you advised and all is working perfectly.
In case anyone happens across this thread with the same problem, the connections were as follows:
Switch ---> ControlBlock GPIO
( + ) ---> LED +
( - ) ---> LED -
NO1 ---> Switch +
C1 ---> Switch -
@mark1986 Thank you! I have two wires for every button on my arcade setup, as it came delivered that way with the Zero Delay Controller Card. But I'm planning to build an arcade stick for my PS4, then I'll use a daisy chain for sure ;)
Figured it out, sort of. Ended up just using the Gamecon GPIO module and getting the GPIO pin placement correct.
Unfortunately, the victory became pointless when I then moved to install the PiTFT 3.5" screen as the kernel that the adafruit-pitft-helper installs is something like RetroPIE 4.1.14 v7, where the newest version, that the gamecon GPIO driver works with is 4.4.something. (Sorry don't have it running in front me.) I can actually see it uninstalling the gamecon module when I run the pitft-helper scripts, and then can't re-install gamecon from the RetroPIE setup util...
Certain SNES games and emulator combinations have issues with the controls, e.g. certain versions of Super Mario: One solution in those cases is to switch to player two. With that controls you can continue to play then. That is not an issue of the ControlBlock.
Generally: If the controller works in one program, but not in another, then it is a matter of configuration of the specific program. The ControlBlock is working correctly then.
Hope that helps!
Some time ago I put together an article about a RetroPie gaming console for under 90 USD. The power supply that I suggest there is the "official Raspberry Pi power supply". I have made good experiences with it (meaning I had no problems with it so far).
@JoargTheBard the control block seems to set them to js0 and 1 by default. I have had problems with my Bluetooth / and systems like daphne because of it. I know only use the control block as a power block with the power block script. It only shuts down and powers up the system with a led indicator but that's fine because I went to the Bluetooth controllers anyways
The main documentation for the ControlBlock can be found here. The sources of the ControlBlock driver are hosted at Github. Currently, the ControlBlock driver does not support N64 controllers and certainly would need to be added to the driver, if you want to connect N64 controllers to the ControlBlock.
I hope this points you into a helpful direction.
Switch is fine. Checked and double checked. When I get a chance this Summer I'll examine the code and see if I can figure out what is going on with the service and hardware. Any suggestions on where to start?
If you are interested in working on the ControlBlock sources, a place to add that functionality would be https://github.com/petrockblog/ControlBlockService2/blob/master/src/controlblock/SNESGamepad.cpp. You could take a look at https://github.com/petrockblog/ControlBlockService2/blob/master/src/controlblock/MAMEGamepad.cpp, where a simulated keyboard is already implemented.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.