(更新:Akabane Jumpei)

エミュレータを読んだ場合、ゲームモードでスクランブルをかけないように、
NTRのRomHeaderバッファのゲームコマンドパラメータ部分を修正するように変更。
(SlotBでエミュレータを読んだ場合のみ対応)

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@534 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
(no author) 2008-01-29 05:31:15 +00:00
parent 84bc885805
commit d3ce60c97e
4 changed files with 11 additions and 3 deletions

View File

@ -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) \

View File

@ -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も確認。

View File

@ -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;
}

View File

@ -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;