mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
本体設定にEULA設定を追加。
本体設定のキー上下での数値入力操作を調整。 CheckPreloadParametersにEULA設定を追加。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1310 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
a5907480a9
commit
0b9e7a66db
@ -221,7 +221,8 @@ s32 ReadFirmwareBinary(char *path, u32 offset, u8 *buffer, s32 bufSize)
|
|||||||
return flen;
|
return flen;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
//#define USE_LOCAL_PUBKEY
|
||||||
|
#ifdef USE_LOCAL_PUBKEY
|
||||||
static const u8 s_pubkey9_1[ 0x80 ] = {
|
static const u8 s_pubkey9_1[ 0x80 ] = {
|
||||||
0xb6, 0x18, 0xd8, 0x61, 0x28, 0xcb, 0x5c, 0x6f, 0x05, 0xfc, 0xd7, 0x09, 0x18, 0x3f, 0xb2, 0xd0,
|
0xb6, 0x18, 0xd8, 0x61, 0x28, 0xcb, 0x5c, 0x6f, 0x05, 0xfc, 0xd7, 0x09, 0x18, 0x3f, 0xb2, 0xd0,
|
||||||
0x6b, 0x7d, 0xee, 0xd9, 0x98, 0xdc, 0x4f, 0xdd, 0xc1, 0xa8, 0x59, 0x18, 0xfb, 0xb0, 0x65, 0xbd,
|
0x6b, 0x7d, 0xee, 0xd9, 0x98, 0xdc, 0x4f, 0xdd, 0xc1, 0xa8, 0x59, 0x18, 0xfb, 0xb0, 0x65, 0xbd,
|
||||||
@ -251,7 +252,7 @@ BOOL VerifyWlanfirmSignature(u8* buffer, u32 length)
|
|||||||
OSTick vstart = OS_GetTick();
|
OSTick vstart = OS_GetTick();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0
|
#ifdef USE_LOCAL_PUBKEY
|
||||||
// ランチャー経由でのデバッガ起動では、鍵情報を受け取ることができない。
|
// ランチャー経由でのデバッガ起動では、鍵情報を受け取ることができない。
|
||||||
// よってリリースビルドの時は、デバッグ動作を優先して鍵を自分で持つ。
|
// よってリリースビルドの時は、デバッグ動作を優先して鍵を自分で持つ。
|
||||||
pPubkey = (u8 *)s_pubkey9_1;
|
pPubkey = (u8 *)s_pubkey9_1;
|
||||||
|
|||||||
@ -55,9 +55,10 @@ BG_DIR = ../../data
|
|||||||
SRCS = main.c MachineSetting.c \
|
SRCS = main.c MachineSetting.c \
|
||||||
setRTC.c selectLanguage.c calibrationTP.c setOwnerInfo.c selectCountry.c \
|
setRTC.c selectLanguage.c calibrationTP.c setOwnerInfo.c selectCountry.c \
|
||||||
setParentalControl.c setFreeSoftBox.c setWireless.c cleanupMachine.c \
|
setParentalControl.c setFreeSoftBox.c setWireless.c cleanupMachine.c \
|
||||||
CountryNameMappingData.c \
|
setEULA.c \
|
||||||
|
CountryNameMappingData.c \
|
||||||
$(MISC_DIR)/src/misc.c $(MISC_DIR)/src/cmn.c \
|
$(MISC_DIR)/src/misc.c $(MISC_DIR)/src/cmn.c \
|
||||||
$(BG_DIR)/BGData_MachineSettings.c
|
$(BG_DIR)/BGData_MachineSettings.c
|
||||||
|
|
||||||
LINCLUDES = $(MISC_DIR)/include
|
LINCLUDES = $(MISC_DIR)/include
|
||||||
|
|
||||||
|
|||||||
@ -38,9 +38,9 @@
|
|||||||
#else // !OUTSIDE_UI
|
#else // !OUTSIDE_UI
|
||||||
|
|
||||||
#ifdef BROADON_UI
|
#ifdef BROADON_UI
|
||||||
#define SETTING_MENU_ELEMENT_NUM 9 // BroadON—p
|
#define SETTING_MENU_ELEMENT_NUM 10 // BroadON—p
|
||||||
#else // !BROADON_UI
|
#else // !BROADON_UI
|
||||||
#define SETTING_MENU_ELEMENT_NUM 8 // ŽÐ“à—p
|
#define SETTING_MENU_ELEMENT_NUM 9 // ŽÐ“à—p
|
||||||
#endif // BROADON_UI
|
#endif // BROADON_UI
|
||||||
|
|
||||||
#endif // OUTSIDE_UI
|
#endif // OUTSIDE_UI
|
||||||
@ -146,6 +146,16 @@ static const u16 *const s_pStrSettingElemTbl[ SETTING_MENU_ELEMENT_NUM ][ LCFG_T
|
|||||||
(const u16 *)L"PARENTAL CONTROL(C)",
|
(const u16 *)L"PARENTAL CONTROL(C)",
|
||||||
(const u16 *)L"PARENTAL CONTROL(K)",
|
(const u16 *)L"PARENTAL CONTROL(K)",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
(const u16 *)L"EULA",
|
||||||
|
(const u16 *)L"EULA",
|
||||||
|
(const u16 *)L"EULA(F)",
|
||||||
|
(const u16 *)L"EULA(G)",
|
||||||
|
(const u16 *)L"EULA(I)",
|
||||||
|
(const u16 *)L"EULA(S)",
|
||||||
|
(const u16 *)L"EULA(C)",
|
||||||
|
(const u16 *)L"EULA(K)",
|
||||||
|
},
|
||||||
#ifdef BROADON_UI
|
#ifdef BROADON_UI
|
||||||
{
|
{
|
||||||
(const u16 *)L"フリーソフトBOX",
|
(const u16 *)L"フリーソフトBOX",
|
||||||
@ -295,6 +305,10 @@ int MachineSettingMain( void )
|
|||||||
g_pNowProcess = SetParentalControlMain;
|
g_pNowProcess = SetParentalControlMain;
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
|
SetEULAInit();
|
||||||
|
g_pNowProcess = SetEULAMain;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
SetFreeSoftBoxInit();
|
SetFreeSoftBoxInit();
|
||||||
g_pNowProcess = SetFreeSoftBoxMain;
|
g_pNowProcess = SetFreeSoftBoxMain;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -75,6 +75,8 @@ extern void SetFreeSoftBoxInit( void );
|
|||||||
extern int SetFreeSoftBoxMain( void );
|
extern int SetFreeSoftBoxMain( void );
|
||||||
extern void CleanupMachineInit( void );
|
extern void CleanupMachineInit( void );
|
||||||
extern int CleanupMachineMain( void );
|
extern int CleanupMachineMain( void );
|
||||||
|
extern void SetEULAInit( void );
|
||||||
|
extern int SetEULAMain( void );
|
||||||
|
|
||||||
extern void DrawOKCancelButton( void );
|
extern void DrawOKCancelButton( void );
|
||||||
extern void CheckOKCancelButton(BOOL *tp_ok, BOOL *tp_cancel);
|
extern void CheckOKCancelButton(BOOL *tp_ok, BOOL *tp_cancel);
|
||||||
|
|||||||
634
build/systemMenu_RED/MachineSettings/ARM9/src/setEULA.c
Normal file
634
build/systemMenu_RED/MachineSettings/ARM9/src/setEULA.c
Normal file
@ -0,0 +1,634 @@
|
|||||||
|
/*---------------------------------------------------------------------------*
|
||||||
|
Project: TwlIPL
|
||||||
|
File: setEULA.c
|
||||||
|
|
||||||
|
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$
|
||||||
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include <twl.h>
|
||||||
|
#include "misc.h"
|
||||||
|
#include "MachineSetting.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
// <処理>
|
||||||
|
// 以下のEULA設定
|
||||||
|
// ++ agree/not agreeフラグ
|
||||||
|
// ++ agree eula version
|
||||||
|
// <例外処理>
|
||||||
|
//
|
||||||
|
|
||||||
|
// テスト表示
|
||||||
|
#if 1
|
||||||
|
#define DEBUGPRINT OS_TPrintf
|
||||||
|
#else
|
||||||
|
#define DEBUGPRINT(...) ((void)0)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// define data----------------------------------
|
||||||
|
|
||||||
|
// ソフトウェアキーボードLCD領域
|
||||||
|
#define CLIST_LT_X 23
|
||||||
|
#define CLIST_LT_Y 50
|
||||||
|
#define CLIST_MARGIN 14
|
||||||
|
#define CLIST_KEY_PER_SEGMENT 5
|
||||||
|
#define CLIST_SEGMENT_INTERVAL 7
|
||||||
|
|
||||||
|
// キャンセルボタン領域
|
||||||
|
#define CANCEL_BUTTON_TOP_X ( 2 * 8 )
|
||||||
|
#define CANCEL_BUTTON_TOP_Y ( 21 * 8 )
|
||||||
|
#define CANCEL_BUTTON_BOTTOM_X ( CANCEL_BUTTON_TOP_X + (8 * 8) )
|
||||||
|
#define CANCEL_BUTTON_BOTTOM_Y ( CANCEL_BUTTON_TOP_Y + (2 * 8) )
|
||||||
|
|
||||||
|
// OKボタン領域
|
||||||
|
#define OK_BUTTON_TOP_X ( 26 * 8 )
|
||||||
|
#define OK_BUTTON_TOP_Y ( 21 * 8 )
|
||||||
|
#define OK_BUTTON_BOTTOM_X ( OK_BUTTON_TOP_X + (4 * 8) )
|
||||||
|
#define OK_BUTTON_BOTTOM_Y ( OK_BUTTON_TOP_Y + (2 * 8) )
|
||||||
|
|
||||||
|
// ON/OFFボタン領域
|
||||||
|
#define ON_BUTTON_TOP_X ( 6 * 8 )
|
||||||
|
#define ON_BUTTON_TOP_Y ( 8 * 8 )
|
||||||
|
#define ON_BUTTON_BOTTOM_X ( ON_BUTTON_TOP_X + (2 * 8) )
|
||||||
|
#define ON_BUTTON_BOTTOM_Y ( ON_BUTTON_TOP_Y + (2 * 8) )
|
||||||
|
#define OFF_BUTTON_TOP_X ( 18 * 8 )
|
||||||
|
#define OFF_BUTTON_TOP_Y ( 8 * 8 )
|
||||||
|
#define OFF_BUTTON_BOTTOM_X ( OFF_BUTTON_TOP_X + (3 * 8) )
|
||||||
|
#define OFF_BUTTON_BOTTOM_Y ( OFF_BUTTON_TOP_Y + (2 * 8) )
|
||||||
|
|
||||||
|
// UP/DOWNボタン領域
|
||||||
|
#define UP_BUTTON_TOP_X ( 21 * 8 )
|
||||||
|
#define UP_BUTTON_TOP_Y ( 7 * 8 )
|
||||||
|
#define UP_BUTTON_BOTTOM_X ( UP_BUTTON_TOP_X + (2 * 8) )
|
||||||
|
#define UP_BUTTON_BOTTOM_Y ( UP_BUTTON_TOP_Y + (2 * 8) )
|
||||||
|
#define DOWN_BUTTON_TOP_X ( 21 * 8 )
|
||||||
|
#define DOWN_BUTTON_TOP_Y ( 13 * 8 )
|
||||||
|
#define DOWN_BUTTON_BOTTOM_X ( DOWN_BUTTON_TOP_X + (2 * 8) )
|
||||||
|
#define DOWN_BUTTON_BOTTOM_Y ( DOWN_BUTTON_TOP_Y + (2 * 8) )
|
||||||
|
|
||||||
|
|
||||||
|
// 項目の総数
|
||||||
|
#define MS_EULA_NUMOF_ELEMENTS 2
|
||||||
|
|
||||||
|
// ソフトウェアキーボードのパラメータ
|
||||||
|
#define CHAR_LIST_CHAR_NUM 120
|
||||||
|
#define CHAR_LIST_MODE_NUM 3
|
||||||
|
|
||||||
|
// 特殊キーコード
|
||||||
|
#define EOM_ (u16)0xe050
|
||||||
|
#define CODE_BUTTON_TOP_ (u16)0xe051
|
||||||
|
#define DEL_BUTTON_ (u16)0xe051
|
||||||
|
#define SPACE_BUTTON_ (u16)0xe052
|
||||||
|
#define VAR_BUTTON1_ (u16)0xe053
|
||||||
|
#define VAR_BUTTON2_ (u16)0xe054
|
||||||
|
#define OK_BUTTON_ (u16)0xe055
|
||||||
|
#define CANCEL_BUTTON_ (u16)0xe056
|
||||||
|
#define CODE_BUTTON_BOTTOM_ (u16)0xe057
|
||||||
|
|
||||||
|
#define CHAR_USCORE L'_'
|
||||||
|
#define KEY_PER_LINE 11
|
||||||
|
|
||||||
|
#define KEY_START 109 //ソフトウェアキーのカーソルデフォルト位置はキャンセルキー
|
||||||
|
|
||||||
|
#define KEY_OK 0xffff
|
||||||
|
#define KEY_CANCEL 0xfffe
|
||||||
|
#define KEY_PREVPAGE 0xfffd
|
||||||
|
#define KEY_SUCCPAGE 0xfffc
|
||||||
|
#define KEY_ON 0xfffb
|
||||||
|
#define KEY_OFF 0xfffa
|
||||||
|
#define KEY_UP 0xfff9
|
||||||
|
#define KEY_DOWN 0xfff8
|
||||||
|
#define MULTI_KEY_UP 0xffe0
|
||||||
|
#define MULTI_KEY_DOWN 0xffd0
|
||||||
|
#define MASK_MULTI_KEY 0xfff0
|
||||||
|
|
||||||
|
// extern data----------------------------------
|
||||||
|
|
||||||
|
extern u32 bg_char_data[8 * 6];
|
||||||
|
extern u16 bg_scr_data[32 * 32];
|
||||||
|
extern u16 bg_birth_scr_data[32 * 32];
|
||||||
|
|
||||||
|
// function's prototype-------------------------
|
||||||
|
|
||||||
|
static void SetAgreeEULAInit( void );
|
||||||
|
static int SetAgreeEULAMain( void );
|
||||||
|
static void SetAgreedVersionInit( void );
|
||||||
|
static int SetAgreedVersionMain( void );
|
||||||
|
|
||||||
|
// static variable------------------------------
|
||||||
|
// 一時的にしか使わない物をstaticにしているので
|
||||||
|
// 少しでもダイエットしたい時はWork扱いにしてAlloc→Freeしましょう
|
||||||
|
|
||||||
|
// メニューで使用
|
||||||
|
static u16 sCursorMenu = 0;
|
||||||
|
|
||||||
|
// 特定のモードでのみ使用
|
||||||
|
static BOOL sbAgreeEULA = FALSE;
|
||||||
|
static u8 sAgreedVersion;
|
||||||
|
|
||||||
|
// const data-----------------------------------
|
||||||
|
|
||||||
|
// ++ メインメニュー
|
||||||
|
|
||||||
|
static const u16 *s_pStrSetting[ MS_EULA_NUMOF_ELEMENTS ]; // メインメニュー用文字テーブルへのポインタリスト
|
||||||
|
|
||||||
|
static const u16 *const s_pStrSettingElemTbl[ MS_EULA_NUMOF_ELEMENTS ][ LCFG_TWL_LANG_CODE_MAX ] = {
|
||||||
|
|
||||||
|
{
|
||||||
|
(const u16 *)L"EULAへの同意",
|
||||||
|
(const u16 *)L"Agree to EULA",
|
||||||
|
(const u16 *)L"Agree to EULA(F)",
|
||||||
|
(const u16 *)L"Agree to EULA(G)",
|
||||||
|
(const u16 *)L"Agree to EULA(I)",
|
||||||
|
(const u16 *)L"Agree to EULA(S)",
|
||||||
|
(const u16 *)L"Agree to EULA(C)",
|
||||||
|
(const u16 *)L"Agree to EULA(K)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
(const u16 *)L"同意したバージョン",
|
||||||
|
(const u16 *)L"Agreed version",
|
||||||
|
(const u16 *)L"Agreed version(F)",
|
||||||
|
(const u16 *)L"Agreed version(G)",
|
||||||
|
(const u16 *)L"Agreed version(I)",
|
||||||
|
(const u16 *)L"Agreed version(S)",
|
||||||
|
(const u16 *)L"Agreed version(C)",
|
||||||
|
(const u16 *)L"Agreed version(K)",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
// 表示位置
|
||||||
|
static MenuPos s_settingPos[] = {
|
||||||
|
|
||||||
|
{ TRUE, 2 * 8, 6 * 8 },
|
||||||
|
{ TRUE, 2 * 8, 10 * 8 },
|
||||||
|
};
|
||||||
|
|
||||||
|
// 表示パラメータ
|
||||||
|
static const MenuParam s_settingParam =
|
||||||
|
{
|
||||||
|
MS_EULA_NUMOF_ELEMENTS,
|
||||||
|
TXT_COLOR_BLACK,
|
||||||
|
TXT_COLOR_GREEN,
|
||||||
|
TXT_COLOR_RED,
|
||||||
|
&s_settingPos[0],
|
||||||
|
(const u16 **)&s_pStrSetting,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//=========================================================
|
||||||
|
//
|
||||||
|
// ボタンのタッチ処理
|
||||||
|
//
|
||||||
|
//=========================================================
|
||||||
|
|
||||||
|
// キャンセルボタン専用SelectSomethingFuncの実装
|
||||||
|
static BOOL SelectCancelFunc( u16 *csr, TPData *tgt )
|
||||||
|
{
|
||||||
|
BOOL ret;
|
||||||
|
ret = WithinRangeTP( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y,
|
||||||
|
CANCEL_BUTTON_BOTTOM_X, CANCEL_BUTTON_BOTTOM_Y, tgt );
|
||||||
|
if(ret) *csr = KEY_CANCEL;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// OKボタン専用SelectSomethingFuncの実装
|
||||||
|
static BOOL SelectOKFunc( u16 *csr, TPData *tgt )
|
||||||
|
{
|
||||||
|
BOOL ret;
|
||||||
|
ret = WithinRangeTP( OK_BUTTON_TOP_X, OK_BUTTON_TOP_Y,
|
||||||
|
OK_BUTTON_BOTTOM_X, OK_BUTTON_BOTTOM_Y, tgt );
|
||||||
|
if(ret) *csr = KEY_OK;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ON/OFFボタン専用SelectSomethingFuncの実装
|
||||||
|
static BOOL SelectONFunc( u16 *csr, TPData *tgt )
|
||||||
|
{
|
||||||
|
BOOL ret;
|
||||||
|
ret = WithinRangeTP( ON_BUTTON_TOP_X, ON_BUTTON_TOP_Y,
|
||||||
|
ON_BUTTON_BOTTOM_X, ON_BUTTON_BOTTOM_Y, tgt );
|
||||||
|
if(ret) *csr = KEY_ON;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
static BOOL SelectOFFFunc( u16 *csr, TPData *tgt )
|
||||||
|
{
|
||||||
|
BOOL ret;
|
||||||
|
ret = WithinRangeTP( OFF_BUTTON_TOP_X, OFF_BUTTON_TOP_Y,
|
||||||
|
OFF_BUTTON_BOTTOM_X, OFF_BUTTON_BOTTOM_Y, tgt );
|
||||||
|
if(ret) *csr = KEY_OFF;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// UP/DOWNボタンの長押しとトリガを検出する
|
||||||
|
static BOOL DetectTouchUD( u16 *csr )
|
||||||
|
{
|
||||||
|
BOOL curr[2] = {FALSE, FALSE}; // 0:UP/1:DOWN
|
||||||
|
static BOOL prev[2] = {FALSE, FALSE}; // トリガ検出のために前の状態を記憶させる
|
||||||
|
BOOL trg[2] = {FALSE, FALSE};
|
||||||
|
BOOL rep[2] = {FALSE, FALSE}; // 長押し
|
||||||
|
static u8 count[2] = {0, 0}; // 何フレーム連続で押されているか
|
||||||
|
BOOL ret = FALSE;
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
for( i=0; i < 2; i++ )
|
||||||
|
{
|
||||||
|
switch(i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
curr[i] = WithinRangeTP( UP_BUTTON_TOP_X, UP_BUTTON_TOP_Y,
|
||||||
|
UP_BUTTON_BOTTOM_X, UP_BUTTON_BOTTOM_Y, &tpd.disp );
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
curr[i] = WithinRangeTP( DOWN_BUTTON_TOP_X, DOWN_BUTTON_TOP_Y,
|
||||||
|
DOWN_BUTTON_BOTTOM_X, DOWN_BUTTON_BOTTOM_Y, &tpd.disp );
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// はじめて押されたかどうか
|
||||||
|
if( !prev[i] && curr[i] )
|
||||||
|
{
|
||||||
|
trg[i] = TRUE;
|
||||||
|
}
|
||||||
|
// 長押しカウント
|
||||||
|
if( curr[i] )
|
||||||
|
{
|
||||||
|
if( trg[i] )
|
||||||
|
{
|
||||||
|
count[i] = 1;
|
||||||
|
}
|
||||||
|
else if( count[i] > 25 )
|
||||||
|
{
|
||||||
|
count[i] = 25 - 10;
|
||||||
|
rep[i] = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
(count[i])++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else // 押されていないとき
|
||||||
|
{
|
||||||
|
count[i] = 0;
|
||||||
|
}
|
||||||
|
prev[i] = curr[i]; // 状態を記憶
|
||||||
|
}
|
||||||
|
|
||||||
|
if(trg[0] || rep[0])
|
||||||
|
{
|
||||||
|
*csr = KEY_UP;
|
||||||
|
ret = TRUE;
|
||||||
|
}
|
||||||
|
else if(trg[1] || rep[1])
|
||||||
|
{
|
||||||
|
*csr = KEY_DOWN;
|
||||||
|
ret = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret = FALSE;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// パッドのキーの長押しを検出(ReadPad()を呼び出しているループ内で呼ばれる必要がある)
|
||||||
|
static u16 DetectPadRepeat( void )
|
||||||
|
{
|
||||||
|
static u8 repcount[12]; // 各キーが長押しされているフレーム数
|
||||||
|
u16 rep = 0;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for( i=0; i < 12; i++ ) // 全部のキーについて
|
||||||
|
{
|
||||||
|
if( pad.trg & ((u16)(0x0001 << i)) ) // 押されたらカウントし始める
|
||||||
|
{
|
||||||
|
repcount[i] = 1;
|
||||||
|
}
|
||||||
|
else if( pad.cont & ((u16)(0x0001 << i)) )
|
||||||
|
{
|
||||||
|
if( repcount[i] > 25 ) // ある一定以上のフレーム数押されていたら長押しされていたと判定
|
||||||
|
{
|
||||||
|
rep = (u16)(rep | (u16)(0x0001 << i));
|
||||||
|
repcount[i] = 25 - 10;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
repcount[i]++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
repcount[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rep;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=========================================================
|
||||||
|
//
|
||||||
|
// メインメニュー
|
||||||
|
//
|
||||||
|
//=========================================================
|
||||||
|
|
||||||
|
// 描画
|
||||||
|
static void DrawEULAMenuScene( void )
|
||||||
|
{
|
||||||
|
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
|
||||||
|
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"EULA" );
|
||||||
|
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_UCOLOR_G0, (const u16 *)L"<EFBFBD>RETURN" );
|
||||||
|
// メニュー項目
|
||||||
|
DrawMenu( sCursorMenu, &s_settingParam );
|
||||||
|
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
// あらかじめTWL設定データファイルから読み込み済みの設定を取得して表示
|
||||||
|
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
PutStringUTF16( 21*8, s_settingPos[0].y, TXT_UCOLOR_G0,
|
||||||
|
LCFG_TSD_IsAgreeEULA() ? (const u16*)L"Agree":(const u16*)L"Not agree" );
|
||||||
|
PrintfSJIS( 21*8, s_settingPos[1].y, TXT_UCOLOR_G0, "%d",
|
||||||
|
LCFG_TSD_GetAgreedEULAVersion() );
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初期化
|
||||||
|
void SetEULAInit( void )
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
// NITRO設定データのlanguageに応じたメインメニュー構成言語の切り替え
|
||||||
|
for( i=0; i < MS_EULA_NUMOF_ELEMENTS; i++ )
|
||||||
|
{
|
||||||
|
s_pStrSetting[ i ] = s_pStrSettingElemTbl[ i ][ LCFG_TSD_GetLanguage() ];
|
||||||
|
}
|
||||||
|
|
||||||
|
// BGデータのロード処理
|
||||||
|
GX_LoadBG1Char(bg_char_data, 0, sizeof(bg_char_data));
|
||||||
|
GX_LoadBG1Scr(bg_scr_data, 0, sizeof(bg_scr_data));
|
||||||
|
|
||||||
|
DrawEULAMenuScene();
|
||||||
|
|
||||||
|
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
|
||||||
|
|
||||||
|
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
|
||||||
|
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// メニューから呼ばれるメイン
|
||||||
|
int SetEULAMain( void )
|
||||||
|
{
|
||||||
|
SelectSomethingFunc func[1]={SelectCancelFunc};
|
||||||
|
BOOL tp_select;
|
||||||
|
BOOL tpCommit = FALSE;
|
||||||
|
u16 padrep;
|
||||||
|
static u16 commit;
|
||||||
|
|
||||||
|
ReadTP();
|
||||||
|
|
||||||
|
padrep = DetectPadRepeat(); // 長押し検出
|
||||||
|
|
||||||
|
// メニューからの項目選択
|
||||||
|
if( (pad.trg & PAD_KEY_DOWN) || (padrep & PAD_KEY_DOWN) ){ // カーソルの移動
|
||||||
|
if( ++sCursorMenu >= MS_EULA_NUMOF_ELEMENTS ) {
|
||||||
|
sCursorMenu = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( (pad.trg & PAD_KEY_UP) || (padrep & PAD_KEY_UP) ){
|
||||||
|
if( --sCursorMenu & 0x80 ) {
|
||||||
|
sCursorMenu = (u16)(MS_EULA_NUMOF_ELEMENTS - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tp_select = SelectMenuByTP( &sCursorMenu, &s_settingParam );
|
||||||
|
|
||||||
|
// 特殊ボタンタッチ
|
||||||
|
tpCommit = SelectSomethingByTP( &commit, func, 1 );
|
||||||
|
|
||||||
|
// メニューへの分岐
|
||||||
|
if( ( pad.trg & PAD_BUTTON_A ) || ( tp_select ) ) { // メニュー項目への分岐
|
||||||
|
if( (s_settingParam.pos[sCursorMenu]).enable ) {
|
||||||
|
switch( sCursorMenu )
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
SetAgreeEULAInit();
|
||||||
|
g_pNowProcess = SetAgreeEULAMain;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
SetAgreedVersionInit();
|
||||||
|
g_pNowProcess = SetAgreedVersionMain;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} // if( (s_settingParam.pos[sCursorMenu]).enable )
|
||||||
|
} // if( ( pad.trg & PAD_BUTTON_A ) || ( tp_select ) )
|
||||||
|
else if( (pad.trg & PAD_BUTTON_B) || (tpCommit && (commit == KEY_CANCEL)) )
|
||||||
|
{
|
||||||
|
MachineSettingInit();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 再描画
|
||||||
|
DrawEULAMenuScene();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=========================================================
|
||||||
|
//
|
||||||
|
// EULA同意/非同意のセット
|
||||||
|
//
|
||||||
|
//=========================================================
|
||||||
|
|
||||||
|
// 描画処理
|
||||||
|
static void DrawSetAgreeEULAScene( void )
|
||||||
|
{
|
||||||
|
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
|
||||||
|
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"Agree EULA" );
|
||||||
|
|
||||||
|
if( !sbAgreeEULA )
|
||||||
|
{
|
||||||
|
PutStringUTF16( ON_BUTTON_TOP_X, ON_BUTTON_TOP_Y, TXT_COLOR_GREEN, (const u16*)L"Not agree" );
|
||||||
|
PutStringUTF16( OFF_BUTTON_TOP_X, OFF_BUTTON_TOP_Y, TXT_UCOLOR_G0, (const u16*)L"Agree" );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PutStringUTF16( ON_BUTTON_TOP_X, ON_BUTTON_TOP_Y, TXT_UCOLOR_G0, (const u16*)L"Not agree" );
|
||||||
|
PutStringUTF16( OFF_BUTTON_TOP_X, OFF_BUTTON_TOP_Y, TXT_COLOR_GREEN, (const u16*)L"Agree" );
|
||||||
|
}
|
||||||
|
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_UCOLOR_G0, (const u16 *)L"<EFBFBD>CANCEL" );
|
||||||
|
PutStringUTF16( OK_BUTTON_TOP_X, OK_BUTTON_TOP_Y, TXT_UCOLOR_G0, (const u16 *)L"<EFBFBD>OK" );
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初期化
|
||||||
|
static void SetAgreeEULAInit( void )
|
||||||
|
{
|
||||||
|
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
|
||||||
|
|
||||||
|
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
// あらかじめTWL設定データファイルから読み込み済みの設定を取得
|
||||||
|
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
sbAgreeEULA = LCFG_TSD_IsAgreeEULA();
|
||||||
|
|
||||||
|
DrawSetAgreeEULAScene();
|
||||||
|
|
||||||
|
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
|
||||||
|
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// 表示プロセスとして呼び出されるメイン
|
||||||
|
static int SetAgreeEULAMain( void )
|
||||||
|
{
|
||||||
|
SelectSomethingFunc func[4]={SelectCancelFunc, SelectOKFunc, SelectONFunc, SelectOFFFunc };
|
||||||
|
u16 commit;
|
||||||
|
BOOL tp_touch = FALSE;
|
||||||
|
|
||||||
|
ReadTP();
|
||||||
|
|
||||||
|
// キーによる選択
|
||||||
|
if( (pad.trg & PAD_KEY_LEFT) || (pad.trg & PAD_KEY_RIGHT) )
|
||||||
|
{
|
||||||
|
sbAgreeEULA = !sbAgreeEULA;
|
||||||
|
}
|
||||||
|
|
||||||
|
// タッチによる選択
|
||||||
|
tp_touch = SelectSomethingByTP( &commit, func, 4 );
|
||||||
|
if( tp_touch && (commit == KEY_ON) )
|
||||||
|
{
|
||||||
|
sbAgreeEULA = TRUE;
|
||||||
|
}
|
||||||
|
else if( tp_touch && (commit == KEY_OFF) )
|
||||||
|
{
|
||||||
|
sbAgreeEULA = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 決定
|
||||||
|
if( (pad.trg & PAD_BUTTON_A) || (tp_touch && (commit == KEY_OK)) )
|
||||||
|
{
|
||||||
|
LCFG_TSD_SetFlagAgreeEULA( sbAgreeEULA );
|
||||||
|
if( !sbAgreeEULA ) {
|
||||||
|
LCFG_TSD_SetAgreedEULAVersion( 0 );
|
||||||
|
}
|
||||||
|
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
// TWL設定データファイルへの書き込み
|
||||||
|
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
if( !MY_WriteTWLSettings() )
|
||||||
|
{
|
||||||
|
OS_TPrintf( "TWL settings write failed.\n" );
|
||||||
|
}
|
||||||
|
OS_TPrintf( "AgreeEULA : %s\n", OS_IsAgreeEULA() ? "Agree" : "Not agree" );
|
||||||
|
SetEULAInit();
|
||||||
|
g_pNowProcess = SetEULAMain;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else if( (pad.trg & PAD_BUTTON_B) || (tp_touch && (commit == KEY_CANCEL)) )
|
||||||
|
{
|
||||||
|
SetEULAInit(); // キャンセルのときセットしない
|
||||||
|
g_pNowProcess = SetEULAMain;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
DrawSetAgreeEULAScene();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//=========================================================
|
||||||
|
//
|
||||||
|
// 同意EULAバージョンのセット
|
||||||
|
//
|
||||||
|
//=========================================================
|
||||||
|
|
||||||
|
// 描画処理
|
||||||
|
static void DrawSetAgreedVersionScene( void )
|
||||||
|
{
|
||||||
|
u16 iconUp[2] = {0xE01B, 0};
|
||||||
|
u16 iconDown[2] = {0xE01C, 0};
|
||||||
|
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
|
||||||
|
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"AGREED EULA VERSION" );
|
||||||
|
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_UCOLOR_G0, (const u16 *)L"<EFBFBD>CANCEL" );
|
||||||
|
PutStringUTF16( OK_BUTTON_TOP_X, OK_BUTTON_TOP_Y, TXT_UCOLOR_G0, (const u16 *)L"<EFBFBD>OK" );
|
||||||
|
PutStringUTF16( UP_BUTTON_TOP_X, UP_BUTTON_TOP_Y, TXT_UCOLOR_G0, (const u16 *)iconUp );
|
||||||
|
PutStringUTF16( DOWN_BUTTON_TOP_X, DOWN_BUTTON_TOP_Y, TXT_UCOLOR_G0, (const u16 *)iconDown );
|
||||||
|
PutStringUTF16( 4*8, 10*8, TXT_UCOLOR_G0, (const u16 *)L"Agreed EULA ver." );
|
||||||
|
PrintfSJIS( 20*8, 10*8, TXT_COLOR_GREEN, "%3d", sAgreedVersion );
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初期化
|
||||||
|
static void SetAgreedVersionInit( void )
|
||||||
|
{
|
||||||
|
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
// あらかじめTWL設定データファイルから読み込み済みの設定を取得
|
||||||
|
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
sAgreedVersion = LCFG_TSD_GetAgreedEULAVersion();
|
||||||
|
|
||||||
|
DrawSetAgreedVersionScene();
|
||||||
|
|
||||||
|
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
|
||||||
|
|
||||||
|
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
|
||||||
|
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
// 表示プロセスとして呼び出されるメイン
|
||||||
|
static int SetAgreedVersionMain( void )
|
||||||
|
{
|
||||||
|
SelectSomethingFunc func[2]={SelectCancelFunc, SelectOKFunc};
|
||||||
|
BOOL tpCommit = FALSE;
|
||||||
|
BOOL tpUD = FALSE;
|
||||||
|
u16 csrCommit;
|
||||||
|
u16 csrUD;
|
||||||
|
u16 padrep;
|
||||||
|
|
||||||
|
ReadTP();
|
||||||
|
|
||||||
|
// TPチェック
|
||||||
|
tpCommit = SelectSomethingByTP( &csrCommit, func, 2 );
|
||||||
|
tpUD = DetectTouchUD( &csrUD );
|
||||||
|
|
||||||
|
padrep = DetectPadRepeat(); // キーの長押し検出
|
||||||
|
|
||||||
|
// 変更
|
||||||
|
if( (pad.trg & PAD_KEY_UP) || (padrep & PAD_KEY_UP) || (tpUD && (csrUD == KEY_UP)) )
|
||||||
|
{
|
||||||
|
--sAgreedVersion;
|
||||||
|
}
|
||||||
|
if( (pad.trg & PAD_KEY_DOWN) || (padrep & PAD_KEY_DOWN) || (tpUD && (csrUD == KEY_DOWN)) )
|
||||||
|
{
|
||||||
|
++sAgreedVersion;
|
||||||
|
}
|
||||||
|
if(pad.trg & PAD_BUTTON_START)
|
||||||
|
{
|
||||||
|
sAgreedVersion = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 決定
|
||||||
|
if( pad.trg & PAD_BUTTON_A || (tpCommit && (csrCommit == KEY_OK)) )
|
||||||
|
{
|
||||||
|
LCFG_TSD_SetAgreedEULAVersion( sAgreedVersion );
|
||||||
|
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
// TWL設定データファイルへの書き込み
|
||||||
|
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
|
if( !MY_WriteTWLSettings() )
|
||||||
|
{
|
||||||
|
OS_TPrintf( "TWL settings write failed.\n" );
|
||||||
|
}
|
||||||
|
OS_TPrintf( "Agreed EULA version : %d\n", OS_GetAgreedEULAVersion );
|
||||||
|
SetEULAInit();
|
||||||
|
g_pNowProcess = SetEULAMain;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else if( ( pad.trg & PAD_BUTTON_B ) || (tpCommit && (csrCommit == KEY_CANCEL)) )
|
||||||
|
{
|
||||||
|
SetEULAInit();
|
||||||
|
g_pNowProcess = SetEULAMain;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 再描画
|
||||||
|
DrawSetAgreedVersionScene();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
@ -705,19 +705,19 @@ static void Birthday_AutoNumScrollByTP( void )
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
s_birth_csr = TRUE;
|
s_birth_csr = TRUE;
|
||||||
s_temp_birthday.month++;
|
s_temp_birthday.month--;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
s_birth_csr = FALSE;
|
s_birth_csr = FALSE;
|
||||||
s_temp_birthday.day++;
|
s_temp_birthday.day--;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
s_birth_csr = TRUE;
|
s_birth_csr = TRUE;
|
||||||
s_temp_birthday.month--;
|
s_temp_birthday.month++;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
s_birth_csr = FALSE;
|
s_birth_csr = FALSE;
|
||||||
s_temp_birthday.day--;
|
s_temp_birthday.day++;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -746,10 +746,10 @@ static int SetBirthdayMain( void )
|
|||||||
// キー入力処理
|
// キー入力処理
|
||||||
//--------------------------------------
|
//--------------------------------------
|
||||||
if( pad.trg & PAD_KEY_DOWN ){
|
if( pad.trg & PAD_KEY_DOWN ){
|
||||||
(*(s_birth_csr ? &s_temp_birthday.month : &s_temp_birthday.day))--;
|
(*(s_birth_csr ? &s_temp_birthday.month : &s_temp_birthday.day))++;
|
||||||
}
|
}
|
||||||
if( pad.trg & PAD_KEY_UP ){
|
if( pad.trg & PAD_KEY_UP ){
|
||||||
(*(s_birth_csr ? &s_temp_birthday.month : &s_temp_birthday.day))++;
|
(*(s_birth_csr ? &s_temp_birthday.month : &s_temp_birthday.day))--;
|
||||||
}
|
}
|
||||||
if( pad.trg & (PAD_KEY_RIGHT | PAD_KEY_LEFT)){ // カーソルの移動
|
if( pad.trg & (PAD_KEY_RIGHT | PAD_KEY_LEFT)){ // カーソルの移動
|
||||||
s_birth_csr = !s_birth_csr;
|
s_birth_csr = !s_birth_csr;
|
||||||
|
|||||||
@ -1768,14 +1768,14 @@ static int SetRatingAgeMain( void )
|
|||||||
// 変更
|
// 変更
|
||||||
if( (pad.trg & PAD_KEY_UP) || (padrep & PAD_KEY_UP) || (tpUD && (csrUD == KEY_UP)) )
|
if( (pad.trg & PAD_KEY_UP) || (padrep & PAD_KEY_UP) || (tpUD && (csrUD == KEY_UP)) )
|
||||||
{
|
{
|
||||||
if( (++sRatingAge) > LCFG_TWL_PCTL_RATING_AGE_MAX )
|
if( (--sRatingAge) > LCFG_TWL_PCTL_RATING_AGE_MAX )
|
||||||
{
|
{
|
||||||
sRatingAge = 0;
|
sRatingAge = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( (pad.trg & PAD_KEY_DOWN) || (padrep & PAD_KEY_DOWN) || (tpUD && (csrUD == KEY_DOWN)) )
|
if( (pad.trg & PAD_KEY_DOWN) || (padrep & PAD_KEY_DOWN) || (tpUD && (csrUD == KEY_DOWN)) )
|
||||||
{
|
{
|
||||||
if( (--sRatingAge) & 0x80 )
|
if( (++sRatingAge) & 0x80 )
|
||||||
{
|
{
|
||||||
sRatingAge = LCFG_TWL_PCTL_RATING_AGE_MAX;
|
sRatingAge = LCFG_TWL_PCTL_RATING_AGE_MAX;
|
||||||
}
|
}
|
||||||
@ -1870,14 +1870,14 @@ static int SetSecretQuestionIDMain( void )
|
|||||||
// 変更
|
// 変更
|
||||||
if( (pad.trg & PAD_KEY_UP) || (rep & PAD_KEY_UP) || (tpUD && (csrUD == KEY_UP)) )
|
if( (pad.trg & PAD_KEY_UP) || (rep & PAD_KEY_UP) || (tpUD && (csrUD == KEY_UP)) )
|
||||||
{
|
{
|
||||||
if( (++sSecretQuestionID) > LCFG_TWL_PCTL_SECRET_QUESTION_ID_MAX )
|
if( (--sSecretQuestionID) > LCFG_TWL_PCTL_SECRET_QUESTION_ID_MAX )
|
||||||
{
|
{
|
||||||
sSecretQuestionID = 0;
|
sSecretQuestionID = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( (pad.trg & PAD_KEY_DOWN) || (rep & PAD_KEY_DOWN) || (tpUD && (csrUD == KEY_DOWN)) )
|
if( (pad.trg & PAD_KEY_DOWN) || (rep & PAD_KEY_DOWN) || (tpUD && (csrUD == KEY_DOWN)) )
|
||||||
{
|
{
|
||||||
if( (--sSecretQuestionID) & 0x80 )
|
if( (++sSecretQuestionID) & 0x80 )
|
||||||
{
|
{
|
||||||
sSecretQuestionID = LCFG_TWL_PCTL_SECRET_QUESTION_ID_MAX;
|
sSecretQuestionID = LCFG_TWL_PCTL_SECRET_QUESTION_ID_MAX;
|
||||||
}
|
}
|
||||||
@ -2154,14 +2154,14 @@ static int SetPasswordMain( void )
|
|||||||
// 十字キーで各桁の値を変更
|
// 十字キーで各桁の値を変更
|
||||||
if( (pad.trg & PAD_KEY_UP) || (padrep & PAD_KEY_UP) )
|
if( (pad.trg & PAD_KEY_UP) || (padrep & PAD_KEY_UP) )
|
||||||
{
|
{
|
||||||
if( ++(spBufPassword[sCursorPassword]) > 9 ) // 現在選択されている桁の値を変更
|
if( --(spBufPassword[sCursorPassword]) > 9 ) // 現在選択されている桁の値を変更
|
||||||
{
|
{
|
||||||
spBufPassword[sCursorPassword] = 0;
|
spBufPassword[sCursorPassword] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( (pad.trg & PAD_KEY_DOWN) || (padrep & PAD_KEY_DOWN) )
|
if( (pad.trg & PAD_KEY_DOWN) || (padrep & PAD_KEY_DOWN) )
|
||||||
{
|
{
|
||||||
if( --(spBufPassword[sCursorPassword]) & 0x80 )
|
if( ++(spBufPassword[sCursorPassword]) & 0x80 )
|
||||||
{
|
{
|
||||||
(spBufPassword[sCursorPassword]) = 9;
|
(spBufPassword[sCursorPassword]) = 9;
|
||||||
}
|
}
|
||||||
@ -2175,7 +2175,7 @@ static int SetPasswordMain( void )
|
|||||||
if( tpUD && ((csrUD & MASK_MULTI_KEY) == MULTI_KEY_UP) )
|
if( tpUD && ((csrUD & MASK_MULTI_KEY) == MULTI_KEY_UP) )
|
||||||
{
|
{
|
||||||
sCursorPassword = (u16)(csrUD & ~MASK_MULTI_KEY); // 桁を特定
|
sCursorPassword = (u16)(csrUD & ~MASK_MULTI_KEY); // 桁を特定
|
||||||
if( ++(spBufPassword[sCursorPassword]) > 9 )
|
if( --(spBufPassword[sCursorPassword]) > 9 )
|
||||||
{
|
{
|
||||||
spBufPassword[sCursorPassword] = 0;
|
spBufPassword[sCursorPassword] = 0;
|
||||||
}
|
}
|
||||||
@ -2183,7 +2183,7 @@ static int SetPasswordMain( void )
|
|||||||
if( tpUD && ((csrUD & MASK_MULTI_KEY) == MULTI_KEY_DOWN) )
|
if( tpUD && ((csrUD & MASK_MULTI_KEY) == MULTI_KEY_DOWN) )
|
||||||
{
|
{
|
||||||
sCursorPassword = (u16)(csrUD & ~MASK_MULTI_KEY);
|
sCursorPassword = (u16)(csrUD & ~MASK_MULTI_KEY);
|
||||||
if( --(spBufPassword[sCursorPassword]) & 0x80 )
|
if( ++(spBufPassword[sCursorPassword]) & 0x80 )
|
||||||
{
|
{
|
||||||
(spBufPassword[sCursorPassword]) = 9;
|
(spBufPassword[sCursorPassword]) = 9;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -68,6 +68,9 @@ void TwlMain(void)
|
|||||||
}
|
}
|
||||||
OS_TPrintf( "Country : %s\n", s_strCountry[ s_owner.country ] );
|
OS_TPrintf( "Country : %s\n", s_strCountry[ s_owner.country ] );
|
||||||
|
|
||||||
|
OS_TPrintf( "IsAgreeEULA : %s\n", OS_IsAgreeEULA() ? "Agree" : "Not agree" );
|
||||||
|
OS_TPrintf( "AgreedEULAVersion : %d\n", OS_GetAgreedEULAVersion() );
|
||||||
|
|
||||||
OS_TPrintf( "AvailableWireless : %s\n", OS_IsAvailableWireless() ? "TRUE" : "FALSE" );
|
OS_TPrintf( "AvailableWireless : %s\n", OS_IsAvailableWireless() ? "TRUE" : "FALSE" );
|
||||||
PMi_SetWirelessLED( OS_IsAvailableWireless() ? PM_WIRELESS_LED_ON : PM_WIRELESS_LED_OFF );
|
PMi_SetWirelessLED( OS_IsAvailableWireless() ? PM_WIRELESS_LED_ON : PM_WIRELESS_LED_OFF );
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user