システムメニューVer.ファイルからバージョン情報とユーザー領域MAXサイズを取得するよう変更。

FATALエラーにシステムメニューVer.リード失敗を追加。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1884 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yosiokat 2008-07-14 12:48:47 +00:00
parent 4c5ec38e77
commit f4b85d7308
4 changed files with 50 additions and 7 deletions

View File

@ -446,7 +446,7 @@ BOOL ErrorLogi_SetString( char *buf, ErrorLogEntry *entry )
STD_TSNPrintf(buf, ERRORLOG_BUFSIZE, ERRORLOG_WRITE_FORMAT,
entry->year, entry->month, entry->day, entry->week,
entry->hour, entry->minute, entry->second,
entry->errorCode, s_strError[entry->errorCode] );
entry->errorCode, s_strError[entry->errorCode] ? s_strError[entry->errorCode] : "" );
// 余りをスペースで埋めて、改行で終端する
ErrorLogi_fillSpace( buf, ERRORLOG_BUFSIZE );
@ -548,7 +548,7 @@ static char *s_strWeek[] = {
"SAT"
};
static char *s_strError[] = {
static char *s_strError[ FATAL_ERROR_MAX ] = {
"FATAL_ERROR_UNDEFINED",
"FATAL_ERROR_NAND",
"FATAL_ERROR_HWINFO_NORMAL",
@ -591,6 +591,7 @@ static char *s_strError[] = {
"FATAL_ERROR_LOAD_LOGOCRC_ERROR = 39",
"FATAL_ERROR_LOAD_READDLSIGN_FAILED",
"FATAL_ERROR_LOAD_RELOCATEINFO_FAILED",
"FATAL_ERROR_LOAD_READMODULE_FAILED"
"FATAL_ERROR_LOAD_READMODULE_FAILED",
"FATAL_ERROR_NINTENDO_LOGO_CHECK_FAILED",
"FATAL_ERROR_SYSMENU_VERSION",
};

View File

@ -52,7 +52,7 @@ BG_DIR = ../../data
SRCS = main.c MachineSetting.c \
setRTC.c selectLanguage.c calibrationTP.c setOwnerInfo.c selectCountry.c \
setParentalControl.c setFreeSoftBox.c setWireless.c cleanupMachine.c \
setEULA.c \
setEULA.c getSysMenuVersion.c \
CountryNameMappingData.c \
$(MISC_DIR)/src/misc.c $(MISC_DIR)/src/cmn.c \
$(BG_DIR)/BGData_MachineSettings.c
@ -79,7 +79,8 @@ SDK_APPEND_LIBS = \
libsfs$(TWL_LIBSUFFIX).a \
libnam$(TWL_LIBSUFFIX).a \
libsea$(TWL_LIBSUFFIX).a \
libsharedfont$(TWL_LIBSUFFIX).a
libsharedfont$(TWL_LIBSUFFIX).a \
libna$(TWL_LIBSUFFIX).a
LLIBRARIES += $(SYSMENU_LIBS) $(SDK_APPEND_LIBS)

View File

@ -18,10 +18,13 @@
#include <twl.h>
#include <twl/sea.h>
#include <twl/lcfg.h>
#include <twl/na.h>
#include <nitro/fs/sysarea.h>
#include <sysmenu/namut.h>
#include <sysmenu/util.h>
#include "misc.h"
#include "MachineSetting.h"
#include "getSysMenuVersion.h"
// extern data-----------------------------------------------------------------
@ -110,6 +113,7 @@ void TwlMain(void)
}
}else {
// リカバリ失敗時は、FALTALエラー
UTL_SetFatalError( FATAL_ERROR_TWLSETTINGS );
g_isValidTSD = FALSE;
}
Free( pBuffer );
@ -121,6 +125,42 @@ void TwlMain(void)
UTL_CaribrateTP( LCFG_TSD_GetTPCalibrationPtr() );
// ::::::::::::::::::::::::::::::::::::::::::::::
// SystemMenuバージョンおよびユーザー領域MAXサイズの読み込み
// ::::::::::::::::::::::::::::::::::::::::::::::
{
u8 *pBuffer = Alloc( NA_VERSION_INFO_WORK_SIZE );
if( pBuffer &&
ReadSystemMenuVersion( pBuffer, NA_VERSION_INFO_WORK_SIZE ) ) {
// リード成功
}else {
// FATALエラー
UTL_SetFatalError( FATAL_ERROR_TWLSETTINGS );
}
Free( pBuffer );
}
// バージョン情報の表示
{
u16 major = 65535;
u16 minor = 65535;
char str_ver[ TWL_SYSMENU_VER_STR_LEN / sizeof(u16) ];
int len = sizeof(str_ver);
OS_TPrintf( "SystemMenuVersion\n" );
// 文字列
if( STD_ConvertStringUnicodeToSjis( str_ver, &len, GetSystemMenuVersionString(), NULL, NULL ) == STD_RESULT_SUCCESS ) {
OS_TPrintf( "\tstr: %s\n", str_ver );
}
// 数値
(void)GetSystemMenuMajorVersion( &major );
(void)GetSystemMenuMinorVersion( &minor );
OS_TPrintf( "\tnum: %d.%d\n", major, minor );
}
// ユーザー領域MAXサイズの表示
OS_TPrintf( "TotalUserAreadSize : 0x%08x\n", FSi_GetTotalUserAreaSize() );
InitBG();
GetAndDrawRTCData( &g_rtcDraw, TRUE );
MachineSettingInit();

View File

@ -73,8 +73,9 @@ typedef enum FatalErrorCode {
FATAL_ERROR_LOAD_RELOCATEINFO_FAILED = 41,
FATAL_ERROR_LOAD_READMODULE_FAILED = 42,
FATAL_ERROR_NINTENDO_LOGO_CHECK_FAILED = 43,
FATAL_ERROR_SYSMENU_VERSION = 44,
FATAL_ERROR_MAX = 44
FATAL_ERROR_MAX = 45
}FatalErrorCode;