Skip to content
This repository has been archived by the owner on Jul 10, 2023. It is now read-only.

Vertical scaling support added #1753

Open
wants to merge 2 commits into
base: alpha
Choose a base branch
from

Conversation

mar753
Copy link
Contributor

@mar753 mar753 commented Oct 24, 2019

I have added vertical scaling support (SCALER_CTL), this fixes the issue e.g. in Crazy Taxi pause screen, where background is not properly aligned (see the red arrow):

20190210105426
20190210011430

@skmp
Copy link
Owner

skmp commented Jan 26, 2020

@mar753 can't the fraction be calculated like 0x0400/(float)0x0400?

@skmp
Copy link
Owner

skmp commented Jan 26, 2020

(Sorry for the late review, been busy irl)

@mar753
Copy link
Contributor Author

mar753 commented Jan 28, 2020

First stage here is to convert binary fraction coded number (which Dreamcast is using in this case) to IEEE 754 - I have used double for better precision, which can make a difference here (binaryFractionToDouble() function). Second stage is to multiply current screen height by this factor, round is necessary to be used here, because ceil/floor or simple division are not sufficient here and may generate +/- 1px or more uncertainty. I have tested it very carefully with different games and rounding the final double number only, does generate graphics exactly like on Dreamcast, without any stretching, with the picture covering the whole screen.

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

Successfully merging this pull request may close these issues.

None yet

2 participants