.\" Copyright (c) 2015 Anthony J. Bentley .\" .\" This Source Code Form is subject to the terms of the Mozilla Public .\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" file, you can obtain one at https://mozilla.org/MPL/2.0/. .Dd July 29, 2015 .Dt MGBA 6 .Os .Sh NAME .Nm mgba .Nd Game Boy Advance emulator .Sh SYNOPSIS .Nm mgba .Op Fl 123456dfg .Op Fl b Ar biosfile .Op Fl c Ar cheatfile .Op Fl p Ar patchfile .Op Fl s Ar n .Op Fl v Ar moviefile .Ar file .Sh DESCRIPTION .Nm is a Game Boy Advance emulator. The options are as follows: .Bl -tag -width Ds .It Fl 1 Scale the window 1\(mu. .It Fl 2 Scale the window 2\(mu. .It Fl 3 Scale the window 3\(mu. .It Fl 4 Scale the window 4\(mu. .It Fl 5 Scale the window 5\(mu. .It Fl 6 Scale the window 6\(mu. .It Fl b Ar biosfile , Fl -bios Ar biosfile Specify a BIOS file to use during boot. If this flag is omitted, .Nm will use a high\(hylevel emulated BIOS. .It Fl c Ar cheatfile , Fl -cheats Ar cheatfile Apply cheat codes from .Ar cheatfile . .It Fl d Start emulating via the command\(hyline debugger. .It Fl f Start the emulator full\(hyscreen. .It Fl g Start a .Xr gdb 1 session. By default the session starts on port 2345. .It Fl p Ar patchfile , Fl -patch Ar patchfile Specify a patch file in IPS or UPS format. .It Fl s Ar n , Fl -frameskip Ar n Skip every .Ar n frames. .It Fl v Ar moviefile , Fl -movie Ar moviefile Play back a movie of recording input from .Ar moviefile . .El .Sh CONTROLS The default controls are as follows: .Bl -hang -width "Frame advance" -compact .It A .Cm x .It B .Cm z .It L .Cm a .It R .Cm s .It Start .Aq Cm Enter .It Select .Aq Cm Backspace .It Load state .Cm F1 Ns \(en Ns Cm F9 .It Save state .Ao Cm Shift Ac Ns \(hy Ns Cm F1 Ns \(en Ns Cm F9 .It Frame advance .Ao Cm Ctrl Ac Ns \(hy Ns Cm n .El .Sh DEBUGGER When .Nm is run with the .Fl d option, the command\(hyline debugger is enabled. It supports the following commands: .Pp .Bl -tag -compact -width 1 .It Cm b Ns Oo Cm reak Oc Ar address .It Cm b Ns Oo Cm reak Oc Ns Cm /a Ar address .It Cm b Ns Oo Cm reak Oc Ns Cm /t Ar address Set a breakpoint at .Ar address . .It Cm c Ns Op Cm ontinue Continue execution. .It Cm d Ns Oo elete Oc Ar address Delete a breakpoint at .Ar address . .It Cm dis Ns Oo Cm asm Oc Ar address Op Ar count .It Cm dis Ns Oo Cm asm Oc Ns Cm /a Ar address Op Ar count .It Cm dis Ns Oo Cm asm Oc Ns Cm /t Ar address Op Ar count .It Cm dis Ns Oo Cm assemble Oc Ar address Op Ar count .It Cm dis Ns Oo Cm assemble Oc Ns Cm /a Ar address Op Ar count .It Cm dis Ns Oo Cm assemble Oc Ns Cm /t Ar address Op Ar count Disassemble .Ar count instructions starting at address .Ar address . If .Ar count is not specified, only disassemble the instruction at .Ar address . .It Cm h Ns Op Cm elp Print help. .It Cm i Ns Op Cm nfo .It Cm status Print the current contents of general\(hypurpose registers. .It Cm n Ns Op Cm ext Execute the next instruction. .It Cm p Ns Oo Cm rint Oc Ar value ... .It Cm p Ns Oo Cm rint Oc Ns Cm /t Ar value ... .It Cm p Ns Oo Cm rint Oc Ns Cm /x Ar value ... Print .Ar value . .It Cm q Ns Op Cm uit Quit the emulator. .It Cm reset Reset the emulation. .It Cm r/1 Ar address .It Cm r/2 Ar address .It Cm r/4 Ar address Read a byte, halfword, or word from .Ar address . .It Cm w Ns Oo Cm atch Oc Ar address Set a watchpoint at .Ar address . .It Cm w/1 Ar address .It Cm w/2 Ar address .It Cm w/4 Ar address Write a byte, halfword, or word to .Ar address . .It Cm w/r Ar register Write a word to .Ar register . .It Cm x/1 Ar address .It Cm x/2 Ar address .It Cm x/4 Ar address Examine bytes, halfwords, or words from .Ar address . .It Cm \&!\ \& Break into the attached debugger. .El .Sh AUTHORS .An Jeffrey Pfau Aq Mt jeffrey@endrift.com .Sh HOMEPAGE .Bl -bullet .It .Lk https://mgba.io/ "mGBA homepage" .It .Lk https://github.com/mgba-emu/mgba "Development repository" .It .Lk https://github.com/mgba-emu/mgba/issues "Bug tracker" .It .Lk https://forums.mgba.io/ "Message board" .El