From c560158e49e9c5fc83f176a81d9d1edfb75c16bb Mon Sep 17 00:00:00 2001 From: kamikawa Date: Thu, 26 Jun 2008 11:07:58 +0000 Subject: [PATCH] =?UTF-8?q?(SystemUpdater/NandInitializerRed)NAND=E3=83=95?= =?UTF-8?q?=E3=82=A9=E3=83=BC=E3=83=9E=E3=83=83=E3=83=88=E5=BE=8C=E3=81=AB?= =?UTF-8?q?TWL=E8=A8=AD=E5=AE=9A=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E3=82=922=E5=80=8B=E4=BD=9C=E6=88=90=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=81=9F=E3=82=81=E3=81=AB=E6=9B=B8=E3=81=8D=E8=BE=BC=E3=81=BF?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=922=E5=9B=9E=E8=A1=8C=E3=81=86?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F?= =?UTF-8?q?=E3=80=82=20(SystemUpdater)=E3=83=AA=E3=83=88=E3=83=A9=E3=82=A4?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=9210->2=E5=9B=9E=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1727 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../HWInfoWriter/ARM9/src/hwi.c | 23 +++++++++++++------ .../SystemUpdater/ARM9.TWL/src/main.c | 2 +- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/build/systemMenu_tools/HWInfoWriter/ARM9/src/hwi.c b/build/systemMenu_tools/HWInfoWriter/ARM9/src/hwi.c index cae60174..a0dcc925 100644 --- a/build/systemMenu_tools/HWInfoWriter/ARM9/src/hwi.c +++ b/build/systemMenu_tools/HWInfoWriter/ARM9/src/hwi.c @@ -303,15 +303,24 @@ BOOL HWI_ModifyLanguage( u8 region ) // regionが変わった場合は、LANGUAGE_BITMAPも必ず変わるので、それをNTR側に反映させるために必ずTWL設定データの書き込みも行う。 { u8 *pBuffer = spAlloc( LCFG_WRITE_TEMP ); - if( pBuffer ) { - if (!LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer )) + if( pBuffer ) + { + int i; + // TWLCFG0.datとTWLCFG1.datの両方について生成/書き込みを行うため2回実行する + for (i=0;i<2;i++) { - // NANDをフォーマットした直後でTWL設定ファイルが存在しない場合は書き込みに失敗するため - // TWL設定ファイルをリカバリ生成して再チャレンジする - if (!LCFG_RecoveryTWLSettings() && !LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer )) + // 内部変数を変更せずにリード状態(s_rdResult)をFALSEにするためにベリファイする + (void)LCFGi_TSD_VerifySettings( (u8 (*)[ sizeof(LCFGTWLSettingsData) ])pBuffer ); + + if (!LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer )) { - result = FALSE; - OS_TPrintf("Fail! LCFG_WriteTWLSettings()\n"); + // NANDをフォーマットした直後でTWL設定ファイルが存在しない場合は書き込みに失敗するため + // TWL設定ファイルをリカバリ生成して再チャレンジする + if (!LCFG_RecoveryTWLSettings() && !LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer )) + { + result = FALSE; + OS_TPrintf("Fail! LCFG_WriteTWLSettings()\n"); + } } } spFree( pBuffer ); diff --git a/build/systemMenu_tools/SystemUpdater/ARM9.TWL/src/main.c b/build/systemMenu_tools/SystemUpdater/ARM9.TWL/src/main.c index 5c34279e..b4a8d340 100644 --- a/build/systemMenu_tools/SystemUpdater/ARM9.TWL/src/main.c +++ b/build/systemMenu_tools/SystemUpdater/ARM9.TWL/src/main.c @@ -63,7 +63,7 @@ typedef struct _CopyFileList #define SYSTEM_UPDATER_MAGIC_CODE 44001111 // リトライ回数 -#define MAX_RETRY_COUNT 10 +#define MAX_RETRY_COUNT 2 static const char* ImportTadFileList[] = {