TwlToolsRED/build/tools/sctools/common/src/hwi.h

136 lines
5.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*---------------------------------------------------------------------------*
Project: TwlIPL
File: DS_Chat.h
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:: 2008-03-31#$
$Rev: 1019 $
$Author: kamikawa $
*---------------------------------------------------------------------------*/
#ifndef __HWI_LIB__
#define __HWI_LIB__
#ifdef __cplusplus
extern "C" {
#endif
#include <twl.h>
#include <twl/lcfg/common/api.h>
#include <twl/lcfg/common/TWLSettings.h>
#include "TWLHWInfo_api.h"
#include "TWLSettings_api.h"
// define data----------------------------------------------------------
BOOL MiyaBackupHWNormalInfo(const char *path);
BOOL MiyaRestoreHWNormalInfo(const char *path);
BOOL MiyaBackupTWLSettings(const char *path);
BOOL MiyaRestoreTWLSettings(const char *path);
BOOL MiyaReadHWNormalInfo( LCFGTWLHWNormalInfo *Info );
BOOL MiyaReadHWSecureInfo( LCFGTWLHWSecureInfo *Info );
BOOL MiyaReadHWNormalInfo_From_SD(const char *path, LCFGTWLHWNormalInfo *info);
void WLAN_FORCE_ON(void);
void MiyaReadTpCalData(void);
BOOL IsThisDevelopmentConsole(void);
#if 0
typedef struct LCFGTWLHWNormalInfo
{
u8 rtcAdjust; // RTC調整値
u8 rsv[ 3 ];
u8 movableUniqueID[ LCFG_TWL_HWINFO_MOVABLE_UNIQUE_ID_LEN ]; // 移行可能なユニークID
} LCFGTWLHWNormalInfo; // 20byte
typedef struct LCFGTWLHWSecureInfo
{
u32 validLanguageBitmap; // 本体で有効な言語コードをビット列で表現
struct {
u8 forceDisableWireless :1;
u8 :7;
}flags;
u8 pad[ 3 ];
u8 region; // リージョン
u8 serialNo[ LCFG_TWL_HWINFO_SERIALNO_LEN_MAX ]; // シリアルNo.終端付きASCII文字列
//-------------------------------------------------------------
// [TODO:]ランチャーでここまでの24bytesをSystemSharedにコピー。
//-------------------------------------------------------------
u8 launcherTitleID_Lo[ 4 ]; // NANDファームがリージョンによって異なる可能性のあるランチャーのTitleIDを識別するために使用
} LCFGTWLHWSecureInfo; // 28bytes
static inline void LCFG_TSD_GetTPCalibration( LCFGTWLTPCalibData *pDst )
{
MI_CpuCopy8( &LCFGi_GetTSD()->tp, pDst, sizeof(LCFGTWLTPCalibData) );
}
// タッチパネルキャリブレーションデータのセット。
static inline void LCFG_TSD_SetTPCalibration( const LCFGTWLTPCalibData *pTPCalib )
{
MI_CpuCopy16( pTPCalib, &LCFGi_GetTSD()->tp, sizeof(LCFGTWLTPCalibData) );
// MI_CpuCopy16( pTPCalib, &LCFGi_GetTSD_OS()->tp, sizeof(LCFGTWLTPCalibData) );
}
typedef struct LCFGTWLSettingsData
{
union {
struct {
u32 isFinishedInitialSetting : 1; // 初回設定終了?
u32 isFinishedInitialSetting_Launcher : 1; // ランチャーの初回設定終了?
u32 isSetLanguage : 1; // 言語コード設定済み?
u32 isAvailableWireless : 1; // 無線モジュールのRFユニットの有効化無効化
u32 isBrokenTWLSettings : 1; // フラッシュ壊れシーケンス中?
u32 rsv : 19; // 予約
u32 isAgreeEULAFlagList : 8; // EULA同意フラグリスト(最下位ビットしか使用していない)
// WiFi設定は別データなので、ここに設定済みフラグは用意しない。
};
u32 raw;
} flags;
u8 rsv[ 1 ]; // 予約
u8 country; // 国コード
u8 language; // 言語(NTRとの違いは、データサイズ8bit)
u8 rtcLastSetYear; // RTCの前回設定年
s64 rtcOffset; // RTC設定時のオフセット値ユーザーがRTC設定を変更する度にその値に応じて増減します。
// 16bytes ここまでのパラメータサイズ
u8 agreeEulaVersion[ EULA_VERSION_LIST_NUM ]; // 8bytes 同意したEULAのバージョン
u8 pad[2];
LCFGTWLAlarm alarm; // 6bytes アラーム
LCFGTWLLauncherStatus launcherStatus; // 16bytes ランチャーステータス情報
LCFGTWLTPCalibData tp; // 20bytes タッチパネルキャリブレーションデータ
LCFGTWLOwnerInfo owner; // 80bytes オーナー情報
LCFGTWLParentalControl parental; // 148bytes ペアレンタルコントロール情報
} LCFGTWLSettingsData; // 296bytes
#define LCFG_TWL_FLAG_SET_LANGUAGE ( 1 << LCFG_TWL_FLAG_SET_LANGUAGE_SHIFT )
#define LCFG_TWL_FLAG_SET_DATE_TIME ( 1 << LCFG_TWL_FLAG_SET_DATE_TIME_SHIFT )
#define LCFG_TWL_FLAG_SET_COUNTRY ( 1 << LCFG_TWL_FLAG_SET_COUNTRY_SHIFT )
#define LCFG_TWL_FLAG_SET_FACE_PHOTO ( 1 << LCFG_TWL_FLAG_SET_FACE_PHOTO_SHIFT )
#define LCFG_TWL_FLAG_SET_NICKNAME ( 1 << LCFG_TWL_FLAG_SET_NICKNAME_SHIFT )
#define LCFG_TWL_FLAG_SET_COMMENT ( 1 << LCFG_TWL_FLAG_SET_COMMENT_SHIFT )
#define LCFG_TWL_FLAG_SET_BIRTHDAY ( 1 << LCFG_TWL_FLAG_SET_BIRTHDAY_SHIFT )
#define LCFG_TWL_FLAG_SET_USER_COLOR ( 1 << LCFG_TWL_FLAG_SET_USER_COLOR_SHIFT )
#define LCFG_TWL_FLAG_SET_TP
#endif
#ifdef __cplusplus
}
#endif
#endif // __HWI_LIB__