mGBA Tutorial

Last updated February 5, 2024


About mGBA

This tutorial is to help you with mGBA on Windows. This is a Game Boy Advance and Game Boy Classic/Color emulator. mGBA was born in 2014. It's focused on being fast enough to run on lower end hardware than other emulators support. It doesn't want to sacrifice accuracy or portability.

*If you would like to download mGBA, go to their homepage. I also have it on my emulators page. It's easier from my website because I have it in a zip file while the official site has it in a 7Z file.

Should you use mGBA?

With all the emulator offerings as of 2024, should you use mGBA? Yes, absolutely. Currently, mGBA is the #1 emulator for Game Boy Advance. VisualBoyAdvance-M (Visual Boy Advance) used to be the top emulator. It is no longer recommended. Most importantly, VisualBoyAdvance-M is not a cycle-accurate emulator, while mGBA is.

RetroArch, a popular multi-system emulator, is another great option for Game Boy Advance emulation. It bundles GBA emulation with 40+ other video game systems. In the GBA category, it has cores for mGBA, VBA (Visual Boy Advance), and others. ('Cores' are what an emulator inside a multi-system emulator are called.)


When you go to download mGBA from the official website, you're going to see the following download links:

  • Windows (portable .7z archive)
  • Windows (installer .exe)
  • Windows (64-bit, portable .7z archive) < Recommended
  • Windows (64-bit, installer .exe)

So which do you download?

32-bit vs. 64-bit

The first two downloads are for 32-bit Windows and the second two are for 64-bit windows. So what is that and which version do you download? I won't drown you with technical jargon. In short: these are types of Windows systems. 64-bit is newer and faster, and 32-bit is older and slower. If you have 64-bit Windows, you need to download the 64-bit version of mGBA. And vice versa with 32-bit.

They stopped making 32-bit computers around 2017, so chances are you're most likely using a 64-bit computer. If you're not sure if you have 64-bit or 32-bit Windows, here's how you can check:

Searching for '64-bit' to find the technical specs window
  1. On the bottom left where you see Search the web and Windows, do a search for “64-bit”.
  2. You'll see this come up: “See if you have a 32-bit or 64-bit version of Windows”. Click it.
  3. You'll arrive here . Look for “System type”. If it says “64-bit operating system” then you're using 64-bit Windows. If it says “32-bit operating system” then you're using 32-bit Windows.

.7z archive? What's that?

7z is a compression format like 'zip'. You can extract 7z files with 7-Zip (it's free). If you need help extracting 7z files with 7-Zip, here are some help videos.

Portable vs. installer

The “Windows (64-bit, .7z archive)” download is the 'portable' version. This is how most emulators are: to 'install' the emulator, you simply extract it. The installer version (“Windows (64-bit, installer .exe)”) has an install wizard. The install wizard walks you through installing mGBA onto the C: drive. If you're not too computer savvy, I suppose the installer would be easier for you. But yet, I recommend the portable version. It lets you keep mGBA and the ROMs all in one location.

There's an important detail you need to remember with either version:

  • With the portable version, mGBA must be placed in a common folder on your computer. I recommend Documents, Downloads, or create a folder on your desktop. You could place your GBA ROMs in mGBA's folder as well. To open mGBA, double-click on mGBA's EXE
  • With the installer version, your GBA ROMs for mGBA must be placed in a common folder on your computer. I recommend Documents, Downloads, or create a folder on your desktop. Don't place them in mGBA's folder! To open mGBA, you can find it in your Windows start menu.

Installing a portable emulator

I made this quick video showing you how to 'install' a portable emulator. It shows Snes9x, but mGBA is the same process. It's pretty straight-forward - all that you're doing is extracting a zip file while doing a little bit of folder management. If you want to 'uninstall' a portable emulator, simply delete it!

In the video, I'm recommending “Documents” to house your emulators. But, you could also place emulators in “Downloads”, a folder on your desktop, an external HDD, or a thumb drive. These are common locations with full read/write access.

Setting up the keyboard

  1. Click on Tools > Settings, as shown below:
    Entering the Settings window
  2. You'll arrive at the Settings window. Click on Keyboard to arrive at the screen below:
    Accessing the keyboard configuration
  3. To reconfigure a keyboard key, click on the white field and press the new keyboard key you want it set to. Repeat the process for all buttons you want to be changed. Click OK when you're done.
  4. Optionally, you can click on Shortcuts to explore the emulator shortcut keys available for mGBA. You can reconfigure them as well to different keyboard keys (or gamepad buttons).

Setting up a gamepad

  1. Click on Tools > Settings, as shown below:
    Entering the Settings window
  2. You'll arrive at the Settings window. Click on Controllers to arrive at the screen below:
    Accessing the gamepad configuration
  3. To reconfigure a gamepad button, click on the white field and press the new gamepad button you want it set to. Repeat the process for all buttons you want to be changed. Click OK when you're done.
  4. Optionally, you can click on Shortcuts to explore the emulator shortcut keys available for mGBA. You can reconfigure them as well to different gamepad buttons (or keyboard keys).

Loading a game

In the installation section, I explained the difference between the portable version and installer version of mGBA. If you are using the portable version, it doesn't matter where you put your games (I recommend somewhere in Documents). If you are using the installer version, place your games in a common folder such as Documents - don't place them in mGBA's folder!

To load a game:

Loading a game
  1. Click on File > Load ROM.
  2. The “Select ROM” window will pop up. Initially, it'll show the folder where mGBA resides. If you placed your games elsewhere, navigate to that folder. Click on the game you want to play, then click Open - as shown here .
  3. The game will begin playing immediately.


Once a game is loaded, you can enter/exit fullscreen by pressing Alt+Enter.

Screen filters

mGBA doesn't offer fancy screen filters like most emulators do. You only have one filter option: bilinear filtering. It's just a simple blur. You can enable it by going to Audio/Video > Bilinear filtering. See below for a before & after with this filter enabled.

Comparison of default rendering and bilinear filtering

Save states

Save states is a feature that saves the exact spot you are in any game. You can use this feature manually by going into the File menu or by quick keyboard shortcuts.

The saving features of mGBA

There's one detail about save states with mGBA that can be confusing. There are two types of them. You have quick saves and regular save states.

Quick saves

If you want instant gratification, quick saves are the instant saving you want.

  • Capturing a quick save: To capture a quick save go to File > Quick save and choose a slot, as shown here . mGBA lets you save up to 9 different quick saves (9 different slots). The keyboard shortcut for saving a quick save in slot 1 is Shift+F1.
  • Loading a quick save: To load a quick save that you previously saved, go to File > Quick Load and choose the slot of the save you want to load (if you remember which one it is). The keyboard shortcut for loading a quick save from slot 1 is F1.

Regular save states

These saves require an extra step but provide you with a visual thumbnail gallery of your saves.

  • Capturing a save state: To capture a save state go to File > Save state. You'll arrive at the save state thumbnail gallery . Click on the thumbnail square where you want your save to be. That's it; you'll be taken back to your game. The keyboard shortcut for saving a state is Shift+F10.
  • Loading a save state: To load a save state that you previously saved, go to File > Load state. The save state thumbnail gallery appears. Click on the thumbnail you want to load. That's it; your game will immediately play from your saved state. The keyboard shortcut for loading a save state is F10.

Note: Save states are different from internal saves

Internal saving

If you're new to emulation, I might be leading you to think that save states are what you're supposed to be using with mGBA to save your progress. All video game emulators (not just mGBA) offer two ways to save your progress: internal saving and save states. Internal saving is when you arrive at a save point within the game, to save your progress as if you're using a real Game Boy Advance. You can use either internal saving or save states to save your progress. I recommend using both methods so that you always have a backup.

If you opted to use internal saving, remember that you load that save from within the game when you arrive at the title screen (like on a real Game Boy Advance). You don't load an internal save from the File menu. Only save states can be saved & loaded from the File menu.

Also note: All the RPG shrines in my offer complete collections of periodical game saves. With them, you can continue at any significant point in the game. I offer a Game Saves Tutorial where you can learn more about how to use somebody else's saves. You can also learn about how to transfer saves between other emulators.

Fast forward

Fast forward is the feature that speeds up the game. To access it:

  • Temporary fast forward: Press and hold the Tab key. When you want the fast forward to end, release the Tab key.
  • Persistent fast forward: Press the Shift+Tab keys to enable a persistent fast forward. When you want it to end, press the Shift+Tab keys again. This feature can also be accessed via the Emulation menu

Also, you can customize the speed of fast forward by going to Emulation > Fast forward speed - as shown here .


mGBA lets you cheat using your favorite GameShark, Pro Action Replay, or CodeBreaker codes. The process of entering codes can be confusing. Although confusing, a valuable bonus is that mGBA lets you enter multiple codes at once. Most other emulators only let you enter one line at a time.

For these directions I'm going to walk you through entering the 9-line GameShark code that enables the complete Pokedex in Pokemon Emerald:

  1. Load the game you want to cheat with. Then go to Tools > Cheats:
    Entering the Cheats window
  2. Click on Add GameShark:
    Click on Add GameShark
  3. You'll see an “Untitled” checked item appear in the white area. Double-click on it to enter the name of the code:
    Enter a custom name for the cheat
  4. Paste the GameShark code into the box shown below, then click Add.
    Paste the code and add it
  5. The GameShark cheat is added. You can click the drop-down arrow to view the code to ensure it's there. Lastly, close this window and restart your game for the code to take effect.

If you followed these directions and your cheats still aren't working, it could be either you overlooked a step or the codes themselves are ineffective. Make sure you're grabbing the correct codes for the correct version of the game. You could also try reading this.

Finding cheats: is a good site. The next best source is Google. The best search keywords to use is to type the name of the game then “pro action replay” or “gameshark”. For example: “pokemon ruby pro action replay”. For Pokemon cheats specifically, Pokemon Coders is the best site.

Capturing screenshots

Capturing a screenshot

Go to Audio/Video > Take screenshot (as shown above), or press the F12 key. By default, mGBA will drop the screenshot into the same directory where your video game ROM resides. It will save the screenshot as a PNG image.

Finding ROMs

In my links page, I have some good links to sites where you can download ROMs. If you want to try to find more sites than what's in my collection of links, just Google around. For example, if you want to download Advance Wars just Google “download advance wars gba”.

Patching ROM hacks

Learn all about patching ROMs with ROM hacks in my Patching Tutorial. Note that the best place to find ROM hacks is

Q: How can I link roms to trade Pokemon?

mGBA has the ability to link the data of two Pokemon ROMs to trade Pokemon. You can find videos on YouTube that walk you through this process.

I haven't done this myself, but from reading comments online, this process sounds quite frustrating and error-prone. Most people can't seem to get it to work. If you want my opinion, I think it's far easier to just use GameShark cheats to achieve bringing certain Pokemon into your collection. I recommend Pokemon Coders for finding the best Pokemon cheat codes & hacks.

Q: Cheat codes aren't working in Pokemon!

People have reported having a great deal of trouble getting cheats to work specifically with the Pokemon games. If you read the section on using cheats and you're still unable to get cheats to work, check out this article at Pokemon Coders: How to Fix Not Working and Glitchy Cheats for Pokemon GBA Games.

Q: My gamepad doesn't work with mGBA!

There isn't any way to troubleshoot a gamepad (or controller) with mGBA. The gamepad either works or it doesn't. Any issues you encounter are the fault of your gamepad. Therefore, your gamepad needs to be troubleshooted. I offered some general troubleshooting guidance in the gamepads guide.

Q: mGBA isn't saving anything!

Firstly, are you using the portable version of mGBA or the installer version? In the installation section, I explained the difference between the two.

If you're using the portable version

Are you finding that you have all of the following problems?

  1. Save states aren't working. You save a state, then when you try to reload it nothing happens.
  2. In an RPG when you save your game at a save point and close/re-open mGBA, you find that the save is lost.
  3. Emulator configurations that you changed aren't saved. When you close/re-open mGBA, you have to make those configuration changes again.

Then your problem is that you currently have mGBA in a read-only location on your computer. You must move mGBA to a more common location such as Documents, Downloads, or a folder on your desktop.

If you're using the installer version

mGBA is on your C: drive. Did you place your GBA games there? If you did, that's why you're having saving issues. Your GBA games must be in a common location such as Documents, Downloads, or a folder on your desktop.