mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
#ifdef SDK_SUPPORT_PMIC_2 忘れ
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@845 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
2baabefc33
commit
4c9d8c4105
@ -37,7 +37,7 @@ void (*SYSMi_Free )( void *ptr );
|
|||||||
|
|
||||||
#define SYSM_DEBUG_
|
#define SYSM_DEBUG_
|
||||||
#ifdef SYSM_DEBUG_
|
#ifdef SYSM_DEBUG_
|
||||||
SYSM_work *pSysm; // デバッガでのSYSMワークのウォッチ用
|
SYSM_work *pSysm; // デバッガでのSYSMワークのウォッチ用
|
||||||
ROM_Header_Short *pRomHeader;
|
ROM_Header_Short *pRomHeader;
|
||||||
#endif
|
#endif
|
||||||
// static variable-------------------------------------------------------------
|
// static variable-------------------------------------------------------------
|
||||||
@ -56,67 +56,67 @@ static TitleProperty s_bootTitleBuf;
|
|||||||
void SYSM_Init( void *(*pAlloc)(u32), void (*pFree)(void*) )
|
void SYSM_Init( void *(*pAlloc)(u32), void (*pFree)(void*) )
|
||||||
{
|
{
|
||||||
#ifdef SYSM_DEBUG_
|
#ifdef SYSM_DEBUG_
|
||||||
pSysm = SYSMi_GetWork();
|
pSysm = SYSMi_GetWork();
|
||||||
pRomHeader = (ROM_Header_Short *)0x027fc000;
|
pRomHeader = (ROM_Header_Short *)0x027fc000;
|
||||||
#endif /* SYSM_DEBUG_ */
|
#endif /* SYSM_DEBUG_ */
|
||||||
|
|
||||||
// ARM7で使用する分の鍵を渡す
|
// ARM7で使用する分の鍵を渡す
|
||||||
SYSMi_SendKeysToARM7();
|
SYSMi_SendKeysToARM7();
|
||||||
|
|
||||||
// ランチャーのマウント情報セット
|
// ランチャーのマウント情報セット
|
||||||
SYSMi_SetLauncherMountInfo();
|
SYSMi_SetLauncherMountInfo();
|
||||||
|
|
||||||
// ARM7コンポーネント用プロテクションユニット領域変更
|
// ARM7コンポーネント用プロテクションユニット領域変更
|
||||||
OS_SetProtectionRegion( 2, SYSM_OWN_ARM7_MMEM_ADDR, 512KB );
|
OS_SetProtectionRegion( 2, SYSM_OWN_ARM7_MMEM_ADDR, 512KB );
|
||||||
|
|
||||||
SYSM_SetAllocFunc( pAlloc, pFree );
|
SYSM_SetAllocFunc( pAlloc, pFree );
|
||||||
|
|
||||||
// PXI_SetFifoRecvCallback( SYSMENU_PXI_FIFO_TAG, SYSMi_PXIFifoRecvCallback );
|
// PXI_SetFifoRecvCallback( SYSMENU_PXI_FIFO_TAG, SYSMi_PXIFifoRecvCallback );
|
||||||
|
|
||||||
reg_OS_PAUSE |= REG_OS_PAUSE_CHK_MASK; // PAUSEレジスタのチェックフラグのセット
|
reg_OS_PAUSE |= REG_OS_PAUSE_CHK_MASK; // PAUSEレジスタのチェックフラグのセット
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// アリーナ再設定
|
// アリーナ再設定
|
||||||
void SYSM_SetArena( void )
|
void SYSM_SetArena( void )
|
||||||
{
|
{
|
||||||
// ARM9用ブートコード配置のため、アリーナHi位置を下げる
|
// ARM9用ブートコード配置のため、アリーナHi位置を下げる
|
||||||
OS_SetMainArenaHi( (void *)SYSM_OWN_ARM9_MMEM_ADDR_END );
|
OS_SetMainArenaHi( (void *)SYSM_OWN_ARM9_MMEM_ADDR_END );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// システムメニューライブラリ用メモリアロケータの設定
|
// システムメニューライブラリ用メモリアロケータの設定
|
||||||
void SYSM_SetAllocFunc( void *(*pAlloc)(u32), void (*pFree)(void*) )
|
void SYSM_SetAllocFunc( void *(*pAlloc)(u32), void (*pFree)(void*) )
|
||||||
{
|
{
|
||||||
SYSMi_Alloc = pAlloc;
|
SYSMi_Alloc = pAlloc;
|
||||||
SYSMi_Free = pFree;
|
SYSMi_Free = pFree;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// メモリAlloc
|
// メモリAlloc
|
||||||
void *SYSM_Alloc( u32 size )
|
void *SYSM_Alloc( u32 size )
|
||||||
{
|
{
|
||||||
void *p = SYSMi_Alloc( size );
|
void *p = SYSMi_Alloc( size );
|
||||||
OS_TPrintf( "SYSM_Alloc : %08x %xbytes\n", p, size );
|
OS_TPrintf( "SYSM_Alloc : %08x %xbytes\n", p, size );
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// メモリFree
|
// メモリFree
|
||||||
void SYSM_Free( void *ptr )
|
void SYSM_Free( void *ptr )
|
||||||
{
|
{
|
||||||
OS_TPrintf( "SYSM_Free : %08x\n", ptr );
|
OS_TPrintf( "SYSM_Free : %08x\n", ptr );
|
||||||
SYSMi_Free( ptr );
|
SYSMi_Free( ptr );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ARM7で使用する分の鍵を渡す
|
// ARM7で使用する分の鍵を渡す
|
||||||
void SYSMi_SendKeysToARM7( void )
|
void SYSMi_SendKeysToARM7( void )
|
||||||
{
|
{
|
||||||
MI_SetWramBank(MI_WRAM_ARM9_ALL);
|
MI_SetWramBank(MI_WRAM_ARM9_ALL);
|
||||||
// DS互換BlowfishテーブルをARM7へ渡す
|
// DS互換BlowfishテーブルをARM7へ渡す
|
||||||
MI_CpuCopyFast( &((OSFromFirm9Buf *)HW_FIRM_FROM_FIRM_BUF)->ds_blowfish, (void *)HW_WRAM_0, sizeof(BLOWFISH_CTX) );
|
MI_CpuCopyFast( &((OSFromFirm9Buf *)HW_FIRM_FROM_FIRM_BUF)->ds_blowfish, (void *)HW_WRAM_0, sizeof(BLOWFISH_CTX) );
|
||||||
MI_SetWramBank(MI_WRAM_ARM7_ALL);
|
MI_SetWramBank(MI_WRAM_ARM7_ALL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -129,166 +129,168 @@ void SYSMi_SendKeysToARM7( void )
|
|||||||
// パラメータリード
|
// パラメータリード
|
||||||
TitleProperty *SYSM_ReadParameters( void )
|
TitleProperty *SYSM_ReadParameters( void )
|
||||||
{
|
{
|
||||||
TitleProperty *pBootTitle = NULL;
|
TitleProperty *pBootTitle = NULL;
|
||||||
u8 brightness = LCFG_TWL_BACKLIGHT_LEVEL_MAX;
|
u8 brightness = LCFG_TWL_BACKLIGHT_LEVEL_MAX;
|
||||||
|
|
||||||
// ARM7のリセットパラメータ取得が完了するのを待つ
|
// ARM7のリセットパラメータ取得が完了するのを待つ
|
||||||
while( !SYSMi_GetWork()->flags.common.isARM9Start ) {
|
while( !SYSMi_GetWork()->flags.common.isARM9Start ) {
|
||||||
SVC_WaitByLoop( 0x1000 );
|
SVC_WaitByLoop( 0x1000 );
|
||||||
}
|
}
|
||||||
//#ifdef DEBUG_USED_CARD_SLOT_B_
|
//#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
// ARM7のカードチェック完了を待つ
|
// ARM7のカードチェック完了を待つ
|
||||||
while( !SYSMi_GetWork()->flags.hotsw.is1stCardChecked ) {
|
while( !SYSMi_GetWork()->flags.hotsw.is1stCardChecked ) {
|
||||||
SVC_WaitByLoop( 0x1000 );
|
SVC_WaitByLoop( 0x1000 );
|
||||||
}
|
}
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
// リセットパラメータの判定(リセットパラメータが有効かどうかは、ARM7でやってくれている)
|
// リセットパラメータの判定(リセットパラメータが有効かどうかは、ARM7でやってくれている)
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
{
|
{
|
||||||
if( SYSM_GetLauncherParamBody()->v1.flags.isLogoSkip || // ロゴデモスキップ?
|
if( SYSM_GetLauncherParamBody()->v1.flags.isLogoSkip || // ロゴデモスキップ?
|
||||||
SYSMi_IsDebuggerBannerViewMode() ) {
|
SYSMi_IsDebuggerBannerViewMode() ) {
|
||||||
SYSM_SetLogoDemoSkip( TRUE );
|
SYSM_SetLogoDemoSkip( TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( SYSM_GetLauncherParamBody()->v1.bootTitleID ) { // アプリ直接起動の指定があったらロゴデモを飛ばして指定アプリ起動
|
if( SYSM_GetLauncherParamBody()->v1.bootTitleID ) { // アプリ直接起動の指定があったらロゴデモを飛ばして指定アプリ起動
|
||||||
s_bootTitleBuf.titleID = SYSM_GetLauncherParamBody()->v1.bootTitleID;
|
s_bootTitleBuf.titleID = SYSM_GetLauncherParamBody()->v1.bootTitleID;
|
||||||
s_bootTitleBuf.flags = SYSM_GetLauncherParamBody()->v1.flags;
|
s_bootTitleBuf.flags = SYSM_GetLauncherParamBody()->v1.flags;
|
||||||
s_bootTitleBuf.pBanner = (TWLBannerFile *)(*(TWLBannerFile **)(SYSM_GetLauncherParamBody()->v1.rsv));
|
s_bootTitleBuf.pBanner = (TWLBannerFile *)(*(TWLBannerFile **)(SYSM_GetLauncherParamBody()->v1.rsv));
|
||||||
pBootTitle = &s_bootTitleBuf;
|
pBootTitle = &s_bootTitleBuf;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
// 量産工程用ショートカットキー or
|
// 量産工程用ショートカットキー or
|
||||||
// 検査カード起動
|
// 検査カード起動
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
if( pBootTitle == NULL ) {
|
if( pBootTitle == NULL ) {
|
||||||
pBootTitle = SYSMi_CheckShortcutBoot();
|
pBootTitle = SYSMi_CheckShortcutBoot();
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
// HW情報のリード
|
// HW情報のリード
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
// ノーマル情報リード
|
// ノーマル情報リード
|
||||||
if( !LCFG_ReadHWNormalInfo() ) {
|
if( !LCFG_ReadHWNormalInfo() ) {
|
||||||
OS_TPrintf( "HW Normal Info Broken!\n" );
|
OS_TPrintf( "HW Normal Info Broken!\n" );
|
||||||
SYSMi_GetWork()->flags.common.isBrokenHWNormalInfo = TRUE;
|
SYSMi_GetWork()->flags.common.isBrokenHWNormalInfo = TRUE;
|
||||||
SYSMi_GetWork()->flags.common.isFatalError = TRUE;
|
SYSMi_GetWork()->flags.common.isFatalError = TRUE;
|
||||||
}
|
}
|
||||||
// セキュア情報リード
|
// セキュア情報リード
|
||||||
if( !LCFG_ReadHWSecureInfo() ) {
|
if( !LCFG_ReadHWSecureInfo() ) {
|
||||||
OS_TPrintf( "HW Secure Info Broken!\n" );
|
OS_TPrintf( "HW Secure Info Broken!\n" );
|
||||||
SYSMi_GetWork()->flags.common.isBrokenHWSecureInfo = TRUE;
|
SYSMi_GetWork()->flags.common.isBrokenHWSecureInfo = TRUE;
|
||||||
SYSMi_GetWork()->flags.common.isFatalError = TRUE;
|
SYSMi_GetWork()->flags.common.isFatalError = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
// 本体設定データのリード(※必ずHWSecureInforリード後に実行すること。LanguageBitmapを判定に使うため)
|
// 本体設定データのリード(※必ずHWSecureInforリード後に実行すること。LanguageBitmapを判定に使うため)
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
{
|
{
|
||||||
u8 *pBuffer = SYSM_Alloc( LCFG_READ_TEMP );
|
u8 *pBuffer = SYSM_Alloc( LCFG_READ_TEMP );
|
||||||
if( pBuffer == NULL ) {
|
if( pBuffer == NULL ) {
|
||||||
SYSMi_GetWork()->flags.common.isFatalError = TRUE;
|
SYSMi_GetWork()->flags.common.isFatalError = TRUE;
|
||||||
}else if( LCFG_ReadTWLSettings( (u8 (*)[LCFG_READ_TEMP])pBuffer ) ) { // NANDからTWL本体設定データをリード
|
}else if( LCFG_ReadTWLSettings( (u8 (*)[LCFG_READ_TEMP])pBuffer ) ) { // NANDからTWL本体設定データをリード
|
||||||
SYSM_CaribrateTP(); // 読み出したTWL本体設定データをもとにTPキャリブレーション。
|
SYSM_CaribrateTP(); // 読み出したTWL本体設定データをもとにTPキャリブレーション。
|
||||||
if ( SYSMi_GetMcuVersion() <= 1 )
|
|
||||||
{
|
|
||||||
// X2ボード以前だけ輝度読み込み
|
|
||||||
brightness = (u8)LCFG_TSD_GetBacklightBrightness();
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
SYSMi_GetWork()->flags.common.isInitialSettings = TRUE; // リード失敗なら初回起動シーケンスへ
|
|
||||||
}
|
|
||||||
if( pBuffer ) {
|
|
||||||
SYSM_Free( pBuffer );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//-----------------------------------------------------
|
|
||||||
// 各種デバイス設定
|
|
||||||
//-----------------------------------------------------
|
|
||||||
// バックライト輝度設定
|
|
||||||
#ifdef SDK_SUPPORT_PMIC_2
|
#ifdef SDK_SUPPORT_PMIC_2
|
||||||
if ( SYSMi_GetMcuVersion() <= 1 )
|
if ( SYSMi_GetMcuVersion() <= 1 )
|
||||||
{
|
{
|
||||||
// X2ボード以前だけ輝度設定する
|
// X2ボード以前だけ輝度読み込み
|
||||||
SYSM_SetBackLightBrightness( brightness );
|
brightness = (u8)LCFG_TSD_GetBacklightBrightness();
|
||||||
}
|
}
|
||||||
#endif // SDK_SUPPORT_PMIC_2
|
#endif // SDK_SUPPORT_PMIC_2
|
||||||
// RTC補正
|
}else {
|
||||||
SYSMi_WriteAdjustRTC();
|
SYSMi_GetWork()->flags.common.isInitialSettings = TRUE; // リード失敗なら初回起動シーケンスへ
|
||||||
// RTC値のチェック
|
}
|
||||||
SYSMi_CheckRTC();
|
if( pBuffer ) {
|
||||||
|
SYSM_Free( pBuffer );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LCFG_VerifyAndRecoveryNTRSettings(); // NTR設定データを読み出して、TWL設定データとベリファイし、必要ならリカバリ
|
//-----------------------------------------------------
|
||||||
|
// 各種デバイス設定
|
||||||
|
//-----------------------------------------------------
|
||||||
|
// バックライト輝度設定
|
||||||
|
#ifdef SDK_SUPPORT_PMIC_2
|
||||||
|
if ( SYSMi_GetMcuVersion() <= 1 )
|
||||||
|
{
|
||||||
|
// X2ボード以前だけ輝度設定する
|
||||||
|
SYSM_SetBackLightBrightness( brightness );
|
||||||
|
}
|
||||||
|
#endif // SDK_SUPPORT_PMIC_2
|
||||||
|
// RTC補正
|
||||||
|
SYSMi_WriteAdjustRTC();
|
||||||
|
// RTC値のチェック
|
||||||
|
SYSMi_CheckRTC();
|
||||||
|
|
||||||
//NAMの初期化
|
LCFG_VerifyAndRecoveryNTRSettings(); // NTR設定データを読み出して、TWL設定データとベリファイし、必要ならリカバリ
|
||||||
NAM_Init( SYSM_Alloc, SYSM_Free );
|
|
||||||
|
|
||||||
return pBootTitle;
|
//NAMの初期化
|
||||||
|
NAM_Init( SYSM_Alloc, SYSM_Free );
|
||||||
|
|
||||||
|
return pBootTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ショートカット起動のチェック
|
// ショートカット起動のチェック
|
||||||
static TitleProperty *SYSMi_CheckShortcutBoot( void )
|
static TitleProperty *SYSMi_CheckShortcutBoot( void )
|
||||||
{
|
{
|
||||||
static TitleProperty s_bootTitle;
|
static TitleProperty s_bootTitle;
|
||||||
|
|
||||||
MI_CpuClear8( &s_bootTitle, sizeof(TitleProperty) );
|
MI_CpuClear8( &s_bootTitle, sizeof(TitleProperty) );
|
||||||
|
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
// ISデバッガ起動 or
|
// ISデバッガ起動 or
|
||||||
// 量産工程用ショートカットキー or
|
// 量産工程用ショートカットキー or
|
||||||
// 検査カード起動
|
// 検査カード起動
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
if( SYSM_IsExistCard() ) {
|
if( SYSM_IsExistCard() ) {
|
||||||
if( ( SYSMi_GetWork()->flags.hotsw.isOnDebugger && // ISデバッガが有効かつJTAGがまだ有効でない時
|
if( ( SYSMi_GetWork()->flags.hotsw.isOnDebugger && // ISデバッガが有効かつJTAGがまだ有効でない時
|
||||||
!( *(u8 *)( HW_SYS_CONF_BUF + HWi_WSYS09_OFFSET ) & HWi_WSYS09_JTAG_CPUJE_MASK ) ) ||
|
!( *(u8 *)( HW_SYS_CONF_BUF + HWi_WSYS09_OFFSET ) & HWi_WSYS09_JTAG_CPUJE_MASK ) ) ||
|
||||||
SYSM_IsInspectCard() ||
|
SYSM_IsInspectCard() ||
|
||||||
( ( PAD_Read() & SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT ) ==
|
( ( PAD_Read() & SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT ) ==
|
||||||
SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT )
|
SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT )
|
||||||
) {
|
) {
|
||||||
s_bootTitle.flags.isAppRelocate = TRUE;
|
s_bootTitle.flags.isAppRelocate = TRUE;
|
||||||
s_bootTitle.flags.isAppLoadCompleted = TRUE;
|
s_bootTitle.flags.isAppLoadCompleted = TRUE;
|
||||||
s_bootTitle.flags.isInitialShortcutSkip = TRUE; // 初回起動シーケンスを飛ばす
|
s_bootTitle.flags.isInitialShortcutSkip = TRUE; // 初回起動シーケンスを飛ばす
|
||||||
s_bootTitle.flags.isLogoSkip = TRUE; // ロゴデモを飛ばす
|
s_bootTitle.flags.isLogoSkip = TRUE; // ロゴデモを飛ばす
|
||||||
s_bootTitle.flags.bootType = LAUNCHER_BOOTTYPE_ROM;
|
s_bootTitle.flags.bootType = LAUNCHER_BOOTTYPE_ROM;
|
||||||
s_bootTitle.flags.isValid = TRUE;
|
s_bootTitle.flags.isValid = TRUE;
|
||||||
// ROMヘッダバッファのコピー
|
// ROMヘッダバッファのコピー
|
||||||
{
|
{
|
||||||
u16 id = (u16)OS_GetLockID();
|
u16 id = (u16)OS_GetLockID();
|
||||||
(void)OS_LockByWord( id, &SYSMi_GetWork()->lockCardRsc, NULL ); // ARM7と排他制御する
|
(void)OS_LockByWord( id, &SYSMi_GetWork()->lockCardRsc, NULL ); // ARM7と排他制御する
|
||||||
(void)SYSMi_CopyCardRomHeader();
|
(void)SYSMi_CopyCardRomHeader();
|
||||||
(void)OS_UnlockByWord( id, &SYSMi_GetWork()->lockCardRsc, NULL ); // ARM7と排他制御する
|
(void)OS_UnlockByWord( id, &SYSMi_GetWork()->lockCardRsc, NULL ); // ARM7と排他制御する
|
||||||
OS_ReleaseLockID( id );
|
OS_ReleaseLockID( id );
|
||||||
}
|
}
|
||||||
s_bootTitle.titleID = *(u64 *)( &SYSM_GetCardRomHeader()->titleID_Lo );
|
s_bootTitle.titleID = *(u64 *)( &SYSM_GetCardRomHeader()->titleID_Lo );
|
||||||
SYSM_SetLogoDemoSkip( s_bootTitle.flags.isLogoSkip );
|
SYSM_SetLogoDemoSkip( s_bootTitle.flags.isLogoSkip );
|
||||||
return &s_bootTitle;
|
return &s_bootTitle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
// TWL設定データ未入力時の初回起動シーケンス起動
|
// TWL設定データ未入力時の初回起動シーケンス起動
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
#if 0
|
#if 0
|
||||||
#ifdef ENABLE_INITIAL_SETTINGS_
|
#ifdef ENABLE_INITIAL_SETTINGS_
|
||||||
if( !LCFG_TSD_IsSetTP() ||
|
if( !LCFG_TSD_IsSetTP() ||
|
||||||
!LCFG_TSD_IsSetLanguage() ||
|
!LCFG_TSD_IsSetLanguage() ||
|
||||||
!LCFG_TSD_IsSetDateTime() ||
|
!LCFG_TSD_IsSetDateTime() ||
|
||||||
!LCFG_TSD_IsSetUserColor() ||
|
!LCFG_TSD_IsSetUserColor() ||
|
||||||
!LCFG_TSD_IsSetNickname() ) {
|
!LCFG_TSD_IsSetNickname() ) {
|
||||||
s_bootTitle.titleID = TITLE_ID_MACHINE_SETTINGS;
|
s_bootTitle.titleID = TITLE_ID_MACHINE_SETTINGS;
|
||||||
s_bootTitle.flags.bootType = LAUNCHER_BOOTTYPE_NAND;
|
s_bootTitle.flags.bootType = LAUNCHER_BOOTTYPE_NAND;
|
||||||
s_bootTitle.flags.isValid = TRUE;
|
s_bootTitle.flags.isValid = TRUE;
|
||||||
return &s_bootTitle;
|
return &s_bootTitle;
|
||||||
}
|
}
|
||||||
#endif // ENABLE_INITIAL_SETTINGS_
|
#endif // ENABLE_INITIAL_SETTINGS_
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return NULL; // 「ブート内容未定」でリターン
|
return NULL; // 「ブート内容未定」でリターン
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -296,19 +298,19 @@ static TitleProperty *SYSMi_CheckShortcutBoot( void )
|
|||||||
static void SYSMi_CheckCardCloneBoot( void )
|
static void SYSMi_CheckCardCloneBoot( void )
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
u8 *buffp = (u8 *)&pTempBuffer;
|
u8 *buffp = (u8 *)&pTempBuffer;
|
||||||
u32 total_rom_size = SYSM_GetCardRomHeader()->rom_valid_size ? SYSM_GetCardRomHeader()->rom_valid_size : 0x01000000;
|
u32 total_rom_size = SYSM_GetCardRomHeader()->rom_valid_size ? SYSM_GetCardRomHeader()->rom_valid_size : 0x01000000;
|
||||||
u32 file_offset = total_rom_size & 0xFFFFFE00;
|
u32 file_offset = total_rom_size & 0xFFFFFE00;
|
||||||
|
|
||||||
DC_FlushRange( buffp, BNR_IMAGE_SIZE );
|
DC_FlushRange( buffp, BNR_IMAGE_SIZE );
|
||||||
CARD_ReadRom( 4, (void *)file_offset, buffp, BNR_IMAGE_SIZE );
|
CARD_ReadRom( 4, (void *)file_offset, buffp, BNR_IMAGE_SIZE );
|
||||||
|
|
||||||
buffp += total_rom_size & 0x000001FF;
|
buffp += total_rom_size & 0x000001FF;
|
||||||
if( *buffp++ == 'a' && *buffp == 'c' ) {
|
if( *buffp++ == 'a' && *buffp == 'c' ) {
|
||||||
SYSMi_GetWork()->flags.common.cloneBootMode = CLONE_BOOT_MODE;
|
SYSMi_GetWork()->flags.common.cloneBootMode = CLONE_BOOT_MODE;
|
||||||
}else {
|
}else {
|
||||||
SYSMi_GetWork()->flags.common.cloneBootMode = OTHER_BOOT_MODE;
|
SYSMi_GetWork()->flags.common.cloneBootMode = OTHER_BOOT_MODE;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user