From d4e32d3acbe450273d8a7a0e0f64bd59dc937b22 Mon Sep 17 00:00:00 2001 From: yosiokat Date: Tue, 18 Nov 2008 01:44:47 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=BB=E6=9C=AC=E4=BD=93=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=83=87=E3=83=BC=E3=82=BF=E3=81=8C=E7=89=87=E6=96=B9=E7=A0=B4?= =?UTF-8?q?=E6=90=8D=E3=81=97=E3=81=A6=E3=81=84=E3=81=9F=E5=A0=B4=E5=90=88?= =?UTF-8?q?=E3=81=AE=E3=83=AA=E3=82=AB=E3=83=90=E3=83=AA=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3=E3=80=82=20=E3=83=BBTP=E3=82=AD?= =?UTF-8?q?=E3=83=A3=E3=83=AA=E3=83=96=E3=83=AC=E3=83=BC=E3=82=B7=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=83=87=E3=83=BC=E3=82=BF=E3=81=8C=EF=BC=90=E3=82=AF?= =?UTF-8?q?=E3=83=AA=E3=82=A2=E3=81=95=E3=82=8C=E3=81=A6=E3=81=84=E3=81=9F?= =?UTF-8?q?=E6=99=82=E3=81=AB=E3=83=95=E3=83=A9=E3=83=83=E3=82=B7=E3=83=A5?= =?UTF-8?q?=E5=A3=8A=E3=82=8C=E3=82=B7=E3=83=BC=E3=82=B1=E3=83=B3=E3=82=B9?= =?UTF-8?q?=E3=81=AB=E8=A1=8C=E3=81=8F=E3=82=88=E3=81=86=E5=A4=89=E6=9B=B4?= =?UTF-8?q?=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@2689 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../sysmenu/ARM9/src/sysmenu_lib.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c index a3a98db6..c08a05de 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c @@ -219,11 +219,7 @@ TitleProperty *SYSM_ReadParameters( void ) // リード失敗ファイルが存在する場合は、ファイルをリカバリ if( LCFG_RecoveryTWLSettings() ) { - if( isRead ) { - // [TODO] このままではダメ。両方正常にリードできた時もこのパスに来てしまう。 - // ミラーデータのうち、一方がリードできていたなら、そのデータをもう片方に反映。 - (void)LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer ); // LCFG_READ_TEMP > LCFG_WRITE_TEMP なので、pBufferをそのまま流用 - }else { + if( !isRead ) { // リードに完全に失敗していた場合は、フラッシュ壊れシーケンスへ。 LCFG_TSD_SetFlagFinishedBrokenTWLSettings( FALSE ); (void)LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer ); // LCFG_READ_TEMP > LCFG_WRITE_TEMP なので、pBufferをそのまま流用 @@ -472,14 +468,24 @@ static TitleProperty *SYSMi_CheckShortcutBoot2( void ) BOOL isSetArgument = FALSE; BOOL isBootMSET = FALSE; u16 argument = 0; +#ifndef SYSM_DISABLE_INITIAL_SETTINGS + int i; + char *p = (char *)LCFG_TSD_GetTPCalibrationPtr(); +#endif MI_CpuClear8( &s_bootTitleBuf, sizeof(TitleProperty) ); #ifndef SYSM_DISABLE_INITIAL_SETTINGS + // タッチパネルキャリブレーションデータがクリアされていないかチェック + for( i = 0; i < sizeof(LCFGNTRTPCalibData); i++ ) { + if( *p != 0 ) break; + p++; + } //----------------------------------------------------- // TWL設定データ破損時のフラッシュ壊れシーケンス起動 //----------------------------------------------------- - if( !LCFG_TSD_IsFinishedBrokenTWLSettings() ) { + if( ( i == sizeof(LCFGNTRTPCalibData) ) || + !LCFG_TSD_IsFinishedBrokenTWLSettings() ) { argument = 100; // フラッシュ壊れシーケンス起動 isSetArgument = TRUE; isBootMSET = TRUE;