Emulator developer byuu demonstrates how DerKoun's HD Mode 7 SNES emulation works



Earlier this year, we saw the release of a fork of the bsnes emulator, which thanks to the efforts of DerKoun, allowed for HD upscaling of Mode 7 assets in Super Nintendo games. A few months later, the ability to emulate SNES games in widescreen would also be added, along with supersampling modes that could go up to 10x the original resolution. Eventually, byuu, developer of bsnes, decided to officially incorporate these additions into future builds of his emulator, with further betas of the bsnes-hd emulator offering slight bugfixes and improvements. For many, these phrases and ideas can be a little hard to understand, so byuu has decided to upload a YouTube video demonstrating the changes and improvements that the HD Mode 7 feature adds, while also explaining what some of these terms mean, and do for the end user. If you're interested, you can check out the 9-minute video, linked above.

In this video I demonstrate the recent HD mode 7 functionality in bsnes, which is courtesy of DerKoun. While explaining the origin of the feature and how it works, I demonstrate the effect in real-time in Pilotwings, The Legend of Zelda: A Link to the Past, and Dragon Quest III. I then walk through an explanation of how to use the various HD mode 7 settings present in bsnes.

Official bsnes releases can be downloaded here: https://bsnes.byuu.org/
Nightly builds and source code can be downloaded here: https://github.com/byuu/bsnes
 

FateForWindows

Well-Known Member
Member
Joined
Feb 8, 2017
Messages
1,125
Trophies
0
Age
26
XP
1,783
Country
United States
Anyway, I can't see this being incredibly demanding for modern hardware. I mean, PS1 recommended hardware is a joke by todays standards even for an entry level PC or Laptop. ePSXe's Recommended specs are only 1GHz processor and 512Mb of RAM :rofl2: SEE HERE
Just because you can emulate one console with low system requirements like those doesn't mean that all emulators of an older console will run as well. ePSXe may be well optimized, but it's also extremely inaccurate and has lots of compatibility issues, which is the main reason why almost nobody uses it in 2019 compared to better ones like Mednafen/Beetle PSX, PCSX-R-PGXP, XEBRA, etc.
bsnes is one of the most accurate SNES emulators out there and pretty well optimized, but system requirements are still much higher and HD Mode 7 is still a relatively new thing that could receive some improvements on the performance end.
 
Last edited by FateForWindows,

momin

Well-Known Member
Member
Joined
Aug 31, 2008
Messages
129
Trophies
0
XP
632
Country
Could this be done on the game's content beforehand instead of at run time to save resources? (At some extend)

I think SNES games (most) can be ripped and put back together quite well nowadays ^^
 

AceX

Well-Known Member
Newcomer
Joined
Mar 18, 2019
Messages
97
Trophies
0
Age
33
XP
948
Country
United Kingdom
Is there a list of games it works with somewhere?
I tried it with a few and it did nothing, but it worked for Pilotwings, Mario Kart and F-Zero.
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
Holy shit, it's that demanding?

Now it makes me wonder how my i7-8700k would handle it...

--------------------- MERGED ---------------------------



I've seen enough hentai to know where this is going! XD

I shouldn't have to have a high end CPU to run an SNES emulator, I'll stick to others, thank you.
 

FateForWindows

Well-Known Member
Member
Joined
Feb 8, 2017
Messages
1,125
Trophies
0
Age
26
XP
1,783
Country
United States
I shouldn't have to have a high end CPU to run an SNES emulator, I'll stick to others, thank you.
You don't need a ridiculously high end CPU just to emulate games, any decent CPU will be fine. Hell, even the Pi 4 can run it pretty well. You'll only need a high end CPU if you want to crank up the HD Mode 7 resolution to high amounts. E.g. my laptop can only go up to 672p (3X) before slowdown kicks in.
 
D

Deleted User

Guest
Without HD mode 7, a Raspberry Pi 4 is fast enough to run bsnes.

At 1x, bsnes v110 can run at 500fps on a Ryzen 5 2600 CPU. As a point of comparison, Snes9X 1.60 runs at 900fps on my same Ryzen 5. Snes9X is the faster emulator, but it does not yet support HD mode 7. I have updated my code to be more generic, so perhaps that will change in the future.

A Galaxy 10 or iPhone 11 can run bsnes v110 with a 3x multiplier at 3x fullspeed. My Ryzen 5 can reach a 6x multiplier and still maintain fullspeed. 9x can run on an i9-9900K at over 100fps.

Any multiplier beyond 4x has rapidly diminishing effects as you've now exceeded the underlying 1024x1024 texture size. But it will still provide better anti-aliasing if you have the power to spare.

The system requirements depend upon the multiplier chosen (1x-9x).

The multiplier should be squared. 9x isn't "nine times the pixels", it's 81 times the pixels. 9x requires your CPU to perform more than four billion multiplications per second, and send over a gigabyte of data to your graphics card every second. bsnes is multi-threaded and HD mode 7 splits among your cores very well, so the more cores you have, the better.

mGBA does this effect on your graphics card, which means no overhead for HD scaling. bsnes cannot do this because the SNES video chipset is at least ten times as complicated as the GBA video chipset, making it extremely difficult to implement on a GPU. If someone does so, I will absolutely merge it into bsnes, but it is beyond my own abilities.
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
What makes you think that without even trying it?

Do you really think I can get max settings out of a Haswell Core i7 4770 non-K model? Sorry, but as much as it is, I care far more about emulation accuracy than something that's ultimately a gimmick. And I'll take Snes9x or Bsnes Performance over something that will drive my temp up to 85 C.
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,379
Trophies
4
Location
Space
XP
13,999
Country
Norway
Do you really think I can get max settings out of a Haswell Core i7 4770 non-K model? Sorry, but as much as it is, I care far more about emulation accuracy than something that's ultimately a gimmick. And I'll take Snes9x or Bsnes Performance over something that will drive my temp up to 85 C.
I don't think HD Mode 7 would make much of a difference. It's not like it's complex to render.
 
D

Deleted User

Guest
If Snes9X had HD mode 7 that went to 9x scale, it'd require an i9-9900K as well.

It's not at all fair to compare Snes9X's 256x240 mode 7 to bsnes' 3840x2160 mode 7.
At 256x240 as in Snes9X, you can run bsnes on a $20 Raspberry Pi or with very low temperatures.

But by all means if you don't want the feature discussed in the video, Snes9X is a perfectly great emulator and I'd encourage anyone to use it. These days Snes9X is really great with my APU core, blargg's DSP core, and the Snes9X's team's improvements to their CPU core.

A lot of people do like the feature, though. Half the gaming press (Ars Technica, Kotaku, etc) covered it, the videos on it received tens of thousands of views, and nearly every comment was positive. This isn't my feature and I'm not bragging about it, I'm joining others in praising DerKoun's excellent work on making HD mode 7 possible.
 
Last edited by ,

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
If Snes9X had HD mode 7 that went to 9x scale, it'd require an i9-9900K as well.

It's not at all fair to compare Snes9X's 256x240 mode 7 to bsnes' 3840x2160 mode 7.
At 256x240 as in Snes9X, you can run bsnes on a $20 Raspberry Pi or with very low temperatures.

But by all means if you don't want the feature discussed in the video, Snes9X is a perfectly great emulator and I'd encourage anyone to use it. These days Snes9X is really great with my APU core, blargg's DSP core, and the Snes9X's team's improvements to their CPU core.

A lot of people do like the feature, though. Half the gaming press (Ars Technica, Kotaku, etc) covered it, the videos on it received tens of thousands of views, and nearly every comment was positive. This isn't my feature and I'm not bragging about it, I'm joining others in praising DerKoun's excellent work on making HD mode 7 possible.

I need to apologize, my comment was completely out of line and unwarranted. I only said what I said because I don't have a lot of faith in an older Haswell CPU, which I got free via a hand me down. Can 16 GB or DDR3 SDRAM and a Core i7 4770 run the HD scaling a mid settings without worrying about too much stress on the CPU? I do want to give this a whirl, believe me, I just wanted to apologize for being a douche :sad::cry:
 
  • Like
Reactions: Deleted User

FateForWindows

Well-Known Member
Member
Joined
Feb 8, 2017
Messages
1,125
Trophies
0
Age
26
XP
1,783
Country
United States
I need to apologize, my comment was completely out of line and unwarranted. I only said what I said because I don't have a lot of faith in an older Haswell CPU, which I got free via a hand me down. Can 16 GB or DDR3 SDRAM and a Core i7 4770 run the HD scaling a mid settings without worrying about too much stress on the CPU? I do want to give this a whirl, believe me, I just wanted to apologize for being a douche :sad::cry:
It should be able to achieve at least 3X for sure, seeing as my weaker main laptop's CPU can handle it perfectly fine, and that thing stutters with chipless games in Higan.
 
Last edited by FateForWindows,
D

Deleted User

Guest
I need to apologize, my comment was completely out of line and unwarranted.

No worries, and thank you. Also, it was a very long time ago so you've probably forgotten, but just in case, my apologies for our first interaction back on my old forums. I was less friendly back then, and I don't think we've spoken since that time.

I still battle the "bsnes is too slow / difficult" stereotype that's plagued me since 2011, but I've made substantial efforts in the past year to change that, hence my reply.

But this is different from Higan, no?

bsnes can be configured to be higan with a user-friendly GUI, but in its default configuration, it's three times faster. I also wrote a third emulator, csnes, whose goal was to match the performance of Snes9X, and I did, but in the end I was unable to make an emulator that was both faster and more accurate than Snes9X, and I didn't see a point in further dilluting the SNES emulation scene with it.

The way I look at it now: higan <> Mesen-S <> bsnes <> Snes9X
The left is more accurate, the right is more performant. There is no right answer, and people should use whatever they like.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: Freedom* *(terms and conditions apply)