Bsnes

From Emulation General Wiki
Jump to navigation Jump to search
bsnes
Bsnes.png
Bsnes screenshot.png
Developer(s) Near (formerly known as byuu), contributors
Latest version v115 [+]
Active Yes
Platform(s) Windows
Linux
macOS
OpenBSD
FreeBSD
Emulates SNES
Compatibility 100%
Accuracy High
Website bsnes.dev
Programmed in C++
License GNU GPL v3
Source code GitHub

bsnes is an open-source Super Nintendo Entertainment System (Super Famicom) emulator. It is also available as a Libretro core for RetroArch.

Download

Windows Stable builds

Windows Linux macOS FreeBSD Nightly builds
Windows Linux macOS FreeBSD Nightly builds #2

Windows Linux macOS FreeBSD
Android Switch Xbox One Xbox Series X/S
RetroArch builds

Overview

bsnes is a subset project of higan, and focuses on performance, features, and ease of use. It returns to the Qt GUI that it abandoned before its merger with higan and has a much faster multi-threaded PPU renderer, giving it the performance of the old bsnes-balanced core while retaining the accuracy of the bsnes-accurate core. It was originally developed by Near (formerly known as byuu) and is now maintained by the community. It is available under the GNU GPL version 3 or later.

List of forks

Name Platform(s) Latest Version libretro Active Recommended
PC / x86
bsnes-hd
bsnes_hd_beta_libretro
Windows Linux macOS FreeBSD libretro core
beta 10.6
~
bsnes-mt Windows 1.3.4 ~ ~
bsnes-mercury Windows Linux macOS FreeBSD 0.94
bsnes-classic
forked bsnes Qt v073
Windows Linux macOS FreeBSD git

Comparisons

bsnes-hd

A newer fork of bsnes, first released in 2019 by DerKoun, that adds HD video features, such as:

  • HD Mode 7 – Rendering the rotated, scaled or pseudo perspective backgrounds at higher resolutions. This does not involve new custom imagery or upscaling algorithms. It is a higher resolution version of the process the SNES uses.
  • Widescreen – Extending the scenes to the left and right, without distorting them. Works for most Mode 7 scenes, but also for some other scenes/games, after some setting tweaking.
  • Some non-HD related features – Like the ability to disable background layers, sprites and window effects for screenshots for wallpapers or soft crop to zoom in, leaving maps or static art off the sides of the screen.

Some of the features of this fork are or will be included in official bsnes. The difference is that official bsnes only has slight visual improvements but with mostly perfect compatibility. bsnes-hd has more hacks that give true HD in mode 7 SNES games and widescreen in other games.

bsnes-mt

Has the following improvements over regular bsnes:

  • Pixel-perfect integer-ratio scaling both vertically and horizontally.
  • Precise aspect ratio of 4:3 instead of 64:49 with correction enabled, in the “Center” and “Scale” modes.
  • Saving screenshots in the compressed PNG format instead of uncompressed BMP.
  • Drivers are not reset after crashes, a command-line option is provided for explicit reset.
  • Better default settings: VSync, exclusive full-screen mode, blur disabled.
  • Built-in hotkeys for full-screen and pseudo-full-screen modes, opening a game; Alt+F4 works in full-screen mode.
  • Improved usability, bug fixes, and more.
bsnes-mercury

This fork aims to restore functionality like HLE DSP chip emulation and SGB emulation using Gambatte that was removed in later versions of bsnes, as well as to have some optimizations that don't affect emulation accuracy. It also has an option to overclock SuperFX. Default options make it exactly the same as regular bsnes, with LLE DSP chip emulation enabled. This fork is only available as a libretro core, though it is possible to build it with Ethos (byuu's frontend) instead.

This fork is developed by Alcaro, who developed ZMZ and is also developing his own libretro frontend, minir.

bsnes-classic

A fork of bsnes v073 that aimed to backport emulation improvements from more current versions of higan while keeping the features of the older version's Qt GUI.

Other forks

  • BizHawk: bsnes v087 fork with added TAS features. Multi-system. Used for tool-assisted speedruns and has a debugger.
  • bsnes macOS: bsnes v068 fork for macOS. Discontinued.
  • bsnes-Qt: bsnes v073 fork to maintain Qt GUI.
  • bsnes-sx2: bsnes fork with added Satellaview features. Discontinued. Merged with bsnes-plus.
  • bsnes-plus: bsnes-classic fork with added superior debugging features.
  • bsnes-cplusplus98: bsnes v085 port to C++98. For Win9x-compatible RetroArch versions.
  • bsnes-gilgamesh: bsnes-mercury fork with added SQL database for CPU instructions.
  • bsnes-hle: bsnes fork with HLE regressions.
  • bsnes-libretro: higan v094 fork for RetroArch.
  • bsnes-mcfly: higan v106 fork with the Qt GUI from bsnes v073.
  • bsnes-rr: bsnes fork with re-recording features.
  • defimulator: bsnes v074 fork.
  • higan-qq: higan v094 fork.
  • lsnes: bsnes fork with added TAS features.
  • OpenEmu/BSNES-Core: bsnes v089 fork for macOS.
  • SnesBox: bsnes port to C#.
  • xSnes: higan v094 fork to remove non-SNES systems.

Discontinued forks: honou, IronSNES, SSNES (which became RetroArch). Mednafen has a bsnes v059 fork as its SNES core.

See also

External links