(SystemUpdater/NandInitializerRed)NANDフォーマット後にTWL設定ファイルを2個作成するために書き込み処理を2回行うようにしました。

(SystemUpdater)リトライ処理を10->2回に変更しました。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1727 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
kamikawa 2008-06-26 11:07:58 +00:00
parent 91ae8ae5b2
commit c560158e49
2 changed files with 17 additions and 8 deletions

View File

@ -303,15 +303,24 @@ BOOL HWI_ModifyLanguage( u8 region )
// regionが変わった場合は、LANGUAGE_BITMAPも必ず変わるので、それをNTR側に反映させるために必ずTWL設定データの書き込みも行う。 // regionが変わった場合は、LANGUAGE_BITMAPも必ず変わるので、それをNTR側に反映させるために必ずTWL設定データの書き込みも行う。
{ {
u8 *pBuffer = spAlloc( LCFG_WRITE_TEMP ); u8 *pBuffer = spAlloc( LCFG_WRITE_TEMP );
if( pBuffer ) { if( pBuffer )
if (!LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer )) {
int i;
// TWLCFG0.datとTWLCFG1.datの両方について生成/書き込みを行うため2回実行する
for (i=0;i<2;i++)
{ {
// NANDをフォーマットした直後でTWL設定ファイルが存在しない場合は書き込みに失敗するため // 内部変数を変更せずにリード状態(s_rdResult)をFALSEにするためにベリファイする
// TWL設定ファイルをリカバリ生成して再チャレンジする (void)LCFGi_TSD_VerifySettings( (u8 (*)[ sizeof(LCFGTWLSettingsData) ])pBuffer );
if (!LCFG_RecoveryTWLSettings() && !LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer ))
if (!LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer ))
{ {
result = FALSE; // NANDをフォーマットした直後でTWL設定ファイルが存在しない場合は書き込みに失敗するため
OS_TPrintf("Fail! LCFG_WriteTWLSettings()\n"); // TWL設定ファイルをリカバリ生成して再チャレンジする
if (!LCFG_RecoveryTWLSettings() && !LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer ))
{
result = FALSE;
OS_TPrintf("Fail! LCFG_WriteTWLSettings()\n");
}
} }
} }
spFree( pBuffer ); spFree( pBuffer );

View File

@ -63,7 +63,7 @@ typedef struct _CopyFileList
#define SYSTEM_UPDATER_MAGIC_CODE 44001111 #define SYSTEM_UPDATER_MAGIC_CODE 44001111
// リトライ回数 // リトライ回数
#define MAX_RETRY_COUNT 10 #define MAX_RETRY_COUNT 2
static const char* ImportTadFileList[] = static const char* ImportTadFileList[] =
{ {