Build Your Own Arcade Controls Forum
Main => Software Forum => Topic started by: cmoses on June 21, 2015, 11:25:14 pm
-
I have been tinkering around with the GLSL shaders that work with MAME 0.162. I am using a 20" Dell 4:3 monitor to do my testing on as it will probably be the monitor I use in my cocktail cabinet. I have done some testing of both the CRT-geom and Lottes shaders. Each one has a alternative VERT shader. I know these are to be used when playing vertical games on non rotated monitor (4:3 aspect ratio). When you play a vertical game on a rotated monitor (3:4 aspect ratio) and also rotate the game should you be using the regular shader or the vert shader? Any information on this would be helpful.
Thanks
-
Note: Even though what I'm going to talk about below focuses on scanlines, this really applies to all CRT simulation effects such as the shadowmask effect and so on, but it's just easiest to use scanlines to illustrate what's going on.
No. You don't need the vertical variants when you rotate.
Scanlines on arcade monitors are horizontal.
(http://i.imgur.com/MDRwrqQ.png)
That means that when you physically rotate a monitor, the scanlines should be vertical.
(http://i.imgur.com/wduLL9K.png)
The problem with the GLSL shaders is that they're dumb, and if you're playing a vertical game in a landscape/horizontal orientation, it will continue to give you horizontal scanlines even though in vertical games, the scanlines should look like they're vertical.
When you use the vertical variant, it allows you to play in a horizontal monitor orientation and still get vertical scanlines. It is NOT for a vertical orientation.
Vertical scanlines: (http://i.imgur.com/1icNPyq.png) Horizontal scanlines: (http://i.imgur.com/N9VYJzK.png)
When you tell MAME to rotate your monitor, you're also rotating the scanlines, so you're already getting the proper scanlines and don't need to use the separate shader.
Basically, the bulletproof test to make sure you're getting the right results is to verify that you have vertical scanlines in vertical games and horizontal scanlines in horizontal games.
-
I have been away from mame for along time, I think .104 was the last time I really played. I have been reading about glsl settings and shaders and such. What do I do to enable glsl or Lotte CRT shaders? I use mame64 for windows and I have my ROMs and mame up to date.
Sent from my Z993 using Tapatalk
-
The files and a pre-configured INI were already packaged here:
https://www.reddit.com/r/MAME/comments/2xvqlp/the_best_version_of_mame_so_far_the_best_batch_yet/ (https://www.reddit.com/r/MAME/comments/2xvqlp/the_best_version_of_mame_so_far_the_best_batch_yet/)
-
Note: Even though what I'm going to talk about below focuses on scanlines, this really applies to all CRT simulation effects such as the shadowmask effect and so on, but it's just easiest to use scanlines to illustrate what's going on.
No. You don't need the vertical variants when you rotate.
I'd have to double check, but I think MAME rotates the screen internally. So, if you don't use the vertical version of the shader, I think the rotation will be off. But, if you are rotate your screen MAME might be "smart" enough to do it right without the need for the vertical version. It's best to double check and see what happens. :)
-
I've extensively tested this. What I said is 100% accurate.
-
So I did some testing with MAME 0.162 and the CRT-geom shader. It works correctly for both horizontal and vertical games running on a horizontally oriented monitor. MAME automatically rotates the scanlines when you play a vertical game. I tested with a few vertical games and they all displayed fine with the correct scan lines. There was no need to use the vertical version.
I also tested with rotating the image through MAME video controls to verify that it still worked fine when playing a vertical game on a vertically oriented monitor. The scan line displayed correctly using just the standard shader. There was no need to use the vertical version.
So it appears that MAME is smart enough to use rotate the scanlines through the shader.