
Bug report
This is quite a simple bug, but I'm amazed no one has reported this before now as it renders ZSNES unusable...
Since version 1.40, ZSNES has automatically started up in a window with 16 bit depth colour. On my computer, my desktop is set to 32 bit depth colour and ZSNES doesn't appear at all — just a black square. Most people in this situation would have no way of knowing why it wasn't working and I only figured it out by trial and error (I switched my desktop to 16 bit depth colour and it worked fine).
I would strongly suggest that you set it to start up in 32 bit colour mode, otherwise people with a setup like mine will be binning your emulator before they've even had the chance to see the GUI!
My specs: I'm running Windows XP Pro; ATI All in Wonder 128 graphics card; Dell 2405FPW LCD monitor.
Suggested features...
Also, I have a few features to suggest for the video config section. If anything here has already been requested/discussed please accept my apologies and ignore it.
Scaline settings
First, I always find 25% scanlines too faint, and 50% scanlines too strong. Would it be possible to allow a custom percentage, or offer intermediate setting(s)?
Horizontal interpolation
Another thing I'd love is horizontally interpolated scaling. Here're 3 reasons why this would be a good feature:
1) The scanlines soften the pixelation vertically, but you still notice pixellation horizontally — interpolation would fix this.
2) It would also give the impression of the game being slightly higher resolution, as there would be more detail.
3) Finally, it would make all the pixel columns appear more even (with the current method of scaling, I'm getting some 2-pixel-wide columns and some 3-pixel wide columns and it can look quite uneven sometimes.
New scaling options
My final suggestion is about the scaling. Currently, when you choose "scaled" it fills the whole width of the screen, which is a HUGE improvement on the old way of scaling, and very welcome. However, this still isn't perfect for me because the screen is now too wide (with bars at the top and bottom). Granted, many monitors let you adjust the horizontal/vertical stretch of the screen — but mine doesn't. All I can do with my monitor is zoom in and out, which means the image needs to be the correct shape in the first place before I zoom it to fill the screen.
I'm sure I can't be the only person who would like more accurate control of the scaling. So, I would like to suggest that you allow us to customise the horizontal stretch of the screen, so we can get it to just the right shape.
Picture Geomery dialogue
Alternatively, (and more ambitiously!) I have come up with a set of options for controlling the scaling which I call "Picture Geometry". These options would make it easy for newbies to set up ZSNES properly for their monitor (without having to work anything out), while also giving more advanced control to the techies.
These options would be best suited to drop-down menus but I don't think the ZSNES GUI supports drop down menus, so — if you were to implement this — it'd probably need its own dialogue box.
PICTURE GEOMETRY
------------------------------------------
Your monitor's aspect ratio:
- 5:4 narrow monitor
4:3 standard (SNES standard) <- default
16:10 widescreen
16:9 widescreen
Desired picture size:
- 1x height (224 pixels tall)
2x height (448 pixels tall) <- default
4x height (896 pixels tall)
Stretch to screen edge (keeps aspect ratio)
Stretch to fill whole screen
------------------------------------------
Desired picture shape:
- 8:7 native graphic (square pixels)
5:4 narrow
4:3 undistorted (SNES standard) <- default
16:10 widescreen / lazy PAL conversion
16:9 widescreen
Full width <- not available when using 'stretch' modes
[Also note that 16:10 is the exact same aspect ratio of both 16:10 widescreen monitors (like mine) and many of the early SNES games which were lazily/sloppily converted for PAL countries. After spending my childhood playing games like Mario Kart in 16:10 aspect ratio, I now find it hard to adjust to the 'normal' 4:3 shape.]
In case you do decide to implement this feature, I've also come up with the basic algorhithm for calculating the width of the image in pixels...
[height of image in pixels]
- x [monitor's aspect ratio - vertical]
/ [screen resolution - vertical]
x [screen resolution - horizontal]
/ [monitor's aspect ratio - horizontal]
/ [desired aspect ratio - vertical]
x [desired aspect ratio - horizontal]
= width of image in pixels
- 448 x 10 / 480 x 640 / 16 / 3 x 4 = 497.778
Hope this helps ZSNES.
Lee