Pokémon XY Save File Structure

From ProjectPokemon Wiki
Jump to navigation Jump to search

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-0x00460)

Offset Length Value Description
00000 0x10 -- AES MAC Header
00100 0x100 -- DISA
00200 0x130 -- DIFI Blob 1
00330 0x130 -- DIFI Blob 2

First Partition (0x01000-0x01107)

Save File 1 (0x02000 - 0x6AFFF)

(420 KB)

ID Start Length CHK Description
0000 05400 000002C8 6A81A 05400 - Pokepuff Inventory (Index * 100ct)
05464 - u32 counter
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 Egg Data
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 Medals
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.