From 9ade22f08885e5cd6ad080a7d9ec01ee51ec0cd7 Mon Sep 17 00:00:00 2001 From: yosiokat Date: Tue, 12 Aug 2008 10:05:09 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=BB=E3=83=A9=E3=83=B3=E3=83=81=E3=83=A3?= =?UTF-8?q?=E3=83=BC=E3=81=A7=E3=82=B7=E3=82=B9=E3=83=86=E3=83=A0=E3=83=A1?= =?UTF-8?q?=E3=83=8B=E3=83=A5=E3=83=BC=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=83=87=E3=83=BC=E3=82=BF=E3=81=AB=E3=82=A2=E3=82=AF?= =?UTF-8?q?=E3=82=BB=E3=82=B9=E3=81=99=E3=82=8B=E3=81=9F=E3=82=81=E3=81=AB?= =?UTF-8?q?=E3=80=81=20=E3=80=80SYSMi=5FmakeTitleIdList=E9=96=A2=E6=95=B0?= =?UTF-8?q?=E3=81=8B=E3=82=89=E3=82=B7=E3=82=B9=E3=83=86=E3=83=A0=E3=83=A1?= =?UTF-8?q?=E3=83=8B=E3=83=A5=E3=83=BC=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=83=87=E3=83=BC=E3=82=BF=E3=82=A2=E3=82=AF=E3=82=BB?= =?UTF-8?q?=E3=82=B9=E3=81=AE=E3=81=9F=E3=82=81=E3=81=AE=E5=88=B6=E5=BE=A1?= =?UTF-8?q?=E3=83=87=E3=83=BC=E3=82=BF=E3=82=BB=E3=83=83=E3=83=88=E9=83=A8?= =?UTF-8?q?=E5=88=86=E3=82=92=20=E3=80=80=E6=8A=9C=E3=81=8D=E5=87=BA?= =?UTF-8?q?=E3=81=97=E3=81=9F=E9=96=A2=E6=95=B0SYSM=5FSetSystemMenuVersion?= =?UTF-8?q?ControlData=E9=96=A2=E6=95=B0=E3=82=92=E8=BF=BD=E5=8A=A0?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ・REDランチャーでRED本体設定からシステムメニューバージョン読み出しのコードを持ってきて、  読み出しを行うようにする。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2144 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../sysmenu/ARM9/src/title.c | 54 +++++++++++++------ build/systemMenu_RED/Launcher/ARM9/Makefile | 6 ++- build/systemMenu_RED/Launcher/ARM9/src/main.c | 52 ++++++++++++++++++ .../sysmenu/sysmenu_lib/common/sysmenu_api.h | 10 ++-- 4 files changed, 97 insertions(+), 25 deletions(-) diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c index 99db81b6..c52c2c95 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/title.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/title.c @@ -1796,23 +1796,7 @@ static void SYSMi_makeTitleIdList( void ) } gamecode = (char *)&(id); - // o[W̓ꏈ - if( ( 0 == STD_CompareNString( &gamecode[1], "LNH", 3 ) ) ) - { - char path[ FS_ENTRY_LONGNAME_MAX ]; - char *p; - NAM_GetTitleBootContentPathFast(path, id); - p = STD_SearchString( path, ".app" ); - if( p == NULL) - { - // s - continue; - } - MI_CpuCopy8( p-8, (void *)HW_SYSM_VER_INFO_CONTENT_ID, 8 ); - ((char *)HW_SYSM_VER_INFO_CONTENT_ID )[8] = '\0'; - ((char *)HW_SYSM_VER_INFO_CONTENT_ID )[9] = gamecode[0]; - } - + // `[̓XgɓȂ if( ( 0 == STD_CompareNString( &gamecode[1], "ANH", 3 ) ) #ifdef DEV_UIG_LAUNCHER @@ -1888,6 +1872,42 @@ static void SYSMi_makeTitleIdList( void ) } +// VXej[o[W񐧌f[^̃Zbg +void SYSM_SetSystemMenuVersionControlData( void ) +{ + int l; + int max = AMN_getRomHeaderListLength(); + + for(l=0;ltitleID; + + gamecode = (char *)&(id); + // o[W̓ꏈ + if( ( 0 == STD_CompareNString( &gamecode[1], "LNH", 3 ) ) ) + { + char path[ FS_ENTRY_LONGNAME_MAX ]; + char *p; + NAM_GetTitleBootContentPathFast(path, id); + p = STD_SearchString( path, ".app" ); + if( p == NULL) + { + // s + continue; + } + MI_CpuCopy8( p-8, (void *)HW_SYSM_VER_INFO_CONTENT_ID, 8 ); + ((char *)HW_SYSM_VER_INFO_CONTENT_ID )[8] = '\0'; + ((char *)HW_SYSM_VER_INFO_CONTENT_ID )[9] = gamecode[0]; + } + } +} + + // w^Cgu[g”\ȃ|C^`FbN static BOOL SYSMi_CheckTitlePointer( TitleProperty *pBootTitle ) { diff --git a/build/systemMenu_RED/Launcher/ARM9/Makefile b/build/systemMenu_RED/Launcher/ARM9/Makefile index 5ef0eca1..d2291359 100644 --- a/build/systemMenu_RED/Launcher/ARM9/Makefile +++ b/build/systemMenu_RED/Launcher/ARM9/Makefile @@ -81,13 +81,15 @@ SRCS = main.c launcher.c sound.c loadWlanFirm.c \ loadSharedFont.c scanWDS.c \ $(addprefix $(LOGO_DIR)/, $(SRCS_LOGO)) \ $(MISC_DIR)/src/misc.c $(MISC_DIR)/src/cmn.c \ - $(BG_DIR)/BGData_Launcher.c + $(BG_DIR)/BGData_Launcher.c \ + ../../MachineSettings/ARM9/src/getSysMenuVersion.c LINCLUDES = $(MISC_DIR)/include \ $(SRCDIR)/$(LOGO_DIR) \ $(ROOT)/build/libraries/wm/common.TWL/inc \ $(ROOT)/build/libraries/wm/ARM9.TWL/nwm/inc \ - $(ROOT)/build/libraries/reboot/common/include + $(ROOT)/build/libraries/reboot/common/include \ + ../../MachineSettings/ARM9/src SYSMENU_LIBS = \ liblcfg$(TWL_LIBSUFFIX).a \ diff --git a/build/systemMenu_RED/Launcher/ARM9/src/main.c b/build/systemMenu_RED/Launcher/ARM9/src/main.c index 524a77cf..0740c132 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/main.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/main.c @@ -29,6 +29,10 @@ #include "loadSharedFont.h" #include "scanWDS.h" +#include +#include +#include "getSysMenuVersion.h" + // extern data----------------------------------------------------------------- // define data----------------------------------------------------------------- @@ -51,6 +55,7 @@ void SYSM_DeleteTempDirectory( TitleProperty *pBootTitle ); static BOOL IsCommandSelected(void); static void PrintPause(void); static void PrintError(void); +static void PrintSystemMenuVersion( void ); // global variable------------------------------------------------------------- @@ -467,6 +472,14 @@ MAIN_LOOP_START: LogoMain() && SYSM_isNandTitleListReady() // NAND^Cg擾ǂ`FbN ) { + // :::::::::::::::::::::::::::::::::::::::::::::: + // SystemMenuo[Wetc.̓ǂݍ + // :::::::::::::::::::::::::::::::::::::::::::::: + + // NAND^CgXg擾_ŁȀƂSystemMenuVersionf[^ɃANZX邽߂̐ZbgB + SYSM_SetSystemMenuVersionControlData(); + PrintSystemMenuVersion(); + if( !direct_boot ) { sp_titleList = SYSM_GetTitlePropertyList();// TitlePropertyList̎擾 state = LAUNCHER_INIT; @@ -677,6 +690,45 @@ static void PrintError( void ) GXS_DispOn(); } + +// VXej[o[W̃vg +static void PrintSystemMenuVersion( void ) +{ + u8 *pBuffer = SYSM_Alloc( NA_VERSION_DATA_WORK_SIZE ); + + if( pBuffer && + ReadSystemMenuVersionData( pBuffer, NA_VERSION_DATA_WORK_SIZE ) ) { + // [h + }else { + // FATALG[ + UTL_SetFatalError( FATAL_ERROR_TWLSETTINGS ); + } + SYSM_Free( pBuffer ); + + // o[W̕\ + { + char str_ver[ TWL_SYSMENU_VER_STR_LEN / sizeof(u16) ]; + int len = sizeof(str_ver); + MI_CpuClear8( str_ver, sizeof(str_ver) ); + OS_TPrintf( "SystemMenuVersionData\n" ); + // + if( STD_ConvertStringUnicodeToSjis( str_ver, &len, GetSystemMenuVersionString(), NULL, NULL ) == STD_RESULT_SUCCESS ) { + OS_TPrintf( " Version(str) : %s\n", str_ver ); + } + // l + OS_TPrintf( " Version(num) : %d.%d\n", GetSystemMenuMajorVersion(), GetSystemMenuMinorVersion() ); + // [U[̈MAXTCY̕\ + OS_TPrintf( " TotalUserAreadSize : 0x%08x\n", FSi_GetTotalUserAreaSize() ); + // EULA URL̕\ + OS_TPrintf( " EULA URL : %s\n", GetEULA_URL() ); + // NUP HostName̕\ + OS_TPrintf( " NUP HostName : %s\n", GetNUP_HostName() ); + // SystemMenuVersioñ^CX^v̎擾 + OS_TPrintf( " Timestamp : %08x\n", GetSystemMenuVersionTimeStamp() ); + } +} + + // ============================================================================ // 荞ݏ // ============================================================================ diff --git a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h index b704dc25..8e3bbda7 100644 --- a/include/sysmenu/sysmenu_lib/common/sysmenu_api.h +++ b/include/sysmenu/sysmenu_lib/common/sysmenu_api.h @@ -95,12 +95,16 @@ extern void SYSM_MakeNandTitleListAsync( void ); // extern void SYSM_MakeNandTitleListMakerInfoAsync( void ); // 񓯊ŃAvn^CgXg쐬p̍쐬 extern BOOL SYSM_isNandTitleListReady( void ); // 񓯊łIǂ̔Ɏg extern TitleProperty *SYSM_GetTitlePropertyList( void ); // SYSM_MakeNandTitleListAsyncō쐬ꂽAvXg̃|C^擾 +extern void SYSM_SetSystemMenuVersionControlData( void ); // SystemMenuVersionf[^ANZX̂߂̐̃Zbg // AvN extern void SYSM_StartLoadTitle( TitleProperty *pBootTitle ); // w肵TitlePropertyʃXbhŃ[hJn extern BOOL SYSM_IsLoadTitleFinished( void ); // SYSM_StartLoadTitleŋNXbhIǂmF +extern BOOL SYSM_IsLoadTitlePaused(void); // [fBOXbhꎞ~Ă邩H +extern void SYSM_ResumeLoadingThread( BOOL force ); // [fBOXbhꎞ~ĂĊJ extern void SYSM_StartAuthenticateTitle( TitleProperty *pBootTitle ); // w肵TitlePropertyʃXbhŌ؊Jn extern BOOL SYSM_IsAuthenticateTitleFinished( void ); // SYSM_StartAuthenticateTitleŋNXbhIǂmF +extern s32 SYSMi_getCheckTitleLaunchRightsResult( void ); // CheckTitleLaunchRightšʂԂifoOpj extern void SYSM_TryToBootTitle( TitleProperty *pBootTitle ); // pBootTitleŎw肵^Cgu[gBnever return. // AES̈fNvg @@ -113,13 +117,7 @@ extern BOOL SYSM_CheckNintendoLogo( u16 *pLogoData ); // Nintendo extern void SYSM_LoadNintendoLogo2D( u16 *pLogoData, u16 *pDst, int paletteColorIndex ); // NintendoSf[^OBJ_2D`Ń[hipTempBufferɂ0x700bytesKv) extern void SYSM_LoadNintendoLogo1D( u16 *pLogoData, u16 *pDst, int paletteColorIndex ); // NintendoSf[^OBJ_1D`Ń[hij -extern s32 SYSMi_getCheckTitleLaunchRightsResult( void ); // CheckTitleLaunchRightšʂԂifoOpj -extern BOOL SYSM_IsLoadTitlePaused(void); // [fBOXbhꎞ~Ă邩H -extern void SYSM_ResumeLoadingThread( BOOL force ); // [fBOXbhꎞ~ĂĊJ - -extern BOOL SYSM_MakeTitleListMakerInfoFromHeader( TitleListMakerInfo *info, ROM_Header_Short *hs); - // Avn^CgXg쐬pwb_񂩂쐬 #endif