Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    N64 USB Controller Mapping - RecalBox 18.02.09

    GamePad/GPIO/USB encoder
    usb mapping recalbox 18.02.09
    2
    2
    2840
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • hop_addict
      hop_addict last edited by hop_addict

      Like a lot of you, I've found mapping N64 controllers to be quite frustrating. I may have found a solution; well, it has worked for me at least. I am running RecalBox 18.02.09 on an ODROID XU4. I am accessing recalbox via SSH through my Mac. I am using standard usb N64 controllers.

      Several posts suggested that the file system is read only, so you first have to make it writable. To do this you must first access the recalbox command line. I did this by accessing it through 'Terminal' on my Mac. To do this, open 'Terminal' and enter the command:

      ssh root@your_recalbox_ip

      Find your recalbox IP by pressing 'Start' on your recalbox and scrolling down to 'Network Settings'

      The password is: recalboxroot

      Then enter this command to make the file system 'writable':

      mount -o remount,rw /

      In all honesty, I do not know if the preceding process was necessary to make the files writable, but I read on a few forum posts and figured it was for the best to do so.

      If you have not yet, plug in all of your N64 USB controllers so they register in the config files. I have 4 N64 controllers attached to my ODROID XU4. Restart your system.

      Next step is to open 'RECALBOX' under shared devices in Finder. (If you are using Windows there are a couple of options for using SSH, google it).

      Navigate to /recalbox/share/system/configs/mupen64/

      Open mupenplusn64.cfg in 'TextEdit'

      Scroll down to [Input-SDL-Control#]
      (# indicates the controller number, in my case I have 4-N64 controllers attached, so I have an entry for Input-SDL-Control1, Input-SDL-Control2, Input-SDL-Control3, & Input-SDL-Control4)

      For each controller you will want to edit the following:

      1. The default controller configuration mode is 2, which is automatic. Change the controller configuration mode to 0.

      It should read:

      Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
      mode = 0

      1. Change the Digital button configuration mappings to the following:

      Digital button configuration mappings
      DPad R = "hat(0 Right)"
      DPad L = "hat(0 Left)"
      DPad D = "hat(0 Down)"
      DPad U = "hat(0 Up)"
      Start = "button(9)"
      Z Trig = "button(7)"
      B Button = "button(8)"
      A Button = "button(6)"
      C Button R = "button(1)"
      C Button L = "button(3)"
      C Button D = "button(2)"
      C Button U = "button(0)"
      R Trig = """button(5)”"
      L Trig = "button(4)"
      Mempak switch = ""
      Rumblepak switch = ""
      Analog axis configuration mappings
      X Axis = "axis(0-,0+)"
      Y Axis = "axis(1-,1+)"

      I am using DragonRise Inc. Generic USB Joysticks.

      This is what my configuration shows:

      [Input-SDL-Control1]

      Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number.
      version = 2
      Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
      mode = 0
      Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
      device = 0
      SDL joystick name (or Keyboard)
      name = "DragonRise Inc. Generic USB Joystick "
      Specifies whether this controller is 'plugged in' to the simulated N64
      plugged = True
      Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 5=Rumble pak
      plugin = 2
      If True, then mouse buttons may be used with this controller
      mouse = False
      Scaling factor for mouse movements. For X, Y axes.
      MouseSensitivity = "2.00,2.00"
      The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes.
      AnalogDeadzone = "4096,4096"
      An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
      AnalogPeak = "32768,32768"
      Digital button configuration mappings
      DPad R = "hat(0 Right)"
      DPad L = "hat(0 Left)"
      DPad D = "hat(0 Down)"
      DPad U = "hat(0 Up)"
      Start = "button(9)"
      Z Trig = "button(7)"
      B Button = "button(8)"
      A Button = "button(6)"
      C Button R = "button(1)"
      C Button L = "button(3)"
      C Button D = "button(2)"
      C Button U = "button(0)"
      R Trig = """button(5)”"
      L Trig = "button(4)"
      Mempak switch = ""
      Rumblepak switch = ""
      Analog axis configuration mappings
      X Axis = "axis(0-,0+)"
      Y Axis = "axis(1-,1+)"

      Videoaddict101 1 Reply Last reply Reply Quote 1
      • Videoaddict101
        Videoaddict101 @hop_addict last edited by

        @hop_addict Maybe you can solve my problem, i'm doing the same exact thing, but with my RetroFighters N64 controller, it definitely reads it and what not, but theres awful deadzones on my analog no matter what settings ive tried all over the web. Any ideas?

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Want to support us ?

        79
        Online

        90.3k
        Users

        26.3k
        Topics

        181.7k
        Posts

        Copyright © 2021 recalbox.com