If anybody is interested in save hacking, I figured out Awakening's save compression/checksum today.
It's pretty simple.
Global (global data file) is a single compressed archive, Chapter# files are some decompressed data and then a compressed archive.
Compressed archive structure is as follows:
4-byte magic value 0x434F4D50 ("PMOC", or "COMP")
4-byte "Compression Type" (this is 02 for all Awakening saves I've encountered).
4-byte "Size of decompressed data"
4-byte checksum, where checksum is the CRC32 of all concatenated decomprsesed data in the file (for Global, it's crc32 of the decompressed archive, for Chapter# it's crc32 of the initial data and the decompressed archive).
Compressed data, depending on compression type value.
Compression Type is always 02 for Awakening saves, which corresponds to 8-bit huffman compression.
I verified all this by decompressing a save, editing a character's skills, then recompressing and fixing the checksum. Save loaded fine.
I might make a tool to auto-decompress and recompress saves if anyone's actually interested.