Visual Boy Advance GX

From WiiBrew
Jump to navigation Jump to search
Visual Boy Advance GX
Author(s)Tantric, Carl Kenner
TypeHandheld emulator
Downloadable via the Homebrew Browser
Wiimote4.svg SensorBar.svg Nunchuck alternative.svg ClassicController.svg GameCube Controller USB Keyboard USB Mouse DVD Loads files from SDHC cards in the Front SD slot USB mass storage device SD Gecko GameCube Memory Card Local WiFi Internet

Visual Boy Advance GX is a Game Boy Advance / Game Boy emulator for the Wii based on VBA-M. The GUI is powered by libwiigui.


  • Wiimote, Nunchuk, Classic, Gamecube controller, Mouse and Keyboard support
  • Rotation sensors, Solar sensors, and Rumble support
  • Optional special Wii controls built-in for some games
  • SRAM and State saving
  • IPS/UPS/PPF patch support
  • Custom controller configurations
  • SD, USB, DVD, SMB, GC Memory Card, Zip, and 7z support
  • Compatiblity based on VBA-M r847
  • MEM2 ROM Storage for fast access
  • Auto frame skip for those core heavy games
  • Turbo speed, video zooming, widescreen, and unfiltered video options

Notes from the Developer

  • Speed could still use some improvement. If anyone can make the code more efficient, knows PPC assembly, or can make it faster in any way, let me know.


  • If you are using the Homebrew Channel just copy the apps directory from the archive to the root of your SD card. If you are using another loader use the executables/vbagx_wii.dol.
  • ROMs & saves files should be stored in vbagx/roms and vbagx/saves on the root of your SD card or USB flash drive. You can copy the vbagx directory from the archive to your support drive. Your ROMs must be in ".gb", ".gbc" or ".gba" format.
  • Launch the emulator using your Loader.

Loading Games

From DVD

  • ROMs can be burned to a DVD-/+R (4.7GB max size & ISO 9660 file format) but you need to install DVDx on your Wii.

From Network (using SMB)

Using the emulator via network requires that your Wii is configured for your wireless network, and that you've set up a file share. You must provide a username, password, share name, and IP address to log in to the file server (in settings.xml). This XML file is created for you upon first loading the emulator and entering/exiting Preferences. Here's an example snippet for your XML configuration file:

<section name="Network" description="Network Settings">
   <setting name="smbip" value="" description="Share Computer IP" />
   <setting name="smbshare" value="wiifiles" description="Share Name" />
   <setting name="smbuser" value="yourusername" description="Share Username" />
   <setting name="smbpwd" value="yourpassword" description="Share Password" />

Also be sure to mirror the required directory structure within your share folder, or change the LoadFolder and SaveFolder values in the XML file. See the tinysmb page for additional information and troubleshooting.

Language Patches (IPS/UPS/PPF)

IPS files must be placed in the same folder as the ROM you are loading, and named identically to the ROM name, except with a IPS extension. They will be loaded automatically upon loading the game.

Patches can be used to colourise a monochrome gameboy game, or to translate a game into your language, or to stop the game from needing special hardware. Search the internet for patches. Many games have been translated by fans. They can be in IPS or UPS format. You don't need to patch anything yourself. Just put the IPS or UPS file in the vbagx/roms folder along with the rom itself. The patch must have the same name as the rom. Patches can not be put inside the ZIP file. If a rom is zipped, you might need to check inside the zip for the actual rom filename.

You must not use patched versions of Boktai roms! (Except for the translation patch for Boktai 3, which is highly recommended). The patches are for old emulators that don't support the solar sensor. VBA GX and NO$GBA support the solar sensor natively, and the patch will stop them from working.

You must also not use patched versions of WarioWare Twisted, Kirby's Tilt n Tumble, or Yoshi's Universal Gravitation (Topsy Turvy). The original roms are fully supported, and the patch will stop them from working.


In Menu

GameCube Controller Wiimote.svg WiimoteHorizontal.svg Wiimote.svg+Nunchuck alternative.svg ClassicController.svg Action
Gamecube D-Pad Up / Gamecube D-Pad Down or GameCube Control Stick Wiimote D-Pad Up / Wiimote D-Pad Down Wiimote D-Pad Up / Wiimote D-Pad Down Wiimote D-Pad Up / Wiimote D-Pad Down or Nunchuck Control Stick or Nunchuck C Button Classic D-Pad Up / Classic D-Pad Down or Classic Left Control Stick Move through the Menu
Gamecube D-Pad Left / Gamecube D-Pad Right or GameCube Control Stick Wiimote D-Pad Left / Wiimote D-Pad Right Wiimote D-Pad Left / Wiimote D-Pad Right Wiimote D-Pad Left / Wiimote D-Pad Right or Nunchuck Control Stick Classic D-Pad Left / Classic D-Pad Right or Classic Left Control Stick Page up / page down
Gamecube A Button Wiimote A Button Wiimote 2 Button Wiimote A Button Classic a Button Select menu item, change setting
Gamecube B Button Wiimote B Button Wiimote 1 Button Wiimote B Button Classic b Button Swap between list box and buttons
Wiimote HOME Button Wiimote HOME Button Wiimote HOME Button Classic HOME Button Exit (main menu), return to game (game menu)

Keyboard and mouse don't work in the menu yet, only in-game.

In Game (by default)

The controls can be changed in "Controller Configuration" menu.

GameCube Controller WiimoteHorizontal.svg Wiimote.svg+Nunchuck alternative.svg ClassicController.svg Action
GameCube D-Pad or GameCube Control Stick Wiimote D-Pad Wiimote D-Pad or Nunchuck Control Stick Classic D-Pad or Classic Left Control Stick GBA DPad
Gamecube A Button Wiimote 2 Button Nunchuck Z Button Classic b Button A
Gamecube B Button Wiimote 1 Button Nunchuck C Button Classic y Button B
GameCube L Trigger Wiimote B Button Wiimote 2 Button Classic L Trigger L
GameCube R Trigger Wiimote A Button Wiimote 1 Button Classic R Trigger R
GameCube Z Button Wiimote - Button Wiimote - Button Classic - Button SELECT
GameCube START Button Wiimote + Button Wiimote + Button Classic + Button START
Left Gamecube C Control Stick Wiimote HOME Button Wiimote HOME Button Classic HOME Button Emulator menu
Gamecube C Control Stick Right Wiimote A Button+Wiimote B Button Wiimote A Button+Wiimote B Button Classic Right Control Stick Right Turbo Mode
Gamecube C Control Stick Up/Down Classic Right Control Stick Up/Down Zoom In/Out

Match Wii Controls

Special Wii controls exist for many games. See link for more details.


2.0.1 - April 30, 2009

  • Multiple state saves now working
  • Built with more stable libogc/libfat
  • Fixed settings saving glitches
  • Fixed Mortal Kombat GameCube controller bug
  • Fixed Zelda DX palette bug
  • Fixed Harry Potter 1-3 keyboard bug

2.0.0 - April 27, 2009

  • New GX-based menu, with a completely redesigned layout. Has Wiimote IR support, sounds, graphics, animation effects, and more
  • Thanks to the3seashells for designing some top-notch artwork, to Peter de Man for composing the music, and a special thanks to shagkur for fixing libogc bugs that would have otherwise prevented the release
  • Onscreen keyboard for changing save/load folders and network settings
  • Menu configuration options (configurable exit button, wiimote orientation, volumes)
  • New save manager, allowing multiple saves and save browsing. Shows screenshots for Snapshot saves, and save dates/times
  • Added video shifting option
  • Added video mode selection (recommended to leave on Automatic)
  • ROM filenames are now displayed shortened by removing unnecessary characters from name
  • USB Mouse support (buttons only)
  • Keyboard shift key bug fixed
  • Built-in 14 colour palettes for some monochrome gameboy games (Magnetic Soccer, Malibu Beach Volleyball, Marble Madness, Metroid 2, Mortal Kombat, Mortal Kombat II, Mortal Kombat 3, Mr. Do!)
  • Rumble works in GBC games designed for rumble cartridges but shipped without rumble cartridges, such as Disney's Tarzan for GBC
  • Improved Mortal Kombat Wii Controls
  • Mortal Kombat games now have many extra characters to choose
  • Wii Controls for more Teenage Mutant Ninja Turtles games
  • Improved Lego Star Wars controls
  • Boktai menu now tells you when there can't be sun because it is night
  • Zelda cheat button removed
  • Minor bug fixes

1.0.9 - April 7, 2009

  • Gamecube controller should no longer rumble constantly

1.0.8 - April 6, 2009

  • "Match Wii Game" controls option! Games that have a Wii equivalent can be played using the controls for that Wii game. For example all Zelda games can be played with Twilight Princess controls.
  • Rotation/Tilt sensor games all work
  • Solar sensors (Boktai 1/2/3)
  • Rumble (except for games that rely on Gameboy Player)
  • Keyboard
  • PAL support, finally!
  • New scaling options, choose how much stretching you want
  • Colourised games now partially work but still have distortion
  • "Corvette" no longer has a screwed up palette (but still crashes)
  • Triggers net reconnection on SMB failure
  • Source code refactored, and project file added

1.0.7 - January 27, 2009

  • Updated to VBA-M r847
  • Corrected sound interpolation
  • Faster SD/USB - new read-ahead cache
  • Removed trigger of back to menu for Classic Controller right joystick
  • Fixed a bug with reading files < 2048 bytes
  • Fixed GBA games on GameCube
  • Fixed homebrew GBA games on GameCube
  • Fixed some memory leaks, buffer overflows, etc
  • Code cleanup, other general bugfixes

1.0.6 - December 24, 2008

  • Fixed save state saving bug
  • Fixed unstable SD card access
  • Proper SD/USB hotswap (Wii only)
  • Auto-update feature (Wii only)
  • Rewritten SMB access - speed boost, NTLM now supported (Wii only)
  • Improved file access code
  • Resetting preferences now resets controls
  • Minor bug fixes

1.0.5 - November 19, 2008

  • SDHC works now
  • Frameskipping tweaks
  • Fixed snapshot loading issue
  • Full widescreen support
  • Changed scaling
  • Zooming fixed (thanks eke-eke!)
  • PAL timing changes - EURGB60 mode forced
  • Wii - Added console/remote power button support
  • Wii - Added reset button support (resets game)
  • Wii - Settings file is now named settings.xml and is stored in the same folder as the DOL (eg: apps/vbagx/settings.xml)
  • GameCube - Added DVD motor off option
  • GameCube - Fixed GBA loading issue

1.0.4 - October 28, 2008

  • Complete port of VBA-M - now uses blaarg's new audio core, latest GB core
  • Frameskipping improvements
  • Sound processing improved - L-R channel reversal corrected, skipping fixed
  • Saving problems fixed, game compatibility improved
  • IPS/UPS/PPF patch support
  • SD/USB hot-swapping!
  • SDHC support
  • Zoom setting saved
  • Widescreen correction option
  • GameCube support is back, including Qoob support!

1.0.3 - October 15, 2008

  • New timing / frameskip algorithm - should (hopefully) work 100% better!
  • Performance improvements - video threading, PPC core partly activated
  • Video zooming option
  • Unfiltered video option
  • 7z support
  • Loading progress bars added

1.0.2 - October 6, 2008

  • New core! The core is now a custom combination of VBA-M and VBA 1.72
  • Added DVD, SMB, ZIP, GameCube MC support
  • Faster USB/SD speeds
  • Screen alignment and flickering problems fixed
  • 128K save support added
  • Better emulation speeds. Should now be nearly full speed all the time for most games.
  • Turbo speed feature. Mapped to right C-stick (classic controller & Gamecube controller), and A+B for wiimote
  • Controller mapping preferences bug fixed. Your preferences will reset automatically to correct any problems in your preferences file
  • Many other tweaks behind the scenes

1.0.1 - September 18, 2008

  • GBA games now run at full speed
  • Menu improvements, with spiffy new background - thanks brakken!
  • Fixed L/R buttons - they work now

1.0.0 - September 16, 2008

  • Now compiles with devkitpro r15
  • One makefile to make all versions
  • Complete rewrite based on code from SNES9x GX
  • Now has a menu! ROM selector, preferences, controller mapping, etc
  • Wiimote, Nunchuk, and Classic controller support
  • Button mapping for all controller types
  • Full support for SD and USB
  • Load/save preference selector. ROMs, saves, and preferences are saved/loaded according to these
  • 'Auto' settings for save/load - attempts to automatically determine your load/save device(s) - SD, USB
  • Preferences are loaded and saved in XML format. You can open VBAGX.xml edit all settings, including some not available within the program