UTL対応。シリアルNoの先頭が'W'(量産UTL)'D'(開発用UTL)の場合にシリアルNoを破壊しないように変更。

selectによるNandFiler,NMenuインポートスキップと、強制フォーマット入力を排他に修正。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2886 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
kamikawa 2009-07-31 06:34:31 +00:00
parent 8b4068a16c
commit 11e8291795
5 changed files with 21 additions and 21 deletions

View File

@ -513,10 +513,12 @@ BOOL HWI_WriteHWSecureInfoFile( u8 region, const u8 *pSerialNo, BOOL isDisableWi
// 新しいシリアルNoをクリアしておく
MI_CpuClear8( serialNoNew, sizeof(serialNoNew) );
// シリアルNoの先頭が'T'(量産用)または'V'(開発用)でなければ不正なので仮のシリアルNo.を作成する
if ( serialNoOld[0] != 'T' && serialNoOld[0] != 'V')
// シリアルNoの先頭が'T'(量産用UTL)、'V'(開発用TWL)、'W'(量産用UTL)、'D'(開発用UTL)
// でなければ不正なので仮のシリアルNo.を作成する
if ( serialNoOld[0] != 'T' && serialNoOld[0] != 'V' && serialNoOld[0] != 'W' && serialNoOld[0] != 'D' )
{
// 1バイト目は量産用なら'T'、その他なら'V'
// TWLorUTLは判別できない
if (SCFG_ReadBondingOption() == SCFG_OP_PRODUCT)
{
serialNoNew[0] = 'T';
@ -546,18 +548,13 @@ BOOL HWI_WriteHWSecureInfoFile( u8 region, const u8 *pSerialNo, BOOL isDisableWi
// 仮シリアルNo.であることの印として14バイト目を'K'とする
serialNoNew[13] = 'K';
}
// シリアルNoの先頭が'T'(量産用)または'V'(開発用)である場合ユニーク数字8桁はそのままで他を変更する
// シリアルNoの先頭が'T'(量産用UTL)、'V'(開発用TWL)、'W'(量産用UTL)、'D'(開発用UTL)
// である場合先頭文字とユニーク数字8桁はそのままで他を変更する
else
{
// 1バイト目は量産用なら'T'、その他なら'V'
if (SCFG_ReadBondingOption() == SCFG_OP_PRODUCT)
{
serialNoNew[0] = 'T';
}
else
{
serialNoNew[0] = 'V';
}
// 1バイト目はキープ
serialNoNew[0] = serialNoOld[0];
// 2バイト目はリージョン別ASCII
serialNoNew[1] = (u8)regionAsciiForSerialNo[region];
// 米国リージョン以外は3バイト目にEMS

View File

@ -61,6 +61,7 @@ extern s32 gLockId;
extern const u16* sRegionStringArray[OS_TWL_REGION_MAX];
extern OSTWLRegion gRegion;
extern BOOL gIsDeleteNMenuAndNandFiler;
extern BOOL gIsForceFormatNand;
/*---------------------------------------------------------------------------*
ŠÖ<EFBFBD><EFBFBD>錾

View File

@ -42,12 +42,6 @@
#define TITLE_ID_HND_NUM 3
#define TITLE_ID_HNE_NUM 3
/*---------------------------------------------------------------------------*
*---------------------------------------------------------------------------*/
BOOL gIsDeleteNMenuAndNandFiler = FALSE;
/*---------------------------------------------------------------------------*
àÏ<EFBFBD>è`
*---------------------------------------------------------------------------*/

View File

@ -65,8 +65,7 @@ BOOL ProcessFormat(void)
FSArchiveResource resource;
// L & R & Start & Select ボタン押しで強制フォーマット
if (!(kamiPadIsPress(PAD_BUTTON_L) && kamiPadIsPress(PAD_BUTTON_R) &&
kamiPadIsPress(PAD_BUTTON_START) && kamiPadIsPress(PAD_BUTTON_SELECT)))
if (!gIsForceFormatNand)
{
// 既に最新フォーマットであればフォーマットしない
if (FS_GetArchiveResource("nand:/", &resource))

View File

@ -31,6 +31,9 @@
*---------------------------------------------------------------------------*/
BOOL gIsDeleteNMenuAndNandFiler = FALSE;
BOOL gIsForceFormatNand = FALSE;
/*---------------------------------------------------------------------------*
*---------------------------------------------------------------------------*/
@ -115,9 +118,15 @@ void ProcessNote(void)
}
else if (kamiPadIsTrigger(PAD_BUTTON_A))
{
// L & R & Start & Select ボタン押しで強制フォーマット
if (kamiPadIsPress(PAD_BUTTON_L) && kamiPadIsPress(PAD_BUTTON_R) &&
kamiPadIsPress(PAD_BUTTON_START) && kamiPadIsPress(PAD_BUTTON_SELECT))
{
gIsForceFormatNand = TRUE;
}
// Aボタンを押したときにSELECTボタンも押していた場合
// NMenuとNandFilerのインポートをスキップして、削除する
if (kamiPadIsPress(PAD_BUTTON_SELECT))
else if (kamiPadIsPress(PAD_BUTTON_SELECT))
{
gIsDeleteNMenuAndNandFiler = TRUE;
}