WLfirmの値が取得できなくなっていたのを修正。

OtherInfoにRTCOffset情報、タッチパネルキャリブレーション情報を追加。(RSVのみ未実装)
RTCのリセット機能を追加。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2452 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
aoki_ryoma 2008-09-09 06:22:57 +00:00
parent 190b0efe57
commit cd690ffbaf
28 changed files with 210 additions and 70 deletions

View File

@ -26,7 +26,7 @@ SUBMAKES = Makefile.0 Makefile.1 Makefile.2 Makefile.3\
include $(TWL_IPL_RED_ROOT)/build/tests/RelocateChecker/buildtools/commondefs include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------
@ -37,7 +37,7 @@ do-build :
$(TARGETS) $(TARGETS)
include $(TWL_IPL_RED_ROOT)/build/tests/RelocateChecker/buildtools/modulerules include $(TWL_IPL_RED_ROOT)/build/buildtools/modulerules
#---------------------------------------------------------------------------- #----------------------------------------------------------------------------

View File

@ -1,8 +1,8 @@
#! ruby -Ks #! ruby -Ks
startDir = "/cygdrive/c/home/TWL_IPL/build/tests/DisplaySystemInformation/ARM9/bin/ARM9-TS.LTD.thumb/Rom" startDir = "$TWL_IPL_RED_ROOT/build/tests/DisplaySystemInformation/ARM9/bin/ARM9-TS.LTD.thumb/Rom"
dstDir = "/cygdrive/c/home/TWL_IPL/build/tests/DisplaySystemInformation/ARM9/bin/ARM9-TS.LTD.thumb/roms" dstDir = "/build/tests/DisplaySystemInformation/ARM9/bin/ARM9-TS.LTD.thumb/roms"
Dir::chdir startDir Dir::chdir "./bin/ARM9-TS.LTD.thumb/Rom"
dirList = Dir::entries "." dirList = Dir::entries "."
`mkdir #{dstDir}` `mkdir #{dstDir}`

View File

@ -97,7 +97,7 @@ Property
# #
#BannerFile ./etc/myGameBanner.bnr #BannerFile ./etc/myGameBanner.bnr
#BannerFile $(TWLSDK_ROOT)/include/twl/specfiles/default.bnr #BannerFile $(TWLSDK_ROOT)/include/twl/specfiles/default.bnr
BannerFile $(DISPINFO_BANNERPATH) BannerFile ../banner/$(DISPINFO_GAMECODE).bnr
# #
# Permit LandingNormalJump: for TWL "ApplicationJump" function [TRUE/FALSE] # Permit LandingNormalJump: for TWL "ApplicationJump" function [TRUE/FALSE]

View File

@ -96,7 +96,7 @@ Property
# BANNER FILE: generated from Banner Spec File # BANNER FILE: generated from Banner Spec File
# #
#BannerFile ./etc/myGameBanner.bnr #BannerFile ./etc/myGameBanner.bnr
BannerFile $(DISPINFO_BANNERPATH) BannerFile ../banner/$(DISPINFO_GAMECODE).bnr
# #
# Permit LandingNormalJump: for TWL "ApplicationJump" function [TRUE/FALSE] # Permit LandingNormalJump: for TWL "ApplicationJump" function [TRUE/FALSE]

View File

@ -76,11 +76,9 @@ endif
ifeq ($(IS_NAND_APP),TRUE) ifeq ($(IS_NAND_APP),TRUE)
MEDIA = NAND MEDIA = NAND
FILE_SUFFIX = tad FILE_SUFFIX = tad
BANNARPATH = ../banner/$(GAMECODE).bnr
else else
MEDIA = GAMECARD MEDIA = GAMECARD
FILE_SUFFIX = srl FILE_SUFFIX = srl
BANNARPATH = $(TWLSDK_ROOT)/include/twl/specfiles/default.bnr
endif endif
ifeq ($(INVISIBLE_SCFG),TRUE) ifeq ($(INVISIBLE_SCFG),TRUE)
@ -101,7 +99,6 @@ MAKEROM_FLAGS += -DDISPINFO_WRAM_MAP=$(WRAM_MAP) \
-DDISPINFO_LOCKSCFG=$(INVISIBLE_SCFG) \ -DDISPINFO_LOCKSCFG=$(INVISIBLE_SCFG) \
-DDISPINFO_AES=$(AES_SLOT) \ -DDISPINFO_AES=$(AES_SLOT) \
-DDISPINFO_GAMECODE=$(GAMECODE) \ -DDISPINFO_GAMECODE=$(GAMECODE) \
-DDISPINFO_BANNERPATH=$(BANNARPATH) \
-DROM_HEADER_TEMPLATE='$(call empath,$(ROM_HEADER_TEMPLATE))' -DROM_HEADER_TEMPLATE='$(call empath,$(ROM_HEADER_TEMPLATE))'

View File

@ -48,6 +48,7 @@ static const char *s_TSDPath[] = {
static int selectLine[ROOTMENU_SIZE+1]; static int selectLine[ROOTMENU_SIZE+1];
BOOL resetUserData( void ); BOOL resetUserData( void );
BOOL breakUserData( u8 idx ); BOOL breakUserData( u8 idx );
BOOL resetRTC( void );
static void TSDi_ClearSettingsDirect( LCFGTWLSettingsData *pTSD ); static void TSDi_ClearSettingsDirect( LCFGTWLSettingsData *pTSD );
static BOOL LCFGi_TSD_WriteSettingsDirectForRecovery( const LCFGTWLSettingsData *pSrcInfo, int index ); static BOOL LCFGi_TSD_WriteSettingsDirectForRecovery( const LCFGTWLSettingsData *pSrcInfo, int index );
static BOOL LCFGi_TSF_WriteFile( char *pPath, TSFHeader *pHeader, const void *pSrcBody, u8 *pSaveCount ); static BOOL LCFGi_TSF_WriteFile( char *pPath, TSFHeader *pHeader, const void *pSrcBody, u8 *pSaveCount );
@ -82,6 +83,10 @@ BOOL executeControl( int *line, int *changeLine, u8 *mode )
result &= breakUserData(0); result &= breakUserData(0);
result &= breakUserData(1); result &= breakUserData(1);
break; break;
case MENU_RTC_RESET:
result = resetRTC();
break;
} }
*mode = (u8) ((*mode & ~MODE_RESULT_MASK ) | ( result << MODE_RESULT_SHIFT) ); *mode = (u8) ((*mode & ~MODE_RESULT_MASK ) | ( result << MODE_RESULT_SHIFT) );
@ -278,6 +283,7 @@ BOOL control( int *menu, int *line, int *changeLine, u8 *mode )
case MENU_RESET_INFO: case MENU_RESET_INFO:
case MENU_BREAK_DATA: case MENU_BREAK_DATA:
case MENU_RTC_RESET:
*mode |= MODE_EXECUTE_MASK; *mode |= MODE_EXECUTE_MASK;
*changeLine = 0; // デフォルト位置をcancelにしておく *changeLine = 0; // デフォルト位置をcancelにしておく
break; break;
@ -383,3 +389,37 @@ BOOL breakUserData( u8 idx )
OS_TPrintf("Breaking UserData Succeeded. path: %s\n", s_TSDPath[idx]); OS_TPrintf("Breaking UserData Succeeded. path: %s\n", s_TSDPath[idx]);
return TRUE; return TRUE;
} }
BOOL resetRTC( void )
{
RTCResult result;
RTCDate date;
RTCTime time;
date.year = 0;
date.month = 1;
date.day = 1;
date.week = RTC_WEEK_SUNDAY;
time.hour = 0;
time.minute = 0;
time.second = 0;
// resultは成功したらゼロが返る
result = RTC_SetDate( &date );
if( result != RTC_RESULT_SUCCESS )
{
OS_TPrintf("RTC Date Reset Failed. err: %d", result );
return FALSE;
}
result |= RTC_SetTime( &time );
if( result != RTC_RESULT_SUCCESS )
{
OS_TPrintf("RTC Time Reset Failed. err: %d", result );
return FALSE;
}
return TRUE;
}

View File

@ -252,7 +252,9 @@ void printValue( int menu,int entryLine, int drawOffset, DispInfoEntry *entry )
return; return;
} }
if( menu == MENU_SECURE_HW && entryLine == SECURE_HW_FUSE ) if( ( menu == MENU_SECURE_HW && entryLine == SECURE_HW_FUSE ) ||
( menu == MENU_OTHER && entryLine == OTHER_RTC_OFFSET ) ||
( menu == MENU_OTHER && entryLine == OTHER_TP_RSV ) )
{ {
// 16文字を8文字の二段組みに変更 // 16文字を8文字の二段組みに変更
char buf[9] = {0}; char buf[9] = {0};

View File

@ -19,6 +19,8 @@ typedef struct FontInfo{
BOOL isHashOK; // ハッシュ値が既知のものと一致するか BOOL isHashOK; // ハッシュ値が既知のものと一致するか
} FontInfo; } FontInfo;
// 初回読み込みか否か
static BOOL firstRead;
// NANDアプリ情報 // NANDアプリ情報
extern s32 gNumContents; extern s32 gNumContents;

View File

@ -19,6 +19,7 @@ FontInfo gFontInfo[ OS_SHARED_FONT_MAX ];
void loadFontName( OSSharedFontIndex idx ); void loadFontName( OSSharedFontIndex idx );
void loadFont( OSSharedFontIndex idx ); void loadFont( OSSharedFontIndex idx );
void releaseFont( OSSharedFontIndex idx );
BOOL checkFontHash( OSSharedFontIndex idx ); BOOL checkFontHash( OSSharedFontIndex idx );
@ -34,6 +35,7 @@ void getFontInfo( void )
// フォントテーブルバッファの確保 // フォントテーブルバッファの確保
tableSize = OS_GetSharedFontTableSize(); tableSize = OS_GetSharedFontTableSize();
tableBuf = (u8*) Alloc ( (u32)tableSize ); tableBuf = (u8*) Alloc ( (u32)tableSize );
SDK_ASSERT( tableBuf );
time = OS_GetSharedFontTimestamp(); time = OS_GetSharedFontTimestamp();
OS_TPrintf("SharedFont Time Stamp %08lx\n", time ); OS_TPrintf("SharedFont Time Stamp %08lx\n", time );
@ -43,6 +45,7 @@ void getFontInfo( void )
if( ! OS_LoadSharedFontTable( (void*)tableBuf ) ) if( ! OS_LoadSharedFontTable( (void*)tableBuf ) )
{ {
OS_TPrintf("Loading shared font table failed.\n"); OS_TPrintf("Loading shared font table failed.\n");
Free(tableBuf);
return; return;
} }
@ -54,8 +57,8 @@ void getFontInfo( void )
gFontInfo[fontIdx].size = (u32) OS_GetSharedFontSize( (OSSharedFontIndex)fontIdx ); gFontInfo[fontIdx].size = (u32) OS_GetSharedFontSize( (OSSharedFontIndex)fontIdx );
loadFont( fontIdx ); loadFont( fontIdx );
gFontInfo[fontIdx].isHashOK = checkFontHash( fontIdx ); gFontInfo[fontIdx].isHashOK = checkFontHash( fontIdx );
releaseFont( fontIdx );
} }
Free(tableBuf); Free(tableBuf);
@ -68,17 +71,9 @@ void loadFontName( OSSharedFontIndex idx )
const u8* fontName = OS_GetSharedFontName( (OSSharedFontIndex)idx ); const u8* fontName = OS_GetSharedFontName( (OSSharedFontIndex)idx );
int fontNameLength = STD_StrLen( (char*)fontName ); int fontNameLength = STD_StrLen( (char*)fontName );
if( gFontInfo[idx].name == NULL || OS_TPrintf("fontname length: %d\n", fontNameLength );
( sizeof( gFontInfo[idx].name ) <= fontNameLength )) if( gFontInfo[idx].name == NULL ){
{ // 名前のところにメモリが割り当てられてなかったりしたら
// 名前のところにメモリが割り当てられてなかったり、
// 小さかったりした場合は割り当てなおす。
// NsysのFreeはNULLを渡すと落ちる仕様・・・
if( gFontInfo[idx].name != NULL )
{
Free( gFontInfo[idx].name );
}
gFontInfo[idx].name = (u8*) Alloc ( sizeof(u8) * (fontNameLength + 1) ); gFontInfo[idx].name = (u8*) Alloc ( sizeof(u8) * (fontNameLength + 1) );
} }
@ -91,18 +86,11 @@ void loadFont( OSSharedFontIndex idx )
{ {
// でも別に普段必要なわけじゃないからメモリ確保のためにも // でも別に普段必要なわけじゃないからメモリ確保のためにも
// ハッシュ値取り終わったら開放するようにするかな? // ハッシュ値取り終わったら開放するようにするかな?
if( gFontInfo[idx].data == NULL || if( gFontInfo[idx].data == NULL )
( sizeof( gFontInfo[idx].data ) <= gFontInfo[idx].size ))
{ {
// データバッファにメモリが割り当てられてなかったり、 // データバッファにメモリが割り当てられてなかったり、
// 小さかったりした場合は割り当てなおす。 // 小さかったりした場合は割り当てなおす。
if( gFontInfo[idx].data != NULL )
{
Free( gFontInfo[idx].data );
}
gFontInfo[idx].data = (u8*) Alloc ( gFontInfo[idx].size ); gFontInfo[idx].data = (u8*) Alloc ( gFontInfo[idx].size );
} }
@ -110,6 +98,14 @@ void loadFont( OSSharedFontIndex idx )
OS_LoadSharedFont( idx, (void*)gFontInfo[idx].data ); OS_LoadSharedFont( idx, (void*)gFontInfo[idx].data );
} }
void releaseFont( OSSharedFontIndex idx )
{
if( gFontInfo[idx].data != NULL )
{
Free( gFontInfo[idx].data );
}
}
BOOL checkFontHash( OSSharedFontIndex idx ) BOOL checkFontHash( OSSharedFontIndex idx )
{ {
u8 digestBuf[MATH_SHA1_DIGEST_SIZE], cmpBuf[MATH_SHA1_DIGEST_SIZE]; u8 digestBuf[MATH_SHA1_DIGEST_SIZE], cmpBuf[MATH_SHA1_DIGEST_SIZE];

View File

@ -23,8 +23,8 @@ void getNormalHWInfo( void )
int value; int value;
value = (int) OS_GetOwnerRtcOffset(); value = (int) OS_GetOwnerRtcOffset();
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_RTC_OFFSET].iValue = (int) value; gAllInfo[MENU_NORMAL_HW][NORMAL_HW_RTC_ADJUST].iValue = (int) value;
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_RTC_OFFSET].isNumData = TRUE; gAllInfo[MENU_NORMAL_HW][NORMAL_HW_RTC_ADJUST].isNumData = TRUE;
{ {
int i; int i;

View File

@ -1,4 +1,5 @@
#include <twl.h> #include <twl.h>
#include <twl/lcfg.h>
#include "viewSystemInfo.h" #include "viewSystemInfo.h"
#include "strResource.h" #include "strResource.h"
@ -7,8 +8,9 @@
void getOtherInfo( void ) void getOtherInfo( void )
{ {
// この辺からマクロで生成した分 // この辺からマクロで生成した分
s64 rtcoffset;
int value; int value;
LCFGTWLTPCalibData tpdata;
value = OS_IsAgreeEULA(); value = OS_IsAgreeEULA();
gAllInfo[MENU_OTHER][OTHER_AGREE_EULA].iValue = value; gAllInfo[MENU_OTHER][OTHER_AGREE_EULA].iValue = value;
@ -21,8 +23,49 @@ void getOtherInfo( void )
gAllInfo[MENU_OTHER][OTHER_WIRELESS].iValue = value; gAllInfo[MENU_OTHER][OTHER_WIRELESS].iValue = value;
gAllInfo[MENU_OTHER][OTHER_WIRELESS].str.sjis = s_strEnable[value]; gAllInfo[MENU_OTHER][OTHER_WIRELESS].str.sjis = s_strEnable[value];
rtcoffset = LCFG_TSD_GetRTCOffset();
snprintf( gAllInfo[MENU_OTHER][OTHER_RTC_OFFSET].str.sjis,
DISPINFO_BUFSIZE-1, "%016llx", rtcoffset );
gAllInfo[MENU_OTHER][OTHER_RTC_OFFSET].numLines = 2;
gAllInfo[MENU_OTHER][OTHER_RTC_OFFSET].fromLCFG = TRUE;
LCFG_TSD_GetTPCalibration( &tpdata );
gAllInfo[MENU_OTHER][OTHER_TP_RAWX1].iValue = tpdata.data.raw_x1;
gAllInfo[MENU_OTHER][OTHER_TP_RAWX1].isNumData = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_RAWX1].fromLCFG = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_RAWX2].iValue = tpdata.data.raw_x2;
gAllInfo[MENU_OTHER][OTHER_TP_RAWX2].isNumData = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_RAWX2].fromLCFG = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_DX1].iValue = tpdata.data.dx1;
gAllInfo[MENU_OTHER][OTHER_TP_DX1].isNumData = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_DX1].fromLCFG = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_DY1].iValue = tpdata.data.dy1;
gAllInfo[MENU_OTHER][OTHER_TP_DY1].isNumData = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_DY1].fromLCFG = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_RAWY1].iValue = tpdata.data.raw_y1;
gAllInfo[MENU_OTHER][OTHER_TP_RAWY1].isNumData = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_RAWY1].fromLCFG = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_RAWY2].iValue = tpdata.data.raw_y2;
gAllInfo[MENU_OTHER][OTHER_TP_RAWY2].isNumData = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_RAWY2].fromLCFG = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_DX2].iValue = tpdata.data.dx2;
gAllInfo[MENU_OTHER][OTHER_TP_DX2].isNumData = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_DX2].fromLCFG = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_DY2].iValue = tpdata.data.dy2;
gAllInfo[MENU_OTHER][OTHER_TP_DY2].isNumData = TRUE;
gAllInfo[MENU_OTHER][OTHER_TP_DY2].fromLCFG = TRUE;
/*
snprintf( gAllInfo[MENU_OTHER][OTHER_TP_RSV].str.sjis,
DISPINFO_BUFSIZE, "%016llx", MI_LoadLE64( tpdata.rsv ) );
gAllInfo[MENU_OTHER][OTHER_TP_RSV].fromLCFG = TRUE;
*/
} }

View File

@ -95,6 +95,7 @@ void getWhitelistHash( void )
gAllInfo[MENU_WHITE][WHITE_HASH].str.sjis = s_strCorrect [ cmpHash( digestBuf, &tmd->contents[0].hash ) ]; gAllInfo[MENU_WHITE][WHITE_HASH].str.sjis = s_strCorrect [ cmpHash( digestBuf, &tmd->contents[0].hash ) ];
FS_CloseFile( &file );
Free( tmd ); Free( tmd );
Free( fileBuf ); Free( fileBuf );
@ -107,6 +108,8 @@ void getNumDHTEntry( void )
char filePath[NAM_PATH_LEN+1]; char filePath[NAM_PATH_LEN+1];
dht = (DHTFile*) Alloc (DS_HASH_TABLE_SIZE); dht = (DHTFile*) Alloc (DS_HASH_TABLE_SIZE);
SDK_ASSERT(dht);
FS_InitFile( &file ); FS_InitFile( &file );
NAM_GetTitleBootContentPathFast( filePath , WHITELIST_TITLEID ); NAM_GetTitleBootContentPathFast( filePath , WHITELIST_TITLEID );
@ -133,6 +136,7 @@ void getNumDHTEntry( void )
DC_FlushRange( dht, DHT_GetDatabaseLength( dht )); DC_FlushRange( dht, DHT_GetDatabaseLength( dht ));
OS_TPrintf(" dht.header.nums : %d\n", dht->header.nums); OS_TPrintf(" dht.header.nums : %d\n", dht->header.nums);
FS_CloseFile( &file );
gAllInfo[MENU_WHITE][WHITE_NUM].iValue = (int)dht->header.nums; gAllInfo[MENU_WHITE][WHITE_NUM].iValue = (int)dht->header.nums;
gAllInfo[MENU_WHITE][WHITE_NUM].isNumData = TRUE; gAllInfo[MENU_WHITE][WHITE_NUM].isNumData = TRUE;

View File

@ -18,6 +18,7 @@
#define WL_FW_TYPE_SIZE 0x4 #define WL_FW_TYPE_SIZE 0x4
void getWLInfo( void ) void getWLInfo( void )
{ {
FSFile file; FSFile file;
@ -80,6 +81,8 @@ void getWLInfo( void )
gAllInfo[MENU_WL][WL_FW_TYPE].iValue = value; gAllInfo[MENU_WL][WL_FW_TYPE].iValue = value;
gAllInfo[MENU_WL][WL_FW_TYPE].str.sjis = s_strWLFWType[ value ]; gAllInfo[MENU_WL][WL_FW_TYPE].str.sjis = s_strWLFWType[ value ];
} }
FS_CloseFile( &file );
} }
else else
{ {

View File

@ -35,6 +35,7 @@ int s_numMenu[] = {
VERSIONMENU_SIZE, VERSIONMENU_SIZE,
0, 0,
0, 0,
0,
ROOTMENU_SIZE ROOTMENU_SIZE
}; };
@ -76,7 +77,8 @@ const char *s_strRootMenu[] = {
"<EFBFBD>ƒWhitelist<EFBFBD>", "<EFBFBD>ƒWhitelist<EFBFBD>",
"<EFBFBD>ƒInstalled Content Version<6F>", "<EFBFBD>ƒInstalled Content Version<6F>",
"Reset HW Setting to Default", "Reset HW Setting to Default",
"break HW Setting" "break HW Setting",
"Reset RTC Data"
}; };
const char *s_strOwnerMenu[] = { const char *s_strOwnerMenu[] = {
@ -117,11 +119,21 @@ const char *s_strSecureUserMenu[] = {
const char *s_strOtherMenu[] = { const char *s_strOtherMenu[] = {
"Agree EULA", "Agree EULA",
"EULA Version", "EULA Version",
"Wireless" "Wireless",
"RTC Offset",
"TP Calib raw x1",
"TP Calib raw y1",
"TP Calib dx1",
"TP Calib dy1",
"TP Calib raw x2",
"TP Calib raw y2",
"TP Calib dx2",
"TP Calib dy2",
"TP Calib RSV"
}; };
const char *s_strNormalHWMenu[] = { const char *s_strNormalHWMenu[] = {
"RTC Offset", "RTC Adjustment",
"Unique ID" "Unique ID"
}; };
@ -276,6 +288,7 @@ const char **s_strMetaMenu[] = {
NULL, NULL,
NULL, NULL,
NULL, NULL,
NULL,
s_strRootMenu s_strRootMenu
}; };

View File

@ -19,7 +19,9 @@
#define __DISPLAY_INFO_RESOURCE__ #define __DISPLAY_INFO_RESOURCE__
// ƒ<>ƒjƒ…<C692>[ID // ƒ<>ƒjƒ…<C692>[ID
#define MENU_ROOT 15 #define ROOTMENU_SIZE 16
#define MENU_ROOT 16
#define MENU_OWNER 0 #define MENU_OWNER 0
#define MENU_PARENTAL 1 #define MENU_PARENTAL 1
#define MENU_SECURE_USER 2 #define MENU_SECURE_USER 2
@ -35,9 +37,10 @@
#define MENU_VERSION 12 #define MENU_VERSION 12
#define MENU_RESET_INFO 13 #define MENU_RESET_INFO 13
#define MENU_BREAK_DATA 14 #define MENU_BREAK_DATA 14
#define MENU_RTC_RESET 15
#define OWNERMENU_SIZE 6
// 行番号
#define OWNER_LANGUAGE 0 #define OWNER_LANGUAGE 0
#define OWNER_COLOR 1 #define OWNER_COLOR 1
#define OWNER_BIRTHDAY 2 #define OWNER_BIRTHDAY 2
@ -45,6 +48,8 @@
#define OWNER_NICKNAME 4 #define OWNER_NICKNAME 4
#define OWNER_COMMENT 5 #define OWNER_COMMENT 5
#define PARENTALMENU_SIZE 12
#define PARENTAL_FLAG 0 #define PARENTAL_FLAG 0
#define PARENTAL_PICTOCHAT 1 #define PARENTAL_PICTOCHAT 1
#define PARENTAL_DOWNLOAD 2 #define PARENTAL_DOWNLOAD 2
@ -58,6 +63,8 @@
#define PARENTAL_QUESTION_ID 10 #define PARENTAL_QUESTION_ID 10
#define PARENTAL_ANSWER 11 #define PARENTAL_ANSWER 11
#define SECURE_USER_MENU_SIZE 8
#define SECURE_USER_INITIAL_SETTINGS 0 #define SECURE_USER_INITIAL_SETTINGS 0
#define SECURE_USER_INITIAL_LAUNCHER 1 #define SECURE_USER_INITIAL_LAUNCHER 1
#define SECURE_USER_BROKEN_SETTINGS 2 #define SECURE_USER_BROKEN_SETTINGS 2
@ -67,13 +74,29 @@
#define SECURE_USER_LASTBOOT_PLATFORM 6 #define SECURE_USER_LASTBOOT_PLATFORM 6
#define SECURE_USER_LASTBOOT_ID 7 #define SECURE_USER_LASTBOOT_ID 7
#define OTHERMENU_SIZE 13
#define OTHER_AGREE_EULA 0 #define OTHER_AGREE_EULA 0
#define OTHER_EULA_VERSION 1 #define OTHER_EULA_VERSION 1
#define OTHER_WIRELESS 2 #define OTHER_WIRELESS 2
#define OTHER_RTC_OFFSET 3
#define OTHER_TP_RAWX1 4
#define OTHER_TP_RAWY1 5
#define OTHER_TP_DX1 6
#define OTHER_TP_DY1 7
#define OTHER_TP_RAWX2 8
#define OTHER_TP_RAWY2 9
#define OTHER_TP_DX2 10
#define OTHER_TP_DY2 11
#define OTHER_TP_RSV 12
#define NORMAL_HW_RTC_OFFSET 0 #define NORMAL_HW_MENU_SIZE 2
#define NORMAL_HW_RTC_ADJUST 0
#define NORMAL_HW_UNIQUE_ID 1 #define NORMAL_HW_UNIQUE_ID 1
#define SECURE_HW_MENU_SIZE 6
#define SECURE_HW_FORCE_DISABLE 0 #define SECURE_HW_FORCE_DISABLE 0
#define SECURE_HW_REGION 1 #define SECURE_HW_REGION 1
#define SECURE_HW_SERIAL 2 #define SECURE_HW_SERIAL 2
@ -81,6 +104,8 @@
#define SECURE_HW_FUSE 4 #define SECURE_HW_FUSE 4
#define SECURE_HW_LAUNCHER_ID 5 #define SECURE_HW_LAUNCHER_ID 5
#define SCFG_ARM9_MENU_SIZE 27
#define SCFG_ARM9_ROM_SEC 0 #define SCFG_ARM9_ROM_SEC 0
#define SCFG_ARM9_ROM_STATE 1 #define SCFG_ARM9_ROM_STATE 1
#define SCFG_ARM9_CLK_CPU 2 #define SCFG_ARM9_CLK_CPU 2
@ -109,6 +134,8 @@
#define SCFG_ARM9_CHECK_ERROR7 25 #define SCFG_ARM9_CHECK_ERROR7 25
#define SCFG_ARM9_CHECK_ERROR9 26 #define SCFG_ARM9_CHECK_ERROR9 26
#define SCFG_ARM7_MENU_SIZE 47
#define SCFG_ARM7_ROM_ARM9_SEC 0 #define SCFG_ARM7_ROM_ARM9_SEC 0
#define SCFG_ARM7_ROM_ARM9_RSEL 1 #define SCFG_ARM7_ROM_ARM9_RSEL 1
#define SCFG_ARM7_ROM_ARM7_SEC 2 #define SCFG_ARM7_ROM_ARM7_SEC 2
@ -159,6 +186,8 @@
#define SCFG_ARM7_SHARED_OFFSET 47 #define SCFG_ARM7_SHARED_OFFSET 47
#define SYSMENU_MENU_SIZE 10
#define SYSMENU_TIMESTAMP 0 #define SYSMENU_TIMESTAMP 0
#define SYSMENU_VERSION_NUM 1 #define SYSMENU_VERSION_NUM 1
#define SYSMENU_VERSION_STR 2 #define SYSMENU_VERSION_STR 2
@ -173,33 +202,40 @@
#define SYSMENU_HASH_IDX 5 #define SYSMENU_HASH_IDX 5
#define FONTMENU_SIZE 1
#define FONT_TIMESTAMP 0 #define FONT_TIMESTAMP 0
#define FONT_INFO 1 #define FONT_INFO 1
#define WLMENU_SIZE 3
#define WL_VERSION 0 #define WL_VERSION 0
#define WL_NUM_FW 1 #define WL_NUM_FW 1
#define WL_FW_TYPE 2 #define WL_FW_TYPE 2
#define WHITEMENU_SIZE 2
#define WHITE_NUM 0 #define WHITE_NUM 0
#define WHITE_HASH 1 #define WHITE_HASH 1
#define VERSIONMENU_SIZE 0
#define VERSION_OTHER 0 #define VERSION_OTHER 0
// 各メニューサイズ
#define ROOTMENU_SIZE 15
#define OWNERMENU_SIZE 6
#define PARENTALMENU_SIZE 12
#define SECURE_USER_MENU_SIZE 8
#define OTHERMENU_SIZE 3
#define NORMAL_HW_MENU_SIZE 2
#define SECURE_HW_MENU_SIZE 6
#define SCFG_ARM7_MENU_SIZE 47
#define SCFG_ARM9_MENU_SIZE 27
#define SYSMENU_MENU_SIZE 10
#define FONTMENU_SIZE 1
#define WLMENU_SIZE 3
#define WHITEMENU_SIZE 2
#define VERSIONMENU_SIZE 0
extern int s_numMenu[]; extern int s_numMenu[];
extern const char *s_strRootMenu[]; extern const char *s_strRootMenu[];

View File

@ -130,6 +130,8 @@ void initInfo( void )
infoAlloc( gAllInfo[MENU_SCFG_ARM9], SCFG_ARM9_CHECK_ERROR7, DISPINFO_BUFSIZE, TRUE ); infoAlloc( gAllInfo[MENU_SCFG_ARM9], SCFG_ARM9_CHECK_ERROR7, DISPINFO_BUFSIZE, TRUE );
infoAlloc( gAllInfo[MENU_SCFG_ARM9], SCFG_ARM9_CHECK_ERROR9, DISPINFO_BUFSIZE, TRUE ); infoAlloc( gAllInfo[MENU_SCFG_ARM9], SCFG_ARM9_CHECK_ERROR9, DISPINFO_BUFSIZE, TRUE );
infoAlloc( gAllInfo[MENU_WL], WL_VERSION, DISPINFO_BUFSIZE, TRUE ); infoAlloc( gAllInfo[MENU_WL], WL_VERSION, DISPINFO_BUFSIZE, TRUE );
infoAlloc( gAllInfo[MENU_OTHER], OTHER_RTC_OFFSET, DISPINFO_BUFSIZE, TRUE);
infoAlloc( gAllInfo[MENU_OTHER], OTHER_TP_RSV, DISPINFO_BUFSIZE, TRUE);
// utf(u16) // utf(u16)
@ -166,8 +168,7 @@ void infoAlloc( DispInfoEntry *p, u8 index, u8 size, BOOL isSjis )
void getAllInfo( void ) void getAllInfo( void )
// //
{ {
BOOL SCFGAccessable = FALSE; static BOOL firstRead = TRUE;
BOOL fuseRomAccessable = FALSE;
OS_TPrintf("reflesh Information\n"); OS_TPrintf("reflesh Information\n");
@ -178,15 +179,18 @@ void getAllInfo( void )
getHWInfo(); getHWInfo();
getSCFGInfo(); getSCFGInfo();
getSysmenuInfo(); getSysmenuInfo();
getFontInfo();
getWhiteListInfo();
getWLInfo();
if( firstRead ){
getWLInfo();
getWhiteListInfo();
#if NAM_ENABLE #if NAM_ENABLE
getContentsVersion(); getContentsVersion();
#endif #endif
}
getFontInfo();
printAllInfo(); printAllInfo();
firstRead = FALSE;
OS_TPrintf("reflesh information finished\n"); OS_TPrintf("reflesh information finished\n");
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B