mGBA
Original author(s)Vicki Pfau
Developer(s)mGBA Team
Initial releaseApril 4, 2013[1]
Stable release
0.10.3 / January 7, 2024; 10 months ago (2024-01-07)
Written inC
Operating systemmacOS
SizeTBA
Available inEnglish, Spanish, German, Korean, Polish[2]
TypeVideo Game Emulator
LicenseMPL v2.0
Websitemgba.io

mGBA is an open-source emulator that supports Game Boy Advance emulation, with later revisions adding backwards compatibility with Game Boy and Game Boy Color. The emulator is written in the programming languages C, and is designed for Microsoft Windows, macOS, Linux, Ubuntu, and FreeBSD. Official ports on Nintendo 3DS, Nintendo Switch, Wii, and PlayStation Vita were released through homebrew applications.

mGBA initially gained criticism due to the existence of other capable Game Boy Advance emulators such as the VisualBoyAdvance. After multiple revisions and continued support, the mGBA has since experienced a rise in popularity, with its core being used in multi-system emulators such as OpenEmu, RetroArch, and BizHawk. The emulator is also compatible with Dolphin, implementing the Game Boy Advance link cable through connectivity with GameCube games.[3][4]

History

edit

In 2012, Vicki Pfau, known as "endrift" online, was inspired to create a Game Boy Advance emulator in JavaScript, hoping to improve on previous emulators such as the VisualBoyAdvance. GBA.js started development in July of 2012 and a beta was published to Hacker News in October of the same year. The JavaScript code would later be converted to C, with the hopes of the software communicating on native hardware and being able to run competently on a Raspberry Pi. GBA.js would be put on an indefinite hold to focus on GBAc, later titled mGBA. The first version of mGBA, mGBA 0.1.0, was released on December 13, 2014.[5]

Versions and Compatibility

edit

Versions and Releases

edit

mGBA 0.1.0 was the first official release of mGBA. mGBA 0.1.1 released on January 24, 2015, fixing general issues after the first official version released one month earlier.

mGBA 0.2.0 released on April 3, 2015 and included several new features. This version included support for link cables and cheat codes, along with an improved user interface. mGBA 0.2.1 released on May 13, 2015, fixing general issues one month after version 0.2.0. This is the first version of the emulator to be ported on the Wii, Nintendo 3DS, and PlayStation Vita.

mGBA 0.3.0 released on August 16, 2015, including many quality of life features and improvements the user interface. mGBA 0.3.1 (October 24, 2015) and mGBA 0.3.2 (December 16, 2015) fixed general issues with the emulator.

mGBA 0.4.0 released on February 2, 2016. This version included customizable file paths, added shaders to the emulation settings, added controller hot swapping, and added a key for automatic button presses. This is the first version of mGBA that released as a core for OpenEmu, including fixes to the console ports. mGBA 0.4.1 (July 11, 2016) fixed general issues.

mGBA 0.5.0 released on September 19, 2016, including backwards compatibility with Game Boy and Game Boy Color. This version also added emulation of games made by the unlicensed game developer Vast Fame, improved support for cheat codes, and adding a temporary save data feature. Additionally, improvements were made to the console ports.

mGBA 0.6.0 released on July 16, 2017 after its beta release on June 29. This version included multiplayer support for Game Boy games, a game library directory, and more features for debugging. 0.6.0 would receive three major revisions over the course of two years, making it the version with the longest improvements until mGBA 0.10.0.

mGBA 0.7.0 released on January 26, 2019 and improved the accuracy of the Game Boy game emulation. This version included some support for games playable on the Super Game Boy and games compatible with the Game Boy Camera and Game Boy Printer. A console port for Nintendo Switch was made starting with this version.

mGBA 0.8.0 released on January 21, 2020. This version included XQ audio for improved audio emulated as a feature, support for the BattleChip Gate, interframe blending to create more accurate images, and a high-resolution OpenGL rendering engine. Additionally the "frame inspector" was added so users can look through frames of gameplay and export frames as a PNG for lossless quality. Support for the "Discord Rich Presence" allows users to view the specific emulated game they are playing on Discord. mGBA 0.8 has the most revisions fixing general issues with four versions in total.

mGBA 0.9.0 released on March 28, 2021. This version included full support for e-Reader compatible games and software, making it the second Game Boy Advance emulator to be compatible with the entire e-Reader library of games. It also included new user tools for converting save data and reporting bugs, recording in WebP and APNG file formats, and compatibility with Dolphin to play GameCube games using mGBA's Game Boy Advance system.

mGBA 0.10.0 released on October 11, 2022. This version included Lua scripting support, a built-in updater, improved audio sampling, added mapping support for unlicensed games, and a new refined version of mGBA for MacOS and Linux AppImage. Additionally, all Game Boy games could be played using the Game Boy Color and Super Game Boy's palette presets, as the games previously displayed in grayscale only. The emulator added support for the Super Game Boy Color, a previously non-existent mode that displays games with a border in color as well. Cheat codes have been added to the console ports of mGBA. The gyroscope and accelerometer in modern controllers such as the DualShock, DualSense, and Nintendo Switch Pro Controller can be used to control games that require motion detection.

Compatibility

edit

mGBA supports rumble from cartridges and rumble added through the Game Boy Player.

The accelerometer and gyroscope allow for Rotation and tilt controls in games that supported it

And some GB peripherals and special cartridge types are supported:

Game Boy/Color games run ok

Ghacks[6]

Limitations

edit

mGBA currently has a few game-specific compatibility issues relating to unsupported accessories.

In addition, some accessories are partially supported but are not compatible with their full library of games. This includes the Game Boy Camera, Super Game Boy, link cable for multiplayer, and certain cartridge types.

License

edit

The source code of mGBA is publicly available, but the license prohibits its commercial use.[7] The code is protected by the Mozilla Public License version 2.0.

medusa (emulator)

edit

On April 7, 2017, the first alpha for medusa was released.[8][9] This is a proof of concept Nintendo DS emulator, with the hopes of merging medusa with mGBA. medusa released with lacking DS features, such as missing save states, audio channels, and microphone support, along with many game-specific issues involving games with 3D graphics. The second alpha released on April 26, 2017, fixing many of the major issues addressed in the announcement. Currently, the medusa emulator is not under active development.

See also

edit

References

edit
  1. ^ "Initial commit · mgba-emu/Mgba@009bef8". GitHub. Retrieved February 25, 2024.
  2. ^ "mGBA languages". Hosted Weblate. Retrieved February 26, 2024.
  3. ^ JMC47 (2021-07-21). "mGBA Integration: Introducing the Integrated GBA". Dolphin Emulator. Retrieved 2024-02-26.{{cite web}}: CS1 maint: numeric names: authors list (link)
  4. ^ JMC47 (2021-04-24). "mGBA and Dolphin Connectivity". Dolphin Emulator. Retrieved 2024-02-26.{{cite web}}: CS1 maint: numeric names: authors list (link)
  5. ^ "Timeline". mGBA. Retrieved 2024-02-26.
  6. ^ Ashwin (2021-05-04). "mGBA is an excellent, cross-platform GBA emulator - gHacks Tech News". gHacks Technology News. Retrieved 2024-03-06.
  7. ^ "mgba/LICENSE at master · mgba-emu/mgba". GitHub. Retrieved 2024-04-15.
  8. ^ "A Taste of mGBA 2.0". mGBA. Retrieved 2024-02-26.
  9. ^ "GitHub - mgba-emu/mgba at medusa". GitHub. Retrieved 2024-02-26.
edit