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