mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
DSダウンロードアプリ署名検証時に、FSのキャッシュ関係不具合で失敗するのをバッファのアライメント調整で回避。
HWInfoの強制ロゴデモスキップ起動フラグを見て強制ロゴデモスキップ発動するよう変更。 これにともない、強制ロゴデモスキップフラグフラグをSDKの branch-5_0rcplus_UIG_plus rev.10247 に追加。これ以降のものでないとビルド通りません。 また、強制ロゴデモスキップ起動フラグの設定をnandinitializer.iniで指定できるように変更。 これにともない、関連する関数を使っているツール類のソース変更。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2769 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
6fc7987341
commit
42eee63f27
@ -438,7 +438,8 @@ static TitleProperty *SYSMi_CheckShortcutBoot1( void )
|
|||||||
// 量産工程用ショートカットキー or
|
// 量産工程用ショートカットキー or
|
||||||
// 検査カード起動
|
// 検査カード起動
|
||||||
//-----------------------------------------------------
|
//-----------------------------------------------------
|
||||||
if( SYSM_IsInspectCard() ||
|
if( LCFG_THW_IsForceLogoDemoSkip() ||
|
||||||
|
SYSM_IsInspectCard() ||
|
||||||
( ( PAD_Read() == SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT ) &&
|
( ( PAD_Read() == SYSM_PAD_PRODUCTION_SHORTCUT_CARD_BOOT ) &&
|
||||||
( !LCFG_TSD_IsFinishedBrokenTWLSettings() || !LCFG_TSD_IsFinishedInitialSetting() || !LCFG_TSD_IsFinishedInitialSetting_Launcher() ) )
|
( !LCFG_TSD_IsFinishedBrokenTWLSettings() || !LCFG_TSD_IsFinishedInitialSetting() || !LCFG_TSD_IsFinishedInitialSetting_Launcher() ) )
|
||||||
){
|
){
|
||||||
|
|||||||
@ -105,7 +105,9 @@ static OSThread s_thread;
|
|||||||
static OSThread s_auth_thread;
|
static OSThread s_auth_thread;
|
||||||
static TWLBannerFile s_card_bannerBuf;
|
static TWLBannerFile s_card_bannerBuf;
|
||||||
|
|
||||||
static MbAuthCode s_authcode;
|
static u8 s_authcode[MATH_ROUNDUP32(sizeof(MbAuthCode))] ATTRIBUTE_ALIGN(32);
|
||||||
|
static MbAuthCode *sp_authcode = (MbAuthCode *)s_authcode;
|
||||||
|
static MbAuthCode bup_num;
|
||||||
|
|
||||||
static BOOL s_loadstart = FALSE;
|
static BOOL s_loadstart = FALSE;
|
||||||
|
|
||||||
@ -820,10 +822,10 @@ OS_TPrintf("RebootSystem failed: cant seek file(0)\n");
|
|||||||
UTL_SetFatalError(FATAL_ERROR_LOAD_SEEKFILE_FAILED);
|
UTL_SetFatalError(FATAL_ERROR_LOAD_SEEKFILE_FAILED);
|
||||||
goto ERROR;
|
goto ERROR;
|
||||||
}
|
}
|
||||||
readLen = FS_ReadFile(file, &s_authcode, (s32)sizeof(s_authcode));
|
readLen = FS_ReadFile(file, sp_authcode, (s32)sizeof(MbAuthCode));
|
||||||
if( readLen != (s32)sizeof(s_authcode) )
|
if( readLen != (s32)sizeof(MbAuthCode) )
|
||||||
{
|
{
|
||||||
OS_TPrintf("RebootSystem failed: cant read file(%p, %d, %d, %d)\n", &s_authcode, 0, sizeof(s_authcode), readLen);
|
OS_TPrintf("RebootSystem failed: cant read file(%p, %d, %d, %d)\n", sp_authcode, 0, sizeof(MbAuthCode), readLen);
|
||||||
UTL_SetFatalError(FATAL_ERROR_LOAD_READDLSIGN_FAILED);
|
UTL_SetFatalError(FATAL_ERROR_LOAD_READDLSIGN_FAILED);
|
||||||
goto ERROR;
|
goto ERROR;
|
||||||
}
|
}
|
||||||
@ -1457,7 +1459,7 @@ static BOOL SYSMi_AuthenticateNTRDownloadTitle( TitleProperty *pBootTitle)
|
|||||||
u8 final_hash[SVC_SHA1_DIGEST_SIZE];
|
u8 final_hash[SVC_SHA1_DIGEST_SIZE];
|
||||||
|
|
||||||
// NTRダウンロードアプリ署名のマジックコードチェック
|
// NTRダウンロードアプリ署名のマジックコードチェック
|
||||||
if( s_authcode.magic_code[0] != 'a' || s_authcode.magic_code[1] != 'c' ) {
|
if( sp_authcode->magic_code[0] != 'a' || sp_authcode->magic_code[1] != 'c' ) {
|
||||||
OS_TPrintf("Authenticate failed: Invalid AuthCode.\n");
|
OS_TPrintf("Authenticate failed: Invalid AuthCode.\n");
|
||||||
UTL_SetFatalError(FATAL_ERROR_DL_MAGICCODE_CHECK_FAILED);
|
UTL_SetFatalError(FATAL_ERROR_DL_MAGICCODE_CHECK_FAILED);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -1466,18 +1468,18 @@ static BOOL SYSMi_AuthenticateNTRDownloadTitle( TitleProperty *pBootTitle)
|
|||||||
// NTRダウンロードアプリ署名(DERフォーマット)の計算、ハッシュの取得。
|
// NTRダウンロードアプリ署名(DERフォーマット)の計算、ハッシュの取得。
|
||||||
MI_CpuClear8( buf, 0x80 );
|
MI_CpuClear8( buf, 0x80 );
|
||||||
SVC_InitSignHeap( &con, (void *)SIGN_HEAP_ADDR, SIGN_HEAP_SIZE );// ヒープの初期化
|
SVC_InitSignHeap( &con, (void *)SIGN_HEAP_ADDR, SIGN_HEAP_SIZE );// ヒープの初期化
|
||||||
if( !SVC_DecryptSignDER( &con, buf, s_authcode.sign, nitro_dl_sign_key ))
|
if( !SVC_DecryptSignDER( &con, buf, sp_authcode->sign, nitro_dl_sign_key ))
|
||||||
{
|
{
|
||||||
OS_TPrintf("Authenticate failed: Sign decryption failed.\n");
|
OS_TPrintf("Authenticate failed: Sign decryption failed.\n");
|
||||||
UTL_SetFatalError(FATAL_ERROR_DL_SIGN_DECRYPTION_FAILED);
|
UTL_SetFatalError(FATAL_ERROR_DL_SIGN_DECRYPTION_FAILED);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// それぞれheader,ARM9FLX,ARM7FLXについてハッシュを計算して、それら3つを並べたものに対してまたハッシュをとる
|
// それぞれheader,ARM9FLX,ARM7FLXについてハッシュを計算して、それら3つを並べたものに対してまたハッシュをとる
|
||||||
if(s_calc_hash)
|
if(s_calc_hash)
|
||||||
{
|
{
|
||||||
// シリアルナンバー付加
|
// シリアルナンバー付加
|
||||||
*(u32 *)(&(s_calc_hash[SVC_SHA1_DIGEST_SIZE * 3])) = s_authcode.serial_number;
|
*(u32 *)(&(s_calc_hash[SVC_SHA1_DIGEST_SIZE * 3])) = sp_authcode->serial_number;
|
||||||
// 最終ハッシュ計算
|
// 最終ハッシュ計算
|
||||||
SVC_CalcSHA1( final_hash, s_calc_hash, SVC_SHA1_DIGEST_SIZE * 3 + sizeof(u32));
|
SVC_CalcSHA1( final_hash, s_calc_hash, SVC_SHA1_DIGEST_SIZE * 3 + sizeof(u32));
|
||||||
}else
|
}else
|
||||||
@ -1486,7 +1488,7 @@ static BOOL SYSMi_AuthenticateNTRDownloadTitle( TitleProperty *pBootTitle)
|
|||||||
UTL_SetFatalError(FATAL_ERROR_DL_HASH_CALC_FAILED);
|
UTL_SetFatalError(FATAL_ERROR_DL_HASH_CALC_FAILED);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 計算した最終ハッシュと、署名から得たハッシュとを比較
|
// 計算した最終ハッシュと、署名から得たハッシュとを比較
|
||||||
if(!SVC_CompareSHA1((const void *)buf, (const void *)final_hash))
|
if(!SVC_CompareSHA1((const void *)buf, (const void *)final_hash))
|
||||||
{
|
{
|
||||||
@ -1499,7 +1501,7 @@ static BOOL SYSMi_AuthenticateNTRDownloadTitle( TitleProperty *pBootTitle)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
OS_TPrintf("Authenticate : total %d ms.\n", OS_TicksToMilliSeconds(OS_GetTick() - start) );
|
OS_TPrintf("Authenticate : total %d ms.\n", OS_TicksToMilliSeconds(OS_GetTick() - start) );
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -204,7 +204,7 @@ static void WriteHWInfoFile( u8 region, BOOL isDisableWireless )
|
|||||||
// -------------------------------------
|
// -------------------------------------
|
||||||
(void)PutStringUTF16( MSG_X * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_BLACK, pMsgSecureWriting );
|
(void)PutStringUTF16( MSG_X * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_BLACK, pMsgSecureWriting );
|
||||||
|
|
||||||
if( HWI_WriteHWSecureInfoFile( region, NULL, isDisableWireless ) ) {
|
if( HWI_WriteHWSecureInfoFile( region, NULL, isDisableWireless, FALSE ) ) {
|
||||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_BLUE, pMsgSucceeded );
|
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_BLUE, pMsgSucceeded );
|
||||||
}else {
|
}else {
|
||||||
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_RED, pMsgFailed );
|
(void)PutStringUTF16( ( MSG_X + 20 ) * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_RED, pMsgFailed );
|
||||||
|
|||||||
@ -417,7 +417,7 @@ BOOL HWI_WriteHWNormalInfoFile( void )
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
BOOL HWI_WriteHWSecureInfoFile( u8 region, const u8 *pSerialNo, BOOL isDisableWireless )
|
BOOL HWI_WriteHWSecureInfoFile( u8 region, const u8 *pSerialNo, BOOL isDisableWireless, BOOL logoDemoSkipForce )
|
||||||
{
|
{
|
||||||
BOOL isWrite = TRUE;
|
BOOL isWrite = TRUE;
|
||||||
LCFGReadResult result;
|
LCFGReadResult result;
|
||||||
@ -435,6 +435,7 @@ BOOL HWI_WriteHWSecureInfoFile( u8 region, const u8 *pSerialNo, BOOL isDisableWi
|
|||||||
}
|
}
|
||||||
|
|
||||||
LCFG_THW_SetFlagForceDisableWireless( isDisableWireless );
|
LCFG_THW_SetFlagForceDisableWireless( isDisableWireless );
|
||||||
|
LCFG_THW_SetFlagForceLogoDemoSkip( logoDemoSkipForce );
|
||||||
|
|
||||||
// 旧リージョンを保存
|
// 旧リージョンを保存
|
||||||
old_region = OS_GetRegion();
|
old_region = OS_GetRegion();
|
||||||
|
|||||||
@ -39,7 +39,7 @@ HwiInitResult;
|
|||||||
HwiInitResult HWI_Init( void *(*pAlloc)( u32 ), void (*pFree)( void * ) );
|
HwiInitResult HWI_Init( void *(*pAlloc)( u32 ), void (*pFree)( void * ) );
|
||||||
BOOL HWI_ModifyLanguage( u8 region );
|
BOOL HWI_ModifyLanguage( u8 region );
|
||||||
BOOL HWI_WriteHWNormalInfoFile( void );
|
BOOL HWI_WriteHWNormalInfoFile( void );
|
||||||
BOOL HWI_WriteHWSecureInfoFile( u8 region, const u8 *pSerialNo, BOOL isDisableWireless );
|
BOOL HWI_WriteHWSecureInfoFile( u8 region, const u8 *pSerialNo, BOOL isDisableWireless, BOOL logoDemoSkipForce );
|
||||||
BOOL HWI_WriteHWIDSignFile( void );
|
BOOL HWI_WriteHWIDSignFile( void );
|
||||||
BOOL HWI_DeleteHWNormalInfoFile( void );
|
BOOL HWI_DeleteHWNormalInfoFile( void );
|
||||||
BOOL HWI_DeleteHWSecureInfoFile( void );
|
BOOL HWI_DeleteHWSecureInfoFile( void );
|
||||||
|
|||||||
@ -52,7 +52,7 @@ void* HWInfoProcess4(void);
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff );
|
BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff, BOOL logoDemoSkipForce );
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
|||||||
@ -71,6 +71,7 @@ enum {
|
|||||||
|
|
||||||
static s8 sMenuSelectNo;
|
static s8 sMenuSelectNo;
|
||||||
static BOOL sWirelessForceOff;
|
static BOOL sWirelessForceOff;
|
||||||
|
static BOOL sLogoDemoSkipForce;
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
内部関数宣言
|
内部関数宣言
|
||||||
@ -79,7 +80,7 @@ static BOOL sWirelessForceOff;
|
|||||||
static BOOL WriteHWNormalInfoFile( void );
|
static BOOL WriteHWNormalInfoFile( void );
|
||||||
static BOOL WriteHWSecureInfoFile( u8 region );
|
static BOOL WriteHWSecureInfoFile( u8 region );
|
||||||
//static BOOL DeleteHWInfoFile( void );
|
//static BOOL DeleteHWInfoFile( void );
|
||||||
static BOOL GetNandInitializerSetting(u8* region, u8* wireless);
|
static BOOL GetNandInitializerSetting(u8* region, u8* wireless, u8* logodemoskip);
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
プロセス関数定義
|
プロセス関数定義
|
||||||
@ -210,11 +211,12 @@ void* HWInfoProcess2(void)
|
|||||||
if (gAutoFlag)
|
if (gAutoFlag)
|
||||||
{
|
{
|
||||||
// SDカードのnandinitializer.iniより設定を取得
|
// SDカードのnandinitializer.iniより設定を取得
|
||||||
if (!GetNandInitializerSetting((u8 *)&sMenuSelectNo, (u8 *)&sWirelessForceOff))
|
if (!GetNandInitializerSetting((u8 *)&sMenuSelectNo, (u8 *)&sWirelessForceOff, (u8 *)&sLogoDemoSkipForce))
|
||||||
{
|
{
|
||||||
// 設定の取得に失敗した場合はデフォルト設定(REGION_JAPAN/WIRELESS_ENABLE)
|
// 設定の取得に失敗した場合はデフォルト設定(REGION_JAPAN/WIRELESS_ENABLE)
|
||||||
sMenuSelectNo = 0;
|
sMenuSelectNo = 0;
|
||||||
sWirelessForceOff = FALSE;
|
sWirelessForceOff = FALSE;
|
||||||
|
sLogoDemoSkipForce = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -232,7 +234,7 @@ void* HWInfoProcess2(void)
|
|||||||
case MENU_REGION_CHINA:
|
case MENU_REGION_CHINA:
|
||||||
case MENU_REGION_KOREA:
|
case MENU_REGION_KOREA:
|
||||||
|
|
||||||
result = WriteHWInfoFile( (u8)sMenuSelectNo, sWirelessForceOff );
|
result = WriteHWInfoFile( (u8)sMenuSelectNo, sWirelessForceOff, sLogoDemoSkipForce );
|
||||||
|
|
||||||
// 全リージョンの結果をクリア
|
// 全リージョンの結果をクリア
|
||||||
for (i=0;i<NUM_OF_MENU_SELECT;i++)
|
for (i=0;i<NUM_OF_MENU_SELECT;i++)
|
||||||
@ -290,7 +292,7 @@ void* HWInfoProcess2(void)
|
|||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff )
|
BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff, BOOL logoDemoSkipForce )
|
||||||
{
|
{
|
||||||
static const char *pMsgSecureWriting = "Writing Secure File...";
|
static const char *pMsgSecureWriting = "Writing Secure File...";
|
||||||
static const char *pMsgNormalWriting = "Writing Normal File...";
|
static const char *pMsgNormalWriting = "Writing Normal File...";
|
||||||
@ -313,7 +315,7 @@ BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff )
|
|||||||
// セキュアファイルのライト
|
// セキュアファイルのライト
|
||||||
kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSecureWriting );
|
kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSecureWriting );
|
||||||
|
|
||||||
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff ) ) {
|
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff, logoDemoSkipForce ) ) {
|
||||||
kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
||||||
}else {
|
}else {
|
||||||
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
||||||
@ -392,7 +394,7 @@ static BOOL DeleteHWInfoFile( void )
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static BOOL GetNandInitializerSetting(u8* region, u8* wireless)
|
static BOOL GetNandInitializerSetting(u8* region, u8* wireless, u8* logodemoskip)
|
||||||
{
|
{
|
||||||
FSFile file;
|
FSFile file;
|
||||||
BOOL open_is_ok;
|
BOOL open_is_ok;
|
||||||
@ -401,6 +403,7 @@ static BOOL GetNandInitializerSetting(u8* region, u8* wireless)
|
|||||||
char* pStr;
|
char* pStr;
|
||||||
u8 temp_region;
|
u8 temp_region;
|
||||||
u8 temp_wireless;
|
u8 temp_wireless;
|
||||||
|
u8 temp_logodemoskip;
|
||||||
u32 file_size;
|
u32 file_size;
|
||||||
u32 alloc_size;
|
u32 alloc_size;
|
||||||
|
|
||||||
@ -430,6 +433,24 @@ static BOOL GetNandInitializerSetting(u8* region, u8* wireless)
|
|||||||
|
|
||||||
// ROMファイルクローズ
|
// ROMファイルクローズ
|
||||||
FS_CloseFile(&file);
|
FS_CloseFile(&file);
|
||||||
|
|
||||||
|
// 強制ロゴデモスキップ設定を読み取る
|
||||||
|
pStr = STD_SearchString( pTempBuf, "LOGO_DEMO_SKIP_FORCE:");
|
||||||
|
if (pStr != NULL)
|
||||||
|
{
|
||||||
|
|
||||||
|
pStr += STD_GetStringLength("LOGO_DEMO_SKIP_FORCE:");
|
||||||
|
temp_logodemoskip = (u8)(*pStr - '0');
|
||||||
|
|
||||||
|
if ( temp_logodemoskip == 1 )
|
||||||
|
{
|
||||||
|
*logodemoskip = temp_logodemoskip;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*logodemoskip = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// REGION: を読み取る
|
// REGION: を読み取る
|
||||||
pStr = STD_SearchString( pTempBuf, "REGION:");
|
pStr = STD_SearchString( pTempBuf, "REGION:");
|
||||||
|
|||||||
@ -175,7 +175,7 @@ void* WirelessSettingProcess2(void)
|
|||||||
switch( sMenuSelectNo )
|
switch( sMenuSelectNo )
|
||||||
{
|
{
|
||||||
case MENU_WIRELESS_ENABLE:
|
case MENU_WIRELESS_ENABLE:
|
||||||
result = WriteHWInfoFile( OS_GetRegion(), FALSE );
|
result = WriteHWInfoFile( OS_GetRegion(), FALSE, FALSE );
|
||||||
if ( result == TRUE )
|
if ( result == TRUE )
|
||||||
{
|
{
|
||||||
kamiFontPrintf(26, (s16)(MENU_TOP_LINE+MENU_WIRELESS_ENABLE*CHAR_OF_MENU_SPACE), FONT_COLOR_GREEN, "OK ");
|
kamiFontPrintf(26, (s16)(MENU_TOP_LINE+MENU_WIRELESS_ENABLE*CHAR_OF_MENU_SPACE), FONT_COLOR_GREEN, "OK ");
|
||||||
@ -189,7 +189,7 @@ void* WirelessSettingProcess2(void)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case MENU_WIRELESS_FORCE_OFF:
|
case MENU_WIRELESS_FORCE_OFF:
|
||||||
result = WriteHWInfoFile( OS_GetRegion(), TRUE );
|
result = WriteHWInfoFile( OS_GetRegion(), TRUE, FALSE );
|
||||||
if ( result == TRUE )
|
if ( result == TRUE )
|
||||||
{
|
{
|
||||||
kamiFontPrintf(26, (s16)(MENU_TOP_LINE+MENU_WIRELESS_ENABLE*CHAR_OF_MENU_SPACE), FONT_COLOR_GREEN, " ");
|
kamiFontPrintf(26, (s16)(MENU_TOP_LINE+MENU_WIRELESS_ENABLE*CHAR_OF_MENU_SPACE), FONT_COLOR_GREEN, " ");
|
||||||
|
|||||||
@ -70,7 +70,7 @@ BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff )
|
|||||||
BOOL result = TRUE;
|
BOOL result = TRUE;
|
||||||
|
|
||||||
// セキュアファイルのライト
|
// セキュアファイルのライト
|
||||||
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff ) ) { // とりあえず無線は有効で。
|
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff, FALSE ) ) { // とりあえず無線は有効で。
|
||||||
// kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
// kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
||||||
}else {
|
}else {
|
||||||
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
||||||
|
|||||||
@ -70,7 +70,7 @@ BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff )
|
|||||||
BOOL result = TRUE;
|
BOOL result = TRUE;
|
||||||
|
|
||||||
// セキュアファイルのライト
|
// セキュアファイルのライト
|
||||||
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff ) ) { // とりあえず無線は有効で。
|
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff, FALSE ) ) { // とりあえず無線は有効で。
|
||||||
// kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
// kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
||||||
}else {
|
}else {
|
||||||
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user