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 == |