Difference between revisions of "Bsnes"

From Emulation General Wiki
Jump to navigation Jump to search
m (Added that it's got a libretro core)
(26 intermediate revisions by 6 users not shown)
Line 2: Line 2:
 
|title        = bsnes
 
|title        = bsnes
 
|logo          = bsnes.png
 
|logo          = bsnes.png
|logowidth    = 400
+
|logowidth    = 267
|developer    = Near <small>(formelly known as byuu)</small>
+
|developer    = [[Near]] <small>(formerly known as byuu)</small>, [https://github.com/bsnes-emu/bsnes/blob/master/CREDITS.md contributors]
 
|version      = {{bsnesVer}}
 
|version      = {{bsnesVer}}
 
|active        = Yes
 
|active        = Yes
 
|platform      = Windows, macOS, Linux, OpenBSD, FreeBSD, [[libretro]]
 
|platform      = Windows, macOS, Linux, OpenBSD, FreeBSD, [[libretro]]
 
|architecture  =  
 
|architecture  =  
|target        = [[Super Nintendo emulators|Super Nintendo Entertainment System (Super Famicom)]]
+
|target        = [[Super Nintendo emulators|SNES]]
 
|compatibility = 100%
 
|compatibility = 100%
 
|accuracy      = Cycle
 
|accuracy      = Cycle
 
|website      = [https://byuu.org/bsnes byuu.org/bsnes]
 
|website      = [https://byuu.org/bsnes byuu.org/bsnes]
 
|prog-lang    = C++
 
|prog-lang    = C++
|support      = [https://www.patreon.com/byuu Patreon]
 
 
|license      = GNU GPL v3
 
|license      = GNU GPL v3
|source        = [https://github.com/byuu/bsnes GitHub]
+
|source        = [https://github.com/bsnes-emu/bsnes GitHub]
 
}}
 
}}
{{WIP}}
+
'''bsnes''' is an open-source [[Super Nintendo emulators|Super Nintendo Entertainment System (Super Famicom)]] emulator. It is also available as a [[Libretro]] core for [[RetroArch]].
'''bsnes''' is an open-source [[Super Nintendo emulators|Super Nintendo Entertainment System (Super Famicom)]] emulator.
+
 
  
 
==Download==
 
==Download==
 
{| cellpadding="4"
 
{| cellpadding="4"
 +
|-
 +
|align=center|{{Icon|Win}}
 +
|'''[https://github.com/bsnes-emu/bsnes/releases Stable builds]'''<br/>
 +
|}
 +
{| cellpadding="4"
 +
|colspan=3|<hr>
 
|-
 
|-
 
|align=center|{{Icon|Win|Lin|Mac|BSD}}
 
|align=center|{{Icon|Win|Lin|Mac|BSD}}
|[https://byuu.org/bsnes Latest builds]<br/><small>Stable and dev builds</small>
+
|'''[https://cirrus-ci.com/github/bsnes-emu/bsnes/master Nightly builds]'''<br/>
 
|}
 
|}
 +
==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), but since his retirement in March 2020, it is now maintained by the community. It is available under the GNU GPL version 3 or later.
  
 
==List of forks==
 
==List of forks==
Line 32: Line 39:
 
! scope="col"|Platform(s)  
 
! scope="col"|Platform(s)  
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
 +
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|Active
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
Line 37: Line 45:
 
!colspan="8"|PC / x86
 
!colspan="8"|PC / x86
 
|-
 
|-
|bsnes-hd
+
|[https://github.com/DerKoun/bsnes-hd bsnes-hd]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[https://github.com/DerKoun/bsnes-hd/releases {{bsnes-hdVer}}]
 +
|{{✓}} ||{{✗}} ||{{✓}}
 +
|-
 +
|[https://tanalin.com/en/projects/bsnes-mt/ bsnes-mt]
 +
|align=left|{{Icon|Windows}}
 +
|[https://github.com/Marat-Tanalin/bsnes-mt/releases {{bsnes-mtVer}}]
 +
|{{✗}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[https://github.com/libretro/bsnes-mercury bsnes-mercury]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|0.94
 +
|{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[https://github.com/awjackson/bsnes-classic bsnes-classic]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://github.com/DerKoun/bsnes-hd/releases beta 10.2]
+
|[https://github.com/awjackson/bsnes-classic Git]
|{{}}
+
|{{}} ||{{✗}} ||{{}}
|{{}}
 
 
|}
 
|}
  
 
===Comparisons===
 
===Comparisons===
;bsnes-hd:A newer fork of bsnes (released in 2019 by DerKoun) that adds HD video features, such as:
+
;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.
 
* ''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.
 
* ''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.
Line 51: Line 74:
  
 
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.
 
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 [[ZSNES#ZMZ|ZMZ]] and is also developing his own [[libretro]] frontend, [https://github.com/Alcaro/minir 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.
 +
* [http://www.bannister.org/software/bsnes.htm bsnes macOS]: bsnes v068 fork for macOS. Discontinued.
 +
* [https://github.com/Themaister/bsnes-Qt bsnes-Qt]: bsnes v073 fork to maintain Qt GUI.
 +
* [https://github.com/LuigiBlood/bsnes-sx2 bsnes-sx2]: bsnes fork with added Satellaview features. Discontinued. Merged with bsnes-plus.
 +
* [https://github.com/devinacker/bsnes-plus bsnes-plus]: bsnes-classic fork with added superior debugging features.
 +
* [https://github.com/libretro/bsnes-libretro-cplusplus98 bsnes-cplusplus98]: bsnes v085 port to C++98. For Win9x-compatible [[RetroArch]] versions.
 +
* [https://github.com/AndreaOrru/bsnes-gilgamesh bsnes-gilgamesh]: bsnes-mercury fork with added SQL database for CPU instructions.
 +
* bsnes-hle: bsnes fork with HLE regressions.
 +
* [https://github.com/libretro/bsnes-libretro bsnes-libretro]: higan v094 fork for [[RetroArch]].
 +
* [https://gitlab.com/hex-usr/bsnes-mcfly bsnes-mcfly]: higan v106 fork with the Qt GUI from bsnes v073.
 +
* bsnes-rr: bsnes fork with re-recording features.
 +
* [https://github.com/grim210/defimulator/tree/master/defimulator defimulator]: bsnes v074 fork.
 +
* [https://github.com/quequotion/higan-qq higan-qq]: higan v094 fork.
 +
* [http://repo.or.cz/w/lsnes.git lsnes]: bsnes fork with added TAS features.
 +
* [https://github.com/OpenEmu/BSNES-Core OpenEmu/BSNES-Core]: bsnes v089 fork for macOS.
 +
* [https://github.com/bozalina/snesbox SnesBox]: bsnes port to C#.
 +
* [https://github.com/juliangoracke/xSnes-Diverted-from-Higan-094 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==
 +
* [[higan]] - Near's [[multi-system emulators|multi-system emulator]].
 +
* [[byuu (emulator)|byuu]] - Near's other [[multi-system emulators|multi-system emulator]].
 +
 +
==External links==
 +
* [https://github.com/byuu/bsnes byuu's GitHub] - The old archived GitHub repository.
 +
 +
[[Category:Emulators]]
 +
[[Category:Windows emulation software]]
 +
[[Category:Linux emulation software]]
 +
[[Category:macOS emulation software]]
 +
[[Category:Super Nintendo emulators]]

Revision as of 00:42, 12 November 2020

bsnes
Bsnes.png
Developer(s) Near (formerly known as byuu), contributors
Latest version v115
Active Yes
Platform(s) Windows, macOS, Linux, OpenBSD, FreeBSD, libretro
Emulates SNES
Compatibility 100%
Accuracy Cycle
Website byuu.org/bsnes
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

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), but since his retirement in March 2020, it 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 Core Active Recommended
PC / x86
bsnes-hd Windows Linux macOS FreeBSD beta 10.6
bsnes-mt Windows 1.3.4
bsnes-mercury Windows Linux macOS FreeBSD 0.94
bsnes-classic 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