Latest version of bsnes emulator allows for "HD" Mode 7 upscaling

Discussion in 'GBAtemp & Scene News' started by Chary, Apr 18, 2019.

  1. genxor

    genxor Advanced Member

    Jan 14, 2006
    Pretty cool to see that people aren't out of ideas when it comes to tweaking emulation!

    If you think this is ever going to run on the snes classic or other emulators on consoles you will be disappointed lol
  2. granville

    granville GBAtemp Goat

    Aug 24, 2007
    United States
    Orlando, Florida
    I assume it's the accuracy core... I don't use bsnes normally and am not as familiar with it (snes9x is my go-to choice).

    I have a 4670k at 4ghz and tested a number of games for it. I set Mode7 to a scale of 4x resolution (960p in the BSNES options). Don't know how much less clock speed you could get away with, but my PC ran everything I threw at it full speed.

    The most intense scene I tested was the title screen for Yoshi's Island. It's one of the most demanding games on the SNES due to the SuperFX chip, and the title screen uses mode7.

    4x resolution runs full speed, though 5x resolution was a bit too much to reach it (54fps). I'm fine with 960p, I only have a 1080p display. Even 3x resolution (720p) is still incredibly sharp compared to native btw.

    I gather that Ryzen is roughly comparable to Haswell clock for clock. So a Ryzen clocked at or near 4ghz would likely get very similar results to my PC.

    Someone also made a request for this setting on the snes9x github page. A developer said it was possible (though difficult) and threw out an idea on how they might be able to do it-
    Last edited by granville, Apr 20, 2019
  3. the_randomizer

    the_randomizer The Temp's official fox whisperer

    GBAtemp Patron
    the_randomizer is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Apr 29, 2011
    United States
    Dr. Wahwee's castle
    I'd rather not Snes9x turn into Bsnes and become even more demanding than it already is, if they can do it without sacrificing speed, sure.
  4. granville

    granville GBAtemp Goat

    Aug 24, 2007
    United States
    Orlando, Florida
    It's an option, not a requirement. If you enable the setting, it's obviously going to require more speed. But that's no different than any other internal resolution scaling in other emulators (or all of the filters and shaders available). You don't have to use it at all, it's entirely optional and shouldn't make the emulator more demanding if you just keep it turned off.
  5. Robfozz

    Robfozz GBAtemp Smartass

    Apr 19, 2014
    United States
    Time to play Hyper Zone with this
  6. Lucifer666

    Lucifer666 all the world needs is me

    Apr 22, 2011
    United Kingdom
    The Fourth Dimension
    Can someone explain to me how this upscaling works? How does the emulator get the additional data (pixels)? Or, is it simply displaying the assets already contained in the ROM in a more intelligent manner than the NES and other emulators?

    EDIT: Never mind, yeah it's the latter. There's a nice explanation here.
    Last edited by Lucifer666, Apr 20, 2019
  7. Alex4nder001

    Alex4nder001 Part-time thug

    Jul 28, 2017
    United Kingdom
    This was already in zSNES by the way
  8. Vince989

    Vince989 Still lurking around, sometimes...

    Former Staff
    Oct 24, 2002
    Quebec, Canada
    Yes, it's not adding higher-resolution source images, but it makes them rendered much closer to the sources.

    It would be a video setting which wouldn't change anything unless you decide to turn it on.

    I remember "Hi-Res Mode-7" settings in ZSNES and/or Snes9x , but this goes way higher than those did (which was 2x I think)

    - Vince989
  9. TheMrIron2

    TheMrIron2 GBAtemp Regular

    Aug 5, 2017
    It seems people have touched on the explanation already but some people haven't understood it properly, so here's the gist in slightly more simple terms.

    The reason it looks so much better is because on the original SNES, the game was heavily restricted because it had to operate using 8x8 or 16x16 tiles to compose sprites, and sprites could be no bigger than 64x64 each. Combine that with the low resolution of 256x224 and the SNES often just didn't have enough pixels to work with to accurately produce the effect it wanted. When transforming pixels at such a low resolution, the end result can look deformed and/or messy.

    What bsnes is doing now is it's multiplying the resolution of the original sprites, not in an attempt to add detail or improve their quality but so that the emulator has far more pixels to sample. For example, one pixel in an 8x8 tile could become four at a higher resolution - no detail is added, but the result is that there are far more pixels involved now and this means they can be manipulated much more precisely.

    On top of that, programmers on SNES took shortcuts, sometimes liberally, to run their games at 60FPS (usually) so their calculations were often imprecise to save precious computation time on the ~3.5MHz CPU.
    The SNES also had limitations with integer math calculations, and the developer cites more aggressive averaging as an improvement. As a 16-bit machine, the SNES could only process integers from -32768 to 32767. ~65,000 might sound like a lot of numbers, but when doing some calculations problems can arise. bsnes allows for more precision than the SNES originally could provide.
    bsnes also fixes these calculations by giving them far more pixels to work with, so that even poor or inaccurate formulas get good results.

    Hope this makes it clearer for anyone confused. :D
    Last edited by TheMrIron2, Apr 22, 2019 - Reason: 16-bit
    Vince989 likes this.
  10. AnAlchemistReborn

    AnAlchemistReborn Member

    Nov 27, 2014
    United States
    What is the game shown in the screen shot of the OP?
  11. RowanDDR

    RowanDDR SNES Lover

    Apr 13, 2006
    ZSNES has had "hi res mode 7" option since 2004, no? Maybe more of a story is WHY its taken this long for other emus to catch up.

    Oh, I'm the 3rd person to say that in this thread. What can I say, the "search this thread" button is a bit hidden.
    Last edited by RowanDDR, Apr 22, 2019
  12. mushthepush

    mushthepush Newbie

    Apr 13, 2019
    United Kingdom
    Seems good. I've always used snes9x so it'll be interesting to give this a shot.
  13. HaloEffect17

    HaloEffect17 Splatoon Fan

    Jul 1, 2015
    How can I stay informed of updates so that when the 6th beta comes out, I'll be aware of it?