Main > Main Forum
TurboTwist Hi-Low Spinner Backspin problem. XP 64 Poll rate, Works Now!
<< < (8/18) > >>
RandyT:

--- Quote from: Bender on February 27, 2009, 07:18:51 pm ---if it's possible to do it on the hardware side, why not just do it so that the user doesn't have to mess with the patch and it won't matter what OS you have it would be Plug n play?

--- End quote ---

Because I don't wish to give up USB 1.1 compatibility for a faux feature when there are widely used software methods for doing the same thing without sacrificing overall system compatibility.  There are a lot more computers out there being used for Arcade style gaming with USB 1.1 ports than with 64-bit OS's (which can still be made to work fine, with a little more effort).

I have been considering some ways to keep the best of all worlds, but they are still in the early stages.

RandyT
Derrick Renaud:
I was asked to explain this in a PM, but I thought it might help others understand the problem, or at least further confuse the issue.  :)

There really is no one fit all description of how backspin happens.  Different arcade games implemented counter circuits differently and poll at different rates.  But the just of it is that old games like Centipede and Tempest used 4bit counters.  The game needed to read these quite rapidly so they did not overflow.  Tempest reads at 240Hz IIRC.  So you can see that Windows 125Hz can't keep up, let alone a serial mouse at 40Hz.

Lets say the arcade game read at 250Hz.  With Windows locked at 125Hz we have this scenario.

Assume a spinner is moving at 1 step per 1ms.  The game reads every 4ms.  Windows only gives valid data every 8ms.  This means the game gets data the first read at 4ms as 0, then  at 8ms it reads 8 from the supplied windows data.  The game is really expecting a smooth 4,4 read.

MAME just masks the windows supplied  data to the requested number of bits.  So if the spinner moves at 2 steps per 1ms, the game expects 8,8 reads, but after 8ms windows supplies 16 which masked to 4 bits now sends the game 0.

MAME can not hack the data so that it will not overflow.  Because even a real spinner on a real arcade game can backspin if moved fast enough.  Blocking overflow is not the fix.

Windows needs to supply the data quicker then the game needs it.  At least 2x quicker.  That is why 500Hz works great.  1000Hz is only marginally better.  Most people would not notice.

I have been thinking about it allot after installing Vista64.  I can not stand Vista and how inflexible it is and would not use it except for the 20-30% speed gain of the 64bit MAME.  So unless I can get it working, I'm going back to XP.

I do have a thought how to make MAME's handling of low poll rates better though.  If I keep track of the time since the last Windows supplied mouse data, I can fudge the data to smooth it out.  It would introduce a delay up to 1 sample, but might work out OK.  Rember 1 sample means an 8ms delay at 125Hz.  25ms delay for a 40Hz serial mouse hack that no one should even bother using in the first place.

Say we have the current 8ms poll rate, then Mame request data 4ms into the poll period, normally it receives the full data, and resets the counter to 0.  I think if I only send it 4/8 of the data, then it might smooth things out.  There is a little more fancy footwork to it then that, but that is the basics of the idea I want to try.

It is no substitution for a proper Windows 500Hz rate, but it might be better then nothing.
Bender:

--- Quote from: RandyT on February 27, 2009, 07:44:11 pm ---
--- Quote from: Bender on February 27, 2009, 07:18:51 pm ---if it's possible to do it on the hardware side, why not just do it so that the user doesn't have to mess with the patch and it won't matter what OS you have it would be Plug n play?

--- End quote ---

Because I don't wish to give up USB 1.1 compatibility for a faux feature when there are widely used software methods for doing the same thing without sacrificing overall system compatibility.  There are a lot more computers out there being used for Arcade style gaming with USB 1.1 ports than with 64-bit OS's (which can still be made to work fine, with a little more effort).

I have been considering some ways to keep the best of all worlds, but they are still in the early stages.

RandyT

--- End quote ---

Fair enough

can't say I personally agree on the priorities, but that is certainly a legit reason

and by the way "a little more effort" was a weeks worth of trial and error, and having to pull my hard drive 3 times to fix stuff, I almost had to reinstall the whole OS but for some great advice from another forum member


RandyT:

--- Quote from: Bender on February 27, 2009, 10:42:03 pm ---and by the way "a little more effort" was a weeks worth of trial and error, and having to pull my hard drive 3 times to fix stuff, I almost had to reinstall the whole OS but for some great advice from another forum member

--- End quote ---

Heh, but to be honest about the situation, that was an atypical experience......glad to hear you got everything going, though.

Derrick Renaud:

--- Quote from: Bender on February 27, 2009, 10:42:03 pm ---and by the way "a little more effort" was a weeks worth of trial and error, and having to pull my hard drive 3 times to fix stuff, I almost had to reinstall the whole OS but for some great advice from another forum member

--- End quote ---

So you actually have Vista 64 SP1 with all current updates patched to do 500Hz?  And the mouserate program confirms the higher poll rate?

If so how?
Navigation
Message Index
Next page
Previous page

Go to full version