Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MD/SNES] Hiding overscan in games cuts off too much of the screen #1675

Open
emilos260 opened this issue Oct 24, 2024 · 3 comments
Open

[MD/SNES] Hiding overscan in games cuts off too much of the screen #1675

emilos260 opened this issue Oct 24, 2024 · 3 comments

Comments

@emilos260
Copy link

emilos260 commented Oct 24, 2024

After disabling the "overscan" option in the video settings, I noticed that every Mega Drive and SNES game was cut off at the bottom of the screen. You can see it clearly in the screenshots below. In Final Fight on the SNES the bottom licensing text is cut off and in Ultimate Mortal Kombat 3 the intro text is cut off also. Is this how it's supposed to work? If so, is it possible to lower the amount of pixels "cut off" by the overscan option?

Steps to reproduce the behavior:

  1. Go to 'Settings', then to 'Video'
  2. Uncheck 'Overscan' under 'Emulator settings' section
  3. See the problem

Screenshots

Final Fight - Arcade Remix (Hack) v1 1 RealGaea 2024-10-24 21-35-09
Final Fight - Arcade Remix (Hack) v1 1 RealGaea 2024-10-24 21-35-36

UMK3 Arcade Restore (Hack) v0 6 Nemesis_c 2024-10-24 21-37-17
UMK3 Arcade Restore (Hack) v0 6 Nemesis_c 2024-10-24 21-37-22

@TwentySixHundred2600
Copy link

I have the same issue and from what i can see is it crops about 2-4 pixels too much on both top and bottom. I am thinking it would be something to do with the way it scales the frame.

@DanKorell
Copy link

Yep, I can also confirm this. Tried v140 and the nightly build from 02-Nov-2024, and both have the issue.

@FitzRoyX
Copy link
Contributor

FitzRoyX commented Nov 15, 2024

So long story short, the common resolutions that get tossed around online are basically talking about "active display" aka the drawable region of the output signal. The full signal including undrawable areas is bigger (and emptier). This commit changed us to full signal.
acaa1ca

But the new numbers or math are off somehow with overscan disabled. Sonic 1 should be displaying at 320x224. Instead it's displaying at 319x219. Similar over-chops are happening across other systems.

There's also the added complication of what to do about the padding coded WITHIN active display. The Neo Geo, for example, has 320x224 active display, but half of its games drew 304x224. The SNES is similar, active display is 256x240, but line 0 is forceblanked and a settable bit blanks another 15 lines out.
https://neogeo-megashock.blogspot.com/p/neo-geo-resolution.html
https://forums.nesdev.org/viewtopic.php?p=112837#p112837

Back when active display was all we cared about, disabling "overscan" meant cutting off this "active padding". Since no one cared about seeing the dead space of a full signal, maybe all that really needed to be done was to rename "overscan" to something like "show full active display for NG and SNES". Though if you read that neo geo link, you might say screw it. It's much more straightforward to just display all of active display than try to perfectly cut off 10 different permutations of active display padding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants