N64 Controller Analogue Stick issues
-
Pi Model: (3)
RetroPie Version Used: (3.6.0)
Built From: (Binary updates on Raspian)
USB Devices connected: USB N64 adaptor
Controller used: Official N64 controller via USB adaptorAfter configuring an N64 controller using EmulationStation then running Mupen64 (and some manual fixing of config files) when using the analogue stick in games, the character you control seems to be restricted to "walking" speed even when fully pointed in any direction.
I have tested this adaptor setup using OpenEmu on Mac and it seems to respond properly with a full range of speeds with no other issues.
Is there a way to adjust the range of the axis or something like that?
When another player uses a SNES style Dpad controller, they can move at full speed, so I know that the game is running at full speed.
I am also having issues getting this controller to show up in the controller configuration screen of EmulationStation - so it took a lot of attempts to get it configured initially.
-
@vretro
Could you post the specific model of the adapter you are using?Also can you post your config file how you have the controller mapped.
Take a look here,
http://wiki.libretro.com/index.php?title=Mupen64Plus
Seems to be a few options you might trymupen64-astick-deadzone
you would edit that i /opt/retropie/configs/all/retroarch-core-options.cfg -
Hi Twitch0815!
The device ID for the N64 to USB adaptor (N64 / PS2 2in1 USB Controller Adapter) is as follows as reported by lsusb:
Bus 001 Device 001: ID 6666:0667 Prototype product Vendor ID WiseGroup Smart Joy PSX, PS-PC SmartJoyPadYou can see what the product looks like via Amazon:
http://www.amazon.com/Nintendo-64-N64-2in1-Controller-Adapter/dp/8565000168My focus is on the stand alone Mupen due to the performance at this time and my post is in reference to using the adaptor in this scenario, rather than in Retroarch.
Thank you for the page you referenced, I will use that information relating to the deadzone to try and resolve. Does your answer relate specifically to a lr-mupen config?
Below is the controller config from configs/n64/InputAutoCfg.ini:
; Boom Smart Joy Converter_START
[HID 6666:0667]
plugged = True
plugin = 2
mouse = False
AnalogDeadzone = 4096,4096
AnalogPeak = 32768,32768
DPad R = button(13)
DPad L = button(15)
DPad D = button(14)
DPad U = button(12)
Start = button(11)
Z Trig = button(10)
B Button = button(5)
A Button = button(4)
C Button R = button(1)
C Button L = button(3)
C Button D = button(2)
C Button U = button(0)
R Trig = button(7)
L Trig = button(6)
Mempak switch = key(109)
Rumblepak switch = key(114)
X Axis = axis(0-,0+)
Y Axis = axis(1-,1+)
; Boom Smart Joy Converter_END -
How did you get this adapter to work in retropie? I have the same one and can't get it to configure the controller.
-
@vretro Hi, I had exactly the same issue -using a Wise N64 usb adapator and my original N64 controller.
I needed to adjust the axis range and dead zone to allow Mario to run in Super Mario, etc.I'll see if I can dig out the settings; I'll post more when I've found them!
-
@vretro I believe the issue is the Analog Peak value, which is easy to fix.
It seems I started writing a guide for this, but haven't finished it due to several other project guides I've been working on. Here's some of my notes, along with my settings to adjust the AnalogDeadZone and AnalogPeak for the InputAutoCfg.ini
You'll probably need to adjust the dead zone and peak values specifically to your controller; using jstest you can obtain exact values to fine tune these.
The problme is caused by maximum analogue axis values of the original N64 controller being considerably lower than that of the PlayStation Dualshock, at least as detected by the Mayflash SS/PS/N64 Usb Adaptor unit.
There's also an issue with the deadzone calibration, meaning that the analogue stick requires excessive movement before the player's intention is registered.Dead zone - analogue controls tend to register input values even when in the neutral position. Depending on an individual controller's quality, construction, age etc this can vary somewhat. The PlayStation Dualshock I use has a tendancy to register axis values for the left stick in the range from 0 to 1000 or so (positive or negative). A dead zone is established to disregard these values, at the cost of requiring the stick to be moved a certain amount before a game responds to the input.
/opt/retropie/configs/n64/InputAutoCfg.ini
Part of my file, where I have commented the original Dead Zone and Peak values, and inserted the revised values:
; HuiJia PS/SS/N64 Joypad to USB BOX_START
[HuiJia PS/SS/N64 Joypad to USB BOX]
plugged = True
plugin = 2
mouse = False
;AnalogDeadzone = 4096,4096
AnalogDeadzone = 338,338
;AnalogPeak = 32768,32768
AnalogPeak = 21200,21200 -
Hi guys,
Having searched on this, I found this thread & I'm trying to fix the same issue. My Dualshock 3s feel virtually digital & it's impossible to control Mario subtly like you could with an N64 pad.
I located the autoconfig input file via the Retropie Configuration Editor, and thought I'd made the suggested changes but nothing seems any different. It's the first time I've changed any file, so I'm not sure I did it correctly.
Should this file make changes detected by all the emulators & plugins? I use gles2rice for Mario, and reading its config file it seems to reference the same default values in its code. Do I have to change anything apart from the main input 'auto config'?
Thanks
Rob
-
Sorted; I realised I was using Retroarch emus, so am going to experiment with this again in the week in the pursuit of absolute Mario nirvana. 🙂
Rob
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.