Emulation New scaling method for emulation?

Oskar.Dandy

Active Member
OP
Newcomer
Joined
Feb 4, 2015
Messages
31
Trophies
0
XP
227
Country
Australia
The DS's screen resolution of 256x192 is lower than many of the systems emulated on the DS. The Super Nintendo for instance has a 16.67% taller resolution than the DS of 256x224, which traditionally leads us to two methods of displaying a SNES image on a DS: Scaling (left), and Cropping (right).
Scaling to DS.png

Neither solution is ideal as the scaling results in garbled pixels and cropping results in important information being obfuscated. So, what can we do instead? Let's consider the raw SNES image:
RAW SNES.png
Let's crop this.png

For most SNES games, there's definitely information we can afford to obfuscate, so here I've chosen to crop away the top 4 pixels and the bottom 9 pixels. This results in a vertical resolution 211px, which we could then scale down to 192px...

211px to 192px.png

This doesn't look half bad as it's only a 9% downscale, but we can do better by selectively scaling. In most games, your eyes will focus on two things: (1) The centre half of the screen, and (2) the HUD on the top. This means there is a 27px tall area and a 106px tall area which we can preserve, and then your eyes will easily ignore any scaling in the rest of the screen.

Preserve these.png

So, I propose scaling the bottom 52px down to 45px, and then gradually scaling the 26px tall region inbetween the HUD and the centre into 14px. I stress the importance of not shrinking the entire 26px by a whopping 46% as this would squish the region too much; rather, of this 26px, shrink the bottom 13px into 8px and the top 13px into 6px.

Scaling breakdown.png

Super Metroid Scaling very nice.png

I think the results look very nice! This method preserves all of the important information whilst minimalising the effects of scaling.

Here is a comparison of all the different scaling methods, so I'd like to hear which you think looks best:

Scaling methods.png


I'm not a coder. I'm just proposing a solution.
 
Last edited by Oskar.Dandy,
  • Like
Reactions: RetrogamingAddict

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,377
Country
United Kingdom
Flashbacks of my old TV that attempted something similar to generate widescreen -- arms reaching across the screen or from the side of it were quite freaky.

I would probably suggest a version of what one of the megadrive emulators used to do on the DS and allow you to move the screen or do it automatically in response to controls (if you were moving left you probably wanted to see that side anyway).
All those methods showcased are fine if you are editing a video (or indeed not fine but better than letterboxing) but for real time on a console that is both using tile size and already running close to the limit to even attempt most emulation efforts in the 16 bit world (there is a reason most special chip games don't work) it is a rather more tricky prospect.
 

Oskar.Dandy

Active Member
OP
Newcomer
Joined
Feb 4, 2015
Messages
31
Trophies
0
XP
227
Country
Australia
but for real time on a console that is both using tile size and already running close to the limit to even attempt most emulation efforts in the 16 bit world (there is a reason most special chip games don't work) it is a rather more tricky prospect.
These emulators already do scaling, so excluding certain scanlines from the scaling should be computationally cheaper since you're not manipulating the entire framebuffer
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • SylverReZ @ SylverReZ:
    @mthrnite, Cheetah Girls, the sequel to Action 52's Cheetah Men.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Pokemon Black I played that one a lot
  • K3Nv2 @ K3Nv2:
    Honestly never messed with Pokémon on ds much
  • mthrnite @ mthrnite:
    I played pokemon once, was bored, never tried again
  • Psionic Roshambo @ Psionic Roshambo:
    Oh Dragon Quest IX
  • K3Nv2 @ K3Nv2:
    Spent like 5 hours on switch one never touched it again
  • Psionic Roshambo @ Psionic Roshambo:
    Sentinel of the stary skies
  • K3Nv2 @ K3Nv2:
    Ds is 20 years old this year
  • Psionic Roshambo @ Psionic Roshambo:
    So MJ no longer wants to play with it?
  • K3Nv2 @ K3Nv2:
    He put it down when the 3ds came out
  • SylverReZ @ SylverReZ:
    @K3Nv2, RIP Felix does great videos on the PS3 yellow-light-of-death.
  • Jayro @ Jayro:
    Eventhough the New 3DS XL is more powerful, I still feel like the DS Lite was a more polished system. It's a real shame that it never got an XL variant keeping the GBA slot. You'd have to go on AliExpress and buy an ML shell to give a DS phat the unofficial "DS Lite" treatment, and that's the best we'll ever get I'm afraid.
    +1
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
    Veho @ Veho: