mgba(6) Game Boy Advance emulator


mgba [-123456dfg ] [-b biosfile ] [-c cheatfile ] [-l loglevel ] [-p patchfile ] [-s n ] [-v moviefile ] file


mgba is a Game Boy Advance emulator. The options are as follows:

Scale the window 1×.
Scale the window 2×.
Scale the window 3×.
Scale the window 4×.
Scale the window 5×.
Scale the window 6×.
-b biosfile , --bios biosfile
Specify a BIOS file to use during boot. If this flag is omitted, mgba will use the BIOS specified in the configuration file, or a high-level emulated BIOS if none is specified.
-c cheatfile , --cheats cheatfile
Apply cheat codes from cheatfile
Start emulating via the command-line debugger.
Start the emulator full-screen.
Start a gdb(1) session. By default the session starts on port 2345.
-l loglevel
Log messages during emulation to stdout loglevel is a bitmask defining which types of messages to log:

  • 1 - fatal errors
  • 2 - errors
  • 4 - warnings
  • 8 - informative messages
  • 16 - debugging messages
  • 32 - stub messages for unimplemented features
  • 256 - in-game errors
  • 512 - software interrupts
  • 1024 - emulator status messages
  • 2048 - serial I/O messages

The default is to log warnings, errors, fatal errors, and status messages.

-p patchfile , --patch patchfile
Specify a patch file in BPS, IPS, or UPS format.
-s n , --frameskip n
Skip every n frames.
-v moviefile , --movie moviefile
Play back a movie of recording input from moviefile


The default controls are as follows:

Aq Cm Enter
Aq Cm Backspace
Load state
F1 - F9
Save state
Ao Cm Shift Ac Ns - Ns Cm F1 Ns - Ns Cm F9
Frame advance
Ao Cm Ctrl Ac Ns - Ns Cm n


When mgba is run with the -d option, the command-line debugger is enabled. It supports the following commands:

b [reak address ]
b [reak /a address ]
b [reak /t address ]
Set a breakpoint - ARM (`/a' ) Thumb (`/t' ) or the current CPU mode - at address
c [ontinue ]
Continue execution.
d [elete address ]
Delete a breakpoint at address
dis [asm [address [count ] ] ]
dis [asm /a [address [count ] ] ]
dis [asm /t [address [count ] ] ]
dis [assemble [address [count ] ] ]
dis [assemble /a [address [count ] ] ]
dis [assemble /t [address [count ] ] ]
Disassemble count instructions starting at address as ARM (`/a' ) Thumb (`/t' ) or the current CPU mode. If count is not specified, only disassemble the instruction at address If address is not specified, only disassemble the current address.
h [elp ]
Print help.
i [nfo ]
Print the current contents of general-purpose registers and the current program state register, and disassemble the current instruction.
n [ext ]
Execute the next instruction.
p [rint value ... ]
p [rint /t value ... ]
p [rint /x value ... ]
Print one or more value s as binary (`/t' ) hexadecimal (`/x' ) or decimal.
q [uit ]
Quit the emulator.
Reset the emulation.
r/1 address
r/2 address
r/4 address
Read a byte (`/1' ) halfword (`/2' ) or word (`/4' ) from address
w [atch address ]
Set a watchpoint at address
w/1 address data
w/2 address data
w/4 address data
Write data as a byte (`/1' ) halfword (`/2' ) or word (`/4' ) to address
w/r register data
Write data as a word to register
x/1 address [count ]
x/2 address [count ]
x/4 address [count ]
Examine count bytes (`/1' ) halfwords (`/2' ) or words (`/4' ) from address If count is not specified, examine 16 bytes, 8 halfwords, or 4 words.


Default mgba configuration file.
If this file exists in the current directory, mgba will read config.ini from the current directory instead of ~/.config/mgba


An Jeffrey Pfau Aq Mt [email protected]