Software Support > GroovyMAME
Problems with custom generated modelines
Zebidee:
It is quite possible to use slightly larger (taller?) video modes, like with 248+ vertical lines, for arcade games designed for "240p", without losing pixel-perfection. Not ideal perhaps, but a valid way to get around excessive TV overscan, at least for some games, though best to try whatever's possible via the service menu first. Of course, consoles games etc. at "240p" should already designed with typical TV overscan in mind.
In GM, just make sure that you don't do any uneven stretching and maintain aspect ratio (in mame.ini, GM mostly just seems to work for me with default settings, which for me is all "unevenstretch" and "autostretchxy" at "0").
Where there is a difference, Groovymame will do its best to make the game speed and frame rates match. Small differences should be OK, some games with large differences might suffer. Vertical tearing and audio stutter are some signs something is wrong.
c0de90e7:
--- Quote from: Zebidee on April 07, 2023, 06:05:49 am ---It is quite possible to use slightly larger (taller?) video modes, like with 248+ vertical lines, for arcade games designed for "240p", without losing pixel-perfection. Not ideal perhaps, but a valid way to get around excessive TV overscan, at least for some games, though best to try whatever's possible via the service menu first. Of course, consoles games etc. at "240p" should already designed with typical TV overscan in mind.
In GM, just make sure that you don't do any uneven stretching and maintain aspect ratio (in mame.ini, GM mostly just seems to work for me with default settings, which for me is all "unevenstretch" and "autostretchxy" at "0").
Where there is a difference, Groovymame will do its best to make the game speed and frame rates match. Small differences should be OK, some games with large differences might suffer. Vertical tearing and audio stutter are some signs something is wrong.
--- End quote ---
Yes, that's what I was asking about, but how do I tell GM to do so ?
P.S.: Wow, that's a damn good arcade machine collection !
Zebidee:
There are a few ways to do it. The most blunt way is to create a [romname].ini file and put it in your /mame/ini folder.
You can make it with notepad and it can be as simple as "resolution 320x244". The .ini file will override any settings that came earlier for the game, such as from mame.ini.
A *better* way to do it is by editing your monitor.ini (you can do this directly or via vmmaker, first tab) to tell CRTEMU and GM what your "monitor" is capable of.
In my case, I'm using a generic brand 21" CRT TV with a "China TV" chassis variant. Yes that is the official term, they are common, at least across Asia. I have modded it to take component input, which I provide from PC via GreenAntz RGB-component transcoder. It is quite happy with PAL/50, NTSC/60 and almost everything else in between.
So, in the monitor.ini file, I created a new monitor profile named "ChinaTV1". It is really a hybrid of the generic PAL and NTSC profiles with two crt_range profiles. Here it is, with some highlighting.
--- Quote ---monitor "ChinaTV1", "China TV - 50/60 Hz", "4:3"
crt_range0 15625.00-15734.26, 49.50-55.00, 1.500, 4.700, 5.800, 0.191, 0.191, 1.056, 0, 0, 192, 288, 448, 576
crt_range1 15625.00-15734.26, 55.01-62.00, 1.500, 4.700, 4.700, 0.191, 0.191, 1.056, 0, 0, 192, 248, 448, 480
--- End quote ---
So, the coloured bits need some explaining. The horizontal frequency (NAVY) is now a range covering both PAL & NTSC. It could even go a bit lower & higher, but "15625.00-15734.26" works for both and most intents and purposes.
The vertical frequency (ORANGE) values are tweaked so that 49.5 up to 55hz use the crt_range0 profile (~"PAL"), and 55.01 - 62hz use the crt_range1 profile (~"NTSC").
Finally, have a look near the end of the lines, third numbers from the end. On the red "288" is for crt_range0, "PAL", and says we have 288 (theoretically) visible progressive vertical lines in "PAL" modes. The purple "248" is for crt_range1, "NTSC".
This "248" is the important part. It tells max progressive lines, and has been deliberately tweaked from "240". Vmmaker, and GM, will now automatically use the "NTSC", or crt_range1 profiles, for generating/using modes with up to 248 vertical lines.
Next, go to the third tab in Vmmaker and edit the user_modes - super.ini file. This will allows Vmmaker to create super modes. Comment out the "2560x240" line like this:
--- Quote ---## 2560 x 240 @ 60.000000 super
--- End quote ---
and replace it with (something like) this:
--- Quote ---2560 x 244 @ 60.000000 super
--- End quote ---
You can go higher, but for my purposes 244p was enough. Vmmaker was able to generate a 2560x244p mode at just under 59hz.
Now, start a game with 224 vertical lines, such as Wonder Boy (512x224p @ 60), GM will automatically choose the 2560x244p @59 super mode. In my case the extra 4 lines was enough to get all of "PLAYER 1" onscreen (a few pixels were missing in 2560x240).
In Wonder Boy, I was able to reclaim a few lines at the top so I could see all of "PLAYER 1". I would attach some screenshots and discuss further, but is late already and I am tired, so will save that for tomorrow.
Games that use 320x240p will continue to automatically use that mode, if it is available. You could go further and also comment out (#) that mode from the "user_modes - super" list and replace it with something like 320x244p. but beware, I think some non-MAME games may require 320x240p, might/possibly/maybe be an issue for some people/cases.
[EDIT: Minor rearrangements, GOOD NIGHT]
c0de90e7:
--- Quote from: Zebidee on April 11, 2023, 03:11:02 pm ---There are a few ways to do it. The most blunt way is to create a [romname].ini file and put it in your /mame/ini folder.
...
Next, go to the third tab in Vmmaker and edit the user_modes - super.ini file. This will allows Vmmaker to create super modes. Comment out the "2560x240" line like this:
--- Quote ---## 2560 x 240 @ 60.000000 super
--- End quote ---
and replace it with (something like) this:
--- Quote ---2560 x 244 @ 60.000000 super
--- End quote ---
...
I think some non-MAME games may require 320x240p, might/possibly/maybe be an issue for some people/cases.
--- End quote ---
First off, thank very much.
I am only using MAME so that is not an issue. However, I had removed lower resolution, 2560x240 from user_modes - super.ini and redone the generation of resolutions, but I am still having GroovyMAME use x240 resolutions... I am using GroovyMAME 0.218 though, could be it needs updating...
Anyway, thank you, I'll retry all this.
Zebidee:
Make sure to edit the monitor presets in monitor.ini, as described above, to tell VMMaker and GM what your TV can do. Easiest way is just copy/paste from what I posted & save. You can edit monitor.ini directly from within vmmaker (first tab). Then choose "China TV" (you could rename this!) from the pull-down list of monitor profiles.
If using the above monitor profile and you get some video modes that don't work, TV can't sync to (Sometimes TVs have problems with mid-50's frequencies, a range around ~55hz), then tweak/limit the frequency ranges to suit your TV. Something like 49.50 - 52.00 ("PAL") and 58.00 - 61.00 ("NTSC") should be fairly "safe".
To make sure GM doesn't choose any 240p modes, just don't give it any to use.
Go through your "user_modes - super.ini" and comment-out any other 240p modes there. Otherwise vmmaker will make them & GM will use them. You are using super modes? If not using super modes, you'd have to comment-out the 240p modelines in "user_modes.ini" (vmmaker, third tab, same place)
If you have (say) 320x240, in either file, you could comment that out and replace with 320x244.
While in vmmaker, go to the fourth (last) tab and make sure that you have your groovymame.exe file at the "MAME executable file path", and make sure to tick-the-box at "Export monitor settings to GroovyMAME" (this tells vmmaker to update the mame.ini with the monitor presets you edited/selected earlier, you want this).
--- Quote from: c0de90e7 on April 12, 2023, 11:46:06 am ---... I am using GroovyMAME 0.218 though, could be it needs updating...
--- End quote ---
Before you go, I suggest you update your version of MAME. Since Groovymame 0.246 has added controls for geometry adjustment (Horizontal vertical stretch & position). Can be adjusted in-game and/or added as command-line options to automatically adjust every game. This might be all you need.
I'll put up some glossy pics later.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version