Changes

4,000 bytes added ,  00:41, 23 December 2014
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 ==