This page describes the format of savegames contained in NAND.

AES CMAC header

Image offset Length Description
0x00 0x10 AES-CMAC
0x10 0xF0 Zero padding

DISF

  • This is located @ 0x100 in the image, following the CMAC header.
Start Length Description
0x000 4 Magic ("DISF")
0x004 4 Magic Number (0x40000)
0x008 32 Hash
0x028 8 Primary Partition Table Offset
0x030 8 Primary Partition Table Size
0x038 8 Secondary Partition Table Offset
0x040 8 Secondary Partition Table Size
0x048 8 Save Partition Offset
0x050 8 Save Partition Size
0x258 End

DPFS

  • This is located @ 0x200 in the image, following DISF.
  • Block sizes are log2
Start Length Description
0x00 4 Magic ("DPFS")
0x04 4 Magic Number (0x10000)
0x08 8 Offset 0
0x10 8 Size 0
0x18 8 Block Size 0
0x20 8 Offset 1
0x28 8 Size 1
0x30 8 Block Size 1
0x38 8 Offset 2
0x40 8 Size 2
0x48 8 Block Size 2

IVFC

  • Generally follows DPFS, similar to 3DS.

JNGL

  • Generally follows IVFC
Start Length Description
0x00 4 Magic ("JNGL")
0x04 4 Magic Number (0x10000)
0x08 8 Savedata Size
0x10 8 Unknown, Size
0x18 8 Savedata Blocksize?
0x20 4 Unknown
0x24 4 Unknown
0x28 8 Unknown
0x30 464 Padding?

SAVE

  • Generally follows JNGL, structure is different from 3DS.
Start Length Description
0x00 4 Magic ("SAVE")
0x04 4 Magic Number (0x60000)
0x08 8 Unknown, number
0x10 8 Unknown, block size
0x18 8 Unknown, block size
0x20 8 Unknown

RMAP

  • There are generally two RMAP blocks in sequence.
Start Length Description
0x00 4 Magic ("RMAP")
0x04 4 Magic Number (0x10000)