Line 28: |
Line 28: |
| | 0x2008 | | | 0x2008 |
| | 0x30 | | | 0x30 |
− | | Flags | + | | Application Settings |
| |- | | |- |
| | 0x2038 | | | 0x2038 |
Line 77: |
Line 77: |
| * 11th: Russian title name | | * 11th: Russian title name |
| | | |
− | == Flags == | + | == Application Settings == |
| | | |
− | This is where the application [[Home Menu]] flags exist. Most of these flags are only used by [[Home Menu]].
| + | Most of these flags are only used by the [[Home Menu]]. All of these are represented in SMDH files in little endian. But when documented below, the tables represent values in big endian. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 88: |
Line 88: |
| |- | | |- |
| | 0x2008 | | | 0x2008 |
− | | 0xA | + | | 0x10 |
| | Region Specific Game Ratings (For use with Parental Controls) | | | Region Specific Game Ratings (For use with Parental Controls) |
| |- | | |- |
| | 0x2018 | | | 0x2018 |
| | 0x4 | | | 0x4 |
− | | BNR Region (Used For Region Locking) | + | | Region Lockout |
| |- | | |- |
| | 0x201C | | | 0x201C |
Line 100: |
Line 100: |
| |- | | |- |
| | 0x2028 | | | 0x2028 |
− | | 0x1 | + | | 0x8 |
− | | Combined Flag (Various Flags) | + | | Flags |
| |- | | |- |
− | | 0x2032 | + | | 0x2030 |
− | | 0x2 | + | | 0x4 |
| | 'Optimal Animation Default Frame' (for BNR) | | | 'Optimal Animation Default Frame' (for BNR) |
| |- | | |- |
Line 129: |
Line 129: |
| | 0x1 | | | 0x1 |
| | ESRB (USA) | | | ESRB (USA) |
| + | |- |
| + | | 0x200A |
| + | | 0x1 |
| + | | Reserved |
| |- | | |- |
| | 0x200B | | | 0x200B |
Line 137: |
Line 141: |
| | 0x1 | | | 0x1 |
| | PEGI GEN (Europe) | | | PEGI GEN (Europe) |
| + | |- |
| + | | 0x200D |
| + | | 0x1 |
| + | | Reserved |
| |- | | |- |
| | 0x200E | | | 0x200E |
Line 152: |
Line 160: |
| | 0x2011 | | | 0x2011 |
| | 0x1 | | | 0x1 |
− | | Unknown/Unused | + | | Reserved For Future Use |
| + | |- |
| + | | 0x2012 |
| + | | 0x1 |
| + | | Reserved |
| + | |- |
| + | | 0x2013 |
| + | | 0x1 |
| + | | Reserved For Future Use |
| + | |- |
| + | | 0x2014 |
| + | | 0x1 |
| + | | Reserved For Future Use |
| + | |- |
| + | | 0x2015 |
| + | | 0x1 |
| + | | Reserved |
| + | |- |
| + | | 0x2016 |
| + | | 0x1 |
| + | | Reserved For Future Use |
| + | |- |
| + | | 0x2017 |
| + | | 0x1 |
| + | | Reserved For Future Use |
| |} | | |} |
| | | |
− | These flags are generated by converting the age rating to a hex value and then adding it to '0x80'. For example if '7 years' was the rating, then the flag would be 0x87. The unknown/unused rating is only has a value when the BNR is for 'All Regions'. Also if Game Ratings are not used, the data is garbage. | + | 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. The unknown/unused rating is only has a value when the BNR is for 'All Regions'. Also if Game Ratings are not used, the data is garbage. |
| | | |
− | === BNR Region === | + | === 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. This exists inside the ICN data as little endian. (In the table below they are presented in big endian) |
Line 190: |
Line 222: |
| === Match Maker IDs === | | === Match Maker IDs === |
| | | |
− | These IDs are an application's online gaming IDs. These exist in the ICN file in little endian. | + | These IDs are an application's online gaming IDs. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 207: |
Line 239: |
| |} | | |} |
| | | |
| + | === Flags === |
| + | These are a collection of bit-mask flags. |
| | | |
− | === Bitmask Flags === | + | {| class="wikitable" border="1" |
− | | + | |- |
− | Multiple flags are packed into this single byte.
| + | ! INDEX |
| + | ! DESCRIPTION |
| + | |- |
| + | | 0 |
| + | | Unknown/Unused |
| + | |- |
| + | | 1 |
| + | | Unknown/Unused |
| + | |- |
| + | | 2 |
| + | | Unknown - Usually 0x01 |
| + | |- |
| + | | 3 |
| + | | Unknown/Unused |
| + | |- |
| + | | 4 |
| + | | Unknown/Unused |
| + | |- |
| + | | 5 |
| + | | Unknown/Unused |
| + | |- |
| + | | 6 |
| + | | Unknown - Usually 0x01 |
| + | |- |
| + | | 7 |
| + | | See Table Below |
| + | |} |
| | | |
| + | ==== Bit[7] ==== |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
Line 248: |
Line 309: |
| Purpose of this flag: If using an animated BNR, it's the most representative frame for the animation. | | Purpose of this flag: If using an animated BNR, it's the most representative frame for the animation. |
| | | |
− | {| class="wikitable" border="1"
| + | This value is generated by taking an input value(default BNR frame) as a float, then representing it a hexadecimal array. |
− | |-
| |
− | ! OPTIMAL ANIMATION DEFAULT FRAME
| |
− | ! VALUE
| |
− | |-
| |
− | | 0
| |
− | | 00 00
| |
− | |-
| |
− | | 1
| |
− | | 3F 80
| |
− | |-
| |
− | | 2
| |
− | | 40 00
| |
− | |-
| |
− | | 3
| |
− | | 40 40
| |
− | |-
| |
− | | 4
| |
− | | 40 80
| |
− | |-
| |
− | | 5
| |
− | | 40 A0
| |
− | |-
| |
− | | 6
| |
− | | 40 C0
| |
− | |}
| |
− | | |
− | Flag Pattern: This is generated by taking an input value(default BNR frame) as a float, then converting it to a hexadecimal array, then taking the first two hex numbers. This is written to the ICN file as little endian. (in the table above they are represented in big endian)
| |
| | | |
| === CEC (StreetPass) ID === | | === CEC (StreetPass) ID === |
| | | |
− | This u32 represents the application CEC ID. This is likely loaded by applications for use with the CEC services as well. Again this exists in the ICN data as little endian | + | This u32 represents the application CEC ID. This is likely loaded by applications for use with the CEC services as well. |
| | | |
| == Icon graphics == | | == Icon graphics == |