bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.
Go to file
Sintendo 97452b6ec3 settings/input: Fix updateControls crashes
updateControls assumes that when activeMapping is set, an item from
mappingList is guaranteed to be selected. However, there are several
scenarios that break this assumption:

- changing port during an active mapping
- changing device during an active mapping
- reloading the input driver during an active mapping

In all of these cases, updateControls is eventually called. It sees an
outstanding activeMapping and proceeds to figure out the offset of the
currently selected item, but since there are no selected items it ends
up dereferncing a null pointer.

The assumption can be honored by having reloadMappings cancel the
outstanding activeMapping, thus preventing a crash.

Fixes #4.
2020-04-01 01:05:10 +02:00
bsnes settings/input: Fix updateControls crashes 2020-04-01 01:05:10 +02:00
hiro Windows compilation fix. 2020-02-23 21:03:24 +09:00
libco v112.11 2019-12-02 19:54:03 +09:00
nall v114.5 2020-02-23 20:23:25 +09:00
ruby PulseAudio compilation fix. 2020-02-23 20:36:28 +09: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 Build fixes [Screwtape] 2019-09-26 03:38:01 +09:00
.gitattributes Language detection fix attempt 1. 2019-10-12 15:47:34 +09:00
.gitignore . 2019-07-20 18:57:01 +09: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 Convert bsnes into a group project and relicense it to GPLv3 or later. 2020-03-23 00:57:29 +09:00
README.md Convert bsnes into a group project and relicense it to GPLv3 or later. 2020-03-23 00:57:29 +09:00

README.md

bsnes

bsnes logo

bsnes is a multi-platform Super Nintendo (Super Famicom) emulator, originally developed by byuu, 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