Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07805 DIP/Input Minor Always Dec 2, 2020, 23:14 Dec 6, 2020, 01:39
Tester mmarino4 View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows 10 (64-bit)
Status [?] Driver
Version 0.226 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 07805: roughrac: Sluggish Dial Input Response "Deadzone"
Description This game, along with wheelrun, has what I would describe as a deadzone on the dial input. There could be more games but this is what I have found so far. MAME 0.189 and earlier doesn't not have this issue for roughrac. Starting in 0.190, slowly turning right does not register in game though left still responds immediately. It is best to bring the sensitivity all the way down to see the behavior. This issue began effecting both directions starting in 0.192. This is not related to the original game programming. The dial analog inputs react different than most dial games in MAME.

Attached is the video I used for wheelrun though the issue is the same. First, it shows how the mouse reacts when moving along the axis on Super Off-Road. Notice how the slider smoothly moves along the axis but remains in place when the mouse cursor is not moving. Then it shows Wheels Runner. Notice how the bar constantly stays on the edge and will not smoothly move along the axis.

There is a noticeable difference in the feel of the in-game control between 0.189 and 0.192 through 0.226 with the proper sensitivity setting.
Steps To Reproduce -Make sure mouse input is enabled and map your mouse to Dial Analog
-Set your dial sensitivity to 1 in the MAME analog inputs
-Go to the roughrac in-game test menu in 0.189 (F2 once you get to attract mode, F2 again to enter input test)
-Slowly move your mouse in each direction.
-Note how the handle input registers no matter how slowly you move the mouse.

-Repeat in 0.190 or 0.191.
-Note how one direction responds as before but the other needs to be pushed faster in order to get any input. You can move slowly in this direction forever and it will never register.

-Repeat in 0.192 or newer.
-Note how both directions require you to push it faster to get a response.

Also observe the behavior on the dial analog slider in MAME 0.226 between this game and many other dial games.
Additional Information
Github Commit
Flags
Regression Version 0.189
Affected Sets / Systems roughrac
Attached Files
mp4 file icon RoughRac.mp4 (3,800,895 bytes) Dec 4, 2020, 04:07 Uploaded by mmarino4
Relationships
There are no relationship linked to this issue.
Notes
2
User avatar
No.18212
cuavas
Administrator
Dec 4, 2020, 03:25
You’re not understanding the analog control display for dials that use PORT_RESET. In these cases it shows the delta for the previous frame only. It’s effectively showing the current speed you’re spinning the wheel at. Your video is just showing normal behaviour. As for the “dead zone”, are you sure you’re not just turning the wheel sufficiently slowly that the count in any frame isn’t enough for the game to register? It’s possible there’s an issue with MAME, but your description and video sound more like user misunderstanding.
User avatar
No.18213
mmarino4
Tester
Dec 4, 2020, 04:32
Thank you for the explanation. I've taken down the first video. Perhaps the issue is that a deadzone was added to PORT_RESET at some point.

I added a new video showing the difference between 0.189 and 0.226. I have the sensitivity set to 1 for both in the video since it's easiest to see the difference. When I play on my wheel setup, I have it set on only 6 so it's not a case of the setting being completely off. It is very noticeable in game for me because I will make small adjustments on the wheel and nothing happens. On 0.189, this is absolutely not the case. The slightest movement is always picked up in the game. The harder turns feel identical on both games at this sensitivity.

On the 0.226 footage you can see that I spin many times around at a decent speed and it still doesn't register at all. You can go forever. No matter how slow I go on 0.189, it will eventually register the next number (about 14 or 15 units in the game menu).