Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: RKnees on January 03, 2021, 08:41:37 pm
-
Hi there! First post, let me start with a big thanks to everyone involved in GroovyMAME, crt_emu driver etc, especially Calamity. Due to this forum and reading through a lot of threads and tutorials, I’m now running a B&O mx7000 crt with a PC (intel g3258 overclocked)setup through an UMSA. Mainly I’m using the emu driver in combination with retro arch super resolutions and so far it is working very well.
I’m trying to learn a lot about how crt works, and now I’m struggling to understand how to effectively Center my screen without manually editing modes in arcadeosd. What I’ve learned so far is:
- adjust h front and h back porch and always add same amount to both (or use h center)
- always test using different resolution than desktop resolution due to read only issue
- most accurate for calibrating is to use highest super resolutions
- the modes will be generated using the modelines as ‘instructions’
- change crt_range to add the adjustments through all generated resolutions
Please correct me if I’m mistaken!
And the last point is where I’m struggling; when I calibrate the horizontal Center correctly on let’s say 2560x240@60p, and copy the horizontal porch values from the mode line into the monitors.ini(replacing), will that work? I saw that those values are different on each separate resolution, so how will vmm generate the right amount of adjustments on all other resolutions? How does the crt_range work?
Sorry if it’s already written down somewhere, I tried to read through but could not find a good explanation thus far.
Thanks!
Arnie
Info:
Currently using NTSC/60/525 monitor preset due to weird wavey toplines on Arcade 15.
Verzonden vanaf mijn iPhone met Tapatalk
-
Hi RKnees,
And the last point is where I’m struggling; when I calibrate the horizontal Center correctly on let’s say 2560x240@60p, and copy the horizontal porch values from the mode line into the monitors.ini(replacing), will that work? I saw that those values are different on each separate resolution, so how will vmm generate the right amount of adjustments on all other resolutions? How does the crt_range work?
Ideally, horizontal porch and sync values (in µs) would be equal on each separate resolution, regardless of what the modeline (not crt_range) numbers are. This is because modeline numbers are relative to the particular resolution, while crt_range numbers are absolute figures (= time in µs).
However, you may notice that in practice, porch and sync values in µs are different between different resolutions created by VMMaker. This is a limitation of the accuracy that's possible when handling 8-pixel blocks that form the video modes. But the idea is they're as close as possible.
So copying the timings from one mode will indeed work: VMMaker will make the best possible approximation for each different mode based on this.
-
Thanks for the quick response Calamity! I'll try this later today and will report back. Cheers
Edit: It worked!
-
If I understood everything well, VMMaker has a 8-pixel blocks tolerance when generating modelines (super resolutions).
Are this approximation removed with the last update Groovymame 0.232 - Switchres 2.002b when following option is used
-[no]pixel_precision: greatly improves horizontal centring of video modes, by calculating horizontal borders with 1-pixel precision, instead of the default 8-pixels blocks that were required in the past.
If so how to use the option with Groovymame 0.232 ?
I've poste here below links to some of my current 15 super resolutions modelings displayed with ArcadeOSD, I'm not using the last Switchres 2.002b.
You can observe that depending of modeline used, some are not perfectly horizontaly centred.
Is it correct, or am I suffering from a misunderstanding and that my horizontal miss-centering is due to something else ?
Many thanks in advance for any help
(http://i.imgur.com/PIWrT0r.jpg) (https://imgur.com/PIWrT0r)
(http://i.imgur.com/6FaSX8x.jpg) (https://imgur.com/6FaSX8x)
(http://i.imgur.com/senJvJF.jpg) (https://imgur.com/senJvJF)
(http://i.imgur.com/1gAelyW.jpg) (https://imgur.com/1gAelyW)