Jump to content

Recommended Posts

Available here --> http://byuu.org/?page=bsnes&bg=3


This release adds emulation of the GBA.

Unfortunately the source code archive is in an unknown format and cannot be opened.

The binary is fine though.


bsnes v088 released


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.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...