From 0d02bf8b674e296ebff21d0a009e1cdf2e4f84aa Mon Sep 17 00:00:00 2001 From: nakasima Date: Thu, 14 Aug 2008 11:09:11 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=96=E3=83=BC=E3=83=88=E7=9B=B4=E5=89=8D?= =?UTF-8?q?=E3=81=AEROM=E3=83=98=E3=83=83=E3=83=80=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=82=92ARM7=E3=81=B8=E3=81=BE=E3=81=A8=E3=82=81=E3=81=A6?= =?UTF-8?q?=E5=8F=AF=E8=AA=AD=E6=80=A7=E3=82=92=E5=90=91=E4=B8=8A=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2159 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/libraries_sysmenu/boot/ARM7/src/bootAPI.c | 17 +++++++++++++++-- build/libraries_sysmenu/boot/ARM9/src/bootAPI.c | 14 +------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c b/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c index 170ca663..4fc95c73 100644 --- a/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c +++ b/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c @@ -27,6 +27,7 @@ #include #include "reboot.h" #include "internal_api.h" +#include "../../../hotsw/ARM7/include/hotswTypes.h" extern void SPI_Lock(u32 id); extern void SPI_Unlock(u32 id); @@ -136,12 +137,14 @@ BOOL BOOT_WaitStart( void ) return FALSE; } +// SDKのFinalize処理後に呼び出される static void BOOTi_RebootCallback( void** entryp, void* mem_list_v, REBOOTTarget* target ) { #pragma unused(entryp) u32* mem_list = mem_list_v; ROM_Header *th = (void*)REBOOTi_GetTwlRomHeaderAddr(); ROM_Header *dh = (void*)REBOOTi_GetRomHeaderAddr(); + ROM_Header *ch = (void*)HW_CARD_ROM_HEADER; BOOL isNtrMode; u32 spiLockId; @@ -153,15 +156,25 @@ static void BOOTi_RebootCallback( void** entryp, void* mem_list_v, REBOOTTarget* MI_CpuCopyFast( th, dh, HW_CARD_ROM_HEADER_SIZE ); // カードNTR-ROMヘッダをNANDアプリやDSダウンロードプレイのためコピー - MI_CpuCopyFast( (void*)SYSM_CARD_ROM_HEADER_BAK, (void*)HW_CARD_ROM_HEADER, HW_CARD_ROM_HEADER_SIZE ); + MI_CpuCopyFast( (void*)SYSM_CARD_ROM_HEADER_BAK, ch, HW_CARD_ROM_HEADER_SIZE ); if ( (((ROM_Header *)SYSM_CARD_ROM_HEADER_BAK)->s.platform_code & PLATFORM_CODE_FLAG_TWL) && (dh->s.platform_code & PLATFORM_CODE_FLAG_TWL) ){ // カードTWL-ROMヘッダをHW_TWL_CARD_ROM_HEADER_BUFにコピー MI_CpuCopyFast( (void*)SYSM_CARD_ROM_HEADER_BAK, (void*)HW_TWL_CARD_ROM_HEADER_BUF, HW_TWL_CARD_ROM_HEADER_BUF_SIZE ); } + // デバッガによるROMエミュレーション時はNTR-ROMヘッダバッファの + // ゲームコマンドパラメータをスクランブルOFF設定に書き換える + if ( SYSM_IsRunOnDebugger() ) + { + // NitroSDKバグ対策でブートメディア種別に関わらずROMヘッダを常時書き換え + dh->s.game_cmd_param &= ~SCRAMBLE_MASK; + } + // カードROMヘッダ(非キャッシュ領域)は常時設定 + ch->s.game_cmd_param = SYSMi_GetWork()->gameCommondParam; + // この処理は、DSダウンロードプレイ側で行う。 - // MI_CpuCopyFast ( (void *)HW_CARD_ROM_HEADER, (void *)MB_CARD_ROM_HEADER_ADDRESS, 0x160); + // MI_CpuCopyFast ( ch, (void *)MB_CARD_ROM_HEADER_ADDRESS, 0x160); // ブラックリストをチェックし、起動制限をかける BOOTi_CheckTitleBlackList( (void*)th ); diff --git a/build/libraries_sysmenu/boot/ARM9/src/bootAPI.c b/build/libraries_sysmenu/boot/ARM9/src/bootAPI.c index 4b4d0384..d1df29df 100644 --- a/build/libraries_sysmenu/boot/ARM9/src/bootAPI.c +++ b/build/libraries_sysmenu/boot/ARM9/src/bootAPI.c @@ -91,6 +91,7 @@ void BOOT_Ready( void ) } // ブート準備をして、ARM7からの通知を待つ。 +// SDKのFinalize処理後に呼び出される static void BOOTi_RebootCallback( void** entryp, void* mem_list_v, REBOOTTarget* target ) { #pragma unused(entryp) @@ -199,19 +200,6 @@ static void BOOTi_RebootCallback( void** entryp, void* mem_list_v, REBOOTTarget* *target = REBOOT_TARGET_DS_APP; } - // デバッガによるROMエミュレーション時はNTR-ROMヘッダバッファの - // ゲームコマンドパラメータをスクランブルOFF設定に書き換える - if ( SYSM_IsRunOnDebugger() ) - { - // NitroSDKバグ対策でブートメディア種別に関わらずROMヘッダを常時書き換え - dh->s.game_cmd_param &= ~SCRAMBLE_MASK; - } - { - // カードROMヘッダ(非キャッシュ領域)は常時設定 - ROM_Header *ch = (void*)HW_CARD_ROM_HEADER; - ch->s.game_cmd_param = SYSMi_GetWork()->gameCommondParam; - } - // 鍵は不要になるので、消しておく { OSFromFirmBuf* fromFirm = (void*)HW_FIRM_FROM_FIRM_BUF;