The NEW Build Your Own Arcade Controls
Software Support => GroovyMAME => Topic started by: LazyAce on July 26, 2018, 04:47:08 am
-
Hi all,
Have GM working fine on my arcade cab. Just building a PVM setup which includes consoles. All the standard modes from the super.ini work great. However I have an issue with the Midway games. On a Pi I have built with RGB-Pi and the Recalbox RGB-Pi custom build all Midway games scale accurately with super reolsutions and output correctly at 54hz, there's no tearing just smooth scrolling, also because it recognises the signal as a PAL frequency on my PVM I can set the PAL settings in the PVM menu separately from NTSC and thus compensate and adjust the screen on the hardware for the extra height lines meaning both 60hz stuff and lower refreh rate i.e. Midway, run perfectly with perfectly aligned screen heights. However...in GroovyMAME this doesn't happen at least on my Windows build. The screen rolls and can't be corrected with the vertical hold when launching most Midway games. I've tried to add additional modes to the .ini but while it accpets some of the console modes I needed, many of the 50hz modes, or 54-55hz modes I added it rejects as 'redundant'. Can anyone help me out on this? Standard resolution stuff runs fine, consoles put through a front-end or Retroarch with CRTSwitchres run fine, but the Midway or PAL stuff just won't work properly.
-
Midway games work fine on my BVM. I'd need a log to start thinking.
With regards to redundant modes, VMMaker by default works with a "dynamic" mode table. This means that all refresh rates are normalized to 60 Hz, in order to keep your mode list reasonable. If you want to add specific refresh rates for emulators that don't support dynamic mode generation (RA) you need to set VMMaker to create a "static" mode table (check the user modes tab).
-
Midway games work fine on my BVM. I'd need a log to start thinking.
With regards to redundant modes, VMMaker by default works with a "dynamic" mode table. This means that all refresh rates are normalized to 60 Hz, in order to keep your mode list reasonable. If you want to add specific refresh rates for emulators that don't support dynamic mode generation (RA) you need to set VMMaker to create a "static" mode table (check the user modes tab).
Thanks Calamity. To sound stupid, what's the best way to get the log, launch NBA Jam and it will produce it?
-
Midway games work fine on my BVM. I'd need a log to start thinking.
With regards to redundant modes, VMMaker by default works with a "dynamic" mode table. This means that all refresh rates are normalized to 60 Hz, in order to keep your mode list reasonable. If you want to add specific refresh rates for emulators that don't support dynamic mode generation (RA) you need to set VMMaker to create a "static" mode table (check the user modes tab).
Thanks Calamity. To sound stupid, what's the best way to get the log, launch NBA Jam and it will produce it?
It is odd, on the exact same PVM it works perfectly with RGB-Pi. I tried several Radeons and two different PCs I have running GM and the same issues occur.
-
Sorry, just seen your sig! Getting one now
-
@calamity .txt attached
-
You probably need to make GM trigger the PAL preset of your PVM. We don't know which specific param the PVM uses for this. It could be the frequency, or the total lines, or both. So you need some testing:
First try these 2 separate configurations to see if any of them works. In mame.ini, change this:
monitor custom
crt_range0 15750.00-15750.00,49.50-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
Then, try this second option:
monitor custom
crt_range0 15810.00-15820.00,49.50-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
-
You probably need to make GM trigger the PAL preset of your PVM. We don't know which specific param the PVM uses for this. It could be the frequency, or the total lines, or both. So you need some testing:
First try these 2 separate configurations to see if any of them works. In mame.ini, change this:
monitor custom
crt_range0 15750.00-15750.00,49.50-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
Then, try this second option:
monitor custom
crt_range0 15810.00-15820.00,49.50-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
Both actually made it worse. It now not only rolls but sort of goes nuts horizontally too.
-
You see. They both try to increase the total number of lines by raising Hfreq. The second one actually outputs the exact Midway's hfreq/vfreq/total-lines according to MAMEdev (it's like connecting the PCB to your PVM).
Now try this one:
monitor custom
crt_range0 15750.00-15750.00,49.50-53.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
-
You see. They both try to increase the total number of lines by raising Hfreq. The second one actually outputs the exact Midway's hfreq/vfreq/total-lines according to MAMEdev (it's like connecting the PCB to your PVM).
Now try this one:
monitor custom
crt_range0 15750.00-15750.00,49.50-53.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
Okay so something odd is now happening. Image is perfect....but, the audio is now slow!? As if you've take an 60hz game and slowed it to 50hz. I think the pace is slow too. I've owned the board in the past and have it set up on my arcade machine and there's a definite slowdown in the announcers voice!? Any ideas?
It's also made everything else in GM run at this rate now too, so SF2 has borders and runs at 54hz for example!.
-
Yeah, that's normal. Try to follow what we're doing. We've now forced the game to run at 53 Hz, so it's normal that runs slightly slower.
Now try increasing this value step by step, to see exactly where it starts rolling:
crt_range0 15750.00-15750.00,49.50-53.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
-
Yeah, that's normal. Try to follow what we're doing. We've now forced the game to run at 53 Hz, so it's normal that runs slightly slower.
Now try increasing this value step by step, to see exactly where it starts rolling:
crt_range0 15750.00-15750.00,49.50-53.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
Gotcha! Should I do it by 0.5 or a full 1.0 each time? I guess I can start with 0.5.
-
Ok, so changing to 54 all sounds perfect, just going to keep going and see what happens.
-
Yeah, that's normal. Try to follow what we're doing. We've now forced the game to run at 53 Hz, so it's normal that runs slightly slower.
Now try increasing this value step by step, to see exactly where it starts rolling:
crt_range0 15750.00-15750.00,49.50-53.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
Okay, so anything above 54 causes it to roll, even 54.50
-
How do I go about setting this automatically or per game? As obviously at the moment everything now displays like this
-
Ok, your PVM has a sync gap right above 54 Hz, till 55 Hz maybe?
The problem is, Midway games work at 54.70 Hz. When GM tries to apply the right refresh, your monitor can't handle it. There could be a vfreq adjustment in the service menu, not sure.
Otherwise, your options are splitting your crt_range in two, leaving the gap in the middle, or create a custom blank ini for the Midway driver only putting the modified options inside (the "monitor custom" one and the modified crt_range), and leave the previous mame.ini untouched so it doesn't affect your other games.
-
Ok, your PVM has a sync gap right above 54 Hz, till 55 Hz maybe?
The problem is, Midway games work at 54.70 Hz. When GM tries to apply the right refresh, your monitor can't handle it. There could be a vfreq adjustment in the service menu, not sure.
Otherwise, your options are splitting your crt_range in two, leaving the gap in the middle, or create a custom blank ini for the Midway driver only putting the modified options inside (the "monitor custom" one and the modified crt_range), and leave the previous mame.ini untouched so it doesn't affect your other games.
Thank you - this sounds great, but is there any chance you could guide me through either of those things, I don't have a clue how to do those! Sounds like the custom Midway blank .ini sounds good, again have no idea how to do this. There is a Vfreq adjustment, but it seems to do nothing that remedies the issue.
-
First restore mame.ini to its original state.
Now you have to find out the name of the driver, not sure if it's "midtunit", check the game information.
Then create a blank txt file, name it "midunit.ini" or whatever name it has.
And paste the couple of concerning lines in it. Place it in MAME's ini folder.
-
Thank you, if I were to split do you mean something like:
15750.00-15750.00,49.50-54.00, 55.00-65.00, 2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,57
?
Also on a related topic am I correct in thinking arcade OSD doesn't save to the .ini as the settings are created on the fly, so I need to adjust porchs manually if my screen is too far one way and I don't want to use the digital pots due to them being setup for another source?
-
This way:
crt_range0 15750.00-15750.00,49.50-54.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
crt_range1 15750.00-15750.00,55.00-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
-
Also on a related topic am I correct in thinking arcade OSD doesn't save to the .ini as the settings are created on the fly, so I need to adjust porchs manually if my screen is too far one way and I don't want to use the digital pots due to them being setup for another source?
Yeah, that's correct. GM generates the modes on the fly, regardless of your tweaks in Arcade OSD. Arcade OSD is useful to find your correct porch values quickly, and use those to correctly setup VMMaker and GM.
So the logic sequence is Arcade OSD -> VMMaker -> GM.
However nobody is getting the idea after years. It's my fault cause I don't have time to write docs, when I write them nobody reads them, and I'm too old to be youtuber.
-
First restore mame.ini to its original state.
Now you have to find out the name of the driver, not sure if it's "midtunit", check the game information.
Then create a blank txt file, name it "midunit.ini" or whatever name it has.
And paste the couple of concerning lines in it. Place it in MAME's ini folder.
Have done this, and yup it's midtunit, tried in the ini and the ini/preset folder and doesn't seem to be reading it.
-
Try in ini/source
Better, launch GM with -v to create a log, but without a romname so it launches the gui, then launch a game from it. Now check the log, it will tell you which inis it's trying to load.
-
This way:
crt_range0 15750.00-15750.00,49.50-54.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
crt_range1 15750.00-15750.00,55.00-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576
Hmm, that doesn't work. I get a 'progressive lines max 288 out of range' and error in monitor range:15750.00-15750.00,55.00-65.00, 2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,288,448,576 igorning' error so only the Midway resolutions display.
-
Yeah, use this one:
crt_range1 15750.00-15750.00,55.00-65.00,2.000,4.700,8.000,0.064,0.192,1.024,0,0,192,256,448,512
-
Aha, yes! Source/INI works! Thanks so much for all of your help much appreciated :) :applaud: ;D
-
Sounds like the closest thing we have to a fix for MK? I'm going to bookmark this thread so i can link it when people ask.