bsnes Changelog

What's new in bsnes 114

Jan 9, 2020
  • Fixed an issue with manually created save states that appeared in v113 (corrected as of v113.1)
  • Added run-ahead support to the libretro target [realnc]
  • MacOS: fixed an issue with OpenGL shaders [Sintendo]
  • Added CPU joypad polling override for Taikyoku Igo - Goliath
  • Added PPU overrides for Marvelous, Super SWIV, Winter Olympics, and World Cup Striker
  • Added hotfix for Nichibutsu Arcade Classics (even on real hardware, the attract sequence would sometimes hang)
  • Fixed region heuristics for the Scandanavian release of Tintin in Tibet
  • Added a heuristic override for Yuyu no Quiz de Go! Go! (the game's title overwrites the mapping mode identifier)
  • Properly clear overscan region when overscan is disabled (SNES Electronics Test with PAL video mode)
  • Updated bsnes to use the latest SNES preservation project database (a few dozen more games added)
  • Reverted gamepak (folder) firmware naming to use architecture name rather than identifier name
  • Renamed lr35902.boot.rom to sm83.boot.rom for gamepaks
  • Fixed typo in the GUI regarding the HD mode 7 +/- hotkeys

New in bsnes 113 (Dec 16, 2019)

  • Corrected PPU OAM address latching with the accurate PPU renderer
  • Fixed offset-per-tile regression with the accurate PPU renderer
  • Fixed very rare PPU mosaic rendering bug with the accurate PPU renderer
  • Corrected a sound stuttering issue when emulating the Super Game Boy 2 [LIJI]
  • Windows: added a workaround for an issue where bsnes was crashing on exit for a very small number of users
  • Changed gamepak firmware loading names to use the identifier (dsp1, dsp2, etc) label instead of the architecture (upd7725, etc)
  • Do not apply color blending for the first hires pixel with the accurate PPU renderer (fixes green line in Jurassic Park)
  • Added scanline override setting for Suguro Quest++ with the fast PPU renderer
  • Disabled HD mode 7 supersampling when EXTBG mode is active, as it is not compatible
  • Fixed MSU1 and SGB audio when using run-ahead and overclocking modes
  • Implemented correct fix for Kishin Douji Zenki - Tenchi Meidou
  • Improved CPU IRQ handling to fix Shin Nihon Pro Wrestling Kouhin '95
  • Fixed a GUI typo where "Increment" and "Decrement" "State Slot" labels were reversed
  • Fixed audio balance setting when lowering it below 50%
  • Added BSC-1A7M-10 board and corrected BSC-1AxM-xx masking (fixes RPG Tsukuru 2 and Sound Novel Tsukuru)
  • Improved the driver crash detector to not trip if closing the emulator before initialization could complete
  • Added a hotfix to prevent a rare crash in Rendering Ranger R2 that can happen even on real hardware
  • Made the entire window support drag-and-drop for gamepaks and game ROM files
  • Merged the latest release of SameBoy for improved Super Game Boy support [LIJI]
  • MacOS: add hotplug support to IOKit joypad driver [Sintendo]
  • MacOS: fixed a serious issue with the IOKit joypad driver [kode54]
  • Libretro: updated boards database to the latest version [rtretiakov]
  • Libretro: merged Super Game Boy support improvement patch [fr500]
  • Small improvements to libco and nall libraries

New in bsnes 112 (Oct 21, 2019)

  • Improved Super Game Boy audio support
  • Fixed two small sprite issues affecting Star Ocean with the accurate PPU
  • Added deterministic rewind support; rewind is now 100% safe when enabled
  • Added a safer save state serialization method for Tales of Phantasia and Star Ocean
  • Fixed detection of ST010 and ST011 HLE when DSP firmware is missing
  • Added SHVC-2P3B-01 prototype board mapping for Kunio-kun Tournament Special
  • Improved the frame advance functionality to be more responsive
  • Added a scanline override for the fast PPU for the Japanese version of NHL '94
  • Added new preset buttons to the driver settings to make adaptive sync and dynamic rate control easier to configure
  • By request, I added a pseudo-fullscreen mode to continue displaying the status bar
  • Added run-ahead support of up to four frames
  • Optimized save state serialization performance [Alcaro, byuu]
  • Added serialization to the SDD1 decompressor for the new deterministic save state mode
  • Removed the fast PPU tile caching; as it was not helping speed and made serialization more expensive
  • RetroArch: added Super Game Boy support
  • RetroArch: added a core change that removes a frame of input latency
  • Linux: added a fix for a rare crashing issue with SDL joypads

New in bsnes 111 (Oct 5, 2019)

  • Fixed audio crackling in Super Game Boy emulation
  • Fixed NTSC region detection in Hanguk Pro Yagu
  • Fixed boot hnaging issue in Kishin Douji Zenki - Tenchi Meidou
  • Fixed slowdown issue in Mega Man X2 & X3
  • Added mute hotkey
  • Added HD mode 7 adjustment hotkeys
  • Added 18 pixel shaders including AANN, CRT-Royale, XBRz, and more
  • Added hotfix for The Hurricanes tile glitch during intro (happens on real hardware)
  • Added hotfix for Magical Drop which can hang after game over in Tokoton mode (happens on real hardware)
  • Added scanline override for NHL '94
  • Added fix for enterig folder names into the BrowserDialog filename box
  • Shrunk the fast PPU's Pixel struct, which gives a 3% performance boost [Alcaro]
  • Allow SRAM sizes of 2 megabits (for SA-1 homebrew developers)
  • Improved HDMA timing to fix a slight flickering issue in Full Throttle - All-American Racing
  • Fixed an issue with bsnes not remembering the user audio frequency setting across runs
  • Many libretro build improvements [rtretialov, orbea]

New in bsnes 110 (Sep 20, 2019)

  • Improved ExLoROM support (fixes Fire Emblem: Thracia 776 fan translation)
  • Several improvements to the libretro target, including macOS and Android platform support
  • Fixed an issue where the Alt key wasn't activating the menu on the Windows port
  • Removed 2160p HD mode 7 setting, due to Direct3D 9.0 texture size limits of 2048x2048
  • Reverted fresh configuration files to using the safer hardware drivers
  • Disabled the ASIO driver due to lack of support
  • Fixed a crashing issue when idling with the snow effect enabled
  • Added IOKit joypad support for macOS [Sintendo]
  • Added fast PPU render cycle position override for Firepower 2000's title screen
  • Ported higan's accurate PPU renderer back to bsnes to add sprite caching for Wolfenstein 3D

New in bsnes 109 (Sep 6, 2019)

  • Greatly improved macOS support, fixing all obvious bugs and adding fullscreen support
  • Added libretro target [Themaister, rtretiakov]
  • Much smarter automatic HD mode 7 perspective correction support [DerKoun]
  • Added CPU and SA-1 overclocking support
  • Added fast forward speed limiting
  • Added a new "hotfixes" option to fix critical (deadlocking) bugs that also occur on real hardware (eg for Dirt Racer)
  • Added options to emulate bugs in ZSNES and older Snes9X releases to increase compatibility:
  • "No VRAM blocking" for older fan translations
  • "Echo shadow RAM" for older Super Mario World ROM hacks
  • "CPU fast math" for older homebrew
  • "Entropy: none" technically counts as well, for demoscene software made for SNES copiers
  • Added dialog for IPS patching to choose whether they were made for headered or unheadered ROMs
  • Lowered volume during fast forwarding and rewinding to reduce audio distortion
  • Added option to mute sound during fast forwarding and rewinding
  • Added an option to deinterlace all SNES games by rendering at 480p (almost no speed hit; highly recommended)
  • Added multi-monitor support to Windows, Linux, and BSD
  • Improved pause and frame advance support
  • Improved mosaic emulation for the fast PPU
  • Added entropy (randomness) settings; default to no randomness for movie recording (guarantees consistent playback)
  • Improved MLT_REQ Super Game Boy emulation; fixes Killer Instinct to default to player 1 instead of player 2 [endrift]
  • Added option to disable video dimming during pausing (useful for screenshots with window decorations)
  • Redesigned the settings and tools windows to use lists instead of tabs
  • Redesigned the input and hotkey settings windows to be easier to use and with clearer naming + icons
  • Added option to make hotkeys combinatorial (eg Ctrl+F) instead of separate (eg F11 or Gamepad L-shoulder)
  • Restructured the settings menu to be more intuitive
  • Fixed path selection dialog from sometimes appearing offscreen
  • Added wildcard search support to the file loading window
  • Fixed the --fullscreen command-line option
  • Redesigned the thread scheduler to allow enhanced compatibility with SA-1 and SuperFX overclocking
  • Fixed the pseudo-hires blur emulation support with the accuracy PPU
  • Removed template integer classes from the fast PPU to make the code more portable
  • Removed icarus from bsnes and merged the heuristics directly into bsnes itself
  • ~5% speedup by optimizing CPU memory accesses and the PPU counters
  • Fixed an out-of-bounds memory access in the DSP core [Sour]
  • Enhanced the snow effect with depth-of-field and alpha blending support
  • Double-clicking a cheat finder result will now add the new cheat code directly
  • Added "[HLE]" indicator to the title bar when coprocessor HLE is being used
  • Simplified game titles with multi-carts (eg omit "Super Game Boy +" in SGB mode)
  • The emulator now pauses on Windows when navigating the menus
  • Added SNES support for decoding Game Genie and Pro Action Replay codes
  • Added Game Boy support for decoding Game Genie and Game Shark codes
  • Added many more tooltips to explain GUI functionality
  • Minor speedups to SuperFX and Cx4 emulation (via object locality)
  • Simplified the mode 7 rendering code for the accurate PPU
  • Suppress Alt+F4 while in fullscreen mode
  • Fixed every reported regression caused by the speed optimizations I've been adding recently

New in bsnes 107.1 (Apr 9, 2019)

  • GUI: added high DPI support
  • GUI: fied the state manager image preview
  • Windows: added a new waveOut driver with support for dynamic rate control
  • Windows: corrected the Audio 2.1 dynamic rate control support [BearOso]
  • Windows: corrected the Direct3D 9.0 fullscreen eclusive window centering
  • Windows: fied Input controller support on Windows 10
  • SFC: added high-level emulation for the DSP1, DSP2, DSP4, ST010, and C4 coprocessors
  • SFC: fied a slight rendering glitch in the intro to Megalomania

New in bsnes 094 (Apr 24, 2014)

  • sfc: added SA-1 MDR support (fixes SD Gundam G-Next bug)
  • sfc: remove random/ and config/, merge to system/ with better randomization
  • gb: improved color emulation palette contrast
  • gbc: do not sort sprites by X-priority
  • gbc: allow transparency on BG priority pixels
  • gbc: VRAM DMA timing and register fixes
  • gbc: block invalid VRAM DMA transfer source and target addresses
  • gba: added LCD color emulation (without it, colors are grossly over-saturated)
  • gba: removed internal frame blending (use shaders to simulate motion blur if desired)
  • gba: added Game Boy Player support (adds joypad rumble support to supported games)
  • gba: SOUND_CTL_H is readable
  • gb/gbc: PPU renderer is now cycle-based (major accuracy improvement)
  • gb/gbc: OAM DMA runs in parallel with the CPU
  • gb/gbc: only HRAM can be accessed during OAM DMA
  • gb/gbc: fixed serialization of games with SRAM
  • gb/gbc: disallow up+down or left+right at the same time
  • gb/gbc: added weak hipass filter to remove DC bias
  • gb/gbc: STAT OAM+Hblank IRQs only trigger during active display
  • gb/gbc: fixed underflow in window clamping
  • gb/gbc/gba: audio mixes internally at 2MHz now instead of 4MHz (does not affect accuracy)
  • gb/gbc/gba: audio volume reduced for consistency with other systems
  • fc/sfc/gb/gbc/gba: cheat codes are now stored in universal, decrypted format
  • ethos: replaced file loader with a proper game library
  • ethos: added display emulation shader support
  • ethos: added color emulation option to video settings
  • ethos: program icon upgraded from 48x48 to 512x512
  • ethos: settings and tools windows now use tab frames (less wasted screen space)
  • ethos: default to optimal (video, audio, input) drivers instead of safest drivers
  • ethos: input mapping system completely rewritten to support hotplugging and unique device mappings
  • ruby: added fixes for OpenGL 3.2 on AMD graphics cards
  • ruby: quark shaders now support user settings inside of manifest
  • ruby: quark shaders can use integral textures (allows display emulation shaders to work with raw colors)
  • ruby: add joypad rumble support
  • ruby: XInput (Xbox 360) controllers now support hotplugging
  • ruby: added Linux udev joypad driver with hotplug support
  • phoenix: fixed a rare null pointer dereference issue on Windows
  • port: target -std=c++11 instead of -std=gnu++11 (do not rely on GNU C++ extensions)
  • port: added out-of-the-box compilation support for BSD/Clang 3.3+
  • port: applied a few Debian downstream patches
  • cheats: updated to mightymo's 2014-01-02 release; decrypted all Game Genie codes