mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
1.HWNormalInfoのカメラ情報書き込みに対応。
2.Nandのshared2ディレクトリをパーティション1から0に移動。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@904 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
261bdc04c7
commit
863e8fb0b8
@ -28,15 +28,35 @@
|
||||
定数定義
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
// クリーンアップ実行時に
|
||||
// 擬似フォーマットで消去しないタイトルを
|
||||
// TitleProperty (TitleID Hiの下位16bit)のビットで指定します。
|
||||
// どれか1つでもビットが立っていれば消去の対象から外します。
|
||||
#define PROTECT_TITLE_PROPERTY (TITLE_ID_HI_APP_TYPE_MASK)
|
||||
|
||||
#define DIRECTORY_DEPTH_MAX 16 // ディレクトリの深さの最大(NANDの正規構成としては最大6)
|
||||
#define TITLE_ID_HI_SIZE 8
|
||||
#define TITLE_LIST_MAX 256
|
||||
#define CLEAR_DATA_SIZE 256
|
||||
|
||||
// 擬似フォーマット実行時に
|
||||
// 指定ディレクトリ以下は全て消去されます。
|
||||
// 指定ディレクトリ自体は残ります
|
||||
// 指定ディレクトリ自体は残ります。
|
||||
static const char* sDeleteDirectoryList[] =
|
||||
{
|
||||
"nand:/tmp"
|
||||
};
|
||||
|
||||
// クリーンアップ実行時に
|
||||
// 擬似フォーマット実行時に
|
||||
// 指定ディレクトリ以下のNonProtectedなタイトルは全て消去されます。
|
||||
// 指定ディレクトリ自体は残ります。
|
||||
static const char* sDeleteNonProtecedDirectoryList[] =
|
||||
{
|
||||
"nand:/title",
|
||||
"nand:/ticket",
|
||||
"nand:/import"
|
||||
};
|
||||
|
||||
// 擬似フォーマット実行時に
|
||||
// 指定ファイルは0xffでFillされます。
|
||||
static const char* sFillFileList[] =
|
||||
{
|
||||
@ -44,19 +64,6 @@ static const char* sFillFileList[] =
|
||||
"nand:/shared1/TWLCFG1.dat"
|
||||
};
|
||||
|
||||
// クリーンアップで消去しないタイトルを
|
||||
// TitleProperty (TitleID Hiの下位16bit)のビットで指定します。
|
||||
// どれか1つでもビットが立っていれば消去の対象から外します。
|
||||
#define PROTECT_TITLE_PROPERTY (TITLE_ID_HI_APP_TYPE_MASK)
|
||||
|
||||
#define DIRECTORY_DEPTH_MAX 16 // ディレクトリの深さの最大(NANDの正規構成としては最大6)
|
||||
#define TITLE_PATH "nand:/title"
|
||||
#define TICKET_PATH "nand:/ticket"
|
||||
#define IMPORT_PATH "nand:/import"
|
||||
#define TITLE_ID_HI_SIZE 8
|
||||
#define TITLE_LIST_MAX 256
|
||||
#define CLEAR_DATA_SIZE 256
|
||||
|
||||
static const u8 sClearData[CLEAR_DATA_SIZE] =
|
||||
{
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
@ -102,7 +109,7 @@ static void PrintFile(s32 depth, const char* path);
|
||||
/*---------------------------------------------------------------------------*
|
||||
Name: NAMUT_Format
|
||||
|
||||
Description: NANDのクリーンアップ
|
||||
Description: NANDの擬似フォーマット
|
||||
(システム系の必要なファイルのみを残し他を消去します)
|
||||
|
||||
Arguments: None
|
||||
@ -121,7 +128,7 @@ BOOL NAMUT_Format(void)
|
||||
ret &= NAMUTi_ClearSavedataAll(TRUE);
|
||||
|
||||
// 指定ファイルを0xffでクリアします
|
||||
for (i=0; i<sizeof(sFillFileList)/sizeof(char*); i++)
|
||||
for (i=0; i<sizeof(sFillFileList)/sizeof(sFillFileList[0]); i++)
|
||||
{
|
||||
ret &= NAMUTi_FillFile(sFillFileList[i]);
|
||||
}
|
||||
@ -206,10 +213,12 @@ static BOOL NAMUTi_DeleteNandDirectory(const char *path)
|
||||
static BOOL NAMUTi_DeleteNonprotectedTitle(void)
|
||||
{
|
||||
BOOL ret = TRUE;
|
||||
int i;
|
||||
|
||||
ret &= NAMUTi_DeleteNonprotectedTitleEntity(TITLE_PATH);
|
||||
ret &= NAMUTi_DeleteNonprotectedTitleEntity(TICKET_PATH);
|
||||
ret &= NAMUTi_DeleteNonprotectedTitleEntity(IMPORT_PATH);
|
||||
for (i=0; i<sizeof(sDeleteNonProtecedDirectoryList)/sizeof(sDeleteNonProtecedDirectoryList[0]); i++)
|
||||
{
|
||||
ret &= NAMUTi_DeleteNonprotectedTitleEntity(sDeleteNonProtecedDirectoryList[i]);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -295,22 +295,53 @@ void HWI_ModifyLanguage( u8 region )
|
||||
*---------------------------------------------------------------------------*/
|
||||
BOOL HWI_WriteHWNormalInfoFile( void )
|
||||
{
|
||||
BOOL isWrite = TRUE;
|
||||
const char* CAMERA_VOLATILE_INFO_PATH = "rom:/data/camera_volatile_info.bin";
|
||||
LCFGTWLHWNormalInfo Info;
|
||||
FSFile file;
|
||||
LCFGReadResult result;
|
||||
|
||||
BOOL open_is_ok;
|
||||
BOOL read_is_ok;
|
||||
|
||||
result = LCFGi_THW_ReadNormalInfo();
|
||||
if( result != LCFG_TSF_READ_RESULT_SUCCEEDED ) {
|
||||
if( !LCFGi_THW_RecoveryNormalInfo( result ) ) {
|
||||
OS_TPrintf( "HW Normal Info Recovery failed.\n" );
|
||||
isWrite = FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
if( isWrite &&
|
||||
!LCFGi_THW_WriteNormalInfo() ) {
|
||||
OS_TPrintf( "HW Normal Info Write failed.\n" );
|
||||
|
||||
Info.rtcAdjust = LCFG_THW_GetRTCAdjust();
|
||||
|
||||
// ROMファイルオープン(カメラ情報)
|
||||
FS_InitFile(&file);
|
||||
open_is_ok = FS_OpenFile(&file, CAMERA_VOLATILE_INFO_PATH);
|
||||
if (!open_is_ok)
|
||||
{
|
||||
OS_Printf("FS_OpenFile(\"%s\") ... ERROR!\n", CAMERA_VOLATILE_INFO_PATH);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return isWrite;
|
||||
// ROMファイルリード
|
||||
read_is_ok = FS_ReadFile( &file, Info.camera, (s32)sizeof( Info.camera ) );
|
||||
if (!read_is_ok)
|
||||
{
|
||||
OS_Printf("FS_ReadFile(\"%s\") ... ERROR!\n", CAMERA_VOLATILE_INFO_PATH);
|
||||
FS_CloseFile(&file);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
FS_FlushFile(&file);
|
||||
|
||||
// ROMファイルクローズ
|
||||
FS_CloseFile(&file);
|
||||
|
||||
if (!LCFGi_THW_WriteNormalInfoDirect( &Info ))
|
||||
{
|
||||
OS_TPrintf( "HW Normal Info Write failed.\n" );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
|
||||
@ -74,6 +74,7 @@ static const char *s_pDirList0[] = {
|
||||
(const char *)"nand:/title",
|
||||
(const char *)"nand:/ticket",
|
||||
(const char *)"nand:/shared1",
|
||||
(const char *)"nand:/shared2",
|
||||
(const char *)"nand:/import",
|
||||
(const char *)"nand:/tmp",
|
||||
NULL,
|
||||
@ -81,9 +82,8 @@ static const char *s_pDirList0[] = {
|
||||
|
||||
static const char *s_pDirList1[] = {
|
||||
(const char *)"nand2:/photo",
|
||||
(const char *)"nand2:/shared2",
|
||||
NULL,
|
||||
};
|
||||
};
|
||||
|
||||
/*---------------------------------------------------------------------------*
|
||||
“à•”ŠÖ<EFBFBD>”<EFBFBD>錾
|
||||
|
||||
Loading…
Reference in New Issue
Block a user