Snes9x Changelog

What's new in Snes9x 1.62.3

Jul 19, 2023
  • Fixed SA1 division with negative dividend again. (Atari2)
  • Fixed timing on several instructions. (pi1541)
  • MSU1 audio with no loop point will not repeat from start.
  • Modernized some old memory-related code.
  • Fixed a desynchronization in interlaced modes and reporting.
  • Remove SA1 access to WRAM.
  • Added second set of registers between S-DSP and S-SMP. Fixes
  • PAL version of Virtual Bart.

New in Snes9x 1.58 (Dec 17, 2018)

  • Snes9x 1.58
  • Move the LICENSE file to the base directory and use a stub in all the source files referring to it.
  • Adjust Chou Aniki timing hack.
  • Use 1-based numbering when displaying pressed keys.
  • Hide controller port if disabled when displaying keys.
  • Fix movie playback. (OV2, BearOso)
  • Libretro:
  • Fix interlaced modes when overscan crop is enabled.
  • Allow overriding -flto. (orbea)
  • GTK+:
  • Use shared snes_ntsc implementation.
  • Remove extra LGPL licensing to avoid confusion.
  • Don't translate config file entries. Fixes breakage on non-C languages.
  • Fix issue where config file doesn't contain all configurable entries.
  • Remove config options for Netplay, Joystick, and JMA. SDL 2.0 is now mandatory.
  • Updated gettext and removed intltool. update-po should now catch all translatable strings.
  • If available, reduce input lag option will now use fences instead of glFinish to prevent hogging the CPU.
  • Onscreen text can be variable width and will show up in some more cases now.
  • Win32:
  • Add audio device selection (XAudio2 only)

New in Snes9x 1.57 (Nov 10, 2018)

  • Snes9x 1.57
  • Various seta010 emulation fixes.
  • Pass blargg OAM tests with proper write behavior.
  • Prevent interlacing in BG modes 1-4.
  • Corrected IRQ and NMI emulation to allow more games to
  • work properly.
  • Use 1 instead of 0 for initial PPU left window coordinate,
  • fixing garbage in left column of pixels in some games.
  • Added interpolation option hack for DSP.
  • Added sprite-tile limit disabling hack.
  • Added libretro's fast snapshot support.
  • Add overclocking hack that increases IPC
  • Fix controller initialization issues preventing some games
  • from using multitap.
  • Proper write behavior for register $2122.
  • Fix transparency issue with Star Fox asteroids.
  • Increase SuperFX speed to more accurately represent
  • hardware, and fix bugs with Stunt Race FX and Yoshi's
  • Island.
  • Resize viewport on state load.
  • Many fixes to variables not saved or saved incorrectly in
  • save states. (Dwedit)
  • Pass decimal tests in blargg's math test ROMs.
  • Remove memory leak in loadzip.cpp.
  • Fix screen size not reverting when overscan is turned on
  • then off mid-frame. (BearOso)
  • Win32:
  • Include DirectDraw libraries and compile with DirectDraw
  • support by default.
  • Add a link to DirectX installer in error message displayed
  • when the needed DirectX libraries can't be found.
  • Save window position when exiting via menu
  • Make custom ROM dialog resizable.
  • Fix various cheat dialog issues.
  • Remove d3d9x DLL dependency by using DirectXMath.
  • Remove rarely-used HLSL shader option.
  • Add InitialSnapshotFilename support.
  • Disable BG toggle keys by default.
  • Proper centering and cropping for overscanned and
  • regular height modes.
  • Remove ability to disable the SNES's hires modes.
  • Added a Super Famicom-style icon resource to the EXE.
  • MacOS:
  • Partial support for new cheats format.
  • Fix MacOS build.
  • Set default for new config options.
  • Fix compilation on Mac OS Mojave
  • libretro:
  • Massive update of libretro code to latest downstream.
  • GTK+:
  • Use datarootdir instead of datadir on install.
  • Fix --with-system-zip configure flag.
  • Draw interlaced fields when ready.
  • Initial Wayland support.
  • Allow XV only in X11.
  • Add Wayland support via EGL.
  • Significant rewrite of OpenGL driver to support newer
  • standards. This won't work on cards < OpenGL ~1.5.
  • Changed frameskip option to speed throttling option with
  • simpler, but more relevant methods of speed control.
  • Add support for relative-style save slots.
  • Remove XML config file format in favor of one more like
  • Win32. Make joystick bindings and more options human-
  • readable and editable.
  • Try more device nodes when initializing OSS.

New in Snes9x 1.56.2 (Jun 22, 2018)

  • Fixed IRQ corner case that caused Umihara Kawase's water to cover the whole screen. (BearOso)
  • Adjusted IRQ timing slightly. Fixes Dragon Ball Z - Super
  • Butouden 2. (BearOso)
  • Clear WAI when IRQLine is active. Fixes Top Gear 3000. (BearOso)
  • Fix reading the wrong tile data in mosaic drawing. Gets rid of glitch at top of FF6 battle transitions. (BearOso)
  • Break a specific opcode into cycles. Fixes Little Magic. (BearOso)
  • Win32: Don't mix garbage into the last line with NTSC filter. (OV2)
  • Win32: Allow disabling scanlines in NTSC filter. (BearOso)
  • GTK+: Added an undo load state option. (BearOso)
  • GTK+: Fixed compilation on big-endian systems. (OV2)
  • Win32, GTK+: Added integer scaling option. (BearOso)
  • GTK+, Unix: Preserve current joypad state when rewinding. (BearOso)

New in Snes9x 1.56.1 (Jun 8, 2018)

  • Automatic input rate now only works for close multiples of 60Hz.
  • Win32: Cheats are now shown in the correct order in the list view.
  • GTK+: Check for version greater than 3.22 when using GTK+ 3.
  • GTK+: Don't resize code and description field in GTK+ 2.

New in Snes9x 1.56 (Jun 7, 2018)

  • Increased the speed of SA1 emulation to match hardware more closely.
  • Fixed negative SA1 division
  • Changed the location where we poll input to potentially reduce lag.
  • Fixed the interlace fields being swapped after skipping frames.
  • More updates for BS-X support.
  • Updated xBRZ to version 1.6.
  • Added a DMA timing hack for rpgone's Koryu no Mimi translation.
  • Updated HDMA to not update indirect addresses until after transfers are completed.
  • Improved cheats support. This stores cheats in a human- readable and editable format as gamename.cht. Cheats are converted from the old format on load. They can be added in many different formats, but they will convert to the simple address=condition?byte format.
  • Also, now included is mightymo's cheat database, and the
  • Ability to match a game and automatically load cheats from it.
  • Don't reset a pending NMI on vblank end. Fixes Super
  • Punch-Out.
  • Redo NMI timing. Fixes Secret of Evermore (PAL).
  • Test for transparency before dithering on SuperFX. This fixes some graphical artifacts in Star Fox.
  • Change some of the SDD1 guesswork mapping. Fixes a Tales of Phantasia hack.
  • Return PPU1 MDR for reads of $2137 instead of CPU MDR.
  • Fixes Mario's Time Machine graphical glitch.
  • Memset less memory for sprite calculations
  • Don't spuriously update register 14 when running SuperFX.
  • Fixes graphical glitches in Doom.
  • Added a SuperFX clock modifier variable.
  • Write CPU MDR during some DMA and HDMA transfers. Fixes
  • Speedy Gonzales and Funaki Masakatsu Hybrid Wrestler.
  • Calculate next IRQ time in advance instead of continously
  • Checking for it.
  • Added some IRQ timing quirks. Fixes at least Marko's
  • Magic Football.
  • Fixed wrong tile selection in offset-per-tile mode.
  • Advance the VRAM pointer even if VRAM writes at the time
  • Are invalid.
  • Return 0x80 instead of 0xff in DSP1 simulation. Fixes
  • Powerfest '94 Mario Kart.
  • Initialize controllers on reset. Fixes Looney Tunes
  • B-Ball multitap.
  • Attached APU instruction tracer and made some additions
  • To debugging output.
  • Fix line doubling in interlaced mode.
  • Added support for M.A.C.S. rifle peripheral.
  • Fixed a bug where the MSU1 channels were reversed.
  • Win32: Added dynamic rate control support for XAudio2
  • Win32: Added different volume level configuration for
  • Regular and turbo speed.
  • Win32: Added option to disable EPX scaling for messages
  • Win32: Improve multi-rom loading.
  • Win32: Add libpng and zlib dependencies as submodules for
  • Easier compiling from source.
  • Win32: Fixed icon registration
  • Win32: Better support for running while unfocused.
  • Win32: Changed icon
  • Win32: Report hidpi support
  • Win32: Added mute hotkey and hotkeys for saving/loading
  • From file.
  • Win32: Disabled hotplugging in favor of a menu option to
  • Reconfigure joysticks.
  • Win32: Added a reduce input lag option.
  • Win32: Added ability to use GLSLP shaders with OpenGL,
  • Including a dialog to tweak custom parameters.
  • GTK+: Added dynamic rate control support for audio to
  • Reduce buffer overflows and underflows.
  • GTK+: Increased SDL requirement to version 2.0. This
  • Improves joystick compatibility.
  • GTK+: Improved GTK+ 3.0 support and made it the default.
  • GTK+: Added ability to start from a snapshot on the
  • Command line.
  • GTK+: Added automatic input rate handling.
  • GTK+: Use 16-bit 5-6-5 pixel format for better colors.
  • GTK+: Now disables the compositor in fullscreen mode.
  • GTK+: Changed icon.
  • GTK+: Require libepoxy for OpenGL support.
  • GTK+: Add full compatibility with GLSLP shaders, with a
  • Parameters dialog to configure them.
  • Unix: Add xinerama support and window position hints.

New in Snes9x 1.55 (Nov 20, 2017)

  • Added support for the MSU-1 coprocessor.
  • Added support for MSU-1 distribution pack.
  • Added support for BS-X Satellaview memory packs and data
  • files.
  • Improved BS-X memory mapping accuracy.
  • Fixed APU error causing issues with some games.
  • Added option to ignore patch checksums.
  • Fixed build warnings / undefined behavior.
  • Correct pixel placement in hires.
  • Fixed RAM mapping for Light Fantasy.
  • Added Circuit USA APU timing hack.
  • libretro: Merged some changes from downstream repository.
  • GTK+: Allow use of XDG config directory.
  • GTK+: Add 10th save slot.
  • GTK+: Updated Spanish translation.
  • Win32: Switched to Studio 2017.
  • Win32: Fixed problems when minimized in d3d.
  • Win32: Split Patch/Rom directory.
  • Win32: Simplified compilation by removing or including
  • some dependencies (included CG headers, completely
  • removed FMOD and FMOD_EX, moved direct draw to compile
  • switch) and reworking solution/configurations.
  • Win32: Fixed crash with movie dialog
  • Added support for the MSU-1 coprocessor.
  • Added support for MSU-1 distribution pack.
  • Added support for BS-X Satellaview memory packs and data
  • files.
  • Improved BS-X memory mapping accuracy.
  • Fixed APU error causing issues with some games.
  • Added option to ignore patch checksums.
  • Fixed build warnings / undefined behavior.
  • Correct pixel placement in hires.
  • Fixed RAM mapping for Light Fantasy.
  • Added Circuit USA APU timing hack.
  • libretro: Merged some changes from downstream repository.
  • GTK+: Allow use of XDG config directory.
  • GTK+: Updated Spanish translation.
  • Win32: Switched to Studio 2017.
  • Win32: Fixed problems when minimized in d3d.
  • Win32: Split Patch/Rom directory.
  • Win32: Simplified compilation by removing or including
  • some dependencies (included CG headers, completely
  • removed FMOD and FMOD_EX, moved direct draw to compile
  • switch) and reworking solution/configurations.
  • Win32: Fixed crash with movie dialog
  • Win32: Changed hotplugging
  • Win32: Changed hotplugging

New in Snes9x 1.53 (Jul 19, 2011)

  • Rebuilt IRQ handling.
  • Improved overall timings, now Snes9x can handle events in a opcode a little.
  • Improved screen interlace and sprite interlace supports.
  • Fixed Hi-Res pixel plotter.
  • Fixed C4 for Mega Man X2's "weapon get" screen.
  • Fixed Super Buster Bros. graphics after reset.
  • Improved SA-1 support.
  • Added SA-1 CC2 support.
  • Fixed SA-1 NMI override mode.
  • Fixed Dual Orb 2 sound glitch.
  • New APU timing hack, fixes various games that exhibit
  • problems with Blargg's SNES_SPC library.
  • Fixed the problem that echo buffer breaks IPL ROM.
  • Fixed movie snapshot unfreeze inconsistency.
  • Faster config file saving.
  • Fixed BlockInvalidVRAMAccess config file option. (windows port, unix port and gtk legacy config)
  • Remove POSIX dup and access calls, and rename qword to
  • fix compilation with Cell SDK.
  • Fixed PS3 version save state crash by using heap allocation for soundsnapshot.
  • Fixed crash relating to double-closed descriptor.
  • Removed CPUShutdown speedhack, DisableHDMA and DisableIRQ options.
  • Removed remaining outdated asm code.
  • JMA 64 bit support.
  • GTK+, Win32, Mac: Added optional Hi-Res blending.
  • GTK+, Win32: Support for bsnes-style XML shaders.
  • Win32: Full unicode support.
  • Win32: Restored OpenGL mode.
  • Win32: x64 version.
  • Win32: HLSL shader support.
  • Win32: Win7 jumplist synchronizes with recent roms list.
  • Win32: Updated menu structure.
  • Win32: Drag&Drop support for ROMs.
  • Win32: Reworked movie-recording with size selection.
  • Win32: Restored SPC save option.
  • Win32: Fixed vsync in DirectDraw.
  • Win32: Improved window position saving.
  • Win32: Restored compile with DEBUGGER.
  • Win32: Fixed various edge-case errors and/or possible leaks.
  • Win32: Config file option to always center image.
  • Win32: Fixed "Turbo Down mode" hotkey assignment.
  • Win32: Added and fixed Autofire for D-pad.
  • Win32: Fixed aggressive soundsync wait.
  • Win32: Added window size presets.
  • GTK+ : Added ability to set specific folders for SRAM, patches, snapshots, etc.
  • GTK+ : Fixed many permissions issues with config folders.
  • GTK+ : Updated compatibility with latest GTK+ and GtkBuilder. Added experimental support for GTK+ 3.x.
  • GTK+ : Updated software output to use cairo and added the
  • ability to use bilinear-filtering with it.
  • GTK+ : Fixed issues where cheats wouldn't stay enabled.
  • GTK+ : Fixed focus issue when there is no window manager.
  • GTK+ : Fixed X Visual incompatibilities and expose
  • problems in the Xv and OpenGL outputs.
  • GTK+ : Fixed vsync with new X Server and NVIDIA drivers.
  • GTK+ : Added "Reduce input lag" option to OpenGL output.
  • GTK+ : Added a visual indication of the expected video refresh rate for the currently selected sound input rate.

New in Snes9x 1.52 (Jul 19, 2011)

  • IMPORTANT NOTICE: The structure of savestates (also known as snapshots / freeze files) is incompatible with older versions! Snes9x 1.52 cannot read the savestates created by 1.51 or older.
  • Highly acculate SPC700 and S-DSP emulation.
  • Replaced APU emulation cores (SPC700 and S-DSP) with ones provided by Blargg's SNES_SPC library. This renders savestates incompatible with older versions.
  • SPC7110 emulation.
  • Merged bsnes' SPC7110 emulation code. Note that the .rtc file of Far East of Eden Zero is incompatible with older versions.
  • Removed graphics pack support. It's no more necessary.
  • Replaced S-RTC emulation code with bsnes' one to keep the good compatibility of .rtc files between the two emulators. As a result, Daikaijuu Monogatari 2 now outputs the .rtc file, and its .srm file is incompatible
  • with older versions.
  • Added savestate supports for DSP-2, DSP-4, ST-010 and OBC1.
  • Added UPS support.
  • Fixed DSP-4 AI problem.
  • Fixed invalid memory accesses in C4 and OBC1 codes.
  • Fixed invalid memory accesses in BSX codes. My mistake.
  • Fixed the read value of $213e, $4210 and $4211.
  • Fixed the writing of word values at the memory boundary.
  • Fixed the bug that the unnecessary SA-1 emulation
  • continues once any SA-1 games are launched.
  • Removed old color blending codes.
  • Removed too-old Snes96 and ZSNES snapshot support.
  • Updated command-line options.
  • Code cleaning.
  • GTK+ : Added a port of Snes9x to the GTK+ toolkit.
  • Unix : Reconstructed and simplified all the contents.
  • Some features have been removed to be simple, and many options have changed. GTK+ port is recommended for most of Linux users.
  • Win32: Now uses snes9x.conf to prevent problems with modified meaning of settings.
  • Win32: Removed broken OpenGL mode.
  • Win32: Removed support for 8bit output.
  • Win32: Reworked settings dialogues to accomodate the
  • new APU core and display settings.
  • Win32: Updated defaults to use D3D and XA2 (better
  • Vista and Win7 support).
  • Win32: Direct3D and XAudio2 support.
  • Win32: Added Blargg's ntsc filter (three presets).

New in Snes9x 1.51 (Mar 24, 2008)

  • Not a widget.