Correct Geometry - Aspect Ratio for different systems

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.

Here I share my findings on DAR for different system and the exceptions I could find in some games, this is how I have it set up, it’s not an exhaustive list so you can expand it. The DAR is considered without borders (ie. 224px high) except for CPS2 which accounts for 240px.

PCB CPS2
SNK Neo Geo
PCB Sammy Atomiswave
PCB Sega Naomi
Sega Dreamcast NTSC
Nintendo 64
	4:3

PCB CPS3
	439:313

NEC PC Engine
Nintendo Entertainment System
	8:7

Super Nintendo Entertainment System NTSC
	8:7
	Everything except following titles

	4:3
	ActRaiser 2
	Ballz 3D
	Battletoads in Battlemaniacs
	Battletoads-Double Dragon
	Dragon Ball Z - Super Butouden series
	F-Zero
	Joe & Mac
	Killer Instinct
	Mortal Kombat series
	Samurai Shodown
	Super Ghouls'n Ghosts
	Super R-Type
	Street Fighter series

Sega Game Gear
	5:4

Sega Master System
	381:250

Sega Genesis
	10:7
	Everything except following titles

	8:7
	Arrow Flash
	Beast Wrestler
	Flashback
	Wily Wars
	Pac-Man 2
	Monster World IV
	Radical Rex
	Shadow of the Beast II
	Shining Force
	Shining Force II
	Shining in the Darkness
	Splatterhouse 3
	Star Trek - The Next Generation
	Sunset Riders
	True Lies
	Wonder Boy in Monster World

Sega CD
	653:500
	Everything except following titles

	10:7
	Earthworm Jim
	Ranma
	Road Avenger
	Sonic CD

	8:7
	SoulStar

Sega 32X
	10:7

Sega Saturn/Titan:
	4:3
	Everything except following titles

	3:2
	decathlt
	diehard
	elandore
	ffreveng
	rsgun
	sss
	vfremix
	vfkids
	winterht
	znpwfv
	Clockwork Knight
	Clockwork Knight 2
	Crows
	Legend of Oasis
	NiGHTS
	Panzer Dragoon
	Panzer Dragoon II Zwei
	Sonic R
	Super Tempo
	Tryrush Deppy

Sega Dreamcast PAL
	5:4

	83:50 if widescreen patch

Sony PlayStation
	4:3
	Everything except following titles

	8:7
	pixel based games (256x240 active frame)
2 Likes

I’m confused since I think aspect ratio is about pixels so to obtain the 4:3 aspect ratio for most of consoles and arcades just divide the height by 3 then multiply by 4, no need to do for most of 32/64 bits games as they output 4:3 resolutions like 320x240 . The case of systems like Master System, Colecovision having 192 pixels height to obtain 4:3 aspect ratio is needed the consideration of 224 pixels height to obtain a 4:3 aspect ratio that has nothing to do with the inherent resolutions of systems like the afoementioned (Master System, Colecovision).

The case of GB’s aspect ratio is considering the TV and a SGB so the calculations for the HorizontalResolution are SNES_VR/3x4xGB_HR/SNES_HR and the same for the Game Gear considering VerticalResolution the same as the SNES, the results for the portable consoles don’t result in 4:3 aspect ratio, another considerations are the Game Gear as a derivative of the Master System and the Game Boy as a derivative of the Super Game Boy so all the systems explained result in 4:3 and the GB, GG as boxed in.

Considering a value beyond 224 VerticalResolution in 16bits gen games or below is useless as I’m not aware of games having 240 visible pixels as long as the HorizontalResolution has 320 pixels in the 32bits gen for example.

1 Like