Savegames: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				No edit summary  | 
				||
| Line 195: | Line 195: | ||
| 4  | | 4  | ||
| Magic Number (0x60000)  | | Magic Number (0x60000)  | ||
|-  | |||
| 0x08  | |||
| 8  | |||
| Unknown, number  | |||
|-  | |||
| 0x10  | |||
| 8  | |||
| Unknown, block size  | |||
|-  | |||
| 0x18  | |||
| 8  | |||
| Unknown, block size  | |||
|-  | |||
| 0x20  | |||
| 8  | |||
| Unknown  | |||
|-  | |-  | ||
|}  | |}  | ||
Revision as of 18:51, 3 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) | 
| 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) |