Correct Geometry - Aspect Ratio for different systems

[QUOTE=Dogway;21634]@Nesguy: You come here thrash talk about the very same concept of the thread and then tell me to don’t get defensive. I put it very clear at the bottom of OP. “Be polite, and stay on topic”, you have done neither. The least I could do from my non-moderator position is to counter argument all the false statement you threw without even backing it up with real proofs of some sorts. All you do is commit your faith on the work a handful of almost teenage developers did 25 years ago.

Downscaling DOES degrade your image, even at a larger degree than upscaling when using scanline based shaders.

On the picture, a paper taken out from nowhere without any context makes no sense. But in any case you can’t know what you talk if you use PAR and DAR values indistinctly: 5:4 DAR of 256x240 = 300x240 8:7 PAR of 256x240 = 293x240

I’m not going to keep talking among other things because nothing you said made sense. If you don’t agree on what the thread’s topic stands by, it would be better you start your own thread. Many people share your own beliefs so you can discuss there, I will be glad to keep the thread clean of offtopic and specially misleading talk.

@bleakassassin: I used the PAL game. Try to add a PAR of 1.33 to the image to compensate for the widescreen stretching. I’m not sure what resolution the game has but multiply the width by 1.333 (4:3 * 1.333 = 1.777 = 16:9), then set a custom resolution. Or if you prefer divide the resulted number by the height to get the DAR value, and find one in RA that matches or is near among the DAR presets.[/QUOTE]

I don’t know if there’s a language barrier here, or what. Me simply expressing an opinion that I think the 8:7 thing is weird does not constitute trash talking, and if you think it does, then you are being needlessly defensive.

This “downscaling degrading the image” talk is just… I don’t even know. Maybe you could provide an example of what you’re talking about, because I see no scaling artifacts on a 60 inch display in 720p vs 1080p when using a CRT shader. One major difference though is that the game actually fills the vertical area of the screen in 720p. and it doesn’t in 1080p. Maybe you’re referring to a situation where one isn’t using shaders? If that’s the case, you will get scaling artifacts on at least one axis no matter what if using nearest neighbor as a filter. Are you blurring the games with bilinear filter, instead?

I tested this against a 720p native TV that I have, and the ONLY difference I can see downscaling from 1080p to 720p is that the downscaled image looks slightly “softer” than the 720p native image, and the transitions (such as from black to white) aren’t as sharp, which IMO actually improves the look of the image. But this is now getting to a level of detail that 99% of people won’t even be able to discern; I had to get very close to even see these differences.

The paper “taken out of nowhere” is an actual planning sheet from the game “Legend of Zelda.” It shows the display area is 4:3 (duh, it was going to be displayed on a CRT) and the pixels are 5:4. They’re 5:4 because the blocks are 5:4 and the blocks measure 16x16 pixels in LoZ. This indicates the “intended” PAR should be 5:4, not 8:7 on NES. Of course, there was no standard dev kit used by all NES developers, so any speculation as to the intended look of the graphics on the NES is ultimately just that, speculation.

It’s your thread, though. I won’t post here any more.

If all I’m going to lose is 1px at the right side, I’m ok sacrificing that for 15% bigger gameplay screen (when top-bottom borders are cropped). Some games don’t crop top-bottom, but only left-right sides (no change concerning fullscreen gameplay size), so this is a strange and a bit odd behavior but if that’s a command the game sends then I’m all for it, for one simple reason; default graphics geometry with overscan off is wrong (check images), remember default is “4:3 (1:1 PAR)”. When you enable crop overscan content geometry gets right… which raises the next question… there’s stretching going on and both are 1:1 PAR (!)? mmmmm something is wrong here…

Let’s check which one IS NOT 1:1 PAR…

Yeah, the uncropped (overscan off) has subpixel shifts. More research for why this happens is needed, but this just shouts one thing, removing the overscan option is an awful idea. Test things before pushing the build button.

@Nesguy: issues with downscaling are all over the place people complaining about double scanlines effect. This happens when there’s not enough vertical resolution so some internal shader work must be done. I’m not sure your TV scaling kernel does such great shader subpixel work, it might be, it might be not. 720p Native (meaning 720p at fullscreen) are rare. The jump was from 768p to 1080p, I can’t tell if the HD Ready TV’s made today are true 720p but if you buy one of those today you clearly don’t care about picture quality. If you prefer the softer look of downscaled content you will clearly love the above “wrong” subpixel shifted image which is by no means pixel perfect. It goes to show that we can discuss about tastes all day, but technical things… oh well. (btw: the LoZ block graph measures 224x174, not sure where you take the 4:3 from)

[QUOTE=Dogway;21668]If all I’m going to lose is 1px at the right side, I’m ok sacrificing that for 15% bigger gameplay screen (when top-bottom borders are cropped). Some games don’t crop top-bottom, but only left-right sides (no change concerning fullscreen gameplay size), so this is a strange and a bit odd behavior but if that’s a command the game sends then I’m all for it, for one simple reason; default graphics geometry with overscan off is wrong (check images), remember default is “4:3 (1:1 PAR)”. When you enable crop overscan content geometry gets right… which raises the next question… there’s stretching going on and both are 1:1 PAR (!)? mmmmm something is wrong here…

Let’s check which one IS NOT 1:1 PAR…

Yeah, the uncropped (overscan off) has subpixel shifts. More research for why this happens is needed, but this just shouts one thing, removing the overscan option is an awful idea. Test things before pushing the build button.

@Nesguy: issues with downscaling are all over the place people complaining about double scanlines effect. This happens when there’s not enough vertical resolution so some internal shader work must be done. I’m not sure your TV scaling kernel does such great shader subpixel work, it might be, it might be not. 720p Native (meaning 720p at fullscreen) are rare. The jump was from 768p to 1080p, I can’t tell if the HD Ready TV’s made today are true 720p but if you buy one of those today you clearly don’t care about picture quality. If you prefer the softer look of downscaled content you will clearly love the above “wrong” subpixel shifted image which is by no means pixel perfect. It goes to show that we can discuss about tastes all day, but technical things… oh well. (btw: the LoZ block graph measures 224x174, not sure where you take the 4:3 from)[/QUOTE]

I have never encountered or heard of anyone encountering the downscaling problem you are describing, so it must be unique to European TVs. The scanlines are perfectly spaced using the settings I suggested on both TVs I’ve tested.

The subpixel shifts aren’t even noticeable with a CRT filter, so I don’t even see why it’s an issue at all. The games need some kind of CRT shader to look right, anyway. I could see the scaling artifacts being noticeable if you didn’t use a CRT shader, but then the games are going to look terrible regardless of what resolution/ratio they’re played in :stuck_out_tongue:

Plus, I just can’t get over using less than the 4:3 area, it feels like I’m wasting display area. I also don’t like how the ratio changes for each system when you select square pixels.

I have to agree with Radius that the whole thing just seems really subjective.

and 224x174 is so close to 4:3 that I’m assuming that either the image has been resized incorrectly or that they just intended for the extra on the top and bottom to not be displayed by the TV. Regardless, the blocks look 5:4.

[QUOTE=Radius;21669] Even my first “HD” set was able to display 1280x720, actually the panel was really 1366x768 but it wouldn’t accept such a signal over any interface that wasn’t d-sub (VGA or whatever).[/QUOTE]

As a moderator try to set an example by following the conversation, I explained that a few posts ago (#52), it’s offtopic either way.

As a moderator try to keep it civil, we have one guy that only wants to talk about tastes quoting whole posts I wrote a matter of minutes ago.

@Nesguy: tastes… when we are talking about pixel perfect and integer scaling you can’t add there a “but it doesn’t look half bad…”. Again I have nothing to comment on it.

  1. You were quoting me… in my thread, I guess that fits in your glove.
  2. I expect moderators to do moderate
  3. I use a public forum for the same reason you do, for helpful and knowledgeable people like Vague Rant, Awakened and so many that helped me before, not for those that banned me, that’s for sure.

For personal talk on the way I want to moderate my thread (since you are not willing) please use the appropriate channels (PM) since this is offtopic here (it’s in the OP).

Hey Radius calm down…

This has nothing to do with the thread’s topic, let’s pretend you haven’t posted here and move on. Good day.

A moderator should moderate.

Woah, guys- I don’t understand why this is getting heated. Anyway, not that it really matters, but I’ve been saying something wrong this whole time- “video output resolution” should be left at whatever the display’s native resolution is, while “retroarch render resolution” should be set to 720p (again, if you’re following my suggestions and trying to get the old CRT look) I think this resolves some of the issues Dogway mentioned with switching from your native resolution and still fills the vertical area of the screen when playing in a 4:3 DAR. I noticed a reduction in input lag after switching “video output resolution” to my native res.

I don’t mean to go off-topic again; just wanted to correct my mistake.

Hey Dogway. I want to thank you for your research on this. Honestly it’s pretty confusing, which is why I think some people haven’t reacted as well as you’d have hoped to this. But I can confirm that at least for SNES, you do seem to be correct and the 4:3 aspect ratio that RA automatically enforces is simply incorrect for many games. Here is one example in SMW2:

You can see right away that the circles for the rock, the timer, and the plant’s head are actual circles in the second screenshot. The square blocks are also squares instead of rectangles. I checked all this with a ruler in photoshop, yes it is indeed correct. I further verified this in SMW1 and Super Punch-Out - again, circles are circles and squares are squares when using the taller aspect ratio.

So as someone who runs a 1080p monitor and wants to use Integer scaling for glitch-free scanlines, I first attempted to use your suggested resolutions in the OP. However, I finally chose a different resolution of 1280x1120 (with cropped overscan = true). Why?

Using the larger horizontal resolution of 1280 wastes much less space on my 16:9 display. In fact it’s even wider than the 4:3 integer scaled version! This does means that the vertical resolution is slightly overscanned. There is 40 pixels of vertical resolution overscanned - at SNES scale that is 8 pixels of overscan or 4px at the top and 4px at the bottom. I tested many games and this generally doesn’t matter - it doesn’t cut off HUD elements, it’s usually totally unnoticeable. In the case of a game that really needs that resolution, a per-game override can always be used.

Anyway, I just thought I’d share a slightly alternative setup that uses the knowledge from your OP. I’m quite happy with setup now - I feel like SNES emulation in Retroarch is by far the best it’s ever been, both in terms of playability and graphics. :smiley:

i’m not sure i can be bothered to read the whole thread, but in my experience most cores understand about the DAR of the system they’re emulating. you just need to use the ‘core provide’ aspect ratio setting. isn’t it the default, even? RA doesn’t enforce any aspect ratio unless you tell it to.

Most of the cores have a core-provided aspect ratio of 4:3 or 1:1, depending on whether they were displayed on a TV or a handheld. RetroArch just takes whatever image the core hands it and stretches it to 4:3, which isn’t exactly correct in all circumstances (particularly when overscan cropping is involved) but it’s simple and predictable.

This thread posits that there’s a perfect display aspect ratio for each system that makes all of the circles perfectly round and the squares perfectly regular, etc., and this DAR is dependent on dot clock, resolution and pixel aspect ratio.

[QUOTE=hunterk;45256]Most of the cores have a core-provided aspect ratio of 4:3 or 1:1, depending on whether they were displayed on a TV or a handheld. RetroArch just takes whatever image the core hands it and stretches it to 4:3, which isn’t exactly correct in all circumstances (particularly when overscan cropping is involved) but it’s simple and predictable. .[/QUOTE]

i think we can correct what the core sends in most cases. eg, someone recently did this with libretro-fceumm: https://github.com/libretro/libretro-fceumm/pull/43/files

so hopefully this is a quick-win just applying the OP’s research to the codes via similar fixes… hopefully! :slight_smile: i might try one myself when i have a moment…

Yeah, I was thinking the same thing, actually. Could be a nice little feature for those that want it, and we were wanting to move more of the overscan cropping behavior into the cores, so it could potentially be done at the same time.

Hey hunterk and dankcushions,

Hunterk is correct, the default behaviour for Snes9x Next (and I assume all SNES cores) is to stretch the 256x240 framebuffer across 4:3 ratio (or 256x224 framebuffer if you crop overscan).

Based on dogway’s research, which I have verified in a variety of SNES games - this 4:3 stretch results in incorrect geometry. You can see this in the first SMW2 screenshot I uploaded, with the correct geometry in the second shot. This most likely means that SNES developers created their games with 256x240 in mind, not with the CRT stretching this to 4:3 (or 320x240). Dogway has mentioned there are some small amount of SNES games that are exceptions to this. But better to have a default that looks correct and use overrides for the exceptions than a incorrect default and use overrides for nearly everything.

I do feel like the SNES cores should default to correct geometry so that people don’t need refer to this research and correct it themselves. I cannot speak specifically for the other cores yet, but we can likely assume Dogway is right there too.

I set aspect_ratio_index = “20” in my retroarch.cfg (1:1 PAR), since most games I’ve seen have correct geometry with square pixels. And then use overrides for cores or games that don’t. The Mednafen cores are a pain since 1:1 doesn’t seem to actually give square pixels. So I have to look up the resolutions games on those systems use and figure out custom aspect ratios based on them. And I also have to take into account any overscan cropping I do using the first and last scanline core options, since those stretch the image vertically if I don’t. And games on the PSX, PCE and Saturn tend to use different resolutions, so I have to do per game overrides and core options to get the cropping and aspect right.

The results are nice though. May as well zoom into the image to remove the horizontal black bars and use more of the widescreen display.

Hi, I follow this thread and my question is simple : Should I enable yes or no the crop overscan option? I play with integrer scale on and 1:1 PAR, on my 1080P TV and my 1200P monitor. What should I do ? To be honest , I did not understand what happen if I set this otion on or off. Thanks

In my case, the perfect aspect ratio for NES / SNES / Genesis is not 4/3, but 5/4.

@Tromzy Yeah, I’ve seen some threads elsewhere that do the same sort of calculations that are mentioned in this thread and they ultimately came up with 5:4 as the closest non-stupid aspect ratio for NES/SNES.

IMO yes you should crop. For most console and arcade games there is no usable information in the overscan region so by removing it you get more usable vertical information. I believe there are some edge cases where there is useful stuff in the cropped region but I’m not aware of what titles this happens with.

[QUOTE=hostile1975;45319]Hi, I follow this thread and my question is simple : Should I enable yes or no the crop overscan option? I play with integrer scale on and 1:1 PAR, on my 1080P TV and my 1200P monitor. What should I do ? To be honest , I did not understand what happen if I set this otion on or off. Thanks[/QUOTE]

1 Like

[QUOTE=dankcushions;45323]i’m with you there :slight_smile: all the characters look fat at PAR! cool tip - if you get the japanese version of SFIII 2nd impact, it has a proper widescreen mode. you need to access the system menu to turn it on (in libretro-fba it’s hold start by default I think). with that enabled you can display it full screen on 16:9 TVs with no fat ryu!

having read this entire thread i’m not entirely sure i care about non-4:3 for console games :slight_smile: proper DAR is all i care about, as it can really mess up images in MAME and FBA, and that’s been fixed in FBA (thanks radius!) and mame2003. but thanks to dogway and co for the research and explaining the issue. it’s interesting![/QUOTE] CPS2/3 games are one of the obvious “designed for DAR” examples. With the exception of Progear, which has squished geometry with DAR. Probably because it was the one CPS2 game developed by CAVE.