*NOTE*: If you are playing Pokemon Fire Red/Leaf Green, you MUST use this method, or you will not be able to continue playing your game after defeating the Elite Four. Save States WILL NOT work for continuing the game.
Some of you may have noticed that when you boot up a Pokemon game (And some other games) in XBoyAdvance (I will refer to it as XBA in this guide) that you can not save correctly. This is because of a unique memory requirement for those games that XBA and VisualBoy Advance in general do not recognize. They require a bit more memory for their saves than the standard 128K for 128K-Flash saving games.
You can, however, make a vba-over.ini file that overrides the default settings for XBA and tells it exactly how much memory to use when making a save for the specified game.
I will guide you step by step on how to do this. Be aware
that you cannot
apply this fix mid-game and you must start a new game after doing it, so it is recommended that you do this before starting your game.
First off, boot XBA and go to your settings/configurations. Go to Change default directories and check to make sure the ROM that you want to save correctly is in the default ROM directory, as that is where the vba-over.ini will look.
Now, rename your ROM as needed if you have not done so already, and put it in that directory.
If you are using windows, right click and select new, and then New Text document. This is where you will put the code for the game you want to save. Here are some codes for the Pokemon games and DBZ games that need this patch.
Pokemon Ruby (U)
Pokemon Sapphire (U)
Pokemon FireRed (U)
Pokemon LeafGreen (U)
Pokemon Emerald (U)
Dragon Ball Z - Legacy of Goku (U)
Dragon Ball Z - Taiketsu (U)
Dragon Ball GT - Transformation (U)
Now, Put your needed codes into the vba-over.ini file and rename the game titles in the codes to the ones you named the roms. Don't put the file extension.
Now you have completed your vba-over.ini file. Save it and then rename it vba-over.ini if you did not already, and then put it in the root directory of your VBA emulator (meaning DO NOT put it in the roms/music/skins directory but the directory before them where your default.xbe is, for all of you slower types.)
Now go to the ROM in the game selection menu and if you haven't booted the ROM before press A, and if you have press X. This should take you to the ROM settings page.
Set 'Use Real GBA BIOS' to YES- BIOS 2. I don't think this is necessary, but alot of my GBA games seem to run better under this setting.
Set frameskip to 2 if it isn't already.
Set Flash Size to 128K.
Save type should be on Auto-Detect.
Turn on GBA Real Time clock, ESPECIALLY if you are playing Ruby/Sapphire/Emerald.
That should be it! Enjoy your correctly - saving game.
PS - You will know if you did something wrong for Fire Red/ Leaf Green if you get the message "1M sub-circuit board not installed" after you press start at the Press start screen.