Resolution questions

General area for talk about ZSNES. The best place to ask for related questions as well as troubleshooting.

Moderator: ZSNES Mods

Post Reply
jez
Rookie
Posts: 11
Joined: Sat Jul 29, 2006 1:18 pm

Resolution questions

Post by jez »

A question about ZSNES's resolution scaling...

I personally dislike video interpolation, and would rather have a faithful reproduction of the SNES' video output when playing. The only 3 video modes I have found that do not blur things (interpolate) are 256x224 R WIN, 512x448 DR WIN, and 640x480 DR FULL.

The former mode is presumably just displaying the SNES video output at 1:1, which obviously requires no scaling at all. The latter 2 modes are both presumably scaling up the native resolution of most SNES games (256x224) by *exactly* 2 - doubling the size of each pixel - to the 512x448 resolution. This is basically so it looks big enough on today's resolutions like 640x480, but is still faithful to the original output as zero interpolation has been done, just a doubling of each pixel's size.

In 512x448 windowed, it doubles the size of each pixel and displays it as a window. In 640x480 full, it does the same and centres the output on the display, with a black box around it to take up the rest of the 640x480 resolution.

Unfortunately, every other video mode is interpolated. To get the 256x224 resolution to be scaled to a sensible size on some other resolutions, it has to scale by things like 2.5 which obviously requires interpolation. However, there are some resolutions where you could continue to multiply the original SNES resolution up without interpolation, causing no bluriness but yet a good size of display on high resolutions. For reference, here are some multiples of the base SNES output resolution:
256 x 224 (1:1)
512 x 448 (1:2)
768 x 672 (1:3)
1024x 896 (1:4)
1280x 1120 (1:5)

Now if I have my card in 1280x1024 mode, ZSNES could multiply each pixel by exactly 4 and give me a 1024x896 ratio. This would give a reasonable display size, and could be blackboxed to take up the rest of the screen resolution in fullscreen mode, or just windowed. However, if I put ZSNES in 1280x1024 mode the display is still interpolated (blurry). I am aware that there is already a 1024x896 windowed output from ZSNES but for some reason that is blurry/interpolated. Why is this?

Could ZSNES have some higher resolution video modes that have no interpolation?
=== Jez ===
jez
Rookie
Posts: 11
Joined: Sat Jul 29, 2006 1:18 pm

Post by jez »

Addendum: Given that ZSNES's interpolation option isn't checked in the exact multiple output modes like 768x672 DR WIN, I'm guessing it's not ZSNES that is interpolating, but DirectDraw. Disable DirectDraw acceleration and ZSNES doesn't run on my system (just get a black window).

Can't an option be added in ZSNES where it actively tells DirectDraw it's using a 768x672 (or whatever) resolution and manually resizes each pixel and outputs it, rather than telling DirectDraw to resize the 256x224 resolution? This would prevent the card from blurring/interpolating the image when it resizes.
=== Jez ===
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

This will be resolved when pagefault adds in Direct3D code which can address this easily. There is no ETA.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

If you want "faithful representation" then you should use the NTSC filter. :wink:
jez wrote:Disable DirectDraw acceleration and ZSNES doesn't run on my system (just get a black window).
Have you tried fullscreen modes?
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
RealmRPGer
Rookie
Posts: 35
Joined: Thu Jul 13, 2006 2:41 pm

Post by RealmRPGer »

OP is correct on this. nVidia's newest drivers have a control panel that allow you to set how LCD screens resize at different resolutions. One of those options is "no resize," which results in the monitor displaying the correct size (say, 640 x 480) at the center of the screen with a black border covering the rest of the screen. I lept for joy that I could now finally have "hard" / uninterpolated pixels, jumped into ZSNES, set it to 768 x 672 DR Full, and to my dismay there was still interpolation. =(

Oh well...if I sit back far enough, I don't notice the interpolation, and if I sit real close, 640x480 is large enough for me.
Post Reply