SNES controller not working properly on N64 emulator
-
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'
-
@lupsyn said in SNES controller not working properly on N64 emulator:
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"These lines have no bearing on how the controller actually works, it just label the inputs so you can see them better in the RetroArch's configuration interface (instead of seeing the numbers associated). But if it works, that's fine.
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.