iBuffalo Controllers
  • Anyone using iBuffalo controllers? http://www.amazon.com/Buffalo-Classic-USB-Gamepad-PC/dp/B002B9XB0E

    I got a pair of these to play SNES games, but I am having some issues with them. When I try to configure the controller, everything works fine until I need to select a button to exit, the only extra buttons are the Turbo and Clear buttons, neither of which the configuration tool will let me select.

    That aside, when I am in a game, if I press the A button the game quits and all of Pi Play exits to the terminal.

    I'd appreciate any help someone can provide.

    Thanks.
  • I bought the same controllers for the same reason and am having the same problem :(
  • I can try and help you out.
    Can you install and run jstest then post what each button outputs?

    Check out this post if you don't know how to install and run jstest:
    http://www.raspberrypi.org/forums/viewtopic.php?t=19900&p=450651
  • Thanks for the offer. I'll give this a shot, but won't get around to it until the weekend.
  • I ran jstest against the ibuffalo controllers. Those two buttons don't work.
  • Does it crash when you press the A button?

    Is there a way to have a 2 button command exit the game back to PiPlay, for instance, can you set it so if you press the start and select buttons it exists the game?
  • It is running like this in pifba : start + select exit emu
  • pisnes should be the same way. select + start pressed by player 1 should exit the emulator. It's a value that is hardcoded in.

    if (which1==0 && (val & SNES_SELECT_MASK) && (val & SNES_START_MASK)) S9xExit();
  • I am pulling my hair out with this. When I go into the config file, this is what I see. I know something it wrong, but I don't know what any of the setting for the joy stick actually should be. With this configuration, if I press the B button in the PiPlay menu, it exits to the terminal. If I press select in a game, it quits the game. HELP!

    [Joystick]
    # Get codes from "jstest /dev/input/js0"
    # from package "joystick"
    #player 1 joystick controls
    A_1=0
    B_1=1
    X_1=2
    Y_1=3
    L_1=4
    R_1=5
    START_1=7
    SELECT_1=6
    #Joystick axis
    JA_LR_1=0
    JA_UD_1=1

    #player 2 joystick controls
    A_2=0
    B_2=1
    X_2=2
    Y_2=3
    L_2=4
    R_2=6
    START_2=9
    SELECT_2=8
    #Joystick axis
    JA_LR_2=0
    JA_UD_2=1

    #joystick options
    QUIT=6
    ACCEL=999
    QLOAD=10
    QSAVE=11
  • down at the bottom of your config file. change 'QUIT=6' to 'QUIT=999'. That effectively disables your quit button, but pressing start+select is hard coded into the emulator, so you will still be able to quit that way.
  • Great! Thanks!

    What exactly to all the numbers mean or map to? I really want to understand more of what's going on rather than just a "cook book" approach. I understand in MAME that all the buttons map to keyboard keys, but I have no clue what's going on here. Any place I can go to get a better understanding of this?
  • ok, so each of your buttons is assigned a number. In your case, the 'select' button is number 6 (check under player1/select), but you also had your quit button assigned as 6. I'm guessing that you tried to map start+select as quit, but the system doesn't handle button combos. If you install and run jstest (see link from previous post), it will tell you what each of your buttons and joystick axis are assigned to.
  • After some extensive searching, I finally found a post regarding the ibuffalo turbo/clear buttons. Both are not action buttons, but modifier buttons. This copy/paste from Amazon outlines the configuration. Its specific to RetroPie, but should be easy enough to get working on PiPlay.

    There are 10 buttons, but this is an "8-button" gamepad because the Turbo and Clear buttons are modifier buttons and not action buttons. These buttons, in fact, do not appear to the operating system at all. When you do gamepad configuration in EmulationStation or any with any configuration tool, the Turbo and Clear don't appear. The turbo/clear functions are built into the controller itself.

    To apply turbo, press-and-hold Turbo, and press the button to which you want to apply turbo. So enable turbo for button A, press Turbo+A. To turn off turbo for A, you Clear+A. You apply turbo to buttons independently, so you can, for instance, have turbo turned on for buttons A and X, but not B or Y.

    This (and all) controllers require TWO configurations: one for EmualtionStation (the menu system), and one for playing games. The first one is easy because a graphical tool steps you through it. The configuration for games requires that you edit a text file. Second, even after you configure it for games, some emulators, such as the one for SNES, will get buttons mixed up. To fix this, you need to specify a different driver. So to fix BOTH these issues, do the following:

    (1) Exit EmulationStation to the console, and optionally start LX (startx)
    (2) Append the following to: /opt/retropie/configs/all/retroarch.cfg

    # Start
    input_joypad_driver = linuxraw
    input_player1_joypad_index = "0"
    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"
    input_player1_x_btn = "2"
    input_player1_y_btn = "3"
    input_player1_select_btn = "6"
    input_player1_start_btn = "7"
    input_exit_emulator_btn = "4"
    input_menu_toggle_btn = "5"
    # End

    (3) Reboot the Pi and you're good to go. The left-front button will exit out of games and get you back to the menu. The right button brings up the in-game menu, although up/down on the gamepad doesn't change menu items. That may be a side-effect of using the linuxraw driver above. You can either comment out the linuxraw line, or use a keyboard to move through that in-game menu.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!