Home Menu: Difference between revisions
No edit summary |
|||
Line 596: | Line 596: | ||
In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0. | In CacheD.dat, the icon data is concatenated together, with the first icon at offset 0x0. | ||
== [[Home_Menu/Themes|Theme]] cache SD [[Extdata|ExtData]] == | |||
The SD ExtData [[Extdata#Filesystem|File System]] for the [[Home_Menu/Themes|theme]] cache is as follows: | |||
root | |||
├── icon | |||
├── boss | |||
└── user | |||
├── BodyCache.bin | |||
├── ThemeManage.bin | |||
└── BgmCache.bin | |||
{| class="wikitable" border="1" | |||
|- | |||
! File | |||
! Details | |||
! Size | |||
! FW Introduced | |||
! Plaintext | |||
|- | |||
| BodyCache.bin | |||
| Contains cached data from the last loaded [[Home_Menu/Themes|theme]] RomFS body_LZ.bin file. | |||
| 0x150000 | |||
| [[9.0.0-20]] | |||
| | |||
|- | |||
| ThemeManage.bin | |||
| Theme management info. Home Menu reads the first 8-bytes during startup, it's unknown what the rest is used for. | |||
| 0x800 | |||
| [[9.0.0-20]] | |||
|- | |||
| BgmCache.bin | |||
| Contains cached data from the last loaded [[Home_Menu/Themes|theme]] RomFS bgm.bcstm file. | |||
| | |||
| [[9.0.0-20]] | |||
|} | |||
This is the theme cache, for the currently used theme. This is loaded by Home Menu during startup. | |||
== Savedata and extdata loaded by Home Menu during startup == | |||
The following is from [[9.4.0-21]], in the same order Home Menu does it. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Archive | |||
! Filename | |||
! Read size | |||
! Notes | |||
|- | |||
| Home Menu [[System_SaveData]] | |||
| "/Launcher.dat" | |||
| 0x2490 | |||
| | |||
|- | |||
| NAND [[extdata]] 0xf000000b | |||
| "/ubll.lst" | |||
| 0x2ee0 | |||
| | |||
|- | |||
| NAND extdata 0xf000000b | |||
| "/CFL_OldDB.dat" | |||
| | |||
| Home Menu just closes this file immediately after opening it, when opening it was successful at least. | |||
|- | |||
| NAND extdata 0xf000000b | |||
| "/CFL_DB.dat" | |||
| 0xe4c0 | |||
| Home Menu only does one read with size 0xe4c0 for this, even though the value it loads from [[FSFile:GetSize]] is larger than that. | |||
|- | |||
| NAND extdata 0xf000000b | |||
| "/gamecoin.dat" | |||
| 0x14 | |||
| This is for loading the file containing play-coins info. Immediately after reading this file, Home Menu then uses [[FSFile:GetSize]], then Home Menu writes to gamecoin.dat for updating the date data. | |||
|- | |||
| NAND [[extdata]] 0xf000000c | |||
| "/bashotorya.dat" | |||
| 0x2ee0 | |||
| | |||
|- | |||
| | |||
| | |||
| | |||
| Here, Home Menu opens the following SD extdata archives, with the following extdataIDs(unknown if these extdataIDs are valid for non-USA): 0x000014d1(normally opening this fails with error 0xc8804464), Home Menu SD extdata, and 0x000002cd(theme cache). | |||
|- | |||
| Home Menu SD extdata | |||
| "/SaveData.dat" | |||
| 0x2da0 | |||
| Prior to doing the read, Home Menu uses [[FSFile:GetSize]]. | |||
|- | |||
| Home Menu SD extdata | |||
| "/Cache.dat" | |||
| 0x1688 | |||
| Prior to doing the read, Home Menu uses [[FSFile:GetSize]]. | |||
|- | |||
| Home Menu SD extdata | |||
| "/CacheD.dat" | |||
| 0x36c0 | |||
| This is used to read the cached icon data for the currently inserted gamecard, if any. | |||
|- | |||
| SD extdata theme cache | |||
| "/BodyCache.bin" | |||
| 0x150000 | |||
| Before opening the file, Home Menu firsts opens this archive under a new archive-handle again, then closes it. Prior to doing the read, Home Menu uses [[FSFile:GetSize]]. | |||
|- | |||
| SD extdata theme cache | |||
| "/ThemeManage.bin" | |||
| 0x8 | |||
| Prior to doing the read, Home Menu uses [[FSFile:GetSize]](the result is filesize 0x800). | |||
|- | |||
| SD extdata theme cache | |||
| "/BgmCache.bin" | |||
| | |||
| The data is read from here as needed. | |||
|- | |||
| NAND extdata 0xf000000b | |||
| "/gamecoin.dat" | |||
| 0x14 | |||
| Home Menu loads the file data here, then writes it to the file again without changing it. | |||
|- | |||
| Home Menu [[System_SaveData]] | |||
| "/Launcher.dat" | |||
| | |||
| Home Menu writes 0x2490-bytes to the file here. | |||
|- | |||
| NAND extdata 0xf000000b | |||
| "/idb.dat" | |||
| 0x2008 | |||
| This firsts opens the file for writing, then uses [[FSFile:GetSize]](output filesize is 0x6d4000). Then it writes to the file using size 0, then closes the file. Then Home Menu re-opens the file, then does the actual read. | |||
|- | |||
| NAND extdata 0xf000000b | |||
| "/idbt.dat" | |||
| | |||
| Home Menu writes 0x2008-bytes to this file. | |||
|- | |||
| NAND extdata 0xf000000e | |||
| "/versionList.dat" | |||
| 0x18a0 | |||
| Prior to doing the read, Home Menu uses [[FSFile:GetSize]]. | |||
|- | |||
| Home Menu [[System_SaveData]] | |||
| "/Launcher.dat" | |||
| | |||
| When Home Menu is terminating(?), Home Menu writes 0x2490-bytes to the file here. After doing this, Home Menu opens, writes, and closes the file again. | |||
|} | |||
== See Also == | == See Also == |