mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
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:
parent
8b4068a16c
commit
11e8291795
@ -513,10 +513,12 @@ BOOL HWI_WriteHWSecureInfoFile( u8 region, const u8 *pSerialNo, BOOL isDisableWi
|
|||||||
// 新しいシリアルNoをクリアしておく
|
// 新しいシリアルNoをクリアしておく
|
||||||
MI_CpuClear8( serialNoNew, sizeof(serialNoNew) );
|
MI_CpuClear8( serialNoNew, sizeof(serialNoNew) );
|
||||||
|
|
||||||
// シリアルNoの先頭が'T'(量産用)または'V'(開発用)でなければ不正なので仮のシリアルNo.を作成する
|
// シリアルNoの先頭が'T'(量産用UTL)、'V'(開発用TWL)、'W'(量産用UTL)、'D'(開発用UTL)
|
||||||
if ( serialNoOld[0] != 'T' && serialNoOld[0] != 'V')
|
// でなければ不正なので仮のシリアルNo.を作成する
|
||||||
|
if ( serialNoOld[0] != 'T' && serialNoOld[0] != 'V' && serialNoOld[0] != 'W' && serialNoOld[0] != 'D' )
|
||||||
{
|
{
|
||||||
// 1バイト目は量産用なら'T'、その他なら'V'
|
// 1バイト目は量産用なら'T'、その他なら'V'
|
||||||
|
// TWLorUTLは判別できない
|
||||||
if (SCFG_ReadBondingOption() == SCFG_OP_PRODUCT)
|
if (SCFG_ReadBondingOption() == SCFG_OP_PRODUCT)
|
||||||
{
|
{
|
||||||
serialNoNew[0] = 'T';
|
serialNoNew[0] = 'T';
|
||||||
@ -546,18 +548,13 @@ BOOL HWI_WriteHWSecureInfoFile( u8 region, const u8 *pSerialNo, BOOL isDisableWi
|
|||||||
// 仮シリアルNo.であることの印として14バイト目を'K'とする
|
// 仮シリアルNo.であることの印として14バイト目を'K'とする
|
||||||
serialNoNew[13] = 'K';
|
serialNoNew[13] = 'K';
|
||||||
}
|
}
|
||||||
// シリアルNoの先頭が'T'(量産用)または'V'(開発用)である場合ユニーク数字8桁はそのままで他を変更する
|
// シリアルNoの先頭が'T'(量産用UTL)、'V'(開発用TWL)、'W'(量産用UTL)、'D'(開発用UTL)
|
||||||
|
// である場合先頭文字とユニーク数字8桁はそのままで他を変更する
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// 1バイト目は量産用なら'T'、その他なら'V'
|
// 1バイト目はキープ
|
||||||
if (SCFG_ReadBondingOption() == SCFG_OP_PRODUCT)
|
serialNoNew[0] = serialNoOld[0];
|
||||||
{
|
|
||||||
serialNoNew[0] = 'T';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
serialNoNew[0] = 'V';
|
|
||||||
}
|
|
||||||
// 2バイト目はリージョン別ASCII
|
// 2バイト目はリージョン別ASCII
|
||||||
serialNoNew[1] = (u8)regionAsciiForSerialNo[region];
|
serialNoNew[1] = (u8)regionAsciiForSerialNo[region];
|
||||||
// 米国リージョン以外は3バイト目にEMS
|
// 米国リージョン以外は3バイト目にEMS
|
||||||
|
|||||||
@ -61,6 +61,7 @@ extern s32 gLockId;
|
|||||||
extern const u16* sRegionStringArray[OS_TWL_REGION_MAX];
|
extern const u16* sRegionStringArray[OS_TWL_REGION_MAX];
|
||||||
extern OSTWLRegion gRegion;
|
extern OSTWLRegion gRegion;
|
||||||
extern BOOL gIsDeleteNMenuAndNandFiler;
|
extern BOOL gIsDeleteNMenuAndNandFiler;
|
||||||
|
extern BOOL gIsForceFormatNand;
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
ŠÖ<EFBFBD>”<EFBFBD>錾
|
ŠÖ<EFBFBD>”<EFBFBD>錾
|
||||||
|
|||||||
@ -42,12 +42,6 @@
|
|||||||
#define TITLE_ID_HND_NUM 3
|
#define TITLE_ID_HND_NUM 3
|
||||||
#define TITLE_ID_HNE_NUM 3
|
#define TITLE_ID_HNE_NUM 3
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
グローバル変数定義
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
BOOL gIsDeleteNMenuAndNandFiler = FALSE;
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
“à•”•Ï<EFBFBD>”’è‹`
|
“à•”•Ï<EFBFBD>”’è‹`
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
|
|||||||
@ -65,8 +65,7 @@ BOOL ProcessFormat(void)
|
|||||||
FSArchiveResource resource;
|
FSArchiveResource resource;
|
||||||
|
|
||||||
// L & R & Start & Select ボタン押しで強制フォーマット
|
// L & R & Start & Select ボタン押しで強制フォーマット
|
||||||
if (!(kamiPadIsPress(PAD_BUTTON_L) && kamiPadIsPress(PAD_BUTTON_R) &&
|
if (!gIsForceFormatNand)
|
||||||
kamiPadIsPress(PAD_BUTTON_START) && kamiPadIsPress(PAD_BUTTON_SELECT)))
|
|
||||||
{
|
{
|
||||||
// 既に最新フォーマットであればフォーマットしない
|
// 既に最新フォーマットであればフォーマットしない
|
||||||
if (FS_GetArchiveResource("nand:/", &resource))
|
if (FS_GetArchiveResource("nand:/", &resource))
|
||||||
|
|||||||
@ -31,6 +31,9 @@
|
|||||||
グローバル変数定義
|
グローバル変数定義
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
BOOL gIsDeleteNMenuAndNandFiler = FALSE;
|
||||||
|
BOOL gIsForceFormatNand = FALSE;
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
内部定数定義
|
内部定数定義
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
@ -115,9 +118,15 @@ void ProcessNote(void)
|
|||||||
}
|
}
|
||||||
else if (kamiPadIsTrigger(PAD_BUTTON_A))
|
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ボタンも押していた場合
|
// Aボタンを押したときにSELECTボタンも押していた場合
|
||||||
// NMenuとNandFilerのインポートをスキップして、削除する
|
// NMenuとNandFilerのインポートをスキップして、削除する
|
||||||
if (kamiPadIsPress(PAD_BUTTON_SELECT))
|
else if (kamiPadIsPress(PAD_BUTTON_SELECT))
|
||||||
{
|
{
|
||||||
gIsDeleteNMenuAndNandFiler = TRUE;
|
gIsDeleteNMenuAndNandFiler = TRUE;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user