mgba — Game Boy Advance emulator
Synopsis
mgba [-123456dfg ] [-b biosfile ] [-c cheatfile ] [-l loglevel ] [-p patchfile ] [-s n ] [-v moviefile ] fileDescription
mgba is a Game Boy Advance emulator. The options are as follows:- -1
- Scale the window 1×.
- -2
- Scale the window 2×.
- -3
- Scale the window 3×.
- -4
- Scale the window 4×.
- -5
- Scale the window 5×.
- -6
- 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
- -d
- Start emulating via the command-line debugger.
- -f
- Start the emulator full-screen.
- -g
- 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
Controls
The default controls are as follows:- A
- x
- B
- z
- L
- a
- R
- s
- Start
- Aq Cm Enter
- Select
- 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
Debugger
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 ]
- status
- 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
- 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.
Files
- ~/.config/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 ~/.config/mgba
Homepage
- Lk https://mgba.io/ mGBA homepage
- Lk https://github.com/mgba-emu/mgba Development repository
- Lk https://github.com/mgba-emu/mgba/issues Bug tracker
- Lk https://forums.mgba.io/ Message board