mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
メニュー周りを再構成。
LCFGから取得する項目を何点か追加。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1945 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
2b493cc966
commit
0c707ec625
@ -1,93 +1,32 @@
|
||||
#/*---------------------------------------------------------------------------*
|
||||
# Project: TwlIPL - tests - DisplaySystemInformation
|
||||
# File: makefile
|
||||
#
|
||||
# Copyright **** Nintendo. All rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs contain
|
||||
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
# Company Ltd., and are protected by Federal copyright law. They may
|
||||
# not be disclosed to third parties or copied or duplicated in any form,
|
||||
# in whole or in part, without the prior written consent of Nintendo.
|
||||
#
|
||||
# $Date:: $
|
||||
# $Rev$
|
||||
# $Author$
|
||||
# *---------------------------------------------------------------------------*/
|
||||
TARGET_FIRM = SYSTEMMENU
|
||||
TARGET_PLATFORM = TWL
|
||||
TWL_ARCHGEN = LIMITED
|
||||
|
||||
# •ªŠò<C5A0>ðŒ<C3B0>
|
||||
DEFAULT_COMP_ARM7 = armadillo
|
||||
ROM_SPEC = main_$(DEFAULT_COMP_ARM7).rsf
|
||||
|
||||
|
||||
DISP_INFO = $(call eupath,$(TWL_IPL_RED_ROOT)/build/tests/DisplaySystemInformation)
|
||||
|
||||
SUBDIRS =
|
||||
|
||||
MISC_DIR = ../../../systemMenu_RED/misc
|
||||
|
||||
SRCS = main.c viewSystemInfo.c drawFunc.c control.c\
|
||||
strResource.c misc.c \
|
||||
$(MISC_DIR)/src/cmn.c
|
||||
|
||||
LINCLUDES += $(MISC_DIR)/include \
|
||||
$(DISP_INFO)/common/include
|
||||
|
||||
SYSMENU_LIBS = \
|
||||
liblcfg$(TWL_LIBSUFFIX).a \
|
||||
libsysmenu$(TWL_LIBSUFFIX).a \
|
||||
libsysmmcu$(TWL_LIBSUFFIX).a \
|
||||
libsysmutil$(TWL_LIBSUFFIX).a \
|
||||
libboot$(TWL_LIBSUFFIX).a \
|
||||
libds$(TWL_LIBSUFFIX).a \
|
||||
libhotsw$(TWL_LIBSUFFIX).a \
|
||||
libdht$(TWL_LIBSUFFIX).a \
|
||||
libreloc_info$(TWL_LIBSUFFIX).a \
|
||||
libnamut$(TWL_LIBSUFFIX).a \
|
||||
libsharedfont_launcher$(TWL_LIBSUFFIX).a \
|
||||
WDS$(TWL_LIBSUFFIX).a
|
||||
|
||||
SDK_APPEND_LIBS = \
|
||||
libes$(TWL_LIBSUFFIX).a \
|
||||
libboc$(TWL_LIBSUFFIX).a \
|
||||
libsfs$(TWL_LIBSUFFIX).a \
|
||||
libnam$(TWL_LIBSUFFIX).a \
|
||||
libsea$(TWL_LIBSUFFIX).a \
|
||||
libreboot$(TWL_LIBSUFFIX).a \
|
||||
|
||||
LLIBRARIES += $(SYSMENU_LIBS) $(SDK_APPEND_LIBS)
|
||||
|
||||
|
||||
TARGET_BIN = DisplaySystemInfo.srl
|
||||
|
||||
|
||||
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs
|
||||
|
||||
MAKEROM = $(TWL_TOOLSDIR)/bin/makerom.TWL.secure.exe
|
||||
|
||||
DEFAULT_MAKEROM_ARM7_BASE = ../ARM7_$(DEFAULT_COMP_ARM7)/bin/$(TWL_BUILDTYPE_ARM7)/$(DEFAULT_COMP_ARM7)
|
||||
DEFAULT_MAKEROM_ARM7 = $(DEFAULT_MAKEROM_ARM7_BASE).$(TWL_ELF_EXT)
|
||||
|
||||
MACRO_FLAGS += -DCOMP_ARMADILLO=TRUE
|
||||
|
||||
ifeq ($(DEFAULTCOMP_ARM7), armadillo)
|
||||
MACRO_FLAGS += -DCOMP_ARMADILLO
|
||||
endif
|
||||
|
||||
|
||||
|
||||
#! make -f
|
||||
#----------------------------------------------------------------------------
|
||||
do-build: $(TARGETS)
|
||||
# Project: TwlSDK - demos - simpleShoot-1
|
||||
# File: Makefile
|
||||
#
|
||||
# Copyright 2007 Nintendo. All rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs contain
|
||||
# proprietary information of Nintendo of America Inc. and/or Nintendo
|
||||
# Company Ltd., and are protected by Federal copyright law. They may
|
||||
# not be disclosed to third parties or copied or duplicated in any form,
|
||||
# in whole or in part, without the prior written consent of Nintendo.
|
||||
#
|
||||
# $Date:: $
|
||||
# $Rev$
|
||||
# $Author$
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
SUBDIRS =
|
||||
SUBMAKES = Makefile.racoon_SCFG Makefile.racoon_noSCFG Makefile.armadillo
|
||||
|
||||
include $(TWL_IPL_RED_ROOT)/build/tests/RelocateChecker/buildtools/commondefs
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
do-build : $(TARGETS)
|
||||
|
||||
include $(TWL_IPL_RED_ROOT)/build/buildtools/modulerules
|
||||
#include $(TWLSDK_ROOT)/build/buildtools/modulerules
|
||||
#include $(TWL_IPL_RED_ROOT)/build/tests/RelocateChecker/buildtools/modulerules
|
||||
include $(TWL_IPL_RED_ROOT)/build/tests/RelocateChecker/buildtools/modulerules
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
#===== End of Makefile =====
|
||||
|
||||
@ -210,6 +210,7 @@ BOOL control( int *menu, int *line, int *changeLine, int *changeMode )
|
||||
case MENU_ROOT :
|
||||
case MENU_OWNER:
|
||||
case MENU_PARENTAL:
|
||||
case MENU_OTHER:
|
||||
case MENU_NORMAL_HW:
|
||||
case MENU_SECURE_HW:
|
||||
case MENU_SCFG_ARM7:
|
||||
|
||||
@ -177,15 +177,23 @@ void printKindName( int menu, int entryLine, int drawOffset, int selected )
|
||||
|
||||
void printValue( int menu,int entryLine, int drawOffset, DispInfoEntry *entry )
|
||||
{
|
||||
int txtColor = TXT_COLOR_BLACK;
|
||||
|
||||
if( entry->fromLCFG )
|
||||
{
|
||||
// LCFG経由で取得したデータは青にする
|
||||
txtColor = TXT_COLOR_BLUE;
|
||||
}
|
||||
|
||||
// 特殊描画を行う必要がある場合の処理
|
||||
if( menu == MENU_OWNER && entryLine == OWNER_COLOR )
|
||||
{
|
||||
PrintfSJIS( VALUE_LEFT , VALUE_UP + LINE_OFFSET*drawOffset, TXT_UCOLOR_G0 + entry->iValue , "■" );
|
||||
printData( VALUE_LEFT + LINE_OFFSET , VALUE_UP + LINE_OFFSET*drawOffset, TXT_COLOR_BLACK, entry );
|
||||
printData( VALUE_LEFT + LINE_OFFSET , VALUE_UP + LINE_OFFSET*drawOffset, txtColor, entry );
|
||||
return;
|
||||
}
|
||||
|
||||
if( menu == MENU_SECURE_HW && entryLine == SECURE_HW_UNIQUE_ID )
|
||||
if( menu == MENU_NORMAL_HW && entryLine == NORMAL_HW_UNIQUE_ID )
|
||||
{
|
||||
printUniqueID( drawOffset, entry->str.sjis );
|
||||
entry->numLines = 4;
|
||||
@ -194,22 +202,20 @@ void printValue( int menu,int entryLine, int drawOffset, DispInfoEntry *entry )
|
||||
|
||||
if( menu == MENU_PARENTAL && entryLine == PARENTAL_PASSWORD )
|
||||
{
|
||||
PrintfSJIS( VALUE_LEFT, VALUE_UP + LINE_OFFSET*drawOffset, TXT_COLOR_BLACK, "%04d", entry->iValue );
|
||||
PrintfSJIS( VALUE_LEFT, VALUE_UP + LINE_OFFSET*drawOffset, txtColor, "%04d", entry->iValue );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 通常の値の描画
|
||||
if( entry->isAligned )
|
||||
{
|
||||
printData( VALUE_LEFT, VALUE_UP + LINE_OFFSET*drawOffset, TXT_COLOR_BLACK, entry );
|
||||
printData( VALUE_LEFT, VALUE_UP + LINE_OFFSET*drawOffset, txtColor, entry );
|
||||
}
|
||||
else
|
||||
{
|
||||
// 項目名が長くて字下げが必要な場合
|
||||
printData( VALUE_LEFT, VALUE_UP + LINE_OFFSET* ( drawOffset + 1 ), TXT_COLOR_BLACK, entry );
|
||||
printData( VALUE_LEFT, VALUE_UP + LINE_OFFSET* ( drawOffset + 1 ), txtColor, entry );
|
||||
}
|
||||
}
|
||||
|
||||
@ -495,15 +501,14 @@ void drawMenu( int menu, int line, int changeLine, BOOL isChangeMode )
|
||||
if( menu == MENU_VERSION )
|
||||
{
|
||||
drawVersion( gDrawIdx[menu], line );
|
||||
return;
|
||||
}
|
||||
|
||||
for( i = gDrawIdx[menu] ; i < s_numMenu[menu] && lineNum < DISP_NUM_LINES ; i++ )
|
||||
{
|
||||
|
||||
|
||||
{
|
||||
// 項目名の描画
|
||||
printKindName( menu, i, lineNum, line );
|
||||
|
||||
|
||||
// 値の描画
|
||||
if( menu == MENU_SCFG_ARM7 && !gSelectedARM7SCFGReg )
|
||||
{
|
||||
|
||||
@ -11,8 +11,8 @@
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Date:: $
|
||||
$Rev:$
|
||||
$Author:$
|
||||
$Rev$
|
||||
$Author$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
@ -18,20 +18,11 @@
|
||||
#include "drawFunc.h"
|
||||
|
||||
|
||||
const int s_pageOffset[ROOTMENU_SIZE][MAXPAGE] = {
|
||||
{ 0, OWNERMENU_SIZE }, // owner
|
||||
{ 0, 7, PARENTALMENU_SIZE }, // parental
|
||||
{ 0, NORMAL_HW_MENU_SIZE }, // normal hw
|
||||
{ 0, SECURE_HW_MENU_SIZE }, // secure hw
|
||||
{ 0, SCFG_ARM7_MENU_SIZE }, // scfg arm7
|
||||
{ 0, SCFG_ARM9_MENU_SIZE }, // scfg arm9
|
||||
{ 0, VERSIONMENU_SIZE } // fuse
|
||||
};
|
||||
|
||||
// VERSION_MENU_SIZEだけコンテンツ数に応じて可変なのでconstではない
|
||||
int s_numMenu[] = {
|
||||
OWNERMENU_SIZE,
|
||||
PARENTALMENU_SIZE,
|
||||
OTHERMENU_SIZE,
|
||||
NORMAL_HW_MENU_SIZE,
|
||||
SECURE_HW_MENU_SIZE,
|
||||
SCFG_ARM7_MENU_SIZE,
|
||||
@ -39,7 +30,6 @@ int s_numMenu[] = {
|
||||
VERSIONMENU_SIZE,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
ROOTMENU_SIZE
|
||||
};
|
||||
|
||||
@ -67,16 +57,16 @@ const char *s_strSCFGViewMode[] = {
|
||||
};
|
||||
|
||||
const char *s_strRootMenu[] = {
|
||||
"< Owner >",
|
||||
"< Parental control >",
|
||||
"< Normal Hardware Info >",
|
||||
"< Secure Hardware Info >",
|
||||
"< SCFG Info (ARM7 side) >",
|
||||
"< SCFG Info (ARM9 side) >",
|
||||
"< Content Version >",
|
||||
"<EFBFBD>ƒOwner<EFBFBD>„",
|
||||
"<EFBFBD>ƒParental control<6F>„",
|
||||
"<EFBFBD>ƒOther Info<66>„",
|
||||
"<EFBFBD>ƒNormal Hardware Info<66>„",
|
||||
"<EFBFBD>ƒSecure Hardware Info<66>„",
|
||||
"<EFBFBD>ƒSCFG Info (ARM7 side)<29>„",
|
||||
"<EFBFBD>ƒSCFG Info (ARM9 side)<29>„",
|
||||
"<EFBFBD>ƒContent Version<6F>„",
|
||||
"Reset HW Setting to Default",
|
||||
"break HW Setting",
|
||||
"Reset"
|
||||
"break HW Setting"
|
||||
};
|
||||
|
||||
const char *s_strOwnerMenu[] = {
|
||||
@ -103,23 +93,32 @@ const char *s_strParentalMenu[] = {
|
||||
"Answer"
|
||||
};
|
||||
|
||||
const char *s_strNormalHWMenu[] = {
|
||||
"Wireless",
|
||||
"RTC Offset",
|
||||
const char *s_strOtherMenu[] = {
|
||||
"Agree EULA",
|
||||
"Eula Version"
|
||||
"EULA Version",
|
||||
"Wireless",
|
||||
"Finished Initial Setting",
|
||||
"Finished Initial Setting(Launcher)",
|
||||
"Broken Setting Flag",
|
||||
"Installed Softbox Count",
|
||||
"Free Softbox Count",
|
||||
"Last Boot Soft Index",
|
||||
"Last Boot Soft Platform",
|
||||
"Last Boot Soft ID"
|
||||
};
|
||||
|
||||
const char *s_strNormalHWMenu[] = {
|
||||
"RTC Offset",
|
||||
"Unique ID"
|
||||
};
|
||||
|
||||
const char *s_strSecureHWMenu[] = {
|
||||
"Force Disable Wireless",
|
||||
"Region",
|
||||
"Unique ID",
|
||||
"Serial No",
|
||||
"Language Bitmap",
|
||||
"Fuse Data",
|
||||
"Finished Initial Setting",
|
||||
"Finished Initial Setting(Launcher)",
|
||||
"Broken Setting Flag"
|
||||
"Launcher TitleID Lo"
|
||||
};
|
||||
|
||||
const char *s_strSCFGArm9Menu[] = {
|
||||
@ -225,6 +224,7 @@ const char *s_strVersionMenu[] = {
|
||||
const char **s_strMetaMenu[] = {
|
||||
s_strOwnerMenu,
|
||||
s_strParentalMenu,
|
||||
s_strOtherMenu,
|
||||
s_strNormalHWMenu,
|
||||
s_strSecureHWMenu,
|
||||
s_strSCFGArm7Menu,
|
||||
|
||||
@ -18,20 +18,19 @@
|
||||
#ifndef __DISPLAY_INFO_RESOURCE__
|
||||
#define __DISPLAY_INFO_RESOURCE__
|
||||
|
||||
|
||||
|
||||
// ƒ<>ƒjƒ…<C692>[ID
|
||||
#define MENU_ROOT 10
|
||||
#define MENU_ROOT 11
|
||||
#define MENU_OWNER 0
|
||||
#define MENU_PARENTAL 1
|
||||
#define MENU_NORMAL_HW 2
|
||||
#define MENU_SECURE_HW 3
|
||||
#define MENU_SCFG_ARM7 4
|
||||
#define MENU_SCFG_ARM9 5
|
||||
#define MENU_VERSION 6
|
||||
#define MENU_RESET_INFO 7
|
||||
#define MENU_BREAK_DATA 8
|
||||
#define MENU_RESET 9
|
||||
#define MENU_OTHER 2
|
||||
#define MENU_NORMAL_HW 3
|
||||
#define MENU_SECURE_HW 4
|
||||
#define MENU_SCFG_ARM7 5
|
||||
#define MENU_SCFG_ARM9 6
|
||||
#define MENU_VERSION 7
|
||||
#define MENU_RESET_INFO 8
|
||||
#define MENU_BREAK_DATA 9
|
||||
#define MENU_RESET 10
|
||||
|
||||
// <20>s”Ô<E2809D>†
|
||||
#define OWNER_LANGUAGE 0
|
||||
@ -54,20 +53,27 @@
|
||||
#define PARENTAL_QUESTION_ID 10
|
||||
#define PARENTAL_ANSWER 11
|
||||
|
||||
#define NORMAL_HW_WIRELESS 0
|
||||
#define NORMAL_HW_RTC_OFFSET 1
|
||||
#define NORMAL_HW_AGREE_EULA 2
|
||||
#define NORMAL_HW_EULA_VERSION 3
|
||||
#define OTHER_AGREE_EULA 0
|
||||
#define OTHER_EULA_VERSION 1
|
||||
#define OTHER_WIRELESS 2
|
||||
#define OTHER_INITIAL_SETTINGS 3
|
||||
#define OTHER_INITIAL_LAUNCHER 4
|
||||
#define OTHER_BROKEN_SETTINGS 5
|
||||
#define OTHER_LCFG_INSTALLED_SOFTBOX 6
|
||||
#define OTHER_LCFG_FREE_SOFTBOX 7
|
||||
#define OTHER_LCFG_LASTBOOT_IDX 8
|
||||
#define OTHER_LCFG_LASTBOOT_PLATFORM 9
|
||||
#define OTHER_LCFG_LASTBOOT_ID 10
|
||||
|
||||
#define NORMAL_HW_RTC_OFFSET 0
|
||||
#define NORMAL_HW_UNIQUE_ID 1
|
||||
|
||||
#define SECURE_HW_FORCE_DISABLE 0
|
||||
#define SECURE_HW_REGION 1
|
||||
#define SECURE_HW_UNIQUE_ID 2
|
||||
#define SECURE_HW_SERIAL 3
|
||||
#define SECURE_HW_LANGUAGE 4
|
||||
#define SECURE_HW_FUSE 5
|
||||
#define SECURE_HW_INITIAL_SETTINGS 6
|
||||
#define SECURE_HW_INITIAL_LAUNCHER 7
|
||||
#define SECURE_HW_BROKEN_SETTINGS 8
|
||||
#define SECURE_HW_SERIAL 2
|
||||
#define SECURE_HW_LANGUAGE 3
|
||||
#define SECURE_HW_FUSE 4
|
||||
#define SECURE_HW_TITLEID_LO 5
|
||||
|
||||
#define SCFG_ARM9_ROM_SEC 0
|
||||
#define SCFG_ARM9_ROM_STATE 1
|
||||
@ -153,8 +159,9 @@
|
||||
#define ROOTMENU_SIZE 10
|
||||
#define OWNERMENU_SIZE 6
|
||||
#define PARENTALMENU_SIZE 12
|
||||
#define NORMAL_HW_MENU_SIZE 4
|
||||
#define SECURE_HW_MENU_SIZE 9
|
||||
#define OTHERMENU_SIZE 11
|
||||
#define NORMAL_HW_MENU_SIZE 2
|
||||
#define SECURE_HW_MENU_SIZE 6
|
||||
#define SCFG_ARM7_MENU_SIZE 47
|
||||
#define SCFG_ARM9_MENU_SIZE 24
|
||||
#define VERSIONMENU_SIZE 3
|
||||
|
||||
@ -35,6 +35,7 @@ void infoAlloc( DispInfoEntry *p, u8 index, u8 size, BOOL isSjis );
|
||||
void printAllInfo ( void );
|
||||
void getOwnerInfo( void );
|
||||
void getParentalInfo( void );
|
||||
void getOtherInfo();
|
||||
void getNormalHWInfo( void );
|
||||
void getSecureHWInfo( void );
|
||||
void getSCFGARM9Info( void );
|
||||
@ -59,6 +60,8 @@ u16 *gContentsVersion; // gContentsTitle
|
||||
u8 gArm7SCFGReg[DISPINFO_SHARED_SCFG_REG_SIZE];
|
||||
u8 gArm7SCFGShared[DISPINFO_SHARED_SCFG_WRAM_SIZE];
|
||||
|
||||
// LCFGデータを読み込むためのバッファ
|
||||
u8 *bufLCFG;
|
||||
/* static data ---------------------------------- */
|
||||
|
||||
|
||||
@ -94,6 +97,7 @@ void displayInfoMain( void )
|
||||
if( ccResult == CHANGE_VALUE_CHANGED )
|
||||
{
|
||||
// 値が更新されたときは全部取得しなおす
|
||||
LCFG_WriteTWLSettings( (u8 (*) [LCFG_WRITE_TEMP] ) bufLCFG );
|
||||
getAllInfo();
|
||||
}
|
||||
|
||||
@ -119,10 +123,12 @@ void initInfo( void )
|
||||
|
||||
|
||||
infoAlloc( gAllInfo[MENU_OWNER], OWNER_BIRTHDAY, DISPINFO_BUFSIZE , TRUE );
|
||||
infoAlloc( gAllInfo[MENU_SECURE_HW], SECURE_HW_UNIQUE_ID, OS_TWL_HWINFO_MOVABLE_UNIQUE_ID_LEN*3 , TRUE );
|
||||
infoAlloc( gAllInfo[MENU_OTHER], OTHER_LCFG_LASTBOOT_ID, DISPINFO_BUFSIZE , TRUE );
|
||||
infoAlloc( gAllInfo[MENU_NORMAL_HW], NORMAL_HW_UNIQUE_ID, OS_TWL_HWINFO_MOVABLE_UNIQUE_ID_LEN*3 , TRUE );
|
||||
infoAlloc( gAllInfo[MENU_SECURE_HW], SECURE_HW_SERIAL , OS_TWL_HWINFO_SERIALNO_LEN_MAX + 1, TRUE );
|
||||
infoAlloc( gAllInfo[MENU_SECURE_HW], SECURE_HW_LANGUAGE, DISPINFO_BUFSIZE , TRUE );
|
||||
infoAlloc( gAllInfo[MENU_SECURE_HW], SECURE_HW_FUSE, DISPINFO_BUFSIZE , TRUE );
|
||||
infoAlloc( gAllInfo[MENU_SECURE_HW], SECURE_HW_TITLEID_LO, DISPINFO_BUFSIZE, TRUE );
|
||||
infoAlloc( gAllInfo[MENU_SCFG_ARM7], SCFG_ARM7_MI_CC, DISPINFO_BUFSIZE , TRUE );
|
||||
infoAlloc( gAllInfo[MENU_SCFG_ARM7], SCFG_ARM7_MI_CA, DISPINFO_BUFSIZE , TRUE );
|
||||
|
||||
@ -133,7 +139,6 @@ void initInfo( void )
|
||||
OS_TPrintf( "information alloc succeeded\n" );
|
||||
}
|
||||
|
||||
|
||||
|
||||
void infoAlloc( DispInfoEntry *p, u8 index, u8 size, BOOL isSjis )
|
||||
// initInfoの作業用関数。isSjis=trueだとcharを、falseならu16を割り当てる
|
||||
@ -164,6 +169,7 @@ void getAllInfo( void )
|
||||
|
||||
getOwnerInfo();
|
||||
getParentalInfo();
|
||||
getOtherInfo();
|
||||
getNormalHWInfo();
|
||||
getSecureHWInfo();
|
||||
getSCFGARM7InfoReg();
|
||||
@ -216,9 +222,14 @@ void displayInfoInit( void )
|
||||
gAllInfo[loop1][loop2].isAligned = TRUE;
|
||||
gAllInfo[loop1][loop2].str.sjis = s_strNA;
|
||||
gAllInfo[loop1][loop2].changable = FALSE;
|
||||
gAllInfo[loop1][loop2].fromLCFG = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bufLCFG = (u8*) Alloc ( LCFG_READ_TEMP );
|
||||
SDK_ASSERT( bufLCFG );
|
||||
LCFG_ReadTWLSettings( (u8 (*)[ LCFG_READ_TEMP ]) bufLCFG );
|
||||
|
||||
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
|
||||
GX_DispOn();
|
||||
GXS_DispOn();
|
||||
@ -325,23 +336,120 @@ void getParentalInfo( void )
|
||||
gAllInfo[MENU_PARENTAL][PARENTAL_ANSWER].isSjis = FALSE;
|
||||
}
|
||||
|
||||
void getOtherInfo( void )
|
||||
{
|
||||
int value;
|
||||
|
||||
value = OS_IsAgreeEULA();
|
||||
gAllInfo[MENU_OTHER][OTHER_AGREE_EULA].iValue = value;
|
||||
gAllInfo[MENU_OTHER][OTHER_AGREE_EULA].str.sjis = s_strBool[value];
|
||||
|
||||
gAllInfo[MENU_OTHER][OTHER_EULA_VERSION].iValue = OS_GetAgreedEULAVersion();
|
||||
gAllInfo[MENU_OTHER][OTHER_EULA_VERSION].isNumData = TRUE;
|
||||
|
||||
value = OS_IsAvailableWireless();
|
||||
gAllInfo[MENU_OTHER][OTHER_WIRELESS].iValue = value;
|
||||
gAllInfo[MENU_OTHER][OTHER_WIRELESS].str.sjis = s_strEnable[value];
|
||||
|
||||
value = LCFG_TSD_IsFinishedInitialSetting();
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_SETTINGS].iValue = value;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_SETTINGS].str.sjis = s_strBool[ value ];
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_SETTINGS].changable = TRUE;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_SETTINGS].changeFunc.cBool = LCFG_TSD_SetFlagFinishedInitialSetting;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_SETTINGS].argType = ARG_BOOL;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_SETTINGS].kindNameList = s_strBool;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_SETTINGS].numKindName = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_SETTINGS].isAligned = FALSE;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_SETTINGS].numLines = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_SETTINGS].fromLCFG = TRUE;
|
||||
|
||||
value = LCFG_TSD_IsFinishedInitialSetting_Launcher();
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_LAUNCHER].iValue = value;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_LAUNCHER].str.sjis = s_strBool[ value ];
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_LAUNCHER].changable = TRUE;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_LAUNCHER].changeFunc.cBool = LCFG_TSD_SetFlagFinishedInitialSetting_Launcher;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_LAUNCHER].argType = ARG_BOOL;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_LAUNCHER].kindNameList = s_strBool;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_LAUNCHER].numKindName = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_LAUNCHER].isAligned = FALSE;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_LAUNCHER].numLines = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_INITIAL_LAUNCHER].fromLCFG = TRUE;
|
||||
|
||||
value = LCFG_TSD_IsFinishedBrokenTWLSettings();
|
||||
gAllInfo[MENU_OTHER][OTHER_BROKEN_SETTINGS].iValue = value;
|
||||
gAllInfo[MENU_OTHER][OTHER_BROKEN_SETTINGS].str.sjis = s_strBool[ value ];
|
||||
gAllInfo[MENU_OTHER][OTHER_BROKEN_SETTINGS].changable = TRUE;
|
||||
gAllInfo[MENU_OTHER][OTHER_BROKEN_SETTINGS].changeFunc.cBool = LCFG_TSD_SetFlagFinishedBrokenTWLSettings;
|
||||
gAllInfo[MENU_OTHER][OTHER_BROKEN_SETTINGS].argType = ARG_BOOL;
|
||||
gAllInfo[MENU_OTHER][OTHER_BROKEN_SETTINGS].kindNameList = s_strBool;
|
||||
gAllInfo[MENU_OTHER][OTHER_BROKEN_SETTINGS].numKindName = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_BROKEN_SETTINGS].isAligned = FALSE;
|
||||
gAllInfo[MENU_OTHER][OTHER_BROKEN_SETTINGS].numLines = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_BROKEN_SETTINGS].fromLCFG = TRUE;
|
||||
|
||||
value = LCFG_TSD_GetInstalledSoftBoxCount();
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_INSTALLED_SOFTBOX].iValue = value;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_INSTALLED_SOFTBOX].isNumData = TRUE;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_INSTALLED_SOFTBOX].isAligned = FALSE;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_INSTALLED_SOFTBOX].numLines = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_INSTALLED_SOFTBOX].fromLCFG = TRUE;
|
||||
|
||||
|
||||
value = LCFG_TSD_GetFreeSoftBoxCount();
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_FREE_SOFTBOX].iValue = value;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_FREE_SOFTBOX].isNumData = TRUE;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_FREE_SOFTBOX].isAligned = FALSE;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_FREE_SOFTBOX].numLines = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_FREE_SOFTBOX].fromLCFG = TRUE;
|
||||
|
||||
value = LCFG_TSD_GetLastTimeBootSoftIndex();
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_IDX].iValue = value;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_IDX].isNumData = TRUE;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_IDX].isAligned = FALSE;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_IDX].numLines = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_IDX].fromLCFG = TRUE;
|
||||
|
||||
value = LCFG_TSD_GetLastTimeBootSoftPlatform();
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_PLATFORM].iValue = value;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_PLATFORM].isNumData = TRUE;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_PLATFORM].isAligned = FALSE;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_PLATFORM].numLines = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_PLATFORM].fromLCFG = TRUE;
|
||||
|
||||
|
||||
{
|
||||
u64 buf = LCFG_TSD_GetLastTimeBootSoftTitleID();
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_ID].isAligned = FALSE;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_ID].numLines = 2;
|
||||
gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_ID].fromLCFG = TRUE;
|
||||
snprintf( gAllInfo[MENU_OTHER][OTHER_LCFG_LASTBOOT_ID].str.sjis, DISPINFO_BUFSIZE, "%016llx", buf );
|
||||
}
|
||||
}
|
||||
|
||||
void getNormalHWInfo( void )
|
||||
{
|
||||
int value;
|
||||
|
||||
value = OS_IsAvailableWireless();
|
||||
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_WIRELESS].iValue = value;
|
||||
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_WIRELESS].str.sjis = s_strEnable[value];
|
||||
|
||||
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_RTC_OFFSET].iValue = (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_OFFSET].isNumData = TRUE;
|
||||
|
||||
value = OS_IsAgreeEULA();
|
||||
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_AGREE_EULA].iValue = value;
|
||||
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_AGREE_EULA].str.sjis = s_strBool[value];
|
||||
|
||||
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_EULA_VERSION].iValue = OS_GetAgreedEULAVersion();
|
||||
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_EULA_VERSION].isNumData = TRUE;
|
||||
{
|
||||
int i;
|
||||
char ascii[] = "0123456789abcdef";
|
||||
const u8 *unq = OS_GetMovableUniqueIDPtr();
|
||||
// 16進で1バイトずつ詰めていく
|
||||
// バッファが長さの3倍長なのは、データを"%02x-%02x-%02x..."に置換するため
|
||||
for(i=0; i < OS_TWL_HWINFO_MOVABLE_UNIQUE_ID_LEN*3; i += 3, unq++ )
|
||||
{
|
||||
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_UNIQUE_ID].str.sjis[i] = ascii[(*unq>>4) & 0x0f];
|
||||
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_UNIQUE_ID].str.sjis[i+1] = ascii[*unq & 0x0f];
|
||||
gAllInfo[MENU_NORMAL_HW][NORMAL_HW_UNIQUE_ID].str.sjis[i+2] =
|
||||
(i+2) == (OS_TWL_HWINFO_MOVABLE_UNIQUE_ID_LEN*3 - 1) ? (char)'\0' : (char)'-' ;
|
||||
OS_TPrintf("uniqid: %d\n", *unq);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void getSecureHWInfo( void )
|
||||
@ -357,24 +465,7 @@ void getSecureHWInfo( void )
|
||||
value = OS_GetRegion();
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_REGION].iValue = value;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_REGION].str.sjis = s_strRegion[ value ];
|
||||
|
||||
|
||||
{
|
||||
int i;
|
||||
char ascii[] = "0123456789abcdef";
|
||||
const u8 *unq = OS_GetMovableUniqueIDPtr();
|
||||
// 16進で1バイトずつ詰めていく
|
||||
// バッファが長さの3倍長なのは、データを"%02x-%02x-%02x..."に置換するため
|
||||
for(i=0; i < OS_TWL_HWINFO_MOVABLE_UNIQUE_ID_LEN*3; i += 3, unq++ )
|
||||
{
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_UNIQUE_ID].str.sjis[i] = ascii[(*unq>>4) & 0x0f];
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_UNIQUE_ID].str.sjis[i+1] = ascii[*unq & 0x0f];
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_UNIQUE_ID].str.sjis[i+2] =
|
||||
(i+2) == (OS_TWL_HWINFO_MOVABLE_UNIQUE_ID_LEN*3 - 1) ? (char)'\0' : (char)'-' ;
|
||||
OS_TPrintf("uniqid: %d\n", *unq);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
u8 serialBuf[OS_TWL_HWINFO_SERIALNO_LEN_MAX];
|
||||
OS_GetSerialNo( serialBuf );
|
||||
@ -398,38 +489,21 @@ void getSecureHWInfo( void )
|
||||
|
||||
}
|
||||
|
||||
value = LCFG_TSD_IsFinishedInitialSetting();
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_SETTINGS].iValue = value;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_SETTINGS].str.sjis = s_strBool[ value ];
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_SETTINGS].changable = TRUE;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_SETTINGS].changeFunc.cBool = LCFG_TSD_SetFlagFinishedInitialSetting;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_SETTINGS].argType = ARG_BOOL;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_SETTINGS].kindNameList = s_strBool;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_SETTINGS].numKindName = 2;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_SETTINGS].isAligned = FALSE;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_SETTINGS].numLines = 2;
|
||||
|
||||
value = LCFG_TSD_IsFinishedInitialSetting_Launcher();
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_LAUNCHER].iValue = value;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_LAUNCHER].str.sjis = s_strBool[ value ];
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_LAUNCHER].changable = TRUE;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_LAUNCHER].changeFunc.cBool = LCFG_TSD_SetFlagFinishedInitialSetting_Launcher;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_LAUNCHER].argType = ARG_BOOL;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_LAUNCHER].kindNameList = s_strBool;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_LAUNCHER].numKindName = 2;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_LAUNCHER].isAligned = FALSE;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_INITIAL_LAUNCHER].numLines = 2;
|
||||
|
||||
value = LCFG_TSD_IsFinishedBrokenTWLSettings();
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_BROKEN_SETTINGS].iValue = value;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_BROKEN_SETTINGS].str.sjis = s_strBool[ value ];
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_BROKEN_SETTINGS].changable = TRUE;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_BROKEN_SETTINGS].changeFunc.cBool = LCFG_TSD_SetFlagFinishedBrokenTWLSettings;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_BROKEN_SETTINGS].argType = ARG_BOOL;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_BROKEN_SETTINGS].kindNameList = s_strBool;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_BROKEN_SETTINGS].numKindName = 2;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_BROKEN_SETTINGS].isAligned = FALSE;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_BROKEN_SETTINGS].numLines = 2;
|
||||
// ランチャのタイトルIDLoの取得
|
||||
if( LCFG_ReadHWSecureInfo() )
|
||||
{
|
||||
const u8 *titleIDLo = LCFG_THW_GetLauncherTitleID_LoPtr();
|
||||
value = ( int )( titleIDLo[0] << 8*3 |
|
||||
titleIDLo[1] << 8*2 |
|
||||
titleIDLo[2] << 8*1 |
|
||||
titleIDLo[3] << 8*0 );
|
||||
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_TITLEID_LO].iValue = value;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_TITLEID_LO].isNumData = TRUE;;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_TITLEID_LO].isAligned = FALSE;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_TITLEID_LO].numLines = 2;
|
||||
gAllInfo[MENU_SECURE_HW][SECURE_HW_TITLEID_LO].fromLCFG = TRUE;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -11,8 +11,8 @@
|
||||
in whole or in part, without the prior written consent of Nintendo.
|
||||
|
||||
$Date:: $
|
||||
$Rev:$
|
||||
$Author:$
|
||||
$Rev$
|
||||
$Author$
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __LOAD_VIEW_INFO__
|
||||
@ -39,6 +39,7 @@ typedef struct DispInfoEntry
|
||||
BOOL isNumData; // 表示するときは数値データか文字列データか
|
||||
BOOL isSjis; // UTF16で描画するデータだけFALSE isNumData=TRUEなら未定義
|
||||
BOOL isAligned; // 一列に表示できるならTRUE、字下げが必要ならFALSE
|
||||
BOOL fromLCFG; // LCFGから取得したデータは色つけて表示
|
||||
int numLines; // 項目名、項目内容を表示するのに必要な行数
|
||||
|
||||
const char *kind; // 項目名
|
||||
|
||||
Loading…
Reference in New Issue
Block a user