Savegames: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				No edit summary  | 
				||
| 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 00:56, 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) | 
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) |