mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
再配置情報関連の修正版。ある程度動作確認がとれたのでコミット。
・ROMロード位置から再配置情報の自動設定を実装 ・post clearのリスト生成は未実装(考案中) git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@305 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
17573105db
commit
83ece203e0
@ -73,7 +73,7 @@ BOOL BOOT_WaitStart( void )
|
||||
int list_count = PRE_CLEAR_NUM_MAX + 1;
|
||||
int l;
|
||||
// メモリリストの設定
|
||||
static u32 mem_list[PRE_CLEAR_NUM_MAX + 1 + COPY_NUM_MAX + 2 + POST_CLEAR_NUM_MAX] =
|
||||
static u32 mem_list[PRE_CLEAR_NUM_MAX + 1 + COPY_NUM_MAX + 2 + POST_CLEAR_NUM_MAX + 1] =
|
||||
{
|
||||
// pre clear
|
||||
SYSM_OWN_ARM7_MMEM_ADDR, SYSM_OWN_ARM7_MMEM_ADDR_END - SYSM_OWN_ARM7_MMEM_ADDR,
|
||||
|
||||
@ -560,7 +560,7 @@ static BOOL SYSMi_CheckLoadRegionAndSetRelocateInfoEx
|
||||
}
|
||||
|
||||
// ここまで来ていれば再配置可能
|
||||
if( default_region.start <= *dest && default_region.end <= *dest + length )
|
||||
if( default_region.start <= *dest && *dest < default_region.end )
|
||||
{
|
||||
// デフォルト配置領域の後部に、再配置先の先頭部が被っているので、後方コピーフラグON
|
||||
info->rev = TRUE;
|
||||
@ -588,7 +588,7 @@ static BOOL SYSMi_CheckLoadRegionAndSetRelocateInfo( RomSegmentName seg, u32 *de
|
||||
static void SYSMi_LoadTitleThreadFunc( TitleProperty *pBootTitle )
|
||||
{ enum
|
||||
{
|
||||
region_header,
|
||||
region_header = 0,
|
||||
region_arm9_ntr,
|
||||
region_arm7_ntr,
|
||||
region_arm9_twl,
|
||||
@ -683,7 +683,7 @@ OS_TPrintf("RebootSystem failed: logo CRC error\n");
|
||||
// 領域読み込み先のチェック及び再配置情報データの作成
|
||||
for( i=0; i<RELOCATE_INFO_NUM; i++ )
|
||||
{
|
||||
if ( !SYSMi_CheckLoadRegionAndSetRelocateInfo( (RomSegmentName)i, &(destaddr[i+1]), length[i+1], &(SYSMi_GetWork()->romRelocateInfo[i]) ) )
|
||||
if ( !SYSMi_CheckLoadRegionAndSetRelocateInfo( (RomSegmentName)i, &(destaddr[i+region_arm9_ntr]), length[i+region_arm9_ntr], &(SYSMi_GetWork()->romRelocateInfo[i]) ) )
|
||||
{
|
||||
OS_TPrintf("RebootSystem failed: ROM Load Region error\n");
|
||||
FS_CloseFile(file);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user