From 5e05b3d11f97432917b1fb87816ddd9d4465ff21 Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Sat, 1 Apr 2023 10:29:43 -0700 Subject: [PATCH] add comment about gci format --- src/SaveFileFormats.hh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/SaveFileFormats.hh b/src/SaveFileFormats.hh index 0c42b11c..5ddcc79f 100644 --- a/src/SaveFileFormats.hh +++ b/src/SaveFileFormats.hh @@ -27,6 +27,13 @@ struct ShuffleTables { +// Every PSOGC save file begins with a PSOGCIFileHeader. The first 0x40 bytes of +// this are the .gci file header; the remaining bytes of the file are the actual +// data from the memory card. For save files (system / character / Guild Card), +// one of the structures below immediately follows the PSOGCIFileHeader. The +// system file is not encrypted, but the character and Guild Card files are +// encrypted using a seed stored in the system file. + struct PSOGCIFileHeader { /* 0000 */ parray game_id; // 'GPOE', 'GPSP', etc. /* 0004 */ parray developer_id; // '8P' for Sega @@ -45,6 +52,7 @@ struct PSOGCIFileHeader { // fields in this struct starting with gci_header.game_name. (Yes, including // the checksum field, which is temporarily zero.) See checksum_correct below. /* 2084 */ be_uint32_t checksum; + /* 2088 */ bool checksum_correct() const; void check() const;