SNES controller not working properly on N64 emulator
-
Or better, how can i use the snes dpad instead the analog ? I've try remapping into the settings but no success :(. Has anyone maybe a mapping file to share ?
-
Can you post the input configuration file for Mupen64plus ? It should be in
\\retropie\configs\n64
. -
@mitu sure thing following InputAutoCfg.ini :
; 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 ; usb gamepad _START [usb gamepad ] plugged = True plugin = 2 mouse = False AnalogDeadzone = 4096,4096 AnalogPeak = 32768,32768 Mempak switch = Rumblepak switch = R Trig = button(5) B Button = button(3) C Button U = button(0) Start = button(9) A Button = button(2) C Button D = button(1) X Axis = axis(0-, 0+) Y Axis = axis(1-, 1+) Z Trig = button(4) ; usb gamepad _END
And mupen64plus.cfg :
# Mupen64Plus Configuration File # This file is automatically read and written by the Mupen64Plus Core library [Transferpak] # Filename of the GB ROM to load into transferpak 1 GB-rom-1 = "" # Filename of the GB RAM to load into transferpak 1 GB-ram-1 = "" # Filename of the GB ROM to load into transferpak 2 GB-rom-2 = "" # Filename of the GB RAM to load into transferpak 2 GB-ram-2 = "" # Filename of the GB ROM to load into transferpak 3 GB-rom-3 = "" # Filename of the GB RAM to load into transferpak 3 GB-ram-3 = "" # Filename of the GB ROM to load into transferpak 4 GB-rom-4 = "" # Filename of the GB RAM to load into transferpak 4 GB-ram-4 = "" [UI-Console] # Mupen64Plus UI-Console config parameter set version number. Please don't change this version number. Version = 1.000000 # Directory in which to search for plugins PluginDir = "./" # Filename of video plugin VideoPlugin = "mupen64plus-video-rice.so" # Filename of audio plugin AudioPlugin = "mupen64plus-audio-sdl.so" # Filename of input plugin InputPlugin = "mupen64plus-input-sdl.so" # Filename of RSP plugin RspPlugin = "mupen64plus-rsp-hle.so" [Video-General] VerticalSync = True [Video-GLideN64] configVersion = 17 bilinearMode = 1 EnableFBEmulation = True UseNativeResolutionFactor = 1 EnableLegacyBlending = True ThreadedVideo = True BufferSwapMode = 2
-
Looking at your config, it looks like the D-Pad on the controller is recognized as an axis and mapped to the analog joystick. You can try to map it to the D-Pad with
DPad U = axis(0+) DPad D = axis(0-) DPad L = axis(1,-) Dpad R = axis(1,+)
but you'll be left without a joystick. You don't have enough controls on your gamepad to map to a N64 controller.
-
@mitu so in short you suggest to buy a n64 proper controller aren't you mate ?
-
@lupsyn It's your choice. Add the modification to the configuration file and see if the D-Pad works. If it is, play some games and see if you need more buttons or you can manage with your current controller.
-
@mitu Sadly same effect... still no way to turn left and right in Mario Kart for example :(
-
Maybe the configuration is not correct. Did you remove the joystick mapping ? The lines with
X Axis = axis(0-, 0+) Y Axis = axis(1-, 1+)
-
This topic might be related: https://retropie.org.uk/forum/topic/25657/controler-issue-no-left-and-right-not-working-at-all/6
-
@Adam mmm don't think so, they are fully working on other emulators, i think it's only matter of a bad configuration.
-
@mitu Sure thing, i've try with :
; usb gamepad _START [usb gamepad ] plugged = True plugin = 2 mouse = False AnalogDeadzone = 4096,4096 AnalogPeak = 32768,32768 Mempak switch = Rumblepak switch = R Trig = button(5) B Button = button(3) C Button U = button(0) Start = button(9) A Button = button(2) C Button D = button(1) Z Trig = button(4) DPad U = axis(0+) DPad D = axis(0-) DPad L = axis(1,-) DPad R = axis(1,+) ; usb gamepad _END
With no luck :(
-
@lupsyn Can you also post the configuration file for EmulationStation's input from
\\retropie\configs\all\emulationstation\es_input.cfg
? -
@mitu said in SNES controller not working properly on N64 emulator:
Sure here es_input.cfg<?xml version="1.0"?> <inputList> <inputAction type="onfinish"> <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command> </inputAction> <inputConfig type="joystick" deviceName="usb gamepad " deviceGUID="030000001008000001e5000010010000"> <input name="pageup" type="button" id="4" value="1"/> <input name="up" type="axis" id="1" value="-1"/> <input name="left" type="axis" id="0" value="-1"/> <input name="select" type="button" id="8" value="1"/> <input name="right" type="axis" id="0" value="1"/> <input name="pagedown" type="button" id="5" value="1"/> <input name="y" type="button" id="3" value="1"/> <input name="x" type="button" id="0" value="1"/> <input name="down" type="axis" id="1" value="1"/> <input name="start" type="button" id="9" value="1"/> <input name="b" type="button" id="2" value="1"/> <input name="a" type="button" id="1" value="1"/> </inputConfig> </inputList>
-
DPad U = axis(0+)
DPad D = axis(0-)
DPad L = axis(1,-)
DPad R = axis(1,+OK, these might be wrong then. Try replacing them with
DPad U = axis(1-) DPad D = axis(1+) DPad L = axis(0,-) DPad R = axis(0,+)
-
@mitu Sadly still no luck :(
-
@lupsyn Apart from trying out a different emulator, I have no more ideas.
-
@mitu Thanks mate for the support, any change to link me to a doc how i can potentially change the N64 emulator ?
-
@lupsyn You can use the Runcommand launch menu when you start a game to switch emulator from the ones that are installed. If it's not installed, you can install it from RetroPie-Setup.
https://retropie.org.uk/docs/Runcommand/#runcommand-launch-menu
https://retropie.org.uk/docs/Updating-RetroPie/#updatinginstalling-individual-packages
https://retropie.org.uk/docs/Nintendo-64/ -
@mitu try other emulators, same issue...i think then it's a controller issue... but it's very strange.
-
I figure it out but is working only with mupen-64plus not with lr-mupen64plus-next. My controller is a snes clone kind of (as i specified in the beginning).
From auto config it will be configured as :input_device = "usb gamepad " input_driver = "udev" input_enable_hotkey_btn = "8" input_l_btn = "4" input_load_state_btn = "4" input_up_axis = "-1" input_left_axis = "-0" input_state_slot_decrease_axis = "-0" input_select_btn = "8" input_right_axis = "+0" input_state_slot_increase_axis = "+0" input_r_btn = "5" input_save_state_btn = "5" input_y_btn = "3" input_x_btn = "0" input_menu_toggle_btn = "0" input_down_axis = "+1" input_start_btn = "9" input_exit_emulator_btn = "9" input_b_btn = "2" input_reset_btn = "2" input_a_btn = "1"
(you can find this file in the dir : '/opt/retropie/configs/all/retroarch/autoconfig ' )
Just gigging around i found this https://github.com/libretro/retroarch-joypad-autoconfig/tree/master/udev in which there are lot of configuration for lot of different joypads.
I understood problem were into the x/y axis so i just appended these lines on the autoconfig file and everything start working :input_up_axis_label = "D-Pad Up" input_down_axis_label = "D-Pad Down" input_left_axis_label = "D-Pad Left" input_right_axis_label = "D-Pad Right"
I think you can do the same from internal mapping for a single rom playing with the retroarch.cfg inside ...'retropie/configs/n64'
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.