DSカード暫定対応。

エントリポイントはDS互換ROMヘッダ領域を参照。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@309 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
nakasima 2007-12-04 08:46:51 +00:00
parent ce62662072
commit de6b36359a
2 changed files with 29 additions and 3 deletions

View File

@ -70,6 +70,9 @@ BOOL BOOT_WaitStart( void )
// SDK共通リブート
{
REBOOTTarget target = REBOOT_TARGET_TWL_SECURE_SYSTEM;
ROM_Header *th = (ROM_Header *)HW_TWL_ROM_HEADER_BUF; // TWL拡張ROMヘッダDSアプリには無い
ROM_Header *dh = (ROM_Header *)HW_ROM_HEADER_BUF; // DS互換ROMヘッダ
int list_count = PRE_CLEAR_NUM_MAX + 1;
int l;
// メモリリストの設定
@ -130,9 +133,19 @@ BOOL BOOT_WaitStart( void )
}
}
mem_list[list_count] = NULL;
// アプリケーション選択
if ( dh->s.platform_code )
{
// target = REBOOT_TARGET_TWL_APP;
}
else
{
target = REBOOT_TARGET_DS_APP;
}
// リブート
OS_Boot( (void *)*(u32 *)(HW_TWL_ROM_HEADER_BUF + 0x34), mem_list, REBOOT_TARGET_TWL_SECURE_SYSTEM );
OS_Boot( dh->s.sub_entry_address, mem_list, target );
}
}
return FALSE;

View File

@ -116,8 +116,21 @@ void BOOT_Ready( void )
NULL
};
REBOOTTarget target = REBOOT_TARGET_TWL_SECURE_SYSTEM;
ROM_Header *dh = (ROM_Header *)HW_ROM_HEADER_BUF; // DS互換ROMヘッダ
// アプリケーション選択
if ( dh->s.platform_code )
{
// target = REBOOT_TARGET_TWL_APP;
}
else
{
target = REBOOT_TARGET_DS_APP;
}
// 起動するターゲットの種類を指定する必要あり
OS_Boot( (void *)*(u32 *)(HW_TWL_ROM_HEADER_BUF + 0x24), mem_list, REBOOT_TARGET_TWL_SECURE_SYSTEM );
OS_Boot( dh->s.main_entry_address, mem_list, target );
}
}