Build Your Own Arcade Controls Forum

Software Support => GroovyMAME => Topic started by: bjt42 on December 09, 2018, 03:50:57 pm

Title: Forcing vertical aspect ratio
Post by: bjt42 on December 09, 2018, 03:50:57 pm
Under Groovy arcade, there is a menu option for forcing aspect ratio for vertical games on a horizontal monitor. Does anyone know which config file/option this controls?
Title: Re: Forcing vertical aspect ratio
Post by: Zebidee on December 10, 2018, 04:39:35 am
Set the monitor orientation in VMMaker under monitor settings (you should have both desktop as horizontal, and then the rotated screen as vertical).

Click "export settings to mame" and your groovymame executable in the last tab.

Click OK. Mame.ini will be auto-updated.

Groovymame should now auto-rotate your vertical games when you choose them.

If that doesn't work, then delete mame.ini in your Groovymame folder and everything in the /ini and /cfg folders and try again with VMMaker (you may have to manually re-enter rom directories etc to mame.ini if you don't use the default). If deleting things makes you nervous, then backup first if you like.
Title: Re: Forcing vertical aspect ratio
Post by: bjt42 on December 10, 2018, 05:26:11 am
To clarify this is under Linux using auto modeline generation via Switchres, not Windows.

Does this groovy arcade menu option modify the switchres config or some other config? Cheers
Title: Re: Forcing vertical aspect ratio
Post by: Calamity on December 10, 2018, 07:51:04 am
The vertical aspect ratio option modifies the -aspect option inside the vertical.ini file.

To put this in context, back when GroovyArcade was released, most of us were used to the ArcadeVGA standard for vertical resolutions. The ArcadeVGA has several resolutions that are intended for their use with vertical games. These are all 384 pixels horizontally, eg. 384x256 and 384x288. The result of rendering vertical games with the correct 1x1 pixel scale on these resolutions is incorrect aspect-wise, resulting in a visible area that is wider than it should, but in a way it's also nicer because it covers a bigger portion of the screen.

When I coded the modeline algorithm, I made it so vertical games were shown in their correct aspect ratio. In other words, if you take a ruler and measure the visible width and height on the actual screen it should result in 3/4. However, many people complained the games looked too thin, probably just because they were used to the ArcadeVGA way.

So this option was provided, to allow forcing the vertical aspect ratio and make it more similar to the other (incorrect) way. It works by "cheating" about the physical aspect of target monitor. This makes GroovyMAME apply a correction factor that in the end achieves the (incorrect) desired aspect ratio.

E.g., if you tell GM your monitor aspect is 3:4, it will render vertical games full screen. This is the edge case.

Setting monitor aspect to 3:3 will cause games to look square on a 4:3 monitor.

A value in the middle like 5:4 achieves somewhat similiar results those of the ArcadeVGA.

etc.
Title: Re: Forcing vertical aspect ratio
Post by: bjt42 on December 10, 2018, 10:57:17 am
Thank you, this makes sense. I was indeed looking for a way to make them slightly wider than at the default 4:3 setting.

The "wider" option in the GroovyArcade menu appears to be incorrect as it sets the ratio to 7/5 (same as the "normal" 4/3 setting). I assume it's a typo.