mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
ハードウェア情報を書き込めていなかったのを修正。(追加コミットし忘れ)
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1243 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
aab4e17a5a
commit
9d4ac30b6a
@ -0,0 +1,83 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: TwlSDK - NandInitializer
|
||||||
|
File: process_hw_info.h
|
||||||
|
|
||||||
|
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$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef HW_INFO_H_
|
||||||
|
#define HW_INFO_H_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#include <nitro.h>
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
型定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
関数定義
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: HW情報全体のライト
|
||||||
|
|
||||||
|
Description:
|
||||||
|
|
||||||
|
Arguments: region :
|
||||||
|
wirelessForceOff : 無線強制OFFならTRUEを指定
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
BOOL WriteHWInfoFile( u8 region, BOOL wirelessForceOff );
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: HWInfoファイルの削除
|
||||||
|
|
||||||
|
Description:
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
BOOL DeleteHWInfoFile( void );
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: UpdateNandBoxCount
|
||||||
|
|
||||||
|
Description: InstalledSoftBoxCount, FreeSoftBoxCount の値を
|
||||||
|
現在のNANDの状態に合わせて更新します。
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
void UpdateNandBoxCount( void );
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* HW_INFO_H_ */
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
End of file
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
188
build/systemMenu_RED/SystemUpdater/ARM9.TWL/src/hw_info.c
Normal file
188
build/systemMenu_RED/SystemUpdater/ARM9.TWL/src/hw_info.c
Normal file
@ -0,0 +1,188 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
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 <twl.h>
|
||||||
|
#include <nitro/snd.h>
|
||||||
|
#include <twl/fatfs.h>
|
||||||
|
#include <twl/lcfg.h>
|
||||||
|
#include <nitro/card.h>
|
||||||
|
#include <sysmenu/namut.h>
|
||||||
|
#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 *pMsgNormalWriting = "Writing Normal File...";
|
||||||
|
static const char *pMsgSecureWriting = "Writing Secure File...";
|
||||||
|
static const char *pMsgSignWriting = "Writing Sign File...";
|
||||||
|
static const char *pMsgSucceeded = "Success!\n";
|
||||||
|
static const char *pMsgFailed = "Failed!\n";
|
||||||
|
u32 installedSoftBoxCount = 0;
|
||||||
|
BOOL result = TRUE;
|
||||||
|
|
||||||
|
// ノーマルファイルのライト
|
||||||
|
if( HWI_WriteHWNormalInfoFile() ) {
|
||||||
|
// kamiFontPrintfConsoleEx(CONSOLE_ORANGE, pMsgSucceeded );
|
||||||
|
}else {
|
||||||
|
kamiFontPrintfConsoleEx(CONSOLE_RED, pMsgFailed );
|
||||||
|
result = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// セキュアファイルのライト
|
||||||
|
if( HWI_WriteHWSecureInfoFile( region, NULL, wirelessForceOff ) ) { // とりあえず無線は有効で。
|
||||||
|
// 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// InstalledSoftBoxCount, FreeSoftBoxCount の値を現在のNANDの状態に合わせて更新します。
|
||||||
|
UpdateNandBoxCount();
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: HWInfoファイルの削除
|
||||||
|
|
||||||
|
Description:
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
BOOL DeleteHWInfoFile( void )
|
||||||
|
{
|
||||||
|
static const char *pMsgNormalDeleting = "Deleting Normal File...";
|
||||||
|
static const char *pMsgSecureDeleting = "Deteting Secure File...";
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Name: UpdateNandBoxCount
|
||||||
|
|
||||||
|
Description: InstalledSoftBoxCount, FreeSoftBoxCount の値を
|
||||||
|
現在のNANDの状態に合わせて更新します。
|
||||||
|
|
||||||
|
Arguments: None.
|
||||||
|
|
||||||
|
Returns: None.
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
void UpdateNandBoxCount( void )
|
||||||
|
{
|
||||||
|
u32 installedSoftBoxCount;
|
||||||
|
u32 freeSoftBoxCount;
|
||||||
|
|
||||||
|
// InstalledSoftBoxCount, FreeSoftBoxCount を数えなおす
|
||||||
|
installedSoftBoxCount = NAMUT_SearchInstalledSoftBoxCount();
|
||||||
|
freeSoftBoxCount = LCFG_TWL_FREE_SOFT_BOX_COUNT_MAX - installedSoftBoxCount;
|
||||||
|
|
||||||
|
// OS_Printf("installedSoftBoxCount = %d\n", installedSoftBoxCount);
|
||||||
|
// OS_Printf("freeSoftBoxCount = %d\n", freeSoftBoxCount);
|
||||||
|
|
||||||
|
// LCFGライブラリの静的変数に対する更新
|
||||||
|
LCFG_TSD_SetInstalledSoftBoxCount( (u8)installedSoftBoxCount );
|
||||||
|
LCFG_TSD_SetFreeSoftBoxCount( (u8)freeSoftBoxCount );
|
||||||
|
|
||||||
|
// LCFGライブラリの静的変数の値をNANDに反映
|
||||||
|
{
|
||||||
|
u8 *pBuffer = OS_Alloc( LCFG_WRITE_TEMP );
|
||||||
|
if( pBuffer ) {
|
||||||
|
(void)LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ] )pBuffer );
|
||||||
|
OS_Free( pBuffer );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user