This is a major release that marks the first proper release of PlayStation 3 and XBox 360 ports by Squarepusher.
PlayStation 3 port is quite accomplished, and is more or less feature
complete. XBox 360 port has also received a lot of work, and it'll be more complete for a future 0.9.6 release.
Both PS3 and 360 ports have a small frontend similar to Phoenix that eases use of different cores, called Salamander.
Rest of code base has been tightened up to accomodate that SSNES now runs on 6+ platforms.
Console:
- PlayStation 3 port quite complete (Squarepusher).
- Lots of work on XBox 360 port (Squarepusher).
- Add SSNES-Salamander for PS3 and 360 (Squarepusher).
General:
- Add experimental audio rate control. This will dynamically adjust input rate
on the fly to possibly eliminate all stuttering in video if enabled.
- Add new SSE-optimized windowed sinc resampler for improved audio quality.
If SSNES is built on 32-bit x86 and sinc is used,
it is recommended to compile with SSE enabled for major speedup.
Old hermite resampler is still available in compile time (--disable-sinc).
32-bit Windows build still uses hermite by default.
64-bit Windows build has sinc enabled as availability of SSE can be guaranteed.
- Add resampler test cases to objectively verify quality and correctness.
- Add IPS patching support.
- Add --no-patch option to disable all rom patching.
- Add compatibility layer for legacy network implementations.
- kp_plus/kp_minus detected properly again.
- Add fixes to C++ build.
- Fix regression with screenshots (Mziab).
- Bump maximum players to 8 to accomodate possible needs in future.
- Add SET_VARIABLES extension interface to libsnes. Cores can advertise
support for very obscure settings that cannot be supported generically.
- Add SET_ROTATION interface to allow implementations to defer screen rotation to
hardware if available.
- Add audio batch callback that improves performance of certain libsnes
implementations.
- Add *_equal semantics to state tracker. Allowing checking for multiple
buttons pressed at once. Useful for certain shaders.
- Fix bug with XAudio in nonblock mode.
- .cgp shaders can take absolute paths for shaders. Mostly useful on consoles.
- Add code to be able to cleanly reinit Cg.
- If output sample rate is not supported in OSS, do not fail, and use the
given rate.
- Fixup compatibility with very recent FFmpeg. Should now work seamlessly with v52/v53/v54 libav*.
- Add option to use FFV1 instead when support for H.264 recording is compiled in.
- If loading a library fails on Windows, the more precise error code is
logged.
- Movie playback doesn't fail if the recording and playing core doesn't match.
A warning will be logged instead.
- Allow stopping movie playback early.
- Add device selection to XAudio2 and DirectSound.
- BSV movie error handling is more lenient, and tries to give warnings about
possible incompatibilities rather than throw an error. (AlexFolland).
- Savestates that have path appended with ".auto" will be automatically loaded
on startup. Useful for arcade-style games.
- Lots of minor bug fixes and cleanups allround.
GUI
- Make the updater more intuitive to use by adding dedicated buttons for using
and downloading libsnes cores.
- Fix bug where torrentzipped archives were crashing the GUI.