This release is going to be unique from previous releases. I am only recommending that developers use this version. As such, only the source archive has been posted. I strongly recommend against Linux package maintainers updating to this build. Casual users should wait for the next release.
This release introduces a brand new user interface. It looks and functions exactly like the previous release, but it is built entirely on a declarative model: the GUI does not know about any individual systems that it supports. It pulls all of this information from a vector of emulated system objects instead. With the same amount of functionality, the new GUI is 66% smaller than the old GUI, code-wise.
In fact, it actually does more. You can now easily add (and remove) entire systems from bsnes
with only three lines of code. Input mapping is now more advanced and allows multiple bindings per input.
But there is one critical thing it no longer does: the new GUI does not load individual ROM files. It requires the cartridge-folder concept that is still in development. It further requires a manifest to describe the PCB functionality. The code to handle both modes is $#@!bersome, and I did not wish to write it again.
Right now, the problem is that we donīt have user-friendly tools to make using cartridge folders easy. As such, this is why Iīve chosen not to release binaries this time. Itīs my hope that in the interim between v089 and v090, we can bring in developers willing to make the process completely transparent.
And now is a perfect stopping point. Tom has just finished the English script translation for Far East of Eden Zero, so my efforts need to focus on reprogramming this game. This will require my absense from emulator programming for a while. Hopefully during that time, appropriate tools can be made for the next release. My hope is for v090 to be as easy to use as the old Qt releases were, with direct loading of compressed archives and headered images.
That said, this release also fixes some reported emulation bugs. Mini Yonku Shining Scorpion was broken for a bit due to incorrect SA-1
register initialization. Air Strike Patrol surprises us with a second mid-scanline raster effect, which disproved an older theory of mine on the BG scroll registers, and is now emulated correctly as well. There is also a world of internal code restructuring. All processor instruction sets are separated from the functionality built on top of them (for instance, the ST018 and GBA can share core ARM instructions.) Now that libsnes has been superceded by libretro, Iīve moved to a complete emulator abstraction in C++ that works with all of my emulators. And last but not least, thereīs a new cheats.xml from mightymo bundled in this release as well.