NCCH/Extended Header: Difference between revisions

Jakcron (talk | contribs)
mNo edit summary
Jakcron (talk | contribs)
Add system modes
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 ====