Jump to content

SSNES v0.5 released


Recommended Posts

SSNES 0.5-final

 

SSNES is a simple frontend for the libsnes library. libsnes is the emulator core of bSNES, the most accurate SNES emulator to date, in library form. The libsnes API has been implemented by SNES9x as well, allowing multiple different cores to be used for an emulator that supports libsnes. This enables the possibility of custom front-ends for the emulator.

 

Changes since 0.4.1:

- Fix "missing buttons" input handling. Previous versions seemed to handle certain key presses in GUI, but didn't always in CLI. This should be fixed, if some buttons still don't respond, please report.

Added a notifying message to GUI about this.

- Fix bug in XML cheat handling on Win32.

- Reworked aspect ratio calculations for windowed mode. If force_aspect is enabled, xscale and yscale are calculated with respect to the aspect ratio. If not, it will be calculated with respect to the native SNES base resolution 256x224.

- Added new frame counter uniforms to XML shader and Cg shader interfaces for dynamic shaders.

(XML: uniform int rubyFrameCount;, Cg: float IN.frame_count).

- Added Makefiles and libraries to Github for building with Win64.

- Added possibility of booting Super Gameboy/BSX/Sufami roms from GUI.

- Added possibility to crop overscanned SNES frames (256x239 and interlaced variants) to regular resolution.

- Added .bmp screenshot support.

 

- Introduced new external plugin APIs. SSNES can now utilize video, audio, input drivers written using an external API. Audio DSP plugins are also supported with an external API.

The header definitions can be found on Github. The headers are C89 and C++ compatible:

Video/Input driver: https://github.com/Themaister/SSNES/blo ... es_video.h

Audio driver: https://github.com/Themaister/SSNES/blo ... es_audio.h

DSP plugin: https://github.com/Themaister/SSNES/blo ... snes_dsp.h

 

- Update DSP API a bit. Supports configuration callback (mapped to a keybind) which can easily support a GUI-ified plugin.

- Purged all default joypad buttons and axes from default config. Should fix that weird "why does some random button do this?" D:

- Added preliminary support for lookup textures in XML shaders. So far non-standard, semantics need to be discussed further. It currently supports plain TGA without extra libs, but can support "everything" through imlib2 if compiled in.

- GUI now checks if ssnes.cfg and ssnes-phoenix.cfg can be found in directory it resides in. If so, use that config. Should support completely portable folders. Since the behavior has changed now somewhat, if you have problems with weird config behavior, please delete or move configs.

- Fixed an awkward bug in Win32, where configs wouldn't always write to disk. (Relative paths are bad, mmkay?)

- Should fix some keys, notably tilde (SDLK_BACKQUOTE).

- Added an SSE3-optimized IIR filter as an example for DSP plugin.

 

- Fixed default config path in certain Linux distros where $XDG_CONFIG_HOME isn't even defined (wtf?!?!).

- Fixed more bugs regarding config handling in GUI in general.

- Included ssnes.cfg and ssnes-phoenix.cfg (empty) in Win32 release. The setup is thus portable from the get-go! :P

- Added Cg build possibilities to Makefile.win32/64. Needs Cg libs and headers which are provided at: https://github.com/downloads/Themaister ... -win32.zip

 

Win32 binaries (full libs):

https://github.com/downloads/Themaister ... 32-0.5.zip

 

Win32 SSNES binary with Cg support built in (get libs from link ...):

https://github.com/downloads/Themaister ... 0.5-cg.zip

 

Git tag:

https://github.com/Themaister/SSNES/tree/v0.5-final

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...