diff --git a/build/libraries_sysmenu/errorLog/ARM9/src/errorLog.c b/build/libraries_sysmenu/errorLog/ARM9/src/errorLog.c index d29783cf..d412dc32 100644 --- a/build/libraries_sysmenu/errorLog/ARM9/src/errorLog.c +++ b/build/libraries_sysmenu/errorLog/ARM9/src/errorLog.c @@ -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", }; \ No newline at end of file diff --git a/build/systemMenu_RED/MachineSettings/ARM9/Makefile b/build/systemMenu_RED/MachineSettings/ARM9/Makefile index 705bc6c2..c6d3d6af 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/Makefile +++ b/build/systemMenu_RED/MachineSettings/ARM9/Makefile @@ -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) diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/main.c b/build/systemMenu_RED/MachineSettings/ARM9/src/main.c index 10206a5d..5794adb0 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/main.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/main.c @@ -18,10 +18,13 @@ #include #include #include +#include +#include #include #include #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(); diff --git a/include/sysmenu/util.h b/include/sysmenu/util.h index b56d8f5d..a28f4b07 100644 --- a/include/sysmenu/util.h +++ b/include/sysmenu/util.h @@ -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;