I understand that crt_ranges is the same said another way but please confirm whether I'm right or wrong: the VfrontPorch in mame.ini is a timing and equals the gap between 564 and 567 in the example above? And the same goes for VSyncPulse which equals the gap between 567 and 569 etc?
Well, crt_ranges are NOT modelines. Instead, you can see them as a recipe, a blueprint, to create modelines from.
Porches and sync pulses are defined in time units ( µs for horizontal, ms for vertical), instead of pixels or lines.
This makes crt_ranges RESOLUTION INDEPENDENT. This is the most innovative feature of GroovyMAME.
Yes, the VFrontPorch value corresponds to the gap between VerticalActive and VerticalSyncStart. But you no longer have to figure out what actual timing this becomes. You enter timings, not pixels or lines. Modelines represent timings too, but in modelines, timings are implicit. On the other hand, with crt_ranges, timings are explicit, you spec the timings your monitor needs.
In the end, I've found I could trigger the vertical NTSC/PAL compensation thing on my old Philips TV (1989/90) running R-Type, by forcing the Hfreq (compensation triggered @15.8 kHz and above) while running at native res. and Vfreq (55Hz). Else with lower Hfreq, I always get the huge vertical overscan.
What's bugging me is, when I set the monitor on PAL in mame.ini the compensation IS triggered while Hfreq is at 15.6 kHz...
I'm curious to see the crt_range for this preset, where can I find it?
Also with compensation actived and Hfreq@15.8kHz + native (visible?) resolution and Vfreq I can see every 256 lines or so BUT there are little black borders up and down the screen.
The only way I could obtain a better covering of the screen is by raising the number of lines to 272. It can use almost the entire screen as a display but I didn't manage to get all the lines in...
This is probably because your TV counts the total number of lines to trigger the compensation, that's the relevant value. What's important is to create modes close to PAL in the number of lines, rather than a specific Hfreq. It's just that raising Hfreq you're indirectly increasing the total number of lines too, that's why it works.
Keep in mind that the PAL preset triggers the compensation but unfortunately is locked at 50 Hz so it is not of much use for gaming.
You won't manage to cover the screen completely unless you access the service menu or analog pots. Your lucky enough that your TV has two v-size presets, but consider them as fixed.
Anyway, thanks again and please tell me where I can find the preset crt_ranges values and whether it's possible or not to input modelines "speaking" in lines instead of timings?
No, as explained above you can't use raw modelines. I know it will be difficult to persuade you that crt_ranges are actually BETTER, anyway, trust me.
If you want to get the presets, you have two ways: create a log with the -v param, this will prompt the values used by the current range on the top of the log. Or: download the GroovyMAME sources (diff), there you have all the presets defined in the monitor.c file.