Backdrops in mame2003-plus
-
@Clyde Off 1 pixel is ok ;-)
Compliments to @Riverstorm that guessed your real game area on 1600x1200 monitor.From the screenshots it seems you are using a scanlines shader. Are you ?
-
@Clyde said in Backdrops in mame2003-plus:
the resolution is off by one pixel (1599x1200)
This evening I started playing around with formulas to "reverse engineer" mame2003plus calc behaviour to get the actual integers we want as final res.
If I find out what mame needs/wants to calc the correct res it should be possible to modify the formulas in the sheet accordingly. -
Great! So for 3:4 games use 900 x 1200 (1200 x 900 for rotated) for your game area. For 4:3 games use 1600 x 1200.
I saw you used 5x integer scaling but it didn't register at that moment. Which isn't what a
Core Provided
aspect ratio will produce.This about the extent of my understanding so take it with a grain of salt. You would think that a game that is 224 x 240 would have 14:15 display aspect ratio, this is with the assumption that the pixels are square. That's definitely not the 3:4 or 4:3 display aspect ratio which most of these games used as a target display. I basically sum this up to the pixel dimensions.
If you physically measure the dimensions of a modern monitor and perform a few calculations you can calculate the ratio of width to height. Then perform those same calculations with the resolution you'll find the numbers will match. What that tells you is the pixel aspect ratio is 1:1 or another way of putting it is the pixels are square on modern displays.
This makes the math for a 3:4 display aspect ratio really simple. For example I want to fill the display in one axis. In this case the y axis (1200) this is my ratio height and then I just need to calculate my ratio width which would be 75% of the height (900) so my final ratio width and height is 900 x 1200 or 3:4. The remaining x axis pixels are divided equally on either side of the game area.
If you try and maximize the ratio on the x axis there isn't enough pixels on the y axis. You can do some quick and dirty numbers in your head to know you can't use the maximum x axis resolution and produce a 3:4 display aspect ratio.
Now if you perform these same pixel aspect ratio calculations on an arcade monitor it will not be a 1:1. What that basically tells you is the pixels were not square. Maybe a 6:9, 7:9 or whatever ratio. This just adds more complexity.
So using raw game resolution dimensions to calculate the display aspect ratio just doesn't tell the whole story (Space Invaders = 224 x 240 = 14:15). Scale it up and you have 1120 x 1200. That's a bit wider than the 900 x 1200 we calculated earlier for our 3:4 display aspect ratio for our modern day monitor.
If you want to see what the "true" display aspect ratio would look like on a modern display it's easy to do. Just go to your video options and set the aspect ratio to 1:1. Now the game will have a true 14:15 display aspect ratio. You can decide if it looks to wide or if you like it. Then you can adjust the position of the art to accommodate to new resolution with the spreadsheet calculator.
What we do know to be true for arcade monitors was the final display aspect ratio was meant to be 3:4 or 4:3. So to take that 14:15 ratio of Space Invaders and make it 3:4 they used the monitors vsync and/or hsync to make adjustments so the final game output filled a 3:4 or 4:3 display or whatever for the occasional oddball game.
So here's where it gets fuzzy for me but once those sync adjustments were made I have no idea what the final pixel aspect ratio was on an arcade monitor. Maybe it doesn't matter. I would assume it changed ever so slightly. I think the pixel aspect ratio affects how games look. Maybe characters look stretched slightly on one axis or or the other. Tall and skinny or short and fat, etc. but it seems that would had to have been taken into account while creating the graphics knowing they would be adjusted with v/h sync.
I think that's why they calculate for the display aspect ratios and not the game aspect ratios using the original dimensions. Even with all that I still don't think modern monitors display it perfectly due to the pixel aspect ratio (pixel dimensions) never being perfectly matched but close enough to make it look right.
Anyway something like that I think but way more complex under the hood on these cores.
-
@UDb23 said in Backdrops in mame2003-plus:
This evening I started playing around with formulas to "reverse engineer" mame2003plus calc behaviour to get the actual integers we want as final res.
If I find out what mame needs/wants to calc the correct res it should be possible to modify the formulas in the sheet accordingly.That would be neat to find. I tried rounding up the division calculations but none of them really recovered those 1 and 2 'lost boy' pixels. On your spreadsheet you carry them out to 6 decimals vs. 5 rounded (1.214286 vs. 1.21429) which is more accurate than the instructions tutorial but still no luck.
-
@UDb23 said in Backdrops in mame2003-plus:
@Clyde Off 1 pixel is ok ;-)
Compliments to @Riverstorm that guessed your real game area on 1600x1200 monitor.From the screenshots it seems you are using a scanlines shader. Are you ?
Yes, I use @ghogan42's zfast curved crt shader. I wanted to at least switched it to non-curved, but I forgot that completely. 😇 Then I hoped that it wouldn't have any or little impact to the backdrop/gameplay ratio. Does it?
I can make non-shaded (shadered?) pictures if that would be useful to you.
edit: By the way, how do I remove active shaders via XMB? I can load new presets, but I didn't find any option to remove them completely. (I could do it in the config files, but XMB would be much more convenient for testing.)
@Riverstorm Wow, what an elaborate explanation. I'll read it completely after work.
-
@Clyde said in Backdrops in mame2003-plus:
it wouldn't have any or little impact to the backdrop/gameplay ratio. Does it?
Seems not. Good to know that shaders & mame .ART system work fine together.
-
I prefer shaders in almost all cores but for some reason backdrops seem to make them less than desirable. I prefer crt-pi but I am not liking how it looks with backdrops. It almost seems to create a moire type effect or something.
-
@Riverstorm I read your explanations and I think I understood them. :) One thing: Are your sure about SA having 224x256 pixels? Because mame2003-plus' XML file says for the game,
<video screen="raster" orientation="vertical" width="224" height="240" aspectx="3" aspecty="4" refresh="60.000000"/>
That's where I got the 5x from (1200:5=240).
-
@Clyde said in Backdrops in mame2003-plus:
Are your sure about SA having 224x256 pixels?
Ooops, sorry, I think you have it correct! I'll update the post. The concepts being illustrated should still be the same though.
-
@Clyde - Thanks for pointing that out. I corrected the post above with the correct numbers.
-
@Riverstorm My pleasure. :)
-
@grant2258 Opened an Issue on the distortion in SI. Includes link to sound recording.
-
@Riverstorm @clide Found a workaround for the sound issue.
Requires (me) to create new dedicated RA overlay ;-)
-
@UDb23 - That's great news! I suppose refreshing the whole screen, since RA Video displays it as 1918 x 1080, is taxing the Pi.
I thought I read somewhere you need to alter existing overlays. Can you explain why backdrops with overlays is a challenge? If you create an overlay that has a transparent section for the game. Shouldn't the backdrop just need to fit that transparent section only?
-
@Riverstorm said in Backdrops in mame2003-plus:
Can you explain why backdrops with overlays is a challenge? If you create an overlay that has a transparent section for the game. Shouldn't the backdrop just need to fit that transparent section only?
No challenge actually. Yes transparent game area as usual with overlays.
Sometimes the "window" that shows backdrop(was the actual bezel in the original arcade game) is wider than the gaming area. This happens for SI where backdrop is bigger.
That "exceeding backdrop " area must be included in the RA overlay. -
Sorry I read it several times and I'm still not quite understanding. In my head I think of it like this. Game area is 810 x 1080 so make back drop of 810 x 1080 (with the new information you figured out with the issue). Then make overlay 1920 x 1080 with a 810 x 1080 window if that makes sense. Yeah I remember the real arcade plexi-glass bezels, we used to lift them on some games and reach inside to add credits! =\
-
Issue with Omega Race (omegrace.zip).
Backdrop will not load ! I tried all I could think of but it doesn't show any image.Tried MrDo's .ART backdrop, tried mine @1080p and finally a config for just the game area (0,0,1,1). No way :-(
Screen resolution is usual 1440x1080 (core provided) so there should be no res issue.
Anybody wanting to test ?
File's here.Armor Attack (also vector and same res) works fine with those settings (game area only).
-
I will test in a bit. I just started an update from source.
-
@Riverstorm said in Backdrops in mame2003-plus:
Sorry I read it several times and I'm still not quite understanding. In my head I think of it like this. Game area is 810 x 1080 so make back drop of 810 x 1080 (with the new information you figured out with the issue). Then make overlay 1920 x 1080 with a 810 x 1080 window if that makes sense
Correct: that overlay will contain bezel graphics and (e.g. SI) some part of the "carton backdrop" (left & right of the game area). If someone uses just that overlay without the backdrop art for the game area it will look wrong as game are will have black background.
As said no issue, just some overlay must be adapted and should be used with specific overlay.
I will create the SI one soon so you'll se what I mean.I'm vectoring a high res (but worn out) image of Taito SI bezel; I'm not happy with the quality of bezel/overlay images used so far ;-)
-
@UDb23 Your zip file works fine on my Retropie. See for yourself:
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.