Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: Bunghoolio on January 23, 2014, 12:39:41 am
-
Hi Guys,
I have Groovymame and Calamity drivers working pretty good I think, 620 modes found for my WG D9200!
Have not really started testing out my games yet (JLW joysticks and minipack just arrived).
I would like to set a desktop mode with Arcade_OSD, other than the standard custom "640 x 480 60.0 31.5" - something like 800 x 600.
But I only have one 800 x 600 mode to choose from, its listed as "... ... native" and looks like crap when I try it. Can I add a custom 800 x 600 mode somehow? I noticed some of the custom 832 and 856 modes looks pretty good. Although a lot of the custom modes give off a nastystrobe effect, why is that?
Its almost like the Arcade_OSD.exe is separate from all the modes found in the .txt files - It seems like Arcade_OSD should show the same mode as modeline.txt. I don't really understand the difference between the custom and standard modes.
-
Arcade_OSD should list the same modes you can find in Modelines.txt
On the other hand, the Modelist.txt file only shows the "input" modes, but that list is processed to reduce it to 120 modes or so, which are the ones that end up in Modelines.txt and should be available through Arcade_OSD.
With the nastystrobe effect I understand you're referring the flicker associated to interlaced modes?
-
I'll take a closer look when I get home tonight. But I don't think Arcade_OSD is picking up all the modes I saw in Modelines.txt.
Are those interlaced modes useful for certain games, because they look horrible when viewing the XP desktop? I'm still hoping to find a default mode larger other than "640 x 480 60.0 31.5". I'm going to work on it tonight.
I played Joust and Sinistar last night (looked pretty nice). As I understand it, I will use Arcade_OSD to modify the specific resolutions each game uses, to center them in the screen, since both were hugging the right side of my 9200
Also, looked like I need to sharpen the image a bit somehow.
-
I'm thinking about reinstalling the drivers, I have lost confidence in my install and don't really have any idea of what is making an effect on my game resolutions right now. Take Joust or sinistar for example, both appear on my 9200 with larger borders on their right and left sides. I noticed I could stretch Joust out in game (tab) by bumping the freq down from 60hz to 57hz - but I figured groovy should be getting this right to begin with, so I must have installed it wrong or screwed up.....?
On one hand I hear "the games modes are stored in the registry", which makes me think I need to reinstall the driver and make sure both the mame.ini and vmmaker.ini have the correct settings when I do so.
On the other hand, I see the modes for games listed in Mamelist.txt and modelist.txt, and have played around with modifying certain modes in Arcade_OSD - can someone explain to me how you tweak a certain game mode so that it sticks? If you get the driver installed correctly is tweaking still even necessar? There's at least one guy that is setting GenerateInis to 1, and tweaking an ini file for each game, is that common of recommended here? http://perdigaos.blogspot.com/2013/09/testing-other-tv-on-upright-and-some.html (http://perdigaos.blogspot.com/2013/09/testing-other-tv-on-upright-and-some.html)
And how about the following settings, at what point if any should I be change these? :
ListFromXML = 1 ; Processes Mame XML and get video mode list from it
GenerateXML = 1 ; Extracts XML from Mame (only needed once)
OnlyListMain = 0 ; Only list resolutions for games contained in MameMain.txt
Thanks for the help.
-
Hi Bunghoolio,
Well you look a bit lost, don't worry, I'll try to help you.
First, you only need to install the driver once. Reinstalling it doesn't make sense, you won't get better modelines. The fact that modes are stored in the registry only means that GroovyMAME, ArcadeOSD and VMMaker have to access the registry regularly to edit/update the modes, etc.
The GenerateInis option was created before GroovyMAME existed, it is totally wrong to use it with GroovyMAME.
I have gone through this explanation a hundred of times but new users still find it difficult to find the relevant information.
Probably the best way to visualize this is with a simile: imagine this is like a palette, but instead of colors, it's a palette of video modes. You can only have 120 different modes (or colors) available at the same time, but you can pick them from a nearly infinite list. The purpose or VMMaker is to create the required "palette" entries, to a maximum of 120. Then GroovyMAME fills each entry with the required modeline, at run time, from an infinite amount of possibilities.
If you use ArcadeOSD to modify the registry modelines, you're just modifying those "entries" created by VMMaker, which are actually dummy modelines which destiny is to be overwritten by GroovyMAME on run time.
You only need to run VMMaker once, with the correct monitor settings. Once the modes are created, any further adjustment can be done simply by configuring GroovyMAME (mame.ini, crt_range lines).
As for the D9200, please check this thread:
http://forum.arcadecontrols.com/index.php/topic,137128.msg1414567.html#msg1414567 (http://forum.arcadecontrols.com/index.php/topic,137128.msg1414567.html#msg1414567)
Now, those settings in the link above (crt_range lines) ONLY apply to GroovyMAME (mame.ini)... NOT to VMMaker, just leave VMMaker alone for now. It seems the default presets for the D9200 are kind of problematic, so maybe that's why you're having problems with geometry. Try the ones in the link.
Finally, although this is not the recommended way, since GroovyMAME 0.151 it is possible to specify a raw modeline inside an specific game ini, so you force GroovyMAME to pick that exact modeline. You can write down the modeline in the standard format (e.g. Modeline "320x240_60 15.73KHz 60.04Hz" 6.670 320 352 384 424 240 245 246 262 -hsync -vsync) by copying the values in ArcadeOSD (modeline menu) once you adjust a certain modeline, then paste this line in an ini file (e.g. goldnaxe.ini).
-
Thanks Calamity, that explains a whole lot!
-
Thanks for the eloquent explanation Calamity!
Nice to to know I don't have to re-install just yet, It seems like most of you have been playing with Mame for a long time around here - I will be a Noob for a long time it seems.
I made some changes to mame.ini and VMMaker.ini based on your suggestions. Then I ran Vmmaker.exe again (guessing that is needed after every changed to mame.ini and vmmaker.ini or that it does not hurt).
I think you wanted me to use “custom” in mame.ini with the ranges you suggested Monkeyjug try out.
monitor custom
crt_range0 15250-18000, 40-80, 2.187, 4.688, 6.719, 0.190, 0.191, 1.018, 0, 0, 224, 288, 448, 576
crt_range1 24500-29000, 40-80, 2.910, 3.000, 4.440, 0.451, 0.164, 1.048, 0, 0, 384, 400, 0, 0
crt_range2 29001-32000, 40-80, 0.636, 3.813, 1.906, 0.318, 0.064, 1.048, 0, 0, 400, 480, 0, 0
crt_range3 32001-34000, 40-80, 0.636, 3.813, 1.906, 0.020, 0.106, 0.607, 0, 0, 480, 576, 0, 0
crt_range4 34001-38000, 40-80, 1.000, 3.200, 2.200, 0.020, 0.106, 0.607, 0, 0, 576, 600, 0, 0
Or did you want me to try "arcade_15_25_31" if one of those files instead?
How about the Monitor_specs0 line in VMmaker.ini, should I be commenting that out or adding the custom ranges above somehow?
I’ve attached my current files and a log from the troublesome Joust, that still appears shifted to the right.
Looking at a game log for the first time, joust.txt, I'm guessing it is choosing the following mode:
Modeline "296x240_60 15.70KHz 59.94Hz" 6.03 296 312 344 384 240 243 246 262 -hsync -vsync
Not sure if it matters, but I installed crt_emudriver_6.5_1.2_xp32 when I built this, should I have used the 9.3 version instead?
Let me know where I can donate $20 to this effort, BTW. Least I can do. Thanks.
-
I made some changes to mame.ini and VMMaker.ini based on your suggestions. Then I ran Vmmaker.exe again (guessing that is needed after every changed to mame.ini and vmmaker.ini or that it does not hurt).
I thought I had made it clear enough in my previous post that you must NOT touch VMMaker again. I see I was wrong. :D
I think you wanted me to use “custom” in mame.ini with the ranges you suggested Monkeyjug try out.
monitor custom
crt_range0 15250-18000, 40-80, 2.187, 4.688, 6.719, 0.190, 0.191, 1.018, 0, 0, 224, 288, 448, 576
crt_range1 24500-29000, 40-80, 2.910, 3.000, 4.440, 0.451, 0.164, 1.048, 0, 0, 384, 400, 0, 0
crt_range2 29001-32000, 40-80, 0.636, 3.813, 1.906, 0.318, 0.064, 1.048, 0, 0, 400, 480, 0, 0
crt_range3 32001-34000, 40-80, 0.636, 3.813, 1.906, 0.020, 0.106, 0.607, 0, 0, 480, 576, 0, 0
crt_range4 34001-38000, 40-80, 1.000, 3.200, 2.200, 0.020, 0.106, 0.607, 0, 0, 576, 600, 0, 0
Or did you want me to try "arcade_15_25_31" if one of those files instead?
My suggestion was to use the custom crt_ranges. However you can try arcade_15_25_31 and see if it works better for you. Not all monitors from the same model are adjusted in the same way, and in this situation maybe you won't get more accurate results by using the specific preset than the generic one.
How about the Monitor_specs0 line in VMmaker.ini, should I be commenting that out or adding the custom ranges above somehow?
No, as I said, just leave VMMaker alone. It has already done its thing (as I can see in your log). For any further tweak, use GM. Besides, bear in mind the crt_range format is not compatible with VMMaker. Please make sure to check this thread: http://forum.arcadecontrols.com/index.php/topic,116023.0.html (http://forum.arcadecontrols.com/index.php/topic,116023.0.html)
I’ve attached my current files and a log from the troublesome Joust, that still appears shifted to the right.
Looking at a game log for the first time, joust.txt, I'm guessing it is choosing the following mode:
Modeline "296x240_60 15.70KHz 59.94Hz" 6.03 296 312 344 384 240 243 246 262 -hsync -vsync
Your logs are perfectly fine. That modeline is fine too. Maybe a picture would help us showing how off the picture actually is. Maybe it's just a matter of adjusting your monitor a little bit, from its H-shift control.
Look, this is something you can try. This is your modeline:
modeline "296x240_60 15.70KHz 59.94Hz" 6.03 296 312 344 384 240 243 246 262 -hsync -vsync
Now, if you want to shift it to the left, do this:
modeline "296x240_60 15.70KHz 59.94Hz" 6.03 296 320 352 384 240 243 246 262 -hsync -vsync
(notice I added 8 to both values, in order to modify the relative sizes of H-front and H-back porches.)
Finally copy that line into joust.ini (create the file if necessary). Make sure to type "modeline" NOT "Modeline".
BTW there's a donation button on the google code site front page ;)
-
I'm not sure if it made a difference, but I had D9200 is VMMaker.ini since I installed a few days ago. I went back to all the defaults as they came in your updated package (custom).
Now on the groovy mame.ini entry, does it make a difference to comment out lines crt_range5 though crt_range8, or just leave them as shown here:
crt_range0 15250-18000, 40-80, 2.187, 4.688, 6.719, 0.190, 0.191, 1.018, 0, 0, 224, 288, 448, 576
crt_range1 24500-29000, 40-80, 2.910, 3.000, 4.440, 0.451, 0.164, 1.048, 0, 0, 384, 400, 0, 0
crt_range2 29001-32000, 40-80, 0.636, 3.813, 1.906, 0.318, 0.064, 1.048, 0, 0, 400, 480, 0, 0
crt_range3 32001-34000, 40-80, 0.636, 3.813, 1.906, 0.020, 0.106, 0.607, 0, 0, 480, 576, 0, 0
crt_range4 34001-38000, 40-80, 1.000, 3.200, 2.200, 0.020, 0.106, 0.607, 0, 0, 576, 600, 0, 0
crt_range5 auto
crt_range6 auto
crt_range7 auto
crt_range8 auto
crt_range9 auto
-
I think I got it figured out! Joust and the other games are looking sweet now! Seem like it might just have been my monitors horizontal adjustment. I did not suspect that since the XP desktop was centered and so were some other games. I have a ACT labs light gun here a guy sent me for $50, looks like a Walther pistol, going to crack open a cold one and see if I can't get police Trainer to work :cheers: thanks for you patience Calamity!
-
I think I got it figured out! Joust and the other games are looking sweet now! Seem like it might just have been my monitors horizontal adjustment. I did not suspect that since the XP desktop was centered and so were some other games. I have a ACT labs light gun here a guy sent me for $50, looks like a Walther pistol, going to crack open a cold one and see if I can't get police Trainer to work :cheers: thanks for you patience Calamity!
What kind of light gun is it? Sensor bar or a VGA box?
-
Its a VGA light gun, I was able to get it working pretty good for Mechanized attack last night (shoots a few inches high though), but not so easy with other games. It's going to open a whole new bag of worms. So I had best leave it alone for now and concentrate on my Custom settings and learn how to set specific modelines for games that don't look right (unless some kind soul wants to explain in painful detail how they configured their up to date version of mame to work well VGA guns without constant fiddling).
Here's something good I did find on the subject:
So far I was having hard time figuring out certain things. I.e. why lightgun_device should be set to keyboard instead of the mouse, etc. Guess I shouldn't try to fix it if it works.
If you enable devices with eg 'lightgun 1', 'mouse 1' etc., then you do not need to set the 'lightgun_device' etc options.
In short, these options are the 'old' way of doing it:
mouse 0
joystick 0
lightgun 0
Setting 'mouse 1' would enable mouse, all the time, for all games.
This is the preferred 'new' method:
paddle_device joystick
adstick_device joystick
pedal_device joystick
dial_device mouse
trackball_device mouse
lightgun_device mouse
positional_device mouse
mouse_device mouse
The 'new' method, automatically enables said device for games which require it. eg (using my example above), Mame would enable joysticks for any game with a pedal.
Although the new system is preferred, there are a few flaws. Sometimes it is just easier to use the old method. One example is that if you want to use a joystick device for a digital input, you can't without using 'joystick 1'.
-
Its a VGA light gun, I was able to get it working pretty good for Mechanized attack last night (shoots a few inches high though), but not so easy with other games. It's going to open a whole new bag of worms. So I had best leave it alone for now and concentrate on my Custom settings and learn how to set specific modelines for games that don't look right (unless some kind soul wants to explain in painful detail how they configured their up to date version of mame to work well VGA guns without constant fiddling).
Here's something good I did find on the subject:
So far I was having hard time figuring out certain things. I.e. why lightgun_device should be set to keyboard instead of the mouse, etc. Guess I shouldn't try to fix it if it works.
If you enable devices with eg 'lightgun 1', 'mouse 1' etc., then you do not need to set the 'lightgun_device' etc options.
In short, these options are the 'old' way of doing it:
mouse 0
joystick 0
lightgun 0
Setting 'mouse 1' would enable mouse, all the time, for all games.
This is the preferred 'new' method:
paddle_device joystick
adstick_device joystick
pedal_device joystick
dial_device mouse
trackball_device mouse
lightgun_device mouse
positional_device mouse
mouse_device mouse
The 'new' method, automatically enables said device for games which require it. eg (using my example above), Mame would enable joysticks for any game with a pedal.
Although the new system is preferred, there are a few flaws. Sometimes it is just easier to use the old method. One example is that if you want to use a joystick device for a digital input, you can't without using 'joystick 1'.
I just ordered a couple Act Labs VGA guns myself, for my CRT. From what I understand, you have to re-calibrate the gun every time it switches resolution -- which is not ideal for groovymame, of course. So I was planning to bite the bullet and just have everything run at 480p60.
-
Yeah, not a bad idea, just make a gungame.ini file for every shooter, that has the exact same contents(same resolution).
The following contents might work for a lot of the gun games (I noticed it worked on lots of games I was having trouble with):
screen0 \\.\DISPLAY1
resolution0 1234x224@60
hwstrech 1
syncrefresh 0
Let me know in PM or a separate thread how it works out for you. I'll be wanting to work out the same issues as you. Probably should not drag this thread too far off original subject.
-
Calamity, I'm reading your description of VMMaker and you said:
If you use ArcadeOSD to modify the registry modelines, you're just modifying those "entries" created by VMMaker, which are actually dummy modelines which destiny is to be overwritten by GroovyMAME on run time.
If the modelines are just dummies, why does it matter what you use for the monitor_specs line in vmmaker.ini? ...and if GroovyMAME just overwrites them, why do we even need to run VMMaker at all?
EDIT: After doing more research, it seems like VMMaker is creating video resolutions in the registry with a "dummy" refresh rate. The resolution can't ever be changed (ie. 320x240), even by GroovyMAME, but the refresh rate can be altered. (and only the refresh rate?)
Do I understand it correctly now?
I think I'm starting to understand it a little bit more, I hope. I'm not sure how the other values (h. sync pulse width, h. frequency) are used though. Are they just used to calculate the refresh rate value and not used directly?
-
EDIT: After doing more research, it seems like VMMaker is creating video resolutions in the registry with a "dummy" refresh rate. The resolution can't ever be changed (ie. 320x240), even by GroovyMAME, but the refresh rate can be altered. (and only the refresh rate?)
Do I understand it correctly now?
Yes, that's it.
I think I'm starting to understand it a little bit more, I hope. I'm not sure how the other values (h. sync pulse width, h. frequency) are used though. Are they just used to calculate the refresh rate value and not used directly?
Those values (porches & sync) are the ones that define the geometry of the picture, by asigning a size to the borders, which as a consequence determines the size and centering of the active video.
-
Thanks again Calamity. I understand the meaning and relationship of front/back porches and sync pulses so I'm mostly trying to understand how and what your drivers are doing with GroovyMAME.
I think the only last thing I'm trying to figure out is the centering of the video and if certain resolutions will only take up a small square in the center of the screen instead of the full picture.
Unfortunately, I can't test anything yet because my VGA to Component transcoder (TC1600) won't be here until next week.
Anyways, I really do appreciate all your help.
-
Thanks again Calamity. I understand the meaning and relationship of front/back porches and sync pulses so I'm mostly trying to understand how and what your drivers are doing with GroovyMAME.
GroovyMAME uses those values to calculate the modelines with the right borders [almost]. So the drivers are somewhat passive, GroovyMAME just passes the desired timings through the registry and the drivers pick that information when enabling the requested mode. This way you can fine tune the borders/geometry by trial & error just by editing mame.ini.
I think the only last thing I'm trying to figure out is the centering of the video and if certain resolutions will only take up a small square in the center of the screen instead of the full picture.
You can achieve full screen on the horizontal direction for all resolutions. The vertical direction is tricky and you'll need manual operation on your monitor: http://forum.arcadecontrols.com/index.php?topic=134915.0 (http://forum.arcadecontrols.com/index.php?topic=134915.0)