Getting the MODE button to work on a Genesis 6-Button

Welcome Page Forums RetroPie Project Controller Configuration in RetroPie Getting the MODE button to work on a Genesis 6-Button

This topic contains 7 replies, has 2 voices, and was last updated by  herbfargus 2 years, 7 months ago.

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
  • #99728


    I have a Sega Genesis 6-button controller, and I can’t figure out how to get the mode button to work, and I can’t find anything online for it. I set up my controller based on the layout shown here:

    Assuming that “left bottom” and “right bottom” are L2 and R2, but that page makes no mention of the MODE button. From what I’ve read, you have to hold the MODE button when booting the Genesis in order to activate 6-button mode. I set the MODE button as input_select_btn, but when I hold that down when starting a game, the top row of buttons doesn’t work.

    Does anyone know how to get this working? When I use JSTEST, it shows that the MODE button is button 9 on my controller.



    If you note on the same page you referenced it talks about how to set up the 6 button mode through the retroarch rgui (hotkey select+x you may need a keyboard to navigate the rgui menu) and then go to options, core options, select 6 button gamepad, go back in the menu and select save configurations and upon rebooting the emulator you should be good to go.

    As far as the actual mode button itself it is equivalent to select (apologies I should have added the mode button to the diagram when I made it) which would also be your hotkey which may be why it doesn’t switch between 3 button mode and 6 button mode (similar to why the insert coin button doesn’t work as select on libretro-fba)- which in my opinion was kind of a redundant move on Sega’s part since the controller already had 6 buttons… Switching a mode doesn’t change the physical layout of the controller… But I digress. You may just have to manually change your settings in the rgui to enable 6 button mode as explained above and use the mode button as your hotkey. Alternatively you could disable select as a hotkey and see if the mode switching button works then (assuming that functionality was coded into retroarch in the first place).

    Also as a side note left bottom and right bottom refer to L1 and R1 as diagrammed on this xbox controller:

    But that point is moot as a 6 button Genesis controller doesn’t have shoulder buttons. Its just coded for controllers that do if people don’t have the exact same genesis controller since most modern controllers only have the 4 button layout and shoulders rather than a front facing 6 button layout.



    I must be missing something, and I’m not sure what. When I enter a game, and hit select + x, nothing happens. Here’s what I’ve done.

    • Exited EmulationStation
    • Go to
    • Take the option for SETUP
    • Take the option for “Register RetroArch controller
    • set up the controller how you’ve specified in the page I linked to before, and set the MODE button for “select”

    When I do this, the D-pad, A, B, C, and start buttons work as expected. Nothing else works. In your document, you say to launch a game and hit select + x. So I hit the MODE button (which I set up as select) and the X button on the controller (both the actual X button which is mapped as “left bottom”, and the Y button, which is mapped as X). Nothing happens. I even tried holding the MODE button and the X button on the keyboard. I don’t get a retroarch menu.

    When this didn’t happen, I went into /opt/retropie/configs/megadrive/retroarch.cfg and manually input the input_player1… mappings that you specified (but with my button numbers), and this also didn’t work. What am I doing wrong?



    Hmm that is odd, usually select+x works to open the rgui. its possible either your hotkeys aren’t configured or your mode button just doesn’t work. but there is a way you can do with your keyboard (you should only have to do it once in theory). The hotkey for Rgui on the keyboard is F1 so one way to test if the mode button works is to hold it down while you press f1 on the keyboard while in a game and see if it opens up (this is all assuming that you are using a retroarch core rather than dgen) If it doesn’t you can configure the hotkey option as described in this post:

    ESC key not working to exit game back to emulationstation

    If you select option 2 you’ll hold down alt+F1 to access the RGUI, if you choose option 3 you’ll just press esc to open the rgui. see if any of those work



    First off, thank you for your help and quick responses. I’m fairly new to all this, so I appreciate the help.

    So F1 did work and got me into the retroarch menu. I went through the process as described to enable 6 button controller for player 1. I then went to the retroarch.cfg and configured it 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_b_btn = “1”
    input_player1_y_btn = “0”
    input_player1_a_btn = “2”
    input_player1_x_btn = “4”
    input_player1_l_btn = “3”
    input_player1_r_btn = “6”

    input_player1_start_btn = “9”
    input_player1_select_btn = “7”

    input_enable_hotkey_btn = “7”
    input_exit_emulator = “9”
    input_save_state = “3”
    input_load_state = “6”

    As it stands now, the 6 face buttons seem to work (yay!). However, the hotkey doesn’t seem to work. When I test my controller using JSTEST, the MODE button does work, and responds as 7. When I try hitting MODE and START to exit the game, nothing happens. Same with save state & load state.

    I also went to /opt/retropie/emulators/retroarch/config and opened up the cfg for my controller, and this is how that is set up, I’m not sure if it matters or not:

    input_device = “Mayflash Ltd Mayflash MD USB Adapter”
    input_driver = “udev”
    input_b_btn = “1”
    input_y_btn = “0”
    input_select_btn = “7”
    input_start_btn = “9”
    input_up_btn = “12”
    input_down_btn = “14”
    input_left_btn = “15”
    input_right_btn = “13”
    input_a_btn = “2”
    input_x_btn = “4”
    input_l_btn = “3”
    input_r_btn = “6”

    input_enable_hotkey_btn = “7”
    input_exit_emulator = “9”

    Any thoughts?



    Well its good to know your mode button at least works. Sometimes configuration settings conflict- simplest way I’ve found to sort it out is to delete all the autoconfigs by typing this in the terminal:
    sudo rm /opt/retropie/emulators/retroarch/configs/*.cfg

    Then you can rerun retroarch-joyconfig from the setup script and should automatically set the hotkeys for you.

    (As a simple test before you do any of the aforementioned things try going back into the hotkey menu mentioned above and selecting option 1 and see if that fixes it)

    See these two videos for reference:



    I finally have it working! I just spent a ton of time changing things and trying to fix it. In the process, I ended up accidentally breaking it for my SNES controller, but I now have both my SNES controller and my 6-button Genesis controllers working.

    I believe (I’m not 100% sure) that the root of the problem was that in this file:


    the input_enable_hotkey value was commented out. Like I said, I believe that was the problem, but I can’t be 100% sure because I played around for quite a while.

    Thank you once again for your help!



    Yeah the config files can be confusing especially with all of the recent changes, I’m glad you got it all sorted out 🙂

Viewing 8 posts - 1 through 8 (of 8 total)

Forums are currently read only - please visit the new RetroPie forums at

PLEASE NOTE: All orders that are placed between January 14th and January 28th will be shipped on January 29th. Dismiss