Integer scaling and vertical scrollers

Discussion about displays and related hardware including MiSTer filters and video settings.
ash2fpga
Posts: 237
Joined: Tue May 26, 2020 6:20 pm
Has thanked: 62 times
Been thanked: 28 times

Integer scaling and vertical scrollers

Unread post by ash2fpga »

Background:
I have most cores that I use setup to with integer scaling and scanlines, which works great most of the time.

I prefer the look of scanlines, but only when they are evenly spaced, which only appears possible with integer scaling. I have been using Gaussian_Sharp_07 as my fallback with either "vscale_mode=0" [fit the height] or "vscale_mode=3" [0.25 steps], when that is not possible.


Goal:
The scenario I am trying to get working is with CPS1 vertical scrollers. When I first found out CPS1 games are 384x224, I thought I would try out 1366x768 with integer scaling.

Oddly it did not double the image [per dimension]. It was still the original size [slightly more than 50% of the screen height]. Once I enabled the video info OSD, I could see that the CPS1 vertical scrollers are 393x224, which, if doubled would slightly exceed the 768 vertical resolution.


Things I tried:
I had not used vscale_border before and did not know how it behaved. It worked in the opposite direction (adds border to the rendered image). If it could [also] work in the other direction (negative values?) and slightly crop the image [and still work with integer scaling to fill the screen height], it would probably be the best.

I have tried Scandoubler FX. Since it applies the scanlines to the resulting image, they are evenly spaced, however, it appears[?] to only work in integer scales [and only has horizontal scanline options]. So the image was still the original size (I think). At original size, the scanlines would be cutting the original game resolution in half, too. With CPS1 vertical scrollers specifically, I also noticed near constant audio dropouts when using Scandoubler FX. I had not noticed that before, with other cores, but I do not normally use it.

I tried adding 1200x800. Either I got the settings [1] transposed incorrectly, MiSTer (even the menu) did not like the resolution, or my video switch (a ViewHD unit) did not like it [I only have one "game" HDMI input on my gaming TV]. [My TV itself accepts 1200x800 and many other resolutions just fine from a laptop.] 1200x800 may present problems with getting the correct aspect ratio, too, but I am not sure.


Other ideas:
Filter that can interpolate and still have evenly spaced scanlines at non-integer scale resolutions? Not sure if this is doable.

Maybe this is "just a bug" in CPS1 core, and the vertical scrolls are supposed to be 384x224?


[1] http://www.tinyvga.com/vga-timing
Post Reply