Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: How to get MAME to run smoothly? (ie no tearing/jerkiness when scrolling)  (Read 22302 times)

0 Members and 1 Guest are viewing this topic.

zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
I am running vmame64 on vista x64 w/ an arcadeVGA and D9200. Everything seems fine except for screen tearing (example MK2) and a jerkiness when scrolling (example NBA Hangtime)

I found another post that suggested -waitforvsync and -triplebuffer but none of those seem to have an impact at all.

Then I found another post that suggests disabling 'throttle' which makes my games haul ass; its funny to see. lol

So, just experimenting I keep it disabled and set the speed to 0.1. At that point the games seem to run perfectly; all tearing, etc gone. The prob is I have no sound w/ throttle disabled.

Anyone? Thanks in advance!

technocop

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 22
  • Last login:November 03, 2009, 04:55:45 pm
I don't know if you saw my thread about this yesterday:
http://forum.arcadecontrols.com/index.php?topic=94426.0

basically using mameuifx, and enabling vsync and soundsync for the games with tearing works fine for me

result!

Section_25

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 29
  • Last login:February 12, 2010, 08:35:29 am
I use MAMEfx also .... would highly recommend it..... mamesick does an excellent job on his version of the emulator!!!!
---MAME Arcade Cabinet---
Hyperspin FE
LED Blinky

http://i263.photobucket.com/albums/ii133/Section_25/Mame%20Cabinet/Front.jpg

Join me on My IRC Network at:
www.irc-section.net

zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
Very helpful thank you both. Well I have located a 64-bit version of mameuifx. My concern is that I am a different front end (Hyperspin) so I don't really need the user interface at all.

Is it possible to d/l a command line 64-bit mameuifx; something without the interface?

Thanks

technocop

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 22
  • Last login:November 03, 2009, 04:55:45 pm
You don't have to use the mameuifx gui to make use of it.

I'm not sure how hyperspin works, but I'm using MALA as my front end. I configured it by pointing it to the mameuifx executable exactly as if it was a command line version. Works fine.

I'm pretty sure you can do the same thing in hyperspin

zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
good point, I'm sure it should work the same. My concern was the resources wasted running a ui in the background for no reason. Prob no big deal at all anyway.

Nothing to lose will give it a shot and thanks!!

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
Could also try building a version of mame with the cabmame diffs that you need (or there may be a 64-bit prebuilt version of cabmame. . not sure.)
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
Could also try building a version of mame with the cabmame diffs that you need (or there may be a 64-bit prebuilt version of cabmame. . not sure.)

Can you explain this a bit more? I'm not familiar with cabmame and was not able to find an official site. Its all new to me. Thanks.

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
No problem!

I'm not sure where the main page is for cabmame, but here it is:

http://www.emuhq.com/emulators/arcade/mame/news/2009/01/07/7985

I don't see a 64-bit prebuilt version though.  You'd have to set yourself up to be able to compile mame from the sources, get the patch file from this page, patch the sources, and the compile mame.  Mamedev.org has info on how to compile from the sources.  I believe there is an easier setup out there for compiling from the sources, but I don't know what that is off the top of my head.  I'll likely be compiling a version for myself soon of version 132u2 (I think), but it'll only be a 32-bit version since I don't have a 64-bit OS at home to test on.  If you can't find a built version and no one else chimes in, I may be able to help.
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
Thanks Gary. Aren't these files 32-bit versions on the link you gave me? I see 3 files but they appear to be 32-bit. Will they work if I compile from 64-bit sources? I have a lot to learn; I'll start reading up.

Also, would you have a moment to look at my other thread. i noticed that your running an ArcadeVGA w/ a multisync monitor as well.

http://forum.arcadecontrols.com/index.php?topic=94490.0

Thanks for any help!

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
I'm actually not running an ArcadeVGA, but I imported all of the custom resolutions that it uses into PowerStrip with an ATI mobile chip.  I'll get an ArcadeVGA as soon as I'm done using my cruddy old laptop to run Mame. :)

I'll have a look at the other thread now.

I think you can build both 32-bit and 64-bit from the same sources with different arguments to make.  I'm not sure though since I haven't done it yet.
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
OK, I'm currently trying to compile a 64-bit cabmame using .132 source and .129 cabmame diffs. Keep running into failed hunks on the .129 changeres diff.

Posted this also on the Mame Compiler 64 thread to make sure this is doable first and that I have that right pieces.

zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
BTW, how does cabmame handle switching resolutions mid game? The res tool that I've used to assign each game a resolution only assigns one res. So I launch a game and mame uses the resolution in the .ini for that game. Now its told to switch; wheres the info come from in terms of what res to switch to?

I know mame does a crummy job at choosing the right resolutions thats why i'm asking.

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
OK, I'm currently trying to compile a 64-bit cabmame using .132 source and .129 cabmame diffs. Keep running into failed hunks on the .129 changeres diff.

Posted this also on the Mame Compiler 64 thread to make sure this is doable first and that I have that right pieces.

I was able to patch 132u1 with cabmame 129 diffs last night without any conflicts.  Do you have any other patches in there?
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
got it now Gary. I wasn't applying in the correct order. Going to give it a whirl tonight. Will check back soon.

So most of the 640x480 game resolution issues have been corrected with this version in your experience?

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
got it now Gary. I wasn't applying in the correct order. Going to give it a whirl tonight. Will check back soon.

So most of the 640x480 game resolution issues have been corrected with this version in your experience?

I haven't done a lot of testing. It definitely fixed Tekken with the resolution changing after the app started. I still have a problem with Smash TV that I need to figure out 
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
At the end of the day I may end up trying Linux and an ATI card so that the video mode can be programmed directly.  All this red tape to get it working properly under Windows is painful.  I hate having to use Linux though since it means that I can't use GameEx, etc. :(
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
At the end of the day I may end up trying Linux and an ATI card so that the video mode can be programmed directly.  All this red tape to get it working properly under Windows is painful.  I hate having to use Linux though since it means that I can't use GameEx, etc. :(

Well I'm going to give this new .321 cabmame x64 a shot that I compiled. I've heard that the syncsound is a treat!

If that goes to plan with the few games that I need it for then I will give the 640x480 a shot.
Hopefully it will do a nice job on that one though I have my doubts. So your suspision is that some of the 640x480 games run several resolutions (ie one for the title screen and one for the game itself)?

If thats the case then which res is the one referenced at game startup when you launch it in Mame?  :dunno

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
At the end of the day I may end up trying Linux and an ATI card so that the video mode can be programmed directly.  All this red tape to get it working properly under Windows is painful.  I hate having to use Linux though since it means that I can't use GameEx, etc. :(

Well I'm going to give this new .321 cabmame x64 a shot that I compiled. I've heard that the syncsound is a treat!

If that goes to plan with the few games that I need it for then I will give the 640x480 a shot.
Hopefully it will do a nice job on that one though I have my doubts. So your suspision is that some of the 640x480 games run several resolutions (ie one for the title screen and one for the game itself)?

If thats the case then which res is the one referenced at game startup when you launch it in Mame?  :dunno

Try Tekken as an example with -verbose and maybe run in a window.  There is spew as to which modes it's setting at different points in time.  See which one matches the one that Mame reports as the actual resolution for the game.  If it is reported as 640x480, then I think it's the initial resolution since the actual 3D game doesn't run at that resolution.
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
Will try that Gary. Not familiar with -verbose option but I assume it will give some type of real-time application feedback.

zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
Had a chance to screw with it a bit tonight. Compiling went great. Right off the bat fixed my stuttering/sync issues. Def noticed a bit of a speedier feel to the games but overall a very good option to eliminate sync issues.

Also fixed Tekken and all of my 640x480 probs. But it was working too well so I generated the mame.ini and noticed cleanstretch was turned on. After I disabled that went back to same issues as before with the 640x480 games. Andy had always said any hardware stretching is absolutely a no-no for the ArcadeVGA.

Overall, I need to learn a bit more about Cabmame. For instance, I'd like to disable the soundsync and run the app as normal in the mame.ini. Then if I find a problematic game like nba hangtime or MK, activate soundsync and whatever to make the sync issues go away. Not sure if that's possible or not.

Will do some more research on cabmame and report back.

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
Had a chance to screw with it a bit tonight. Compiling went great. Right off the bat fixed my stuttering/sync issues. Def noticed a bit of a speedier feel to the games but overall a very good option to eliminate sync issues.

Also fixed Tekken and all of my 640x480 probs. But it was working too well so I generated the mame.ini and noticed cleanstretch was turned on. After I disabled that went back to same issues as before with the 640x480 games. Andy had always said any hardware stretching is absolutely a no-no for the ArcadeVGA.

Overall, I need to learn a bit more about Cabmame. For instance, I'd like to disable the soundsync and run the app as normal in the mame.ini. Then if I find a problematic game like nba hangtime or MK, activate soundsync and whatever to make the sync issues go away. Not sure if that's possible or not.

Will do some more research on cabmame and report back.

You can have an ini per game in the ini directory that modifies any of the settings in mame.ini.  You can also do vertical.ini, horizontal.ini, vector.ini, etc in the root directory that also overloads mame.ini.

For instance, if want pacman to have certain settings, make ini\pacman.ini and put those settings in there.  I also think that you can make a config per hardware family (neo geo for instance) and I also think that if you do a parent game, all children will inherit settings from it (ie. puckman.ini will cover all pacman games).  I may be wrong about this. :)
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
I follow you. I already have an ini for every game created by the res tool I used for the ArcadeVGA. What I need to nail down is what settings to use in my mame.ini to disable the sound sync option. I want to essentially run a stock version of mame .132 on 95% of my games. Then within the game specific ini files add the options I need to enable sound sync, etc. to mitigate tearing issues within those few games that have probs with it.


GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
I follow you. I already have an ini for every game created by the res tool I used for the ArcadeVGA. What I need to nail down is what settings to use in my mame.ini to disable the sound sync option. I want to essentially run a stock version of mame .132 on 95% of my games. Then within the game specific ini files add the options I need to enable sound sync, etc. to mitigate tearing issues within those few games that have probs with it.


Ah, OK.  If someone else doesn't respond by tonight, I can dig up the info at home (I don't have it at work.)
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
I follow you. I already have an ini for every game created by the res tool I used for the ArcadeVGA. What I need to nail down is what settings to use in my mame.ini to disable the sound sync option. I want to essentially run a stock version of mame .132 on 95% of my games. Then within the game specific ini files add the options I need to enable sound sync, etc. to mitigate tearing issues within those few games that have probs with it.


Ah, OK.  If someone else doesn't respond by tonight, I can dig up the info at home (I don't have it at work.)

Cool thanks! I'm wasn't even sure it was possible within cabmame. I didn't know if when you applied the patch that it was on all of the time or not...

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
I follow you. I already have an ini for every game created by the res tool I used for the ArcadeVGA. What I need to nail down is what settings to use in my mame.ini to disable the sound sync option. I want to essentially run a stock version of mame .132 on 95% of my games. Then within the game specific ini files add the options I need to enable sound sync, etc. to mitigate tearing issues within those few games that have probs with it.


Ah, OK.  If someone else doesn't respond by tonight, I can dig up the info at home (I don't have it at work.)

Cool thanks! I'm wasn't even sure it was possible within cabmame. I didn't know if when you applied the patch that it was on all of the time or not...

I'm pretty sure (but no 100%) that most cabmame options are configurable.  If you run "mame -showconfig", you might see extra options in there.
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
OK, I noticed that by default throttle is disabled within my cabmame mame.ini. It shouldn't be all that hard to accomplish I'm just not sure on what settings need to be changed to make it "stock" again.

On another note, 'clean stretch' looked very nice on my machine. I'm half tempted to leave it to do away with the constant stretching to fill the screen with switching resolutions. I don't know what the differences are between hardware stretch and clean stretch but I will say that clean stretch look far superior in terms of authenticity. No blurring, etc.

How are you handling this?

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
I can look at the diffs hopefully tonight and tell you how the defaults change from mame to cabmame.

I'm never using hardware stretch.  I'm trying really hard to run the game at native resolution and refresh rate, which seems like a difficult thing to do under Windows.  I'll likely switch to Linux to achieve this goal.  I really hate not being able to use GameEx though.  I'm probably more anal about this sort of stuff than most people though. :)
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
I can look at the diffs hopefully tonight and tell you how the defaults change from mame to cabmame.

I'm never using hardware stretch.  I'm trying really hard to run the game at native resolution and refresh rate, which seems like a difficult thing to do under Windows.  I'll likely switch to Linux to achieve this goal.  I really hate not being able to use GameEx though.  I'm probably more anal about this sort of stuff than most people though. :)

Thanks, I'll give it a try once you post it up.

I'm in the same boat with the FE. I use Hyperspin and will not give it up. I love linux but just won't do it. I really feel like a nice FE rounds things out on my machine. I'm going to put some more hours in w/o hw stretch and see how it works. I don't have the time on it yet to proclaim that is sucks that bad; but if I run into probs all the time I MAY enable clean stretch.

BTW, how does linux help this situation?

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
I can look at the diffs hopefully tonight and tell you how the defaults change from mame to cabmame.

I'm never using hardware stretch.  I'm trying really hard to run the game at native resolution and refresh rate, which seems like a difficult thing to do under Windows.  I'll likely switch to Linux to achieve this goal.  I really hate not being able to use GameEx though.  I'm probably more anal about this sort of stuff than most people though. :)

Thanks, I'll give it a try once you post it up.

I'm in the same boat with the FE. I use Hyperspin and will not give it up. I love linux but just won't do it. I really feel like a nice FE rounds things out on my machine. I'm going to put some more hours in w/o hw stretch and see how it works. I don't have the time on it yet to proclaim that is sucks that bad; but if I run into probs all the time I MAY enable clean stretch.

BTW, how does linux help this situation?

AdvanceMame is coded to the svgalib, which can explicitly control video modes much more cleanly than you can (I think) in Windows.

If Linux is what it takes to get proper resolutions and refresh rates for me, I suppose I could write a front end for Linux if I can't find a nice one.  A front end doesn't need to be able to do too much for me to be happy with it.
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


brian_hoffman

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 131
  • Last login:July 02, 2011, 09:02:20 pm
I have a solution that is super easy!

There is a setting called "tripple buffer" This draws three frames of the image. The tearing you have is because it is only rendering one frame at a time and your scrolling fast.

How to do this.

Locate the MAME.ini in your mame folder, edit it, Video options> Tripplebuffer 1

If you do not have a MAME.ini goto a cmd prompt>navigate to your mame directory> type > MAME.exe -cc

This should fix your issue man.

EDIT
I saw you are using HyperSpin as your Frontend it uses a script called Hyperlaunch to load your rom. Unless you edited this file to add -tripplebuffer and recompile to EXE it would not have worked. Perhaps that was the issue. For best results just edit the mame.ini for the settings you need to adjust.

Just thought Id throw it out there.
« Last Edit: July 21, 2009, 08:50:17 pm by brian_hoffman »

zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
I have a solution that is super easy!

There is a setting called "tripple buffer" This draws three frames of the image. The tearing you have is because it is only rendering one frame at a time and your scrolling fast.

How to do this.

Locate the MAME.ini in your mame folder, edit it, Video options> Tripplebuffer 1

If you do not have a MAME.ini goto a cmd prompt>navigate to your mame directory> type > MAME.exe -cc

This should fix your issue man.

EDIT
I saw you are using HyperSpin as your Frontend it uses a script called Hyperlaunch to load your rom. Unless you edited this file to add -tripplebuffer and recompile to EXE it would not have worked. Perhaps that was the issue. For best results just edit the mame.ini for the settings you need to adjust.

Just thought Id throw it out there.

Glad you did! Gary whats your take on this?

For me it does not work. The problematic games are the ones with under a 60hz refresh (like NBA Hangtime and MK1 and 2).

I have tearing/choppiness with these games with or without tripplebuffer. Is this not the case with you on these Brian?

The only way I was able to alleviate this was to disable throttle and turn the speed way back to keep the games from running too fast; at which time I lost sound.

Its only a VERY small handful of games; unfortunately they are some of my favorites. The games that work just work. They don't seem to require any options to make them run 100% smooth.

Thoughts?

zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
I can look at the diffs hopefully tonight and tell you how the defaults change from mame to cabmame.

I'm never using hardware stretch.  I'm trying really hard to run the game at native resolution and refresh rate, which seems like a difficult thing to do under Windows.  I'll likely switch to Linux to achieve this goal.  I really hate not being able to use GameEx though.  I'm probably more anal about this sort of stuff than most people though. :)

Thanks, I'll give it a try once you post it up.

I'm in the same boat with the FE. I use Hyperspin and will not give it up. I love linux but just won't do it. I really feel like a nice FE rounds things out on my machine. I'm going to put some more hours in w/o hw stretch and see how it works. I don't have the time on it yet to proclaim that is sucks that bad; but if I run into probs all the time I MAY enable clean stretch.

BTW, how does linux help this situation?

AdvanceMame is coded to the svgalib, which can explicitly control video modes much more cleanly than you can (I think) in Windows.

If Linux is what it takes to get proper resolutions and refresh rates for me, I suppose I could write a front end for Linux if I can't find a nice one.  A front end doesn't need to be able to do too much for me to be happy with it.

I'd be interested in your progress with Linux if you do it. Will you post something up on it if you proceed?

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
Triple buffering will get rid of the tearing, but won't get rid of the jerkiness.  You need to spell the setting correctly for it to work. :)  Do "mame -showconfig" to see what the setting is called.

I'll let you know how linux goes if I end up going that way.  I'm hoping that I don't have to. :)
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com


zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
lol, yea that would help.

At any rate, cabmame is working very nicely for me. Pitch change is nearly unnoticeable and all games run smooth. I currently have all stretching disabled and am switching resolutions per the rest tool .ini files and things are nice.

Occasional screen screen size issues but overall have it pretty well sorted.

Thanks to all for help!

jasonbar

  • Trade Count: (+10)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2252
  • Last login:July 17, 2025, 07:40:40 pm
  • Dr. Inferno
    • The Infernolab
Just came to this party a little late & can't quite picture what "tearing" is, though it's come up in many threads over the years...

I have a little graphics glitch with pretty much all side scrolling games--wonder if this is "tearing"?

As games are scrolling left/right, there's a faaaaint horizontal line that proceeds down the screen--it takes several seconds to travel from the top to the bottom.  It almost looks like a scan line or something, but I think the pixels along that line are probably just shifted 1 left or 1 right so that it shows only subtly.

Is that tearing?  If so, which of these many items discussed below is a silver bullet to kill it?

Thank you,
-Jason

u_rebelscum

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3633
  • Last login:April 21, 2010, 03:06:26 pm
  • You rebel scum
    • Mame:Analog+
Yes, that's an eample of tearing.  And it's the game scrolling partway through the screen redraw.
Robin
Knowledge is Power

zmartin34

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 120
  • Last login:December 26, 2011, 09:22:42 pm
Just came to this party a little late & can't quite picture what "tearing" is, though it's come up in many threads over the years...

I have a little graphics glitch with pretty much all side scrolling games--wonder if this is "tearing"?

As games are scrolling left/right, there's a faaaaint horizontal line that proceeds down the screen--it takes several seconds to travel from the top to the bottom.  It almost looks like a scan line or something, but I think the pixels along that line are probably just shifted 1 left or 1 right so that it shows only subtly.

Is that tearing?  If so, which of these many items discussed below is a silver bullet to kill it?

Thank you,
-Jason

OK, well ideally some guru would school you on this but I'll do my best to try. First and foremost give -triplebuffer, -waitvsync, and -syncrefresh a try. These did not seem to work very well with the games I am playing but seemed to have some positive impact. But who knows; it only takes 2 mins to try and will save you a hassle if it helps. If not:

Cabmame or MameUIFX are good solutions. Cabmame disables throttle and implements a soundsync patch to keep the audio in step with the adjusted refresh. You can turn throttle off in standard mame and it will completely eliminate any tearing but you will lose sound or have sound problems at the very least. Cabmame eliminates that with the soundsync patch.

You can either find a pre-compiled cabmame or you can make your own. I would recommend compiling your own as it will be tailored exactly to your needs.

jasonbar

  • Trade Count: (+10)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2252
  • Last login:July 17, 2025, 07:40:40 pm
  • Dr. Inferno
    • The Infernolab
I think we have a winner here!!!

I tried Rastan, Rush 'n Attack, Moon Patrol & Kung-Fu Master with & without -triplebuffer on my MAME 115 optimized for my processor & w/ the high-score/no-nag patch.

On Rastan & Rush 'n Attack, the tearing clearly went away.  On Moon Patrol, it was very subtle, but -triplebuffer made a slight occasional ripple in the back set of mountains go away.

Kung-Fu Master is a little harder to assess because it has plain backgrounds & those blankety-blank thugs keep coming out so often that it's hard to keep moving!  :\


I'm sure I don't understand the intricacies of what -triplebuffer is doing (something about waiting to draw the screen so the PC doesn't draw any faster than the monitor's refresh rate...?), but I do see one detrimental side effect.

I do have a "fast foward" admin button on my panel that is mapped to F10 for "throttle."  I use this to speed past lengthy game bootup sequences (especially those DECO cassette games!).  When -triplebuffer is used, my max running speed seems to be about 110%, whereas it's much faster without -triplebuffer.  For example, Rush 'n Attack can zip at ~750% when throttle is toggled & when not using -triplebuffer, but it caps out just under 110% when throttle is toggled & when using -triplebuffer.

A minor inconvenience...but is this the price I must pay for smooth scrolling w/out tearing?



From what I gather, -waitvsync & -syncrefresh aren't as desirable, as they can lead to speed changes and/or operate only when games are running a certain % of their intended speed (I'm likely mistaken here!!!).

I tried -waitvsync on Rush 'n Attack & it looked great & unthrottling got me to 200% speed (not bad).  Ditto for -syncrefresh.

So, all 3 seem to work for me, but -triplebuffer limits my "fast forward" mode more than the other 2 parameters.


Any thoughts/recommendations/explanations on what's going on behind the scenes?  For that matter, I'm sure this is a lame question, but is there some comprehensive list of *all the MAME parameters & explanations on what they do?  I'm always coming across new ones that both impress & confuse me.


Thanks!
-Jason

GaryMcT

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 745
  • Last login:September 24, 2014, 11:19:27 am
    • GaryMcT's arcade blog
I'm at work now so I don't have time, but I might be able to explain triple buffering and how it differs from double buffer (or at least try to find an article about how they are different.)

What you really want when you are triple buffer for fast-forward is to skip frame rendering instead of letting them draw as quickly as possibly.  It may take a code mod to make that happen. . not sure.
My blog on learning how to develop FPGA versions of arcade boards: http://garymct.blogspot.com