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

HuiJia N64 USB adaptor setup

  • Has anyone successfully configured a HuiJia USB N64 controller adaptor to work with mupen64plus.

    I started my attempts by configuring a genuine controller attached using the USB adaptor within EmulationStation.

    For some reason the analogue stick would not register.

    After what seemed like a failed attempt at setup, I followed other guides on the wiki to help with this configuration. I edited the InputAutoCfg and mupen64plus.cfg files, but I don't seem to be getting too far with this process.

    Can anyone share their InputAutoCfg and mupen64plus.cfg files for the same USB adaptor that can help.

    Thank you

  • @vretro this product was advertised as Mayflash N64 USB adaptor if that helps someone identify and help.

  • Global Moderator


    Does the analog stick register in any direction at all during the Emulation Station map process? Also, other than the stick, are your buttons registering like they they should in Muppen64Plus?

  • Hi, @vretro. I had a very similar problem to this with mupen64plus.

    First off, from all the research I've done, I don't think that the N64 controller will ever work as your input to Emulation Station. It doesn't work for me and I haven't seen reports of people getting it to work. For me, I'm currently using a USB SNES controller or keymapped keyboard as my Emulation Station controller instead of the N64 controller.

    The biggest problem with the N64 controller right now for me is the difficulty is exiting the emulator when I'm done. I don't have a reboot button built for my Pi yet and I don't like pulling the power from it because of potential file system corruption. So for now, I've been ssh-ing into the Pi and using "killall mupen64plus" to kill the emulator and go back to Emulation Station.

    As far as an InputAutoCfg.ini, I used the one that mupen64plus has currently in their github repo and copied that over the one that was included with RetroPie. If you're not familiar with Git and don't know how to get that file easily from a github repo, I've included my copy of it in a gist for you. Just copy it to your Pi at /opt/retropie/configs/n64 and overwrite the one that's currently there with this one. (link to InputAutoCfg.ini)

    I didn't have to modify my mupen64plus.cfg file, but I've also included that so that if you've made changes to yours, you can overwrite it with the file I have to get yours working. (link to mupen64plus.cfg)

    After installing these files into the correct location, for completeness, I'd recommend rebooting the Pi and trying to get it to work. If you're having problems with the analog stick not making the character move correctly (for instance, in Super Mario 64, Mario only walks instead of running), then I'd give this blog post's recommendations a try.

    Hopefully that gets you on the right track. There seems to be other problems with this adapter, but with any luck, you'll be able to get official N64 controllers working with this.

  • Hi @seanr8 thank you for sharing your insight along with your config files.

    With your help, I was able to get player 1 working 100%

    I have now discovered how problematic these adaptors can be.
    The second player port (the left hand side) seems to show up as player 3, even if the adaptor is the only USB device attached, with 2 official N64 controllers attached.

    This might be a config issue, but I have yet to investigate as I wanted to thank you first.
    Having only official controllers to attach, I can't comment on how unofficial controllers preform.

    With my goal of attaching 4 controllers, I purchased two adaptors, but it seems that the second one is completely dead and does not show up on the USB bus (tested on a Mac using System Report found in About this Mac) so I will have to purchase another adaptor.

    So close, but yet so far!

  • @mediamogul no, at EmulationStation controller config, it does not register any directions.

    With the Help of the settings supplied by @seanr8 I was able to make a new config which works perfectly with Mupen 64 Plus and EmulationStation is navigable using the D pad.

  • @vretro, my goal is also to get 4 players working. As far as it getting registered as players 1&3 rather than 1&2, I haven't seen that myself yet mostly because my controllers aren't cooperating :P . I am surprised that it's showing as 1&3 for you, however, because, at least on my Pi, one of the adapters being plugged in adds two devices to /dev/input called js0 and js1. I'd assume that if it's were going to be controllers 1&3, it would register js0 and js2 for controllers 1 and 3. I could be just completely wrong in my understanding of how udev is assigning numbers or how mupen64plus is assigning controllers, however. If you plug in both adapters and no other controllers at all plugged in, when you run "ls /dev/input" how many "js" items are in there? That might give you an idea as to whether it's mupen64plus's refusal to use two of the adapters or if udev isn't seeing two adapters. Another trick would be to remove both adapters, get to the terminal, and run "dmesg -wH", then plug in the adapters one by one. dmesg will show you what is happening each time there is a new device plugged in, so if there are any errors with the second one being plugged in, dmesg might show that error. If not, I'd run "sudo journalctl" and look all the way at the bottom to see if any errors were logged in the systemd system log about the adapters.

    Last night, I bought one of these adapters that has in its description that it works with the third party controllers that have been tested with it. Since they only have one port on them, if it works, I might buy another and see how it registers. The biggest draw back of them is that I need twice as many of them and each one costs twice as much as what I paid for the Mayflash ones.
    If the new adapter doesn't solve the problem, I might start investigating doing something like described here and here to see if I can capture the behavior of the third party controllers on the Mayflash and possibly "debounce" the toggling in software with a custom driver for the Mayflashes or something. When I was in college, I did something like it on much less complex hardware and software, so I know it's possible... I just don't know if it's worth the trouble.

  • @seanr8 Since my last post I have managed to get 2 Players working.

    I deleted the Auto Config and configured using EmulationStation again, then copy and pasted the settings from your config.

    There were a few different versions of the HuiJia adaptor on your configs, which seemed to have different number increments for player two. My config does not have these additional numbers and it works perfectly.

    Maybe these will help you?

    Thank you again for getting me on the right track.

    Here are my configs on Gist with my working basic settings:


  • @vretro thanks for the config files! Now, my only issue is that my second Mayflash USB adapter for N64 isn't recognized in Mupen, but it IS recognized in EmulationStation. Any idea on what it could be? I think this might be the same issue @seanr8 is hitting.

    Any advice or direction you can give is appreciated.


  • Nevermind, I figured it out. I think my SNES adapters were messing up the N64 adapters. Thanks again!

  • @vretro echoing thanks for these config files! I was able to use them to get my gig setup (Hujia USB adaptor and 2 dragonrise USB adaptors). Pic of my setup here: PiTable

  • @roffterd Happy to have been able to help others out like yourself and @dvmanzo with my N64 config files.

    PiTable looks well, nice job.

  • @vretro I've also got the HuiJia USB N64 adapter to use original controllers. Many thanks for the configs. you shared above they worked first try for me. I only have one controller but would this config work on 2 HuiJia USB N64 adaptors and 4 original controllers?
    Sorry the next silly question but I'm new on this retropie world, how do I activate the memory pack, for any game using this or any controller? not sure if I press a hotkey, button or a change in the config. file? Cheers

  • @lorocator Happy to help!

    I can confirm that my config files will enable the use of 4 original controllers with 2 USB HuiJia adaptors - that is exactly what I have done.

    Save files are handled with software and saved to Pi storage in the same directory as the game, by default. You can get support for that by searching the form.

    Good luck and happy 4 player gaming!

  • Hey I know this thread is old, but I wanted to throw in a fix I did for good measure. It is not perfect, but seems to work very, very well and was a quick fix. First map your controller at the boot up. Then take the config file from /opt/retropie/configs/all/retroarch/autoconfig - should be HuiJiaUSBGamePad.cfg. Take that file and throw it into /opt/retropie/configs/n64.

  • @seanr8 ok couple things. I would buy an adapter from They work great. Second to make an exit work open up the retroarch config file created for the controller in /opt/retropie/configs/all/retroarch/autoconfig/ and add "input _enable_hotkey_button = "and set it to the trigger button. Yes i know it is in the retroarch file. For whatever reason that is where it looked for the hotkey. You could also try going into the mupen config file and manually setting the 2 exit buttons.

  • @seanr8 said in HuiJia N64 USB adaptor setup:


    I apologize for reviving an old post but this post was perfectly on topic for what I am looking for. I have been scouring the internet for the past three days, and editing config files over and over with no luck. I also have the Mayflash with original n64 controller. With your config files, I was finally able to get actual input in roms with the controller. I can't tell you how excited I was and I can't thank you enough. However, I am having some additional in rom issues. For example in Mario, he walks instead of runs even with the joystick at full tilt. Any ideas on how to fix these issues? Did you run into these type of issues?

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.