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;
|
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;
|
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のラッパー関数
|
// SYSMi_CheckLoadRegionAndSetRelocateInfoExのラッパー関数
|
||||||
static BOOL SYSMi_CheckLoadRegionAndSetRelocateInfo( RomSegmentName seg, u32 *dest, u32 length, Relocate_Info *info )
|
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);
|
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];
|
length [region_arm7_twl] = *(const u32*)&header[0x1DC];
|
||||||
destaddr[region_arm7_twl] = *(const u32*)&header[0x1D8];
|
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++ )
|
for( i=0; i<RELOCATE_INFO_NUM; i++ )
|
||||||
{
|
{
|
||||||
|
|||||||
@ -60,9 +60,10 @@
|
|||||||
#define MAX_SHOW_BANNER 6
|
#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 FADE_COUNT_MAX 124
|
||||||
#define ALPHA_MAX 31
|
#define ALPHA_MAX 31
|
||||||
|
#define FADE_START 62
|
||||||
|
|
||||||
// extern data------------------------------------------
|
// extern data------------------------------------------
|
||||||
|
|
||||||
@ -106,6 +107,7 @@ static u8 *pbanner_image_list[ LAUNCHER_TITLE_LIST_NUM ];
|
|||||||
static int banner_count = 0;
|
static int banner_count = 0;
|
||||||
static int selected = 0;
|
static int selected = 0;
|
||||||
static int bar_left = BAR_ZERO_X;
|
static int bar_left = BAR_ZERO_X;
|
||||||
|
static fx32 s_selected_banner_size;
|
||||||
|
|
||||||
// const data -----------------------------------------
|
// const data -----------------------------------------
|
||||||
|
|
||||||
@ -245,7 +247,8 @@ static void SetAffineAnimation( int cursor )
|
|||||||
static double wav;
|
static double wav;
|
||||||
if(cursor%FRAME_PER_SELECT == 0){ // 適当に波打たせてみる
|
if(cursor%FRAME_PER_SELECT == 0){ // 適当に波打たせてみる
|
||||||
double s = sin(wav);
|
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;
|
wav += 0.1;
|
||||||
}else{ // 適当に大きさを変えてみる
|
}else{ // 適当に大きさを変えてみる
|
||||||
mtx._00 = FX32_HALF + FX32_HALF*(cursor%FRAME_PER_SELECT)/FRAME_PER_SELECT;
|
mtx._00 = FX32_HALF + FX32_HALF*(cursor%FRAME_PER_SELECT)/FRAME_PER_SELECT;
|
||||||
@ -378,11 +381,11 @@ BOOL LauncherFadeout( TitleProperty *pTitleList )
|
|||||||
MtxFx22 mtx;
|
MtxFx22 mtx;
|
||||||
static double wa;
|
static double wa;
|
||||||
double s = cos(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;
|
else mtx._00 = 0x8fff;
|
||||||
mtx._01 = 0;
|
mtx._01 = 0;
|
||||||
mtx._10 = 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);
|
G2_SetOBJAffine((GXOamAffine *)(&banner_oam_attr[0]), &mtx);
|
||||||
wa += 0.1;
|
wa += 0.1;
|
||||||
}
|
}
|
||||||
@ -394,7 +397,10 @@ BOOL LauncherFadeout( TitleProperty *pTitleList )
|
|||||||
GetAndDrawRTCData( &g_rtcDraw, FALSE );
|
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) {
|
if(fadecount < FADE_COUNT_MAX) {
|
||||||
fadecount++;
|
fadecount++;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user