Difference between revisions of "MGBA"

From Emulation General Wiki
Jump to navigation Jump to search
(Categories replaced)
 
(8 intermediate revisions by 5 users not shown)
Line 4: Line 4:
 
|logo = Mgba-logo.png
 
|logo = Mgba-logo.png
 
|logowidth = 140
 
|logowidth = 140
|version = {{mGBAVer}}
+
|version = {{Version|mGBA}}
 
|active = Yes
 
|active = Yes
|platform = Windows, macOS, Ubuntu, 3DS, Wii Switch, PS Vita
+
|platform = [[Emulators on Windows|Windows]]<br/>[[Emulators on macOS|macOS]]<br/>[[Emulators on Linux|Linux]]<br>[[Emulators on BSD|FreeBSD]]<br/>[[Emulators on Android|Android]] (RetroArch)<br/>[[Emulators on iOS|iOS]] (RetroArch)<br/>[[Emulators on 3DS|3DS]]<br/>[[Emulators on Wii|Wii]]<br/>[[Emulators on Switch|Switch]]<br/>[[Emulators on Vita|Vita]]
 
|target = [[Game Boy Advance emulators|Game Boy Advance]]<br/>[[Game Boy/Game Boy Color emulators|Game Boy]]<br/>[[Game Boy/Game Boy Color emulators|Game Boy Color]]
 
|target = [[Game Boy Advance emulators|Game Boy Advance]]<br/>[[Game Boy/Game Boy Color emulators|Game Boy]]<br/>[[Game Boy/Game Boy Color emulators|Game Boy Color]]
 
|developer = [https://github.com/endrift Vicki Pfau (endrift)]
 
|developer = [https://github.com/endrift Vicki Pfau (endrift)]
Line 17: Line 17:
 
}}
 
}}
  
'''mGBA''' is a free and open-source [[Game Boy/Game Boy Color emulators|Game Boy/Color]] and [[Game Boy Advance emulators|Game Boy Advance emulator]] developed by endrift. Being written from scratch, it aims for speed, accuracy, and portability. As of yet, it's the most complete GBA emulation effort, passing the older project [[VisualBoy_Advance|VBA and its forks]]. It is also available as a [[Libretro]] core for [[RetroArch]].
+
'''mGBA''' is a free and open-source [[Game Boy/Game Boy Color emulators|Game Boy/Color]] and [[Game Boy Advance emulators|Game Boy Advance emulator]] developed by endrift. Being written from scratch, it aims for speed, accuracy, and portability. As of yet, it's the most complete GBA emulation effort, passing the older project [[VisualBoy_Advance|VBA and its forks]]. It is also available as a [[Libretro]] core for [[RetroArch]]. As of 0.9.0, mGBA with a stripped-down GUI has been integrated into [[Dolphin]] recently for games supporting connectivity features.<ref>[https://dolphin-emu.org/blog/2021/07/21/integrated-gba/ mGBA Integration: Introducing the Integrated GBA]</ref>
  
 
==Download==
 
==Download==
 
{| cellpadding="4"
 
{| cellpadding="4"
 
|-
 
|-
|align=center|{{Icon|Win|Lin|Mac|NX|3DS|Vita|Wii}}
+
|align=center|{{Icon|Win|Lin|Mac}}
|'''[https://mgba.io/downloads.html#current-downloads mGBA Stable and Nightly builds]'''
+
|'''[https://mgba.io/downloads.html#current-downloads mGBA Stable and Nightly builds for computers]'''
 +
|-
 +
|align=center|{{Icon|NX|3DS|Vita|Wii}}
 +
|'''[https://mgba.io/downloads.html#current-downloads mGBA Stable and Nightly builds for consoles (homebrew)]'''
 
|-
 
|-
 
|align=center|{{Icon|Win|Lin|Mac}}
 
|align=center|{{Icon|Win|Lin|Mac}}
Line 34: Line 37:
 
* Extensive hardware-based emulation that removes the need for game-specific patches
 
* Extensive hardware-based emulation that removes the need for game-specific patches
 
** Solar sensor emulation for the Boktai series
 
** Solar sensor emulation for the Boktai series
** Tilt sensor emulation for games like WarioWare: Twisted! and Yoshi's Universal Gravity
+
** Tilt sensor emulation for games like WarioWare: Twisted! and Yoshi Topsy-Turvy (Yoshi's Universal Gravitation)
 
** Rumble Pak emulation for games like Drill Dozer and WarioWare: Twisted!
 
** Rumble Pak emulation for games like Drill Dozer and WarioWare: Twisted!
 
** Battle Chip Gate, Progress Chip Gate, and Beast Link Gate emulation for Rockman.EXE 4, 4.5, 5, and 6
 
** Battle Chip Gate, Progress Chip Gate, and Beast Link Gate emulation for Rockman.EXE 4, 4.5, 5, and 6
Line 60: Line 63:
 
==Manual (CLI version)==
 
==Manual (CLI version)==
 
:''<small>'''Note:''' The [[Emulation on Ubuntu|Ubuntu]] version consists of both a command-line version (<code>mgba-sdl</code>) and GUI version (<code>mgba-qt</code>). The command-line version does not need to be installed if you aren't going to run it. The main dependency for both is <code>libmgba</code>.</small>''
 
:''<small>'''Note:''' The [[Emulation on Ubuntu|Ubuntu]] version consists of both a command-line version (<code>mgba-sdl</code>) and GUI version (<code>mgba-qt</code>). The command-line version does not need to be installed if you aren't going to run it. The main dependency for both is <code>libmgba</code>.</small>''
<pre>usage: mgba [option ...] file
+
<pre>usage: mgba-qt [option ...] file
  
 
Generic options:
 
Generic options:
   -b, --bios FILE     GBA BIOS file to use
+
   -b, --bios FILE           GBA BIOS file to use
   -c, --cheats FILE   Apply cheat codes from a file
+
   -c, --cheats FILE         Apply cheat codes from a file
   -g, --gdb           Start GDB session (default port 2345)
+
  -C, --config OPTION=VALUE  Override config value
   -v, --movie FILE   Playback a movie of recorded input
+
  -d, --debug                Use command-line debugger
   -p, --patch FILE   Apply a specified patch file when running
+
   -g, --gdb                 Start GDB session (default port 2345)
   -s, --frameskip N   Skip every N frames
+
   -l, --log-level N          Log level mask
   --version           Print version and exit
+
  -t, --savestate FILE       Load savestate when starting
 +
   -p, --patch FILE           Apply a specified patch file when running
 +
   -s, --frameskip N         Skip every N frames
 +
   --version                 Print version and exit
  
 
Graphics options:
 
Graphics options:
   -1               1x viewport
+
   -1, -2, -3, -4, -5, -6, -7, -8  Scale viewport by 1-8 times
  -2               2x viewport
+
   -f, --fullscreen                Start full-screen
  -3               3x viewport
+
   --scale X                      Scale viewport by X times
   -4              4x viewport
+
 
   -5              5x viewport
+
Frontend options:
   -6              6x viewport
+
   --ecard FILE  Scan an e-Reader card in the first loaded game
   -f              Start full-screen</pre>
+
                Can be passed multiple times for multiple cards
 +
   --mb FILE    Boot a multiboot image with FILE inserted into the ROM slot</pre>
  
 
==References==
 
==References==
Line 95: Line 102:
 
[[Category:macOS emulation software]]
 
[[Category:macOS emulation software]]
 
[[Category:Linux emulation software]]
 
[[Category:Linux emulation software]]
 +
[[Category:BSD emulation software]]
 +
[[Category:Android emulation software]]
 
[[Category:iOS emulation software]]
 
[[Category:iOS emulation software]]
 
[[Category:3DS emulation software]]
 
[[Category:3DS emulation software]]
 
[[Category:Switch emulation software]]
 
[[Category:Switch emulation software]]
 
[[Category:PlayStation Vita emulation software]]
 
[[Category:PlayStation Vita emulation software]]

Latest revision as of 22:53, 6 January 2024

mGBA
Mgba-logo.png
Developer(s) Vicki Pfau (endrift)
Latest version 0.10.3 [+]
Active Yes
Platform(s) Windows
macOS
Linux
FreeBSD
Android (RetroArch)
iOS (RetroArch)
3DS
Wii
Switch
Vita
Emulates Game Boy Advance
Game Boy
Game Boy Color
Accuracy Highly-Accurate
Website mGBA
Support ($) Patreon
Programmed in C, C++
License MPL v2.0
Source code GitHub

mGBA is a free and open-source Game Boy/Color and Game Boy Advance emulator developed by endrift. Being written from scratch, it aims for speed, accuracy, and portability. As of yet, it's the most complete GBA emulation effort, passing the older project VBA and its forks. It is also available as a Libretro core for RetroArch. As of 0.9.0, mGBA with a stripped-down GUI has been integrated into Dolphin recently for games supporting connectivity features.[1]

Download[edit]

Windows Linux macOS mGBA Stable and Nightly builds for computers
Switch Nintendo 3DS Vita Wii mGBA Stable and Nightly builds for consoles (homebrew)
Windows Linux macOS medusa Dev builds

Notable features[edit]

  • NES Classic series compatibility
  • Local multi-pak link cable support, up to 4 players
  • Extensive hardware-based emulation that removes the need for game-specific patches
    • Solar sensor emulation for the Boktai series
    • Tilt sensor emulation for games like WarioWare: Twisted! and Yoshi Topsy-Turvy (Yoshi's Universal Gravitation)
    • Rumble Pak emulation for games like Drill Dozer and WarioWare: Twisted!
    • Battle Chip Gate, Progress Chip Gate, and Beast Link Gate emulation for Rockman.EXE 4, 4.5, 5, and 6
    • Real-time clock (Boktai series, Pokémon series, Rockman EXE 4.5 Real Operation), synced to system time or set arbitrarily
  • Support for BPS/beat, IPS and UPS patching at runtime, including ROMs in compressed archives (.7z/.zip)
  • Game overrides, forcing games to use specific save formats or sensors (tilt, solar, etc.)
  • Very basic cheat code support (AR, GS, CB), though without search options
  • Save states
  • Fast-forwarding and rewinding
  • e-Reader support
  • Dolphin/JOY bus link cable support

Some features that are still planned include[2]:

  • Networked multiplayer link cable support
  • M4A audio mixing, for higher quality sound than hardware
  • Re-recording support for tool-assist runs
  • Lua support for scripting
  • A comprehensive debug suite
  • Wireless adapter support (Mario Golf, Classic NES Series, Pokémon FireRed/LeafGreen/Emerald, the built-in software when no game is inserted)

medusa[edit]

medusa is a Nintendo DS emulator being developed by mGBA developer endrift[3]. The plan was for medusa to eventually merge with and replace mGBA sometime after mGBA 1.0 is released to form medusa 2.0, making it an emulator that could play GB/C, GBA, and NDS. Development began in 2016 and was expected to merge sometime in 2018. However, as of March 2018, medusa has been "suspended until further notice"[4] due to a slowdown in development for both medusa and mGBA. There is an alpha version available, but accuracy is spotty and some features are lacking.

Manual (CLI version)[edit]

Note: The Ubuntu version consists of both a command-line version (mgba-sdl) and GUI version (mgba-qt). The command-line version does not need to be installed if you aren't going to run it. The main dependency for both is libmgba.
usage: mgba-qt [option ...] file

Generic options:
  -b, --bios FILE            GBA BIOS file to use
  -c, --cheats FILE          Apply cheat codes from a file
  -C, --config OPTION=VALUE  Override config value
  -d, --debug                Use command-line debugger
  -g, --gdb                  Start GDB session (default port 2345)
  -l, --log-level N          Log level mask
  -t, --savestate FILE       Load savestate when starting
  -p, --patch FILE           Apply a specified patch file when running
  -s, --frameskip N          Skip every N frames
  --version                  Print version and exit

Graphics options:
  -1, -2, -3, -4, -5, -6, -7, -8  Scale viewport by 1-8 times
  -f, --fullscreen                Start full-screen
  --scale X                       Scale viewport by X times

Frontend options:
  --ecard FILE  Scan an e-Reader card in the first loaded game
                Can be passed multiple times for multiple cards
  --mb FILE     Boot a multiboot image with FILE inserted into the ROM slot

References[edit]

External links[edit]

Nintendo Game Boy Advance Emulators