Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: bernieberg on June 29, 2019, 12:16:05 pm
-
Hello,
I have a 25k7191 monitor, and am using groovy arcade installed on my hard drive. If I adjust the monitor for horizontal games (and advmenu) it looks good, but then bottom part of vertical games is cut off (you can't see the credits or fruit in pacman). Or, if I adjust the monitor so I can see everything in vertical games, then horizontal games are squished. Is there a way around this? Attached are a couple pictures with the monitor adjusted for vertical games.
Thanks!
-
I tried adjusting the monitor for horizontal games, and then using the groovymame adjustment sliders in the vertical game. I can get it to fit, but it skips lines and looks pretty bad.
-
you can make it so the games like pacman use an interlaced resolution, or adjust the V-size pot each time to suit.
I have a small screw driver going through a hole in my bezel that site in the pot for this reason.. really easy to adjust
-
How do I adjust the resolution for just a specific type of game?
Thanks,
-
When trying to run vertical games on a horizontal monitor, there is no magic setting in software that will do what you want other than possibly forcing all vertical games in a higher fixed interlaced resolution using a custom vertical.ini file. But that comes with its own set of problems.
What you're experiencing is a hardware problem and the only way to fix it is with a hardware solution. Adjusting the vertical size pot on the monitor for each game is the only solution.
However, that said, I've thought about trying to build a small circuit with a toggle switch that I can use to replace the vertical size pot. The idea is that when the switch is in one position, the pot acts as normal (horizontal games) and in the other position, it adds an additional resistor into the circuit that adjusts the vertical size for horizontal games.
I think it could work but I haven't actually tried it yet. Also, I'm not sure if the vertical setting needs more resistance or less resistance than the horizontal setting, so I may have the design reversed.
Anyway, the end goal would be to have a single toggle switch to go between horizontal and vertical.
It's probably not going to be a one-size-fits-all solution, but It could be pretty close.
-
When trying to run vertical games on a horizontal monitor, there is no magic setting in software that will do what you want other than possibly forcing all vertical games in a higher fixed interlaced resolution using a custom vertical.ini file. But that comes with its own set of problems.
Thanks Krick and Sledge. That makes a lot of sense. I have worked a lot with mame over the years, but not much with arcade monitors, so this is a little bit of a learning process.
I figured out how to set the interlaced resolution. I ran "groovymame -verbose pacman > pacman.txt" to get the resolution. Which was something like 288x224@60. I then created a pacman.ini in the same directory as the vector.ini and added:
resolution 576x448@60
which is x2 the native resolutions. This seems to have forced groovymame to interlace the video, and it now fits fine when I have the monitor adjusted for the horizontal games. It is not pixel perfect and is kinda fuzzy, but I think it will work for my purposes.
Thanks again for your help.
--
bernie
-
There's probably a better, more automatic way of doing what you're doing with pacman.
I think there's a way to change a custom GroovyMAME definition for your monitor so that it limits the number of vertical lines in non-interlaced resolutions, that will force GroovyMAME to automatically pick an appropriate interlaced resolution for all vertical games without you needing to create custom ini files for every vertical game.
I'm sure I've seen a post explaining how to do that before but I can't find it at the moment. I'll keep looking.
The whole point of GroovyMAME is to avoid having to create custom per-game ini files. Don't fight it. :)
-
I've thought about trying to build a small circuit with a toggle switch that I can use to replace the vertical size pot. The idea is that when the switch is in one position, the pot acts as normal (horizontal games) and in the other position, it adds an additional resistor into the circuit that adjusts the vertical size for horizontal games.
I think it could work but I haven't actually tried it yet. Also, I'm not sure if the vertical setting needs more resistance or less resistance than the horizontal setting, so I may have the design reversed.
Anyway, the end goal would be to have a single toggle switch to go between horizontal and vertical.
It might be easier to wire Vcc and ground for two (or more) pots in parallel and switch between the wipers using a toggle or rotary switch.
- Adjusting one pot won't change the output of the other pot(s). ;D
- Each pot you add in parallel will increase the current draw of the circuit by the same amount as the original pot.
-- Calculate the current draw of the original pot using Ohm's Law (I = E / R) ==> Amps = Volts / Ohms
- Check with the monitor experts to verify if the additional current draw will cause problems with the vertical size circuit. :dunno
- Using a "make before break" switch will avoid a momentary 0v spike while switching.
-- 3v to 3.2v with a standard "break before make" switch will output 3v (first pot), 0v (no connection while switching), then 3.2v (second pot)
-- 3v to 3.2v with a "make before break" switch will output 3v (first pot), 3v or 3.1v (don't remember if it's the lowest or average value of the two pots in parallel while switching), then 3.2v (second pot)
If you want to get fancy, maybe use an arduino and relay board to automatically switch to the desired pot when the game is launched via front end.
Scott
-
If you want to get fancy, maybe use an arduino and relay board to automatically switch to the desired pot when the game is launched via front end.
How about an all-hardware solution where it "sniffs" the video signal and detects that you're trying to output something over/under a certain number of lines and triggeres the relay appropriately.
I don't know what "sniff the video signal" actually entails but I assume it could be done similar to the way that the JPAC detects out-of-range signals.
-
EDIT: The link I had posted here was talking about a different issue so I removed it. I'll keep looking for a better link on how to modify the monitor settings to force vertical games to use an interlaced mode.
-
How about an all-hardware solution where it "sniffs" the video signal and detects that you're trying to output something over/under a certain number of lines and triggeres the relay appropriately.
Designing a video sniffing circuit for this application is massive overkill IMHO. :o
Even the Arduino + relay board option is at the outer edge of suitability, depending on whether or not the relay switching time 0v spikes could damage your monitor. The relays I've seen are all "break before make".
If that isn't an issue, I was thinking more of using the front end to launch a .bat file containing two commands when a vertical game is launched -- the first to energize the desired vertical relay and the second to energize the horizontal relay.
- The horizontal relay should be wired with COM going to the VSize circuit, NC connected to the Horizontal 1 pot wiper, and NO connected to COM on the three vertical pots.
- The vertical relays would have the related pot's wiper connected to NO.
- When booting up, the horizontal relay won't be energized, so the wiper from the Horizontal 1 pot on NC goes through COM to the VSize circuit.
When you exit the game, have the FE send a command to de-energize all relays and you're back to Horizontal 1 pot for VSize.
-----------------
4-pot setup:
- Horizontal 1
- Vertical 1 (adjust for shortest game -- max vertical stretch)
- Vertical 2 (adjust for a "happy medium")
- Vertical 3 (adjust for tallest game -- min vertical stretch)
-----------------
It would be a whole lot easier to use a 4-position "make before break" rotary switch. ;D
- Launch vertical game.
- Swich from Horizontal 1 to Vertical 1.
- If the picture is too clipped, switch to Vertical 2.
- If the picture is still too clipped, switch to Vertical 3.
Scott
-
It would be a whole lot easier to use a 4-position "make before break" rotary switch. ;D
- Launch vertical game.
- Swich from Horizontal 1 to Vertical 1.
- If the picture is too clipped, switch to Vertical 2.
- If the picture is still too clipped, switch to Vertical 3.
That's a pretty good solution and probably a lot more useful than my two-position toggle. Hook each position up to a trim pot so that you could dial in the perfect settings for that position.
Speaking of the whole make-before-break thing... can't you add capacitors into the circuit to smooth out the spikes? It's been a looooooonnnnng time since my electronics classes back in community college.
-
can't you add capacitors into the circuit to smooth out the spikes?
Yes, and your chassis' VSize circuit may already have one. I leave that determination to the monitor gurus.
I'm just recommending the simplest hardware that's most likely to avoid a worst case outcome for the largest number of configurations. :angel:
Scott
-
No need for any mechanical relays, use a digital potentiometer.
To be honest though, vertical games on a horizonal monitor will never be great, not least because the dot pitch will struggle to resolve 288 vertical lines. I found the best solution was to alter the monitor definition in mame.ini to force all games over 255 lines to run interlaced. I set the vertical size so that 240 height games fill the screen, 256 height games (IREM) are slightly overscanned and 224 height games (Capcom) are slightly underscanned. You can see it in operation here:
https://www.youtube.com/watch?v=SCAcAysfciY