N64 Emulator Controls Help Request
-
I'm still new to Retropie so please excuse my ignorance. I've looked through a lot of the GitHub pages including the Nintendo 64 page and the Control Configuration page but nothing seems to be pointing me in the right direction. For N64 games I have been switching between lr-mupen64plus and mupen64plus-gles2rice. I 've found that some games work better for one and some the other. The problem is that when I use mupen64plus-gles2rice with my wired xbox 360 controller the buttons are mapped incorrectly and it doesn't respond to the left analog stick. That same controller works perfectly when I use lr-mupen64plus as the emulator. So I'm wondering if there's a way to take the controller configuration from lr-mupen64plus and apply it to mupen64plus-gles2rice? I've also noticed yellow text at the bottom left corner of the screen saying that the "Xbox Gamepad (user driver) configured in port 0" when booting games from lr-mupen64plus . Any help would be appreciated.
-
Mupen64plus has its own auto config and mupen64plus.cfg. As far as your hotkey and exit it uses the /retroarch-joypad/ configs for that. You may have to go into its InputAutoautoConfig.ini in /opt/retropie/configs/n64 and manually set it up. Then you might have to open mupen64plus.cfg and manually add stuff for controller in there. If after those two thing if it still is wrong delete everything in the mupen64plus.cfg and save it as a blank file. (Backup that file first just in case)
-
Thanks for the advice, but unfortunately your suggestions did not fix my problem. Just to make sure I understood correctly you wanted me to copy the Xbox 360 controller configuration from InputAutoCfg.ini and insert it into the mupen64plus.cfg, replacing the old configuration. I also tried clearing the mupen64plus.cfg and restarting the system but did not make a difference to my controls (The blank file did get rewritten though). Is there anything else I can try?
-
What brand is your controller? And are the configs to that brand in the auto config?
-
It's Microsoft brand (first party) and the configs are in the auto config. One thing worth mentioning is that this problem started after I attempted to use an original N64 controller through the use of an USB N64 controller adapter. I couldn't figure out how to map the controls for the N64 controller and tried switching back to the Xbox 360 controller and that stopped working properly with all the N64 emulators excluding lr-mupen64plus. So somehow by trying to use my N64 controller it messed up my Xbox 360 controller.
Here's what's in my autoconfig (The HuiJia USB GamePad refers to the N64 controller adapter):
; InputAutoCfg.ini for Mupen64Plus SDL Input plugin
; InputAutoCfg.ini for Mupen64Plus SDL Input plugin
; Keyboard_START
[Keyboard]
plugged = True
plugin = 2
mouse = False
DPad R = key(100)
DPad L = key(97)
DPad D = key(115)
DPad U = key(119)
Start = key(13)
Z Trig = key(122)
B Button = key(306)
A Button = key(304)
C Button R = key(108)
C Button L = key(106)
C Button D = key(107)
C Button U = key(105)
R Trig = key(99)
L Trig = key(120)
Mempak switch = key(44)
Rumblepak switch = key(46)
X Axis = key(276,275)
Y Axis = key(273,274)
; Keyboard_END; Microsoft X-Box 360 pad_START
[Microsoft X-Box 360 pad]
plugged = True
plugin = 2
mouse = False
AnalogDeadzone = 4096,4096
AnalogPeak = 32768,32768
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(6)"
B Button = "button(2)"
A Button = "button(0)"
C Button R = "axis(4+)"
C Button L = "axis(4-)"
C Button D = "axis(3+)"
C Button U = "axis(3-)"
R Trig = "button(7)"
L Trig = "button(4)"
Mempak switch = ""
Rumblepak switch = ""
X Axis = "axis(0-,0+)"
Y Axis = "axis(1-,1+)"
; Microsoft X-Box 360 pad_END; HuiJia USB GamePad_START
[HuiJia USB GamePad]
plugged = True
plugin = 2
mouse = False
AnalogDeadzone = 4096,4096
AnalogPeak = 32768,32768
Mempak switch =
Rumblepak switch =
R Trig = button(7)
Start = button(9)
Y Axis = 1+)
Z Trig = button(6)
DPad U = hat(0 Up)
C Button D = button(1)
A Button = button(2)
DPad D = hat(0 Down)
X Axis = axis(0-,
DPad R = hat(0 Right)
DPad L = hat(0 Left)
; HuiJia USB GamePad_END; Xbox Gamepad (userspace driver)_START
[Xbox Gamepad (userspace driver)]
plugged = True
plugin = 2
mouse = False
AnalogDeadzone = 4096,4096
AnalogPeak = 32768,32768
Mempak switch =
Rumblepak switch =
C Button D = button(1)
C Button L = axis(2-)
R Trig = button(5)
L Trig = button(6)
Start = button(9)
Y Axis = 1+)
Z Trig = button(4)
DPad U = hat(0 Up)
C Button U = button(3)
A Button = button(0)
DPad D = hat(0 Down)
X Axis = axis(0-,
DPad R = hat(0 Right)
B Button = button(2)
DPad L = hat(0 Left)
C Button R = axis(2+)
; Xbox Gamepad (userspace driver)_END -
So I've made an interesting discovery regarding my issue. After reading this https://code.google.com/archive/p/mupen64plus/wikis/ControllerSetup.wiki and doing some looking around I discovered what I believe to be the cause of my issue. For some reason that I have yet to figure out, the moment I pick a game and the emulator starts up it changes the contents of mupen64plus.cfg to the "bad" controls that I've been stuck with. I'm sure of it because I kept checking the contents through SSH of mupen64plus.cfg after saving my preferred controller mapping. It doesn't change when EmulationStation boot's up but it does change the moment a rom boots up. If anyone knows what could be causing these changes to mupen64plus.cfg I'd really appreciate the help.
Here's the lines that are being changed (to the Xbox 360 controller) when I boot a 64 rom:
Z Trig = "button(4)"
B Button = "button(2)"
A Button = "button(0)"
C Button R = "axis(2+)"
C Button L = "axis(2-)"
C Button D = "button(1)"
C Button U = "button(3)"
R Trig = "button(5)"
L Trig = "button(6)"
Mempak switch = ""
Rumblepak switch = ""
X Axis = "axis(0-,"
Y Axis = "1+)"Again any advice on what could be causing these changes would be greatly appreciated.
-
It looks like may have been the InputAutoautoConfig.ini file all along. I've finally got the buttons working on my Xbox 360 controller but I'm still having trouble with the analog stick. As of now it's only letting me walk left and right but not forward and backwards. If anyone could share with me some good Xbox 360 mapping settings for the N64 I think I should be good to go.
Right now the best I'm working with:
plugged = True
plugin = 2
mouse = False
AnalogDeadzone = 4096,4096
AnalogPeak = 32768,32768
Mempak switch =
Rumblepak switch =
C Button D = button(3+)
C Button L = axis(4-)
R Trig = button(7)
L Trig = button(4)
Start = button(9)
Y Axis = (1-,1+)
Z Trig = button(6)
DPad U = hat(0 Up)
C Button U = button(3-)
A Button = button(0)
DPad D = hat(0 Down)
X Axis = axis(0-,0+)
DPad R = hat(0 Right)
B Button = button(2)
DPad L = hat(0 Left)
C Button R = axis(4+) -
Ok, I finally resolved the issue; my solution was as simple as copying the X-Box 360 pad settings to the userspace settings in InputAutoautoConfig.ini. Thanks for pointing me on the right track edmaul69; I would have never figured it out without your advice.
-
@why glad i could inadvertently help you. :)
-
@why Please format your posts when posting logs / configs
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.