Hey, I've tried your program and it doesn't seem to calculate good checksums with no$gba savegames (yep, the 256 kb ones)
for an AAAAAAAAAA savegame, which checksum should be 0x43B0 the code calculates 0xCFBB.
Btw I'm also interested in knowing how did you figure and translate the results into...