bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.
Go to file
Near 55e05c89c2 Fix critical undefined bit-shift length operation
Natural/Integer<T>.bit() (BitRange) was shifting by whatever type the source was to match the target bit length.
But this breaks when the target type is u64/s64 and the source type is u32/s32 or smaller. Shifting by >=32 becomes undefined behavior.
We have to cast the input source to the target type first, so that the source<<shift result is valid.
This is safe here regardless of source's signedness, because it's only used in =, &=, ^=, |= operations.
2021-04-14 22:55:36 +10:00
.assets README: use the bsnes logo from the about box. 2021-01-22 18:17:15 +11:00
.github/workflows hiro: Remove gtksourceview dependency. 2021-03-04 20:29:51 +11:00
bsnes sfc: You can turn off auto-joypad-polling while it's in progress. 2021-04-06 21:43:31 +10:00
docs Add a skeleton for bsnes user documentation. 2020-11-07 23:45:20 +11:00
extras Add stock settings.bml 2021-02-08 20:13:01 +11:00
hiro hiro: Disable padding for the GTK+3 backend. 2021-04-03 19:24:31 +11:00
libco Merge commit '5e109224fb3480d806e44d74587d052c7f88bf83' into master 2020-10-09 02:31:32 +11:00
nall Fix critical undefined bit-shift length operation 2021-04-14 22:55:36 +10:00
ruby ruby: Auto detect some dependencies with pkg-config. 2021-02-18 19:20:43 +11:00
shaders Added 17 new pixel shaders courtesy of hunterk porting and testing them. 2019-10-05 13:44:51 +09:00
sourcery v107.8 2019-07-17 21:11:46 +09:00
.cirrus.yml hiro: Remove gtksourceview dependency. 2021-03-04 20:29:51 +11:00
.gitattributes Language detection fix attempt 1. 2019-10-12 15:47:34 +09:00
.gitignore hiro: qt.moc should be generated, not committed to the repo. 2020-09-18 22:31:17 +10:00
CREDITS.md Convert bsnes into a group project and relicense it to GPLv3 or later. 2020-03-23 00:57:29 +09:00
GPLv3.txt Update version and license 2017-10-24 23:37:22 -04:00
LICENSE.txt Use byuu.org/bsnes as the official homepage. 2020-10-27 23:21:19 +11:00
README.md Update name and website link 2021-02-08 00:11:38 +01:00
mkdocs.yml Add a skeleton for bsnes user documentation. 2020-11-07 23:45:20 +11:00
update-subtrees.sh Apply bsnes' customisations back on top of the upstream SameBoy source. 2020-10-12 18:40:44 +11:00

README.md

bsnes

bsnes logo

bsnes is a multi-platform Super Nintendo (Super Famicom) emulator, originally developed by Near, which focuses on performance, features, and ease of use.

Unique Features

  • True Super Game Boy emulation (using the SameBoy core by Lior Halphon)
  • HD mode 7 graphics with optional supersampling (by DerKoun)
  • Low-level emulation of all SNES coprocessors (DSP-n, ST-01n, Cx4)
  • Multi-threaded PPU graphics renderer
  • Speed mode settings which retain smooth audio output (50%, 75%, 100%, 150%, 200%)
  • Built-in games database with thousands of game entries
  • Built-in cheat code database for hundreds of popular games (by mightymo)
  • Built-in save state manager with screenshot previews and naming capabilities
  • Customizable per-byte game mappings to support any cartridges, including prototype games
  • 7-zip decompression support
  • Extensive Satellaview emulation, including BS Memory flash write and wear-leveling emulation
  • Optional higan game folder support (standard game ROM files are also fully supported!)
  • Advanced mapping system allowing multiple bindings to every emulated input

Standard Features

  • MSU1 support
  • BPS and IPS soft-patching support
  • Save states with undo and redo support (for reverting accidental saves and loads)
  • OpenGL multi-pass pixel shaders
  • Several built-in software filters, including HQ2x (by MaxSt) and snes_ntsc (by blargg)
  • Adaptive sync and dynamic rate control for perfect audio/video synchronization
  • Just-in-time input polling for minimal input latency
  • Run-ahead support for removing internal game engine input latency
  • Support for Direct3D exclusive mode video
  • Support for WASAPI exclusive mode audio
  • Periodic auto-saving of game saves
  • Auto-saving of states when unloading games, and auto-resuming of states when reloading games
  • Sprite limit disable support
  • Cubic audio interpolation support
  • Optional high-level emulation of most SNES coprocessors
  • Optional emulation of flaws in older emulators for compatibility with older unofficial software
  • CPU, SA1, and SuperFX overclocking support
  • Frame advance support
  • Screenshot support
  • Cheat code search support
  • Movie recording and playback support
  • Rewind support
  • HiDPI support
  • Multi-monitor support
  • Turbo support for controller inputs

Nightly Builds

Preview

bsnes user interface bsnes running Bahamut Lagoon bsnes running Tengai Makyou Zero