Is anyone else interested in hacking the saved games? Does anyone know if you can translate locations in the saved game file into ActionReplay codes? I'll post what I've found out...
My saved game appears to consist of two equal blocks, 0x0000-0x13FF and 0x1400-0x27FF. The gems are stored in a 16-bit value at 0x008E and 0x148E. The values are least-significant byte first, so 250 gems would be "0xF0 0x00" and 30000 gems would be "0x30 0x75".
The end of each block is a checksum, calculated by treating all other blocks as 16-bit unsigned integers and summing them, then adding them all together. Take the top 16 bit value from this total and add it to the lower 16 bit value to get the 16 bit total. Subtract that from 0xFFFF to get the result. For instance, my total from adding all 16 bit values 0x0000 to 0x13FC is 0x003A5E6E (treat all numbers as least-significant byte first). So I take the 0x3A and add it to 0x5E6E to get 0x5EA8. Subtract 0xFFFF - 0x5EA8 and you get 0xA157. The two bytes at 0x13FE and 0x13FF are 0x57 and 0xA1.
The two blocks at 0x0000 and 0x1400 seem to be identical, I don't know why they do that. If you want to change your money, you can add 256 coins by adding 1 to the values at 0x008F 0x148F, then subtract 1 from 0x13FF and 0x27FF. If you load the game and it says the saved game is corrupted, that probably means that total went past and added one to the third byte (i.e. 0x3A becomes 0x3B in my example) so simply subtract one more from 0x13FF and 0x27FF and try again.
Is anyone interested in helping me parse the saved game file or create an editor like pokesav for Pokemon?