Home Menu: Difference between revisions

No edit summary
 
(24 intermediate revisions by 6 users not shown)
Line 131: Line 131:
|-
|-
| [[3.1.0-6|3.1.0-6]]
| [[3.1.0-6|3.1.0-6]]
| Unknown
| Not updated
| Unknown
| Unknown
| Unknown. Sighted preinstalled on some early European 3DS XLs.
| Unknown. Sighted preinstalled on some early European 3DS XLs.
Line 657: Line 657:
| Available
| Available
| October 24, 2016
| October 24, 2016
|-
| [[11.3.0-36|11.3.0-36]]
|
| February 6, 2017
| See [[11.3.0-36|this]].
| Yes
| Yes
| Yes
| No
| Available
| February 6, 2017
|-
| [[11.4.0-37|11.4.0-37]]
|
| April 10, 2017
| See [[11.4.0-37|this]].
| Yes
| Yes
| Yes
| No
| Available
| April 10, 2017
|-
| [[11.5.0-38|11.5.0-38]]
|
| July 10, 2017
| See [[11.5.0-38|this]].
|
|
|
| No
| Available
| July 10, 2017
|-
| [[11.6.0-39|11.6.0-39]]
|
| September 18, 2017
| See [[11.6.0-39|this]].
|
|
|
| No
| Available
| September 18, 2017
|-
| [[11.7.0-40|11.7.0-40]]
|
| June 18, 2018
| See [[11.7.0-40|this]].
|
|
|
| No
| Available
| June 18, 2018
|-
| [[11.8.0-41|11.8.0-41]]
|
| July 30, 2018
| See [[11.8.0-41|this]].
|
|
|
| No
| Available
| July 30, 2018
|-
| [[11.9.0-42|11.9.0-42]]
|
| December 3, 2018
| See [[11.9.0-42|this]].
|
|
|
| No
| Available
| December 3, 2018
|-
| [[11.10.0-43|11.10.0-43]]
|
| May 27, 2019
| See [[11.10.0-43|this]].
|
|
|
| No
| Available
| May 27, 2019
|-
| [[11.11.0-43E|11.11.0-43E]]
|
| August 26, 2019
| See [[11.11.0-43E|this]].
|
|
|
| No
| Available
| August 26, 2019
|-
| [[11.12.0-44|11.12.0-44]]
|
| November 4, 2019
| See [[11.12.0-44|this]].
|
|
|
| No
| Available
| November 4, 2019
|-
| [[11.13.0-45|11.13.0-45]]
|
| December 2, 2019
| See [[11.13.0-45|this]].
|
|
|
| No
| Available
| December 2, 2019
|-
| [[11.14.0-46|11.14.0-46]]
|
| November 17, 2020
| See [[11.14.0-46|this]].
|
|
|
| No
| Available
| November 17, 2020
|-
| [[11.15.0-47|11.15.0-47]]
|
| July 27, 2021
| See [[11.15.0-47|this]].
|
|
|
| No
| Available
| July 27, 2021
|-
| [[11.16.0-48|11.16.0-48]]
|
| August 30, 2022
| See [[11.16.0-48|this]].
|
|
|
| No
| Available
| August 30, 2022
|-
| [[11.16.0-49|11.16.0-49]]
|
| September 13, 2022
| See [[11.16.0-49|this]].
|
|
|
| No
| Available
| September 13, 2022
|-
| [[11.17.0-50|11.17.0-50]]
|
| May 23, 2023
| See [[11.17.0-50|this]].
|
|
|
| No
| Available
| May 23, 2023
|}
|}


Line 835: Line 1,011:
| 0x2
| 0x2
| 0x2
| 0x2
| Unknown, normally 0x1.
| u16, cart launcher position on the home menu
|-
|-
| 0x4
| 0x4
Line 843: Line 1,019:
| 0x8
| 0x8
| 0xB40
| 0xB40
| 360 u64s, list of titleIDs. For an unused entry, the u64 value is ~0(in that case, the corresponding entries at 0xD9A/0x106A for this titleID are not used either). This is used for the icons displayed on the main Home Menu screen.
| 360 u64s, list of NAND titleIDs. For an unused entry, the u64 value is ~0(in that case, the corresponding entries at 0xD9A/0x106A for this titleID are not used either). This is used for the icons displayed on the main Home Menu screen.
|-
| 0xB51
| 0x1
| u8, numbers of rows on the home menu, minus 1 (range 0..5) (with the enlarge/reduce option)
|-
| 0xB5C
| 0x2
| u16, position of the cursor on the home menu
|-
| 0xB5E
| 0x2
| u16, horizontal scrolling level (divided by the number of rows to get the actual number of columns hidden) on the home menu
|-
| 0xD80
| 0x2 or 0x4
| u16 or u32, number the next created folder will have (starts at 1)
|-
|-
| 0xD9A
| 0xD9A
Line 851: Line 1,043:
| 0x106A
| 0x106A
| 0x168
| 0x168
| Array of 360 s8 fields, each one corresponds to the titleIDs at the array located at offset 0x8. This is used for icon position. When an s8 here is -1(which is the normal value), the icon is located with the first chunk of icons(outbuf+0), otherwise the base address is outbuf+0xB40+<s8val*0x1E0>(which is equivalent to 60 icons * s8val). Implemented with the format-version for [[4.0.0-7|4.0.0-X]].
| Array of 360 s8 fields, each one corresponds to the titleIDs at the array located at offset 0x8. This is used for icon position. When an s8 here is -1(which is the normal value), the icon is located with the first chunk of icons(outbuf+0), otherwise the base address is outbuf+0xB40+<s8val*0x1E0>(which is equivalent to 60 icons * s8val). Implemented with the format-version for [[4.0.0-7|4.0.0-X]]. Corresponds to the id of the folder the icon is in, range -1..59, with -1 meaning not in a folder
|-
| 0x11DC
| 0x78
| Array of 60 s16 fields, corresponding to folders position (with -1 meaning the folder is deleted/not yet created)
|-
| 0x1434
| 0x3C
| Array of 60 u8 fields, the number of rows in each corresponding folder (defaults to 2)
|-
| 0x1470
| 0x78
| Array of 60 u16 fields, the position of the cursor in each corresponding folder (defaults to 0)
|-
| 0x14E8
| 0x78
| Array of 60 u16 fields, the horizontal scroll level in each corresponding folder (divided by the number of rows to get the actual number of columns hidden) (defaults to 0)
|-
| 0x1560
| 0x7F8
| Array of 60 utf-16 strings of length 0x22 (in bytes, so only 0x11 utf-16 characters) (not NULL-terminated), the name of each corresponding folder
|-
| 0x1D58
| 0xF0
| Array of 60 u32, the number of each corresponding folder
|}
|}


Line 938: Line 1,154:
| 0x8
| 0x8
| 0xB40
| 0xB40
| 360 u64s, list of titleIDs(used with icons). Equivalent to the same array in Launcher.dat.
| 360 u64s, list of titleIDs(used with icons). Equivalent to the same array in Launcher.dat, but for SD titles.
|-
|-
| 0xB48
| 0xB48
Line 1,275: Line 1,491:
| 0x2
| 0x2
| u16, Badge Sub ID (used for multi-part badges)
| u16, Badge Sub ID (used for multi-part badges)
{| class="wikitable" border="1"
! Value
! Meaning
|-
| 0x0
| Badge is a standalone badge
|-
| 0x0100
| Badge is the left piece of a horizontal 2x1 badge
|-
| 0x0101
| Badge is the right piece of a horizontal 2x1 badge
|-
| 0x1000
| Badge is the top piece of a vertical 1x2 badge
|-
| 0x1010
| Badge is the bottom piece of a vertical 1x2 badge
|-
| 0x1100
| Badge is the top left piece of a 2x2 badge
|-
| 0x1101
| Badge is the top right piece of a 2x2 badge
|-
| 0x1110
| Badge is the bottom left piece of a 2x2 badge
|-
| 0x1111
| Badge is the bottom right piece of a 2x2 badge
|}
|}
|}


Line 1,432: Line 1,680:
|-
|-
| 0x4
| 0x4
| 0x4
| 0xC
| u32, total number of stored layouts.
| array of 8 u8, 0 if the corresponding layout slot is not set, 1 if it is
|-
|-
| 0x8
| 0xC
| 0x4
| 0x3000 * 8
| ?
| Start of the layout entries.
|-
|-
| 0x1800C
| 0xC
| 0xC
| ?
| Padding
| Start of the layout entries.
|-
| 0x18010
| 0x2DA0 * 8
| Start of the [[Home_Menu#SaveData.dat|SaveData.dat]] entries.
|-
| 0x2ED10
| 0xD4A8 * 8
| Start of the [[Home_Menu#BadgeMngFile.dat|BadgeMngFile.dat]] entries.
|-
| 0x99250
| 0x30
| Padding
|-
| 0x99280
| 256*3*8 * 400/8 * 8
| Start of the top screen (400x240) screenshots, in BGR8 tiled format, rotated 90 degrees and with 8 rows per "chunk", and actually 256 pixels wide instead of 240, with the last 16 being all black
|-
| 0x2F1280
| 256*3*8 * 320/8 * 8
| Start of the bottom screen (320x240) screenshots, in BGR8 tiled format, rotated 90 degrees and with 8 rows per "chunk", and actually 256 pixels wide instead of 240, with the last 16 being all black
|}
|}


Line 1,453: Line 1,721:
| 0x0
| 0x0
| 0x2558
| 0x2558
| Exact copy of the entire Home Menu [[System_SaveData]] Launcher.dat, this is the actual layout data.
| Exact copy of the entire Home Menu [[System_SaveData]] [[Home_Menu#Launcher.dat|Launcher.dat]], this is the actual layout data.
|-
|-
| 0x2558
| 0x2558
| ?
| 0xAA8
| Layout preview screenshot gfx data, displayed by the Home Menu layout settings menu.
| Padding
|}
|}


Line 1,465: Line 1,733:


Home Menu *only* accesses this file with the Home Menu layout-settings menu / when entering that menu.
Home Menu *only* accesses this file with the Home Menu layout-settings menu / when entering that menu.
== Home Menu Jump Parameters ==
Parameters can be provided to [[APT:JumpToHomeMenu]] to perform certain actions when jumping to the home menu.
=== Command Header ===
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
| 0x0
| 0x4
| Magic Value "ASHP"
|-
| 0x4
| 0x1
| Command ID
|}
If the command requires extra arguments, this header will be padded and the arguments will start at offset 0x8. Otherwise it is just 0x5 bytes large as presented here.
=== Command IDs ===
{| class="wikitable" border="1"
|-
!  ID
!  Description
!  Extra Arguments
|-
| 0x0
| Does Nothing
| None
|-
| 0x1
| Open Instruction Manual
| None
|-
| 0x2
| Download Theme from Theme Shop
| 4-byte ID of the theme (total command size 0xC bytes). This is divided by 1000000 to determine the [[Titles#Title_IDs|title ID variation]], and the remainder corresponds to the theme's DLC content index. If the value is 0 the theme shop will not open correctly, and if the ID isn't valid the theme shop will just return to the home screen after initializing the DLC title.
|-
| 0x3
| Open Badge Picker
| None
|}


== Home Menu startup ==
== Home Menu startup ==