> Other than groovy mame automatically selecting the closest res, are there any other > advantages?
GroovyMAME not only selects the best resolution (something not as trivial as one might think), but it dynamically recalculates the modelines to match the target refresh rate of the game. This means it can transform your default 60 Hz modeline into whatever refresh that MAME needs, on demand. As a consequence you only need a bunch of "dummy" modelines in your system to successfully cover all video modes required for proper emulation.
Regarding 224p vs 240p, this topic has been covered hundreds of times. What you really need to get is that at 60Hz/15.7kHz, both 224p & 240p are 262 lines tall including blanking. This means they're actually the *same* mode from the monitor's point of view. In other words: 224p = 240p + borders. It doesn't matter if it's MAME who adds the borders by software or you who calculate the modeline with borders (extra blank lines added to vertical front and back porch).
The tricky part is to actually get MAME to add the borders (= integer scaling). Usually this is only possible when using -video ddraw. That's why ddraw is compulsory when using an ArcadeVGA, as explained in Ultimarc's site. However some derivative builds like CabMAME and GroovyMAME make integer scaling available to direct3d too (-cleanstretch).
Anyway just remind this: there's absolutely zero loose of accuracy in doing this, it is exactly the same as the real hardware did. If you're noticing quality loss at 240p it's because fractional instead of integer scaling is being applied. Definitely switch to GroovyMAME.
> I am very curious to see if using the exact refresh rate will fix all screen tearing. > I have read different opinions in this.
Exact refresh rates don't fix screen tearing. Vertical synchronization does.
Exact refresh rates are not possible anyway. Good enough approximations are.
|