Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
02122 DIP/Input Minor Always Aug 17, 2008, 10:18 Mar 8, 2009, 17:10
Tester Kold666 View Status Public Platform MAME (Official Binary)
Assigned To Resolution No change required OS
Status [?] Closed Driver
Version 0.126u5 Fixed in Version Build Normal
Fixed in Git Commit Github Pull Request #
Summary 02122: Rotary joystick games shouldn't use an analogue device to rotate.
Description Rotary joystick games shouldn't use an analogue input to rotate the main character since the SNK or Data East rotary joystick have 12 position switches (plus GND). I think it would be better to assign a different key to every position of the rotation.

The games verified to use rotary joystick with 12 position switches are:
Ikari
Victory Road
TANK
S.A.R
Ikari 3
Bermuda Triangle
Midnight Resistance
Time Soldiers
Heavy Barrel
Gondomania
Downtown
Guerrila War can use ONLY the SNK rotary joystick otherwise you get a "joystick error" and you have to reset the pcb. In comparision to Data east rotary joysticks or bootleg ones, SNK swapped two wires (pin 1 and 7 if I am not wrong).

Caliber 50, on the other hand, uses an optical spinner to rotate the main character so that one is right in mame.
Steps To Reproduce
Additional Information
Github Commit
Flags Verified with Original
Regression Version
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
9
User avatar
No.02103
Tafoid
Administrator
Aug 18, 2008, 01:11
Setting acknowledged pending some discussion from Aaron and other on how this should be handled.
User avatar
No.02104
Fujix
Administrator
Aug 18, 2008, 03:16
Reverted the "Feedback" status, which means the bug requires Devs official position.
User avatar
No.02106
Kold666
Developer
Aug 18, 2008, 08:23
the main problem is that if you assign keystrokes to every 12 position, the games are impossible to play without a rotary joy.
So it's a question of correct behaviour vs playability ;)
User avatar
No.02112
robiza
Developer
Aug 18, 2008, 14:05
actually tnk3, fsoccer, tdfever, tdfeverj use IPT_DIAL

other games use IPT_POSITIONAL with 12 or 8 positions

with you informations tnk3 should use IPT_POSITIONAL
other games need confirmation
 
the problem is: can i use a real rotary joystick (with switches) with IPT_POSITIONAL?
User avatar
No.02115
Kold666
Developer
Aug 18, 2008, 16:02
Actually TNK3 was the first game to use the SNK rotary joystick. I have it at home and I can confirm.

Fsoccer, Tdfever use a joystick/spinner so it must use IPT_DIAL yes.
On those pcb there isn't a 13 pins connector but a 4 pin one (+5,gnd, clock, dir)
User avatar
No.02116
aaron
Developer
Aug 19, 2008, 06:41
Rotary joysticks should be converted to IPT_POSITIONAL. That is what it is there for. Derrick did a few games, but the others should be converted.
User avatar
No.02246
urebelscum
Tester
Aug 27, 2008, 21:55
The IPT_POSITIONAL type was added by Derrick to help in these borderline cases. However, the IPT_POSITIONAL type is still WIP AFAIK, so some of the goals aren't met yet.

One of the features of the IPT_POSITIONAL type that hasn't been implemented yet is the ability to map a digital input to each value, while leaving all the normal analog mappings. This feature would make this "analog input" vs "12 digital input" grey area mute.

So I'd suggest making this a "feature" type bug, as "multiple digital inputs as distinct analog values not implemented".
User avatar
No.03915
derrickr
Developer
Mar 8, 2009, 03:29
edited on: Mar 8, 2009, 16:00
The MAME input system trys to be as universal as possible. It is up to the user to setup the controls needed for each game. Many games overlap their inputs.

Eg. Centipede has real joystick input, but the joystick is also mapped to the inc/dec buttons that create fake trackball input.

In both cases you must decide which inputs you want to use.

Ikari - You just have to set the positional axis to NONE if you don't want to use the feature. Myself I can map the positional axis to the slider on my Gravis Exterminator joystick.

Centipede you have to set the INC/DEC buttons to none if you want to use the game's real joystick input. Or set the joystick input to NONE to use the INC/DEC buttons for fake trackball input.
User avatar
No.03919
derrickr
Developer
Mar 8, 2009, 15:58
Also Positional is not just for Ikari type controls.

Some gas pedals/yokes/periscopes used an encoder. Labeling these as positional allows the handling to be done automatically, Say you have a yoke that has a 6-bit encoder that allows for 64 positions. Before positional you would assign it to a custon fake analog port and process it to create the 64 positions.

Now you can assign the positional axis to an analog joystick and the count will automatically be created. And the greycode table can be easily added. Now each game now longer reqires custom handling.