Part 1: Fix the save problem
(This is valid for all pokemon games, in every languages)
The first save problem is you can't save on a Pokémon game in CIA.
To resolve it, we need to hex edit the .gba rom.
Open the desired .gba in a hex editor (HxD is highly recommended) and find the following string:
Edit stricly what is between:
Replace the XX by 00.
Note: You may find this value twice, so be sure to also do it twice in this case.
Exemple:
Now it's ok, you'll can save.
You will can save, but you will always see a message "Save data are corrupt, the last save will be loaded".
Even if the game save fine, even if this message is useless because all is fine, even if you can totally ignore it, this message is annoying, so we'll remove it.
Part 2: Remove the save data corrupt message
(This is only valid for Pokémon Ruby, Sapphire and Emerald, and only for english / french languages)
Open the desired .gba in a hex editor (HxD is highly recommended), use Ctrl+G (go to offset), then edit the value, by the other value here:
Save the .gba, turn it in .cia, install it, and enjoy.
This tutorial in Video:
And the Proof:
Credits:
@AmeenX for the help on the Part 1
@Tdam01 for offsets found in Part 2
(This is valid for all pokemon games, in every languages)
The first save problem is you can't save on a Pokémon game in CIA.
To resolve it, we need to hex edit the .gba rom.
Open the desired .gba in a hex editor (HxD is highly recommended) and find the following string:
Code:
D0 88 8D 83 42
Edit stricly what is between:
Code:
D0 88 8D 83 42 [AND] 24 10 49 10 68
Replace the XX by 00.
Note: You may find this value twice, so be sure to also do it twice in this case.
Exemple:

Now it's ok, you'll can save.
You will can save, but you will always see a message "Save data are corrupt, the last save will be loaded".
Even if the game save fine, even if this message is useless because all is fine, even if you can totally ignore it, this message is annoying, so we'll remove it.
Part 2: Remove the save data corrupt message
(This is only valid for Pokémon Ruby, Sapphire and Emerald, and only for english / french languages)
Open the desired .gba in a hex editor (HxD is highly recommended), use Ctrl+G (go to offset), then edit the value, by the other value here:
Code:
-> Ruby and Sapphire [US]
Offset 0098F6: Replace 2B by 3D
Offset 0099A4: Replace 1D by 65
-> Ruby and Sapphire [FR]
Offset 009AC2: Replace 2B by 3D
Offset 009B70: Replace E99B by 319C
-> Emerald [FR/US]
Offset 02F9CC: Replace 5D by B1
Offset 02F9A4: Replace 084802F037FA by 000000000000.
Save the .gba, turn it in .cia, install it, and enjoy.
This tutorial in Video:
And the Proof:
Credits:
@AmeenX for the help on the Part 1
@Tdam01 for offsets found in Part 2
Last edited by Asia81,