Poking at the C64 save format
Posted: Mon Dec 09, 2013 3:49 am
Some *very* trivial investigation on my part trying to edit my characters to bring my amiga BT1 characters to c64 BT2.
I found the layout looks overall similar to BT1, starting with the name for 16 bytes, 0xFF padded.
However, the name is xored with a rolling value, beginning with 0x7f, decreasing by one for every subsequent byte. Am I actually making a very basic foray into figuring out PirateSlayer here? I couldn't find much meat about how that stores data on disk.
Decoding gives the "BT text" format described by ZeroZero which is largely just ASCII with the high bit set.
After this I started trying to figure out the character stats format, but I couldn't find any way to interpret the data that resulted in things making sense. Added to this the checksum is still present and the bt1 bug where the checksum isn't checked on party load seems ineffective.
Another attack vector would be to modify the party in memory and save differrent versions out, but my vice monitor skills are pretty nonexistent. So I stopped here, and just decided to play the game from level 1.
I found the layout looks overall similar to BT1, starting with the name for 16 bytes, 0xFF padded.
However, the name is xored with a rolling value, beginning with 0x7f, decreasing by one for every subsequent byte. Am I actually making a very basic foray into figuring out PirateSlayer here? I couldn't find much meat about how that stores data on disk.
Decoding gives the "BT text" format described by ZeroZero which is largely just ASCII with the high bit set.
After this I started trying to figure out the character stats format, but I couldn't find any way to interpret the data that resulted in things making sense. Added to this the checksum is still present and the bt1 bug where the checksum isn't checked on party load seems ineffective.
Another attack vector would be to modify the party in memory and save differrent versions out, but my vice monitor skills are pretty nonexistent. So I stopped here, and just decided to play the game from level 1.