VisualBoyAdvance (commonly abbreviated as VBA) is a free emulator of the Game Boy, Game Boy Color, and Game Boy Advance handheld game consoles[2] as well as of Super Game Boy and Super Game Boy 2.

VisualBoyAdvance icon
Original author(s)Forgotten
Developer(s)VBA Team
Stable release
1.7.2 (Windows)
1.7.1 (Linux, BeOS)
1.7.4 (Mac) / May 25, 2004; 18 years ago (2004-05-25)
Preview release
1.8.0 beta 3 / October 1, 2005; 16 years ago (2005-10-01)
Written inC, C++
Operating systemCross-platform
Size1.4 MB - 1.92 MB
Available inEnglish, French, German, Italian, Polish, Portuguese, Chinese, Spanish, Turkish (v.1.7 and above, for Windows only)
TypeConsole emulator
LicenseGPL-2.0-or-later Edit this on Wikidata
VisualBoyAdvance icon
Original author(s)Forgotten et al.
Developer(s)VBA-M Development Team
Stable release
2.1.4[1] / 17 April 2019; 3 years ago (2019-04-17)
Operating systemCross-platform
TypeConsole emulator
LicenseGPL-3.0 Edit this on Wikidata

Besides the DirectX version for the Windows platform, there is also one that is based on the free platform independent graphics library SDL. This is available for a variety of operating systems including Linux,[3] BSD, Mac OS X,[4] and BeOS. VisualBoyAdvance has also been ported to AmigaOS 4, AROS, GameCube, Wii, webOS, and Zune HD.[5]


The VisualBoyAdvance project was started by a developer under the online alias "Forgotten".[6][better source needed] When this person left the development of the emulator, the project was handed over to a team named "VBA Team", led by Forgotten's brother. Development on the original VisualBoyAdvance stopped in 2004 with version 1.8.0 beta 3, and a number of forked versions were made by various developers in the years since then, such as VisualBoyAdvance-M.[7]


VisualBoyAdvance-M, or simply VBA-M, is an improved fork from the inactive VisualBoyAdvance project,[7] adding several features as well as maintaining an up-to-date codebase. After VisualBoyAdvance became inactive in 2004, several forks began to appear such as VBALink, which allowed users to emulate the linking of two Game Boy devices. Eventually, VBA-M was created, which merged several of the forks into one codebase. Thus, the M in VBA-M stands for Merge.[8] There is also a RetroArch/Libretro port of VBA-M's GBA emulation core (without the GB, GBC and SGB cores)[9] as well as a modified version called VBA-Next.[10]


VisualBoyAdvance sports the following features:

In addition, VisualBoyAdvance-M adds the following:

  • HQ3x/4x pixel filters
  • Game Boy linking, over LAN and Internet

In conjunction with the Dolphin GameCube emulator, VBA-M supports linking GameCube and Game Boy Advance titles.[11][12]

Critical security flawEdit

The VBA emulator is vulnerable to arbitrary code execution through a feature that allows importation of cheat codes from files, which isn't protected against buffer overrun. By importing a malicious XPC file (usually containing a list of GameShark cheat codes), VBA and VBA-rr can execute arbitrary code contained within the file.

Proof-of-concept XPC files have been written for VBA 1.8.0 and VBA-rr,[13] but VBA-M is currently not known to be vulnerable.

See alsoEdit


  1. ^ Github - Latest Release
  2. ^ "Visual Boy Advance". The Emulator Zone.
  3. ^ i"VisualBoyAdvance-SDL". The Linux Game Tome. 15 February 2019.
  4. ^ "VisualBoyAdvance 1.7.2". Softonic.
  5. ^ "Visual Boy Advance GX". Google Code. 18 February 2022.
  6. ^ "Visual Boy Advance". NGEmu. Archived from the original on 2009-12-17. Retrieved 2009-11-18.
  7. ^ a b Brendan Hesse (2020-11-23). "The best console emulators (NES, SNES, Genesis, and more)". Digital Trends. Retrieved 2021-01-06.
  8. ^ "VBA-M (Archived - Now on Github)". SourceForge. Retrieved 2020-10-18.
  9. ^[dead link]
  10. ^ "GitHub - libretro/vba-next: Optimized port of VBA-M to Libretro". GitHub. 21 December 2021.
  11. ^ "VBA 1.8.0 & VBA-RR: Stack buffer overflow in XPC file parser results in code execution". TheZZAZZGlitch. 12 September 2016.

External linksEdit