diff --git a/build/systemMenu_tools/HWInfoWriter/ARM9/src/hwi.c b/build/systemMenu_tools/HWInfoWriter/ARM9/src/hwi.c index a6505461..cdad8ded 100644 --- a/build/systemMenu_tools/HWInfoWriter/ARM9/src/hwi.c +++ b/build/systemMenu_tools/HWInfoWriter/ARM9/src/hwi.c @@ -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 diff --git a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/include/kami_global.h b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/include/kami_global.h index e0c2ec13..b830bbdd 100644 --- a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/include/kami_global.h +++ b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/include/kami_global.h @@ -61,6 +61,7 @@ extern s32 gLockId; extern const u16* sRegionStringArray[OS_TWL_REGION_MAX]; extern OSTWLRegion gRegion; extern BOOL gIsDeleteNMenuAndNandFiler; +extern BOOL gIsForceFormatNand; /*---------------------------------------------------------------------------* 関数宣言 diff --git a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_delete_other_region_sysmenu.c b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_delete_other_region_sysmenu.c index 7f5cc8fc..bae344b6 100644 --- a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_delete_other_region_sysmenu.c +++ b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_delete_other_region_sysmenu.c @@ -42,12 +42,6 @@ #define TITLE_ID_HND_NUM 3 #define TITLE_ID_HNE_NUM 3 -/*---------------------------------------------------------------------------* - グローバル変数定義 - *---------------------------------------------------------------------------*/ - -BOOL gIsDeleteNMenuAndNandFiler = FALSE; - /*---------------------------------------------------------------------------* 内部変数定義 *---------------------------------------------------------------------------*/ diff --git a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_format.c b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_format.c index ec89bd78..d920a7de 100644 --- a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_format.c +++ b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_format.c @@ -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)) diff --git a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_note.c b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_note.c index f8330368..40cdea77 100644 --- a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_note.c +++ b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_note.c @@ -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; }