What's new

bsnes v088

winter_mute

Galactic FREAK
Moderator
Category: <b>SNES</b><br><br>bsnes is a Nintendo, Super Nintendo, and Game Boy Color emulator, that began development on 2004. It focuses on accuracy and clean code above all else. It never uses speed or compatibilty hacks. As a result, the minimum system requirements are greater than with other emulators.

bsnes.jpg


Here're release notes for v088 :
As promised from the last news update, this release adds preliminary Game Boy Advance emulation. It's not perfect by any means, but it's one of the better first releases I've put out. It emulates all GBA functionality with the exception of the link cable and ROM prefetch buffer, although being a first release, there are bound to be plenty of bugs lurking in the core. I'd of course love some help with bugfixes, if anyone is interested =)

It's important to note that the GBA emulation has not been optimized yet. The GBA is a more demanding system than the SNES, by way of a much faster CPU core and higher frequency audio. You can expect about ~150fps on average with a Core i7-class CPU for now, but please note that I do intend to improve upon this performance in future releases.

For a bit of backstory: this is basically a byproduct of SNES ST018 emulation. This processor ended up using an ARMv3 CPU core. And since the GBA uses an ARMv4 CPU core, it seemed like a good choice: we could improve the ARM emulation for the ST018, and emulate the final 2D-based Nintendo system.

In the end, it turned out to be harder than expected: it took about a month to complete the emulation core, and it was only this quick due to extensive help from Cydrak; who fixed numerous CPU bugs, emulated the affine and bitmap rendering modes, and also implemented the new GBA FIFO audio channel, among other things.

On a side note, thanks to Cydrak and krom's hardware testing, we do have a nice milestone right out of the gate: proper OBJ mosaic emulation, which seems to be a first. At the very least, hopefully this will be helpful to other emulators.

Note that you will need the GBA BIOS image to use this. There will not be any high-level emulation of the BIOS functions for obvious reasons. Name the file "bios.rom", and place it inside the "Game Boy Advance.sys" folder.

Check out project website for latest files and informations.
 

MasterPhW

Master of the Emulation Flame
byuu already released v089, but source only:
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 cumbersome, 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.

download
discuss
 
OP
winter_mute

winter_mute

Galactic FREAK
Moderator
byuu already released v089, but source only:
Yup, that's why news is about older, but fully functional 088 version. Keep in mind that emu should be run by all fans, not only developers.

I'll post another news when bsnes will have 'load ROM' functionality again... since then thanks for your alertness, and please wait for info concerning another bsnes releases.

Greets,
w_m.
 

Top