WLfirmの値が取得できなくなっていたのを修正。
OtherInfoにRTCOffset情報、タッチパネルキャリブレーション情報を追加。(RSVのみ未実装) RTCのリセット機能を追加。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2452 b08762b0-b915-fc4b-9d8c-17b2551a87ff
@ -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
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@ -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}`
|
||||||
|
|||||||
@ -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]
|
||||||
|
|||||||
@ -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]
|
||||||
|
|||||||
@ -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))'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
@ -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};
|
||||||
|
|||||||
@ -19,6 +19,8 @@ typedef struct FontInfo{
|
|||||||
BOOL isHashOK; // ハッシュ値が既知のものと一致するか
|
BOOL isHashOK; // ハッシュ値が既知のものと一致するか
|
||||||
} FontInfo;
|
} FontInfo;
|
||||||
|
|
||||||
|
// 初回読み込みか否か
|
||||||
|
static BOOL firstRead;
|
||||||
|
|
||||||
// NANDアプリ情報
|
// NANDアプリ情報
|
||||||
extern s32 gNumContents;
|
extern s32 gNumContents;
|
||||||
|
|||||||
@ -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];
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -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[];
|
||||||
|
|||||||
@ -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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
BIN
build/tests/DisplaySystemInformation/banner/icon/0B0A.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0B1A.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0B2A.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0B3A.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0B4A.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0B5A.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0B6A.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0B7A.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0B8A.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0B9A.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0BAA.bmp
Normal file
|
After Width: | Height: | Size: 630 B |
BIN
build/tests/DisplaySystemInformation/banner/icon/0BBA.bmp
Normal file
|
After Width: | Height: | Size: 630 B |