Game Boy Advance¶
Overview¶
The Game Boy Advance (GBA) is Nintendo's 32-bit successor to the Game Boy Color. Launched in March 2001 in Japan and shortly after around the rest of the world, the system combined a 16.78 MHz ARM7TDMI CPU with a secondary Zilog Z80 for backwards compatibility with older Game Boy titles. REG-Linux treats every cartridge or ROM under the gba system group so metadata, themes and visual sets remain synchronized with the platform.
Technical specifications¶
- Manufacturer: Nintendo
- Release year: 2001
- Hardware type: portable
- CPU: 32-bit ARM7TDMI at 16.78 MHz plus Zilog Z80 at 8 MHz/4 MHz for Game Boy compatibility
- Memory: 32 KB IWRAM, 96 KB VRAM, and 256 KB palette/graphics RAM with optional flash expansion
- Display: 240×160 TFT LCD capable of 32,768 colors and up to 512 sprites with affine transformation
- Sound: Direct Sound stereo with two 16-bit DAC channels and a legacy 6-voice PSG
Supported ROM extensions¶
gba, zip, 7z
Quick reference¶
- Emulator: RetroArch
- Cores available: libretro: mGBA, libretro: VBA-M, libretro: gpsp
- ROM folder:
/userdata/roms/gba - Accepted ROM formats:
.gba,.zip,.7z - System group:
gba
BIOS¶
The Game Boy Advance BIOS file is optional, but installing it is the only way to see the original startup animation.
| MD5 checksum | Share file path | Description |
|---|---|---|
a860e8c0b6d573d191e4ec7db1b1e4f6 |
bios/gba_bios.bin |
Game Boy Advance BIOS |
ROMs¶
Store all Game Boy Advance images in /userdata/roms/gba.
Emulators¶
RetroArch¶
RetroArch is the frontend that runs every libretro core, sharing shaders, overlays, hotkeys, netplay, rewind and other features independent of the platform. REG-Linux exposes many of the same options through EmulationStation.
RetroArch configuration¶
While a core is running, open the Quick Menu with [HOTKEY] + the south face button (see controller configuration) to change controller mappings, core overrides, shaders and miscellaneous RetroArch settings.
Standardized features available to every Game Boy Advance core include gba.videomode, gba.ratio, gba.smooth, gba.shaders, gba.pixel_perfect, gba.decoration and gba.game_translation.
| ES setting name | REG-Linux.conf_key | Description & values |
|---|---|---|
| GRAPHICS API | gba.gfxbackend |
Choose OpenGL (opengl) or Vulkan (vulkan). |
| AUDIO LATENCY | gba.audio_latency |
Audio buffer size (256, 192, 128, 64, 32, 16, 8). Increase to reduce crackles, decrease once audio is stable. |
| THREADED VIDEO | gba.video_threaded |
Offload video processing to a second thread for performance (true On, false Off). |
libretro: mGBA¶
mGBA targets accuracy and speed, and it also simulates Game Boy and Game Boy Color titles. This core is the default for most GBA content because it balances features with performance.
libretro: mGBA configuration¶
| ES setting name | REG-Linux.conf_key | Description & values |
|---|---|---|
| SHOW BIOS BOOTLOGO | global.skip_bios_mgba |
Display the BIOS animation if the BIOS file exists. True shows it, False hides it. |
| SUPER GB BORDERS | gb.sgb_borders |
Show Super Game Boy borders for compatible games (False Off, True On). |
| COLOR CORRECTION (GB) | gb.color_correction |
Simulate LCD color inaccuracies (False, GBA). |
| SUPER GB BORDERS (GBC) | gbc.sgb_borders |
Super Game Boy borders for Game Boy Color titles (False, True). |
| COLOR CORRECTION (GBC) | gbc.color_correction |
LCD color simulation for Game Boy Color (False, GBC). |
| SOLAR SENSOR LEVEL | gba.solar_sensor_level |
Adjust the solar sensor used by Boktai-series carts (0-10). |
| FRAMESKIP | gba.frameskip_mgba |
Skip frames to ease performance (0-10). |
libretro: VBA-M¶
VBA-M is a continuation of VisualBoyAdvance with compatibility across GB, GBC and GBA titles along with enhanced debugging and filtering options.
libretro: VBA-M configuration¶
| ES setting name | REG-Linux.conf_key | Description & values |
|---|---|---|
| COLORIZATION (GB) | gb.palettes |
Choose Game Boy palettes: original gameboy, black and white, gba sp, blue sea, dark knight, green forest, hot desert, pink dreams, weird colors. |
| COLOR CORRECTION (GB) | gb.gbcoloroption_gb |
Simulate LCD color imperfections (disabled, enabled). |
| SUPER GB BORDERS (GB) | gb.showborders_gb |
Enable Super Game Boy borders (disabled, enabled). |
| COLOR CORRECTION (GBC) | gbc.gbcoloroption_gbc |
Simulate LCD imperfections for Game Boy Color (disabled, enabled). |
| SUPER GB BORDERS (GBC) | gbc.showborders_gbc |
Enable Super Game Boy borders for GBC (disabled, enabled). |
| SOLAR SENSOR LEVEL | gba.solarsensor |
Adjust Boktai-style solar sensor input (0-10). |
| SENSOR SENSITIVITY (GYRO) | gba.gyro_sensitivity |
Gyro control sensitivity, akin to 10-120. |
| SENSOR SENSITIVITY (TILT) | gba.tilt_sensitivity |
Tilt input sensitivity for Gyro-enabled experiences (10-120). |
libretro: gpsp¶
gpsp is another open-source Game Boy Advance core focused on performance. Use RetroArch's Quick Menu to adjust per-game and core options exactly as you would for the other cores above.
Controls¶
Here are the default Game Boy Advance controls as mapped to the REG-Linux Retropad:
