Homepage › Forums › RetroPie Project › GPIO Adapter, ControlBlock etc. › NES + ControlBlock
Tagged: ControlBlock NES controller
- This topic has 15 replies, 3 voices, and was last updated 9 years, 8 months ago by petrockblog.
-
AuthorPosts
-
02/16/2015 at 00:51 #87586tangloParticipant
I’ve installed the ControlBlock on my Rpi, wired the original NES controllers, installed the driver, changed the settings for the CB, wired the power switch to the “button” pins on the CB, and wired the led.
The LED is working fine. I am able to use the power button to switch off the rpi, but I’m not able to switch it on using the button.
It seems like the EmulationStation software recognizes the CB, I get the “Configure Input” dialog, saying “2 gamepads detected. But when i press the A button on the controller, nothing happens.
I’m using a 2A power supply for the Rpi and a 1A power supply for the CB.
Any ideas?
02/16/2015 at 07:34 #87616petrockblogKeymasterRegarding the power switch it is important that the button is a “toggle” switch and not a “momentary” button. I just do not know what the NES power button type is right now. You can turn on the RPi with the button, but not not turn off? Or does the RPi turn on without any button press?
Ah, re-reading your post above I see that you are using two power supplies. You must only use a single power supply connected to the ControlBlock!
If that does not solve the power button issue, what is the output of these service installation commands:
git clone git://github.com/petrockblog/ControlBlockService.git cd ControlBlockService make sudo make install sudo make installservice
How does your configuration file
/etc/controlblockconfig.cfg
look like?
Could you maybe post one or two pictures of your controller connection setup?02/16/2015 at 10:00 #87625tangloParticipant– The power switch is a toggle switch
– I can not turn it on with the button. Only off.
– The only way I am able to turn the Rpi on, is by connecting a power supply to the – Rpi itself.
– Tried using a single power supply connected to the CB, nothing happened. That’s why I started using two.Installation commands gives the expected results.
{ "input" : { "gamepadtype" : "snes" }, "powerswitch" : { "activated" : true } }
Attached a picture of the connections
02/16/2015 at 21:31 #87727petrockblogKeymasterThe power switch will only work with a single power supply attached to the ControlBlock. For what I experienced, the micro USB cable can also have an impact: In my case I had to used a very cheap one that seems to lead to quite a high voltage drop. There are also some posts about this in the official RPi forum, e.g., at http://www.raspberrypi.org/forums/viewtopic.php?p=370520#p370520.
What does
sudo i2cdetect -y 1
give as output? This checks for I2C devices …02/17/2015 at 19:23 #87848tangloParticipantSolved.
The USB port on the CB is defective.
Soldered a cable to the 5V connection on the CB.Now everything is working fine.
02/18/2015 at 19:24 #87963petrockblogKeymasterGlad that you figured it out. And sorry for the faulty USB connector. Just send me an email if you would like to get an sort of compensation or similar!
02/24/2015 at 03:41 #88838cnicholsParticipantI am using the ControlBlock with a RPi B+ to run RetroPie for a NES system and am currently facing 2 issues:
1. I am getting a message on the Retropie splash screen when I boot on that states “readonly mode, sorry (start with –edit?)
2. I am able to use the NES controllers to navigate EmulationStation but when I select a game, I do get any response within the game. A yellow alert shows up along the base of the screen that says “Joypad port #1 (SNES to Gamepad Device) configured”
I changed the controller configuration using
sudo nano ~/controlblockconfig.cfg
and commented arcade and uncommented SNES.Any idea how to fix these two issues?
Do I need to install the SNES Dev programs if I’m using the ControlBlock?
02/24/2015 at 12:34 #88870tangloParticipantTry to replace the code in the controlblockconfig.cfg with this:
{ "input" : { "gamepadtype" : "snes" }, "powerswitch" : { "activated" : true } }
Did You config the emulator?
For the NES emulator, edit this file: /opt/retropie/configs/nes/retroarch.cfg
Mine looks like this:
# All settings made here will override the global settings for the current emulator core video_shader = /opt/retropie/emulators/retroarch/shader/phosphor.glslp video_shader_enable = false video_smooth = false input_player1_joypad_index = "0" input_player1_b_btn = "3" input_player1_select_btn = "6" input_player1_start_btn = "7" input_player1_up_axis = "-1" input_player1_down_axis = "+1" input_player1_left_axis = "-0" input_player1_right_axis = "+0" input_player1_a_btn = "1" input_player2_joypad_index = "1" input_player2_b_btn = "3" input_player2_select_btn = "6" input_player2_start_btn = "7" input_player2_up_axis = "-1" input_player2_down_axis = "+1" input_player2_left_axis = "-0" input_player2_right_axis = "+0" input_player2_a_btn = "1" input_enable_hotkey_btn = "6" input_exit_emulator_btn = "7"
You do not need snesdev.
02/25/2015 at 03:53 #89004cnicholsParticipantSo I was getting frustrated and started over from the beginning. Finally got all the hardware to be recognized and somewhat finished so I thought I was just having software issues. Formatting my SD card and installed RetroPie V 2.6. Ran through all of the setup stuff from
https://github.com/retropie/RetroPie-Setup
After I installed the emulators via binaries I shut down the Pi and Started installing the control block service per:
https://github.com/petrockblog/ControlBlockServiceAfter I get to the
cd ControlBlockService make
I got the following message:
–Configuring incomplete, errors occurred!
Makefile:27: recipe for target ‘../lib/jsoncpp/build/release/lib/libjsoncpp.a’ failed
make[1]: *** [../lib/jsoncpp/build/release/lib/libjsoncpp.a] Error 1
make[1]: Leaving directory ‘/home/pi/ControlBlockService/src/controlblock’
makefile:16: recipe for target ‘all’ failed
make: *** [all] Error 2when I try to access the controlblockconfig.cfg file the only thing that shows up is a line at the top of the screen that says ‘GNU nano 2.2.6’
Any experience with what this means or how to fix it?
02/25/2015 at 19:31 #89090petrockblogKeymasterThe link to the image in your post is broken.
Just to make sure: Did you expand your file system after you copied the RetroPie SD Card image and booted for the first time? This is necessary, otherwise you would only have about 60 MB of free disk space.
02/27/2015 at 05:29 #89393cnicholsParticipantI type
sudo raspi-config
and select Option 1 > Expand Filesystem > ok > rebootWhen I load the SD card in my computer, it says the disk only has a 60 MB partition.
Any idea how to fix this?02/27/2015 at 18:22 #89455petrockblogKeymasterYour windows PC will most probably not show all partitions of the SD card. What ist the output now when you type
df -h
?
If you have expanded the file system after you observed the problems with the installation, I would suggest to try and re-install the ControlBlockService from scratch again (e.g., remove the ControlBlockService folder and rebuild/reinstall it).02/27/2015 at 18:37 #89457cnicholsParticipantdf -h
Filesystem Size Used Avail use% Mounted on
rootfs 15G 1.7G 13G 13% /
/dev/root 15G 1.7G 13G 13% /
devtmpfs 119M 0 119M 0% /dev
tmpfs 25M 388K 25M 2% /run
tmpfs 5M 0 5M 0% /run/lock
tmpfs 49M 0 49M 0% /run/shm
/dev/mmcblk0p1 57M 53M 4M 94% /boot02/27/2015 at 23:03 #89496cnicholsParticipantAlright I got it back to where I was in the beginning. I have the NES controllers able to navigate emulationstation. I have changed the NES RetroArch.cfg file to make the one posted by tanglo (Thank You!). I have ensured the button configuration matched what was logged when I configured for ES.
A=1
B=3
Up=1-
Down=1+…When I select a game, I still cant get the NES controllers to do anything. I unplugged all other connections and just have the two NES controllers plugged in. Both work in ES, neither work within the games themselves.
What other options do I have?
02/28/2015 at 20:36 #89605cnicholsParticipantI figured it out! I noticed it mentioned something about Port #3 when I loaded a game and wondered if the retroarch.cfg file should say something beside input_player1_joypad_index = “0”.
Recorded the opening screen and the yellow text along the bottom reads:
joypad port #0 (SNES-to-Gamepad Device) configured
joypad port #2 (ControlBlock SNES gamepad) configured
joypad port #3 (ControlBlock SNES gamepad) configured
joypad port #1 (SNES-to-Gamepad Device) configuredchanged the retroarch.cfg file so input_player1 = 2 and input_player2 = 3.
Started emulationstation and was able to navigate ES as well as use my original controllers within the game.I now need to troubleshoot controller 2 because the A button isn’t registering. I think it is likely a hardware or connection issue that I’ll have to figure out.
Thanks again for the help!
03/01/2015 at 21:21 #89745petrockblogKeymasterGlad that you made the ControlBlock work now!
Looking at
[quote=89605]joypad port #0 (SNES-to-Gamepad Device) configured
joypad port #2 (ControlBlock SNES gamepad) configured
joypad port #3 (ControlBlock SNES gamepad) configured
joypad port #1 (SNES-to-Gamepad Device) configured[/quote]
I can see that SNESDev is also running. I recommend to disable that! It is a driver for the RetroPie GPIO Adapter and you do not need it when you are using the ControlBlock! To uninstall the service you need to do follow these commands:cd /opt/retropie/supplementary/snesdev sudo make uninstallservice
That will remove the devices “SNES-to-Gamepad Device” that you do not need anyway.
-
AuthorPosts
- The forum ‘GPIO Adapter, ControlBlock etc.’ is closed to new topics and replies.