Difference between revisions of "Savegames"
Jump to navigation
Jump to search
Line 129: | Line 129: | ||
* Generally follows DPFS, similar to 3DS. | * Generally follows DPFS, similar to 3DS. | ||
+ | |||
+ | ==== JNGL ==== | ||
+ | |||
+ | * Generally follows IVFC | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Start | ||
+ | ! Length | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x00 | ||
+ | | 4 | ||
+ | | Magic ("JNGL") | ||
+ | |- | ||
+ | | 0x04 | ||
+ | | 4 | ||
+ | | Magic Number (0x10000) | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==== SAVE ==== | ||
+ | |||
+ | * Generally follows JNGL, structure is different from 3DS. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Start | ||
+ | ! Length | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x00 | ||
+ | | 4 | ||
+ | | Magic ("SAVE") | ||
+ | |- | ||
+ | | 0x04 | ||
+ | | 4 | ||
+ | | Magic Number (0x60000) | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | ==== RMAP ==== | ||
+ | |||
+ | * There are generally two RMAP blocks in sequence. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Start | ||
+ | ! Length | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x00 | ||
+ | | 4 | ||
+ | | Magic ("RMAP") | ||
+ | |- | ||
+ | | 0x04 | ||
+ | | 4 | ||
+ | | Magic Number (0x10000) | ||
+ | |- | ||
+ | |} |
Revision as of 23:56, 2 July 2017
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) |
SAVE
- Generally follows JNGL, structure is different from 3DS.
Start | Length | Description |
---|---|---|
0x00 | 4 | Magic ("SAVE") |
0x04 | 4 | Magic Number (0x60000) |
RMAP
- There are generally two RMAP blocks in sequence.
Start | Length | Description |
---|---|---|
0x00 | 4 | Magic ("RMAP") |
0x04 | 4 | Magic Number (0x10000) |