Have you always wanted to contribute to an emulator? mGBA has reached a point where it is looking for more developers to help with the creation of the next generation Game Boy Advance emulator. As the scope of the project has expanded, the number of potential tasks to make it great has expanded, giving room for new developers to help. If you’d like to help, there are quite a few areas that are open.

The project is looking for developers to help in the following areas:

  • Qt frontend developers

    The primary frontend for mGBA is written in Qt 5, and there are a lot of cool features in the pipeline that would make mGBA really stand out, such as the advanced debugging interface, and the library view.

  • Windows developers and testers

    One of the largest pain points at the moment is the somewhat lackluster Windows support mGBA, with issues such as odd timing glitches. Developers experienced with things like WASAPI and Windows debugging, as well as being comfortable using MinGW-w64, are very valuable to the project at this point.

  • Low-level developers

    Although mGBA is already quite fast, there are a few features it could use to be even faster, including dynamic recompilers for ARM and MIPS, as well as hardware-accelerated rendering. If you’re willing to get your hands dirty with assembly, mGBA could use you.

  • Android developers

    Fact: Android users love emulators. mGBA has some rudimentary work towards an Android version, but at the moment it’s very raw. Getting an Android developer or two to help with the preliminary version would be much appreciated.

  • Skilled debuggers

    Like all software, mGBA is not without its share of bugs. Although the core emulation has very few known bugs at the moment, they do exist. The GUI, too, has a backlog of things to fix. If you know your way around gdb or lldb, now’s your time to shine.

  • Lots of other things, too!

    mGBA has a lot going on that could use improvement, and tons of features planned. Some of the more fun ones include more link modes, such as with Dolphin or over the network, and scripting support so you can make your own Twitch Plays game, so if you have something you think you could contribute, please get in contact or file a pull request!

If you’re interested in getting involved, there are many ways to start. If you already have something you want to contribute, just fork the repository on GitHub and file a pull request with your improvements. There are also forums and an IRC channel (#mgba on FreeNode) that you can use to get in contact. A tentative list of tasks is posted on the forums, and there are also two bug trackers, one on GitHub and one using Bugzilla, so take your pick and start working on something. Make sure to read the contributing guidelines before doing too much, and getting in touch to announce you’re working on something is a good idea, too.

Pull requests are welcome and encouraged now, so if you want to help, please do!