MCPcopy Create free account
hub / github.com/dborth/vbagx

github.com/dborth/vbagx @3.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.0.0 ↗ · + Follow
2,085 symbols 5,239 edges 174 files 618 documented · 30% updated 3d agoPre-release · 2022-12-02★ 328

Browse by type

Functions 1,945 Types & classes 140
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Visual Boy Advance GX

https://github.com/dborth/vbagx (Under GPL License)

Visual Boy Advance GX is a modified port of VBA-M. With it you can play GBA/Game Boy Color/Game Boy games on your Wii/GameCube.

TABLE OF CONTENTS

NIGHTLY BUILDS

Download the latest builds from continuous integration:

Name Status File
Visual Boy Advance GX Wii/Wii U Build Status Emulator
Visual Boy Advance GX GameCube Build Status Emulator

FEATURES

  • Wiimote, Nunchuk, Classic, Wii U Pro, and Gamecube controller support
  • Wii U GamePad support (requires homebrew injection into Wii U VC title)
  • Rotation sensors, Solar sensors, and Rumble support
  • Optional special Wii controls built-in for some games
  • SRAM and State saving
  • IPS/UPS patch support
  • Custom controller configurations
  • SD, USB, DVD, SMB, Zip, and 7z support
  • Compatibility based on VBA-M r1231
  • MEM2 ROM Storage for fast access
  • Auto frame skip (optional) for those core heavy games
  • Turbo speed, video zooming, widescreen, unfiltered, and 240p video options
  • Video filters - hq2x, Scale2x, Scanlines, 2xBR, DDT
  • Native loading/saving of ROMS and SRAM from Goomba (a GB emulator for GBA)
  • Screenshots can be displayed on the main menu
  • Fixed pixel ratio mode (1x, 2x, and 3x)
  • Borders (from Super Game Boy games or custom from .png)

UPDATE HISTORY

[3.0.0 - July 6, 2026]

  • Added video filters - hq2x, Scale2x, Scanlines, 2xBR, DDT
  • Optimized video rendering
  • Replaced C texture generation with optimized PPC ASM
  • Improved audio code
  • Refactored/improved synchronization and frameskip handling
  • Numerous VBA-M core performance optimizations
  • New blur effect when pausing a game
  • Rewritten in-game cursor
  • Reworked save/load device and preferences logic
  • Fixed crash when removing devices (eg: SD/USB)
  • Fixed flashes/artifacts/colors when switching video modes
  • Streamlined/enhanced build
  • General performance enhancements
  • Other general enhancements
  • Compiled with latest devkitPPC/libogc2

[2.5.1 - April 13, 2026]

  • Compiled with latest devkitPPC/libogc2

[2.5.0 - July 30, 2025]

  • Added GC Loader support (mrysav)
  • Compiled with latest devkitPPC/libogc2

[2.4.9 - May 18, 2025]

  • Compiled with latest devkitPPC/libogc2
  • Updated MBC2 save handling (saulfabregwiivc)
  • Increased max zoom to 1.6 for GB/GBA

[2.4.8 - March 30, 2024]

  • Added L+R+START for return to the menu for GCN controller (saulfabreg)
  • Fixed MBC2 data saving for F-1 Race, Kirby's Pinball Land, etc. (saulfabreg, based on fix from Steelskin)
  • Fixed MBC7 data saving for Kirby Tilt 'n' Tumble (saulfabreg, based on fix from Steelskin)
  • Compiled with latest devkitPPC/libogc
  • Added Swedish translation (IsakTheHacker)
  • Updated translations

[2.4.7 - July 31, 2023]

  • Compiled with latest devkitPPC/libogc
  • Switch to chosen video mode on first load if not automatic
  • Fixed a crash upon relaunching after removing a SD/USB device (InfiniteBlueGX)

[2.4.6 - June 15, 2022]

  • Compiled with latest devkitPPC/libogc
  • Added "Enable Turbo Mode" toggle to the Video Settings menu (based on InfiniteBlueGX's code)
  • Updated translations
  • Improved forwarder support

[2.4.5 - March 23, 2021]

  • Added L+R+START for back to menu for Wii Classic Controller
  • Updated French translation (thanks Tanooki16!)
  • Fixed issue with displaying screenshots

[2.4.4 - February 6, 2021]

  • Fixed SD2SP2 / SD gecko issues (again)

[2.4.3 - January 31, 2021]

  • Fixed SD2SP2 issues
  • Changed max game image dimensions to 640x480 to support screenshots

[2.4.2 - January 18, 2021]

  • Compiled with latest devkitPPC/libogc
  • Added ability to change the player mapped to a connected controller
  • Significant memory usage reductions (fonts and loading cover images)
  • Other minor fixes

[2.4.1 - June 29, 2020]

  • Compiled with latest devkitPPC/libogc
  • Fixed some 3rd party controllers with invalid calibration data
  • Translation updates
  • Added Wii U vWii Channel, widescreen patch, and now reports console/CPU speed
  • Added support for serial port 2 (SP2 / SD2SP2) on Gamecube
  • Fixed Wii U Pro controller button mapping not being used in one case
  • Fixed ZL button mapping for Wii U GamePad
  • Other minor fixes

[2.4.0 - April 13, 2019]

  • Fixed crash when used as wiiflow plugin
  • Fixed crash on launch when using network shares
  • Fixed issues with on-screen keyboard
  • Updated Korean translation

[2.3.9 - January 25, 2019]

  • Added ability to load external fonts and activated Japanese/Korean translations. Simply put the ko.ttf or jp.ttf in the app directory
  • Added ability to customize background music. Simply put a bg_music.ogg in the app directory
  • Added ability to change preview image source with + button (thanks Zalo!)
  • Fixed issue with resetting motion controls
  • Fixed issue with Mode 0 graphics transparency

[2.3.8 - January 4, 2019]

  • Restored changes lost from 2.3.0 core upgrade (GameCube virtual memory, optimizations from dancinninjac, GB color palettes, rotation/tilt for WarioWare Twisted, in-game rumble)
  • Improved WiiFlow integration
  • Fixed controllers with no analog sticks
  • Added Wii U GamePad support (thanks Fix94!)

[2.3.7 - August 28, 2018]

  • Allow loader to pass two arguments instead of three (libertyernie)
  • don't reset settings when going back to an older version
  • Fix a few potential crashes caused by the GUI
  • Other minor fixes/improvements
  • Compiled with latest libOGC/devkitPPC

[2.3.6 - December 11, 2016]

  • Restored Wiiflow mode plugin by fix94
  • Restored fix filebrowser window overlapping
  • Change all files End Of Line to windows mode
  • Remove update check for updates

[2.3.5 - December 10, 2016]

  • Hide saving dialog that pops up briefly when returning from a game

[2.3.4 - September 15, 2016]

  • Added the delete save file (SRAM / Snapshot) option
  • Changed the box colors for the SRAM and Snapshots files to match the color scheme of the emu GUI
  • Change the "Power off Wii" exit option to completely turn off the wii, ignoring the WC24 settings
  • Updated settings file name in order to have it's own settings file name
  • Added an option to switch between screenshots, covers, or artwork images, with their respective named folders at the device's root. You can set which one to show, by going to Settings > Menu > Preview Image. The .PNG image file needs to have the same name as the ROM (e.g.: Mother 3.png)
  • Removed sound from GUI (thanks to Askot)
  • Added option to switch between the Green or Monochrome GB color screen. You can set which one to show by going to Settings > Emulation > GB Screen Palette

[2.3.3 - June 25, 2016]

  • Fixed the GC pad Down input on the File browser window
  • Added Koston's green gb color screen
  • Added the Screenshot Button
  • Increased and Centered the Screenshot image and reduce game list width
  • Added a background for the preview image
  • Added the WiiuPro Controller icon on the controller settings
  • Fix DSI error / Bug from Emulator Main Menu

[2.3.2 - March 4, 2015] - libertyernie

  • Wii U: if widescreen is enabled in the Wii U setting, VBA GX will use a 16:9 aspect ratio, except while playing a game with fixed pixel mode turned on
  • There are now three options for border in the emulation settings menu (see "Super Game Boy borders" section for details)
  • PNG borders now supported for GBA games
  • Video mode "PAL (50Hz)" renamed to "PAL (576i)"
  • Video mode "PAL (60Hz)" renamed to "European RGB (480i)"
  • 240p support added (NTSC and European RGB modes)
  • All video modes now use a width of 704 for the best pixel aspect ratio

[2.3.1b - November 8, 2014] - Glitch

  • Added FIX94's libwupc for WiiU Pro Controllers
  • Added tueidj's vWii Widescreen Fix

[2.3.1 - October 14, 2014] - libertyernie

  • Super Game Boy border support
  • Borders can be loaded from (and are automatically saved to) PNG files
  • Any border loaded from the game itself will override the custom PNG border
  • Custom palette support from 2.2.8 restored
  • Option added to select Game Boy hardware (GB/SGB/GBC/auto)
  • Fixed pixel ratio mode added
  • Overrides zoom and aspect ratio settings
  • To squish the picture so it appears correctly on a 16:9 TV, you can open the settings.xml file and add 10 to the gbFixed/gbaFixed value. However, setting your TV to 4:3 mode will yield a better picture.
  • Real-time clock fixes for GB/GBC games, including Pokémon G/S/C
  • RTC data in save file stored as little-endian
  • Option added for UTC offset in the main menu (only required if you use the same SRAM on other, time-zone-aware platforms)
  • New option for selecting "sharp" or "soft" filtering settings
  • "Sharp" was the default for 480p, "soft" was the default for 480i

[2.3.0 - September 10, 2014] - libertyernie

  • VBA-M core updated to r1231
  • Tiled rendering used for GBA games (new VBA-M feature, originally from RetroArch) - provides a major speed boost!
  • Changes from cebolleto's version
  • Screenshots can be displayed for each game on the menu
  • Nicer 7-Zip support
  • When you leave a folder, the folder you just left will be selected
  • New options available:
  • Disable the " Auto" string being appended to save files
  • Disable frameskip entirely on GBA
  • Keyboard fixed (from libwiigui r56)
  • GUI prompt is now purple instead of green (button colors more intuitive)
  • Goomba and Goomba Color ROM support:
  • Any Game Boy ROM stored within a Goomba ROM can be loaded "natively" in the Game Boy (Color) emulator (or the Goomba ROM can be loaded as GBA)
  • Game Boy SRAM stored within Goomba SRAM is loaded and saved correctly

[2.2.8 - July 29, 2012]

  • Fixed lag with GameCube controllers

[2.2.7 - July 7, 2012]

  • Fixed PAL support

[2.2.6 - July 6, 2012]

  • Support for newer Wiimotes
  • Fixed missing audio channel bug (eg: in Mario & Luigi: Superstar Saga)
  • Improved controller behavior - allow two directions to be pressed simultaneously
  • Compiled with devkitPPC r26 and libogc 1.8.11

[2.2.5 - May 15, 2011]

  • Added Turkish translation

[2.2.4 - March 23, 2011]

  • Fixed browser regressions with stability and speed

[2.2.3 - March 19, 2011]

  • Improved USB and controller compatibility (recompiled with latest libogc)
  • Enabled SMB on GameCube (thanks Extrems!)
  • Added Catalan translation
  • Translation updates

[2.2.2 - October 7, 2010]

  • Fixed "blank listing" issue for SMB
  • Improved USB compatibility and speed
  • Added Portuguese and Brazilian Portuguese translations
  • Channel updated (improved USB compatibility)
  • Other minor changes

[2.2.1 - August 14, 2010]

  • IOS 202 support removed
  • USB 2.0 support via IOS 58 added - requires that IOS58 be pre-installed
  • DVD support via AHBPROT - requires latest HBC

[2.2.0 - July 22, 2010]

  • Fixed broken auto-update

[2.1.9 - July 20, 2010]

  • Reverted USB2 changes

[2.1.8 - July 14, 2010]

  • Ability to use both USB ports (requires updated IOS 202 - WARNING: older versions of IOS 202 are NO LONGER supported)
  • Hide non-ROM files
  • Other minor improvements

[2.1.7 - June 20, 2010]

  • USB improvements
  • GameCube improvements - audio, SD Gecko, show thumbnails for saves
  • Other minor changes

[2.1.6 - May 19, 2010]

  • DVD support fixed
  • Fixed some potential hangs when returning to menu
  • Video/audio code changes
  • Fixed scrolling text bug
  • Other minor changes

[2.1.5 - April 9, 2010]

  • Fix auto-save bug

[2.1.4 - April 9, 2010]

  • Fixed issue with saves (GBA) and snapshots (GB)
  • Most 3rd party controllers should work now (you're welcome!)
  • Translation updates (German and Dutch)
  • Other minor changes

[2.1.3 - March 30, 2010]

  • Fixed ROM allocation. Should solve some unexplained crashes
  • Numerous performance optimizations (thanks dancinninja!)
  • DVD / USB 2.0 support via IOS 202. DVDx support has been dropped. It is highly recommended to install IOS 202 via the included installer
  • Multi-language support (only French translation is fully complete)
  • Thank you to everyone who submitted translations
  • SMB improvements/bug fixes
  • Minor video & input performance optimizations
  • Disabling rumble now also disables in-game rumbling
  • Fixed saving of GB screen position adjustment

[2.1.2 - December 23, 2009]

  • Numerous core optimizations (thanks dancinninjac!)
  • File browser now scrolls down to the last game when returning to browser
  • Auto update for those using USB now works
  • Fixed scrollbar up/down buttons
  • Minor optimizations

[2.1.1 - December 7, 2009]

  • Save state corruption issues fixed

[2.1.0 - December 2, 2009]

  • Fixed SMB (for real this time!)

[2.0.9 - November 30, 2009]

  • Fixed SMB
  • Added separate horizontal/vertical zoom options, and separate GB/GBA ones
  • Improved scrolling timing - the more you scroll, the fast it goes
  • Fixed reset button on Wii console - now you can reset multiple times
  • APU optimization (dancinninjac)
  • Minor code optimizations
  • Reduce memory fragmentation - fixes out of memory crashes

[2.0.8 - October 7, 2009]

  • Revamped filebrowser and file I/O
  • Fixed MBC2 saving/loading
  • Fixed some GB-Z80 instructions
  • DVD loading in GameCube should work now (un

Core symbols most depended-on inside this repo

Shape

Function 1,533
Method 412
Class 135
Enum 5

Languages

C++93%
C7%

Modules by API surface

source/vba/gba/GBA-arm.cpp230 symbols
source/vba/gba/GBA-thumb.cpp107 symbols
source/vba/gba/GBA.cpp79 symbols
source/vba/gb/GB.cpp68 symbols
source/menu.cpp64 symbols
source/gui/gui_element.cpp56 symbols
source/vbasupport.cpp48 symbols
source/inputmortalkombat.cpp44 symbols
source/videofilters.cpp41 symbols
source/vba/gba/Cheats.cpp41 symbols
source/vba/gba/Sound.cpp40 symbols
source/vba/apu/Multi_Buffer.h38 symbols

For agents

$ claude mcp add vbagx \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page