0 users browsing Emulation. | 1 guest  
Main » Emulation » bsnes v107 released
Pages: 1
Posted on 19-02-22, 06:41
Full mod

Post: #128 of 408
Since: 10-30-18

Last post: 8 days
Last view: 6 hours
The release announcement and changelog is on the front page of byuu's site, but the permanent download link is on the official bsnes page.

Posted by "Change log"
Today I am posting the first release of the new bsnes emulator.

bsnes is designed to be a revival of the classic bsnes design, focusing specifically on performance and ease of use for SNES emulation.

In addition to all of the features of higan, bsnes supports the following features:

300% faster (than higan) scanline-based, multi-threaded graphics renderer
option to disable sprite limits in games
option to enable hires mode 7 graphics
option to enable more accurate pixel-based graphics renderer
option to overclock SuperFX games by up to 800%
periodic auto-saving of game save RAM
save state manager with state screenshots
several new save state hotkeys such as increment/decrement slot#
option to auto-save states when unloading a game or closing the emulator
option to auto-load aforementioned states when loading games
save state undo and redo support (with associated hotkeys)
speed override modes (50%, 75%, 100%, 150%, 200%)
recent games list
frame advance mode
screenshot hotkey
path selection for games, patches, saves, cheats, states, and screenshots
dynamic video, audio, input driver changes
direct loading and playing of games without the use of the higan library
ZIP archive and multiple file extension support for games
firmware folder for unappended coprocessor firmware (see documentation for more)
compatibility with sd2snes and Snes9X MSU1 game file naming
compatibility with higan gamepaks (game folders)
soft-patching support for both BPS and IPS patches
menubar that does not pause emulation when entered
video pixel shaders (requires OpenGL 3.2)
built-in game database with over 1,200 games to ensure perfect memory mapping
(Linux, BSD only:) audio dynamic rate control to eliminate stuttering
and much more!

The one feature I regret not being able to support in this release is Windows dynamic rate control. I put in my best attempt, but XAudio2's API is simply not fine-grained enough, and the WASAPI driver is not mature enough. I hope that DRC support can be added to the Windows port in the near future, and I would like to offer a large cash bounty to anyone who can help me make this happen.


The ending of the words is ALMSIVI.
Posted on 19-02-22, 06:57
Full mod

Post: #129 of 408
Since: 10-30-18

Last post: 8 days
Last view: 6 hours
Because this isn't an official higan release, I've pushed it to a separate branch of the git repo. I don't expect any further releases in the v107 family, but if there are any, I'll put them also on the branch.

For technical reasons the higan documentation site *does* provide docs for "higan v107" but that's for the hypothetical version of higan one might get by building higan from the bsnes source tarball. Most of it's not very relevant for bsnes, because the UI is quite different, but where the changelog says "firmware folder for unappended coprocessor firmware (see documentation for more)" you probably want to look at the "games with co-processor firmware" section of the higan v107 docs.

The ending of the words is ALMSIVI.
Posted on 19-02-22, 19:38 (revision 1)
Post: #1 of 4
Since: 11-29-18

Last post: 298 days
Last view: 264 days
Excellent! Gave it a little run-through, and looks really nice and polished. :)


Unless I'm missing something, there's not way to do full screen, is there? I know that process was surprisingly hacky in the past. Just wanted to confirm.

[Edit] It's F11, duh. Never mind. :)
Posted on 19-02-23, 01:54

Post: #58 of 161
Since: 10-29-18

Last post: 67 days
Last view: 12 days
Once again: amazing. Truly.

bsnes .107 has been a long time in the making and the (non-exhaustive) change list really shows this. So congrats on this major release ^_^
Posted on 19-02-27, 10:09 (revision 2)

Post: #1 of 9
Since: 02-27-19

Last post: 443 days
Last view: 330 days
I wonder whether it’s going to support HiDPI after 5 years of the 4K era. This is how it currently looks by default in Windows 10 at OS-level zoom of 200% (note pixelization; Windows 7 uses blur instead of pixelization):



This is how it looks with HiDPI mode forced (DPI-scaling disabled) via executable-file properties (note the Settings window and its contents are small and buggy-rendered):



And this is how it should look like with proper HiDPI support (simulated with the slow and buggy “System (Enhanced)” DPI mode via executable-file properties — this mode is not actually a solution, just a better-than-nothing workaround for hopeless outdated software that bsnes and higan are hopefully not):



Consider font size in the window titlebar as the reference size to figure out how it looks in reality.

Same applies to higan.
Posted on 19-02-27, 10:19 (revision 1)

Post: #2 of 9
Since: 02-27-19

Last post: 443 days
Last view: 330 days
And can’t find a way to disable scaling blur and enable integer-ratio scaling (called “Integral scaling” in higan). Regression?..

This is how it looks in bsnes:



This is how it looks in higan with “Integral scaling” enabled and all blur options disabled:

Posted on 19-02-27, 10:26
Full mod

Post: #134 of 408
Since: 10-30-18

Last post: 8 days
Last view: 6 hours
> I wonder whether it’s going to support HiDPI after 5 years of the 4K era.

You're in luck, byuu spent the past couple of days wrestling with Windows' HiDPI APIs to get things working. It won't be in v107, but it should be ready for v108 whenever that arrives.

The ending of the words is ALMSIVI.
Posted on 19-02-27, 10:39

Post: #3 of 9
Since: 02-27-19

Last post: 443 days
Last view: 330 days
Posted by Screwtape
byuu spent the past couple of days wrestling with Windows' HiDPI APIs to get things working.
Cool, thanks.
Posted on 19-02-27, 13:47
Burned-out Genius Developer
Post: #16 of 48
Since: 10-30-18

Last post: 314 days
Last view: 3 days
The reason it took this long is because I didn't have a 4K monitor until very recently.

I now own a really, really, really bad, low-quality one that manages 144dpi (150%.) Good enough I guess.

To get rid of the blur in bsnes, choose Settings->Video Shader->None, and don't use the DirectDraw driver because that one lacks the ability to control the magnification filter. I just confirmed it works here.

HiDPI in bsnes, well ... the core is undergoing a very large rewrite, and I will need to shift focus away to other things for a while, so v108 is a very distant thing. If bsnes v107 were to catch on, and there's significant demand for HiDPI, then I can backport it to a v107.1 or something release.

In the mean time, I didn't notice any performance penalty from using "System (Enhanced)" mode with bsnes here. A few text labels clipped a bit, but it was entirely usable.
Posted on 19-02-28, 08:22 (revision 6)

Post: #4 of 9
Since: 02-27-19

Last post: 443 days
Last view: 330 days
Posted by byuu
The reason it took this long is because I didn't have a 4K monitor until very recently.
Sounds familiar. Didn’t care about HiDPI on my sites too until bought a 4K monitor Dell P2415Q 4 years ago.

Posted by byuu
To get rid of the blur in bsnes, choose Settings->Video Shader->None
Thanks, better than nothing, but Afaict, it just switches to Nearest Neighbour, not to integer-ratio scaling (called integral scaling in higan). Pure Nearest Neighbour leads to distortion due to pixels of different size at fractional scaling ratios.

Posted by byuu
HiDPI in bsnes, well ... the core is undergoing a very large rewrite, and I will need to shift focus away to other things for a while, so v108 is a very distant thing. If bsnes v107 were to catch on, and there's significant demand for HiDPI, then I can backport it to a v107.1 or something release.
Well, I demand this for 4 years already. :-)

Posted by byuu
In the mean time, I didn't notice any performance penalty from using "System (Enhanced)" mode with bsnes here. A few text labels clipped a bit, but it was entirely usable.
I would still prefer to use it in regular DPI-aware-forced mode since I previously experienced heavy slowdown and graphics glitches with some VST instruments in the “System (Enhanced)” mode. So my current usage scenario would be this: first tweak the emulator settings at the default DPI settings (pixelated at integer ratios and blurry at fractional ratios in Windows 10 and always blurry in Windows 7), then switch to forced DPI-awareness for playing.

Unfortunately I noticed some serious periodical jerkiness (stuttering) in the “Donkey Kong Country” (US, rev.2) (the only tested so far) game (e.g. in the very first level) compared with higan v106 — this looks like this: smooth and jerky performance are following each other each several seconds — maybe not time-related, but bound to some specific parts of the game level, not sure. So with this issue and missing integral scaling, I would probably still prefer higan in general for now, though such bsnes features as Zip archives loadable directly are nice.

Though looks like neither keyboard nor gamepad work in higan again (though work when mapping keys in the settings window), and neither removing settings.bml nor switching the Advanced/Input dropdown help. :-(
Posted on 19-02-28, 21:20 (revision 1)

Post: #46 of 163
Since: 10-30-18

Last post: 14 days
Last view: 10 hours
Posted by MT

Pure Nearest Neighbour leads to distortion due to pixels of different size at fractional scaling ratios.

Sounds like you need the sharp-bilinear filter. Get the shader pack at https://github.com/hizzlekizzle/quark-shaders and extract all the .shader files into your user's AppData\Local\bsnes\shaders directory, which you need to create. Load up bsnes and select sharp-bilinear from the Settings->Shader menu, and voilà! It's pixelated, but no aliasing artifacts.
Posted on 19-02-28, 22:45
Stirrer of Shit
Post: #48 of 717
Since: 01-26-19

Last post: 166 days
Last view: 164 days
Posted by BearOso
Posted by MT

Pure Nearest Neighbour leads to distortion due to pixels of different size at fractional scaling ratios.

Sounds like you need the sharp-bilinear filter. Get the shader pack at https://github.com/hizzlekizzle/quark-shaders and extract all the .shader files into your user's AppData\Local\bsnes\shaders directory, which you need to create. Load up bsnes and select sharp-bilinear from the Settings->Shader menu, and voil� ! It's pixelated, but no aliasing artifacts.

If I understand the source code correctly, it still has some artifacts since some lines will be sharper than others. (e.g. scale to nearest integer multiple, then the last mile with bilinear)

There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
Posted on 19-02-28, 23:15

Post: #47 of 163
Since: 10-30-18

Last post: 14 days
Last view: 10 hours
Posted by sureanem
If I understand the source code correctly, it still has some artifacts since some lines will be sharper than others. (e.g. scale to nearest integer multiple, then the last mile with bilinear)

In practice, because the scaling ratio is so high, especially on a 4k monitor, you don't notice that. There's a couple other options in that shader pack that do something similar with different methods that change this up, AANN and Pixellate. Smoothstep and Quilez filters aren't available in that pack, but they will give you the complete uniformity you want, as they're more alike to band-limited sampling. They won't be as sharp, though.
Posted on 19-03-07, 18:33 (revision 6)

Post: #5 of 9
Since: 02-27-19

Last post: 443 days
Last view: 330 days
Posted by BearOso
Sounds like you need the sharp-bilinear filter.
Thanks, interesting option potentially useful in some scenarios. However I personally prefer to be sure scaling is actually pixel-perfect, not just that resulting image looks pixelated enough.

My point here is different though:

the new bsnes v107 lacks the important feature higan already has since the version 104 (2017-08-12) — it’s called “Integral scaling” in higan settings:

Settings → Video → Windowed Mode / Fullscreen Mode → Integral scaling.

Update: Incidentally reading the current higan docs (apparently related to the new unreleased-yet higan version that is going to feature a revamped user interface), I figured out that the integral scaling is now apparently used by default in the “Center” mode instead of the forced 1x scale. Same applies to bsnes v107+.
Posted on 19-03-07, 21:35 (revision 4)

Post: #8 of 9
Since: 02-27-19

Last post: 443 days
Last view: 330 days
Posted by byuu
In the mean time, I didn't notice any performance penalty from using "System (Enhanced)" mode with bsnes here. A few text labels clipped a bit, but it was entirely usable.
Forgot to mention the crucial difference between the “System (Enhanced)” workaround and the true DPI-aware mode:

with the workaround, the application actually works at a virtual resolution proportionally smaller with OS-level zoom. So e.g. on a 4K monitor at 200% zoom in Windows, the app works as if the monitor resolution was Full HD.

When using integer-ratio scaling (“Integral scaling” in higan v104+ and “Center” in bsnes/higan v107+), non-DPI-aware modes potentially lead to wasting screen space due to thicker black borders around the image than they could be in the true DPI-aware mode. Aspect-ratio correction may also be less precise.

For example, in bsnes v107 with the “Center” output mode, on a 4K monitor in both the default non-DPI-aware mode and the “System (Enhanced)” mode, the ratio is 8 and the black bars above and below the image are 184+184 physical pixels.

In the true DPI-aware mode, the ratio is 9, and the black bars above and below the image are 72+72 physical pixels. So the lost space is 2.5 times smaller.

Also, the pixel-size fluctuation during aspect-ratio correction is much more significant in non-DPI-aware modes (8×8–8×10 — 25%) than with true DPI-awareness (9×10–9×11 — 10%).
Pages: 1
Main » Emulation » bsnes v107 released
you need to wake up michael