Difference between revisions of "MGBA"

From Emulation General Wiki
Jump to navigation Jump to search
(I took code from the Higan page...)
 
 
(87 intermediate revisions by 48 users not shown)
Line 1: Line 1:
{{infobox
+
{{lowercase title}}
|image =
+
{{Infobox emulator
|imagecaption =  
+
|title = mGBA
|imagewidth = 160
+
|logo = Mgba-logo.png
|first = 0.1.1
+
|logowidth = 140
|second = Active
+
|version = {{Version|mGBA}}
|third = Windows, OS X
+
|active = Yes
|fourth = mGBA
+
|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]]
|fifth = [https://endrift.com/mgba/ mGBA]
+
|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]]
|sixth = [https://github.com/mgba-emu/mgba/ GitHub]}}
+
|developer = [https://github.com/endrift Vicki Pfau (endrift)]
 +
|accuracy = Highly-Accurate
 +
|prog-lang = C, C++
 +
|website = [https://mgba.io/ mGBA]
 +
|support = [https://www.patreon.com/mgba Patreon]
 +
|license = MPL v2.0
 +
|source = [https://github.com/mgba-emu/mgba/ GitHub]
 +
}}
  
'''mGBA''' is a emulator of the Game Boy Advance. The goals are speed and accuracy.
+
'''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>
  
==Features==
+
==Download==
(taken from GitHub)
+
{| cellpadding="4"
 +
|-
 +
|align=center|{{Icon|Win|Lin|Mac}}
 +
|'''[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}}
 +
|'''[https://mgba.io/downloads.html#medusa-1 medusa Dev builds]'''
 +
|}
  
* Near full Game Boy Advance hardware support.
+
==Notable features==
* Fast emulation. Known to run at full speed even on low end hardware, such as netbooks.
+
* [https://mgba.io/2014/12/28/classic-nes/ NES Classic series compatibility]
* Qt and SDL ports for a heavy-weight and a light-weight frontend.
+
* Local multi-pak link cable support, up to 4 players
* Save type detection, even for flash memory size.
+
* Extensive hardware-based emulation that removes the need for game-specific patches
* Real-time clock support, even without configuration.
+
** Solar sensor emulation for the Boktai series
* A built-in BIOS implementation, and ability to load external BIOS files.
+
** Tilt sensor emulation for games like WarioWare: Twisted! and Yoshi Topsy-Turvy (Yoshi's Universal Gravitation)
* Turbo/fast-forward support by holding Tab.
+
** Rumble Pak emulation for games like Drill Dozer and WarioWare: Twisted!
* Frameskip, configurable up to 9.
+
** Battle Chip Gate, Progress Chip Gate, and Beast Link Gate emulation for Rockman.EXE 4, 4.5, 5, and 6
* Screenshot support.
+
** Real-time clock (Boktai series, Pokémon series, Rockman EXE 4.5 Real Operation), synced to system time or set arbitrarily
* 9 savestate slots. Savestates are also viewable as screenshots.
+
* Support for BPS/beat, IPS and UPS patching at runtime, including ROMs in compressed archives (.7z/.zip)
* Video and GIF recording.
+
* Game overrides, forcing games to use specific save formats or sensors (tilt, solar, etc.)
* Remappable controls for both keyboards and gamepads.
+
* Very basic cheat code support (AR, GS, CB), though without search options
* Loading from ZIP and 7z files.
+
* Save states <!-- would be more notable if it didn't support them -->
* IPS, UPS and BPS patch support.
+
* Fast-forwarding and rewinding
* Game debugging via a command-line interface (not available with Qt port) and GDB remote support.
+
* e-Reader support
* Configurable emulation rewinding.
+
* Dolphin/JOY bus link cable support
  
Nightlies also support:
+
Some features that are still planned include<ref>https://mgba.io/2014/12/09/announcing-mgba/</ref>:
* 4-player multiplayer
 
* Solar support (needed for Boktai games)
 
* Gyroscope support
 
* Tilt support
 
* Modification of RTC (permits fast berry-growing in Pokémon games)
 
  
==Links==
+
* ''Networked'' multiplayer link cable support
[https://twitter.com/mgba_emu Twitter Account]
+
* 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==
 +
'''medusa''' is a [[Nintendo DS emulators|Nintendo DS emulator]] being developed by mGBA developer endrift<ref>https://mgba.io/2017/04/08/medusa</ref>. 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"<ref>https://mgba.io/2018/03/09/holy-grail-bugs-revisited/</ref> 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)==
 +
:''<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-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</pre>
 +
 +
==References==
 +
{{reflist}}
 +
 +
==External links==
 +
* [https://twitter.com/mgba_emu Twitter]
 +
 +
{{Game Boy Advance emulators}}
 
[[Category:Emulators]]
 
[[Category:Emulators]]
 +
[[Category:Console emulators]]
 +
[[Category:Handheld console emulators]]
 +
[[Category:Game Boy/Game Boy Color emulators]]
 
[[Category:Game Boy Advance emulators]]
 
[[Category:Game Boy Advance emulators]]
 
[[Category:Windows emulation software‏‎]]
 
[[Category:Windows emulation software‏‎]]
[[Category:OS X emulation software]]
+
[[Category:macOS emulation software]]
 +
[[Category:Linux emulation software]]
 +
[[Category:BSD emulation software]]
 +
[[Category:Android emulation software]]
 +
[[Category:iOS emulation software]]
 +
[[Category:3DS emulation software]]
 +
[[Category:Switch 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