Fix all save problems for Pokémon games (VC GBA)

Part 1: Fix the save problem

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:

D0 88 8D 83 42

Edit stricly what is between:

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.

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:

-> 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.