Integer scale, overscan %, a question about CRTs

A lot of games have different overscan safe areas, specifically Nintendo 64 games. Using 2 of them as an example, Super Mario 64 would need to be zoomed in by a factor of 1.07 to avoid seeing artifacts from the VI overlay, while Paper Mario needs to be zoomed in by a factor of 1.20, or you will see a border around the invisible area that you’re probably not supposed to see. If I use integer scale, and a shader, such as crt- royale-ntsc-320px-composite.slang, the image is fine with integer scale enabled, until you adjust the overscan %. After adjusting the overscan %, vertical lines appear, more visible over lighter areas.

Is this something that occurs on real CRTs? Also, are real CRTs integer scaled?

Consoles run on real CRTs at 1x scale, so yeah.

If the shader crops and stretches the image, it is no longer integer scaling, so some scaling artifacts will appear.

1 Like

So on a real CRT these scaling artifacts also appear if you adjust the overscan % . . . makes sense.

On a real console hooked up to a real CRT, there’s not really anything like overscan % that you can adjust. Some displays have H and V size adjustments, but even then they aren’t scaling the image, just changing area in which the electron gun can sweep.

Fixed-pixel displays function inherently differently from CRTs and a lot of the artifacts we see with non-integer scaling have to do with the fact that we have to actually draw things like masks and scanlines using the available pixels instead of them being naturally occurring, physical characteristics.


How would you recommend adjusting the shader parameters for a game that needs parts of the image hidden to look as close as it can to how it would look like on a real CRT?

If you’re on a 1080p screen, I recommend using a custom aspect ratio with 5x height and 6x width. This is pretty close to 4:3, it’s integer on both axes and it cuts off a small amount of overscan on the top and bottom.


I tried it out, and It looks really good! :+1: Thanks!

1 Like