diff --git a/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c b/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c index 6c778cbc..4c51a2d9 100644 --- a/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c +++ b/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c @@ -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, diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c index 3b24a3c1..f6b2497f 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c @@ -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; iromRelocateInfo[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);