ボリュームを基準値にそろえる機能の追加

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1564 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yutaka 2008-06-03 02:34:00 +00:00
parent ec0623ea6e
commit fca6e73346

View File

@ -98,6 +98,7 @@ static void VBlankIntr(void);
static void InitializeFatfs(void); static void InitializeFatfs(void);
static void InitializeNwm(OSHeapHandle drvHeapHandle, OSHeapHandle wpaHeapHandle); static void InitializeNwm(OSHeapHandle drvHeapHandle, OSHeapHandle wpaHeapHandle);
static void InitializeCdc(void); static void InitializeCdc(void);
static void AdjustVolume(void);
/*---------------------------------------------------------------------------* /*---------------------------------------------------------------------------*
*---------------------------------------------------------------------------*/ *---------------------------------------------------------------------------*/
@ -105,7 +106,7 @@ static void InitializeCdc(void);
extern void SDK_LTDAUTOLOAD_LTDWRAM_BSS_END(void); extern void SDK_LTDAUTOLOAD_LTDWRAM_BSS_END(void);
extern void SDK_LTDAUTOLOAD_LTDMAIN_BSS_END(void); extern void SDK_LTDAUTOLOAD_LTDMAIN_BSS_END(void);
#endif #endif
extern void SDK_SEA_KEY_STORE(void); extern void SDK_SEA_KEY_STORE(void);
extern BOOL sdmcGetNandLogFatal( void ); extern BOOL sdmcGetNandLogFatal( void );
@ -133,12 +134,12 @@ TwlSpMain(void)
OS_Init(); OS_Init();
PrintDebugInfo(); PrintDebugInfo();
// ランチャーバージョンを格納(今のところ、最低でもマウント情報登録前には格納する必要あり) // ランチャーバージョンを格納(今のところ、最低でもマウント情報登録前には格納する必要あり)
*(u8 *)HW_TWL_RED_LAUNCHER_VER = (u8)SYSM_LAUNCHER_VER; *(u8 *)HW_TWL_RED_LAUNCHER_VER = (u8)SYSM_LAUNCHER_VER;
// ランチャーのマウント情報登録
SYSMi_SetLauncherMountInfo();
// ランチャーのマウント情報登録
SYSMi_SetLauncherMountInfo();
// ランチャーパラメター取得Cold/Hotスタート判定含む // ランチャーパラメター取得Cold/Hotスタート判定含む
ReadLauncherParameter(); ReadLauncherParameter();
@ -148,11 +149,11 @@ TwlSpMain(void)
// NVRAM からユーザー情報読み出し // NVRAM からユーザー情報読み出し
ReadUserInfo(); ReadUserInfo();
// NANDのFATALエラー検出 // NANDのFATALエラー検出
if( sdmcGetNandLogFatal() != FALSE) { if( sdmcGetNandLogFatal() != FALSE) {
/* 故障扱い処理 */ /* 故障扱い処理 */
SYSM_SetFatalError( TRUE ); SYSM_SetFatalError( TRUE );
} }
// [TODO:] カード電源ONして、ROMヘッダのみリードチェックくらいはやっておきたい // [TODO:] カード電源ONして、ROMヘッダのみリードチェックくらいはやっておきたい
@ -178,7 +179,7 @@ TwlSpMain(void)
// PXIコールバックの設定 // PXIコールバックの設定
SYSM_InitPXI(THREAD_PRIO_SYSMMCU); SYSM_InitPXI(THREAD_PRIO_SYSMMCU);
// ファイルシステム初期化 // ファイルシステム初期化
FS_Init(FS_DMA_NOT_USE); FS_Init(FS_DMA_NOT_USE);
FS_CreateReadServerThread(THREAD_PRIO_FS); FS_CreateReadServerThread(THREAD_PRIO_FS);
@ -189,19 +190,22 @@ TwlSpMain(void)
InitializeNwm(mainHeapHandle, mainHeapHandle); // NWM 初期化 InitializeNwm(mainHeapHandle, mainHeapHandle); // NWM 初期化
#ifndef SDK_NOCRYPTO #ifndef SDK_NOCRYPTO
AES_Init(); // AES 初期化 AES_Init(); // AES 初期化
{ {
// JPEGエンコード用の鍵セット // JPEGエンコード用の鍵セット
SYSMi_SetAESKeysForSignJPEG( (ROM_Header *)HW_TWL_ROM_HEADER_BUF, NULL, NULL ); SYSMi_SetAESKeysForSignJPEG( (ROM_Header *)HW_TWL_ROM_HEADER_BUF, NULL, NULL );
// NANDファームがHW_LAUNCHER_DELIVER_PARAM_BUFへのAES_SEEDセットを行ってくれるので、ISデバッガ接続に関係なくSDK_SEA_KEY_STOREへのコピーを行えばよい // NANDファームがHW_LAUNCHER_DELIVER_PARAM_BUFへのAES_SEEDセットを行ってくれるので、ISデバッガ接続に関係なくSDK_SEA_KEY_STOREへのコピーを行えばよい
MI_CpuCopyFast( (void *)HW_LAUNCHER_DELIVER_PARAM_BUF, (void *)SDK_SEA_KEY_STORE, HW_LAUNCHER_DELIVER_PARAM_BUF_SIZE ); MI_CpuCopyFast( (void *)HW_LAUNCHER_DELIVER_PARAM_BUF, (void *)SDK_SEA_KEY_STORE, HW_LAUNCHER_DELIVER_PARAM_BUF_SIZE );
} }
#ifdef SDK_SEA #ifdef SDK_SEA
SEA_Init(); SEA_Init();
#endif // ifdef SDK_SEA #endif // ifdef SDK_SEA
#endif #endif
MCU_InitIrq(THREAD_PRIO_MCU); // MCU 初期化 MCU_InitIrq(THREAD_PRIO_MCU); // MCU 初期化
// ボリューム設定の調整
AdjustVolume();
} }
if (OSi_IsCodecTwlMode() == TRUE) if (OSi_IsCodecTwlMode() == TRUE)
@ -260,8 +264,8 @@ TwlSpMain(void)
// [TODO]アプリジャンプ有効で、カードブートでない時は、最初からHOTSW_Initを呼ばないようにしたい。 // [TODO]アプリジャンプ有効で、カードブートでない時は、最初からHOTSW_Initを呼ばないようにしたい。
HOTSW_Init(THREAD_PRIO_HOTSW); HOTSW_Init(THREAD_PRIO_HOTSW);
// 外部デポップ回路を無効にします。 // 外部デポップ回路を無効にします。
CDC_DisableExternalDepop(); CDC_DisableExternalDepop();
while (TRUE) while (TRUE)
{ {
@ -420,17 +424,17 @@ InitializeCdc(void)
OSThread thread; OSThread thread;
u32 stack[18]; u32 stack[18];
// ※ランチャーでは必要なし // ※ランチャーでは必要なし
#if 0 #if 0
// ランチャー経由で起動した場合はCODECは既に初期化されているため // ランチャー経由で起動した場合はCODECは既に初期化されているため
// コンポーネントがCODECを初期化する必要はありません。 // コンポーネントがCODECを初期化する必要はありません。
// 将来的にはバッサリと切る必要がありますが、 // 将来的にはバッサリと切る必要がありますが、
// 暫定的にI2Sが有効かどうかでCODECが初期化済みかどうかを判定します。 // 暫定的にI2Sが有効かどうかでCODECが初期化済みかどうかを判定します。
if (reg_SND_SMX_CNT & REG_SND_SMX_CNT_E_MASK) if (reg_SND_SMX_CNT & REG_SND_SMX_CNT_E_MASK)
{ {
CDC_InitLib(); CDC_InitLib();
return; return;
} }
#endif #endif
// ダミースレッド作成 // ダミースレッド作成
@ -440,7 +444,7 @@ InitializeCdc(void)
#if 1 #if 1
// CODEC 初期化 // CODEC 初期化
CDC_InitForFirstBoot(); // ※ランチャー特殊処理。 CDC_InitForFirstBoot(); // ※ランチャー特殊処理。
CDC_InitMic(); CDC_InitMic();
// CDCi_DumpRegisters(); // CDCi_DumpRegisters();
#else #else
@ -831,6 +835,58 @@ static void ReadUserInfo(void)
#endif #endif
} }
/*---------------------------------------------------------------------------*
Name: AdjustVolume
Description: 328
Arguments: None.
Returns: None.
*---------------------------------------------------------------------------*/
void AdjustVolume(void)
{
u8 volume = MCU_GetVolume();
u8 adjust;
if ( volume < 2 )
{
adjust = 0;
}
else if ( volume < 5 )
{
adjust = 2;
}
else if ( volume < 9 )
{
adjust = 6;
}
else if ( volume < 14 )
{
adjust = 11;
}
else if ( volume < 19 )
{
adjust = 16;
}
else if ( volume < 24 )
{
adjust = 21;
}
else if ( volume < 29 )
{
adjust = 26;
}
else
{
adjust = 31;
}
OS_TPrintf("Current volume: %d.\n", volume);
if ( volume != adjust )
{
OS_TPrintf("Volume adjusts to %d.\n", adjust);
MCU_SetVolume(adjust);
}
}
/*---------------------------------------------------------------------------* /*---------------------------------------------------------------------------*
Name: VBlankIntr Name: VBlankIntr