Forum Replies Created
-
AuthorPosts
-
trimmtrabbParticipant
Thanks for the guide! I moved to USB after having constant corruption issues with my SD, USB is so much more reliable and considerably cheaper :-)
trimmtrabbParticipantThanks for sharing, really nice work :-)
trimmtrabbParticipantOh good glad you got it working. You should mame4all-pi though, it’s quite a performance increase over the default core :-)
03/01/2014 at 23:04 in reply to: Script to generate Emulation Station xml for MAME (entirely offline!) #5345trimmtrabbParticipantgreat, this will save a lot of time and effort thanks!
trimmtrabbParticipantThe default MAME emulator in the RetroPie image is imame4all, you can replace it with mame4all-pi which is optimized for the Pi and has much better performance. You can install it via the setup script (it’s in Option 2 “Source based installation”)
Then you need to edit your es_systems.cfg and replace the existing MAME section with this:
DESCNAME=MAME NAME=mame PATH=/home/pi/RetroPie/emulators/mame4all-pi/roms EXTENSION=.zip .ZIP COMMAND=/home/pi/RetroPie/emulators/mame4all-pi/mame %BASENAME% PLATFORMID=23
Then create a folder ‘cfg’ in /home/pi/RetroPie/emulators/mame4all-pi/
Roms go in /home/pi/RetroPie/emulators/mame4all-pi/roms/
mame.cfg is the config file for mame4all-pi located in /home/pi/RetroPie/emulators/mame4all-pi/
You will need a keyboard to setup your gamepad/joystick if you use one, press tab to open the GUI
mame4all-pi requires 0.37b5 roms
Hope this helps
trimmtrabbParticipantwhich emulator are you using for MAME?
trimmtrabbParticipantyeah you do need a bios for Sega CD, which runs a lot better. Roms go in the Megadrive folder again. Glad you got the 32X working, shame it’s unplayable even with overclocking :-(
trimmtrabbParticipantHi, this thread should help you configure your pad: https://www.petrockblock.com/forums/topic/required-input-a-not-mapped/
trimmtrabbParticipantthanks guys i’ll try your suggestions
trimmtrabbParticipantthe file you need to look at is retroarch.cfg located in home/pi/RetroPie/configs/all/retroarch.cfg
To determine buttons run:
sudo apt-get install joystick
then
jstest /dev/input/js0
Here is the joypad section of my retroarch.cfg configured for my Xbox pad for example:
input_player1_joypad_index = "0" input_player1_b_btn = "1" input_player1_y_btn = "3" input_player1_select_btn = "8" input_player1_start_btn = "9" input_player1_up_axis = "-5" input_player1_down_axis = "+5" input_player1_left_axis = "-4" input_player1_right_axis = "+4" input_player1_a_btn = "0" input_player1_x_btn = "2" input_player1_l_btn = "4" input_player1_r_btn = "5" input_player1_l2_btn = "6" input_player1_r2_btn = "7" input_player1_l3_btn = "11" input_player1_r3_btn = "12" input_player1_l_x_plus_axis = "+0" input_player1_l_x_minus_axis = "-0" input_player1_l_y_plus_axis = "+1" input_player1_l_y_minus_axis = "-1" input_player1_r_x_plus_axis = "+2" input_player1_r_x_minus_axis = "-2" input_player1_r_y_plus_axis = "+3" input_player1_r_y_minus_axis = "-3" input_enable_hotkey_btn = "8" input_exit_emulator_btn = "9" input_save_state_btn = "5" input_load_state_btn = "4" input_state_slot_increase_btn = "7" input_state_slot_decrease_btn ="6" input_menu_toggle_btn = "3"
For player 2 controls copy player 1 controls and change ‘joypad_index’ to 1 and ‘input_player1’ to 2 e.g. :
input_player2_joypad_index = "1" input_player2_b_btn = "1" input_player2_y_btn = "3"
etc
Here is the skeleton config for retroarch.cfg:
https://github.com/libretro/RetroArch/blob/master/retroarch.cfgtrimmtrabbParticipantplace the rom in home/pi/retropie/roms/megadrive
reboot & it should show up in Emulation Station under Genesis page
trimmtrabbParticipantHmmm, I don’t think you need a bios for Picodrive. I could be wrong but I didn’t need one (performance isn’t great by the way) Could it be the rom file?
trimmtrabbParticipantwhich emulator are you using, DGEN or Picodrive? DGEN doesn’t support 32X (the latest RetroPie image uses Picodrive as default)
trimmtrabbParticipantYes it is possible to use a PS3 pad and an Xbox pad at the same time. Info here of setting up a PS3 pad:
https://github.com/retropie/RetroPie-Setup/wiki/Setting-up-a-PS3-controller
I think if you plug your bluetooth module in the second (lower) usb port it will be assigned /dev/input/js1 instead of js0So in your retroarch.cfg you would configure player 2 controls like this:
input_player2_joypad_index = “1″ input_player2_a_btn = “13″ input_player2_b_btn = “14″
etc
Here is the list of known working bluetooth adapters: http://elinux.org/RPi_USB_Bluetooth_adapters#Working_Bluetooth_adapters
I don’t think you will be able to hot swap the bluetooth/Xbox pad, either leave both plugged in or swap and reboot.
trimmtrabbParticipantYou just insert the keymaps you want to use, you don’t need to delete any unless you’ve got conflicting keymaps. Have a look at mine for guidance. Use jtest to determine which buttons are which:
sudo apt-get install joystick
then run:
jstest /dev/input/js0
As I mentioned in the post above there are a lot more options you can configure with retroarch.cfg (anything with a # is commented out):
https://github.com/libretro/RetroArch/blob/master/retroarch.cfg
trimmtrabbParticipantI use an Xbox 360 pad, was going to use a SNES or NES usb pad but wireless is so much more convenient :-) Easy to set up too: https://github.com/retropie/RetroPie-Setup/wiki/Setting-up-the-XBox360-controller
A 3rd party wireless receiver should be fine, there was a member who confirmed them working recently.
Haven’t tried a PS3 pad as I already had a 360 pad but I don’t think they’re too hard to setup either.
trimmtrabbParticipantThere’s nothing you can do to ‘boost’ the power without modding, any device connected is limited to how much current it may draw (not a lot) but a gamepad should be fine.
The extension cable is obviously the problem, not all usb cables are equal and cheap cables are especially hit and miss. Also the length of the cable may drop the voltage enough to cause issues. Strange that it worked the first time though. The only other thing I can suggest is try another cable or use a powered usb hub.
trimmtrabbParticipantSorry i’m not quite sure what you’re asking here? If your Mac and your Pi are connected on your network the Pi should show up as a Samba share on your Mac to which you can transfer your roms to.
trimmtrabbParticipant[quote=5243]I configured the RetroArch controls through the Emulation Station and have been able to play Master System, Game Gear, SNES, NES, and Atari games without an issue. Should I still try to do it using the method above? Are there any downsides to setting up the controls through the Emulation Station interface? Everything seems to be working, oddly enough even non-RetroArch emulators (Master System, Game Gear)[/quote]
The Emulation Station joypad config only maps the basic buttons, the retroarch.cfg I posted has a lot more buttons configured for the Xbox pad like the hotkeys etc as I mentioned. You can backup your retroarch.cfg by renaming it retroarch2.cfg or something and copy mine over.
trimmtrabbParticipantOk, are you able to navigate Emulation Station with your pad now?
The next step is to set your controls up. *Most* of the emulators are configured with retroarch.cfg which is a config file located in /home/pi/RetroPie/configs/all/
I have attached my retroarch.cfg which is setup with my Xbox 360 pad so should work with yours. You need to unzip the file & place it in /home/pi/RetroPie/configs/all/
You should now be able to use your pad with most of the emulators including SNES, NES, Megadrive & Playstation. If you want to swap some of the buttons around you can just edit the retroarch.cfg with:
nano /home/pi/RetroPie/configs/all/retroarch.cfg
Also you may want to set up different configs for specific emulators, you just need to copy the retroarch.cfg and place it in the relevant folder, e.g. for Megadrive put it in /home/pi/RetroPie/configs/megadrive
This will override the default retroarch.cfg in /home/pi/RetroPie/configs/all/
I have set the ‘hotkey’ button to the ‘back’ button on the pad. This means that if you press the back button and specific buttons you can access different options:
back & start = emulator exit
back & home button = Retroarch GUI (useful for setting frameskip)
back & left shoulder button = load save file
back & right shoulder button = save file
back & left trigger = select save state decrease
back & right trigger = select save state increaseThere are other options you can configure with retroarch.cfg:
https://github.com/libretro/RetroArch/blob/master/retroarch.cfgAlso you may want to look at overclocking your Pi (needed for Playstation emulation and even then the Pi will struggle)
There are a few emulators that aren’t configured through Retroarch, hopefully you can play the ones you want now.
trimmtrabbParticipantok i’m assuming the pad is connected directly to the pi and not through an unpowered usb hub which may cause issues. Also ensure your power supply is sufficient (a 1Amp good quality PSU)
Then start with a new RetroPie image 1.9.1
run:
sudo apt-get install xboxdrv
then you need to edit rc.local with the nano txt editor:
sudo nano /etc/rc.local
add this line just before exit 0:
xboxdrv --trigger-as-button --id 0 --led 2 --deadzone 4000 --silent & sleep 1
so it reads:
fi xboxdrv --trigger-as-button --id 0 --led 2 --deadzone 4000 --silent & sleep 1 exit 0
(make sure you save it, ctrl-x and press y)
then run:
cd .emulationstation sudo rm es_input.cfg
then reboot and follow the on screen prompts.
If you follow those instructions exactly your pad should connect on reboot and the top left led should light up instead of flashing constantly. Once you have done this we can move on to the next part.
trimmtrabbParticipant[quote=5215]
No, the center Xbox light is always flashing. And I would like to be able to run them all.
[/quote]Ok, so your pad is not connecting, you will need to fix this before anything else. What type of pad is it, official? wired or wireless?
trimmtrabbParticipantwhich emulators are you wanting to run? can you confirm that your xbox pad connects properly, i.e. the first led on the home button lights up?
trimmtrabbParticipanttry the latest RetroPie image 1.9.1 it definitely works on that. Maybe somethings gone wrong with your installation via the setup script
trimmtrabbParticipantYou don’t need to run
xboxdrv -D i 0 --next-controller -i 1 --next-controller -i 2 --next-controller -i 3 --deadzone 4000 --dbus disabled &
if you have edited /etc/rc.local to start xboxdrv on boot, your pad should connect automatically.
In this thread gizmo98 confirmed the joypad config was broken and suggested this command:
# cp /home/pi/RetroPie-Setup/supplementary/settings.xml /home/pi/supplementary/supplementary/ES-config/
and trying the joypad config again. You will need to place a blank file ‘gngeorc’ in /home/pi/.gngeo/ and and a file ‘dgenrc’ in home/pi/RetroPie/configs/all/
Regarding Dgen, I recommend you switch to Picodrive for Genesis emulation, it has better performance and compatibility and supports Sega CD/32X. It is also configured through Retroarch. It is the default emulator in the latest RetroPie image 1.9.1 or you can install it via the setup script. I made a guide here a while ago, should still be the same process: https://www.petrockblock.com/forums/topic/change-dgen-to-picodrive-in-retropie-image-1-7/
trimmtrabbParticipantHi, this page should help get you started: https://github.com/retropie/RetroPie-Setup/wiki/How-to-get-ROMs-on-the-SD-card
trimmtrabbParticipantThere is some info on gngeo here:
https://github.com/retropie/RetroPie-Setup/wiki/GnGeo-Pi
https://github.com/ymartel06/GnGeo-Pi/wikiNote: “Gngeo-Pi is compliant with roms set of mame 0.138”
Looks like you need to create a file ‘gngeorc’ in /home/pi/.gngeo/
Copy the contents of https://github.com/ssilverm/PiMAME/blob/master/.gngeo/gngeorcThen use jtest to determine the buttons on your gamepad. If you press one of the buttons you should see one of the buttons 0-11 change from off to on.
Then you need to edit gngeorc, this is the line you need to edit:
p1control A=,B=,C=,D=,START=,COIN=,UP=,DOWN=,LEFT=,RIGHT=,MENU=
So pick which button you want to use for ‘A’ on your gamepad, run jtest and note the output when you press it, let’s say it’s recognised as button ‘1’ (will show as 1:on in jtest)
Then edit gngeorc accordingly:
p1control A=J0B1,B=,C=,D=,START=,COIN=,UP=,DOWN=,LEFT=,RIGHT=,MENU=
Look at the samples for guidance:
# some sample joystick configuration # Xbox360 # p1control A=J0B0,B=J0B1,C=J0B2,D=J0B3,START=J0B6,COIN=J0B10,UP=J0a1,DOWN=J0a1,LEFT=J0A0,RIGHT=J0A0,MENU=J0B7 # Dualshock2 # p1control A=J0B2,B=J0B1,C=J0B3,D=J0B0,START=J0B9,COIN=J0B8,UP=J0a1,DOWN=J0a1,LEFT=J0A0,RIGHT=J0A0
Regarding the left/right/up/down controls it looks like you want to use axis 4 and 5 going by the output of jtest. So you would edit the controls like this:
p1control A=J0B1,B=,C=,D=,START=,COIN=,UP=J0a5,DOWN=J0a5,LEFT=J0A4,RIGHT=J0A4,MENU=
Use lower or uppercase ‘a’ to invert the axis
Then you need to edit gngeorc to point to the roms, bios and datafile. Edit this line:
# Where your rom are? rompath /home/pi/roms
change it to:
# Where your rom are? rompath /home/pi/RetroPie/roms/neogeo
then change
# Where did you put yout neogeo.zip bios file? biospath /home/pi/roms
to:
# Where did you put yout neogeo.zip bios file? biospath /home/pi/RetroPie/emulators/gngeo-pi-0.85/neogeobios
*note* you need to create a neogeobios folder to put the bios in
Also change
# Where gngeo can find its datafile (font/skin/etc.) #datafile /usr/games/lib/gngeo/gngeo_data.zip datafile /usr/local/share/gngeo/gngeo_data.zip
to:
# Where gngeo can find its datafile (font/skin/etc.) datafile /home/pi/RetroPie/emulators/gngeo-pi-0.85/installdir/share/gngeo/gngeo_data.zip
You also need to change to the rom type you are using:
# country? # japan, usa, europe country usa
So to sum up, put your roms in /home/pi/RetroPie/roms/neogeo
Put your bios in /home/pi/RetroPie/emulators/gngeo-pi-0.85/neogeobiosEdit your gngeorc as above and you should be good to go.
All of the above is assuming you are running the stock RetroPie image 1.9.1 and haven’t modified es-systems.cfg
trimmtrabbParticipantHi, press F4 to exit emulation station. Alternatively you can SSH into the Pi, the default username is pi and the password is raspberry
trimmtrabbParticipantcan you post your es_systems.cfg? also what version of RetroPie are you running, the 1.9.1 image or have you installed via the setup script?
trimmtrabbParticipantHi, any particular reason your are using DGEN? Picodrive is the default Megadrive emulator in the latest RetroPie 1.9.1 image, it runs much better than DGEN and can be configured through Retroarch (/home/pi/RetroPie/configs/all/retroarch.cfg) You can also install it via the setup script but you will also need to update Emulation Station too or edit es_systems.cfg manually to point to Picodrive.
Regarding Gngeo I don’t use it myself but here is the gngeorc sample config:
https://github.com/ssilverm/PiMAME/blob/master/.gngeo/gngeorcIt is located at /home/pi/.gngeo/
The section you need to look at is at the bottom:
# some sample joystick configuration # Xbox360 # p1control A=J0B0,B=J0B1,C=J0B2,D=J0B3,START=J0B6,COIN=J0B10,UP=J0a1,DOWN=J0a1,LEFT=J0A0,RIGHT=J0A0,MENU=J0B7 # Dualshock2 # p1control A=J0B2,B=J0B1,C=J0B3,D=J0B0,START=J0B9,COIN=J0B8,UP=J0a1,DOWN=J0a1,LEFT=J0A0,RIGHT=J0A0 # Meaning of the code: # Kxxx : keyboad key number xxx # JxByy : Joystick number x Button # JxAyy : Joystick number x Axe yy (use a lowercase 'a' if you need to invert the axis) # JxHyy : Joystick number x Hat yy # # by the way, you can define a button multiple time, for example A=J0B0,A=K123,etc..
Any lines with # before it are commented out, you need to remove the # to enable the option.
Use jtest to determine the buttons on your pad:
sudo apt-get install joystick
then run:
jstest /dev/input/js0
Hope this helps
trimmtrabbParticipantHi, try this, assuming xboxdrv is installed (sudo apt-get install xboxdrv)
via command line or SSH run:
sudo nano /etc/rc.local
You need to add this line for a wireless pad:
xboxdrv --trigger-as-button --wid 0 --led 2 --deadzone 4000 --silent & sleep 1
or for a wired pad
xboxdrv --trigger-as-button --id 0 --led 2 --deadzone 4000 --silent & sleep 1
just before ‘exit 0’
so it reads:
fi xboxdrv --trigger-as-button --wid 0 --led 2 --deadzone 4000 --silent & sleep 1 exit 0
Reboot and your pad should connect.
Then follow post #2 in this thread to configure your pad: https://www.petrockblock.com/forums/topic/need-help-with-setting-up-retropie/
To control Emulation Station with your Xbox pad:
cd .emulationstation sudo rm es_input.cfg
Reboot and follow the prompts on screen.
trimmtrabbParticipantHi, most of the emulators are configured with retroarch.cfg, which is a config file located in /home/pi/RetroPie/configs/all/
Here is the skeleton retroarch.cfg which shows all the options you can configure: https://github.com/libretro/RetroArch/blob/master/retroarch.cfg (anything with a # is commented out)
To define controls for your two gamepads you need to edit your retroarch.cfg via command line or SSH:
nano /home/pi/RetroPie/configs/all/retroarch.cfg
Here is the joypad section of my retroarch.cfg for example, set up for a Xbox 360 pad:
input_player1_joypad_index = "0" input_player1_b_btn = "1" input_player1_y_btn = "3" input_player1_select_btn = "8" input_player1_start_btn = "9" input_player1_up_axis = "-5" input_player1_down_axis = "+5" input_player1_left_axis = "-4" input_player1_right_axis = "+4" input_player1_a_btn = "0" input_player1_x_btn = "2" input_player1_l_btn = "4" input_player1_r_btn = "5" input_player1_l2_btn = "6" input_player1_r2_btn = "7" input_player1_l3_btn = "11" input_player1_r3_btn = "12" input_player1_l_x_plus_axis = "+0" input_player1_l_x_minus_axis = "-0" input_player1_l_y_plus_axis = "+1" input_player1_l_y_minus_axis = "-1" input_player1_r_x_plus_axis = "+2" input_player1_r_x_minus_axis = "-2" input_player1_r_y_plus_axis = "+3" input_player1_r_y_minus_axis = "-3" input_enable_hotkey_btn = "8" input_exit_emulator_btn = "9" input_enable_hotkey_btn = "8" input_save_state_btn = "5" input_enable_hotkey_btn = "8" input_load_state_btn = "4" input_enable_hotkey_btn = "8" input_state_slot_increase_btn = "7" input_enable_hotkey_btn = "8" input_state_slot_decrease_btn ="6" input_enable_hotkey_btn = "8" input_menu_toggle_btn = "3"
You can use the above as a template (depending on how many buttons you have) but you need to determine which buttons are what on your controller. You can install the jtest utility:
sudo apt-get install joystick
and then run:
jstest /dev/input/js0
To add 2 player controls to your retroarch.cfg, just copy the player 1 controls and paste underneath. Then change input_player1_joypad_index = “0”
to input_player2_joypad_index = “1”All keymaps need to change to input_player2 instead on input_player1, for example input_player2_b_btn = “1” etc
Hope this helps!
trimmtrabbParticipantit says you’re trying ‘ssh ip’ in your post?
trimmtrabbParticipantNot sure if you need quotation marks either side of the gamepad buttons, try copying and pasting this:
input_player1_joypad_index = 0 input_player1_select_btn = "8" input_player1_start_btn = "9" input_player1_up_axis = "-1" input_player1_down_axis = "+1" input_player1_left_axis = "-0" input_player1_right_axis = "+0" input_player1_a_btn = "0" input_player1_b_btn = "1"
trimmtrabbParticipantHi, this tutorial should help you with the basics:
An A to Z Beginners Guide to Installing RetroPie on a Raspberry Pi 2 B+
Some of it’s a bit out of date now but the main things you need to know are covered. I recommend you use the pre-built RetroPie image if you aren’t already:
https://www.petrockblock.com/retropie/retropie-downloads/ -
AuthorPosts