Changes

423 bytes added ,  16:45, 7 May 2013
Line 96: Line 96:  
|-     
 
|-     
 
|  0x2028
 
|  0x2028
0x8
+
0x2
 
|  Flags
 
|  Flags
 +
|-   
 +
|  0x202A
 +
|  0x2
 +
|  Reserved
 +
|-   
 +
|  0x202C
 +
|  0x2
 +
|  EULA Version
 +
|-   
 +
|  0x202E
 +
|  0x2
 +
|  Reserved
 
|-   
 
|-   
 
|  0x2030
 
|  0x2030
Line 183: Line 195:  
|}
 
|}
   −
These are generated by converting the age rating(decimal) to a hex value and then adding it to '0x80'. For example if '7 years' was the rating, then the flag would be 0x87.
+
Active ratings have a bitmask of 0x80, and inactive ratings have no bitmask at all. Ratings without the 0x80 bitmask are ignored.
    
=== Region Lockout ===
 
=== Region Lockout ===
   −
This flag is what the Home Menu uses in order to determine the [[Home Menu#Region Lockout|Region Lockout]] of a title. This exists inside the ICN data as little endian. (In the table below they are presented in big endian)
+
This flag is what the Home Menu uses in order to determine the [[Home Menu#Region Lockout|Region Lockout]] of a title. These are bitmask flags. Byte[0] is currently the only byte used, the rest are reserved.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
!  REGION
 
!  REGION
VALUE
+
BITMASK
|-
  −
|  All Regions (No region restrictions)
  −
|  7F FF FF FF
   
|-
 
|-
 
|  Japan
 
|  Japan
00 00 00 01
+
0x01
 
|-
 
|-
 
|  North America
 
|  North America
00 00 00 02
+
0x02
 
|-
 
|-
 
|  Europe
 
|  Europe
00 00 00 0C
+
0x04
 +
|-
 +
|  Australia
 +
|  0x08
 +
|-
 +
|  China
 +
|  0x10
 
|-
 
|-
 
|  Korea
 
|  Korea
00 00 00 20
+
0x20
 
|-
 
|-
 
|  Taiwan  
 
|  Taiwan  
00 00 00 40
+
0x40
|-
  −
|  China
  −
|  00 00 00 50
   
|}
 
|}
 +
 +
As these are bitmask flags, multiple regions can be 'allowed' access to a title if Nintendo chose. A "Region Free" title would have each byte = 0xff. (For reference, the CTR_SDK implementation of "region free", has bytes[0-2] = 0xff, and byte[3] = 0x7f)
    
=== Match Maker IDs ===
 
=== Match Maker IDs ===
Line 244: Line 258:  
|-
 
|-
 
|  0
 
|  0
|  See Table Below
+
|  See Below
 
|-
 
|-
 
|  1
 
|  1
Unknown - Usually 0x01(Some Dev Apps have this set to 0x00)
+
See Below
|-
  −
|  2
  −
|  Unknown/Unused
  −
|-
  −
|  3
  −
|  Unknown/Unused
  −
|-
  −
|  4
  −
|  Unknown/Unused
  −
|-
  −
|  5
  −
|  Unknown - Usually 0x01
  −
|-
  −
|  6
  −
|  Unknown/Unused
  −
|-
  −
|  7
  −
|  Unknown/Unused
   
|}
 
|}
   Line 274: Line 270:  
!  BITMASK VALUE
 
!  BITMASK VALUE
 
|-
 
|-
|  Visibility Flag (always present)
+
|  Visibility Flag (Required for visibility on the Home Menu)
 
|  0x01
 
|  0x01
 
|-
 
|-
Line 299: Line 295:  
|}
 
|}
 
   
 
   
For example, if we wanted an application to use the 3D effect, autosave on exit and use save data. The combined flag would be 0x95: (0x01 | 0x04 | 0x10 | 0x80)
+
==== Byte[1] ====
 +
{| class="wikitable" border="1"
 +
|-
 +
!  FLAG
 +
!  BITMASK VALUE
 +
|-
 +
|  Icon Database related (Most applications have this set)
 +
|  0x01
 +
|}
 +
 
 +
=== EULA Version ===
 +
This is the EULA version which is checked when the Accept EULA flag is set, the version is compared to one stored in the 3DS. If the SMDH version is greater, then the user will be prompted to accept the EULA.
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
!  START
 +
!  SIZE
 +
!  DESCRIPTION
 +
|-
 +
|  0x202C
 +
0x01
 +
|  EULA Version Minor
 +
|-
 +
|  0x202D
 +
| 0x01
 +
| EULA Version Major
 +
|}
    
=== 'Optimal Animation Default Frame' (for BNR) ===
 
=== 'Optimal Animation Default Frame' (for BNR) ===
839

edits