diff --git a/build/libraries_sysmenu/sysmenu/ARM9/Makefile b/build/libraries_sysmenu/sysmenu/ARM9/Makefile index 87a5490d..8738dbb6 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/Makefile +++ b/build/libraries_sysmenu/sysmenu/ARM9/Makefile @@ -37,7 +37,6 @@ SRCS = sysmenu_lib.c \ ../common/src/pxi.c \ ../common/src/mountInfo.c \ ../common/src/decryptAES.c \ - ../common/src/masterkey.c \ $(REVISION_SRC) diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/device.c b/build/libraries_sysmenu/sysmenu/ARM9/src/device.c index c278273c..a773d445 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/device.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/device.c @@ -24,16 +24,8 @@ // define data----------------------------------------------------------------- // extern data----------------------------------------------------------------- // function's prototype------------------------------------------------------- -#ifdef SDK_FINALROM -u32 PM_SendUtilityCommandAsync(u32 number, u16 parameter, u16* retValue, PMCallback callback, void *arg); -u32 PM_SendUtilityCommand(u32 number, u16 parameter, u16* retValue); -u32 PMi_WriteRegister(u16 registerAddr, u16 data); -u32 PMi_WriteRegisterAsync(u16 registerAddr, u16 data, PMCallback callback, void *arg); -#endif // SDK_FINALROM - // global variable------------------------------------------------------------- // static variable------------------------------------------------------------- -static u8 s_brightness; // const data------------------------------------------------------------------ // ============================================================================ @@ -42,102 +34,6 @@ static u8 s_brightness; // // ============================================================================ -// 輝度取得で呼ぶSYSM_ReadMcuRegisterAsyncのコールバック -static OSThreadQueue s_callback_queue; -static SYSMMcuResult s_callback_result; -static void MCUCallBack( SYSMMcuResult result, void *arg ) -{ -#pragma unused(arg) - s_callback_result = result; - OS_WakeupThread( &s_callback_queue ); -} - -// バックライト輝度取得 -u8 SYSM_GetBackLightBlightness( void ) -{ - u8 brightness; -#ifdef SDK_SUPPORT_PMIC_2 - if ( SYSMi_GetMcuVersion() <= 1 ) - { - // X2以前 - brightness = s_brightness; - } - else -#endif // SDK_SUPPORT_PMIC_2 - { - // X3以降 - while( 1 ) - { - // BUSYだと失敗するので成功するまでトライ - if ( MCU_RESULT_SUCCESS == SYSM_ReadMcuRegisterAsync( MCU_REG_BL_ADDR, &brightness, MCUCallBack, NULL ) ) - { - OS_SleepThread( &s_callback_queue ); // 値が返ってくるまでスリープ - break; - } - } - } - - return brightness; -} - -// バックライト輝度調整 -void SYSM_SetBackLightBrightness( u8 brightness ) -{ - if( brightness > BACKLIGHT_BRIGHTNESS_MAX ) { - OS_TPrintf( "Backlight brightness over! Change brightenss forcibly : %d -> %d\n", brightness, BACKLIGHT_BRIGHTNESS_MAX ); - brightness = BACKLIGHT_BRIGHTNESS_MAX; - } -#ifdef SDK_SUPPORT_PMIC_2 - if ( SYSMi_GetMcuVersion() <= 1 ) - { - s_brightness = brightness; - ( void )PMi_WriteRegister( REG_PMIC_BL_BRT_B_ADDR, (u8)(s_brightness * 2) ); - } - else -#endif // SDK_SUPPORT_PMIC_2 - { - // X3以降はマイコンに保存するだけ - while( 1 ) - { - // BUSYだと失敗するので成功するまでトライ - if ( MCU_RESULT_SUCCESS == SYSM_WriteMcuRegisterAsync( MCU_REG_BL_ADDR, brightness, NULL, NULL ) ) - { - break; - } - } - } - -} - - -// ワイヤレスLEDの制御 -void SYSMi_SetWirelessLED( BOOL enable ) -{ - u8 value; - // X3以降 - while( 1 ) - { - // BUSYだと失敗するので成功するまでトライ - if ( MCU_RESULT_SUCCESS == SYSM_ReadMcuRegisterAsync( MCU_REG_WIFI_ADDR, &value, MCUCallBack, NULL ) ) - { - OS_SleepThread( &s_callback_queue ); // 値が返ってくるまでスリープ - break; - } - } - - value = (u8)( ( value & ~MCU_REG_WIFI_LED_MASK ) | ( enable ? MCU_REG_WIFI_LED_MASK : 0 ) ); - - while( 1 ) - { - // BUSYだと失敗するので成功するまでトライ - if ( MCU_RESULT_SUCCESS == SYSM_WriteMcuRegisterAsync( MCU_REG_WIFI_ADDR, value, NULL, NULL ) ) - { - break; - } - } -} - - // RTCクロック補正値をセット void SYSMi_WriteAdjustRTC( void ) { @@ -175,61 +71,3 @@ void SYSMi_CheckRTC( void ) } } - -// スリープモードへの遷移 -void SYSM_GoSleepMode( void ) -{ - // 蓋閉じ判定 - if ( ! PAD_DetectFold() ) - { - return; - } - - // デバッガ起動時にはスリープに入らない - if ( ! SYSM_IsRunOnDebugger() || (OSi_DetectDebugger() & OS_CONSOLE_TWLDEBUGGER) ) - { - // カード抜け無検出設定 - // TWLではゲームカードの再ロードが可能なため - // スリープ時のカード抜け検出を無効化 - // (DS-IPLではゲームカードが起動できなくなるので - // レジューム時のROM-IDチェックでエラーになると - // シャットダウンしていた) - OSIntrMode enable = OS_DisableInterrupts(); - reg_MI_MCCNT0 &= ~REG_MI_MCCNT0_I_MASK; - OS_ResetRequestIrqMask( OS_IE_CARD_IREQ ); - OS_RestoreInterrupts( enable ); - - // スリープ遷移 - PM_GoSleepMode( PM_TRIGGER_COVER_OPEN | - PM_TRIGGER_RTC_ALARM, - 0, - 0 ); - } -} - - -#ifdef SDK_FINALROM -/*---------------------------------------------------------------------------* - Name: PMi_WriteRegisterAsync - - Description: send write register command to ARM7 - - Arguments: registerAddr : PMIC register number (0-3) - data : data written to PMIC register - callback : callback function - arg : callback argument - - Returns: result of issueing command - PM_RESULT_BUSY : busy - PM_RESULT_SUCCESS : success - *---------------------------------------------------------------------------*/ -u32 PMi_WriteRegisterAsync(u16 registerAddr, u16 data, PMCallback callback, void *arg) -{ - return PM_SendUtilityCommandAsync(PMi_UTIL_WRITEREG, (u16)((registerAddr<<16) | (data&0xff)), NULL, callback, arg); -} - -u32 PMi_WriteRegister(u16 registerAddr, u16 data) -{ - return PM_SendUtilityCommand(PMi_UTIL_WRITEREG, (u16)((registerAddr<<16) | (data&0xff)), NULL); -} -#endif // SDK_FINALROM diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c index 813c65bd..26640e4a 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c @@ -194,13 +194,13 @@ TitleProperty *SYSM_ReadParameters( void ) // 無線ON/OFFフラグをもとに、LEDを設定する。 //----------------------------------------------------- { - BOOL enable; + PMWirelessLEDStatus enable; if( LCFG_THW_IsForceDisableWireless() ) { - enable = FALSE; + enable = PM_WIRELESS_LED_OFF; }else { - enable = LCFG_TSD_IsAvailableWireless(); + enable = LCFG_TSD_IsAvailableWireless() ? PM_WIRELESS_LED_ON : PM_WIRELESS_LED_OFF; } - SYSMi_SetWirelessLED( enable ); + PMi_SetWirelessLED( enable ); } //----------------------------------------------------- diff --git a/build/libraries_sysmenu/sysmenu/common/include/internal_api.h b/build/libraries_sysmenu/sysmenu/common/include/internal_api.h index 834b6c10..801dd4f1 100644 --- a/build/libraries_sysmenu/sysmenu/common/include/internal_api.h +++ b/build/libraries_sysmenu/sysmenu/common/include/internal_api.h @@ -58,9 +58,6 @@ void SYSMi_SetBootAppMountInfo( TitleProperty *pBootTitle ); // デバイス //------------------------------------------------------- -// ワイヤレスLED制御 -void SYSMi_SetWirelessLED( BOOL enable ); - // RTC補正 void SYSMi_WriteAdjustRTC( void ); diff --git a/build/libraries_sysmenu/sysmenu/common/src/pxi.c b/build/libraries_sysmenu/sysmenu/common/src/pxi.c index cfba8520..3a9b61b0 100644 --- a/build/libraries_sysmenu/sysmenu/common/src/pxi.c +++ b/build/libraries_sysmenu/sysmenu/common/src/pxi.c @@ -234,18 +234,6 @@ void SYSMi_PXIFifoRecvCallback( PXIFifoTag tag, u32 data, BOOL err ) switch( cmd ) { - case SYSM_PXI_COMM_BL_BRIGHT: -#ifdef SDK_SUPPORT_PMIC_2 - if ( SYSMi_GetMcuVersion() <= 1 ) - { - PMi_SetRegister( REG_PMIC_BL_BRT_B_ADDR, (u8)packet.data ); - } - else -#endif // SDK_SUPPORT_PMIC_2 - { - MCU_WriteRegister( MCU_REG_BL_ADDR, (u8)packet.data ); - } - break; #ifdef DHT_TEST case SYSM_PXI_COMM_DS_HASH_TABLE: dht = (void*)(0x2000000 + (packet.data << 8)); diff --git a/build/libraries_sysmenu/util/ARM9/Makefile b/build/libraries_sysmenu/util/ARM9/Makefile index 0a51e72b..3c9fc21f 100644 --- a/build/libraries_sysmenu/util/ARM9/Makefile +++ b/build/libraries_sysmenu/util/ARM9/Makefile @@ -26,6 +26,7 @@ TWL_PROC = ARM9 SRCDIR = src SRCS = util.c \ + masterkey.c TARGET_LIB = libsysmutil$(TWL_LIBSUFFIX).a diff --git a/build/libraries_sysmenu/util/ARM9/src/device.c b/build/libraries_sysmenu/util/ARM9/src/device.c deleted file mode 100644 index 5e123c6d..00000000 --- a/build/libraries_sysmenu/util/ARM9/src/device.c +++ /dev/null @@ -1,255 +0,0 @@ -/*---------------------------------------------------------------------------* - Project: TwlIPL - File: SYSM_lib.c - - Copyright 2007 Nintendo. All rights reserved. - - These coded instructions, statements, and computer programs contain - proprietary information of Nintendo of America Inc. and/or Nintendo - Company Ltd., and are protected by Federal copyright law. They may - not be disclosed to third parties or copied or duplicated in any form, - in whole or in part, without the prior written consent of Nintendo. - - $Date:: $ - $Rev$ - $Author$ - *---------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include "internal_api.h" - -// define data----------------------------------------------------------------- -// extern data----------------------------------------------------------------- -// function's prototype------------------------------------------------------- -#ifdef SDK_FINALROM -u32 PM_SendUtilityCommandAsync(u32 number, u16 parameter, u16* retValue, PMCallback callback, void *arg); -u32 PM_SendUtilityCommand(u32 number, u16 parameter, u16* retValue); -u32 PMi_WriteRegister(u16 registerAddr, u16 data); -u32 PMi_WriteRegisterAsync(u16 registerAddr, u16 data, PMCallback callback, void *arg); -#endif // SDK_FINALROM - -// global variable------------------------------------------------------------- -// static variable------------------------------------------------------------- -static u8 s_brightness; -// const data------------------------------------------------------------------ - -// ============================================================================ -// -// デバイス制御 -// -// ============================================================================ - -// 輝度取得で呼ぶSYSM_ReadMcuRegisterAsyncのコールバック -static OSThreadQueue s_callback_queue; -static SYSMMcuResult s_callback_result; -static void MCUCallBack( SYSMMcuResult result, void *arg ) -{ -#pragma unused(arg) - s_callback_result = result; - OS_WakeupThread( &s_callback_queue ); -} - -// バックライト輝度取得 -u8 SYSM_GetBackLightBlightness( void ) -{ - u8 brightness; -#ifdef SDK_SUPPORT_PMIC_2 - if ( SYSMi_GetMcuVersion() <= 1 ) - { - // X2以前 - brightness = s_brightness; - } - else -#endif // SDK_SUPPORT_PMIC_2 - { - // X3以降 - while( 1 ) - { - // BUSYだと失敗するので成功するまでトライ - if ( MCU_RESULT_SUCCESS == SYSM_ReadMcuRegisterAsync( MCU_REG_BL_ADDR, &brightness, MCUCallBack, NULL ) ) - { - OS_SleepThread( &s_callback_queue ); // 値が返ってくるまでスリープ - break; - } - } - } - - return brightness; -} - -// バックライト輝度調整 -void SYSM_SetBackLightBrightness( u8 brightness ) -{ - if( brightness > BACKLIGHT_BRIGHTNESS_MAX ) { - OS_TPrintf( "Backlight brightness over! Change brightenss forcibly : %d -> %d\n", brightness, BACKLIGHT_BRIGHTNESS_MAX ); - brightness = BACKLIGHT_BRIGHTNESS_MAX; - } -#ifdef SDK_SUPPORT_PMIC_2 - if ( SYSMi_GetMcuVersion() <= 1 ) - { - s_brightness = brightness; - ( void )PMi_WriteRegister( REG_PMIC_BL_BRT_B_ADDR, (u8)(s_brightness * 2) ); - } - else -#endif // SDK_SUPPORT_PMIC_2 - { - // X3以降はマイコンに保存するだけ - while( 1 ) - { - // BUSYだと失敗するので成功するまでトライ - if ( MCU_RESULT_SUCCESS == SYSM_WriteMcuRegisterAsync( MCU_REG_BL_ADDR, brightness, NULL, NULL ) ) - { - break; - } - } - } - -} - - -// ワイヤレスLEDの制御 -void SYSMi_SetWirelessLED( BOOL enable ) -{ - u8 value; - // X3以降 - while( 1 ) - { - // BUSYだと失敗するので成功するまでトライ - if ( MCU_RESULT_SUCCESS == SYSM_ReadMcuRegisterAsync( MCU_REG_WIFI_ADDR, &value, MCUCallBack, NULL ) ) - { - OS_SleepThread( &s_callback_queue ); // 値が返ってくるまでスリープ - break; - } - } - - value = (u8)( ( value & ~MCU_REG_WIFI_LED_MASK ) | ( enable ? MCU_REG_WIFI_LED_MASK : 0 ) ); - - while( 1 ) - { - // BUSYだと失敗するので成功するまでトライ - if ( MCU_RESULT_SUCCESS == SYSM_WriteMcuRegisterAsync( MCU_REG_WIFI_ADDR, value, NULL, NULL ) ) - { - break; - } - } -} - - -// タッチパネルキャリブレーション -void SYSM_CaribrateTP( void ) -{ - LCFGTWLTPCalibData store; - TPCalibrateParam calibParam; - - // 本体設定データからキャリブレーション情報を取得 - LCFG_TSD_GetTPCalibration( &store ); - - // TPキャリブレーション - ( void )TP_CalcCalibrateParam( &calibParam, // タッチパネル初期化 - store.data.raw_x1, store.data.raw_y1, (u16)store.data.dx1, (u16)store.data.dy1, - store.data.raw_x2, store.data.raw_y2, (u16)store.data.dx2, (u16)store.data.dy2 ); - TP_SetCalibrateParam( &calibParam ); - OS_TPrintf("TP_calib: %4d %4d %4d %4d %4d %4d\n", - store.data.raw_x1, store.data.raw_y1, (u16)store.data.dx1, (u16)store.data.dy1, - store.data.raw_x2, store.data.raw_y2, (u16)store.data.dx2, (u16)store.data.dy2 ); -} - - -// RTCクロック補正値をセット -void SYSMi_WriteAdjustRTC( void ) -{ - RTCRawAdjust raw; - raw.adjust = LCFG_THW_GetRTCAdjust(); - ( void )RTCi_SetRegAdjust( &raw ); -} - - -// 起動時のRTCチェック -void SYSMi_CheckRTC( void ) -{ - RTCDate date; - RTCTime time; - - // RTCのリセット or おかしい値を検出した場合は初回起動シーケンスへ。 - ( void )RTC_GetDateTime( &date, &time ); - if( !UTL_CheckRTCDate( &date ) || - !UTL_CheckRTCTime( &time ) -#ifndef __IS_DEBUGGER_BUILD // 青デバッガではRTCの電池がないので、毎回ここにひっかかって設定データが片方クリアされてしまう。これを防ぐスイッチ。 - || - SYSMi_GetWork()->flags.common.isResetRTC -#endif - ) { // RTCの異常を検出したら、rtc入力フラグ&rtcOffsetを0にしてNVRAMに書き込み。 - OS_TPrintf("\"RTC reset\" or \"Illegal RTC data\" detect!\n"); - LCFG_TSD_SetRTCOffset( 0 ); - LCFG_TSD_SetRTCLastSetYear( 0 ); - { - u8 *pBuffer = SYSM_Alloc( LCFG_WRITE_TEMP ); - if( pBuffer != NULL ) { - LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer ); - SYSM_Free( pBuffer ); - } - } - } -} - - -// スリープモードへの遷移 -void SYSM_GoSleepMode( void ) -{ - // 蓋閉じ判定 - if ( ! PAD_DetectFold() ) - { - return; - } - - // デバッガ起動時にはスリープに入らない - if ( ! SYSM_IsRunOnDebugger() || (OSi_DetectDebugger() & OS_CONSOLE_TWLDEBUGGER) ) - { - // カード抜け無検出設定 - // TWLではゲームカードの再ロードが可能なため - // スリープ時のカード抜け検出を無効化 - // (DS-IPLではゲームカードが起動できなくなるので - // レジューム時のROM-IDチェックでエラーになると - // シャットダウンしていた) - OSIntrMode enable = OS_DisableInterrupts(); - reg_MI_MCCNT0 &= ~REG_MI_MCCNT0_I_MASK; - OS_ResetRequestIrqMask( OS_IE_CARD_IREQ ); - OS_RestoreInterrupts( enable ); - - // スリープ遷移 - PM_GoSleepMode( PM_TRIGGER_COVER_OPEN | - PM_TRIGGER_RTC_ALARM, - 0, - 0 ); - } -} - - -#ifdef SDK_FINALROM -/*---------------------------------------------------------------------------* - Name: PMi_WriteRegisterAsync - - Description: send write register command to ARM7 - - Arguments: registerAddr : PMIC register number (0-3) - data : data written to PMIC register - callback : callback function - arg : callback argument - - Returns: result of issueing command - PM_RESULT_BUSY : busy - PM_RESULT_SUCCESS : success - *---------------------------------------------------------------------------*/ -u32 PMi_WriteRegisterAsync(u16 registerAddr, u16 data, PMCallback callback, void *arg) -{ - return PM_SendUtilityCommandAsync(PMi_UTIL_WRITEREG, (u16)((registerAddr<<16) | (data&0xff)), NULL, callback, arg); -} - -u32 PMi_WriteRegister(u16 registerAddr, u16 data) -{ - return PM_SendUtilityCommand(PMi_UTIL_WRITEREG, (u16)((registerAddr<<16) | (data&0xff)), NULL); -} -#endif // SDK_FINALROM diff --git a/build/libraries_sysmenu/sysmenu/common/src/masterkey.c b/build/libraries_sysmenu/util/ARM9/src/masterkey.c similarity index 91% rename from build/libraries_sysmenu/sysmenu/common/src/masterkey.c rename to build/libraries_sysmenu/util/ARM9/src/masterkey.c index c30fb93b..050251d1 100644 --- a/build/libraries_sysmenu/sysmenu/common/src/masterkey.c +++ b/build/libraries_sysmenu/util/ARM9/src/masterkey.c @@ -72,10 +72,10 @@ u32 CalcMasterkey(const u8 *src) // マスターキー算出 // //====================================================================== -u32 SYSM_CalcPCTLMasterKey( void ) +u32 UTL_CalcPCTLMasterKey( void ) { u32 masterKey; - u32 inquiryCode = SYSM_CalcPCTLInquiryCode(); + u32 inquiryCode = UTL_CalcPCTLInquiryCode(); u8 arg[ 9 ]; RTCDate date; RTC_Init(); @@ -92,7 +92,7 @@ u32 SYSM_CalcPCTLMasterKey( void ) // ペアレンタルコントロール問い合わせ番号算出 // //====================================================================== -u32 SYSM_CalcPCTLInquiryCode( void ) +u32 UTL_CalcPCTLInquiryCode( void ) { int i; u64 num = 0; diff --git a/build/libraries_sysmenu/util/ARM9/src/util.c b/build/libraries_sysmenu/util/ARM9/src/util.c index e3f6ccdc..7cd5b69d 100644 --- a/build/libraries_sysmenu/util/ARM9/src/util.c +++ b/build/libraries_sysmenu/util/ARM9/src/util.c @@ -78,6 +78,42 @@ void UTL_CaribrateTP( const LCFGTWLTPCalibData *pCalib ) } +//====================================================================== +// スリープ +//====================================================================== + +// スリープモードへの遷移 +void UTL_GoSleepMode( void ) +{ + // 蓋閉じ判定 + if ( ! PAD_DetectFold() ) + { + return; + } + + // デバッガ起動時にはスリープに入らない + if ( OSi_DetectDebugger() & OS_CONSOLE_TWLDEBUGGER ) + { + // カード抜け無検出設定 + // TWLではゲームカードの再ロードが可能なため + // スリープ時のカード抜け検出を無効化 + // (DS-IPLではゲームカードが起動できなくなるので + // レジューム時のROM-IDチェックでエラーになると + // シャットダウンしていた) + OSIntrMode enable = OS_DisableInterrupts(); + reg_MI_MCCNT0 &= ~REG_MI_MCCNT0_I_MASK; + OS_ResetRequestIrqMask( OS_IE_CARD_IREQ ); + OS_RestoreInterrupts( enable ); + + // スリープ遷移 + PM_GoSleepMode( PM_TRIGGER_COVER_OPEN | + PM_TRIGGER_RTC_ALARM, + 0, + 0 ); + } +} + + //====================================================================== // RTCオフセット制御 //====================================================================== diff --git a/build/systemMenu_RED/Launcher/ARM9/src/launcher.c b/build/systemMenu_RED/Launcher/ARM9/src/launcher.c index 6269f238..f8213b0e 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/launcher.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/launcher.c @@ -780,7 +780,7 @@ static void DrawBackLightSwitch(void) static int old_brightness = -1; u8 brightness; - brightness = SYSM_GetBackLightBlightness(); + (void)UTL_GetBacklightBrightness( &brightness ); // 1フレーム前の古い値と輝度値が違っていたら描画しなおし if( old_brightness != brightness ) diff --git a/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c b/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c index b0d0c134..5ecc43cd 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c @@ -54,11 +54,6 @@ #define FWHEADER_SIZE 0x100 -/* - external functions - */ -extern void SYSMi_SetWirelessLED( BOOL enable ); - /* internal variables */ @@ -511,7 +506,7 @@ instfirm_error: // インストール開始すらできなかった時は、FATALエラー #ifdef SDK_RELEASE - SYSMi_SetWirelessLED( FALSE ); + PMi_SetWirelessLED( PM_WIRELESS_LED_OFF ); #endif s_isFinished = TRUE; SYSM_SetFatalError( TRUE ); @@ -556,7 +551,7 @@ BOOL PollingInstallWlanFirmware( BOOL isStartScanWDS ) // ColdStartの無線ファームロードなら、FATALエラー SYSM_SetFatalError( TRUE ); #ifdef SDK_RELEASE - SYSMi_SetWirelessLED( FALSE ); + PMi_SetWirelessLED( PM_WIRELESS_LED_OFF ); #endif s_isFinished = TRUE; }else { diff --git a/build/systemMenu_RED/Launcher/ARM9/src/main.c b/build/systemMenu_RED/Launcher/ARM9/src/main.c index 7a5bad9b..5886001f 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/main.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/main.c @@ -326,8 +326,11 @@ void TwlMain( void ) (void)SND_FlushCommand(SND_COMMAND_NOBLOCK); #ifndef DISABLE_SLEEP - // スリープモードへの遷移(蓋閉じ判定はデフォルトで行う) - SYSM_GoSleepMode(); + // デバッガ動作時はスリープしない + if( !SYSM_IsRunOnDebugger() ) { + // スリープモードへの遷移(蓋閉じ判定はデフォルトで行う) + UTL_GoSleepMode(); + } #endif // DISABLE_SLEEP } } diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c b/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c index 8e89e84c..a7a014be 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c @@ -316,6 +316,23 @@ int MachineSettingMain( void ) } } + // とりあえずバックライト輝度変更をここで確認。 + if( pad.trg & PAD_BUTTON_R) { + u8 brightness; + (void)UTL_GetBacklightBrightness( &brightness ); + if( ++brightness > BACKLIGHT_BRIGHTNESS_MAX ) { + brightness = BACKLIGHT_BRIGHTNESS_MAX; + } + (void)UTL_SetBacklightBrightness( brightness ); + } + if( pad.trg & PAD_BUTTON_L ) { + u8 brightness; + (void)UTL_GetBacklightBrightness( &brightness ); + if( --brightness < 0 ) { + brightness = 0; + } + (void)UTL_SetBacklightBrightness( brightness ); + } return 0; } diff --git a/include/sysmenu/sysmenu_lib/common/pxi.h b/include/sysmenu/sysmenu_lib/common/pxi.h index 960edb95..0268674c 100644 --- a/include/sysmenu/sysmenu_lib/common/pxi.h +++ b/include/sysmenu/sysmenu_lib/common/pxi.h @@ -34,9 +34,9 @@ extern "C" { #define SYSMENU_PXI_FIFO_TAG (PXI_MAX_FIFO_TAG - 5) typedef enum SYSMPXICommand { - SYSM_PXI_COMM_BL_BRIGHT = 0, + SYSM_PXI_COMM_DUMMY = 0, #ifdef DHT_TEST - SYSM_PXI_COMM_DS_HASH_TABLE = 1, + SYSM_PXI_COMM_DS_HASH_TABLE, #endif SYSM_PXI_COMM_NUM diff --git a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h index 0cdb6196..90a42708 100644 --- a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h +++ b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h @@ -109,31 +109,11 @@ extern void SYSM_StartDecryptAESRegion( ROM_Header_Short *hs ); // extern BOOL SYSM_InitDecryptAESRegion_W( ROM_Header_Short *hs ); // WRAM経由ファイル読み込みのコールバックで使うAESデクリプト処理の初期化 extern void SYSM_StartDecryptAESRegion_W( const void *wram_addr, const void *orig_addr, u32 size ); // WRAM経由ファイル読み込みのコールバックで使うAESデクリプト処理関数 - -// デバイス制御 -extern void SYSM_CaribrateTP( void ); // タッチパネルキャリブレーション -extern void SYSM_SetBackLightBrightness( u8 brightness ); // バックライトを制御(本体設定データへの値セーブも行う) -extern u8 SYSM_GetBackLightBlightness( void ); // バックライト輝度を取得(X2以前とX3以降で挙動に違い) - // Nintendoロゴ制御 extern BOOL SYSM_CheckNintendoLogo( u16 *pLogoData ); // Nintendoロゴデータのチェック extern void SYSM_LoadNintendoLogo2D( u16 *pLogoData, u16 *pDst, int paletteColorIndex ); // NintendoロゴデータをOBJ_2D形式でロード(pTempBufferには0x700bytes必要) extern void SYSM_LoadNintendoLogo1D( u16 *pLogoData, u16 *pDst, int paletteColorIndex ); // NintendoロゴデータをOBJ_1D形式でロード(同上) -// RTC制御 -extern BOOL SYSM_CheckRTCDate( RTCDate *pDate ); // 日付が正常かチェック -extern BOOL SYSM_CheckRTCTime( RTCTime *pTime ); // 時刻が正常かチェック -extern s64 SYSM_CalcRTCOffset( RTCDate *pNewDate, RTCTime *pNewTime ); // RTCオフセット計算とRTCへの日付時刻チェックを行う -extern u32 SYSM_GetDayNum( u32 year, u32 month ); // 指定された年・月の日数を取得する -extern BOOL SYSM_IsLeapYear100( u32 year ); // 指定された年がうるう年か調べる - -// スリープモード -extern void SYSM_GoSleepMode( void ); // スリープモードへの遷移 - -// ペアレンタルコントロール問い合わせ -u32 SYSM_CalcPCTLInquiryCode( void ); // 問い合わせコード(10進8桁)算出 -u32 SYSM_CalcPCTLMasterKey( void ); // マスターキー  (10進5桁)算出(※内部でRTC_GetDateを使用します。) - #endif // 状態チェック diff --git a/include/sysmenu/util.h b/include/sysmenu/util.h index ca59767e..94de957a 100644 --- a/include/sysmenu/util.h +++ b/include/sysmenu/util.h @@ -39,6 +39,9 @@ extern u32 UTL_GetBacklightBrightness( u8 *pBrightness ); // // タッチパネル extern void UTL_CaribrateTP( const LCFGTWLTPCalibData *pCalib ); +// スリープ +extern void UTL_GoSleepMode( void ); + // RTC関係 extern BOOL UTL_CheckRTCDate( RTCDate *pDate ); // 日付が正常かチェック extern BOOL UTL_CheckRTCTime( RTCTime *pTime ); // 時刻が正常かチェック