Seems like I can't properly set dead zone for MupenplusN64
-
Here's my setup:
Raspberry Pi 3B
Power Supply: 3A
Retropie Version: 4.2.9
Built from: Prebuilt image on website
USB Devices: Microsoft Xbox 360 Receiver, Logitech K400 wireless keyboard
Controller: 2X Wireless Xbox 360 controllers
Emulator: Mupen64plusHere's my problem: I noticed when I tried to play Super Smash Brothers, the menu options would cycle without input from my controllers--as though I were pushing the analog stick to the left or the right. I also noticed I only had the problem when one specific controller was connected. Running jstest on my controllers, I noticed that the problem controller was getting "neutral" values (in both X and Y axes) up to max of 8000 or so, whereas my other controller was "neutral" at no higher than about 4000. I looked through the controller documentation and started poking around the InputAutoCfg.ini and mupen64plus.cfg files. I saw values for a joystick dead zone of 4096 for both X and Y axes and thought I had figured out how to fix the problem.
I updated the values for joystick dead zones to 8000 for all xbox controllers in both the InputAutoCfg.ini and mupen64plus.cfg (does one of these files supersede the other? the documentation isn't clear at all) and thought I'd be golden. No dice--still saw random menu cycling. I even opened up jstest in a terminal window to verify I was below 8000 on my problem sticks and sure enough I was. After rebooting, I still had the issue. I bumped up the deadzone values to 20,000 for both axes, and I still saw the problem. Just as a sanity check, I set the dead zone to equal the peak joystick value of 32768 for both axes, assuming that this would mean the joysticks would essentially stop working in-game, but they still worked. It seems as if my settings are being ignored by the emulator. Am I missing something here? Is there another file I should be tweaking?
Also, just out of curiosity I tried using a libreto emulator--lr-Mupen64plus--to see if I still had the issue, and I didn't, so the issue is definitely specific to this particular emulator.
Any ideas?
-
Attempted to do a little more troubleshooting tonight. I'm still mystified as to what's going on, but at least now I have a better understanding of the problem.
After a little trial and error, I realized that InputAutoCfg.ini writes to mupen64plus.cfg, so anything I put in the former will overwrite the controller values in the latter. Thinking that perhaps whatever issue I was having was specific to Super Smash Brothers, I loaded up GoldenEye 64 also using Mupen64plus-gles2 emulator, and voila(!) the game seemed to be respecting my dead zone values. I had set them to essentially be maxed out, and sure enough I couldn't move the in-game cursor without moving the left joystick to the far edges of its range. I had similar results when I tried Mario Kart 64. I confirmed that I was seeing motion when a joystick value exceeded my deadzone threshold as displayed by jstest.
So I guess now the question becomes, why is Super Smash Brothers ignoring my dead zone settings, but the other two ROMs aren't? Oddly enough, there were a few times when I loaded up Super Smash Brothers and it DID seem to respect the dead zone settings--I had to move the joystick to an extreme to cycle through menu options--but there was no way I consistently get to exhibit this behavior. Is there a config file or something similar that's overriding whatever settings I'm specifying in the InputAutoCfg.ini and mupen64plus.cfg?
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.