I have tried the latest LiveCD and it works fantastically for what I was testing. I just wanted to test it live without installing anything. However there is one minor issue I had and I'm not sure if it's been mentioned in this thread yet.
I have a custom chassis which can use the CGA setting and that works fine. When I get to test a game and it loads up the menu (Advance menu? The green one) but it loses sync and starts flickering/scrolling and appears three times on screen. Once I choose a game the screen is fine again. So there seems to be an issue setting the resolution for when the game menu is displayed.
In the monitor.c file you have some predefined setting for different monitors. How do you find out the settings? I have a custom chassis and I was wondering how I can work out what those settings should be? CGA is fine but perhaps I can get something a bit better with the right settings. This chassis is dual-res so I can get 25KHz on it too which I would like to set up in the monitor.c file if I can.
The X windows startup, or when it runs the front end/Advance Menu, probably needs a better 641x280 modeline generated. You can exit /etc/X11/xorg.conf and replace it with a new one.
To generate a new modeline, you need to use switchres at the command line, like this...
switchres 641 480 60.00 --mrange 15250.00-15700.00,49.50-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,288.0,448
Trick is you'll need to edit the line and figure out the right ranges for your monitor, basically you should see that it is first the horizontal range, then the vertical refresh range, then the front porch sync pulse and back porch first horizontally then vertically, then the horizontal polarity and then the vertical polarity, maximum line height and then the min virtualized or interlaced line size.
Calamity might know more details on what it actually needs to get the monitor to work right. Since in Mame things are working fine, should probably only need to edit xorg.conf for now to get the front end working. If you know your monitors exact ranges, and other details, that would be possibly the best way to get it working with 640x480 resolutions (the front end is setup though to 641 width to avoid clashing with games using that resolution too).
In the mame.ini you can do this same setting, multiple times too if you want different ranges like to add the EGA one you can do. In mame.ini it uses monitor_specs ... then basically the same format as with switchres. Probably better to avoid that for now till just get xorg.conf right though. You can pull out and view the lines/ranges with switchres using this command...
switchres 641 480 60 --showmrange --monitor cga
So can use that and give it ega for the 24khz range, and in theory add two lines to mame.ini like this (or actually edit the current ones)...
monitor_specs 15250.00-15700.00,49.50-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,288.0,448
monitor_specs 24959.99-24960.00,50.00-60.00,2.910,3.000,4.440,0.451,0.164,1.048,0,0,384.0,576
And that would give you both ranges available to mame.