SNES9X Changelog

What's new in SNES9X 1.55

May 17, 2018
  • Added support for the MSU-1 coprocessor. (qwertymodo)
  • Added support for MSU-1 distribution pack. (qwertymodo)
  • Added support for BS-X Satellaview memory packs and data files. (LuigiBlood)
  • Improved BS-X memory mapping accuracy. (LuigiBlood)
  • Fixed APU error causing issues with some games. (byuu, qwertymodo)
  • Added option to ignore patch checksums. (qwertymodo)
  • Fixed build warnings / undefined behavior. (bonimy)
  • Correct pixel placement in hires. (BearOso, OV2)
  • Fixed RAM mapping for Light Fantasy. (hex_usr, BearOso)
  • Added Circuit USA APU timing hack. (BearOso)
  • libretro: Merged some changes from downstream repository. (OV2)
  • GTK+: Allow use of XDG config directory. (BearOso)
  • GTK+: Add 10th save slot. (YamashitaRen)
  • GTK+: Updated Spanish translation. (jristz)

New in SNES9X 1.54.1 (May 17, 2018)

  • GTK+: Properly use --std=c++11 when compiling xBRZ. (BearOso)

New in SNES9X 1.54 (May 17, 2018)

  • Changed the S-SMP core module to one written by byuu. (byuu, BearOso) This has the effect of increased accuracy, fewer speed hacks, but also regresses a few speed-hack games.
  • Improved IRQ emulation in several cases. (OV2)
  • Added rewind support. (Themaister, OV2)
  • Included libretro port. (OV2, libretro team)
  • Added bps soft-patching support (OV2)
  • Fixed MMC bank register bit 7, restored 64mbit ExLoRom map (FuSoYa)
  • GTK+, Windows: Added xBRZ filter (Zenju, OV2, nmagre)
  • GTK+: Fixed several issues with GTK+3. (BearOso)
  • GTK+: Added extra aspect ratio options. (BearOso)
  • GTK+: Added option to mute sound when using turbo mode. (BearOso)
  • GTK+: Fixed expose handling to reduce overdraw and (BearOso) improve performance.
  • GTK+: Updated and universalized Spanish translation. (jristz)
  • Unix: Added Xv support and fixed several bugs. (greg-kennedy)

New in SNES9X 1.53 (Apr 29, 2011)

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

New in SNES9X 1.52 (Jan 17, 2010)

  • 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.
  • Fixed corrupted screenshot on Intel Mac.
  • Fixed sudden abort in QuickTime movie export on Intel Mac.
  • Changed sound settings for the new APU core.
  • Changed the default folder which Snes9x looks for to 'Application Support' folder.
  • Changed folder names: 'IPSs' -> 'Patches', 'BIOSs' -> 'BIOSes'.
  • Added Blargg's ntsc filter.
  • Internal changes for Leopard and Snow Leopard.

New in SNES9X 1.51 (May 24, 2008)

  • Added DSP1 and SuperFX savestate support. (nitsuja)
  • Added screen state GFX to save states. (optional) (nitsuja)
  • Fixed desync when loading inconsistent state in playback. (nitsuja)
  • When playback reaches a movie's end, recording continues instead of the movie suddenly closing. (after recording) (nitsuja)
  • can now record resets and mouse/superscope/justifier(s) (nitsuja)
  • Added same-line-comment support for config files. (nitsuja)
  • input display for all controllers (including peripherals) (nitsuja)
  • Win32: Now uses .cfg file instead of Windows registry. (nitsuja)
  • Win32: open ROM dialog bugfixes and speedup and facelift (nitsuja)
  • Win32: option to use standard file open dialog for ROMs (nitsuja)
  • Win32: maintain aspect ratio and bilinear filter stretch (nitsuja)
  • Win32: optional removal of the dreaded "black bar" (nitsuja)
  • Win32: Added EPX,EPX2,EPX3,HQ2X,HQ3X,TV3X,DM3X filters. (nitsuja)
  • Win32: Added hires support for Interlace and TV Mode. (nitsuja)
  • Win32: text removed from .avi output (optional) (nitsuja)
  • Win32: better directory management, customizeable (nitsuja)
  • Win32: Screenshot support is back. (nitsuja)
  • Win32: Netplay is back (but still not very good). (nitsuja)
  • Win32: Made OpenGL Bi-linear an advanced .cfg option. (nitsuja)
  • Win32: cheat search improvements (address, watch, SuperFX)(nitsuja)
  • Win32: Added non-modal ("active") cheat search option. (nitsuja)
  • Win32: new hotkey-config dialog and configurable hotkeys (nitsuja)
  • Win32: Fixed joystick config in input dialog. (nitsuja)
  • Win32: Fixed hires and extended height .avi output. (nitsuja)
  • Win32: various small GUI improvements (nitsuja)
  • Win32: Netplay fixes. (nitsuja)
  • "Fake Mute" desync workaround option for movies, until all ports have deterministic sound. (Bisqwit, nitsuja)
  • Fix for save state blocks > 999999 bytes. (Bisqwit)
  • C4 games now save C4 data in save states. (DeHackEd)
  • Unix: Framework for high-speed seeking. Specify a frame number in a movie, and the emulator will run at maximum speed to that frame. Untested. (DeHackEd)
  • X11: Support for window exposure. When a window is damaged due to overlay, being iconified, etc. it will be repainted correctly. (DeHackEd)
  • Unix: parameter: -autodemo loads a movie for playback on startup. Only the x11 code handles this right now. (DeHackEd)
  • Unix: parameter: -oldturbo, the turbo button renders all frames when fast-forwarding. (DeHackEd)
  • Unix: parameter: -upanddown, override U D and L R protection. (DeHackEd)
  • Unix: parameter: -mute, currently linux only, blocks out audio output from your speakers while still emulating sound. Not fully tested. (DeHackEd)
  • Unix: parameter: -maxframes during movie playback, snes9x will exit when the target is hit. (DeHackEd)
  • Unix: parameter: -keypress shows to stderr and on-screen the currently pressed buttons on joypad 1. (DeHackEd)
  • Unix: Stream dumping (NOT COMPLETE). With -dumpstreams, raw video and raw audio are dumped to videostream%d.dat and audiostream%d.dat, where %d increments on each CPU reset, starting at zero. (DeHackEd)
  • Unix: Non-blocking sound on Linux. It makes seeking nicer.(DeHackEd)
  • Unix: Configurable sound device. (pierredavidbelanger)
  • configure.in now requires a sufficiently new version of autoconf.(anomie)
  • Fixed slow versions of branch opcodes. (anomie)
  • Fixed the mosaic offset bug. (anomie)
  • No sorting by priority in C4 command 00 00. MegaMan X2 can go behind the legs of the intro stage boss. (anomie)
  • New RTO discovery, fixes Super Conflict: The Mideast title screen. (anomie, byuu)
  • A 1->0 transition on $2100.7 causes OAM Address Reset. (anomie, byuu)
  • The final HDMA Indirect Address load is only weird on the last channel of the scanline.
  • Touge Densetsu Saisoku Battle problem solved. (anomie, byuu)
  • Fixed BGnVOFS bug. Only HOFS needs ~&7 update. (byuu)
  • Fixed superfluous VIRQ triggers. (zones)
  • Fixed missing IRQ trigger just after the previous one. (zones)
  • Fixed missing IRQ while writing to $4200. (zones)
  • Fixed IRQ timing after WRAM refresh. (zones)
  • Fixed NMA timing after DMA transfer. (zones)
  • Fixed superfluous auto-joypad-reading. (zones)
  • Fixed missing WRAM refresh during DMA transfer. (zones)
  • Fixed DMA so that HDMA and any HC triggered events can run during DMA transfer. (zones)
  • Roughly fixed the case that HDMA and DMA use the same channel at the same time. HDMA kills DMA. Thanks byuu. (zones)
  • Changed initial DMA registers values. (zones)
  • Slightly modified APU execute timings. (zones)
  • Fixed APU I/O registers to get/set the proper value. (zones)
  • Blocked invalid VRAM writings, though you can turn off this option due to Snes9x's inaccurate timings. (zones)
  • Omitted SPCTOOL, no one uses it. (zones)
  • Added Sufami Turbo support. (zones)
  • Added Same Game add-on cart support. (zones)
  • Fixed HiROM SRAM and DSP1-4 memory maps a little. (zones)
  • Improved mirroring. (Nach, grinvader, byuu)
  • CRC32 on BS dumps now follows uCONSRT standard. (Nach)
  • BS dumps now always run in NTSC mode. (Nach)
  • Unknown regions (generally betas) default to NTSC. (Nach)
  • Now support NSRT headers for setting up controllers. (Nach, nitsuja)
  • Unix: Fixed command line help output. (Nach)
  • Unix: Sound now defaults to 32KHz, Stereo, Interpolation so Snes9x finally sounds like a real SNES by default. (Nach)
  • Win32: Saner defaults for movie record. (Nach)
  • Unix: Fixed crashing with mouse or super scope. (Nach)
  • Removed some weird code which was crashing Korean League and its varients. Win32: Can now compile with MinGW. (Jonas Quinn, Nach)
  • Win32: Can now cross compile Snes9xw. (Nach)
  • Unix: SSnes9x compiles again. (Nach)
  • Win32: ZSNES C4 and SuperFX compiles once again. (Jonas Quinn)
  • Unix: Netplay Fixes. (Nach)
  • Unix: Netplay Improvements.