Hi Dracrius,
I have to beg you to stop opening separate threads for every different question that you have. I understand you're doing it for clarity but it actually makes things more complicated for me to follow. I prefer having all questions from a single user in the same thread so I can follow it better. Right now you have several open threads and I don't know where to post, frankly.
how do I force all refresh rates of one resolution to use the same modeline?
I'll focus on this question since it seems to me it's the actual source of your confussion.
You seem to be confusing modelines with crt_ranges.
A crt_range can be seen as a formula to calculate modelines.
You simply can't force all refresh rates of one resolution to use the same modeline, that doesn't make sense: each refresh means a different modeline.
What you probably want is to force games with the same resolution to use the same crt_range (and you've probably got that already).
GM will produce new modelines to match the refresh rates of games, based on the crt_range specifications (crt_range = formula that GM uses to create modelines).
This means that your adjustments in Arcade OSD will not apply to GM. You only use Arcade OSD to *find* the correct values in order to create a crt_range, which in turn will be converted by GM to the final modelines you'll see on the screen.
Now, from your monitor's perspective, two equal resolutions with a different refresh rate are two completely different video modes. R-type is 55 Hz, 1942 is 60 Hz. As you get some experience on this, you'll learn that refresh rates are the actual heart of non-sucky emulation. You need to think in terms of video modes (resolution + refresh) rather than resolutions. Correct refresh is more important than geometry.
So, having R-type, MK, etc, looking wrong is actually expected at first unless you're very lucky, and indeed what experienced users do when setting up a new system is to do the whole "arcade refresh tour" from 54 to 60.61 Hz and check if things look correct all the range.
That requires to add a new variable to the game: the refresh rate. If at this point you feel like you'd better have used an LCD please think that you've gone further than most users so don't get frustrated yet.
You probably need to not only separate ranges by height but also by refresh. The current range you're using that you posted in some of your other threads (see what I mean) is absurdly complex. You probably could do with a much simpler one, in terms of resolutions.
Having a memory for only 8 presets is indeed a limitation, but you need to figure out a way to use it wisely. Think that arcade monitors have no memory for adjustments. There's no guarantee you can achieve a configuration that requires no manual adjustment in the future. The point is that at least you can get things perfect even if some manual adjusment is required. If you're smart enough to achieve a zero-interaction configuration then good for you but it'll probably be boring after a brief lapse.