Pokémon XY Save File Structure
X/Y Save files are comprised of 4 sections, the latter two storing the contents of the two savegames.
The game alternates between the two game saves similar to Generations 3 & 4.
Save files are 0x100000 (1MB). The area between sections is either FF or 00, for Cartridges and Digital saves respectively.
Single Partition Save File
http://3dbrew.org/wiki/Savegames
Image Header (0x00000-0x0045B)
First Partition (0x01000-0x01107)
Save File 1 (0x02000 - 0x6AFFF)
(420 KB)
ID | Start | Length | CHK | Description |
0000 | 05400 | 000002C8 | 6A81A | 05400 - Pokepuffs 05460 - Friends List |
0001 | 05800 | 00000B88 | 6A822 | 05800 - Items Pocket 05E40 - Key Items Pocket 05FC0 - TM Pocket 06168 - Medicine Pocket 06268 - Berry Pocket |
0002 | 06400 | 0000002C | 6A82A | Select Bound Items |
0003 | 06600 | 0000002C | 6A82A | ???? |
0004 | 06800 | 00000038 | 6A83A | Trainer Stat Flags (Style) |
0005 | 06A00 | 00000004 | 6A842 | ???? |
0006 | 06C00 | 00000008 | 6A84A | ???? |
0007 | 06E00 | 000001C0 | 6A852 | Wardrobe (Bitflags) & Saved Outfits (Index #s) |
0008 | 07000 | 000000BE | 6A85A | u16/u8 storage |
0009 | 07200 | 00000024 | 6A862 | FFFFFFFF |
000A | 07400 | 00002100 | 6A86A | Overworld Data |
000B | 09600 | 00000140 | 6A872 | Trainer Information ($) |
000C | 09800 | 00000440 | 6A87A | Box Names |
000D | 09E00 | 00000574 | 6A882 | Battle Box |
000E | 0A400 | 00004E28 | 6A88A | PSS Data - Friends |
000F | 0F400 | 00004E28 | 6A892 | PSS Data - Acquaintances |
0010 | 14400 | 00004E28 | 6A89A | PSS Data - Passerby |
0011 | 19400 | 00000170 | 6A8A2 | Trainer Card (ID/SID/OT/Greeting) |
0012 | 19600 | 0000061C | 6A8AA | Party Members |
0013 | 19E00 | 00000504 | 6A8B2 | Constant & Event Flags |
0014 | 1A400 | 000006A0 | 6A8BA | Pokedex |
0015 | 1AC00 | 00000644 | 6A8C2 | Sorted Variables |
0016 | 1B400 | 00000104 | 6A8CA | Fused Zekrom/Reshiram Storage |
0017 | 1B600 | 00000004 | 6A8D2 | ???? |
0018 | 1B800 | 00000420 | 6A8DA | ???? |
0019 | 1BE00 | 00000064 | 6A8E2 | O-Power Flags |
001A | 1C000 | 000003F0 | 6A8EA | ???? |
001B | 1C400 | 0000070C | 6A8F2 | User Metadata |
001C | 1CC00 | 00000180 | 6A8FA | GTS Upload & Match Criteria |
001D | 1CE00 | 00000004 | 6A902 | ???? |
001E | 1D000 | 0000000C | 6A90A | ???? |
001F | 1D200 | 00000048 | 6A912 | ???? |
0020 | 1D400 | 00000054 | 6A91A | ???? |
0021 | 1D600 | 00000644 | 6A922 | ???? |
0022 | 1D800 | 000005C8 | 6A92A | Tournament Data |
0023 | 1E400 | 000002F8 | 6A932 | MAC Address & Network Connection Logging |
0024 | 1E800 | 00001B40 | 6A93A | Hall of Fame Data (First Game Clear + 15 Latest) |
0025 | 20400 | 000001F4 | 6A942 | Maison Data |
0026 | 20600 | 000001F0 | 6A94A | Daycare Data |
0027 | 20800 | 00000216 | 6A952 | ???? |
0028 | 20C00 | 00000390 | 6A95A | Berry Field Data (0x18 per tree, 36 trees) |
0029 | 21000 | 00001A90 | 6A962 | Wondercard Data 0x100 bitflag-card received storage Wondercard slots (0x108 between) |
002A | 22C00 | 00000308 | 6A96A | EBUS Pokemon Storage |
002B | 23000 | 00000618 | 6A972 | Friend Safari Data |
002C | 23800 | 0000025C | 6A97A | PSS Data |
002D | 23C00 | 00000834 | 6A982 | ???? |
002E | 24600 | 00000318 | 6A98A | Species related history |
002F | 24A00 | 000007D0 | 6A992 | ???? |
0030 | 25400 | 00000C48 | 6A99A | Pokemon Bank Gifts |
0031 | 26000 | 00000078 | 6A9A2 | ???? |
0032 | 26200 | 00000200 | 6A9AA | PGL Promotion Gifts |
0033 | 26400 | 00000C84 | 6A9B2 | ???? |
0034 | 27200 | 00000628 | 6A9BA | ???? |
0035 | 27A00 | 00034AD0 | 6A9C2 | Box Data (31 Boxes, 30 Slots, 232 bytes each) |
0036 | 5C600 | 0000E058 | 6A9CA | Picture Data (JPEG Exif Ver 2.2) ~ 5C654 starts the JPEG (FF D8 marker) - Sent to PGL |
---- | 6A800 | 00000800 | ----- | Checksum Storage [0x14] Header: u64 savetime1 & u64 savetime2, u16 BEEF magic [0x10] Checksum Entries: u32 len, u16 ID, u16 checksum (ccitt16, 0xFFFF initial) |
Save File 2 (0x81000 - 0xE9FFF)
(420 KB)
Same as Game Save 1's offsets; add 0x7F000.