diff --git a/build/libraries/os/common/os_irqHandler.c b/build/libraries/os/common/os_irqHandler.c index cd7f9be..66ee28d 100644 --- a/build/libraries/os/common/os_irqHandler.c +++ b/build/libraries/os/common/os_irqHandler.c @@ -125,7 +125,7 @@ asm void OS_IrqHandler( void ) ldmia r12, { r1-r2 } // r1: IE2, r2: IF2 ands r1, r1, r2 // r1: IE2 & IF2 - // if IE&IF==0 then return (without changing IF) + // if IE2&IF2==0 then return (without changing IF2) #ifdef SDK_NO_THREAD bxeq lr #else diff --git a/include/nitro/hw/ARM7/mmap_global.h b/include/nitro/hw/ARM7/mmap_global.h index 25186ec..0b5b1fd 100644 --- a/include/nitro/hw/ARM7/mmap_global.h +++ b/include/nitro/hw/ARM7/mmap_global.h @@ -91,6 +91,7 @@ extern "C" { //----------------------------- WRAM_AREA #define HW_WRAM_AREA 0x03000000 +#define HW_WRAM_AREA_HALF (HW_WRAM_AREA+(HW_WRAM_AREA_SIZE/2)) #define HW_WRAM_AREA_END 0x04000000 #define HW_WRAM_AREA_SIZE (HW_WRAM_AREA_END-HW_WRAM_AREA) diff --git a/include/nitro/hw/ARM9/mmap_global.h b/include/nitro/hw/ARM9/mmap_global.h index fdee7a8..bb2af4b 100644 --- a/include/nitro/hw/ARM9/mmap_global.h +++ b/include/nitro/hw/ARM9/mmap_global.h @@ -103,6 +103,7 @@ extern u32 SDK_AUTOLOAD_DTCM_START[]; #define HW_MAIN_MEM_HI_EX_END (HW_MAIN_MEM_HI + HW_MAIN_MEM_HI_EX_SIZE) //----------------------------- WRAM_AREA #define HW_WRAM_AREA 0x03000000 +#define HW_WRAM_AREA_HALF (HW_WRAM_AREA+(HW_WRAM_AREA_SIZE/2)) #define HW_WRAM_AREA_END 0x04000000 #define HW_WRAM_AREA_SIZE (HW_WRAM_AREA_END-HW_WRAM_AREA) //----------------------------- WRAMs diff --git a/include/twl/mi/wram_abc.h b/include/twl/mi/wram_abc.h index b522fb2..985fa7a 100644 --- a/include/twl/mi/wram_abc.h +++ b/include/twl/mi/wram_abc.h @@ -19,6 +19,13 @@ #include +#ifdef SDK_ARM9 +#include +#else //SDK_ARM7 +#include +#endif + + #ifdef __cplusplus extern "C" { #endif @@ -55,7 +62,7 @@ typedef enum MI_WRAM_A_OFS_0KB = 0 << REG_MI_WRAM_A0_OFS_SHIFT, MI_WRAM_A_OFS_64KB = 1 << REG_MI_WRAM_A0_OFS_SHIFT, MI_WRAM_A_OFS_128KB = 2 << REG_MI_WRAM_A0_OFS_SHIFT, - MI_WRAM_A_OFS_192KB = 1 << REG_MI_WRAM_A0_OFS_SHIFT + MI_WRAM_A_OFS_192KB = 3 << REG_MI_WRAM_A0_OFS_SHIFT } MIOfsWramA; @@ -148,7 +155,22 @@ MIImageWramC; #endif // BROM_PLATFORM_TS -#define MI_WRAM_MAP_NULL HW_WRAM_AREA +#define REG_WRAM_A_BNK_PACK( b_no, master, ofs, enable ) REG_WRAM_BNK_PACK( A, b_no, (master), (ofs), (enable) ) +#define REG_WRAM_B_BNK_PACK( b_no, master, ofs, enable ) REG_WRAM_BNK_PACK( B, b_no, (master), (ofs), (enable) ) +#define REG_WRAM_C_BNK_PACK( b_no, master, ofs, enable ) REG_WRAM_BNK_PACK( C, b_no, (master), (ofs), (enable) ) +#define REG_WRAM_BNK_PACK( abc, b_no, master, ofs, enable ) \ +( \ + (((enable) != FALSE) * REG_MI_WRAM_##abc##b_no##_E_MASK) \ + | (ofs) \ + | (master) \ +) + + +#define MI_WRAM_MAP_NULL HW_WRAM_AREA + +#define REG_MI_WRAM_A_MAP_MAX 0x10000000 +#define REG_MI_WRAM_B_MAP_MAX REG_MI_WRAM_A_MAP_MAX +#define REG_MI_WRAM_C_MAP_MAX REG_MI_WRAM_A_MAP_MAX #define REG_WRAM_A_MAP_PACK( start, end, img_size ) REG_WRAM_MAP_PACK( A, (start), (end), (img_size) ) #define REG_WRAM_B_MAP_PACK( start, end, img_size ) REG_WRAM_MAP_PACK( B, (start), (end), (img_size) )