News
bsnes v061 beta released2010-03-07
Please keep in mind that
bsnes v060 remains the current stable release. v061 has been released as a work-in-progress build. As such, it is only available at Google Code.
I am releasing this WIP to allow the public to test out and comment on the new XML mapping system, as well as the integration of mightymo´s cheat code database into the cheat editor. I would greatly appreciate feedback on these two on the forums.
There are some important issues with this release. The biggest is the move to C++0x. This requires GCC 4.4.0 or newer to compile, thus it is not currently possible to build this on OS X using Xcode. Nor would it be possible on certain BSDs or older distros. If you have an older compiler, please stick with v060, or use a binary release where available.
Another issue is that TDM/GCC 4.4.1 for Windows crashes with an internal compiler error when attempting to generate a profile for the DSP-1 module. This is a bug in the compiler, and not in the code itself. The workaround is to simply omit profile-guided optimization for this one object.
Lastly, there´s also a known bug in the memory mapping. If you load an
SA-1 game, SuperFX games will not load properly afterward unless you restart the emulator. I´m looking into the cause now, but it didn´t seem serious enough to hold up a WIP release.
So, yes. If you want a good gaming experience that´s been fully tested and stable, please stick with v060. If you want to see some bleeding edge features, I´d appreciate feedback on v061. Thanks for reading this.
Changelog:
* added mightymo´s cheat code database, access via "Find Cheat Codes" button on cheat editor window
* added an option to temporarily disable all cheat codes quickly
* debugger now properly uses S-SMP IPLROM when needed for disassembling and tracing
* indexed indirect read opcodes in the S-CPU were testing for IRQs one cycle too early [someone42]
* fix an off-by-one array iteration in S-PPU OAM rendering [PiCiJi]
* added some implicit linked libraries to linker flags for Fedora [belegdol]
* moved from C++98 to C++0x, resulting in substantial code cleanups and simplifications
* C++0x: implemented foreach() concept for linear container iteration
* C++0x: implemented concept system using SFINAE and type traits
* C++0x: utilized auto keyword to increase source readability
* C++0x: moved to strongly-typed enumerators
* C++0x: rewrote va_list-based code to use type-safe variadic templates
* C++0x: replaced noncopyable class with deleted default copy functions
* C++0x: replaced custom static_assert template class with built-in version
* C++0x: utilized rvalue references to implement move semantics into string, array, vector and serialization classes
* C++0x: utilized std::initializer_list for { ... } initialization support to lstring, array and vector classes