Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: bumble on October 05, 2022, 12:07:47 am
-
I am running GoovyMame0244 with CRT Emudriver on a 25 inch K7000. My machine is in a horizontal position, so when running vertical games I ran into a problem where the game was going off screen, both top and bottom. Searching for answers I stumbled upon this post:
http://forum.arcadecontrols.com/index.php?topic=155575.0
A suggestion Calamity made was to create a custom veritcal.ini file with the following line:
crt_range0 15625-16200, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 240, 448, 480
This does work, however it seems to be producing a side effect where the very top of the screen has a horizontal glitch, on all vertical games. An example picture is attached of Galaga. It happens on all vertical games I tested. This does not happen if I remove vertical.ini and resize the screen to see the top.
In the code line above, if I change "240" back to "288" and resize my screen to be able to see the top, the glitch is not present. It seems specifically related to the reduction of the vertical lines, though I am not sure.
Attached is a log file of the game running with the glitch.
Any help would be greatly appreciated!
-
Galaga has 288 vertical lines. If you only have 240 lines, some lines will have to get squished.
You'll have this problem for most vertical games.
Running in horz mode with 288 vertical lines will have the wrong vertical freq (closer to 50hz) for Galaga, but GM can compensate for that.
Otherwise, you would need to run vertical games in an interlaced mode to get enough lines.
Does this help?
-
bumble, according to your log (see excerpts below) you are running the game at 480i. When you put back 288 instead of 240, probably GM picks 288p. Can you try setting your desktop resolution to 2560x480 and check whether the glitch also appears out of GM ?
Switchres: get_mode(0) 288 224 60.606061 1.333333
Switchres: Calculating best video mode for 288x224@60.606060 orientation: rotated
Switchres: Modeline "2560x480_30i 15.787879KHz 60.606060Hz" 52.620999 2560 2665 2912 3333 480 482 488 521 interlace -hsync -vsync
Switchres: updated AMD ADL timing "2560x480_30i 15.787879KHz 60.606060Hz" 52.620999 2560 2665 2912 3333 480 482 488 521 interlace -hsync -vsync
-
Galaga has 288 vertical lines. If you only have 240 lines, some lines will have to get squished.
You'll have this problem for most vertical games.
Running in horz mode with 288 vertical lines will have the wrong vertical freq (closer to 50hz) for Galaga, but GM can compensate for that.
Otherwise, you would need to run vertical games in an interlaced mode to get enough lines.
Does this help?
just to expand a bit, galaga runs on a horizontal monitor...rotated 90 degrees vertically... so at 240x320
your horizontally oriented monitor has 320x240 worth of pixels to work with. Galaga's "width" of 240 is fine, and fits within your monitor's 320 available horizontal pixels... but the Galaga's game "height" of 320 pixels is a little hard to fit in a screen with only 240 lines of resolution the monitor has available in the vertical dimension.
-
Thank you everyone for your replies!
bumble, according to your log (see excerpts below) you are running the game at 480i. When you put back 288 instead of 240, probably GM picks 288p. Can you try setting your desktop resolution to 2560x480 and check whether the glitch also appears out of GM ?
That worked! I don't have enough time at the moment to go further with this information, but I don't really understand why the game would be running at 480i. Of course the monitor is set to that, but I was under the assumption that the mode list was changing the resolution of the game while running. I'm sure there is something I'm not understanding.
Do I somehow automatically change the desktop resolution when a vertical game is launched to 2560x480, or is there a cleaner solution?
-
just to expand a bit, galaga runs on a horizontal monitor...rotated 90 degrees vertically... so at 240x320
your horizontally oriented monitor has 320x240 worth of pixels to work with. Galaga's "width" of 240 is fine, and fits within your monitor's 320 available horizontal pixels... but the Galaga's game "height" of 320 pixels is a little hard to fit in a screen with only 240 lines of resolution the monitor has available in the vertical dimension.
Galaga's original resolution (rotated) is actually 224x288@60.60. You can happily run the game in 240x320, though there will be 32 extra vertical lines (well, because CRT is rotated, they are really "pixels"). These extra lines/pixels can be an advantage, if you are running the game on a CRT TV with excessive overscan, because you can use the slider controls in mame/groovymame, and/or video mode porch settings in CRT_emudriver, to centre the screen and avoid losing any details.
For Galaga on a horizontal monitor, groovymame will run the game in 288p if that is available. That is the maximum number of (visible) progressive lines possible on a 15khz CRT (and on a CRT TV some of those lines may still be hidden due to overscan). If you have no 288p modes available, GM chooses the next best, which for your setup is 480i.
As to why first setting the desktop resolution to 2560x480i removes the glitch at the top, I don't really get that!
-
Thanks Zebidee!
I actually found a way forward, though I don't love it.
My frontend is Launchbox/Bigbox. Every game in Launchbox has metadata you can edit, and one of the options is to add additional applications to run when your game starts and/or stops. With the help of a simple command line utility called "Qres", I wrote a couple of batch files. One changes the desktop resolution to 2560 x 480, and the other to 640 x 480. I set the first to run when the game starts, and the second to run when the game ends. This allows me to run the game as intended, then be able to close it and still use my frontend without stretched graphics.
Of course, LaunchBox doesn't give you the option to bulk edit this for multiple games by default. I found a plugin that allows this, you can find it here if anyone is interested in that:
https://forums.launchbox-app.com/files/file/2866-bulk-add-additional-applications/
The main drawback of this method is game startup and shutdown doesn't looks as clean as it used to. I have Windows completely hidden, and adding this method reveals a little more under the hood than I'd like. I'm sure I can figure out a way to circumvent that.
This is my solution for now, but if anyone has more information to the specifics of this glitch and a way to fix it without running these scripts that would be great!