N64 controllers continue to be a struggle on most platforms for emulation. I have been able to map my controller and edit the autoconfig files to finish the setup. However there is a sensitivity/analog range issue that is persistant . In all games the deadzone/analog peak settings do not allow for full range of movement. I have tried editing the inputautoconfig and mupen64plus config files to adjust the deadzone and analog peak with no success as the files are overwritten with defaults. I was unable tot find any documentation to help with this.
Problem: In all games when moving in certain directions with the analog stick (usually pertains to using both axes's at the same time in a diagonal direction) the player will walk instead of run if the analog is pressed all the way in that direction. Mario 64 is an example of where this is an issue because you are slowed to a walk in some directions.
I understand they are different products but Project64 for PC has this same issue but it has a plugin called NRage that allows you to adjust the range. Within its UI by default controllers are set to "Real N64 Range" This sets the analog settings to that of the original N64 controllers. There is also a range setting. From testing if you turn off real n64 range and set range to 100 (think this is a percentage) then the issue goes away. I am not sure when range is at 100 what actual raw input values are being used but below is a sample of the config file used. Any help that can be provided would be awesome.
Generated by NRage input plugin V2 version 2.5.2.202
[General]
Language=0
ShowMessages=1
[Folders]
Mempak=
GBxRom=
GBxSave=
[lastBrowserDir]
Mempak=
GBxRom=
GBxSave=
Profile=
Note=
Shortcuts=
[Controller 1]
Plugged=1
xInput=0
N64Mouse=0
RawData=0
PakType=1
RealN64Range=0 ----------------------------------------------------------
RapidFireEnabled=0
RapidFireRate=3
StickRange=100 --------------------------------------------------------------
MouseMoveX=0
MouseMoveY=0
AxisSet=0
KeyAbsoluteX=0
KeyAbsoluteY=0
PadDeadZone=5
MouseSensitivityX=100
MouseSensitivityY=100
RumbleType=1
RumbleStrength=80
VisualRumble=0
FFDeviceGUID=
MemPakFile=Mempak1.mpk
GBRomFile=
GBRomSave=
[Controller 2]
Plugged=0
xInput=0
N64Mouse=0
RawData=1
PakType=1
RealN64Range=1
RapidFireEnabled=0
RapidFireRate=3
StickRange=66
MouseMoveX=0
MouseMoveY=0
AxisSet=0
KeyAbsoluteX=0
KeyAbsoluteY=0
PadDeadZone=5
MouseSensitivityX=100
MouseSensitivityY=100
RumbleType=1
RumbleStrength=80
VisualRumble=0
FFDeviceGUID=
MemPakFile=
GBRomFile=
GBRomSave=
[Controller 3]
Plugged=0
xInput=0
N64Mouse=0
RawData=1
PakType=1
RealN64Range=1
RapidFireEnabled=0
RapidFireRate=3
StickRange=66
MouseMoveX=0
MouseMoveY=0
AxisSet=0
KeyAbsoluteX=0
KeyAbsoluteY=0
PadDeadZone=5
MouseSensitivityX=100
MouseSensitivityY=100
RumbleType=1
RumbleStrength=80
VisualRumble=0
FFDeviceGUID=
MemPakFile=
GBRomFile=
GBRomSave=
[Controller 4]
Plugged=0
xInput=0
N64Mouse=0
RawData=1
PakType=1
RealN64Range=1
RapidFireEnabled=0
RapidFireRate=3
StickRange=66
MouseMoveX=0
MouseMoveY=0
AxisSet=0
KeyAbsoluteX=0
KeyAbsoluteY=0
PadDeadZone=5
MouseSensitivityX=100
MouseSensitivityY=100
RumbleType=1
RumbleStrength=80
VisualRumble=0
FFDeviceGUID=
MemPakFile=
GBRomFile=
GBRomSave=
[Controls]
Button format: controlnum buttonID bOffset bAxisID bBtnType
Keyboard
DInputGUID={6F1D2B61-D5A0-11CF-BFC7-444553540000}
Button=0 0 4D 0 5
Button=0 1 4B 0 5
Button=0 2 50 0 5
Button=0 3 48 0 5
Button=0 4 1C 0 5
Button=0 5 39 0 5
Button=0 6 2E 0 5
Button=0 7 2D 0 5
Button=0 8 20 0 5
Button=0 9 1E 0 5
Button=0 10 1F 0 5
Button=0 11 11 0 5
Button=0 12 12 0 5
Button=0 13 10 0 5
Button=0 14 CD 0 5
Button=0 15 CB 0 5
Button=0 16 D0 0 5
Button=0 17 C8 0 5
[Shortcuts]
Shortcuts format: controlnum buttonID bOffset bAxisID bBtnType
Keyboard
DInputGUID={6F1D2B61-D5A0-11CF-BFC7-444553540000}
Button=0 1 4E 0 5
Button=0 2 4A 0 5
Button=-1 0 0F 0 5
[Modifiers]
Modifiers format: controlnum bOffset bAxisID bBtnType bModType fToggle fStatus dwSpecific