デバッガを繋いでいないと、意図したとおりに動かない状態であったため、現状のrebootライブラリ仕様に合わせて暫定処置

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@307 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2007-12-04 08:04:48 +00:00
parent 565c57aedb
commit 3a8980990c
4 changed files with 21 additions and 7 deletions

View File

@ -132,7 +132,7 @@ BOOL BOOT_WaitStart( void )
mem_list[list_count] = NULL;
// リブート
OS_Boot( (void *)*(u32 *)(HW_TWL_ROM_HEADER_BUF + 0x34), mem_list, REBOOT_TARGET_TWL_SYSTEM );
OS_Boot( (void *)*(u32 *)(HW_TWL_ROM_HEADER_BUF + 0x34), mem_list, REBOOT_TARGET_TWL_SECURE_SYSTEM );
}
}
return FALSE;

View File

@ -117,7 +117,7 @@ void BOOT_Ready( void )
};
// 起動するターゲットの種類を指定する必要あり
OS_Boot( (void *)*(u32 *)(HW_TWL_ROM_HEADER_BUF + 0x24), mem_list, REBOOT_TARGET_TWL_SYSTEM );
OS_Boot( (void *)*(u32 *)(HW_TWL_ROM_HEADER_BUF + 0x24), mem_list, REBOOT_TARGET_TWL_SECURE_SYSTEM );
}
}

View File

@ -607,6 +607,7 @@ static BOOL SYSMi_CheckLoadRegionAndSetRelocateInfoEx
// SYSMi_CheckLoadRegionAndSetRelocateInfoExのラッパー関数
static BOOL SYSMi_CheckLoadRegionAndSetRelocateInfo( RomSegmentName seg, u32 *dest, u32 length, Relocate_Info *info )
{
// TWLにしか対応していないので注意。ヘッダを見てNTRならデフォルト配置領域を変更してやる必要あり。
return SYSMi_CheckLoadRegionAndSetRelocateInfoEx(dest, length, romSegmentRange[seg], load_region_check_list[seg], info);
}
@ -705,6 +706,13 @@ OS_TPrintf("RebootSystem failed: logo CRC error\n");
length [region_arm7_twl] = *(const u32*)&header[0x1DC];
destaddr[region_arm7_twl] = *(const u32*)&header[0x1D8];
if( header[0x12] && 0x03 == 0 )
{
//NTR専用ROM
}
MI_CpuClearFast( (void *)SYSMi_GetWork()->romRelocateInfo, RELOCATE_INFO_NUM * sizeof(Relocate_Info) );
// 領域読み込み先のチェック及び再配置情報データの作成
for( i=0; i<RELOCATE_INFO_NUM; i++ )
{

View File

@ -60,9 +60,10 @@
#define MAX_SHOW_BANNER 6
// フェードアウト関係
#define FADE_COUNT_PER_ALPHA (FADE_COUNT_MAX / ALPHA_MAX)
#define FADE_COUNT_PER_ALPHA ((FADE_COUNT_MAX - FADE_START) / ALPHA_MAX)
#define FADE_COUNT_MAX 124
#define ALPHA_MAX 31
#define FADE_START 62
// extern data------------------------------------------
@ -106,6 +107,7 @@ static u8 *pbanner_image_list[ LAUNCHER_TITLE_LIST_NUM ];
static int banner_count = 0;
static int selected = 0;
static int bar_left = BAR_ZERO_X;
static fx32 s_selected_banner_size;
// const data -----------------------------------------
@ -245,7 +247,8 @@ static void SetAffineAnimation( int cursor )
static double wav;
if(cursor%FRAME_PER_SELECT == 0){ // 適当に波打たせてみる
double s = sin(wav);
mtx._00 = FX32_HALF - (long)( 0x80 * ( s - 1 ) );
s_selected_banner_size = FX32_HALF - (long)( 0x80 * ( s - 1 ) );
mtx._00 = s_selected_banner_size;
wav += 0.1;
}else{ // 適当に大きさを変えてみる
mtx._00 = FX32_HALF + FX32_HALF*(cursor%FRAME_PER_SELECT)/FRAME_PER_SELECT;
@ -378,11 +381,11 @@ BOOL LauncherFadeout( TitleProperty *pTitleList )
MtxFx22 mtx;
static double wa;
double s = cos(wa);
if( s!=0 ) mtx._00 = (fx32)(FX32_HALF/s);
if( s!=0 ) mtx._00 = (fx32)((s_selected_banner_size/s) * (1.0 + wa/3));
else mtx._00 = 0x8fff;
mtx._01 = 0;
mtx._10 = 0;
mtx._11 = FX32_HALF;
mtx._11 = (fx32)(s_selected_banner_size * (1.0 + wa/3));
G2_SetOBJAffine((GXOamAffine *)(&banner_oam_attr[0]), &mtx);
wa += 0.1;
}
@ -394,7 +397,10 @@ BOOL LauncherFadeout( TitleProperty *pTitleList )
GetAndDrawRTCData( &g_rtcDraw, FALSE );
// フェードアウトのカウント処理
G2_ChangeBlendAlpha( fadecount/FADE_COUNT_PER_ALPHA, ALPHA_MAX-(fadecount/FADE_COUNT_PER_ALPHA) );
if(fadecount >= FADE_START)
{
G2_ChangeBlendAlpha( (fadecount-FADE_START)/FADE_COUNT_PER_ALPHA, ALPHA_MAX-((fadecount-FADE_START)/FADE_COUNT_PER_ALPHA) );
}
if(fadecount < FADE_COUNT_MAX) {
fadecount++;
return FALSE;