MGBA(6) Games Manual MGBA(6)

mgbaGame Boy Advance emulator

mgba [-123456dfg] [-b biosfile] [-C option=value] [-c cheatfile] [-l loglevel] [-p patchfile] [-s n] [-t statefile] 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×.
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.
option=value, --config option=value
Override the given config option with value.
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.
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
  • 64 – in‐game errors
The default is to log warnings, errors, fatal errors, and status messages.
patchfile, --patch patchfile
Specify a patch file in BPS, IPS, or UPS format.
n, --frameskip n
Skip every n frames.
statefile, --savestate statefile
Load initial game state from statefile.

The default controls are as follows:

A
B
L
R
Start
Enter
Select
Backspace
Load state
F9
Save state
Shift⟩‐F1F9
Frame advance
Ctrl⟩‐n

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

[reak] address
 
[reak]/a address
 
[reak]/t address
Set a breakpoint – ARM (‘/a’), Thumb (‘/t’), or the current CPU mode – at address.
[ontinue]
Continue execution.
[elete] address
Delete a breakpoint at address.
[asm] [address [count]]
 
[asm]/a [address [count]]
 
[asm]/t [address [count]]
 
[assemble] [address [count]]
 
[assemble]/a [address [count]]
 
[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.
[elp]
Print help.
[nfo]
 
Print the current contents of general‐purpose registers and the current program state register, and disassemble the current instruction.
[ext]
Execute the next instruction.
[rint] value ...
 
[rint]/t value ...
 
[rint]/x value ...
Print one or more values as binary (‘/t’), hexadecimal (‘/x’), or decimal.
[uit]
Quit the emulator.
Reset the emulation.
address
 
address
 
address
Read a byte (‘/1’), halfword (‘/2’), or word (‘/4’) from address.
[atch] address
Set a watchpoint at address.
address data
 
address data
 
address data
Write data as a byte (‘/1’), halfword (‘/2’), or word (‘/4’) to address.
register data
Write data as a word to register.
address [count]
 
address [count]
 
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.

The location where mgba will look for the configuration directory. If not set, ~/.config is used.

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

Jeffrey Pfau <jeffrey@endrift.com>

July 29, 2015 Linux 6.10.10-arch1-1