diff --git a/build/libraries_sysmenu/boot/ARM7/src/boot.c b/build/libraries_sysmenu/boot/ARM7/src/boot.c index a8b9259c..8ee9aa27 100644 --- a/build/libraries_sysmenu/boot/ARM7/src/boot.c +++ b/build/libraries_sysmenu/boot/ARM7/src/boot.c @@ -15,6 +15,7 @@ $Author$ *---------------------------------------------------------------------------*/ +#define SDK_ASM #include #include //#include "loader.h" diff --git a/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c b/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c index 7cf98f67..c6c1e4d0 100644 --- a/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c +++ b/build/libraries_sysmenu/boot/ARM7/src/bootAPI.c @@ -27,13 +27,13 @@ #define reg_MI_MC_SWP (*(REGType8v *) ( REG_MC1_ADDR + 1 ) ) #ifdef ISDBG_MB_CHILD_ -#define PRE_CLEAR_NUM_MAX 14 +#define PRE_CLEAR_NUM_MAX (6*2) #else -#define PRE_CLEAR_NUM_MAX 10 +#define PRE_CLEAR_NUM_MAX (4*2) #endif -#define COPY_NUM_MAX 12 -#define POST_CLEAR_NUM_MAX 8 +#define COPY_NUM_MAX (4*3) +#define POST_CLEAR_NUM_MAX (4*2) // extern data------------------------------------------------------- @@ -81,10 +81,9 @@ BOOL BOOT_WaitStart( void ) static u32 mem_list[PRE_CLEAR_NUM_MAX + 1 + COPY_NUM_MAX + 2 + POST_CLEAR_NUM_MAX + 1] = { // pre clear + SYSM_OWN_ARM7_WRAM_ADDR, NULL, // SYSM_OWN_ARM7_WRAM_ADDR(SDK_AUTOLOAD_WRAM_START)はリンカから与えられる SYSM_OWN_ARM7_MMEM_ADDR, SYSM_OWN_ARM7_MMEM_ADDR_END - SYSM_OWN_ARM7_MMEM_ADDR, SYSM_OWN_ARM9_MMEM_ADDR, SYSM_OWN_ARM9_MMEM_ADDR_END - SYSM_OWN_ARM9_MMEM_ADDR, - SYSM_OWN_ARM7_WRAM_ADDR, SYSM_OWN_ARM7_WRAM_ADDR_END - SYSM_OWN_ARM7_WRAM_ADDR, - SYSM_OWN_ARM7_WRAM_ADDR, SYSM_OWN_ARM7_WRAM_ADDR_END - SYSM_OWN_ARM7_WRAM_ADDR, #ifdef ISDBG_MB_CHILD_ HW_PRV_WRAM_END - 0x600, (HW_PRV_WRAM_END - HW_PRV_WRAM_SYSRV_SIZE) - (HW_PRV_WRAM_END - 0x600), HW_PRV_WRAM_END - 0x600 + 0x20, HW_PRV_WRAM_END - (HW_PRV_WRAM_END - 0x600 + 0x20), @@ -98,6 +97,7 @@ BOOL BOOT_WaitStart( void ) // post clear NULL, }; + mem_list[1] = SYSM_OWN_ARM7_WRAM_ADDR_END - SYSM_OWN_ARM7_WRAM_ADDR; // copy forwardリスト設定 for( l=0; l #include //#include diff --git a/include/sysmenu/hw/common/mmap.h b/include/sysmenu/hw/common/mmap.h index 1507d088..fb6d6509 100644 --- a/include/sysmenu/hw/common/mmap.h +++ b/include/sysmenu/hw/common/mmap.h @@ -18,7 +18,9 @@ #ifndef _SYSMENU_MMAP_H_ #define _SYSMENU_MMAP_H_ +#ifndef SDK_ASM #include +#endif #ifdef __cplusplus extern "C" { @@ -35,7 +37,12 @@ extern "C" { #endif #define SYSM_OWN_ARM7_MMEM_ADDR 0x02280000 #define SYSM_OWN_ARM7_MMEM_ADDR_END 0x02380000 -#define SYSM_OWN_ARM7_WRAM_ADDR 0x037c0000 +extern u32 SDK_AUTOLOAD_WRAM_START[]; +#ifndef SDK_ASM +#define SYSM_OWN_ARM7_WRAM_ADDR ((u32)SDK_AUTOLOAD_WRAM_START) +#else +#define SYSM_OWN_ARM7_WRAM_ADDR SDK_AUTOLOAD_WRAM_START +#endif #define SYSM_OWN_ARM7_WRAM_ADDR_END 0x0380f000 #define SYSM_BOOTCODE_ARM9_ADDR 0x027ffc00 // ARM9最終ブートコードアドレス