UTL_GetInstalledSoftBoxCountを削除。(SDKにNAM_GetInstalledSoftBoxCountが追加されたため)

NAMUT_UpdateSoftBoxCountを削除。
NAMUT_ClearTWLSettingsの追加。TWL本体設定データのクリアを行います。(TP補正データは残す)

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1611 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yosiokat 2008-06-11 13:17:19 +00:00
parent 462dd812d8
commit 2ed2ce527c
4 changed files with 41 additions and 57 deletions

View File

@ -164,8 +164,8 @@ BOOL NAMUT_Format(void)
// WiFi設定データをクリアします
NAMUTi_ClearWiFiSettings();
// SoftBoxCountの更新を行います
NAMUT_UpdateSoftBoxCount();
// 本体設定データのクリア
ret &= NAMUT_ClearTWLSettings( TRUE );
return ret;
}
@ -610,39 +610,42 @@ BOOL NAMUT_GetSoftBoxCount( u8* installed, u8* free )
}
/*---------------------------------------------------------------------------*
Name: NAMUT_UpdateSoftBoxCount
Name: NAMUT_ClearTWLSettings
Description: InstalledSoftBoxCount, FreeSoftBoxCount
NANDの状態に合わせて更新します
Description: TWL本体設定データのクリアを行います
Arguments: None.
Returns: TRUE
*---------------------------------------------------------------------------*/
BOOL NAMUT_UpdateSoftBoxCount( void )
BOOL NAMUT_ClearTWLSettings( BOOL doWriteback )
{
u8 installedSoftBoxCount;
u8 freeSoftBoxCount;
u8 *pBuffer;
// InstalledSoftBoxCount, FreeSoftBoxCount を数えなおす
if (!NAMUT_GetSoftBoxCount(&installedSoftBoxCount, &freeSoftBoxCount))
BOOL retval = TRUE;
// 本体設定データのクリア。TPキャリブレーションデータは残す。
{
return FALSE;
LCFGTWLTPCalibData calib;
u32 installedSoftBoxCount;
// installedSoftBoxCountの取得
if ( NAM_OK != NAM_GetInstalledSoftBoxCount( &installedSoftBoxCount ) ) {
return FALSE;
}
LCFG_TSD_GetTPCalibration( &calib );
LCFG_ClearTWLSettings( (u8)installedSoftBoxCount );
LCFG_TSD_SetTPCalibration( &calib );
}
// OS_Printf("installedSoftBoxCount = %d\n", installedSoftBoxCount);
// OS_Printf("freeSoftBoxCount = %d\n", freeSoftBoxCount);
// LCFGライブラリの静的変数に対する更新
LCFG_TSD_SetInstalledSoftBoxCount( installedSoftBoxCount );
LCFG_TSD_SetFreeSoftBoxCount( freeSoftBoxCount );
// LCFGライブラリの静的変数の値をNANDに反映
pBuffer = spAllocFunc( LCFG_WRITE_TEMP );
if (!pBuffer) { return FALSE; }
(void)LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer );
spFreeFunc( pBuffer );
if( doWriteback ) {
u8 *pBuffer = spAllocFunc( LCFG_WRITE_TEMP );
if (!pBuffer) { return FALSE; }
// ミラーリングデータの両方に書き込みを行う。
retval &= LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer );
retval &= LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer );
spFreeFunc( pBuffer );
}
return TRUE;
}
@ -752,8 +755,7 @@ static void NAMUTi_ClearWiFiSettings( void )
#define NCFG_ADDR 0x20
#define NTR_WIFI_DATA_SIZE 0x400
#define TWL_WIFI_DATA_SIZE 0x600
#define NTR_MACHINE_SETTINGS_DATA_SIZE 0x200
int total_size = ( NTR_WIFI_DATA_SIZE + TWL_WIFI_DATA_SIZE + NTR_MACHINE_SETTINGS_DATA_SIZE);
int total_size = ( NTR_WIFI_DATA_SIZE + TWL_WIFI_DATA_SIZE );
if (!NVRAMi_IsInitialized()) {
NVRAMi_Init();

View File

@ -259,31 +259,3 @@ BOOL UTL_CheckRTCTime( RTCTime *timep )
return TRUE;
}
//======================================================================
// タイトル数取得
//======================================================================
// ローンチ対象のアプリ数カウント
int UTL_GetInstalledSoftBoxCount( void )
{
int l;
int listNum;
int validNum = 0;
OSTitleId titleIDArray[ LCFG_TWL_FREE_SOFT_BOX_COUNT_MAX ];
MI_CpuClear32( titleIDArray, sizeof(titleIDArray) );
// インストールされているNANDアプリ全タイトルのTitleID取得
listNum = NAM_GetNumTitles();
(void)NAM_GetTitleList( titleIDArray, (u32)listNum );
// 取得したタイトルがローンチ対象かどうかをチェック
for( l = 0; l < listNum; l++ ) {
// "Not Launch"でない かつ "Data Only"でない なら有効なタイトルとしてリストに追加
if( ( titleIDArray[ l ] & ( TITLE_ID_NOT_LAUNCH_FLAG_MASK | TITLE_ID_DATA_ONLY_FLAG_MASK ) ) == 0 ) {
validNum++;
}
}
return validNum;
}

View File

@ -137,6 +137,19 @@ BOOL NAMUTi_DestroySubBanner(const char* path);
BOOL NAMUT_DeleteNandDirectory(const char *path);
/*---------------------------------------------------------------------------*
Name: NAMUT_ClearTWLSettings
Description: TWL本体設定データのクリアを行います
Arguments: TRUE : NANDにライトバックします
FALSE: NANDへのライトバックは行いません
Returns: TRUE
*---------------------------------------------------------------------------*/
BOOL NAMUT_ClearTWLSettings( BOOL doWriteback );
#endif // SDK_ARM9
#ifdef __cplusplus

View File

@ -55,9 +55,6 @@ extern BOOL UTL_IsLeapYear100( u32 year ); //
extern u32 UTL_CalcPCTLInquiryCode( void ); // 問い合わせコード(10進8桁)算出
extern u32 UTL_CalcPCTLMasterKey( void ); // マスターキー  算出※内部でRTC_GetDateを使用します。
// タイトル数取得内部でNAMを使用するので、NAM_Initが事前に呼ばれている必要あり
extern int UTL_GetInstalledSoftBoxCount( void );
// アプリROMヘッダの要EULAフラグ取得
static inline BOOL UTL_IsROMHeaderEULARequired( void )
{