Main > Main Forum
SlikStik Tornado Spinner News
u_rebelscum:
Very quick info on relative analog (mouse) movements:
I'm calling a relative change of one as a single "count", not "pulse" as mentioned in prior posts.
The "*"ed stuff have some exceptions to that rule, so please keep that in mind.
Modern PC mice get 4 counts per tooth* (the two edges per tooth, times the two sensors).
Original arcade machines could have gotten 1, 2 or 4 counts per tooth. The only one I'm sure of is 720, and it gets 2 counts per tooth.
What is now done in the mouse firmware was done on the arcade PCB*. This means mame cannot emulate this part of the hardware*.
Different PC mice have different counts per rotation.
Windows OS mouse sensitivity, acceleration, & speed are not supposed to effect directX games according to MS, but for some mice it does.
The above might be because some mice can scale the output in the firmware. The most common is a simple logrithmic pattern: instead of 1, 2, 3, 4 counts per communication, it sends 1, 2, 4, 8 but it could be anything.
The most reliable* way to test the true output count of a PC mouse device in windows is set the mouse speed, sensitivity, enhancement, acceleration, etc to the lowest possible or none. Otherwise the count could be modified by the firmware, OS kernel, or driver.
Most* Windows people like to have an acceleration (called "enhanced pointer precision" in winXP), which scales the mouse much like the firmware scaling, but usually with weirder curves. (Such as 1, 1, 3, 6, 10, 16, 24, 24, 24 ... instead of speed of 1, 2, 3...)
To sum up:
Matching physical tooth count is not good enough, nor always needed.
You could have the orignal hardware hooked up to a PC, and even with all the speed etc set to plain, have the game see 2x or 4x the count per revolution. With the windows settings to default or normal PC values, it might be perfect at low speeds, and totally off at high speeds at the best.
And spinners with lower tooth counts per wheel can (however unlikely) exactly match (in mame) the original hardware count if, for example, the original hardware was a 1x count per tooth with 4x the teeth (and all the windows settings are perfect).
FWIW:
Modern PC mice use "state change detection" of "quadrature signals" to see it turn. "Quadrature singals" is different than "pulse singals", but the output to PCs of either would be the same. I doubt any arcade hardware used pulse singals. The old tech was "edge detection" (of the same quadrature singals), and this was very common in the early arcades. None of this matters to counts per revolution matching.
Kremmit:
So, all we've gotta do is get everybody to use the same operating system, same mouse drivers, and same settings. Piece of cake. :P
brandon:
so is there an way somebody could make a program that counted these pulses for calibrating optical devices? For example, the program could tell you to rotate your spinner 360^ and it would count the pulses. You could also spin it at different speeds to see if acceleration was taking place. Then it would give you a number that you could use to figure out the correct sensitivity setting for each game. or perhaps it could calculate this for you set the configuration automatically. or the great mamedevs could implement a "global" optical calibration so that once the sensitivity was set in in general, all game would behave correctly.. < wishful thinking I know ;)
RobotronNut:
--- Quote ---The most reliable way to test the true output count of a PC mouse device in windows is set the mouse speed, sensitivity, enhancement, acceleration, etc to the lowest possible or none. Otherwise the count could be modified by the firmware, OS kernel, or driver.
--- End quote ---
Thanks for the info. I notice you said "test." Should the "lowest or none" settings be what we always use when running MAME?
clhug:
--- Quote from: Kremmit on February 26, 2006, 11:03:54 pm ---
--- Quote from: specfire on February 26, 2006, 10:00:21 pm ---Ok, this is in regards to the resolution issue; does tooth count matter?
Kremmit, you indicated the following tooth counts:
DOT spinner (original) has 128 teeth.
The Oscar DOT has 72, same as Blasteroids, Tempest, Oscar Vortex, and the 720 joystick.
The Pole Position ~ approx 80 teeth per one turn of the steering wheel.
Arkanoid has 24 teeth but 486 per single revolution of the knob.
According to Randy, resolution matters, so much so that you can never have too much only too little because you can always down sample your resolution by setting the sensitivity in MAME to some value below 100%.
Well...I own an Arkanoid spinner. If you can always down sample, why doesn't everyone use a geared spinner instead of a direct drive spinner?
For example, I could use my arkanoid spinner and then just set the sensitivity down as follows:
26.34% for DOT (128 teeth/486 teeth)
14.81% for Tempest et al. (72/486)
16.67% for Pole Position (81/486)
Comments??
--- End quote ---
Hey, real discussion!
First reason: If you've got an Arkanoid spinner, and have spent any time with a regular spinner, then you already know the answer. They feel totally different. The Arkanoid spinner feels "gritty" due to the gears, as opposed to the silky-smooth feel of a regular spinner (in good condition). Also, the Arkanoid spinner has no "weight" to it. While super-long spin times may or may not be of value in gameplay, some spin time certainly is, and the Arkanoid spinner pretty much stops turning the instant you take your hand off of it, no matter how hard you whirl it.
Second reason: Availabillity. Arkanoid spinners are in short supply, and the Happ/Wico replacement ones cost big $$ and the knob on them looks ugly as sin. Those are the only geared-spinner options I am aware of.
Third reason: Downsampling is much better than upsampling, but it's still not perfect. Unless your downsample ratio is an exact integer (1:2, 1:3, 1:4...), some rounding must take place, resulting in some uneven-ness. Probably not a big issue, but..
That said, your numbers should give you roughly the same amount of on-screen movement per rotation of the spinner knob that you would have gotten with the original controller.
Of course, there's still the question of whether or not MAME is providing the correct amount of movement per rotation in the first place. The only way to verify that is to test with a real arcade PCB and the original controller. There was a thread around here a few years back where folks did that for some games, you might be able to dig it up with some searching.
--- End quote ---
My first post here, of hopefully what will be many constructive posts. I suppose off topic from the original post of this thread, but the posts about the Arkanoid spinner caught my attention. I'm in the process of building my first MAME cabinet and looking at building my own control panel. I definitely want a spinner.
I also have an original Arkanoid spinner (actually an original Arkanoid II game fully functional, along with an original Gorf, in my basement). I can definitely see how the gearing produces much higher resolution and I originally had the same question as specfire, why not used a geared system? And I'm very glad that Kremmit reponded. I know exactly what you mean about the gritty feel and no spin time of the Arkanoid spinner.
However, what about a belt-driven system? This ought to provide the same type of benefit of getting technically higher resolution of a "gearing" ratio while still maintaining the smoother operation and probably pretty good spin times of today's "direct-drive" spinners.
Have one shaft with just the knob and a large flywheel (with some weight to it to help with spin times) and another shaft with the encoder and a small flywheel, and a belt between the two flywheels. With good bearings on both shafts it ought to spin very nicely. Sure you might have to replace the belt every few years, and you'd have to make sure the belt material is good and doesn't slip, but I think the end result could be worth it for something like Arkanoid.
If I had any idea where to get shaft materials and bearings I might even try to build one of these myself using one of the existing spinners (either SlikStik's or GGG's) as the base spinner. You could mount this upside down under the control panel and just have to build the extra shaft system to attach to it. Of course this would take up more real-estate under the control panel but again, it might be worth it for the more finite control.
This might also make it easier to do a push/pull type spinner (I'm also a big Tron fan). You wouldn't have to push/pull the whole spinner unit, or even the encoder, just the shaft that the knob is on, though of course still maintaining alignment of the flywheels. Maybe something like a solid shaft inside a hollow tube, the outside hollow tube stays in place, the inside shaft can slide up and down, but the two tubes are interlocked somehow so that they rotate together and thus of course rotate the large flywheel.
On a side note, for the Discs of Tron push/pull spinner, is it just purely two position, up and down (probably using a switch), or does it detect inbetween positions too, either like an analog pot or another encoder detecting Z position?Also, does it "latch" in to place in the up position, or if you let go does it drop back down? Just curious in case I do decide to try to build my own.
Thanks!