Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07685 DIP/Input Minor Always 29 days ago 23 days ago
Tester oboewan42 View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows 10 (64-bit)
Status [?] Confirmed Driver
Version 0.221 Fixed in Version Build 64-bit
Summary 07685: sonic, cabalus, possibly others using upd4701a: mapping joystick to trackball causes input to go haywire
Description Moving an analog joystick axis that's mapped to a trackball axis - specifically one connected to a uPD4701A - causes the input to go haywire, even when sensitivity is set to 1. Mouse input appears to work fine.
Steps To Reproduce Map an analog stick to a trackball (MAME is set up this way by default if you have a controller with an analog stick), then move the stick and watch the analog controls go haywire. Visible in-game, in the test menu in sonic, and in the "Analog Controls" menu. Compare with version 0.185.
Additional Information I vaguely remembered being able to play SegaSonic perfectly fine with an analog stick in an older version of MAME, so I checked for a regression. Last working version was 0.185, it broke in 0.186. Looking in the whatsnew it looks like there was a rewrite of the code for the uPD4701A around that time.

Tested in sonic and cabalus, both exhibit this issue, haven't had a chance to look at anything else (what other games use it?)
Centipede works fine, so it seems to be limited to that chip.
Regression Version 0.186
Affected Sets / Systems sonic, cabalus, possibly others using upd4701a
Attached Files
There are no relationship linked to this issue.
User avatar
27 days ago
I don't have a decent non-mouse analog device to use for testing at this time, but I've acknowledged for now.
User avatar
23 days ago
This may be a problem with not accounting for PORT_RESET, which the uPD4701 emulation now depends on.

Other sets to test include arknoid2, ridleofp and simpbowl.
User avatar
23 days ago
arknoid2 and ridleofp have the same issue (did not test simpbowl)