/*---------------------------------------------------------------------------* Project: TwlSDK - SystemUpdater File: hw_info.c Copyright 2008 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 #include #include "kami_font.h" #include "kami_pxi.h" #include "hwi.h" #include "hw_info.h" // #include "TWLHWInfo_api.h" #include "TWLSettings_api.h" // /*---------------------------------------------------------------------------* 型定義 *---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------* 定数定義 *---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------* 内部変数定義 *---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------* 内部関数宣言 *---------------------------------------------------------------------------*/ BOOL WriteHWNormalInfoFile( void ); BOOL WriteHWSecureInfoFile( u8 region ); BOOL DeleteHWInfoFile( void ); /*---------------------------------------------------------------------------* Name: HW情報全体のライト Description: Arguments: region : Returns: None. *---------------------------------------------------------------------------*/ BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff ) { static const char *pMsgSecureWriting = "Writing Secure File...\n"; static const char *pMsgNormalWriting = "Writing Normal File...\n"; static const char *pMsgSignWriting = "Writing Sign File...\n"; static const char *pMsgSucceeded = "Success!\n"; static const char *pMsgFailed = "Failed!\n"; u32 installedSoftBoxCount = 0; BOOL result = TRUE; // セキュアファイルのライト if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff, FALSE ) ) { // とりあえず無線は有効で。 // kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded ); }else { kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed ); result = FALSE; } // ノーマルファイルのライト(移行可能なユニークIDのためにセキュアファイルの後で書き込む) if( HWI_WriteHWNormalInfoFile() ) { // kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded ); }else { kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed ); result = FALSE; } // HWID署名ファイルのライト if( HWI_WriteHWIDSignFile() ) { // kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded ); }else { kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed ); result = FALSE; } // CFGデータの修正 if (!HWI_ModifyLanguage( region )) { kamiFontPrintfConsoleEx(CONSOLE_RED, "Fail! Write TWLSettings\n" ); result = FALSE; } return result; } /*---------------------------------------------------------------------------* Name: HWInfoファイルの削除 Description: Arguments: None. Returns: None. *---------------------------------------------------------------------------*/ BOOL DeleteHWInfoFile( void ) { static const char *pMsgNormalDeleting = "Deleting Normal File...\n"; static const char *pMsgSecureDeleting = "Deteting Secure File...\n"; static const char *pMsgSucceeded = "Success!\n"; static const char *pMsgFailed = "Failed!\n"; BOOL result = TRUE; // ノーマルファイル kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgNormalDeleting ); if( HWI_DeleteHWNormalInfoFile() ) { OS_TPrintf( "%s delete succeeded.\n", (char *)LCFG_TWL_HWINFO_NORMAL_PATH ); kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded ); }else { OS_TPrintf( "%s delete failed.\n", (char *)LCFG_TWL_HWINFO_NORMAL_PATH ); kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed ); result = FALSE; } // セキュアファイル kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSecureDeleting ); if( HWI_DeleteHWSecureInfoFile() ) { OS_TPrintf( "%s delete succeeded.\n", (char *)LCFG_TWL_HWINFO_SECURE_PATH ); kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded ); }else { OS_TPrintf( "%s delete failed.\n", (char *)LCFG_TWL_HWINFO_SECURE_PATH ); kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed ); result = FALSE; } return result; }