Build Your Own Arcade Controls Forum

Software Support => GroovyMAME => Topic started by: jimmy2x2x on July 14, 2013, 07:33:04 am

Title: Any idea why this happens?
Post by: jimmy2x2x on July 14, 2013, 07:33:04 am
One of my machines is a head to head cocktail with a vertical 15k screen, I like to play horizontal games on this setup with an appropriate res to stretch the display to (almost) fill the vertical screen.

typically I will use this res:

resolution                640x288x16

and this works great for certain games:

Bank Panic  224x224
Black Tiger 256x224
p47 256x224
rygar 256x224
ghosts and goblins 256x224
dead angle 256x224
insector x 256x224
itazuru tenshi 256x224
jungle king 256x224
prehistoric isle in 1930 256x224

However, other games with the same resolutions, run but give a black screen, like these:

nemesis 256x224
berzerk 256x224



Any ideas or suggestions for this behaviour?

Thanks in advance


Title: Re: Any idea why this happens?
Post by: Calamity on July 14, 2013, 11:21:36 am
Hi jimmy, how recent is the version of GM you're running?
Title: Re: Any idea why this happens?
Post by: jimmy2x2x on July 18, 2013, 05:51:20 pm
Hi Calamity,  latest vmmaker and latest gm.

I found a way around it, in the individual .ini files I just change the aspect to 3:4 and I get the horizontal games filling the vertical screen (as I wanted)

The only caveat to this is the refresh rate is sometimes wrong, if I am understanding things correctly, I should:

sync_refresh and triplebuffer to 0 and GM will either sync if the game is close to the refresh or triplebuffer if its not close enough.


However I get some strange results, for example pac land:


Native:
228 x 224 x 60.606060

game information shows

512 x 288p x 51.136

pressing f11 shows the game running at 84%

shouldnt this be a case where triple buffer would work better than syncing?

Thanks for all your amazing work ;)

Title: Re: Any idea why this happens?
Post by: Calamity on July 19, 2013, 07:53:53 am
Hi jimmy,

Yes, provided you have these settings:

syncrefresh 0
triplebuffer 0
waitvsync 0

... GroovyMAME should be picking the proper setup (either syncrefresh or triplebuffer) depending on the refresh that's obtained.


There is a way to tell GroovyMAME how off the refresh must be in order to trigger triplebuffer, this is done by the -syncrefresh_tolerance option, so

syncrefresh_tolerance 2.0

... means that whenever the refresh obtained is more than 2.0 Hz away from the original refresh, we must use triplebuffer instead of syncrefresh.
Title: Re: Any idea why this happens?
Post by: jimmy2x2x on July 19, 2013, 08:48:09 am
I just confirmed all the settings are as above, pacland still vsyncs and runs at 88%

I tried ddraw and d3d, same result

Any ideas?

Thanks

EDIT: added log:  http://pastebin.com/DPHSHmrZ (http://pastebin.com/DPHSHmrZ)

2nd edit: did a -cc for a new config and everything now works as expected, (d3d produced large ui fonts, ddraw is fine) - all good here!

Sorry for this misunderstanding.
Title: Re: Any idea why this happens?
Post by: Calamity on July 19, 2013, 01:46:42 pm
Good...

I was going to reply right now. I'm almost sure the problem was because -multithreading was disabled. It must be enabled for -triplebuffer to work properly (this GroovyMAME specific).