Line 225:
Line 225:
|-
|-
| <code>4-7</code>
| <code>4-7</code>
−
| System mode
+
| Old3DS system mode
+
|}
+
+
===== Old3DS System Mode =====
+
{| class="wikitable" border="1"
+
|-
+
! Value
+
! Description
+
|-
+
| <code>0</code>
+
| <code>Prod</code> (64MB of usable application memory)
+
|-
+
| <code>1</code>
+
| <code>Undefined</code> (unusable)
+
|-
+
| <code>2</code>
+
| <code>Dev1</code> (96MB of usable application memory)
+
|-
+
| <code>3</code>
+
| <code>Dev2</code> (80MB of usable application memory)
+
|-
+
| <code>4</code>
+
| <code>Dev3</code> (72MB of usable application memory)
+
|-
+
| <code>5</code>
+
| <code>Dev4</code> (32MB of usable application memory)
+
|-
+
| <code>6-7</code>
+
| <code>Undefined</code> Same as <code>Prod</code>?
|}
|}
Line 263:
Line 291:
|-
|-
| <code>0-3</code>
| <code>0-3</code>
−
| ''Unknown''
+
| New3DS system mode
|-
|-
| <code>4-7</code>
| <code>4-7</code>
Line 269:
Line 297:
|}
|}
−
The exheader value for the above 4-bit value must be ≤ to the <code>AccessDesc</code> value, otherwise the invalid-exheader error is returned.
+
===== New3DS System Mode =====
+
{| class="wikitable" border="1"
+
|-
+
! Value
+
! Description
+
|-
+
| <code>0</code>
+
| <code>Legacy</code> (use Old3DS system mode)
+
|-
+
| <code>1</code>
+
| <code>Prod</code> (124MB of usable application memory)
+
|-
+
| <code>2</code>
+
| <code>Dev1</code> (178MB of usable application memory)
+
|-
+
| <code>3</code>
+
| <code>Dev2</code> Same as <code>Prod</code>?
+
|-
+
| <code>4-7</code>
+
| <code>Undefined</code> Same as <code>Prod</code>?
+
|}
+
+
When in <code>Legacy</code> mode, the actual memory layout is the same as in <code>New3DS Prod</code>, except the available application memory as reported to the application is reduced to the Old3DS size.
+
+
The exheader value for the New3DS system mode value must be ≤ to the <code>AccessDesc</code> value, otherwise the invalid-exheader error is returned.
==== Storage Info ====
==== Storage Info ====