Main > Main Forum
Trackball / Spinner Issues
cnsf:
HELP!!!!
I am having the same problem - very evident in Centipede and Millipede. I have Hyperspin, MAMEUIFX 0.134, Core2Duo, 4gb RAM, GIGABYTE GA-G41M-ES2L LGA 775 Intel G41 Micro ATX Intel Motherboard, EVGA GeForce 8600 GTS SSC Edition 256MB 128-bit GDDR3 PCIe x16, SVideo to TV, IPAC, OptiPAC - both running over USB, 4095k swap file, Windows XP SP3.
The game starts great, then after about 2-3 levels, the trackball starts to lose responsiveness, the shooter starts to bounce all over the screen, then I lose responsiveness altogether. If I pause the game, wait a little, then play again, it's fine. Very weird. Seems like some sort of buffer issue.
Things I've tried to fix it that haven't worked:
Upgrade XP Pro to SP3
Change trackball from serial to USB (via OptiPAC removing power connector from IPAC)
Cranked down any accelerated BIOS settings
increased virtual memory swap file and made it fixed/custom at 4095.
Tried official MAME 0.134 build outside of Hyperspin
Tried MAMEUIFX 0.134 build outside of Hyperspin
Turned off joystick in mame.ini (I don't use one anyway)
Turned off artwork, bezels, etc.
I didn't have this problem in 0.90 or 0.128 - my last two cab builds of MAME. I have not yet tried an old backup version of these to see if they work now.
I'd be happy to post my mame.ini if that would help.
cnsf:
I also enabled triple buffering (it happened when it was disabled). I will check vsync when I get back tonight.
u_rebelscum:
Did (disabling) vsync fix it? If not there might be a couple possible causes, but I don't know of fixs, so I'll just sumerize.
Centiped and milliped polled their TBs something like 240Hz, and mame has had, in the past, problems reading the inputs and seending it to the right places "in sync". Centiped especially, this would lead to a very slow feeling.
This has been fixed recently, AFAIK by buffering inputs and doling it out equally to the multiple game polls until mame's next poll. Maybe this buffering is getting out of sync or something. I can see how mame's vsync or "triple buffering"* could mess with the timing, but that's without verifying in the source.
*The "triplebuffering" mame uses is not true triple buffering. DirectX does not have a built in way to true triple buffer, but a fake substitute being called that, but really is "render ahead buffering", which mame uses. Render ahead is like vsync in that once it's render-ahead buffer is full, it stops and waits (for vsync) for a space to open in the buffer. If mame is able to render ahead just slightly faster than the game expects, the buffer will fill up "slowly", and once full, mame will act like vsync is on. Which why both vsync and triplebuffering should be disabled if you're having this problem.
cnsf:
It did!!!
I had triplebuffer and waitsync enabled in mame.ini. I turned off both and the buffer problem went away. SO, I decided to find out the real cause.
I enabled triplebuffer (which enables waitsync anyway) and the problem came back. I then disabled triplebuffer and enabled waitsync. The problem also came back. Disabled waitsync and it's now fine.
The source of the problem is waitsync.
Now, I get some screen tearing in more demanding graphics games like Mortal Kombat - guess I'll have to live with that.
The problem was "not" related to Hypersin in any way or the IPAC or OptiPAC. All are great products.
btw - Andy from Ultimarc helped me investigate this issue - he is awesome with support, even when it is not related to his product. We all should buy from Ultimarc to make sure the business not only survives, but grows...
u_rebelscum:
Glad you got it sorted out.
--- Quote from: cnsf on December 26, 2009, 10:42:40 am ---Now, I get some screen tearing in more demanding graphics games like Mortal Kombat - guess I'll have to live with that.
--- End quote ---
FWIW, you are getting a lot of tearing in MK because MK refreshes at 54.8 Hz, quite a bit off from the 60 Hz you're probably running at. The games you're not getting as much tear probably run at or close to 60 Hz (pacman: 60.60606 Hz, zaxxon: 59.999408 Hz). These games will get a small "walking" tear moving up or down the screen.