Boktai save file checksums
This content has been moved to the Boktai Hacking Wiki.
Archived version
The save files of Boktai games contain checksums that are verified when the save is loaded. After modifying save files with a hex editor or another tool, these checksums must be updated so the save will load correctly again.
The save file is divided into blocks. Each block size is a multiple of 8 bytes. After the last 8-byte chunk in a block, there is another 8-byte chunk containing the checksum. The checksum are these 4 halfwords:
- Constant
0xffff
- Byte size of this block, excluding this checksum
- Sum of halfwords in this block, excluding this checksum
- XOR-sum of halfwords in this block, excluding this checksum
Hex dump of the first block in Boktai 1 saves, with the checksum in bold. Note that each halfword is stored in the save file in big-endian byte order:
Boktai 1 save files contain the following blocks. Here is a Python script that updates all checksums of a Boktai 1 save.
Byte offset | Byte size |
---|---|
0x0000 | 0x18 |
0x00c0 | 0x28 |
0x0200 | 0x28 |
0x0340 | 0x400 |
0x0780 | 0x418 |
0x0dc0 | 0x400 |
0x1200 | 0x418 |
0x1840 | 0x168 |
0x1a40 | 0x168 |