diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c index da3a57cf..3c735a97 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c @@ -246,7 +246,8 @@ static TitleProperty *SYSMi_CheckShortcutBoot( void ) // 量産工程用ショートカットキー or // 検査カード起動 //----------------------------------------------------- - if( SYSM_IsExistCard() ) { + if( SYSM_IsExistCard() && !SYSM_GetLauncherParamBody()->v1.flags.isLogoSkip ) { + // 「カード存在」且つ「ランチャー再起動指定(=ロゴスキップ且つタイトル直接起動指定無し)でない」 if( ( SYSMi_GetWork()->flags.hotsw.isOnDebugger && // ISデバッガが有効かつJTAGがまだ有効でない時 !( *(u8 *)( HW_SYS_CONF_BUF + HWi_WSYS09_OFFSET ) & HWi_WSYS09_JTAG_CPUJE_MASK ) ) || SYSM_IsInspectCard() || diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index 77a4f2ec..2b026c8a 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -70,6 +70,8 @@ static AuthResult s_authResult = AUTH_RESULT_PROCESSING; // ROM static MbAuthCode s_authcode; +static BOOL s_loadstart = FALSE; + // const data------------------------------------------------------------------ static const OSBootType s_launcherToOSBootType[ LAUNCHER_BOOTTYPE_MAX ] = { OS_BOOTTYPE_ILLEGAL, // ILLEGAL @@ -144,6 +146,11 @@ BOOL SYSM_GetCardTitleList( TitleProperty *pTitleList_Card ) { BOOL retval = FALSE; + if(s_loadstart) + { + // ロード開始していたら、もうヘッダやタイトル情報は変更しない + return retval; + } // [TODO:] ROMヘッダの platform_code がNTR,TWL-HYB,TWL-LTD以外のもの // region_codeが本体情報と違うもの // の場合は、正常に認識できないタイトルであることを示す。 @@ -513,6 +520,7 @@ void SYSM_StartLoadTitle( TitleProperty *pBootTitle ) static u64 stack[ STACK_SIZE / sizeof(u64) ]; SYSMi_EnableHotSW( FALSE ); + s_loadstart = TRUE; // このあとCardRomヘッダバッファにROMヘッダを上書きで読み込むので // この時点でHotSWが止まっていないと、さらにカードのROMヘッダ // を上書きしてしまう可能性がある diff --git a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h index ac73e528..6cef1e35 100644 --- a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h +++ b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h @@ -39,7 +39,7 @@ extern "C" { #define CARD_SLOT_NUM 1 // カードスロット数 #define LAUNCHER_TITLE_LIST_NUM 40 // ランチャーのタイトルリスト数 -#define TITLE_ID_MACHINE_SETTINGS ( 0x000300054d534554LLU ) // 本体設定のタイトルID +#define TITLE_ID_MACHINE_SETTINGS ( 0x000300154d534554LLU ) // 本体設定のタイトルID #define SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT ( PAD_BUTTON_A | PAD_BUTTON_B \ | PAD_BUTTON_X | PAD_BUTTON_Y | PAD_BUTTON_R )