Correct Geometry - Aspect Ratio for different systems

So if have it like:

Recalbox/Retroarch resolution 720p (I mean the CEA 4 HDMI option in the config file.)

Smooth Games OFF

Integer Scale ON

Aspect Ratio 8:7 (1:1 PAR)

Crop Overscan ON

No shader

I’m good? Would that be the exact same for all non-arcade 2D systems? Same for PSX as well, be it 2D or 3D games?

If that’s how you want them to look, yeah. That’s giving them square pixels, though, which will produce an image free from “shimmer”/“pixel warping” but some consoles will look fat (Genesis, CPS1/2/3) and some will look thin (S/NES) and very few (none that I can think of, really, outside of handhelds) had actually 1:1 pixel aspect ratios.

If you’re okay with that, then yeah, you’re all set. <- I don’t mean to insinuate anything by that. It’s a subjective topic.

Personally, I set all of my non-handheld systems (i.e., any system that was designed for use with a CRT) to use custom AR with 5x by 6x integer scaling. Other people, like Dogway, like to use a different AR for each core based on various calculations.

1 Like

You do that by selection “custom” on the Aspect Ratio index and changing the values at Custom viewport width and height, right? What values would that be a exactly?

Also you do that with recalbox set at 720p as well?

Yes, custom viewport width and height.

I don’t use recalbox, but no, those are for 1080p displays. If you have integer scaling ON, it should snap to next integer value as you cycle through the values.

If you’re running at 720p, you can get exactly 4:3 with integer scaling (i.e., without doing any custom AR) or 1:1 PAR if you don’t mind the variation in width.

My TV is 1080p, just recalbox is set to 720. Because, besides 1080p taking more power from the RPI3 for no quality increase, 4:3 or 8:7 with Integer Scaling is considerably bigger on the screen at 720p.

But here is the weird thing that made me ask here. If i go 4:3 with Integer Scaling, i get a weird effect on screen when it’s scrolling vertically. Like a “shadow” of the pixels lining up while i move. I’m guessing that is the shimmering you where talk about. It doesn’t happen if Integer Scale is off, in that case.

So far in my experience:

1080p 4:3= Wrong sized pixels.

1080p 8:7 Integer Scale on = Screen is very very small

720p 4:3 = Wrong sized pixels as well i’m guessing.

720p 4:3 Integer Scale on = The weird effect i described.

720p 8:7 Integer Scale on = Screen is way bigger then at 1080p, best so far but as you said Genesis games will look fat and stuff.

I’m also getting screen tearing on the world map in FFVI for sone reason in all options above.

Hmm, dunno about about the tearing, but for the weird pixel effects, try using one of the shaders from the ‘retro’ subdirectory. Pixellate, AANN or sharp-bilinear should keep your pixels as sharp as possible without any of the ugly artifacts that can happen with nearest neighbor scaling.

I’m ignorant here, so far I have read correctly that most of consoles hardware is smaller size of resolution to create a optical illusion on output on a old television thinking that a normal size. Then my thought was how these programmers work with this games on smaller scale I come think of this. They must have done it on computer then exporting into game cartridge. Then I thought I wonder what the size of source code would have been if they didn’t export onto game cartridges. Now come to think of modern console are they still the same method like PS2 to Now. Just thought Thanks

Well if you are using a 1080p native TV but switching it to 720p you will get scaling artifacts from the TV scaler. Since 720 doesn’t go evenly into 1080 you get artifacts. Even if you are using integer scale in the emulator you aren’t getting the cleaner integer scaled picture because the TV is fractionaly scaling giving you that ripple.

TVs’ upscalers are frequently designed to handle 720p -> 1080p conversion quickly and with high quality. Running it in native res is better, of course, but 720 is still quite good, usually.

Technical information:

NTSC Atari 2600 : pixel clock = 3 579 545 Hz (colorburst), 160 pixels per line (PAR = 12/7), lines per frame is game dependent, but typically 192-240

NTSC Atari 7800 : pixel clock = 7 159 090 Hz (2x colorburst), 320 pixels per line (PAR = 6/7), 243 usable lines per frame

PAL Atari 7800 : pixel clock = 7 093 788 Hz, 320 pixels per line (PAR = 1.040)

I guess that depends on how close you sit and how good your eyes are. All 720p content I have seen (such as running an Xbox 360 on a 1080p TV) looked pretty bad to me. If you sit far back then you may not be able to tell but close you see fuzzy details due to the filter. Fractional scaling almost always sucks on fixed pixel displays. I have seen a few cases where it isn’t bad but not often.

It varies by model and manufacturer. According to rtings, “By comparing the results we’ve seen from all the TVs, Samsung, Sony, and LG TVs are all mostly good at upscaling, while Vizio and Sharp aren’t as good.

Hello, I’m on a RPi (Lakka) connected to an old CRT TV via composite cable and sdtv_mode=16 (240p). Which are the correct video settings (resolution, aspect ratio) to replicate exact SNES output but also to avoid scaling issues (visible vertical or horizontal lines during scrolling)? Is 240p the right starting point to mimic the real SNES video output on a CRT TV with Lakka? This is driving me crazy :wink: Thank you

This is easy (for a NTSC CRT), just find the preset for 1:1 PAR in RetroArch settings. Ensure that you don’t crop borders and that scaling is set to 1X.

I also upload a small application so you guys can run it to find the resolution and offsets of different systems depending on display resolution, based on my findings for Correct Geometry. Hopefully this clears things up.

RetroArch - Custom Resolution Calculator

1 Like

Updated the app to include all systems, some PAL vs NTSC and also per game (SNES, Saturn, Genesis and Sega CD), also a Zoom option since some games are letterboxed and an option to upscale to next integer, previous integer, or snap to display size.

Download from my Github:

Forgot to say, the calculations are based on cropped overscan for the next systems (224px high mostly) while the rest use 240px:

  • Super Nintendo Entertainment System NTSC
  • Sega Master System
  • Sega Genesis
  • Sega 32X
  • Sega Saturn
  • Sega CD
  • PCB Sega ST-V Titan
  • SNK Neo Geo
  • PCB CPS2
  • PCB CPS3
3 Likes

@Dogway Would any of these setups also work for TG-16 / PC Engine?

1 Like

I haven’t looked into it as I don’t have those systems set up. It requires some time going back and forth, research and tests. I might give them a look if there’s enough interest. By the way since this an AHK x64 app I think it can only be used on x64 versions of Windows (no Linux sorry)

1 Like

I love this tool! And, as you know, nobody complains like someone who loves a thing. :grin: More seriously, I have a couple UX suggestions for next time you revisit it. Perhaps:

  • Instead of a separate dialog, display output in the main interface?
  • Display output in a selectable text box for easy cut-and-paste into RA configs?
  • Have the output auto update when frobbing the inputs? (Not exactly essential, but saves a click.)
  • Offer a way to see (and copy) a list of the games with info, either internal to the app or exportable?
  • Show PAR, DAR, original resolution, clipping values, computed scaling factor?
  • Allow for arbitrary entry of all of those so we can play with obscure systems or even use this as a heckin’ convenient calculation tool for other image work?

Even without any of this, It’s heckin’ convenient. Thanks for your work on it!

2 Likes

Good suggestions, I was a little lost on where to put the results, so it inherited the pop up from the previous, but I have an idea now!

As for sliders, I don’t think so, I mean this is a small tool I had and don’t want to spend too much more time on it.

And on the list of games, yes I thought about it. Will think in a way to insert them, probably a clickable popup. I might reconsider being able to input a custom DAR and original resolution.

Mainly those, you can get the DAR easily by: custom_viewport_width/custom_viewport_height

2 Likes

Does anybody have experience with this in the context of crt switchres? For super resolution mode, I can’t seem to change the aspect ratio at all unless I use “custom” and “custom_viewport_width” (but that requires me to define the vertical resolution as well—breaking games that switch between 240p and 480i). NONE of the other aspect ratio index options do anything—the image always ends up stretched to 2560.

This is mainly a problem with the beetle psx as neither the cropped nor uncropped overscan core options result in the same picture I get from my real PSOne.

For parallel64, I didn’t think there were many 480i modes, but I just discovered the bombers notebook in Majora’s Mask is 480i. Luckily this core’s image is way closer to the right AR.