@bearoso bearoso released this Nov 10, 2018 · 10 commits to master since this release

Assets 8

Snes9x 1.57 has been released. Changes include a big update to the libretro port, several accuracy fixes, a few new features, and some deprecations.

Support for xml HLSL shaders in the Windows port and xml GLSL shaders in the GTK+ port has been removed. We recommend downloading and using shaders from the libretro repository at https://github.com/libretro/glsl-shaders instead.

For those packaging the GTK+ port, note that building with GTK+ 3 is now highly recommended over GTK+ 2 and should have no regressions. Also note that Wayland compatibility is implemented, which, if enabled, also requires GTK+ to have been compiled with Wayland support. The configuration file format for this port has changed to a simple .ini-style that can be edited by hand and is saved as snes9x.conf, keeping with the other ports' convention, in the user's config directory. This will cause any changes to settings made with previous versions to be reset to default. Frame-skipping options have also been simplified to remove never-used "fixed" rate settings and to simplify interaction with dynamic rate control and sound sync.


Snes9x 1.57
- Various seta010 emulation fixes.                          (kps501)
- Pass blargg OAM tests with proper write behavior.         (BearOso)
- Prevent interlacing in BG modes 1-4.                      (BearOso)
- Corrected IRQ and NMI emulation to allow more games to
  work properly.                                            (BearOso, OV2)
- Use 1 instead of 0 for initial PPU left window coordinate,
  fixing garbage in left column of pixels in some games.    (turhope)
- Added interpolation option hack for DSP.                  (kps501, mudlord,
- Added sprite-tile limit disabling hack.                   (Tatsuya79)
- Added libretro's fast snapshot support.                   (OV2)
- Add overclocking hack that increases IPC                  (retrotalker)
- Fix controller initialization issues preventing some games
  from using multitap.                                      (retrotalker)
- Proper write behavior for register $2122.                 (BearOso)
- Fix transparency issue with Star Fox asteroids.           (redguy, BearOso)
- Increase SuperFX speed to more accurately represent
  hardware, and fix bugs with Stunt Race FX and Yoshi's
  Island.                                                   (BearOso)
- Resize viewport on state load.                            (retrotalker)
- Many fixes to variables not saved or saved incorrectly in
  save states.                                              (Dwedit)
- Pass decimal tests in blargg's math test ROMs.            (BearOso)
- Remove memory leak in loadzip.cpp.                        (bonimy)
- Fix screen size not reverting when overscan is turned on
  then off mid-frame.                                       (BearOso)

- Include DirectDraw libraries and compile with DirectDraw
  support by default.                                       (OV2)
- Add a link to DirectX installer in error message displayed
  when the needed DirectX libraries can't be found.         (OV2)
- Save window position when exiting via menu                (OV2)
- Make custom ROM dialog resizable.                         (OV2)
- Fix various cheat dialog issues.                          (OV2)
- Remove d3d9x DLL dependency by using DirectXMath.         (OV2)
- Remove rarely-used HLSL shader option.                    (OV2)
- Add InitialSnapshotFilename support.                      (BearOso)
- Disable BG toggle keys by default.                        (BearOso)
- Proper centering and cropping for overscanned and
  regular height modes.                                     (OV2)
- Remove ability to disable the SNES's hires modes.         (OV2)
- Added a Super Famicom-style icon resource to the EXE.     (BearOso)

- Partial support for new cheats format.                    (OV2)
- Fix MacOS build.                                          (marconett)
- Set default for new config options.                       (tmkk)
- Fix compilation on Mac OS Mojave                          (meepingsnesroms)

- Massive update of libretro code to latest downstream.     (fr500, kps501,
                                                            OV2, twinaphex,
                                                            m4xw, kxyxz,

- Use datarootdir instead of datadir on install.            (orbea)
- Fix --with-system-zip configure flag.                     (BearOso)
- Draw interlaced fields when ready.                        (BearOso)
- Initial Wayland support.                                  (remicalixte)
- Allow XV only in X11.                                     (BearOso)
- Add Wayland support via EGL.                              (BearOso)
- Significant rewrite of OpenGL driver to support newer
  standards. This won't work on cards < OpenGL ~1.5.        (BearOso)
- Changed frameskip option to speed throttling option with
  simpler, but more relevant methods of speed control.      (BearOso)
- Add support for relative-style save slots.                (ichigo-0, BearOso)
- Remove XML config file format in favor of one more like
  Win32. Make joystick bindings and more options human-
  readable and editable.                                    (BearOso)
- Try more device nodes when initializing OSS.              (BearOso)

@bearoso bearoso released this Jun 21, 2018 · 252 commits to master since this release

Assets 5

This is a another small bug fix and minor feature release.

  • 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)

@bearoso bearoso released this Jun 7, 2018 · 274 commits to master since this release

Assets 5

Small hot-fix release. See release notes for 1.56.

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

@bearoso bearoso released this Jun 6, 2018 · 286 commits to master since this release

Assets 5

Note for GTK+ port packagers: OpenGL support now requires libepoxy, joystick support requires SDL 2.0, not 1.2, and the default GTK+ version selected by configure is now 3 instead of 2.

- Increased the speed of SA1 emulation to match hardware    (BearOso)
  more closely.
- Fixed negative SA1 division                               (BearOso, Jonas Quinn)
- Changed the location where we poll input to potentially   (Brunnis, BearOso)
  reduce lag.
- Fixed the interlace fields being swapped after skipping   (BearOso)
- More updates for BS-X support.                            (LuigiBlood)
- Updated xBRZ to version 1.6.                              (zenju, OV2)
- Added a DMA timing hack for rpgone's Koryu no Mimi        (OV2)
- Updated HDMA to not update indirect addresses until after (BearOso)
  transfers are completed.
- Improved cheats support. This stores cheats in a human-   (BearOso, OV2)
  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      (furrykef)
- Redo NMI timing. Fixes Secret of Evermore (PAL).          (BearOso)
- Test for transparency before dithering on SuperFX. This   (RedGuy(yyy))
  fixes some graphical artifacts in Star Fox.
- Change some of the SDD1 guesswork mapping. Fixes a Tales  (BearOso)
  of Phantasia hack.
- Return PPU1 MDR for reads of $2137 instead of CPU MDR.    (BearOso)
  Fixes Mario's Time Machine graphical glitch.
- Memset less memory for sprite calculations.               (Nebuleon)
- Don't spuriously update register 14 when running SuperFX. (BearOso)
  Fixes graphical glitches in Doom.
- Added a SuperFX clock modifier variable.                  (BearOso)
- Write CPU MDR during some DMA and HDMA transfers. Fixes   (BearOso)
  Speedy Gonzales and Funaki Masakatsu Hybrid Wrestler.
- Calculate next IRQ time in advance instead of continously (BearOso, OV2)
  checking for it.
- Added some IRQ timing quirks. Fixes at least Marko's      (BearOso, OV2)
  Magic Football.
- Fixed wrong tile selection in offset-per-tile mode.       (BearOso)
- Advance the VRAM pointer even if VRAM writes at the time  (kps501)
  are invalid.
- Return 0x80 instead of 0xff in DSP1 simulation. Fixes     (kps501)
  Powerfest '94 Mario Kart.
- Initialize controllers on reset. Fixes Looney Tunes       (kps501)
  B-Ball multitap.
- Attached APU instruction tracer and made some additions   (BearOso)
  to debugging output.
- Fix line doubling in interlaced mode.                     (kps501)
- Added support for M.A.C.S. rifle peripheral.              (kps501)
- Fixed a bug where the MSU1 channels were reversed.        (qwertymodo)
- Win32: Added dynamic rate control support for XAudio2     (OV2)
- Win32: Added different volume level configuration for     (OV2)
  regular and turbo speed.
- Win32: Added option to disable EPX scaling for messages   (OV2)
- Win32: Improve multi-rom loading.                         (OV2)
- Win32: Add libpng and zlib dependencies as submodules for (qwertymodo, OV2)
  easier compiling from source.
- Win32: Fixed icon registration.                           (OV2)
- Win32: Better support for running while unfocused.        (OV2)
- Win32: Changed icon.                                      (BearOso)
- Win32: Report hidpi support.                              (BearOso)
- Win32: Added mute hotkey and hotkeys for saving/loading   (OV2)
  from file.
- Win32: Disabled hotplugging in favor of a menu option to  (OV2)
  reconfigure joysticks.
- Win32: Added a reduce input lag option.                   (BearOso)
- Win32: Added ability to use GLSLP shaders with OpenGL,    (OV2)
  including a dialog to tweak custom parameters.
- GTK+: Added dynamic rate control support for audio to     (BearOso)
  reduce buffer overflows and underflows.
- GTK+: Increased SDL requirement to version 2.0. This      (BearOso)
  improves joystick compatibility.
- GTK+: Improved GTK+ 3.0 support and made it the default.  (BearOso)
- GTK+: Added ability to start from a snapshot on the       (julien2512)
  command line.
- GTK+: Added automatic input rate handling.                (BearOso)
- GTK+: Use 16-bit 5-6-5 pixel format for better colors.    (BearOso)
- GTK+: Now disables the compositor in fullscreen mode.     (BearOso)
- GTK+: Changed icon.                                       (BearOso)
- GTK+: Require libepoxy for OpenGL support.                (BearOso)
- GTK+: Add full compatibility with GLSLP shaders, with a   (BearOso)
  parameters dialog to configure them.
- Unix: Add xinerama support and window position hints.     (Francesco149)

@qwertymodo qwertymodo released this Nov 20, 2017 · 617 commits to master since this release

Assets 7
  • 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 (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)
  • Win32: Switched to Studio 2017. (OV2)
  • Win32: Fixed problems when minimized in d3d. (OV2)
  • Win32: Split Patch/Rom directory. (OV2)
  • 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. (bonimy, OV2)
  • Win32: Fixed crash with movie dialog (OV2)
  • Win32: Changed hotplugging (OV2)

@qwertymodo qwertymodo released this Nov 20, 2017 · 822 commits to master since this release

Assets 5
  • GTK+: Properly use --std=c++11 when compiling xBRZ. (BearOso)
  • Win32: Save window position when toggling fullscreen. (OV2)
  • Win32: Do not assign down-left binding to down-right. (OV2)

@qwertymodo qwertymodo released this Nov 20, 2017 · 830 commits to master since this release

Assets 5
  • 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)
  • Win32: Added CG meta shader support (OV2, Themaister)
  • Win32: Added support to detect joypad changes (OV2)
  • Win32: Fixed unicode command line parameters,
    Fixed controller command line parameters (OV2)
  • Win32: Added quit hotkey (OV2)
  • Win32: Fixed custom rom dialog (OV2)
  • Win32: Fixed various cheat dialog issues (gocha, OV2)
  • Win32: Added hotkey for fast forward toggling (gocha)
  • Win32: Added drag and drop support for movies (gocha)
  • Win32: Fixed blargg filter for regular width hires (OV2)
  • Win32: Fixed snapshot loading from unicode paths (OV2)
  • Win32: Changed open-with file-association method, should
    no longer change explorer icons for otherwise
    unassociated extensions; removed legacy extensions (OV2)
Oct 18, 2011
Fix file path issue. Rebuild UI file so it works on GTK+ 2.24+.

@qwertymodo qwertymodo released this Nov 20, 2017 · 1166 commits to master since this release

Assets 7
  • 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)

@qwertymodo qwertymodo released this Nov 20, 2017 · 1316 commits to master since this release

Assets 5
  • 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. (zones)
  • Highly acculate SPC700 and S-DSP emulation. (Blargg)
  • Replaced APU emulation cores (SPC700 and S-DSP) with
    ones provided by Blargg's SNES_SPC library. This renders
    savestates incompatible with older versions. (BearOso, zones)
  • SPC7110 emulation. (byuu, neviksti)
  • Merged bsnes' SPC7110 emulation code. Note that the .rtc
    file of Far East of Eden Zero is incompatible with older
    versions. (zones)
  • Removed graphics pack support. It's no more necessary. (zones)
  • 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. (zones)
  • Added savestate supports for DSP-2, DSP-4, ST-010 and
    OBC1. (zones)
  • Added UPS support. (byuu)
  • Fixed DSP-4 AI problem. (Jonas Quinn)
  • Fixed invalid memory accesses in C4 and OBC1 codes. (zones)
  • Fixed invalid memory accesses in BSX codes. My mistake. (zones)
  • Fixed the read value of $213e, $4210 and $4211. (zones)
  • Fixed the writing of word values at the memory boundary. (zones)
  • Fixed the bug that the unnecessary SA-1 emulation
    continues once any SA-1 games are launched. (zones)
  • Removed old color blending codes. (zones)
  • Removed too-old Snes96 and ZSNES snapshot support. (zones)
  • Updated command-line options. (zones)
  • Code cleaning. (zones)
  • GTK+ : Added a port of Snes9x to the GTK+ toolkit. (BearOso)
  • 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. (zones)
  • Win32: Now uses snes9x.conf to prevent problems with
    modified meaning of settings. (OV2)
  • Win32: Removed broken OpenGL mode. (OV2)
  • Win32: Removed support for 8bit output. (OV2)
  • Win32: Reworked settings dialogues to accomodate the
    new APU core and display settings. (OV2)
  • Win32: Updated defaults to use D3D and XA2 (better
    Vista and Win7 support). (OV2)
  • Win32: Direct3D and XAudio2 support. (OV2)
  • Win32: Added Blargg's ntsc filter (three presets). (OV2)
  • Mac : Fixed corrupted screenshot on Intel Mac. (zones)
  • Mac : Fixed sudden abort in QuickTime movie export on
    Intel Mac. (zones)
  • Mac : Changed sound settings for the new APU core. (zones)
  • Mac : Changed the default folder which Snes9x looks for
    to 'Application Support' folder. (zones)
  • Mac : Changed folder names: 'IPSs' -> 'Patches',
    'BIOSs' -> 'BIOSes'. (zones)
  • Mac : Added Blargg's ntsc filter. (zones)
  • Mac : Internal changes for Leopard and Snow Leopard. (zones)