mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
デバッガを繋いでいないと、意図したとおりに動かない状態であったため、現状のrebootライブラリ仕様に合わせて暫定処置
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@307 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
565c57aedb
commit
3a8980990c
@ -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;
|
||||
|
||||
@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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++ )
|
||||
{
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user