diff --git a/build/systemMenu_tools/NandInitializerProduction/ARM9.TWL/Makefile b/build/systemMenu_tools/NandInitializerProduction/ARM9.TWL/Makefile index da630970..6bb650dd 100644 --- a/build/systemMenu_tools/NandInitializerProduction/ARM9.TWL/Makefile +++ b/build/systemMenu_tools/NandInitializerProduction/ARM9.TWL/Makefile @@ -131,7 +131,9 @@ SDK_APPEND_LIBS = \ libnam$(TWL_LIBSUFFIX).a \ libsea$(TWL_LIBSUFFIX).a \ liblcfg$(TWL_LIBSUFFIX).a \ - libna$(TWL_LIBSUFFIX).a + libna$(TWL_LIBSUFFIX).a \ + liberrorlog$(TWL_LIBSUFFIX).a + LLIBRARIES += $(SYSMENU_LIBS) $(SDK_APPEND_LIBS) diff --git a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/Makefile b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/Makefile index bde667a8..d8fc2b67 100644 --- a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/Makefile +++ b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/Makefile @@ -126,7 +126,8 @@ SDK_APPEND_LIBS = \ libnam$(TWL_LIBSUFFIX).a \ libsea$(TWL_LIBSUFFIX).a \ liblcfg$(TWL_LIBSUFFIX).a \ - libna$(TWL_LIBSUFFIX).a + libna$(TWL_LIBSUFFIX).a \ + liberrorlog$(TWL_LIBSUFFIX).a LLIBRARIES += $(SYSMENU_LIBS) $(SDK_APPEND_LIBS) diff --git a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/include/process_auto.h b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/include/process_auto.h index 7aeecf89..117bfa89 100644 --- a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/include/process_auto.h +++ b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/include/process_auto.h @@ -32,11 +32,15 @@ extern "C" { enum { AUTO_PROCESS_MENU_FORMAT = 0, +#ifdef USE_WRITE_VARIOUS_DATA + AUTO_PROCESS_MENU_VARIOUS_DATA_1, +#endif // USE_WRITE_VARIOUS_DATA + #ifndef TWL_CAPTURE_VERSION AUTO_PROCESS_MENU_HARDWARE_INFO, #endif // TWL_CAPTURE_VERSION #ifdef USE_WRITE_VARIOUS_DATA - AUTO_PROCESS_MENU_VARIOUS_DATA, + AUTO_PROCESS_MENU_VARIOUS_DATA_2, #endif // USE_WRITE_VARIOUS_DATA AUTO_PROCESS_MENU_IMPORT_TAD, AUTO_PROCESS_MENU_IMPORT_NANDFIRM, diff --git a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/include/process_write_data.h b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/include/process_write_data.h index 7edc18d2..87d3313b 100644 --- a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/include/process_write_data.h +++ b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/include/process_write_data.h @@ -39,6 +39,8 @@ extern "C" { 関数定義 *---------------------------------------------------------------------------*/ +void* WriteDataProcessPre0(void); +void* WriteDataProcessAfter0(void); void* WriteDataProcess0(void); void* WriteDataProcess1(void); void* WriteDataProcess2(void); diff --git a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_auto.c b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_auto.c index c9213459..de233414 100644 --- a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_auto.c +++ b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_auto.c @@ -113,6 +113,11 @@ void* AutoProcess1(void) { case AUTO_PROCESS_MENU_FORMAT: return FormatProcess0; + +#ifdef USE_WRITE_VARIOUS_DATA + case AUTO_PROCESS_MENU_VARIOUS_DATA_1: + return WriteDataProcessPre0; +#endif // USE_WRITE_VARIOUS_DATA_1 #ifndef TWL_CAPTURE_VERSION case AUTO_PROCESS_MENU_HARDWARE_INFO: @@ -120,9 +125,9 @@ void* AutoProcess1(void) #endif // TWL_CAPTURE_VERSION #ifdef USE_WRITE_VARIOUS_DATA - case AUTO_PROCESS_MENU_VARIOUS_DATA: - return WriteDataProcess0; -#endif // USE_WRITE_VARIOUS_DATA + case AUTO_PROCESS_MENU_VARIOUS_DATA_2: + return WriteDataProcessAfter0; +#endif // USE_WRITE_VARIOUS_DATA_2 #ifdef TWL_CAPTURE_VERSION @@ -187,11 +192,14 @@ void* AutoProcess2(void) // メニュー一覧 kamiFontPrintf(3, line += 2, FONT_COLOR_BLACK, " FORMAT NAND "); +#ifdef USE_WRITE_VARIOUS_DATA + kamiFontPrintf(3, line += 2, FONT_COLOR_BLACK, " WRITE VARIOUS DATA1 "); +#endif // USE_WRITE_VARIOUS_DATA #ifndef TWL_CAPTURE_VERSION kamiFontPrintf(3, line += 2, FONT_COLOR_BLACK, " WRITE HARDWARE INFO "); #endif #ifdef USE_WRITE_VARIOUS_DATA - kamiFontPrintf(3, line += 2, FONT_COLOR_BLACK, " WRITE VARIOUS DATA "); + kamiFontPrintf(3, line += 2, FONT_COLOR_BLACK, " WRITE VARIOUS DATA2 "); #endif // USE_WRITE_VARIOUS_DATA kamiFontPrintf(3, line += 2, FONT_COLOR_BLACK, " INPORT TAD FROM SD "); kamiFontPrintf(3, line += 2, FONT_COLOR_BLACK, " INPORT NANDFIRM FROM SD"); @@ -272,7 +280,7 @@ void* AutoProcess3(void) #ifndef AUTO_FORMAT_MODE if (gAutoProcessResult[AUTO_PROCESS_MENU_MCU] == AUTO_PROCESS_RESULT_SKIP) { - if (kamiPadIsTrigger(PAD_BUTTON_B)) + if (kamiPadIsTrigger(PAD_BUTTON_B)) { FADE_OUT_RETURN( TopmenuProcess0 ); } 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 75c16063..38020c37 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 @@ -300,6 +300,16 @@ BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff ) u32 installedSoftBoxCount = 0; BOOL result = TRUE; + // HWID署名ファイルのライト + kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSignWriting ); + + if( HWI_WriteHWIDSignFile() ) { + kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded ); + }else { + kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed ); + result = FALSE; + } + // セキュアファイルのライト kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSecureWriting ); @@ -320,16 +330,6 @@ BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff ) result = FALSE; } - // HWID署名ファイルのライト - kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSignWriting ); - - if( HWI_WriteHWIDSignFile() ) { - kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded ); - }else { - kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed ); - result = FALSE; - } - // CFGデータの修正 if (!HWI_ModifyLanguage( region )) { diff --git a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_topmenu.c b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_topmenu.c index f9e7d167..282d639c 100644 --- a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_topmenu.c +++ b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_topmenu.c @@ -232,7 +232,7 @@ void* TopmenuProcess2(void) #ifdef USE_WRITE_VARIOUS_DATA case MENU_WRITE_DATA: - FADE_OUT_RETURN( WriteDataProcess0 ); + FADE_OUT_RETURN( WriteDataProcessPre0 ); #endif // USE_WRITE_VARIOUS_DATA #ifndef NAND_INITIALIZER_LIMITED_MODE diff --git a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_write_data.c b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_write_data.c index d29b373e..9bdc340f 100644 --- a/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_write_data.c +++ b/build/systemMenu_tools/NandInitializerRed/ARM9.TWL/src/process_write_data.c @@ -28,15 +28,18 @@ #include "cursor.h" #include "keypad.h" #include "common_utility.h" +#include /*---------------------------------------------------------------------------* 型定義 *---------------------------------------------------------------------------*/ enum { - MENU_FONT=0, + MENU_CERT=0, MENU_WRAP, - MENU_CERT, + MENU_FONT, + + #ifdef WRITE_DEVKP_ENABLE MENU_DEVKP, #endif @@ -66,6 +69,7 @@ static s8 sMenuSelectNo; 内部関数宣言 *---------------------------------------------------------------------------*/ +void WriteDataProcessDrawMenu(void); static BOOL WriteFontData(void); static BOOL WriteDummyData(const char* nandpath); static BOOL WriteCertData(void); @@ -84,10 +88,45 @@ static BOOL WriteCertData(void); Returns: next sequence *---------------------------------------------------------------------------*/ -void* WriteDataProcess0(void) + +void* WriteDataProcessPre0(void) +{ + WriteDataProcessDrawMenu(); + +#ifndef NAND_INITIALIZER_LIMITED_MODE + // オート実行用 + if (gAutoFlag) + { + sMenuSelectNo = MENU_CERT; + FADE_IN_RETURN( WriteDataProcess2 ); + } +#endif + + + FADE_IN_RETURN( WriteDataProcess1 ); +} + +void* WriteDataProcessAfter0(void) +{ + WriteDataProcessDrawMenu(); + +#ifndef NAND_INITIALIZER_LIMITED_MODE + // オート実行用 + if (gAutoFlag) + { + sMenuSelectNo = MENU_WRAP; + FADE_IN_RETURN( WriteDataProcess2 ); + } +#endif + + FADE_IN_RETURN( WriteDataProcess1 ); +} + + +void WriteDataProcessDrawMenu(void) { int i; - + // 文字列全クリア kamiFontClear(); @@ -97,11 +136,11 @@ void* WriteDataProcess0(void) // メニュー一覧 kamiFontPrintf(3, 6, FONT_COLOR_BLACK, "+-------------------+-----+"); - kamiFontPrintf(3, 7, FONT_COLOR_BLACK, "l WRITE FONT DATA l l"); + kamiFontPrintf(3, 7, FONT_COLOR_BLACK, "l WRITE CERT.SYS l l"); kamiFontPrintf(3, 8, FONT_COLOR_BLACK, "+-------------------+-----+"); kamiFontPrintf(3, 9, FONT_COLOR_BLACK, "l WRITE WRAP DATA l l"); kamiFontPrintf(3, 10, FONT_COLOR_BLACK, "+-------------------+-----+"); - kamiFontPrintf(3, 11, FONT_COLOR_BLACK, "l WRITE CERT.SYS l l"); + kamiFontPrintf(3, 11, FONT_COLOR_BLACK, "l WRITE FONT DATA l l"); kamiFontPrintf(3, 12, FONT_COLOR_BLACK, "+-------------------+-----+"); #ifdef WRITE_DEVKP_ENABLE kamiFontPrintf(3, 13, FONT_COLOR_BLACK, "l WRITE DEV.KP l l"); @@ -127,7 +166,6 @@ void* WriteDataProcess0(void) // カーソル消去 SetCursorPos((u16)200, (u16)200); - FADE_IN_RETURN( WriteDataProcess1 ); } /*---------------------------------------------------------------------------* @@ -195,15 +233,18 @@ void* WriteDataProcess2(void) switch( sMenuSelectNo ) { - case MENU_FONT: - result = WriteFontData(); + case MENU_CERT: + result = WriteCertData(); + + // sysmenu.logの生成をこのタイミングで行っておく + ERRORLOG_Init(OS_AllocFromMain, OS_FreeToMain); break; case MENU_WRAP: // ダミーのDSメニューラッピング用ファイル作成(UIGランチャーが作っているもの) result = WriteDummyData(WRAP_DATA_FILE_PATH_IN_NAND); break; - case MENU_CERT: - result = WriteCertData(); + case MENU_FONT: + result = WriteFontData(); break; #ifdef WRITE_DEVKP_ENABLE case MENU_DEVKP: @@ -232,13 +273,25 @@ void* WriteDataProcess2(void) switch(sMenuSelectNo) { - case MENU_FONT: + case MENU_CERT: + if (total_result) + { + gAutoProcessResult[AUTO_PROCESS_MENU_VARIOUS_DATA_1] = AUTO_PROCESS_RESULT_SUCCESS; + FADE_OUT_RETURN( AutoProcess1 ); + } + else + { + gAutoProcessResult[AUTO_PROCESS_MENU_VARIOUS_DATA_1] = AUTO_PROCESS_RESULT_FAILURE; + FADE_OUT_RETURN( AutoProcess2); + } + + /* NOTREACHED */ case MENU_WRAP: #ifdef MARIOCLUB_VERSION sMenuSelectNo++; return WriteDataProcess2; #endif //MARIOCLUB_VERSION - case MENU_CERT: + case MENU_FONT: #ifdef WRITE_DEVKP_ENABLE sMenuSelectNo = MENU_DEVKP; return WriteDataProcess2; @@ -246,12 +299,12 @@ void* WriteDataProcess2(void) #endif //WRITE_DEVKP_ENABLE if (total_result) { - gAutoProcessResult[AUTO_PROCESS_MENU_VARIOUS_DATA] = AUTO_PROCESS_RESULT_SUCCESS; + gAutoProcessResult[AUTO_PROCESS_MENU_VARIOUS_DATA_2] = AUTO_PROCESS_RESULT_SUCCESS; FADE_OUT_RETURN( AutoProcess1 ); } else { - gAutoProcessResult[AUTO_PROCESS_MENU_VARIOUS_DATA] = AUTO_PROCESS_RESULT_FAILURE; + gAutoProcessResult[AUTO_PROCESS_MENU_VARIOUS_DATA_2] = AUTO_PROCESS_RESULT_FAILURE; FADE_OUT_RETURN( AutoProcess2); } }