How to Patch GBA Games with GBATA
Contents
Firstly check what save type a GBA rom uses
Determining SRAM/FRAM/Flash save types would have to be done using both methods. Firstly check what GBATA reports and then check how large the save file is when opening it up in VBA. You can also check what save type your rom uses here but it's best to verify the rom for yourself.
Option 1: Open the rom file with GBATA and look at the "Header Viewer" section.
As an example, the above rom file is an EEPROM save type.
Option 2: Open the rom file with VisualBoyAdvance for a few seconds (press the space key to increase the speed) and then close it. Check the .sav file it produced.
As an example, the above rom file is an EEPROM save type because the save file size is 1KB.
For 64Kbit EEPROM save type, the file size would be 8KB.
How to patch GBA games that use EEPROM or Flash saves to use SRAM
Using GBATA, firstly check if the rom file actually uses EEPROM or Flash saves.
1. Select the "SRAM Patcher" section and choose Patch.
2. If you open that patched file with GBATA it will report the same save type but say "(Patched)".
3. Open the new patched rom file in VisualBoyAdvance and then close it. We can now see that the size has increased to 64KB so we know that the patch has worked.
Notes about EEPROM and 512Kbit Flash save types
For EEPROM games that are patched, they should work on 256Kbit or 512Kbit SRAM/FRAM carts. However for 512Kbit save types, they will only work on 512Kbit SRAM carts.
Notes about 1Mbit flash save type
Your mileage may vary for the 1Mbit save type patch as games like Pokemon may work initially but could potentially have issues down the track. There are a select few clone/repo carts that have a 1Mbit SRAM chip split into 2x 512KB and both chunks can be accessed however they only have a 16MB flash chip. There is a 1Mbit SRAM bank switching patcher available by bbsan2k: https://github.com/bbsan2k/Flash1M_Repro_SRAM_Patcher