Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: ahofle on March 17, 2012, 01:54:02 pm
-
I'm getting some really weird behavior when groovymame is picking resolutions. This is running on a D9400 multisync. It's changing the resolution 3 times, the last one being the wrong refresh rate (and sometimes a strange resolution). It causes donpachi to crash, and games like Pacman to run at 84% (because they are synced to the wrong refresh rate. Any ideas? I've attached my mame.ini.
e:\mame>mame donpachi
SwitchRes v0.013: [donpachi] (1) vertical (320x240@57.55)->(432x320@57.55)->(664
x496@57.55)
-----------------------------------------------------
Exception at EIP=015FC0EF (not found): ACCESS VIOLATION
While attempting to read memory at 0000011C
-----------------------------------------------------
EAX=001D3530 EBX=0D39E108 ECX=0C7FED80 EDX=00000000
ESI=00000000 EDI=0022F304 EBP=0C83B94C ESP=001D3520
-----------------------------------------------------
Stack crawl:
0C83B94C: 015FC0EF (not found)
e:\mame>mame pacman
SwitchRes v0.013: [pacman] (1) vertical (288x224@60.61)->(400x288@60.61)->(400x2
88@50.97)
e:\mame>mame spectar
SwitchRes v0.013: [spectar] (1) horizontal (256x256@60.00)->(256x256@60.00)->(25
6x256@56.88)
e:\mame>
-
Hi ahofle,
Try using "d9400" instead of "D9400", that could be the issue, as it seems to be defaulting to cga. These case sensitivity issues are really annoying, I know, that would need to be fixed.
-
Thanks Calamity, I'll give it a shot and report back.
-
Well that certainly helped most of the games:
e:\mame>mame digdug
SwitchRes v0.013: [digdug] (1) vertical (288x224@60.61)->(400x288@60.61)->(400x2
88@60.61)
Average speed: 103.26% (10 seconds)
e:\mame>mame pacman
SwitchRes v0.013: [pacman] (1) vertical (288x224@60.61)->(400x288@60.61)->(400x2
88@60.61)
Average speed: 124.34% (5 seconds)
However, the 300-320 line ones still seem to be picking some crazy resolutions:
e:\mame>mame fshark
SwitchRes v0.013: [fshark] (1) vertical (320x240@54.88)->(432x320@54.88)->(792x5
92@54.88)
Average speed: 101.22% (9 seconds)
I only made the d9400 change to mame.ini. Do I also need to change vmmaker.ini and regen the resolutions in vmmaker?
-
You need to check the logs to see which resolution it's initially trying to pick for those games. The problem when it doesn't find the one it wants, is that it just goes for a virtualized resolution most of the times. The resolution it's picking is not so crazy as it's calculated to match the proper refresh, but definitely there should be a better match for a multisync monitor.
-
Well the monitor limits certainly don't look right. Should be 15khz - 38khz. Attached the verbose debug output.
-
Hi ahofle,
The monitor ranges are fine, if you look through the log you'll see how the 15-38kHz range is subdivided in separate smaller ranges where different settings apply, as indicated by the monitor_specs lines.
However, I've just noticed that the monitor_specs2 range is wrong for the D9800/D9400, and it's different from what's stated in the Monitor presets thread. I remind having modified it for VMMaker but it seems the definition inside GroovyMAME is not updated. By now, try adding this line into mame.ini:
monitor_specs2 20001-29000, 40-80, 2.910, 3.000, 4.440, 0.451, 0.164, 1.048, 0, 0, 384, 576
This should make the 288-384 lines modes available for GroovyMAME.
-
Thanks. I tried adding that line (and commenting out the existing specs2 one) and it's still behaving the same (picking the 576 line interlaced res). My monitor_specs0 and monitor_specs1 lines are both set to auto, is that right? Attached the log.
-
Well, something is wrong definitely as the log still shows the old default range:
SwitchRes: MonitorLimits 20501.00-29000.00,40.00-80.00,2.910,3.000,4.440,0.451,0.164,1.048,0,0,480.0,768
Also make sure to grab a newer GroovyMAME build, there was a bug in some older versions that didn't pick the ranges from mame.ini (just picked the first one or something).
Yes leave the others as auto.
-
I'm using 0.144...is there a more recent version?
-
Hi ahofle,
It seems that it only works if we replace the whole monitor definition, by adding these lines:
monitor_specs0 15250-18000, 40-80, 2.187, 4.688, 6.719, 0.190, 0.191, 1.018, 0, 0, 288, 448
monitor_specs1 18001-19000, 40-80, 2.187, 4.688, 6.719, 0.140, 0.191, 0.950, 0, 0, 320, 448
monitor_specs2 20001-29000, 40-80, 2.910, 3.000, 4.440, 0.451, 0.164, 1.048, 0, 0, 384, 576
monitor_specs3 29001-32000, 40-80, 0.636, 3.813, 1.906, 0.318, 0.064, 1.048, 0, 0, 576, 768
monitor_specs4 32001-34000, 40-80, 0.636, 3.813, 1.906, 0.020, 0.106, 0.607, 0, 0, 576, 768
monitor_specs5 34001-38000, 40-80, 1.000, 3.200, 2.200, 0.020, 0.106, 0.607, 0, 0, 600, 768
I'll need to fix this, anyway try this because I'm getting 320 lines resolutions now with these settings.
-
Thanks again Calamity for your support! Works beautifully now! :notworthy:
-
By the way, GM is updated to 145, with current diffs provided, although these all are not where you'd think.