Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: emubastard on April 19, 2016, 12:18:57 pm
-
This is something I can't fix, it's modern Windows that's slow rebuiding the modelist. Avoid friction, man. Create specific resolutions for interlaced modes. It's wrong to create those modes as progressive if you're planning to convert the to interlaced.
How does one do this? In the user modes, all resolutions are treated as progressive because vmmaker just makes them progressive, or am I wrong?
I would definitely like ot make some resoution specific resolution modes, but because my monitor does 480p, vmmaker always choose progressive.
-
You can do what you want by helping VMMaker a little bit. I think the easiest way is this:
- Generate the modes using your usual monitor preset. Don't install the modes. Open modeline.txt and copy the modelines somewhere.
- Now pick a 15kHz-only monitor preset (e.g. arcade_15). Generate the modes again. Open modeline.txt and copy the modeline somewhere else.
- Now you need create a text file, copying the modelines from the first case and replacing the ones you want in 15 kHz with the ones from the second case.
- Save the file as emubastard.txt.
- Go to VMMaker->Settings->Video card->Import modes from file... and browse to emubastard.txt
- Finally, press "Install modes".
-
Actually this is awesome. I had actually tried this but didn't know if this was the best way to accomplish what I wanted.
Interlaced games are few and far in between so I'll just create a 2550x481 interlaced resolution using your method, and for the few interlaced games I have, force the games to use the 481i resolution in the per game ini's and no more bitchiness. I'll add 513i and 449i... Think that would cover most use cases that I can think of.
Hmmm, interesting idea... Can switchres say hey, i see you have a 481 interlaced resolution and use that instead of 480p? Maybe some kind of mame.ini option to look for +1 line interlace resolutions in windows. I guess then vmmaker would also have to allow you to set a 30hz resolutions in the user_modes.ini. Maybe not worth the time for the few games that there are.
If I'm understanding this, I can use this method instead of having switchres reprogram the existing resolution into interlaced mode, which runs into issues when you accumulate a large amount of custom resolutions.
This would allow me to have more modelines to automatically fill out my monitor vertically (cause I am anal and crazy), and retain interlaced modes for the few games that their are.
You suggested using one 240p mode and manually adjusting the front and back porch on a per game ini basis to get a perfect vertical fill every time, but creating these one off interlaced resolutions would seem to be a lot less work, at least until I use up too many modelines.
This literally covers every mame game I've tried, and 25 other systems that I'm playing with very good alignment. Yay.
NOTE:
For whatever reason, and I think it has to do with the BVM's having some kind of digital processing, my monitor is forcing the alignment to squish vertically based on the active vertical line count. This makes it so that I need to create a lot of modelines to fill out my screen for the various resolutions. I can not turn this off. While this is probably great for it's intended production purposes, it makes extra work for me in creating unnecessary mode lines.
I assume on a regular arcade monitor, this is not the case and I could use one 240p (or 288p) mode line.
-
This actually worked more or less.
At first I created and merged 4 new modes by using only the low range crt_range.
640x481
2560x449
2560x481
2560x513
I imported the combined interlaced and progressive modes and installed them.
After that I was off to arcade_osd to have a look. 640x481 worked great, nice and interlaced. however, 2560x449, 2560x481, 2560x513 showed up in arcade_osd as "NATIVE" and wouldn't let me edit them. When I tested them they also displayed as progressive. I thought wierd, what caused that? I forced some games to try those resolutions and they are indeed showing up as native progressive resolutions. I uninstalled the modes in vmmaker, and re-installed. Same deal. I then removed the driver completely, rebooted and re-installed the modes. They still showed up as native.
Somehow previously I must have done something while installing modes to mess these up.
So after scratching my head for awhile, I finally got a different set of interlaced modes working by creating the following modes using only the low range crt_range, to combine with the progressive modes.
2568x448
2568x480
2568x512
These did in fact show up in arcade OSD as "custom" and displayed as interlaced. I set them in some of my interlaced game ini's and poof. Gorgeous flickery interlacing. No issue. Not a lot of interlaced game to set up an ini for so this isn't any more work than overriding the crt_ranges to auto.
I also made Daphne run at 2568x480 with no aspect ratio adjustment. Beautiful. Horrible old interlaced looking picture just like the original arcade :applaud:
I'll have to do some more testing with the regular switchres resolutions but I can't imagine there would be any issue.
So at this point, I have 192p-288p, 320p-400p (by doubling the resolution and using a scanline effect), 480p-512p, 640p-800p, 3 low res interlaced resolutions, 50hz low res for commodore 64 and some other European machines and a crisp 1024x768 desktop resolution for a pretty mame front end.
That covers nearly every resolution I've encountered.
I should get my NEC XM29 fixed and see if it can do all this too. Maybe it can do 25hz resolutions natively without resolution doubling.