Cropping top and bottom on every core (for a long time now)

Hi guys, I think this is the 113th time I ask this question but here it goes again :slight_smile:

Is there a way to have an automatic aspect ratio (not sure if aspect ratio is the correct word, but you get what I’m saying…) WITHOUT the cropping on top and bottom? I’m actually looking for a way to display each game COMPLETE. I don’t mind if there are black borders on every side. You know what I mean? I don’t mind having a slightly smaller square in the center of my screen if that means no cropping. Any help would be appreciated since it is SPECIALLY bothersome on arcade games (since you can’t even see how many coins you have left on most games. cause the hud is practically off-screen) Thanks!

First check Crop Overscan in video options. Not sure if it’s for vertical or horizontal, I leave it off and don’t have any issues. Some cores have their own overscan options iirc, try toggling those too.

Does it do this if you delete/rename your config file, (i.e. with default settings)? Also check for core-specific configs/overrides.

Is this for all cores?

Are you using an LCD display? Many people use Wiis for CRTs due to their component video capabilities and low cost, but if you’re not, maybe your display is cropping it to fill the (16:9 probably) screen. Keep in mind that most older games ran at a 4:3 aspect ratio, so they must be stretched or cropped to fill a modern screen completely (most people prefer the black bars for the sake of correctness). Check the scaling options for the Wii’s input. Also try running the regular Wii menu or a Wii game (not through Retroarch) and see if you have overscan issues with that too. If you do, it’s definitely not a Retroarch problem.

For an LCD, you probably want aspect ratio set to “core provided” and integer scale ON. If you don’t mind uneven scaling artifacts, you could turn it OFF so that there are only black bars on the left and right, not the top.

If none of this works, please tell us more about your setup. Pictures of affected games, config file contents, kind of display, etc. Troubleshooting steps you’ve looked into so far would also be a help as well.

[QUOTE=Mr. Figs;50055]First check Crop Overscan in video options. Not sure if it’s for vertical or horizontal, I leave it off and don’t have any issues. Some cores have their own overscan options iirc, try toggling those too.

Does it do this if you delete/rename your config file, (i.e. with default settings)? Also check for core-specific configs/overrides.

Is this for all cores?

Are you using an LCD display? Many people use Wiis for CRTs due to their component video capabilities and low cost, but if you’re not, maybe your display is cropping it to fill the (16:9 probably) screen. Keep in mind that most older games ran at a 4:3 aspect ratio, so they must be stretched or cropped to fill a modern screen completely (most people prefer the black bars for the sake of correctness). Check the scaling options for the Wii’s input. Also try running the regular Wii menu or a Wii game (not through Retroarch) and see if you have overscan issues with that too. If you do, it’s definitely not a Retroarch problem.

For an LCD, you probably want aspect ratio set to “core provided” and integer scale ON. If you don’t mind uneven scaling artifacts, you could turn it OFF so that there are only black bars on the left and right, not the top.

If none of this works, please tell us more about your setup. Pictures of affected games, config file contents, kind of display, etc. Troubleshooting steps you’ve looked into so far would also be a help as well.[/QUOTE]

crop overscan reload off causes snes games to glitch. Yes. It does it on default settings. The only way I manage to display the whole screen is if I change the resolution to 512x448. But it looks blurry like that. LED display, vWii on WiiU. Nothing gets cropped (aside from retroarch) I have core provided as default aspect ratio. And it looks fine (I mean it’s not enlarged or anything, a circle is a circle etc) my only issue is with the cropping on top and bottom. I also have integer scale on.

WiiU outputting 1080p to a 1080p display. config files don’t matter since it does it with the default config (like I said the only way to prevent the cropping is to select 512x448 as the resolution) Thanks for replying!

Ah, a vWii. Too bad I don’t have one to compare with.

Have you tried changing the custom viewport option? I believe you need to set the aspect ratio to custom or config or something for it to take effect.

If it works, there might be problems with incorrect aspect ratios, since the viewport takes precedence (iirc). But let’s see if it works before we worry about that.

Also try toggling integer scale while testing, just in case (since we are meddling with aspect ratios etc.).

[QUOTE=Mr. Figs;50092]Ah, a vWii. Too bad I don’t have one to compare with.

Have you tried changing the custom viewport option? I believe you need to set the aspect ratio to custom or config or something for it to take effect.

If it works, there might be problems with incorrect aspect ratios, since the viewport takes precedence (iirc). But let’s see if it works before we worry about that.

Also try toggling integer scale while testing, just in case (since we are meddling with aspect ratios etc.).[/QUOTE]

OK. I managed to get it to display properly (looks hella sharp, or as sharp as possible and no discernible abnormalities on images) My only remaining issue is with the scrolling artifacts (I’m guessing thats because even though the image and aspect ratio look good, the pixels are unevenly stretched out?) Is there a way to minimize this? My current setup is as follows:

  • resolution 640x480
  • bilinear filtering and deflicker off
  • custom AR: 640x448
  • the… “centering thingamajig” at 18 (from the top)

Like I said, everything looks NICE. my only gripe is that on sidescrolling games (like CONTRA on NES for instance) I can see a flicker of some sort, or some scrolling artifacts to be more precise. If I change the aspect ratio to 512x448 everything runs smooth as butter, nothing flickers at all (or at least nothing visible) BUT, it looks square and tiny, obviously. IS there a middle ground to be found? Thanks.

Welcome to DIY Integer Scaling.

So I did some thinking about resolutions and aspect ratios, and this is what I concluded: for ideal scaling, the x- and y-resolutions must be integer-scaled, though the multipliers don’t have to be the same, and the final resolution should be in a 4:3 aspect ratio, so that it looks correct on the square pixels of an LCD screen. Here’s the formula:

(Xres * Xmult) / 4 = (Yres * Ymult) / 3

Xres and Yres are the native x and y resolution output by the console, and Xmult and Ymult are the scaling factors for the width and height, respectively. Solving for the mults gives you a ratio, so the goal is to find integer values for both that satisfy the equation. For example, Contra runs at a native 256 x 224, so the equation yields 7(Ymult) = 6(Xmult). This means Ymult is 6 and Xmult is 7, so the optimal viewport is 1792 x 1344.

See the problem? You’d need a 4k display to actually display that (I guess 1440p would work). And it only gets worse; the genesis runs at 320 x 224, requiring a 14x/15y(!) scale. It isn’t practical, or even possible. So here are some compromises:

  1. Use a shader. The uneven pixels are much harder to see, and should resolve the shimmer artifacting. Bilinear is really fast, but just makes things fuzzy. CRT shaders and the like mask scaling artifacts quite well in my experience, but they might be too expensive for a vWii (also a matter of taste). Nearest neighbor doesn’t solve the problem, and neither will “sharpening” filters, because they don’t hide the uneven sizes of the pixels by blurring them, like most other shaders. I don’t know if the vWii works with shaders besides bilinear, so if it doesn’t, this means you’ll just have to pick bilinear if you take this option. Follow the instructions in (3) for resolution setup.

  2. Ignore aspect ratio. You can simply integer scale the native resolution to a size just under your screen resolution. A 4x scale for the NES works at 1080p (1024 x 896). This gives you black bars on the sides and top/bottom, and you’ll have to mess with the viewport x/y to center it. No shimmering with nearest neighbor filtering, but it’s slightly…squashed looking. It’s better to scale the x and y separately, but instead of aiming exactly for 4:3, settle for “close enough”. 1280 x 896 is a decent approximation for Contra (x5, y4). This probably gives the best results overall if you want sharp scaling, since it has no shimmering, good size, and decent aspect ratio.

  3. Ignore shimmering. This is the easiest to implement…just set the viewport to 1440 x 1080, turn off integer scaling, and let 'er rip. It’ll be exactly 4:3, and you’ll only have black bars on the left and right, but any movement on screen is gonna get messy—now both horizontal and vertical motion. This should work for all cores. You’ll have to set the viewport x, but not y, since it will fill the vertical space of the display.

Note that (1) and (3) are essentially the same, plus or minus a shader. I’ve included more detail than strictly necessary so that you can (hopefully) apply this to other resolutions as necessary, and so that other people can fact-check me etc. (I did test these setups, though, so I think this is all correct).

I highly recommend the 240p test suite for checking for scrolling issues etc. There are versions of it for most popular consoles. It’s also easier to test these out on a normal computer, since you can keep the cfg file open in notepad and easily edit it between tests, instead of running an SD card back and forth between two devices and constantly rebooting the Wii U. You can even hook a laptop to the tv and see it on the display you’re using! Just need an HDMI cable.

tl;dr: No shimmering, correct aspect ratio, sharp pixels; pick two. The bit at the end of (2) is what I would use if I didn’t love my CRT shader/actual CRT to bits. You’ll have to do the math for other consoles with different output resolutions, though, so it’s more work if you want more systems running.

Have fun tinkering with your setup! I hope you like math.