diff --git a/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h b/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h index 931e6389..f392d335 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h +++ b/build/libraries_sysmenu/hotsw/ARM7/include/hotswTypes.h @@ -23,7 +23,7 @@ extern "C" { // Define ------------------------------------------------------------------- -#define HOTSW_NO_MESSAGE // Printf抑制スイッチ +//#define HOTSW_NO_MESSAGE // Printf抑制スイッチ #ifdef HOTSW_NO_MESSAGE #ifndef SDK_FINALROM @@ -94,7 +94,7 @@ extern "C" { #define START_SHIFT 31 #define START_MASK 0x80000000 -#define SCRAMBLE_MASK 0x00406000 +#define SCRAMBLE_MASK 0x1840e000 #define AddLatency2ToLatency1(param)\ ( (((param) & LATENCY2_MASK) \ diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index 5fa3e05c..9cbd8d22 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -281,6 +281,10 @@ BOOL HOTSW_Boot(void) OS_TPrintf("Rom Emulation Data : 0x%04x\n",s_cbData.romEmuBuf[0]); if(s_cbData.debuggerFlg){ s_cbData.cardType = ROM_EMULATION; + SYSMi_GetWork()->gameCommondParam = s_cbData.pBootSegBuf->rh.s.game_cmd_param & ~SCRAMBLE_MASK; + } + else{ + SYSMi_GetWork()->gameCommondParam = s_cbData.pBootSegBuf->rh.s.game_cmd_param; } // ROMヘッダCRCを算出してチェック。NintendoロゴCRCも確認。 diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index 1bbb4724..1f137c2a 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -22,6 +22,7 @@ // define data----------------------------------------------------------------- #define CARD_BANNER_INDEX ( LAUNCHER_TITLE_LIST_NUM - 1 ) +#define GAME_COMMAND_PARAM_INDEX 0x60 // extern data----------------------------------------------------------------- // function's prototype------------------------------------------------------- @@ -509,6 +510,8 @@ static void SYSMi_Relocate( void ) MI_CpuCopyFast( (void *)SYSM_CARD_ROM_HEADER_BUF, (void *)HW_TWL_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); MI_CpuCopyFast( (void *)SYSM_CARD_ROM_HEADER_BUF, (void *)HW_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); } + // NTR-ROMヘッダバッファのゲームコマンドパラメータを上書きする + *(vu32 *)(HW_ROM_HEADER_BUF + GAME_COMMAND_PARAM_INDEX) = SYSMi_GetWork()->gameCommondParam; } diff --git a/include/sysmenu/sysmenu_lib/common/sysmenu_work.h b/include/sysmenu/sysmenu_lib/common/sysmenu_work.h index a6aaf7ea..5cb08fc2 100644 --- a/include/sysmenu/sysmenu_lib/common/sysmenu_work.h +++ b/include/sysmenu/sysmenu_lib/common/sysmenu_work.h @@ -97,7 +97,8 @@ typedef struct SYSM_work { OSLockWord lockCardRsc; // カードリソース排他制御用 int cloneBootMode; u32 nCardID; // カードID - + u32 gameCommondParam; // NTRのゲームコマンドパラメータ(NTRのROMヘッダのゲームコマンドパラメータに上書きする) + LauncherParam launcherParam; ISD_RomEmuInfo romEmuInfo;