mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
後処理、システムメニュー確認の内部関数追加(中身はない)
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@44 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
21f1b03fb3
commit
9489eeb559
@ -54,13 +54,12 @@ u32 profile[PRFILE_MAX];
|
||||
u32 pf_cnt = 0;
|
||||
#endif
|
||||
|
||||
/*
|
||||
/***************************************************************
|
||||
PreInit
|
||||
|
||||
FromBootの対応をまとめる
|
||||
FromBootの対応をまとめる&メインメモリの初期化
|
||||
OS_Init前なので注意 (ARM9によるメインメモリ初期化で消されないように注意)
|
||||
*/
|
||||
|
||||
***************************************************************/
|
||||
static void PreInit(void)
|
||||
{
|
||||
|
||||
@ -77,6 +76,20 @@ static void PreInit(void)
|
||||
MIi_CpuClearFast( 0, (void*)OSi_GetFromBromAddr(), sizeof(OSFromBromBuf) );
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
EraseAll
|
||||
|
||||
不正終了しました
|
||||
いろいろ消してください
|
||||
DSモードにして終わるのがよいか?
|
||||
***************************************************************/
|
||||
static void EraseAll(void)
|
||||
{
|
||||
#ifdef SDK_FINALROM
|
||||
// TODO
|
||||
#endif
|
||||
}
|
||||
|
||||
void TwlSpMain( void )
|
||||
{
|
||||
// OS_InitDebugLED and OS_SetDebugLED are able to call after OS_Init
|
||||
@ -211,11 +224,14 @@ void TwlSpMain( void )
|
||||
}
|
||||
}
|
||||
|
||||
// failed
|
||||
PXI_NotifyID( FIRM_PXI_ID_NULL );
|
||||
|
||||
OS_SetDebugLED( (u8)(0xF0 | step));
|
||||
|
||||
OS_Terminate();
|
||||
EraseAll();
|
||||
|
||||
// failed
|
||||
while (1)
|
||||
{
|
||||
PXI_NotifyID( FIRM_PXI_ID_NULL );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -51,13 +51,12 @@ u32 profile[PRFILE_MAX];
|
||||
u32 pf_cnt = 0;
|
||||
#endif
|
||||
|
||||
/*
|
||||
/***************************************************************
|
||||
PreInit
|
||||
|
||||
FromBootの対応をまとめる&メインメモリの初期化
|
||||
OS_Init前なので注意
|
||||
*/
|
||||
|
||||
***************************************************************/
|
||||
static void PreInit(void)
|
||||
{
|
||||
/*
|
||||
@ -80,6 +79,34 @@ static void PreInit(void)
|
||||
MIi_CpuClearFast( 0, (void*)OSi_GetFromBromAddr(), sizeof(OSFromBromBuf) );
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
CheckHeader
|
||||
|
||||
ヘッダがシステムメニューとして問題ないかチェック
|
||||
先頭32Bは固定値と思われ (リマスターバージョンは違うかな)
|
||||
***************************************************************/
|
||||
static BOOL CheckHeader(void)
|
||||
{
|
||||
#ifdef BOOT_SECURE_SRL
|
||||
// TODO
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/***************************************************************
|
||||
EraseAll
|
||||
|
||||
不正終了しました
|
||||
いろいろ消してください
|
||||
DSモードにして終わるのがよいか?
|
||||
***************************************************************/
|
||||
static void EraseAll(void)
|
||||
{
|
||||
#ifdef SDK_FINALROM
|
||||
// TODO
|
||||
#endif
|
||||
}
|
||||
|
||||
void TwlMain( void )
|
||||
{
|
||||
PreInit();
|
||||
@ -99,7 +126,7 @@ void TwlMain( void )
|
||||
SVC_InitSignHeap( acPool, acHeap, sizeof(acHeap) );
|
||||
|
||||
// load menu
|
||||
if ( MI_LoadHeader( acPool, RSA_KEY_ADDR ) && MI_LoadMenu() )
|
||||
if ( MI_LoadHeader( acPool, RSA_KEY_ADDR ) && CheckHeader() && MI_LoadMenu() )
|
||||
{
|
||||
#ifndef SDK_FINALROM
|
||||
// 127: before BootMenu
|
||||
@ -110,6 +137,12 @@ void TwlMain( void )
|
||||
MI_BootMenu();
|
||||
}
|
||||
|
||||
OS_Terminate();
|
||||
EraseAll();
|
||||
|
||||
// failed
|
||||
while (1)
|
||||
{
|
||||
PXI_NotifyID( FIRM_PXI_ID_NULL );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user