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

Feature Request: Overscan Bit Override #34

Open
FitzRoyX opened this issue Feb 3, 2020 · 7 comments
Open

Feature Request: Overscan Bit Override #34

FitzRoyX opened this issue Feb 3, 2020 · 7 comments

Comments

@FitzRoyX
Copy link

FitzRoyX commented Feb 3, 2020

Per my forum article here https://www.retrowide.com/forums/viewtopic.php?f=14&p=14&sid=cd234fe23905cce0416eedc03e6a5aef#p14

I'm not sure how you want to implement this, but I think the best way is to move away from "aspect" selections and offer resolution dropdowns instead. For example:

Horizontal:
384
448
480

Vertical:
216
224
240

If you do it like this, then "overscan override" doesn't have to be some separate option that looks alien to people. It can simply be enabled when 240 vertical res is selected.

@DerKoun
Copy link
Owner

DerKoun commented Feb 3, 2020

I gave the override a quick try and it turned out more complex than I thought. It most likely won't make it into the next release. I'll look into overhauling the overscan options entirely and include this if possible.
I won't replace aspect ratios with resolutions. That would be significantly more difficult for users. I'll improve documentation for ROM-hackers and developers as good as I can.

@FitzRoyX
Copy link
Author

FitzRoyX commented Feb 4, 2020

Hmm, well I see resolution selectors in almost all my emulators and games. This is the first time I've seen an aspect selector, since one aspect can be shared by multiple resolutions. I know that when I first saw "16:9", I wondered if it meant 384x216 cropped, 398x224 rounded, or maybe even 448x252 letterboxed.

@DerKoun
Copy link
Owner

DerKoun commented Feb 4, 2020

Please name/link some of those emulators, so I can have a look, maybe get inspired.

@FitzRoyX
Copy link
Author

FitzRoyX commented Feb 4, 2020

ZSNES (jk). Any 3d emulator will have one, so epsxe and project64. However, the more appropriate comparison would be any 2d game that has fairly customizable width & height. So i.e. HoMM3HD and Diablo 1 HD.

The fact that there's an "Aspect Correction" option ontop of "Aspect Selection" complicates
things too. Its behavior and effect on the frame was predictable when render width was fixed at 256. Now that render width is variable, it should more appropriately be called "Widen PAR" and have no effect on the frame.

There's too much hidden interplay between all these separate options. Aspect Correction widens frame Aspect but not rendered aspect. Show Overscan narrows rendered and frame aspect and diminishes the effect of Aspect Correction. Chrono Trigger's moon isn't worth any of this :P

@DerKoun
Copy link
Owner

DerKoun commented Feb 4, 2020

Aspect Correction is indeed a name that has gotten confusing. I'll change it.
The rest I'll have to delay for now, so I can get the next bugfix release done.

@FitzRoyX
Copy link
Author

FitzRoyX commented Feb 7, 2020

No problem. I was eager to see what 448x240 looks like, so I made a test build for it.
Advantages:
-max view distance
-12px away from 16:9
-wont crop any title
-can fill 240p handhelds.
-doesn't perfectly scale into 1080p, but the windowboxing is still far less empty space than 256x240.
-will require per-game fixing of overscan glitches, but since hackers have to hack the game anyway...

Overscan cropping and PAR widening options were indeed hooked into calculation, so this took a bit longer than I wanted. But whatever, I managed to create a build that:

-Sets the internal rendering, viewport frame, and default output to 448x240. The frame is not dynamic as that takes a lot of code and more skill than I have. So changing to other aspects will only break stuff.
-changed all defaults to unblurred, unstretched.
-removed "aspect correction" aka PAR widening from the UI. It is not removed internally because I lack the skill.
-there are two patches and save files included for SMW and LTTP. They will enable the overscan bit. Alternatively, the PAL version of SMW both enables overscan and fixes its timing impacts, but it's 50fps.

Source included.
bsneshd448x240.zip

@DerKoun
Copy link
Owner

DerKoun commented Feb 20, 2020

A finding worth archiving here:
It seems that game specific issues caused by forcing the overscan bit can be mitigated by also setting some overclocking.
This should be analyzed when implementing the setting and documented prominently.

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

No branches or pull requests

2 participants