diff --git a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_hw_info.c b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_hw_info.c index 3d5abae8..a708b600 100644 --- a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_hw_info.c +++ b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_hw_info.c @@ -60,11 +60,17 @@ enum { #define CURSOR_ORIGIN_X 32 #define CURSOR_ORIGIN_Y 40 +#define NANDINITIALIZER_SETTING_FILE_PATH_IN_SD "sdmc:/nandinitializer.ini" + +#define ROUND_UP(value, alignment) \ + (((u32)(value) + (alignment-1)) & ~(alignment-1)) + /*---------------------------------------------------------------------------* 内部変数定義 *---------------------------------------------------------------------------*/ -static s8 sMenuSelectNo; +static s8 sMenuSelectNo; +static BOOL sWirelessForceOff; /*---------------------------------------------------------------------------* 内部関数宣言 @@ -73,11 +79,7 @@ static s8 sMenuSelectNo; static BOOL WriteHWNormalInfoFile( void ); static BOOL WriteHWSecureInfoFile( u8 region ); //static BOOL DeleteHWInfoFile( void ); - -const LCFGTWLHWNormalInfo *LCFG_THW_GetDefaultNormalInfo( void ); -const LCFGTWLHWSecureInfo *LCFG_THW_GetDefaultSecureInfo( void ); -const LCFGTWLHWNormalInfo *LCFG_THW_GetNormalInfo( void ); -const LCFGTWLHWSecureInfo *LCFG_THW_GetSecureInfo( void ); +static BOOL GetNandInitializerSetting(u8* region, u8* wireless); /*---------------------------------------------------------------------------* プロセス関数定義 @@ -157,7 +159,6 @@ void* HWInfoProcess1(void) // オート実行用 if (gAutoFlag) { - sMenuSelectNo = 0; return HWInfoProcess2; } #endif @@ -204,6 +205,24 @@ void* HWInfoProcess2(void) int i; BOOL result; +#ifndef NAND_INITIALIZER_LIMITED_MODE + // オート実行用 + if (gAutoFlag) + { + // SDカードのnandinitializer.iniより設定を取得 + if (!GetNandInitializerSetting((u8 *)&sMenuSelectNo, (u8 *)&sWirelessForceOff)) + { + // 設定の取得に失敗した場合はデフォルト設定(REGION_JAPAN/WIRELESS_ENABLE) + sMenuSelectNo = 0; + sWirelessForceOff = FALSE; + } + } + else +#endif + { + sWirelessForceOff = LCFG_THW_IsForceDisableWireless(); + } + switch( sMenuSelectNo ) { case MENU_REGION_JAPAN: @@ -212,8 +231,8 @@ void* HWInfoProcess2(void) case MENU_REGION_AUSTRALIA: case MENU_REGION_CHINA: case MENU_REGION_KOREA: - OS_TPrintf( "Write Start.\n" ); - result = WriteHWInfoFile( (u8)sMenuSelectNo, LCFG_THW_IsForceDisableWireless() ); + + result = WriteHWInfoFile( (u8)sMenuSelectNo, sWirelessForceOff ); // 全リージョンの結果をクリア for (i=0;i OVERWRITE ALL 5. IMPORT NANDFIRM FROM SD -> 最初に見つけた*.nandファイル +★ SDカードのルートにnandinitializer.iniというファイルを用意することで + 初期化する際の Region と ワイヤレス設定を指定することができます。 + nandinitializer.ini のフォーマットは以下のとおりです。 + +--- ここから ---- +REGION:0 //(0:JAPAN, 1:AMERICA, 2:EUROPE, 3:AUSTRALIA, 4:CHINA, 5:KOREA) +WIRELESS_FORCE_OFF:0 //(0:Wireless Enable, 1:Wireless Disable) +--- ここまで ---- 〜〜〜 NandInitializer 〜〜〜