Difference between revisions of "Clone and Repro Cart Problems"
Line 24: | Line 24: | ||
== Problems with re-writing Pokemon games to GBA clone/repo carts == | == Problems with re-writing Pokemon games to GBA clone/repo carts == | ||
+ | |||
+ | ''' The issue ''' | ||
Pokemon games use a 1Mbit flash save type while almost all clone/repo carts use SRAM - 256Kbit, 512Kbit and some rare ones have 1Mbit. I believe that the Pokemon save file structure also contains a back up of the save file. | Pokemon games use a 1Mbit flash save type while almost all clone/repo carts use SRAM - 256Kbit, 512Kbit and some rare ones have 1Mbit. I believe that the Pokemon save file structure also contains a back up of the save file. | ||
− | |||
− | + | ''' How to resolve the issue ''' | |
+ | |||
+ | 1. Use a 512Kbit or 1Mbit SRAM based clone/repo cart (for 1Mbit SRAM carts it is limited to 16MB) | ||
+ | |||
+ | 2. Patch your intended rom to use SRAM instead of flash saves (GBATA can do this) | ||
+ | |||
+ | 3. For 512Kbit or 1Mbit: Understand the Pokemon save file structure and remove the use of the back up save file in the save file structure. | ||
+ | |||
+ | For 1Mbit: Understand the Pokemon save file structure and know when to switch between the 2x 512Kbit areas | ||
+ | |||
+ | |||
+ | == Problems with re-writing games that utilise EEPROM or Flash based saves to GBA carts == | ||
+ | |||
+ | ''' The issue ''' | ||
+ | |||
+ | GBA games can utilise various save types - SRAM, FRAM, EEPROM and Flash. | ||
+ | |||
+ | Writing a game without patching it to use SRAM will mean it may not start correctly and won't save. | ||
+ | |||
+ | |||
+ | ''' How to resolve the issue ''' | ||
+ | |||
+ | Check what save type your game uses here: https://raw.githubusercontent.com/mamedev/mame/master/hash/gba.xml | ||
− | + | As clone/repo carts only come with SRAM you need to patch your game to use SRAM using the GBTA program which seems to work well as reported by some users. | |
− | + | If the cart you have doesn’t have a spot for a battery, then you will need to add a battery or patch that game to save back to the flash (no automated programs are available to do this). |
Revision as of 06:33, 3 February 2020
Problems with GB/GBA carts without a battery pre-installed
If your cart looks like this (no battery), if you flash a new game to it and try to save it will appear to have worked but once you power off, your save will be lost.
How it works
The way this cart functions is the rom is modified to write the save back to the flash chip when you save your game. When the game starts, the opposite occurs, the game extracts your save from the flash chip and puts it back on the SRAM so to the game it appears like everything is normal.
How can I extract my save file
Since the rom has been modified, all you need to do is dump the rom and run it in an emulator and your save file will be created. You will not be able to save again and if you re-load the rom in the emulator, your .sav file will be over written to the original save that is in the rom.
How to resolve the issue
You will need to install a battery or patch the rom you flash to also perform the above technique. At this time there are no programs that can automatically do that for you.
Problems with re-writing Pokemon games to GBA clone/repo carts
The issue
Pokemon games use a 1Mbit flash save type while almost all clone/repo carts use SRAM - 256Kbit, 512Kbit and some rare ones have 1Mbit. I believe that the Pokemon save file structure also contains a back up of the save file.
How to resolve the issue
1. Use a 512Kbit or 1Mbit SRAM based clone/repo cart (for 1Mbit SRAM carts it is limited to 16MB)
2. Patch your intended rom to use SRAM instead of flash saves (GBATA can do this)
3. For 512Kbit or 1Mbit: Understand the Pokemon save file structure and remove the use of the back up save file in the save file structure.
For 1Mbit: Understand the Pokemon save file structure and know when to switch between the 2x 512Kbit areas
Problems with re-writing games that utilise EEPROM or Flash based saves to GBA carts
The issue
GBA games can utilise various save types - SRAM, FRAM, EEPROM and Flash.
Writing a game without patching it to use SRAM will mean it may not start correctly and won't save.
How to resolve the issue
Check what save type your game uses here: https://raw.githubusercontent.com/mamedev/mame/master/hash/gba.xml
As clone/repo carts only come with SRAM you need to patch your game to use SRAM using the GBTA program which seems to work well as reported by some users.
If the cart you have doesn’t have a spot for a battery, then you will need to add a battery or patch that game to save back to the flash (no automated programs are available to do this).