Emulator Fullscreen Non Stretch?


1magus

Member
Joined
Jun 29, 2007
Messages
462
I was wondering if any emulators on the Pandora currently support this, now I tried to ask this before but people got confused because the aspect ratio of the SNES is not 4:3 this is what I mean:
http://modsandhacks.net/wp-content/uploads/2010/01/psp_mario.jpg

rather than this:
http://pablotron.org/files/20080216-psp_cfw/snes.jpg
the last image is set to native mode and the first image is scaled up but not stretched to widescreen.
 

WizardStan

Mega GP Mania
Joined
May 24, 2008
Messages
16,733
I don't think I understand what you mean.
Do you mean non-integer scaling? Like pixels can be scaled by fractions instead of whole numbers?
 

quartercast

Well-Known Member
Joined
Feb 13, 2007
Messages
1,550
Are you talking about the 2 x 1 scaling mode on snes9x4pandora? The one that makes pretty much every game look fugly?
 

john4p

Active Member
Joined
Feb 29, 2008
Messages
992
Location
Germany
No, he means scaling (zooming) to use the full height of the Pandora's screen while keeping correct x:y-aspect ratio.

Like UAE4All's screenmodes. For example the screenmode "320x216 upscaled to 712x480 pixels" accomplishes that the Pandora screen's full height gets used when playing Turrican II (since this game draws 216 lines) while keeping the correct x:y-aspect ratio.
 

WizardStan

Mega GP Mania
Joined
May 24, 2008
Messages
16,733
it's his talk about the SNES not having a 4:3 aspect ratio that is confusing me.
Right now, the SNES emulator does a simple 2x2 scaling for every pixel. This means the 256x224 becomes 512x448 making it look almost perfect top to bottom on the Pandora screen, leaving bars to the side. If this is what he wants, then yes, that is what happens and is in fact the default.
Of course, TVs are 4:3, not the 8:7 that the Nintendo was, which means to display it "properly", you would need to scale the width 7/6s, a non integer number. This would give you the expected aspect ratio as displayed on a TV, but because it's non integer scaling you would either have to use some kind of anti-aliasing, resulting in a (usually poorly) blurred image; or non linear scaling where every 6th column is doubled to achieve the effect, which results in a cleaner image but leaves noticeable columns in the image. Nothing to my knowledge does this yet, but I bet if the demand is there it can at least be added to the SNES emulator.
When I find time to work on the hq2x filter, maybe I'll add a "phosphorous" filter that emulates a TV in this way, too.
 

Nupfi

Member
Joined
Jun 8, 2009
Messages
1,703
Age
33
Location
Austria
So I would like to add the following: why is the current SNES "fullscreen mode" stretched, while Genesis/PicoDrive "fullscreen mode" looks so nice?
 

WizardStan

Mega GP Mania
Joined
May 24, 2008
Messages
16,733
This is just a guess, but maybe the Gensesis games you've been playing are of the 320x224 variety? Genesis basically had two resolutions*: 256x224, which doubles to 512x448; and 320x224, which doubles to 640x448 and does a better job of filling the Pandoras 800 wide screen, though black bars should still be present. I haven't played with picodrive yet, so I may be talking complete gibberish. If that's the case, ignore me.


*it has more than two, but these are the basic ones
 

Nupfi

Member
Joined
Jun 8, 2009
Messages
1,703
Age
33
Location
Austria
Hmm... every Genesis game I've played looked top-notch so far when scaled to fit the whole screen... :huh:
About the black bars: really tiny, not noticeable at all...
 

EvilDragon

Administrator
Staff member
Joined
Mar 4, 2003
Messages
29,513
Age
42
Location
Ingolstadt
SNES9x uses SDL and not the framebuffer. The framebuffer has access to hardware scaling and therefore can scale anything to any resolution. It adds a slight blur (some people don't like that).
Scaling to full heigth without using a hardware filter with blur looks damn ugly.

That's why it doesn't support that yet. Can be done though.
 

Exophase

Nothing good will ever come of Exophase.
Joined
Sep 21, 2006
Messages
10,308
Age
36
Location
Cleveland OH
Picodrive isn't using the framebuffer scaler, it does scaling in software. But like WizardStan said, the games are most likely 320 pixels wide. Most Genesis games are, so it's pretty easy to never even see the 256 wide one.

Picodrive also has a soft non-integer scaler for 256 wide to 320 which distributes every 4 pixels by 1.25 times in the following fashion: abcd -> a (0.25a + 0.75b) (0.5b + 0.5c) (0.75c + 0.25d) d

Temper has the same scaler. It's like a 5-phase 2-tap filter that looks like (0, 1), (0.25, 0.75), (0.5 0.5), (0.75, 0.25), (1, 0).. you could probably recreate it exactly with the hardware scaler.
 

1magus

Member
Joined
Jun 29, 2007
Messages
462
EvilDragon said:
SNES9x uses SDL and not the framebuffer. The framebuffer has access to hardware scaling and therefore can scale anything to any resolution. It adds a slight blur (some people don't like that).
Scaling to full heigth without using a hardware filter with blur looks damn ugly.

That's why it doesn't support that yet. Can be done though.
These are basically the same reply's I got when I asked about this a while ago. It looked fine on the PSP Screen (True the screen is only 480x272), I don't see why the option can't be there just because people think it looks ugly sometimes people don't care and just wish to see it fill the whole screen with black bars on the side.

I still do not understand why the emulators that run on the PSP can fill the top and bottom of it's screen without stretching the image as an option when it comes to emulators.
I used to think 800x480 4:3 meant what I'm trying to accomplish here but I guess not so I don't have any way to explain this.
 
Last edited by a moderator:

Prometheus

Well-Known Member
Joined
Mar 8, 2008
Messages
9,475
TylerAW said:
I still do not understand why the emulators that run on the PSP can fill the top and bottom of it's screen without stretching the image as an option when it comes to emulators.
Perhaps I am being dense here (and if I am, please pardon me :p), but given the number of vertical pixels of most SNES games, is part of the answer not this?

(True the screen is only 480x272)
 
Last edited by a moderator:

1magus

Member
Joined
Jun 29, 2007
Messages
462
Nupfi said:
So I would like to add the following: why is the current SNES "fullscreen mode" stretched, while Genesis/PicoDrive "fullscreen mode" looks so nice?
No why can Picodrive fill the top and bottom of the screen without stretching left to right and SNES can't?
 
Last edited by a moderator:

1magus

Member
Joined
Jun 29, 2007
Messages
462
Prometheus said:
TylerAW said:
I still do not understand why the emulators that run on the PSP can fill the top and bottom of it's screen without stretching the image as an option when it comes to emulators.
Perhaps I am being dense here (and if I am, please pardon me :p ), but given the number of vertical pixels of most SNES games, is part of the answer not this?

(True the screen is only 480x272)
Yes but lets look at it this way, when I run ZSnes on my PC I can select a resolution and have it keep the aspect ratio so it does not stretch to Widescreen or 16:10.
 
Last edited by a moderator:

sebt3

homebrew player (P. & C.)
Joined
Sep 9, 2008
Messages
4,805
Age
40
Location
France
Website
sebt3.openpandora.org
Let me more clear, it haven't been done because we need more work-force. Some are already hacking days&night. Yet these filters remain to be writen. The current snes emulator just posted he want to get patches for theses filters let me quote him :
Ivanovic said:
Some things that I would love to see added to the emulator that neither SiENcE nor I found the time to implement yet (patches are welcome/wanted! For the sources just give SiENcE or me a ping):
* Support for storing config settings (frameskip, scaler, ...) and automatically loading them upon restart.
* "Smoothed" scaling for the 3x2 mode. Pickle mentioned that there is some 2x3 mode already available in the scaling files he found and added, but we need 3x2, not 2x3...
* Add more filters in general. Possibly relying on the hardware filters the pandora does provide.
* ASM cores for anything. So far everything is still plain C-Cores and not likely to change until "someone else" has a look. I had a quick look if it would be possible to easily drop in the PocketSNES parts, but that one is too different to easily reuse it.


Changes in v20101111:
* Added Scale2x support for LoRes games. This is basically the "normal" mode with some slight smoothing, speed is close to "2x2 no-AA" mode. Thanks to Pickle for implementing this.
 
Last edited by a moderator:

WizardStan

Mega GP Mania
Joined
May 24, 2008
Messages
16,733
TylerAW said:
Yes but lets look at it this way, when I run ZSnes on my PC I can select a resolution and have it keep the aspect ratio so it does not stretch to Widescreen or 16:10.
You can do that on the Pandora as well. It integer scales to fill as much of the screen as possible, maintains the existing 1:1 aspect ratio, giving you black bars on either side. That was the very first mode, in fact. The widescreen was added later as a bonus, as I recall.
 
Last edited by a moderator:

1magus

Member
Joined
Jun 29, 2007
Messages
462
WizardStan said:
TylerAW said:
Yes but lets look at it this way, when I run ZSnes on my PC I can select a resolution and have it keep the aspect ratio so it does not stretch to Widescreen or 16:10.
You can do that on the Pandora as well. It integer scales to fill as much of the screen as possible, maintains the existing 1:1 aspect ratio, giving you black bars on either side. That was the very first mode, in fact. The widescreen was added later as a bonus, as I recall.
I have never seen this mode I see modes that keep the ratio but don't fill the screen all the way on the top and bottom, thats all I'm saying.
 
Last edited by a moderator:

WizardStan

Mega GP Mania
Joined
May 24, 2008
Messages
16,733
TylerAW said:
I have never seen this mode I see modes that keep the ratio but don't fill the screen all the way on the top and bottom, thats all I'm saying.
That's non integer scaling and requires interpolation. A PC with a resolution of 1024x768 must scale about 3.4 times: after scaling that 3 times, that .4 doesn't make a noticeable difference, and you can use a simple nearest neighbour scaling to keep the clean look. Bigger screens will have even less problem hiding the non-integer part.
The Pandora has an 800x480 screen so must scale about 2.1 times to fill the screen. After only scaling 2 times, that extra .1 is much more noticeable. It can't be easily done away with just using nearest neighbour, meaning you have to resort to a more complex filter which will cause some blur. Such a filter is more CPU intensive, and more difficult to write. A simple 2x scale was deemed close enough to the 2.1 scale for now, until such time as enough people requested non-linear scaling that it would be worth adding.
To compare, if you look at the PSP it has 1:1, which simply displays pixel for pixel, plus several "fit" modes which do this smoothing I mentioned earlier to achieve full screen. If you look at the 1:1, you'll notice the colours are distinct and all lines are sharp. In the "fit" modes, the colours are more smooth and the lines more blurred. That's the tradeoff when doing non-linear scaling. Some people like the look, others do not. The "do not"s currently outweigh the "do"s, so no one has implemented that kind of filter yet.
 
Last edited by a moderator:

1magus

Member
Joined
Jun 29, 2007
Messages
462
WizardStan said:
TylerAW said:
I have never seen this mode I see modes that keep the ratio but don't fill the screen all the way on the top and bottom, thats all I'm saying.
That's non integer scaling and requires interpolation. A PC with a resolution of 1024x768 must scale about 3.4 times: after scaling that 3 times, that .4 doesn't make a noticeable difference, and you can use a simple nearest neighbour scaling to keep the clean look. Bigger screens will have even less problem hiding the non-integer part.
The Pandora has an 800x480 screen so must scale about 2.1 times to fill the screen. After only scaling 2 times, that extra .1 is much more noticeable. It can't be easily done away with just using nearest neighbour, meaning you have to resort to a more complex filter which will cause some blur. Such a filter is more CPU intensive, and more difficult to write. A simple 2x scale was deemed close enough to the 2.1 scale for now, until such time as enough people requested non-linear scaling that it would be worth adding.
To compare, if you look at the PSP it has 1:1, which simply displays pixel for pixel, plus several "fit" modes which do this smoothing I mentioned earlier to achieve full screen. If you look at the 1:1, you'll notice the colours are distinct and all lines are sharp. In the "fit" modes, the colours are more smooth and the lines more blurred. That's the tradeoff when doing non-linear scaling. Some people like the look, others do not. The "do not"s currently outweigh the "do"s, so no one has implemented that kind of filter yet.
What happens during TV Out than? Is it 2x and not 2.1?
SO I guess my only option is to wait for a miracle or design something that goes on the top of the screen that is thin enough to block out the black screen on the top and the bottom, because this is going to drive me insane :(
 
Last edited by a moderator:

Prometheus

Well-Known Member
Joined
Mar 8, 2008
Messages
9,475
I wouldn't worry about it too much - by the time you receive your Pandora, this situation could have changed. :)
 
Top