We just released an update for the driver of the ControlBlock! What does this mean for you? More functionalities!
More specifically, the updates contain:
- 4-player support
Multiple ControlBlocks can be stacked on top of each other. With this functionality you can now create your 4-player arcade machine with two ControlBlocks. Each ControlBlock can be configured with its own controller type. That means for example that you could provide two full sets of arcade controllers and two, say, SNES controllers – you can choose!
Genesis/Megadrive, Atari controller support
The driver now support Genesis / Megadrive and Atari controllers. Both types, the three as well as the six button Genesis controllers, are supported. To use Genesis controllers with the ControlBlock simply set “genesis” as gamepad type in the driver config file.
Custom shutdown script
We got several requests from users who want to execute their own scripts when the power switch is switched to “off”. The whole shutdown actions are now defined in the file
/etc/controlblockswitchoff.shYou can add anything you want to be executed on switch off to that script now.
Reset button for SNES gamepad mode
SNES mode now also provides a reset button functionality. If you want to build your personal retro-gaming machine within a SNES or NES case you can now also connect the reset button to the ControlBlock. The reset button is mapped to the ESC key, which in turn exits for example a running emulator.
The reset button must be connected to GND and Player 1, Input B. All configuration settings and detailed information about the other functions are described at the Github site of the driver.
Besides updates of the ControlBlock driver there are now driver modules for the ControlBlock (and the PowerBlock as well) in RetroPie. That makes it even easier for you to install the PowerBlock or ControlBlock driver for your RetroPie project. You find the drivers in the RetroPie-Setup menu at “Manage packages” → “Manage driver packages” → “controlblock”. From there, you can easily install or remove the driver from within the RetroPie Setup.
We hope you enjoy these new features!
If you are missing any functionality or support for different controllers feel free to comment below.
Perhaps I’m being a bit thickheaded, where exactly are you supposed to connect the wires to said reset-switch?
The reset switch must be connected to GND and “Player 2 – B”. It is also shown in the image above in the article (4. Reset button for SNES gamepad mode).
That pic didn’t zoom so I had real difficulties trying to detect where it was connected :)
I just updated the article. Hope it is easier to see now.
Really dumb question @petrockblog:disqus . I get what you are saying on where to connect the reset button wires to the controlblock, but I don’t understand where you connect it to the actual reset button. Maybe a picture from the underside of the reset button would help?
PS. Thanks for adding this functionality, it will really spruce up my SNES pi. Looking forward to soldering soon!
I have just updated the images with the SNES reset button. Hope that helps. Also, the old image still showed a wrong connection between the ControlBlock and the reset button. It must be connected to GND and Player 1 – B, just as described at https://github.com/petrockblog/ControlBlockService2#setting-the-type-of-gamepad.
@petrockblog:disqus When I put the wire wires to player 1 ground and player 1 B and I tap the wires together nothing happens when I am in game. However, if I am on the emulation station control panel and do the same thing it is like I am pushing start the first time and then start and select the second time and then back to the game menu.
It is best to test the ControlBlock from the command line. You can find some troubleshooting hints at https://github.com/petrockblog/ControlBlockService2#troubleshooting.
Maybe that gives some ideas.
Thanks. Time to learn something new!
You could use a multimeter and use the resistance measuring function to analyse the correct usage of your reset button. I did it that way.
@petrockblog:disqus Perfect. Thanks for the super quick response. Keep up the good work! I will give it all a go and post some pics of my finished product when it’s all done.
So excuse me if these are terribly stupid questions from someone inexperienced Pi-user. With these new drivers, we can set our gamepad mode to genesis, which is awesome.
Is there a way to make the driver combined with “onlyOneGamepad” look at different pins for the controller during the different modes? Like when Genesis mode is on, only looking for Genesis controller on left side of the controlblock and when Snes mode is on only looking for Snes/Nes on the right side of the controlblock, ignoring vice versa side. I would wish to let my controllers stay connected as much as possible, hence the question.
Also, another “feature” I would like to ask if possible is changing Gamepad mode without having to do the entire work of rewriting the config file every time you want to play with either controller? Either by a simple menu option command “Change Controlblock gamepad mode & Reboot” or by a physical button?
Again, sorry for these possibly stupid questions from someone who’s unexperienced and new to the hobby.
> Is there a way to make the driver combined with “onlyOneGamepad” look at different pins for the controller during the different modes?
Unfortunately, that is not possible at the moment.
> changing Gamepad mode
Also that is not possible at the moment, sorry.
I have created a feature request for setting the gamepad types for player 1 and player 2 independently. I cannot give any estimation when that feature will be implemented from me, though (https://github.com/petrockblog/ControlBlockService2/issues/23). Any pull request is welcome here ;-)
Looking for the same feature Jimmy. It would be grreate to have a way to switch between the gamepads without altering the config file each time and restarting the Pi.
I have been looking for weeks to find the n64 InputAutoConf.ini file so I can edit the controls and I have had no luck can anyone help me with this problem I have re downloaded it many times and have had no luck it would be greatly appreciated