diff --git a/build/buildtools/commondefs.sysmenu b/build/buildtools/commondefs.sysmenu index 9c1710a7..cce8e489 100644 --- a/build/buildtools/commondefs.sysmenu +++ b/build/buildtools/commondefs.sysmenu @@ -26,6 +26,9 @@ endif ifdef SYSM_NO_ES MACRO_FLAGS += -DSYSM_NO_ES endif +ifdef SYSM_NO_WLFIRM +MACRO_FLAGS += -DSYSM_NO_WLFIRM +endif endif NITRO_NO_STD_PCHDR = TRUE # プリコンパイルヘッダ抑止 diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c index f8171212..a6fd27ac 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c @@ -220,6 +220,7 @@ TitleProperty *SYSM_ReadParameters( void ) // NANDからTWL本体設定データをリード BOOL isRead = LCFG_ReadTWLSettings( (u8 (*)[LCFG_READ_TEMP])pBuffer ); +#ifndef SYSM_NO_LOAD // リード失敗ファイルが存在する場合は、ファイルをリカバリ if( LCFG_RecoveryTWLSettings() ) { if( !isRead ) { @@ -231,12 +232,15 @@ TitleProperty *SYSM_ReadParameters( void ) // リカバリ失敗時は、FALTALエラー UTL_SetFatalError( FATAL_ERROR_TWLSETTINGS ); } +#endif // SYSM_NO_LOAD SYSM_Free( pBuffer ); }else { // メモリ確保ができなかった時は、FATALエラー UTL_SetFatalError( FATAL_ERROR_TWLSETTINGS ); } +#ifndef SYSM_NO_LOAD LCFG_VerifyAndRecoveryNTRSettings(); // NTR設定データを読み出して、TWL設定データとベリファイし、必要ならリカバリ +#endif // SYSM_NO_LOAD } //----------------------------------------------------- @@ -277,11 +281,15 @@ TitleProperty *SYSM_ReadParameters( void ) } #endif // SDK_SUPPORT_PMIC_2 +#ifndef SYSM_NO_LOAD + // RTC補正 SYSMi_WriteAdjustRTC(); // RTC値のチェック SYSMi_CheckRTC(); +#endif // SYSM_NO_LOAD + //----------------------------------------------------- // ARM7の処理待ち //----------------------------------------------------- @@ -562,6 +570,8 @@ static TitleProperty *SYSMi_CheckShortcutBoot2( void ) OS_EncodeDeliverArg(); } +#ifndef SYSM_NO_ES + // 「本体設定ブート」有効時は、本体設定プート決定 if( isBootMSET ) { s_bootTitleBuf.titleID = SYSMi_getTitleIdOfMachineSettings(); @@ -576,6 +586,8 @@ static TitleProperty *SYSMi_CheckShortcutBoot2( void ) return &s_bootTitleBuf; } +#endif // SYSM_NO_ES + return NULL; // 「ブート内容未定」でリターン } @@ -585,6 +597,9 @@ static TitleProperty *SYSMi_CheckShortcutBoot2( void ) static OSTitleId SYSMi_getTitleIdOfMachineSettings( void ) { OSTitleId ret = NULL; + +#ifndef SYSM_NO_ES + int l; int getNum; int validNum = 0; @@ -611,6 +626,8 @@ static OSTitleId SYSMi_getTitleIdOfMachineSettings( void ) } SYSM_Free( pTitleIDList ); +#endif // SYSM_NO_ES + return ret; } diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index f61e4c7e..04d8fd97 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -2125,11 +2125,14 @@ void SYSM_TryToBootTitle( TitleProperty *pBootTitle ) } // ダイレクトブート時など、まだSystemMenuVersionのデータがセットされていない場合は、ここでセットする。 +#ifndef SYSM_NO_ES if( *(u8 *)HW_SYSM_VER_INFO_CONTENT_LAST_INITIAL_CODE == 0 ) { SYSM_SetSystemMenuVersionControlData(); } +#endif // SYSM_NO_ES // デバッガ接続中以外の時のみTWL設定データにブートするタイトルのTitleIDとplatformCodeを保存。 +#ifndef SYSM_NO_LOAD if( !SYSM_IsRunOnDebugger() || // スタンドアロン (OSi_DetectDebugger() & OS_CONSOLE_TWLDEBUGGER) ) // デバッグ時 { @@ -2140,6 +2143,7 @@ void SYSM_TryToBootTitle( TitleProperty *pBootTitle ) SYSM_Free( pBuffer ); } } +#endif // SYSM_NO_LOAD // マウント情報の登録 SYSMi_GetWork2()->bootTitleProperty = *pBootTitle; @@ -2154,7 +2158,9 @@ void SYSM_TryToBootTitle( TitleProperty *pBootTitle ) #endif // タイトルIDリストの作成 +#ifndef SYSM_NO_ES SYSMi_makeTitleIdList(); +#endif // SYSM_NO_ES // バンブラパッチ SYSMi_applyPatchToBandBrothers(); diff --git a/build/libraries_sysmenu/sysmenu/common/src/mountInfo.c b/build/libraries_sysmenu/sysmenu/common/src/mountInfo.c index 4718dff3..b8f1acd7 100644 --- a/build/libraries_sysmenu/sysmenu/common/src/mountInfo.c +++ b/build/libraries_sysmenu/sysmenu/common/src/mountInfo.c @@ -342,6 +342,7 @@ static void SYSMi_ModifySaveDataMount( LauncherBootType bootType, NAMTitleId tit void SYSMi_SetBootSRLPathToWork2( TitleProperty *pBootTitle ) { +#ifndef SYSM_NO_LOAD static char path[ FS_ENTRY_LONGNAME_MAX ]; switch( pBootTitle->flags.bootType ) @@ -365,6 +366,12 @@ void SYSMi_SetBootSRLPathToWork2( TitleProperty *pBootTitle ) }else { MI_CpuClearFast( SYSMi_GetWork2()->bootContentPath, OS_MOUNT_PATH_LEN ); } + +#else // SYSM_NO_LOAD + STD_CopyLStringZeroFill( SYSMi_GetWork2()->bootContentPath, (char*)(HW_TWL_SHARED_RESERVED_END - OS_MOUNT_PATH_LEN), OS_MOUNT_PATH_LEN ); + +#endif // SYSM_NO_LOAD + OS_TPrintf( "boot SRL path : %s\n", SYSMi_GetWork2()->bootContentPath ); // ※OS_Init前で呼ぶとPrintfできないので注意。 } diff --git a/build/systemMenu_RED/Launcher/ARM9/commondefs.launcher b/build/systemMenu_RED/Launcher/ARM9/commondefs.launcher index a98892a9..322d997d 100644 --- a/build/systemMenu_RED/Launcher/ARM9/commondefs.launcher +++ b/build/systemMenu_RED/Launcher/ARM9/commondefs.launcher @@ -22,6 +22,7 @@ ifneq ($(SYSM_UPDATER_RELEASE),TRUE) export SYSM_FOR_CTR = TRUE export SYSM_NO_LOAD = TRUE export SYSM_NO_ES = TRUE +# export SYSM_NO_WLFIRM = TRUE # COMPILE SWITCH ※最終ROM作成時は、全てFALSEにセットする。SUBDIRのビルド時にも影響するようexportで環境変数設定する。 export SYSM_DO_NOT_SHOW_LAUNCHER = FALSE diff --git a/build/systemMenu_RED/Launcher/ARM9/src/main.c b/build/systemMenu_RED/Launcher/ARM9/src/main.c index d204aa2b..5138731a 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/main.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/main.c @@ -240,7 +240,9 @@ void TwlMain( void ) #endif //NAMの初期化 +#if !defined(SYSM_NO_ES) || !defined(SYSM_NO_WLFIRM) NAM_Init( Alloc, Free ); +#endif // ! SYSM_NO_ES || ! SYSM_NO_WLFIRM OS_TPrintf( "SYSM_work size = 0x%x\n", sizeof(SYSM_work) ); @@ -317,6 +319,8 @@ void TwlMain( void ) // end時間計測1-c MEASURE_RESULT( start, "SYSM_ReadParameters: %dms\n" ); +#ifndef SYSM_NO_ES + // start時間計測4 MEASURE_START(start); @@ -372,6 +376,8 @@ void TwlMain( void ) // end時間計測5 MEASURE_RESULT( start, "GetNandTitleList : %dms\n" ); +#endif // SYSM_NO_ES + // start時間計測6 MEASURE_START(start); @@ -451,9 +457,11 @@ void TwlMain( void ) MEASURE_START(start); // 無線ファームウェアを無線モジュールにダウンロードする。 +#ifndef SYSM_NO_WLFIRM if( FALSE == InstallWlanFirmware( SYSM_IsHotStart() ) ) { OS_TPrintf( "ERROR: Wireless firmware download failed!\n" ); } +#endif // SYSM_NO_WLFIRM // end時間計測8 MEASURE_RESULT( start, "Load WlanFirm Time : %dms\n" ); @@ -483,6 +491,7 @@ MAIN_LOOP_START: ReadTP(); // TP入力の取得 switch( state ) { +#ifndef SYSM_NO_ES case LOGODEMO_INIT: LogoInit(); // 音鳴らすテスト @@ -525,9 +534,12 @@ MAIN_LOOP_START: state = LOAD_START; } break; +#endif // SYSM_NO_ES case LOAD_START: if( IsFinishedLoadSharedFont() // ダイレクトブートの時は、フォントロード終了をここでチェック +#ifndef SYSM_NO_WLFIRM && PollingInstallWlanFirmware() +#endif// SYSM_NO_WLFIRM #ifndef SYSM_DISABLE_WDS_SCAN // アプリブート前にWDSスキャンは終了しておく必要がある && ( WDS_WrapperStopScan() != WDSWRAPPER_ERRCODE_OPERATING ) #endif // SYSM_DISABLE_WDS_SCAN @@ -554,10 +566,12 @@ MAIN_LOOP_START: state = AUTHENTICATE; #endif // SYSM_NO_LOAD } +#ifndef SYSM_NO_LOAD if( !direct_boot ) { (void)LauncherFadeout( sp_titleList ); // ダイレクトブートでないときはフェードアウトも行う } +#endif // SYSM_NO_LOAD if( ( end == 0 ) && SYSM_IsLoadTitleFinished() ) { end = OS_GetTick(); @@ -573,9 +587,14 @@ MAIN_LOOP_START: } break; case AUTHENTICATE: +#ifdef SYSM_NO_LOAD + if( direct_boot ) +#else // SYSM_NO_LOAD if( ( direct_boot || ( !direct_boot && LauncherFadeout( sp_titleList ) ) ) && SYSM_IsAuthenticateTitleFinished() - ) { + ) +#endif // SYSM_NO_LOAD + { // メインループ開始から検証終了までの間に起きたFATALの処理 if( UTL_IsFatalError() ) { // FATALエラー処理 @@ -612,6 +631,7 @@ MAIN_LOOP_START: } // カードアプリリストの取得(スレッドで随時カード挿抜を通知されるものをメインループで取得) +#ifndef SYSM_NO_ES { BOOL changed; sp_titleList = SYSM_GetCardTitleList( &changed ); @@ -620,8 +640,10 @@ MAIN_LOOP_START: OS_TPrintf( "Change CARD status.\n" ); } } +#endif // SYSM_NO_ES // 無線ファームロードのポーリング +#ifndef SYSM_NO_WLFIRM if( PollingInstallWlanFirmware() && ( GetWlanFirmwareInstallFinalResult() == WLANFIRM_RESULT_SUCCESS ) // ロード成功 ) { @@ -637,10 +659,12 @@ MAIN_LOOP_START: } #endif // SYSM_DISABLE_WDS_SCAN } +#endif // SYSM_NO_WLFIRM // コマンドフラッシュ (void)SND_FlushCommand(SND_COMMAND_NOBLOCK); +#ifndef SYSM_NO_WLFIRM #ifndef DISABLE_SLEEP // スリープモードへの遷移 //(無線ファームのロード完了はアプリ側でチェックしてもらう方針) @@ -650,6 +674,7 @@ MAIN_LOOP_START: UTL_GoSleepMode(); } #endif // DISABLE_SLEEP +#endif // SYSM_NO_WLFIRM } }