diff --git a/build/buildtools/commondefs.sysmenu b/build/buildtools/commondefs.sysmenu index 5a93a7a3..2a0edead 100644 --- a/build/buildtools/commondefs.sysmenu +++ b/build/buildtools/commondefs.sysmenu @@ -44,6 +44,7 @@ SYSMENU_ROOT := $(call eupath,$(TWL_IPL_RED_ROOT)) SYSMENU_BUILDTOOLSDIR := $(SYSMENU_ROOT)/build/buildtools SYSMENU_INCDIR := $(SYSMENU_ROOT)/include \ $(ROOT)/build/libraries/spi/ARM9/include \ + $(ROOT)/build/libraries/os/common/include \ $(ROOT)/build/libraries/mb/common/include SYSMENU_TOOLSDIR := $(SYSMENU_ROOT)/tools SYSMENU_COMPONENTSDIR := $(SYSMENU_ROOT)/components diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index 5cb10e98..afab503e 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -534,23 +534,7 @@ void SYSM_StartLoadTitle( TitleProperty *pBootTitle ) SYSMi_GetWork()->flags.common.isCardBoot = TRUE; }else if(pBootTitle->flags.isAppLoadCompleted) { - // カードブートでなく、ロード済みの場合、再配置情報をランチャーパラメタから読み込み - MI_CpuCopy8( SYSM_GetLauncherParamBody()->v1.relocInfo, SYSMi_GetWork()->romRelocateInfo, sizeof(Relocate_Info)*RELOCATE_INFO_NUM ); - // 更にヘッダを再配置 - if( ((ROM_Header_Short *)(OS_TWL_HEADER_PRELOAD_MMEM))->platform_code & PLATFORM_CODE_FLAG_TWL ) { - // TWLモード - // TWL-ROMヘッダ情報の再配置 - MI_CpuCopyFast( (void *)(OS_TWL_HEADER_PRELOAD_MMEM), (void *)HW_TWL_ROM_HEADER_BUF, SYSM_CARD_ROM_HEADER_SIZE ); - MI_CpuCopyFast( (void *)(OS_TWL_HEADER_PRELOAD_MMEM), (void *)HW_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); - }else { - // NTRモード - // TWL-ROMヘッダ情報の再配置 - // ランチャーのROMヘッダが残っている非コピー領域もクリア - MI_CpuClearFast( (void *)HW_TWL_ROM_HEADER_BUF, SYSM_CARD_ROM_HEADER_SIZE ); - MI_CpuCopyFast( (void *)(OS_TWL_HEADER_PRELOAD_MMEM), (void *)HW_TWL_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); - MI_CpuCopyFast( (void *)(OS_TWL_HEADER_PRELOAD_MMEM), (void *)HW_ROM_HEADER_BUF, HW_ROM_HEADER_BUF_END - HW_ROM_HEADER_BUF ); - // NTR-ROMヘッダ情報の再配置は、rebootライブラリで行う。 - } + // カードブートでなく、ロード済みの場合は今のところ何もしない } } diff --git a/build/systemMenu_RED/Launcher/ARM9/src/launcher.c b/build/systemMenu_RED/Launcher/ARM9/src/launcher.c index 5c8ce3f6..8ab79519 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/launcher.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/launcher.c @@ -537,8 +537,6 @@ static TitleProperty *ProcessPads( TitleProperty *pTitleList ) u16 dummy; u16 tp_lr = 3; TitleProperty *ret = NULL; - LauncherBootFlags tempflag = {TRUE, LAUNCHER_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0}; - // バックライト関係のキー処理 ProcessBackLightPads(); @@ -561,7 +559,7 @@ static TitleProperty *ProcessPads( TitleProperty *pTitleList ) } if( pad.trg & PAD_BUTTON_B ) { - OS_SetLauncherParamAndResetHardware( NULL, &tempflag ); + OS_DoApplicationJump( NULL, OS_APP_JUMP_NORMAL ); } if(pad.cont & PAD_KEY_RIGHT || tp_lr == 1){ // バナー選択 diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c b/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c index 6fae1ae2..71fc1066 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c @@ -198,9 +198,6 @@ void MachineSettingInit( void ) int MachineSettingMain( void ) { BOOL tp_select; - - LauncherBootFlags tempflag = {TRUE, LAUNCHER_BOOTTYPE_NAND, TRUE, FALSE, FALSE, FALSE, 0}; - ReadTP(); //-------------------------------------- @@ -220,7 +217,7 @@ int MachineSettingMain( void ) DrawMenu( s_csr, &s_settingParam ); if( pad.trg & PAD_BUTTON_START ) { - OS_SetLauncherParamAndResetHardware( NULL, &tempflag ); + OS_DoApplicationJump( NULL, OS_APP_JUMP_NORMAL ); } if( ( pad.trg & PAD_BUTTON_A ) || ( tp_select ) ) { // メニュー項目への分岐 @@ -250,9 +247,6 @@ int MachineSettingMain( void ) SetParentalControlInit(); g_pNowProcess = SetParentalControlMain; break; - case 6: - //pictochat起動テスト - OS_SetLauncherParamAndResetHardware( 0x0003000550434854, &tempflag ); } } } diff --git a/include/sysmenu/reloc_info/common/reloc_info.h b/include/sysmenu/reloc_info/common/reloc_info.h index 08eebda6..ae4484b4 100644 --- a/include/sysmenu/reloc_info/common/reloc_info.h +++ b/include/sysmenu/reloc_info/common/reloc_info.h @@ -26,6 +26,20 @@ extern "C" { // データ型定義 //---------------------------------------------------------------------- +#define RELOCATE_INFO_NUM 4 // ROM再配置情報の数(今のところarm9,arm7それぞれltdとflxで最大4つ) +#define DEST_LIST_NUM (RELOCATE_INFO_NUM + 1) + +// 再配置情報データ構造体 +typedef struct Relocate_Info +{ + u32 src; + u32 dest; + u32 length; + u32 post_clear_addr; + u32 post_clear_length; + BOOL rev; +}Relocate_Info; + // ROMセグメント名 typedef enum RomSegmentName { ARM9_STATIC = 0, diff --git a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h index b9c2674b..7f539d0b 100644 --- a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h +++ b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h @@ -23,6 +23,7 @@ #include #include #include +#include #ifdef __cplusplus extern "C" {