The Game Boy Advance's buttons are mapped as follows:
For legal reasons, GBA.js is presented without any included games. Please click Select
below to choose a Game Boy Advance game image from your hard drive that you'd like to play.
The games must be uncompressed, so unzip them as needed.
Please note that this is a beta and there might be compatibility problems. More
information and a link to a compatibility table can be found on the sidebar. If you're
feeling daring, please submit problem reports to the GitHub page.
Game Boy Advance in the Browser
0 frames per second
How long did it take you to do this?
I started in early July. As of the first prototype, it took me five weeks. It's been
several more weeks since then, and I've put in several hours per day since starting on
this project, so that's a substantial number of hours.
Why isn't it working?
You need a very modern browser for this to work. It requires either a recent version of
Chrome (up-to-date preferably), Safari 6.0, Firefox 15+ or Opera 12. It might work in
IE 10, but definitely not before then. It's also particularly slow in Firefox and
Opera, so using Safari or Chrome is highly recommended.
Why is there no sound?
Firefox does not contain the functionality required to support sound without using a
plugin like Flash. It does not contain using Flash for sound, so you must use a browser
other than Firefox if you want sound.
Why is it so slow?
The Game Boy Advance runs at a clock speed of roughly 16.78MHz. That means it's doing
roughly seventeen million things per second. Although not all of those things are
calculations (a lot of them are waiting on memory to become available), that's still a
lot of things. While modern computers are more than a hundred times faster than that
As such, squeezing that much performance out of the browser is nearly impossible.
Fortunately, browsers and hardware are getting faster all the time, so very soon it
will be fast enough to play games at full speed. Meanwhile, I'll do all I can to make
it faster without upgrading your hardware or software. Also, it just runs slowly in
Firefox in general. I haven't put the time into figuring out why, but it's entirely
possible that Firefox just doesn't have the optimizations in place required to make
GBA.js run quickly.
Why the Game Boy Advance?
I grew up with the Game Boy Advance. It has scores of wonderful games, and it's not too
complicated hardware. However, it's complicated enough to push the boundaries of what
emulators on the internet before, and was inpsired to write this one by Grant Galitz's
amazing Game Boy Color emulator. But
instead of rehashing what had already been done, I wanted to try and write something
new. The Game Boy Advance was the perfect choice.
How good is compatibility?
Fairly decent! Most games run and are playable, although some will still crash at times
or lock up at specific points. Moreover, other minor bugs in graphics or sound are
still present, and I'm working on fixing those bugs. A compatibility list can be found
here. Please report any bugs you
find on the GitHub issue tracker.
If you're feeling daring, you can also run the
debug version, and post any useful information it spits out
in a problem ticket.
So this is cool and all, but what's the point?
There isn't really a point. I just wanted to make something cool.