<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://switchbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marker</id>
	<title>Nintendo Switch Brew - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://switchbrew.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marker"/>
	<link rel="alternate" type="text/html" href="https://switchbrew.org/wiki/Special:Contributions/Marker"/>
	<updated>2026-05-17T08:16:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Flash_Filesystem&amp;diff=1444</id>
		<title>Flash Filesystem</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Flash_Filesystem&amp;diff=1444"/>
		<updated>2017-07-07T18:24:22Z</updated>

		<summary type="html">&lt;p&gt;Marker: temp folder is manifested on some user filesystems&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= NAND structure =&lt;br /&gt;
&lt;br /&gt;
== Boot Partitions ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boot Partition 0 (0 of 1)&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  0x000000&lt;br /&gt;
|  &lt;br /&gt;
|  Title 0100000000000819 BCT&lt;br /&gt;
|-&lt;br /&gt;
|  0x004000&lt;br /&gt;
|  &lt;br /&gt;
|  Title 010000000000081A BCT&lt;br /&gt;
|-&lt;br /&gt;
|  0x008000&lt;br /&gt;
|  &lt;br /&gt;
|  Title 0100000000000819 BCT&lt;br /&gt;
|-&lt;br /&gt;
|  0x00C000&lt;br /&gt;
|  &lt;br /&gt;
|  Title 010000000000081A BCT&lt;br /&gt;
|-&lt;br /&gt;
|  0x100000&lt;br /&gt;
|  &lt;br /&gt;
|  Title 0100000000000819 &amp;quot;package1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x140000&lt;br /&gt;
|  &lt;br /&gt;
|  Title 0100000000000819 &amp;quot;package1&amp;quot; (Backup)&lt;br /&gt;
|-&lt;br /&gt;
|  0x180000&lt;br /&gt;
|  &lt;br /&gt;
|  Keyblob area, the first 0xB0 is identical to the console-unique &amp;quot;customer data&amp;quot; section in BCTs&lt;br /&gt;
|-&lt;br /&gt;
|  0x184000&lt;br /&gt;
|  &lt;br /&gt;
|  Unknown, 0x20-bytes hash (updated when bcpkg-2-1 updates) + one u64? (may be incremented on bcpkg update) All zero on 1.0.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boot Partition 1 (1 of 1)&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  0x000000&lt;br /&gt;
|  &lt;br /&gt;
|  Title 010000000000081A &amp;quot;package1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  0x040000&lt;br /&gt;
|  &lt;br /&gt;
|  Title 010000000000081A &amp;quot;package1&amp;quot; (Backup)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Partitions ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Partition name&lt;br /&gt;
!  Offset&lt;br /&gt;
!  Size&lt;br /&gt;
!  [[Filesystem_services|Bis]] Partition ID&lt;br /&gt;
!  Description&lt;br /&gt;
|-&lt;br /&gt;
|  N/A&lt;br /&gt;
|  0x0&lt;br /&gt;
|  &lt;br /&gt;
|  20&lt;br /&gt;
|  GPT header, Bis-storage also allows raw access to the entire NAND eMMC sectors starting at sector0.&lt;br /&gt;
|-&lt;br /&gt;
|  PRODINFO&lt;br /&gt;
|  0x00004400&lt;br /&gt;
|  0x003FBC00&lt;br /&gt;
|  27&lt;br /&gt;
|  &amp;quot;CAL0&amp;quot; raw partition containing set:cal data.&lt;br /&gt;
|-&lt;br /&gt;
|  PRODINFOF&lt;br /&gt;
|  0x00400000&lt;br /&gt;
|  0x00400000&lt;br /&gt;
|  28&lt;br /&gt;
|  FAT12 filesystem, additional calibration.&lt;br /&gt;
|-&lt;br /&gt;
|  BCPKG2-1-Normal-Main&lt;br /&gt;
|  0x00800000&lt;br /&gt;
|  0x00800000&lt;br /&gt;
|  21&lt;br /&gt;
|  For all these packages, data starts at offset 0x4000 and is not console-unique. This is installed from &amp;quot;package2&amp;quot; in firmware package A (0100000000000819) by default. With the exFAT update installed, this is switched to firmware package C (010000000000081B).&lt;br /&gt;
|-&lt;br /&gt;
|  BCPKG2-2-Normal-Sub&lt;br /&gt;
|  0x01000000&lt;br /&gt;
|  0x00800000&lt;br /&gt;
|  22&lt;br /&gt;
|  Identical to BCPKG2-1-Normal-Main, probably used as a backup partition.&lt;br /&gt;
|-&lt;br /&gt;
|  BCPKG2-3-SafeMode-Main&lt;br /&gt;
|  0x01800000&lt;br /&gt;
|  0x00800000&lt;br /&gt;
|  23&lt;br /&gt;
|  This is installed from &amp;quot;package2&amp;quot; in firmware package B (010000000000081A).&lt;br /&gt;
|-&lt;br /&gt;
|  BCPKG2-4-SafeMode-Sub&lt;br /&gt;
|  0x02000000&lt;br /&gt;
|  0x00800000&lt;br /&gt;
|  24&lt;br /&gt;
|  Identical to BCPKG2-3-SafeMode-Main.&lt;br /&gt;
|-&lt;br /&gt;
|  BCPKG2-5-Repair-Main&lt;br /&gt;
|  0x02800000&lt;br /&gt;
|  0x00800000&lt;br /&gt;
|  25&lt;br /&gt;
|  Installed at the factory.&lt;br /&gt;
|-&lt;br /&gt;
|  BCPKG2-6-Repair-Sub&lt;br /&gt;
|  0x03000000&lt;br /&gt;
|  0x00800000&lt;br /&gt;
|  26&lt;br /&gt;
|  Identical to BCPKG2-5-Repair-Main.&lt;br /&gt;
|-&lt;br /&gt;
|  SAFE&lt;br /&gt;
|  0x03800000&lt;br /&gt;
|  0x04000000&lt;br /&gt;
|  29&lt;br /&gt;
|  FAT32 filesystem.&lt;br /&gt;
|-&lt;br /&gt;
|  SYSTEM&lt;br /&gt;
|  0x07800000 &lt;br /&gt;
|  0xA0000000&lt;br /&gt;
|  31 (and 32?)&lt;br /&gt;
|  FAT32 filesystem.&lt;br /&gt;
|-&lt;br /&gt;
|  USER&lt;br /&gt;
|  0xA7800000&lt;br /&gt;
|  0x680000000&lt;br /&gt;
|  30&lt;br /&gt;
|  FAT32 filesystem.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| 0x747BFFE00&lt;br /&gt;
| 0x200&lt;br /&gt;
| &lt;br /&gt;
| This is the backup GPT header specified by the main GPT header. This is also the last sector readable with Bis-storage paritionID 20.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If the client process lacks the relevant permission for any of the above partition IDs, error 0x2EE202 is returned.&lt;br /&gt;
&lt;br /&gt;
[[NCA]]s stored in NAND are raw, identical to the data readable with [[Content_Manager_services#ReadEntryRaw]].&lt;br /&gt;
&lt;br /&gt;
The filenames for saveimages is just &amp;quot;&amp;lt;lower-case hex u64 saveID&amp;gt;&amp;quot;. SYSTEM-partition saveIDs are specified by [[Filesystem_services|FS]] commands, while USER-partition saveIDs are determined by FS-module internally. The high u32 of the saveID is normally either 0x00000000 or 0x80000000.&lt;br /&gt;
&lt;br /&gt;
=== PRODINFOF ===&lt;br /&gt;
 PRODINFOF&lt;br /&gt;
 ├── Certifications&lt;br /&gt;
 │   └── WirelessCertification.png&lt;br /&gt;
 └── ptd&lt;br /&gt;
     ├── DeviceIdWithEmsBit.dat&lt;br /&gt;
     ├── Ecid.dat&lt;br /&gt;
     ├── prodCode.dat&lt;br /&gt;
     └── log&lt;br /&gt;
         ├── Process_asm1.log&lt;br /&gt;
         ├── Process_board1.log&lt;br /&gt;
         ├── TestFlagLine.log&lt;br /&gt;
         ├── TestFlagQc.log&lt;br /&gt;
         ├── AGING&lt;br /&gt;
         │   └── Sequence.log&lt;br /&gt;
         ├── BOARD_TEST&lt;br /&gt;
         │   └── Sequence.log&lt;br /&gt;
         ├── BOARD_WIRELESS&lt;br /&gt;
         │   └── Sequence.log&lt;br /&gt;
         ├── FINAL_CHECK&lt;br /&gt;
         │   └── Sequence.log&lt;br /&gt;
         ├── LCD_AND_KEY&lt;br /&gt;
         │   └── Sequence.log&lt;br /&gt;
         └── USB_AND_HP&lt;br /&gt;
             └── Sequence.log&lt;br /&gt;
&lt;br /&gt;
==== DeviceIdWithEmsBit.dat ====&lt;br /&gt;
Contains a 0x10-byte uppercase hex string, identical to the DeviceId in the [[Settings_services|DeviceCert]].&lt;br /&gt;
&lt;br /&gt;
=== SYSTEM ===&lt;br /&gt;
 SYSTEM&lt;br /&gt;
 ├── PRF2SAFE.RCV&lt;br /&gt;
 ├── Contents&lt;br /&gt;
 │   ├── registered&lt;br /&gt;
 │   │   └── ... [[NCA]]&lt;br /&gt;
 │   └── placehld&lt;br /&gt;
 │       └── ... [[NCA]]&lt;br /&gt;
 ├── [[Savegames|save]]&lt;br /&gt;
 │   └── ...&lt;br /&gt;
 └── saveMeta&lt;br /&gt;
     └── ... (empty?)&lt;br /&gt;
&lt;br /&gt;
The saves stored under this partition are only for system-titles / etc.&lt;br /&gt;
&lt;br /&gt;
=== USER ===&lt;br /&gt;
 USER&lt;br /&gt;
 ├── PRF2SAFE.RCV&lt;br /&gt;
 ├── Album (Same layout as [[SD_Filesystem|SD]])&lt;br /&gt;
 ├── Contents&lt;br /&gt;
 │   ├── registered&lt;br /&gt;
 │   │   └── ... [[NCA]]&lt;br /&gt;
 │   └── placehld&lt;br /&gt;
 │       └── ... [[NCA]]&lt;br /&gt;
 ├── [[Savegames|save]]&lt;br /&gt;
 │   └── ...&lt;br /&gt;
 ├── saveMeta&lt;br /&gt;
 │   └── ... &lt;br /&gt;
 └── temp &lt;br /&gt;
&lt;br /&gt;
The saves for all non-system applications, regardless of where the application is located(storageID), is stored here. Each user account which has savedata has a separate saveimage. Save-common for an application is presumably a separate saveimage too. Every saveimage here is &#039;&#039;only&#039;&#039; for applications.&lt;br /&gt;
&lt;br /&gt;
=== SAFE ===&lt;br /&gt;
 SAFE&lt;br /&gt;
 ├── PRF2SAFE.RCV&lt;br /&gt;
 ├── Contents&lt;br /&gt;
 │   ├── registered&lt;br /&gt;
 │   │   └── ... [[NCA]] (nothing installed?)&lt;br /&gt;
 │   └── placehld&lt;br /&gt;
 │       └── ... [[NCA]]&lt;br /&gt;
 └── [[Savegames|save]]&lt;br /&gt;
     ├── 8000000000000000&lt;br /&gt;
     └── 8000000000000120&lt;br /&gt;
&lt;br /&gt;
On a v2.1 system with MountBis, the only thing under here is &amp;quot;PRF2SAFE.RCV&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1364</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1364"/>
		<updated>2017-07-04T19:21:52Z</updated>

		<summary type="html">&lt;p&gt;Marker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND. NAND savegames do not use an container with the entire file encrypted. A lot of the saveimage appears to have uninitialized data, resulting in a lot of encrypted data in the saveimage.&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x030&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x038&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x040&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x048&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x050&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
* Block sizes are log2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DPFS&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Size 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;IVFC&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x20000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Master hash size?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Level 1 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Level 1 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Level 1 block size, in log2&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Level 2 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Level 2 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 4&lt;br /&gt;
| Level 2 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Level 3 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Level 3 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 4&lt;br /&gt;
| Level 3 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 8&lt;br /&gt;
| Level 4 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 8&lt;br /&gt;
| Level 4 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 4&lt;br /&gt;
| Level 4 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x70&lt;br /&gt;
| 48&lt;br /&gt;
| Unknown, reserved?&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== JNGL ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows IVFC&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;JNGL&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Blocksize?&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 464&lt;br /&gt;
| Padding?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SAVE ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows JNGL, structure is different from 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;SAVE&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x60000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, number&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== RMAP ====&lt;br /&gt;
&lt;br /&gt;
* There are generally two RMAP blocks in sequence.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;RMAP&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files ===&lt;br /&gt;
&lt;br /&gt;
==== File Offset Table ====&lt;br /&gt;
&lt;br /&gt;
* Indexes 0 and 1 are reserved to point towards the folder and file tables.&lt;br /&gt;
&lt;br /&gt;
===== File Offset Table Entry =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 3&lt;br /&gt;
| Data offset, in blocks&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 1&lt;br /&gt;
| Unknown, 80&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown, 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== File/Folder Table Entry ====&lt;br /&gt;
&lt;br /&gt;
* The root file/folder index is generally 2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Parent Folder Index&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 64&lt;br /&gt;
| Filename&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 4&lt;br /&gt;
| File/Folder Index?&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 4&lt;br /&gt;
| File offset index in offset table, 0 for folders&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c&lt;br /&gt;
| 8&lt;br /&gt;
| File size, or number of files for folders&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5c&lt;br /&gt;
| 4&lt;br /&gt;
| Next File Index, same as folder index for folders&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1363</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1363"/>
		<updated>2017-07-04T19:16:23Z</updated>

		<summary type="html">&lt;p&gt;Marker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND. NAND savegames do not use an container with the entire file encrypted. A lot of the saveimage appears to have uninitialized data, resulting in a lot of encrypted data in the saveimage.&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x030&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x038&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x040&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x048&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x050&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
* Block sizes are log2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DPFS&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Size 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;IVFC&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x20000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Master hash size?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Level 1 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Level 1 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Level 1 block size, in log2&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Level 2 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Level 2 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 4&lt;br /&gt;
| Level 2 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Level 3 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Level 3 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 4&lt;br /&gt;
| Level 3 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 8&lt;br /&gt;
| Level 4 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 8&lt;br /&gt;
| Level 4 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 4&lt;br /&gt;
| Level 4 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x70&lt;br /&gt;
| 48&lt;br /&gt;
| Unknown, reserved?&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== JNGL ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows IVFC&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;JNGL&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Blocksize?&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 464&lt;br /&gt;
| Padding?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SAVE ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows JNGL, structure is different from 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;SAVE&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x60000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, number&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== RMAP ====&lt;br /&gt;
&lt;br /&gt;
* There are generally two RMAP blocks in sequence.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;RMAP&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files ===&lt;br /&gt;
&lt;br /&gt;
===== File Offset Table Entry =====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 3&lt;br /&gt;
| File offset, in blocks&lt;br /&gt;
|-&lt;br /&gt;
| 0x03&lt;br /&gt;
| 1&lt;br /&gt;
| Unknown, 80&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown, 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== File/Folder Table Entry ====&lt;br /&gt;
&lt;br /&gt;
* The root file/folder index is generally 2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Parent Folder Index&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 64&lt;br /&gt;
| Filename&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 4&lt;br /&gt;
| File/Folder Index?&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 4&lt;br /&gt;
| File offset index in offset table, 0 for folders&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c&lt;br /&gt;
| 8&lt;br /&gt;
| File size, or number of files for folders&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5c&lt;br /&gt;
| 4&lt;br /&gt;
| Next File Index, same as folder index for folders&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1361</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1361"/>
		<updated>2017-07-04T19:07:02Z</updated>

		<summary type="html">&lt;p&gt;Marker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND. NAND savegames do not use an container with the entire file encrypted. A lot of the saveimage appears to have uninitialized data, resulting in a lot of encrypted data in the saveimage.&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x030&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x038&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x040&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x048&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x050&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
* Block sizes are log2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DPFS&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Size 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;IVFC&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x20000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Master hash size?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Level 1 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Level 1 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Level 1 block size, in log2&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Level 2 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Level 2 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 4&lt;br /&gt;
| Level 2 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Level 3 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Level 3 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 4&lt;br /&gt;
| Level 3 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 8&lt;br /&gt;
| Level 4 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 8&lt;br /&gt;
| Level 4 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 4&lt;br /&gt;
| Level 4 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x70&lt;br /&gt;
| 48&lt;br /&gt;
| Unknown, reserved?&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== JNGL ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows IVFC&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;JNGL&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Blocksize?&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 464&lt;br /&gt;
| Padding?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SAVE ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows JNGL, structure is different from 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;SAVE&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x60000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, number&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== RMAP ====&lt;br /&gt;
&lt;br /&gt;
* There are generally two RMAP blocks in sequence.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;RMAP&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Files ===&lt;br /&gt;
&lt;br /&gt;
* The root file/folder index is generally 2&lt;br /&gt;
&lt;br /&gt;
==== File/Folder Table Entry ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Parent Folder Index&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 64&lt;br /&gt;
| Filename&lt;br /&gt;
|-&lt;br /&gt;
| 0x44&lt;br /&gt;
| 4&lt;br /&gt;
| File/Folder Index?&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 4&lt;br /&gt;
| File offset index in offset table, 0 for folders&lt;br /&gt;
|-&lt;br /&gt;
| 0x4c&lt;br /&gt;
| 8&lt;br /&gt;
| File size, or number of files for folders&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x5c&lt;br /&gt;
| 4&lt;br /&gt;
| Next File Index, same as folder index for folders&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1346</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1346"/>
		<updated>2017-07-03T16:13:27Z</updated>

		<summary type="html">&lt;p&gt;Marker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND.&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x030&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x038&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x040&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x048&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x050&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
* Block sizes are log2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DPFS&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Size 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;IVFC&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x20000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Master hash size?&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Level 1 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Level 1 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Level 1 block size, in log2&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Level 2 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Level 2 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 4&lt;br /&gt;
| Level 2 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x3C&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Level 3 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Level 3 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x50&lt;br /&gt;
| 4&lt;br /&gt;
| Level 3 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x54&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x58&lt;br /&gt;
| 8&lt;br /&gt;
| Level 4 offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x60&lt;br /&gt;
| 8&lt;br /&gt;
| Level 4 size&lt;br /&gt;
|-&lt;br /&gt;
| 0x68&lt;br /&gt;
| 4&lt;br /&gt;
| Level 4 block size, in log2.&lt;br /&gt;
|-&lt;br /&gt;
| 0x6C&lt;br /&gt;
| 4&lt;br /&gt;
| Reserved&lt;br /&gt;
|-&lt;br /&gt;
| 0x70&lt;br /&gt;
| 48&lt;br /&gt;
| Unknown, reserved?&lt;br /&gt;
|-&lt;br /&gt;
| 0xA0&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== JNGL ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows IVFC&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;JNGL&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Blocksize?&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 464&lt;br /&gt;
| Padding?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SAVE ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows JNGL, structure is different from 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;SAVE&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x60000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, number&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== RMAP ====&lt;br /&gt;
&lt;br /&gt;
* There are generally two RMAP blocks in sequence.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;RMAP&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1345</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1345"/>
		<updated>2017-07-03T15:51:29Z</updated>

		<summary type="html">&lt;p&gt;Marker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND.&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x030&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x038&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x040&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x048&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x050&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
* Block sizes are log2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DPFS&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Size 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;br /&gt;
&lt;br /&gt;
==== JNGL ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows IVFC&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;JNGL&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Blocksize?&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 464&lt;br /&gt;
| Padding?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SAVE ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows JNGL, structure is different from 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;SAVE&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x60000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, number&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, block size&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== RMAP ====&lt;br /&gt;
&lt;br /&gt;
* There are generally two RMAP blocks in sequence.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;RMAP&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1344</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1344"/>
		<updated>2017-07-03T15:44:05Z</updated>

		<summary type="html">&lt;p&gt;Marker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND.&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x030&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x038&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x040&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x048&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x050&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
* Block sizes are log2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DPFS&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Size 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;br /&gt;
&lt;br /&gt;
==== JNGL ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows IVFC&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;JNGL&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown, Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Savedata Blocksize?&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x24&lt;br /&gt;
| 4&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 464&lt;br /&gt;
| Padding?&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SAVE ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows JNGL, structure is different from 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;SAVE&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x60000)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== RMAP ====&lt;br /&gt;
&lt;br /&gt;
* There are generally two RMAP blocks in sequence.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;RMAP&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1338</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1338"/>
		<updated>2017-07-02T21:56:13Z</updated>

		<summary type="html">&lt;p&gt;Marker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND.&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x030&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x038&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x040&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x048&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x050&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
* Block sizes are log2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DPFS&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Size 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;br /&gt;
&lt;br /&gt;
==== JNGL ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows IVFC&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;JNGL&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SAVE ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows JNGL, structure is different from 3DS.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;SAVE&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x60000)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== RMAP ====&lt;br /&gt;
&lt;br /&gt;
* There are generally two RMAP blocks in sequence.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;RMAP&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1337</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1337"/>
		<updated>2017-07-02T21:43:08Z</updated>

		<summary type="html">&lt;p&gt;Marker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND.&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x030&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x038&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x040&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x048&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x050&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
* Block sizes are log2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DPFS&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x10000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 8&lt;br /&gt;
| Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x18&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 0&lt;br /&gt;
|-&lt;br /&gt;
| 0x20&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x28&lt;br /&gt;
| 8&lt;br /&gt;
| Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x30&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x38&lt;br /&gt;
| 8&lt;br /&gt;
| Offset 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x40&lt;br /&gt;
| 8&lt;br /&gt;
| Size 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x48&lt;br /&gt;
| 8&lt;br /&gt;
| Block Size 2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1324</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1324"/>
		<updated>2017-07-02T17:07:30Z</updated>

		<summary type="html">&lt;p&gt;Marker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND.&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x028&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x030&lt;br /&gt;
| 8&lt;br /&gt;
| Primary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x038&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x040&lt;br /&gt;
| 8&lt;br /&gt;
| Secondary Partition Table Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x048&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Offset&lt;br /&gt;
|-&lt;br /&gt;
| 0x050&lt;br /&gt;
| 8&lt;br /&gt;
| Save Partition Size&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1320</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1320"/>
		<updated>2017-07-02T16:55:03Z</updated>

		<summary type="html">&lt;p&gt;Marker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND.&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
	<entry>
		<id>https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1319</id>
		<title>Savegames</title>
		<link rel="alternate" type="text/html" href="https://switchbrew.org/w/index.php?title=Savegames&amp;diff=1319"/>
		<updated>2017-07-02T16:54:00Z</updated>

		<summary type="html">&lt;p&gt;Marker: Created page with &amp;quot;This page describes the format of savegames contained in NAND.   === AES CMAC header ===   {| class=&amp;quot;wikitable&amp;quot; |- ! Image offset ! Length ! Description |- | 0x00 | 0x10 | AES...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes the format of savegames contained in NAND.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== AES CMAC header ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Image offset&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0x10&lt;br /&gt;
| AES-CMAC&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 0xF0&lt;br /&gt;
| Zero padding&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== DISF ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x100 in the image, following the CMAC header.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Start&lt;br /&gt;
! Length&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 0x000&lt;br /&gt;
| 4&lt;br /&gt;
| Magic (&amp;quot;DISF&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| 0x004&lt;br /&gt;
| 4&lt;br /&gt;
| Magic Number (0x40000)&lt;br /&gt;
|-&lt;br /&gt;
| 0x008&lt;br /&gt;
| 32&lt;br /&gt;
| Hash&lt;br /&gt;
|-&lt;br /&gt;
| 0x258&lt;br /&gt;
| &lt;br /&gt;
| End&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== DPFS ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* This is located @ 0x200 in the image, following DISF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== IVFC ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Generally follows DPFS, similar to 3DS.&lt;/div&gt;</summary>
		<author><name>Marker</name></author>
	</entry>
</feed>