Please do not post a support request without first reading and following the advice in

Guide: Setting up the Mayflash N64 adapter for Retropie

  • This is a walk through on how to set up a Mayflash Nintendo 64 controller USB adapter so that you can use your Nintendo 64 controller in Retropie and it’s supported emulators.

    alt text

    While following this guide, I will be using Notepad++ to edit config files. Do not use the Windows notepad or else the lines of code will not be formatted when you open them.
    I recommend downloading a free copy of Notepad++ here:

    1. To begin, plug in a keyboard or second controller. Now, configure the input of your Nintendo 64 Controller in emulationstation.

    2. After you have finished doing that, the Nintendo 64 controller will now work in emulationstation. Start a game. The controller will no longer function inside the game. Exit the game using your keyboard/second controller.

    3. We now need to edit a few config files to get the controller working again. The easiest way is to use Windows File Explorer(or a Linux/Mac equivalent). Make sure your raspberry Pi is connected to your wifi router. Move to your desktop computer and open up file explorer and type in “\RETROPIE”. Navigate to configs>all>emulationstation. Open “es_temporaryinput.cfg”. Highlight and Cut(ctrl + x) the following text only:


    1. Save the file and now open “es_input.cfg” in file explorer. Scroll down to the second to last line of text. Paste the text you just copied between lines </inputConfig> and </inputList>. From the text you just pasted, you change deviceName="�USB GamePad USB GamePad" to deviceName="USB GamePad USB GamePad". Save the file.

    2. Now go back to the “all” folder and open “retroarch-joypads”. Download “USB GamePad USB GamePad.cfg” from this link and place it in the retroarch-joypads folder.

    1. Launch a game that uses a retroarch emulator, an NES game for simplicity. Your controller should now be recognized. You can press “Start + B” to configure the controls in retroarch.

    2. We are not quite done yet. This controller will not work with all n64 emulators. On your computer, navigate back to configs. Then select the n64 folder. Open InputAutoCfg.ini with notepad++. Copy the following text and paste it at the bottom:

    ;USB GamePad USB GamePad_START
    [USB GamePad USB GamePad]
    plugged = True
    plugin = 2
    mouse = False
    AnalogDeadzone = 100,100
    AnalogPeak = 20000,20000
    DPad R = button(13)
    DPad L = button(15)
    DPad D = button(14)
    DPad U = button(12)
    Start = button(8)
    Z Trig = button(9)
    B Button = button(2)
    A Button = button(1)
    C Button R = axis(3-)
    C Button L = axis(3+)
    C Button D = axis(2+)
    C Button U = axis(2-)
    R Trig = button(7)
    L Trig = button(6)
    Mempak switch = key(109)
    Rumblepak switch = key(114)
    X Axis = axis(0-,0+)
    Y Axis = axis(1-,1+)
    ; USB GamePad USB GamePad_END

    1. Save the file and now run a N64 game using any non lr- core. The controller should now function. Buttons are mapped accordingly.

    Note that you will need to manually map the n64 controller for any non retroarch emulators in the config file as it wont be mapped automatically.

  • Thanks for the guide!
    Suggestion: put the es_input configuration as actual text that can be copied/pasted from the post and not a screenshot image :)
    Also put all configuration file content (es_input and inputautocfg) inside code blocks for better readability.

    # Like this
    option = value

    To do that, you need to surround the content with three back-quotes (```) or simply click the "code" button in the toolbar of the post editor.

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.