How to play GBA Pokemon Rom Hacks
Note: GBA refers to Game Boy Advance
1. Getting a RomFirst you must obtain a GBA Pokemon Rom Hack. You probably already have one, but if you don't find one here. A GBA Rom Hack will have a .gba extension. If you have a .rar, .zip, .7z, etc. file, extract it to get the .gba one. (Note: Some emulators can play .zip files directly)
Note: This tutorial is mainly for .gba files. If you have a DS game (.nds), you will need a DS emulator. If you have a GBC game (.gbc), you may need a different emulator.
2. EmulatorsNext, in order to play the Rom, you will need a GBA emulator. An emulator allows you to play GBA games as you would on the console, but on your device. Here are some recommendations-
Windows - Visual Boy Advance (VBA)
Android - My Boy!
iOS - GBA4iOS
If you have an emulator you use that isn't here, please mention it in the comments section to help everyone out.
Note: The recommended emulator for most hacks is Visual Boy Advance 1.8.0 Beta 3. Get it here.
3. Start the romNext, open the .gba (or possibly .zip) file on your emulator. The game should load up now. A Pokemon Rom should show a similar screen-
4. ButtonsIf you are on a touch screen device, your buttons should show up on the screen (A, B, Start, Select, L, R and the direction pad).
If you are using VBA, the controls are usually Z=A, X=B, Enter=Start, Backspace=Select, A=L, S=R and the arrows for direction. View/Change this by going to Options->Joypad->Configure->1
5. TroubleshootingAt this point, if you get any of these errors-
The 1m sub-circuit board is not installed
Internal Battery has run dry
Or some other error that I might have forgotten, apply these settings for VBA (try to find similar settings to steps 4 and 5 if you're using a different emulator)-
- Turn VBA off.
- Delete the .sgm, .sa1 or .sav files for this game in your folder (if they exist).
- Turn VBA back on.
- Go to Options -> Emulator -> Save Type -> Flash 128k
- Options->Emulator->Real Time Clock
- Turn VBA off again.
- Then turn it back on and load the rom once more.
6. PlayThat's it. You can now play the game as you would have on a Game Boy Advance console.
You can either use the in-game save mechanic to save your game (Start->Save while in the game) or use save states (some emulators like My Boy! Free do not support this).
In VBA, save states are used by clicking Shift+F1 to save and F1 to load. (Replace F1 by F2, F3, ..., F10 for more save states)
How to use your old data with an update
GBA games aren't that advanced, so there is no straight forward way to update a rom. First, you will need to obtain the updated rom by patching it from scratch or by getting it from a site like this. In some rare cases, like Prism, you'll need to patch your save file as well.
I will be calling the older version "gamev1.gba" and the newer, updated rom "gamev2.gba". Also, here, rom refers to the .gba file. If you're playing out of a .zip file, the steps are the exact same. Just think "zip" wherever "gba" is mentioned.
1. Make sure old saves are supportedSometimes, when an update is released, older saves may no longer work correctly. In this case, you must simply start a new game. If you use the old save anyway, it may lead to an increased number of bugs and glitches.
2. Save inside a Pokemon CenterIn the older version, save in-game, not using save states i.e. you should open the menu inside the game and save (Saving… please don't turn off the power).
3. Locate your .sav fileNormally, it has the same name, and is in the same folder as the gba file (i.e. gamev1.sav will be in the same folder as gamev1.gba). There may be other files such as .sa1, .sgm, etc., but don't worry about them. If your .sav is not in the same folder, there may be a separate folder containing all save files for all games on your computer. Sometimes, your .sav file may be online (e.g. on Dropbox). If your save files are randomly named (eg. the old save is called 54wrtjrg5.sav), check to see which .sav file was modified last (Right-click -> Properties or similar).
4. RenameMake a copy of the old .sav file (i.e. gamev1.sav -> gamev1(copy).sav). Rename this copy to match the updated rom's name exactly (i.e. gamev1(copy).sav -> gamev2.sav). If the updated gba rom is in a different folder, move the renamed .sav file to that folder (i.e. move gamev2.sav to the folder gamev2.gba is in). Do this only if your .sav file and .gba files were in the same folder before. If your save files are randomly named, start a new game in the updated rom and save in-game; check to see what the newer .sav file will be called, and rename accordingly.
5. PlayThat's it. If you start the updated gba file, you should be able to load your old data in-game.
If you have any further questions or suggestions, feel free to ask in the comments section.