MathewWi / genplus-gx

Automatically exported from code.google.com/p/genplus-gx
Other
0 stars 1 forks source link

Game Gear maintain aspect ratio scaling #179

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I'm requesting an option that scales Game Gear games to fit the screen while 
maintaining the aspect ratio. 

Original issue reported on code.google.com by westonl...@gmail.com on 10 Aug 2011 at 6:42

GoogleCodeExporter commented 9 years ago
As described in the user manual, the options are already there:

In Video Settings, disable border emulation and set Aspect ratio to SCALED. 
With default scale value (0,0), it will make Game Gear games fit the screen 
while more or less maintaining aspect ratio (the Game gear LCD screen has 
approx. 4:3 dimensions)

Some quick calculations:
Full screen height being 224 lines (this is the default value when YSCALE = 0), 
the 160x144 Game Gear screen should be upscaled to 160 * 224/144 = 248 x 224. 
With default XSCALE value (0), width is 640 Wii pixels which represents 256 
Master System or Game Gear pixels, so 248 pixels equal 248*640/256 = 620 
pixels. With that in mind, setting XSCALE to (620-640)/2 = -10 should give you 
the exact original aspect ratio. 

Original comment by ekeeke31@gmail.com on 11 Aug 2011 at 8:20

GoogleCodeExporter commented 9 years ago
With both sets of settings I notice scaling artifacts in Sonic 2 (and all 
games).  Pixels appear and disappear in the ground texture when walking down a 
slope, for example.

Original comment by westonl...@gmail.com on 12 Aug 2011 at 12:06

GoogleCodeExporter commented 9 years ago
That's perfectly normal.

Artefacts are quite expected since the ratio between the original height (144 
lines) and the fullscreen one (224 or 448 lines) is not an even number, so when 
you are upscaling, filtering is needed to hide this kind of artefacts.

In short, turn BILINEAR FILTERING option ON and use INTERLACED or PROGRESSIVE 
display.

Original comment by ekeeke31@gmail.com on 12 Aug 2011 at 8:03

GoogleCodeExporter commented 9 years ago
I also see scaling artifacts in the Master System Sonic 2.  This game was 
designed to be fullscreen...

Original comment by westonl...@gmail.com on 16 Aug 2011 at 1:23

GoogleCodeExporter commented 9 years ago
Did you read my previous comment ? You get scaling artefacts because you are 
upscaling with a non-integer ratio. If you don't want scaling artefacts, use 
the default ORIGINAL settings or enable filtering. Is that so complicated to 
understand ?

And NO master system games were ever designed to be fullscreen, I wonder why 
people constantly brag about this (maybe it's memory playing tricks or they 
never have played a real master system on TV before ?) This makes no sense, 
really, vertical resolution for ALL master system games is 192 lines, while 
full screen is approx. 224 lines for NTSC (~268 lines for PAL), which is why 
you got vertical borders on all TV when playing Master System. 

There are no magical stretching on TV and the ORIGINAL aspect ratio is called 
like this for a good reason, because it is the way those games were displayed 
and therefore "designed". If for an odd reason, you prefer games to look 
stretched, then you have to use filtering. Is that clear now ?

Original comment by ekeeke31@gmail.com on 16 Aug 2011 at 8:54

GoogleCodeExporter commented 9 years ago
Thank you for taking the time to explain.  You really know your stuff. ;)

I use ORIGINAL, ALL BORDERS, and DEFAULT 4:3, and Sonic 2 Master System looks 
"widescreen" with vertical borders, as it should, but I still see scaling 
artifacts.  Is this normal?

Original comment by westonl...@gmail.com on 16 Aug 2011 at 12:40

GoogleCodeExporter commented 9 years ago
No, it isn't and it doesn't happen for me but I think I know what cause the 
issue for you : do you have a PAL or NTSC Wii ? What is the TV Mode option set 
to ? 60HZ or 50/60Hz ?

Original comment by ekeeke31@gmail.com on 16 Aug 2011 at 1:05

GoogleCodeExporter commented 9 years ago
NTSC 60Hz.

Original comment by westonl...@gmail.com on 16 Aug 2011 at 1:18

GoogleCodeExporter commented 9 years ago
Ok.

What happens is that Sonic 2 is a PAL game (and as far as I know, never was 
released in the US). There are indeed some glitches when playing it on a NTSC 
system so the emulator automatically detects it and switch to PAL mode when 
loaded.

The problem is that IF your console is a NTSC one, the emulator will assume 
that your TV does not support 50hz to be safe, and will be configured to always 
output in 60hz. This is what explains the scaling artefacts issues, because the 
emulator needs to do some scaling to keep the original PAL aspect ratio while 
outputing in NTSC. In that specific case, filtering is also required because 
you are basically trying to mimic PAL output on a NTSC system (i.e larger 
vertical borders).

Now, if your TV supports both 50Hz and 60hz, you can change that by setting the 
TV Mode option to 50/60hz (which is automatically done on PAL Wii since they 
support both output) so it automatically matches the emulator mode and you 
won't have artefacts anymore while having the original PAL aspect ratio. This 
is actually the most accurate solution and the one to choose if you know your 
TV supports 50hz video signals.

Another solution is to force the emulated region to USA in SYSTEM OPTIONS but 
keep in mind that this particular game is known to have glitches on NTSC 
systems because of timing differences and the emulator is accurate enough to 
reproduce that. For this reason, it is not advised to do that.

Finally, you can leave the region setting to AUTO (thus still emulating PAL 
timings) and TV Mode to 60Hz (thus outputing NTSC signal) but set the Aspect 
Ratio to SCALED and modify the vertical scale value so that the output matches 
original height and litteraly disable any vertical scaling, thus reproducing 
aspect ratio of a NTSC master system. A value of -24 should be correct and 
remove any artefacts by the same way.

Original comment by ekeeke31@gmail.com on 16 Aug 2011 at 1:36

GoogleCodeExporter commented 9 years ago
I wonder whether the Virtual Console NTSC release scales or fixes the 
resolution.  Thank you.  I'll try this when I get home. 

Original comment by westonl...@gmail.com on 16 Aug 2011 at 7:56

GoogleCodeExporter commented 9 years ago
That's an interesting question.

According to this forum:

http://forums.sonicretro.org/index.php?showtopic=16550&view=findpost&p=330081

Sonic 2 VC release uses the known [V1] PAL dump but also includes a ROM patch 
that is applied by the emulator so maybe it was fixed in order to run at 60hz.

What is sure is that it displays NTSC aspect ratio and runs at 60hz, so no 
scaling.

Original comment by ekeeke31@gmail.com on 16 Aug 2011 at 9:14