So yes, the deadzone setting is what is causing your problem. I had the same issue until I started to tweak that one...
Well, one has to wonder if this is Mame input design fault.
The arcade machines deadzone settings are probably internally handled, and so the game is expecting the full range of values, to produce the proper results.
If the values fall short, it might cause internal calibration issues... which may cause the jumping of the cursor.
Couple that with any hardware translation from 5k to 100k.. and that might also be making issues.
Some ideas that might help:
1) A means to be able to turn deadzone off completely is probably in order
2) Maybe a system which can give true 5k readings that are unaltered... but this would have to be both handled by mame, as well as by some of the hardware Mfgs boards. (probably not working for any normal windows games/calibrations)
3) A means to select which type of pot then would be needed: 5k, 100k
4) A possible optional hack to the mame driver which changes the values to scale properly so that it does not de-calibrate the game consistently.
5) possible options for Arcade -vs- PC joystick. Meaning, some PC analog pots just may not have enough values being used, because an arcade controller often uses gears for higher resolution / more values.
New input options / ideas:
Pot = 100k / 5k
Controller (pot) Type = Arcade / PC
Deadzone = Y / N
Deadzone Values ( )
Analog Scale? (value,value)
Interpreter? Y / N (specialty encoder)
Interpreter type = converted values / no conversion
Edit:
Another option might be to add gears into the mix:
Gear A = 30 teeth
Gear B = 10 (or "none" for both.. for pc based controls that have no gears )
That might clear up a lot of problems with scaling PC vs Arcade controllers... as well
as provide accurate preserved data on what the controllers actually used.