diff --git a/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c b/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c index aa5838d7..bdb05f2d 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c @@ -500,6 +500,11 @@ instfirm_error: SYSM_Free( pNwmBuf ); pNwmBuf = 0; } + + // インストール開始すらできなかった時は、FATALエラー + s_isFinished = TRUE; + SYSM_SetFatalError( TRUE ); + return FALSE; } @@ -531,10 +536,7 @@ BOOL PollingInstallWlanFirmware( void ) s_isFinished = TRUE; }else { // そうでない場合は、ColdStartロードで再度実行。 - if( !InstallWlanFirmware( FALSE ) ) { - SYSM_SetFatalError( TRUE ); - s_isFinished = TRUE; - } + (void)InstallWlanFirmware( FALSE ); } } s_isFinished = TRUE; diff --git a/build/systemMenu_RED/Launcher/ARM9/src/main.c b/build/systemMenu_RED/Launcher/ARM9/src/main.c index 5a291a52..d5f926f2 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/main.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/main.c @@ -283,6 +283,10 @@ void TwlMain( void ) PollingInstallWlanFirmware() && // アプリブート前に無線ファームのロードは完了しておく必要がある SYSM_IsAuthenticateTitleFinished() ) { + if( SYSM_IsFatalError() ) { + // FATALエラー処理 + } + switch ( SYSM_TryToBootTitle( pBootTitle, s_titleList ) ) { // アプリ認証結果取得orブート 成功時:never return case AUTH_RESULT_TITLE_LOAD_FAILED: case AUTH_RESULT_TITLE_POINTER_ERROR: diff --git a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h index b4935d0b..622b48cd 100644 --- a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h +++ b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h @@ -37,9 +37,7 @@ extern "C" { #endif // SDK_FINALROM #define CARD_SLOT_NUM 1 // カードスロット数 -#define LAUNCHER_TITLE_LIST_NUM 40 // ランチャーのタイトルリスト数 - -#define TITLE_ID_MACHINE_SETTINGS ( 0x000300154d534554LLU ) // 本体設定のタイトルID +#define LAUNCHER_TITLE_LIST_NUM ( LCFG_TWL_FREE_SOFT_BOX_COUNT_MAX + 1 ) // ランチャーのタイトルリスト数 #define SYSM_PAD_SHORTCUT_TP ( PAD_BUTTON_X ) #define SYSM_PAD_SHORTCUT_MACHINE_SETTINGS ( PAD_BUTTON_SELECT )