⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stpmenu.h

📁 mtk1389L latest sourcecode enjoy
💻 H
📖 第 1 页 / 共 5 页
字号:

#ifdef _SETUP_C

code void *vUsrFun[] = {vDrawDynRngBtn};

code sEntry _rEntryNull = { ENTRY_TYPE_NULL, NULL_BMP, 0, 0, NULL_EE_ITEM, 0, 0, 0, 0, 0};

code sEntry _rEntryMain = { ENTRY_TYPE_SUBMENU, NULL_BMP, OSD_MSG_MAINPAGE, OSD_MSG_BACK_TO_MAIN_PAGE, MAIN_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryToAudio = { ENTRY_TYPE_SUBMENU, BMP_STPMN_ADO_ON, OSD_MSG_TO_AUDIO_SETUP, OSD_MSG_GOTO_ADO_SETUP, ADO_PAGE,  0, 0, 0, 0, NULL_FUN};

///////////////////////////////////////////////////////////////////////////////
// Main Page

code sEntry _rEntryDD = { ENTRY_TYPE_SUBMENU,
                      #ifdef PLAYER_2_CHANNEL 
                          BMP_STPMN_DOLBY_ON,
                      #else
                          NULL_BMP, 
                      #endif
                          OSD_MSG_DOLBY_DIGITAL, OSD_MSG_GOTO_DOLBY_DIGITAL, DD_PAGE,  0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryGeneral = { ENTRY_TYPE_SUBMENU, BMP_STPMN_GR_ON, OSD_MSG_GENERAL_SETUP, OSD_MSG_GOTO_GENERAL_SETUP, GENERAL_PAGE,  0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryVdo = { ENTRY_TYPE_SUBMENU, BMP_STPMN_VDO_ON, OSD_MSG_VIDEO_SETUP, OSD_MSG_GOTO_VDO_PAGE, VDO_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntrySpk = { ENTRY_TYPE_SUBMENU, 
                         #ifdef PLAYER_2_CHANNEL
                           BMP_STPMN_ADO_ON,
                        #else
                           NULL_BMP, 
                        #endif
                           OSD_MSG_AUDIO_SETUP, OSD_MSG_GOTO_SPEAKER, SPEAKER_PAGE,  0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryPre = { ENTRY_TYPE_SUBMENU, BMP_STPMN_PR_ON, OSD_MSG_PREFERENC_PAGE, OSD_MSG_GOTO_PREFERENCE, PRE_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryToPass = { ENTRY_TYPE_SUBMENU, BMP_STPMN_PWD_ON, OSD_MSG_PASSWORD_SETUP, OSD_MSG_GOTO_PASSWORD, PASS_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryExit = { TYPE_CLOSE, BMP_STPMN_EXIT_ON, OSD_MSG_EXITSETUP, OSD_MSG_EXIT_SETUP_MENU, EXIT_PAGE, 0, 0, 0, 0, NULL_FUN};

#ifdef SIMPLE_MENU
code sEntry *_prEntryMain[] = { &_rEntryGeneral, &_rEntrySpk, &_rEntryDD, &_rEntryPre
#ifndef MTK_MENU
                               ,&_rEntryNull, &_rEntryExit
#endif
                               };
#else
code sEntry *_prEntryMain[] = { &_rEntryGeneral, &_rEntryToAudio, &_rEntryVdo, &_rEntryPre,
                               &_rEntryToPass,
#ifndef MTK_MENU
                               &_rEntryNull,
#endif
                                &_rEntryExit
                               };
#endif

//code sMenu _rPageMain = {NML_SPACE, PAGE_TOP,
code sMenu _rPageMain = {PAGE_TYPE_MAINMENU,
                         OSD_MSG_SETUP_MENU, OSD_MSG_SETUP_MENU_D, TBL_SIZE(_prEntryMain),
                         _prEntryMain, NULL_FUN, CHK_MAIN};

///////////////////////////////////////////////////////////////////////////////
// Password Page

#if (defined(PTL_PWD_MODE_SW) || defined(SET_PTL_NEED_PWD))
// - Password Switch
code sData _rOptPassOn = {OSD_MSG_ON, OSD_MSG_ON, OSD_MSG_ON, EV_ON};
code sData _rOptPassOff = {OSD_MSG_OFF, OSD_MSG_OFF, OSD_MSG_OFF, EV_OFF};

code sData *_prDataPass[] = {&_rOptPassOn, &_rOptPassOff};
code sEntry _rEntryPass = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_PASSWORD_MODE, OSD_MSG_PASSWORD_MODE,
                         PASS_SW_POSITION, NULL_SI, TBL_SIZE(_prDataPass) - 1, EV_ON, _prDataPass, bPassSwitch};

// - Change Password
code sData _rOptPassChange = {OSD_MSG_PASS_CHANGE, OSD_MSG_CHANGE_PASSWORD, OSD_MSG_EMPTY, 0};
code sData *_prDataPassChange[] = {&_rOptPassChange};
code sEntry _rEntryPassCh = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_PASSWORD_CHANGE, OSD_MSG_CHANGE_PASSWORD,
                            NULL_EE_ITEM, NULL_SI, 0, 0, _prDataPassChange, bChangePass};

// - Password Page Definition

code sEntry *_prEntryPass[] = { 
#ifdef PTL_PWD_MODE_SW
	                        &_rEntryPass,
#endif
	                        &_rEntryPassCh };

code sMenu _rPagePass = { PAGE_NML, OSD_MSG_PASSWORD_PAGESETUPPAGE, OSD_MSG_EMPTY, 
                          TBL_SIZE(_prEntryPass), _prEntryPass, NULL_FUN, NULL_FUN};
#endif // PTL_PWD_MODE_SW || SET_PTL_NEED_PWD
// Password Page End

// Password Page Change
// old password
//code sEntry _rEntryPassOld = { ITEM_ENTRY_TYPE_TEXT, BMP_PASS, OSD_MSG_OLD_PASSWORD, OSD_MSG_INPUT_OLD_PASS,
code sEntry _rEntryPassOld = { ENTRY_TYPE_EDITBOX_ORDERED, NULL_BMP, OSD_MSG_OLD_PASSWORD, OSD_MSG_INPUT_OLD_PASS,
//                         0, 0, 0, 0, 0, 0};
                         0, 0, PASSWORD_LEN, 0, 0, bCheckOldPwd};
// old password end

// new password
code sEntry _rEntryPassNew = { ENTRY_TYPE_EDITBOX_ORDERED, NULL_BMP, OSD_MSG_NEW_PASSWORD, OSD_MSG_INPUT_NEW_PASS,
//                         0, 0, 0, 0, 0, 0};
                           0, 0, PASSWORD_LEN, 0, 0, bCheckNewPwd}; //[runma] 0 -> bchecknewpwd
// new password end

// confirm password
code sEntry _rEntryPassConf = { ENTRY_TYPE_EDITBOX_ORDERED, NULL_BMP, OSD_MSG_CONFIRM_PASS, OSD_MSG_CONFIRM_PASS,
//                         0, 0, 0, 0, 0, 0};
                             0, 0, PASSWORD_LEN, 0, 0, bConfirmNewPwd}; //[runma] checknewpwd -> confirm
// confirm password end

//code sEntry _rEntryRetPassChg = { ENTRY_TYPE_RETURN, 0, 0, 0, PASS_PAGE, 0, 0, 0, 0, NULL_FUN};
code sEntry _rEntryRetPassChg = { ENTRY_TYPE_RETURN, 0, 0, 0, PASS_PAGE, 0, 0, 1, 0, NULL_FUN};

code sEntry *_prEntryPassChg[] = { &_rEntryPassOld, &_rEntryPassNew, &_rEntryPassConf, &_rEntryNull, &_rEntryRetPassChg };

code sMenu _rPagePassChange = {PAGE_TYPE_V_DIALOG,
                         OSD_MSG_PASSWORD_CHANGE_PAGE, OSD_MSG_EMPTY, TBL_SIZE(_prEntryPassChg), 
                         _prEntryPassChg, PAGE_PASS_BTN, NULL_FUN};

// Password Page Change End

code sEntry _rEntryPassCon = { ENTRY_TYPE_EDITBOX_ORDERED, NULL_BMP, OSD_MSG_PASSWORD, OSD_MSG_INPUT_OLD_PASS,
//                         0, 0, 0, 0, 0, 0};
                         PASSWD_POSITION, SH_PASS_0, PASSWORD_LEN, 0, 0, bCheckOldPwd};

code sEntry _rEntryRetPassCon = { ENTRY_TYPE_RETURN, 0, 0, 0, PASS_PAGE, 0, 0, 1, 0, NULL_FUN};

// Password confirm Page

code sEntry *_prEntryPassCon[] = {&_rEntryPassCon, &_rEntryNull, &_rEntryRetPassCon};

//code sMenu _rPagePassConf = {NML_SPACE, PAGE_TXT,
//code sMenu _rPagePassConf = {NML_SPACE, PAGE_TYPE_V_DIALOG,
code sMenu _rPagePassConf = {PAGE_TYPE_V_DIALOG, OSD_MSG_PWRD_VERIFY_PAGE, OSD_MSG_PLS_ENTER_PWD_O, 
                             //TBL_SIZE(_prEntryPassCon), _prEntryPassCon, PAGE_CON_BTN, NULL_FUN};
                             TBL_SIZE(_prEntryPassCon), _prEntryPassCon, 0, NULL_FUN};
// Password confirm Page End

///////////////////////////////////////////////////////////////////////////////
// Audio Page

#if (defined(HDCD_CERTIFICATION) || defined(HDCD_EN))
code sEntry _rEntryHdcd = { ENTRY_TYPE_SUBMENU, NULL_BMP, OSD_MSG_TO_HDCD, OSD_MSG_GOTO_HDCD, HDCD_PAGE,  0, 0, 0, 0, NULL_FUN};
#endif
#ifndef SIMPLE_SPDIF_CTRL
code sEntry _rEntrySpdif = { ENTRY_TYPE_SUBMENU, NULL_BMP, OSD_MSG_SPDIF_SETUP, OSD_MSG_GOTO_SPDIF, SPDIF_PAGE,  0, 0, 0, 0, NULL_FUN};
#endif
#ifdef PLAYER_SURROUND
code sEntry _rEntryEq = { ENTRY_TYPE_SUBMENU, NULL_BMP, OSD_MSG_CH_EQ_SETUP, OSD_MSG_GOTO_CH_EQU, EQ_PAGE, 0, 0, 0, 0, 0};
#endif

#if (defined(PLAYER_KARAOKE) || \
     (defined(USE_EXTERNAL_KARAOKE) && defined(MANUAL_MIC_ON_OFF)))
code sEntry _rEntryKok = { ENTRY_TYPE_SUBMENU, NULL_BMP, OSD_MSG_KOK_SETUP, OSD_MSG_GOTO_KOK_PAGE, KOK_PAGE, 0, 0, 0, 0, NULL_FUN};
#endif

#ifdef PLAYER_SURROUND
code sEntry _rEntry3D = { ENTRY_TYPE_SUBMENU, NULL_BMP, OSD_MSG_3D_PROCESS, OSD_MSG_GOTO_3D_PAGE, THREED_PAGE, 0, 0, 0, 0, NULL_FUN};
#endif
#ifdef PLAYER_TRIM
code sEntry _rEntryTrim = { ENTRY_TYPE_SUBMENU, NULL_BMP, OSD_MSG_CHANNEL_SETUP, OSD_MSG_GOTO_CH_TRIM, TRIM_PAGE, DLG_TRIM, 0, 0, 0, NULL_FUN};
#endif
#ifndef PLAYER_2_CHANNEL
code sEntry _rEntryDelay = { TYPE_SPK_CONFIG, NULL_BMP, OSD_MSG_CHANNEL_DELAY, OSD_MSG_GOTO_CH_DELAY, DELAY_PAGE, 0, 0, 0, 0, NULL_FUN};
#endif
#ifdef PLAYER_SEQ
code sEntry _rEntrySEQ = { ENTRY_TYPE_SUBMENU, NULL_BMP, OSD_MSG_SUPER_EQ_SETUP, OSD_MSG_GOTO_SUPER_EQU, SEQ_PAGE, 0, 0, 0, 0, NULL_FUN};
#endif

code sEntry *_prEntryAdo[] = {
                            &_rEntrySpk, 
#ifndef SIMPLE_SPDIF_CTRL
                            &_rEntrySpdif, 
#endif
                            &_rEntryDD, 
#ifndef PLAYER_2_CHANNEL
                            &_rEntryDelay,
#endif
#ifdef PLAYER_TRIM
                            &_rEntryTrim,
#endif
#ifdef PLAYER_SURROUND
                            &_rEntryEq, &_rEntry3D,
#endif
#ifdef PLAYER_SEQ
                            &_rEntrySEQ,
#endif
#if (defined(HDCD_CERTIFICATION) || defined(HDCD_EN))
                            &_rEntryHdcd,
#endif
#if (defined(PLAYER_KARAOKE) || \
     (defined(USE_EXTERNAL_KARAOKE) && defined(MANUAL_MIC_ON_OFF)))
                            &_rEntryKok,
#endif
#ifndef MTK_MENU
                            &_rEntryNull, &_rEntryMain
#endif
                            };

code sMenu _rPageAdo = {PAGE_NML, //PAGE_TOP, //[runma] submenu -> mainmenu
                        OSD_MSG_ADO_PAGE, OSD_MSG_ADO_PAGE_DES, TBL_SIZE(_prEntryAdo),
                        _prEntryAdo, NULL_FUN, NULL_FUN};
// Audio Page End

// General Page
// TV Display
code sData _rOptTvPs = {OSD_MSG_TV_4_3PS, OSD_MSG_NORMAL_4_3, OSD_MSG_VAL_TV_4_3PS, SV_4_3_PS};
code sData _rOptTvLb = {OSD_MSG_TV_4_3LB, OSD_MSG_4_3_TV, OSD_MSG_VAL_TV_4_3LB, SV_4_3_LB};
code sData _rOptTvWide = {OSD_MSG_TV_16_9WIDE, OSD_MSG_WIDE_SCREEN, OSD_MSG_VAL_TV_16_9WIDE, SV_WIDE};
code sData _rOptTvWideSqz = {OSD_MSG_TV_16_9WIDE_SQZ, OSD_MSG_WIDESQZ_SCREEN, OSD_MSG_VAL_TV_16_9WIDE_SQZ, SV_WIDESQZ};

code sData *_prDataTvDis[] = {&_rOptTvPs, &_rOptTvLb, &_rOptTvWide, &_rOptTvWideSqz};
code sEntry _rEntryTvDis = {
                           ENTRY_TYPE_GROUPBUTTON,
                           NULL_BMP, OSD_MSG_TVDISPLAY, OSD_MSG_SETTVDISPLAYMODE,
                           ASPECT_POSITION,
                           SI_ASPECT_RATIO,
                           TBL_SIZE(_prDataTvDis) - 1,
                           ASPECT_DEFAULT,
                           _prDataTvDis, bNormalVdo};
// TV Display End

// TV Type
code sData _rOptTvPal = {OSD_MSG_TVTYPE_PAL, OSD_MSG_PAL_TV, OSD_MSG_VAL_PAL, SV_PAL};
code sData _rOptTvAuto = {OSD_MSG_MULTI, OSD_MSG_MULTISYNC_TV, OSD_MSG_VAL_AUTO, SV_AUTO};
//code sData _rOptTvAuto = {OSD_MSG_AUTO, OSD_MSG_MULTISYNC_TV, OSD_MSG_VAL_AUTO, SV_AUTO};
code sData _rOptTvNtsc = {OSD_MSG_TVTYPE_NTSC, OSD_MSG_NTSC_TV, OSD_MSG_VAL_NTSC, SV_NTSC};

code sData *_prDataTvType[] = {&_rOptTvPal, &_rOptTvAuto, &_rOptTvNtsc};
code sEntry _rEntryTvType = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_TVTYPE, OSD_MSG_SETTV_STANDARD,
                            TV_SYSTEM_POSITION, SI_TV_SYSTEM, TBL_SIZE(_prDataTvType) - 1,
//                            TV_SYSTEM_DEFAULT,
                            SV_NTSC,
                            _prDataTvType, bNormalVdo};
// TV Type End

// Angle Mark
code sData _rOptAngOn = {OSD_MSG_ON, OSD_MSG_TURN_ANGLE_ON, OSD_MSG_ON, EV_ON};
code sData _rOptAngOff = {OSD_MSG_OFF, OSD_MSG_TURN_ANGLE_OFF, OSD_MSG_OFF, EV_OFF};

code sData *_prDataAng[] = {&_rOptAngOn, &_rOptAngOff};
code sEntry _rEntryAng = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_ANGLEMARK, OSD_MSG_SET_ANGLEMARK,
                         ANGLE_MARK_POSITION, NULL_SI, TBL_SIZE(_prDataAng) - 1,
                         EV_ON, _prDataAng, bAngleChange};
// Angle Mark End

// OSD Lang
// !!! no use SV_XXXX here, the sequence must be the FLASH image language sequence !!!
code sData _rOptEng = {OSD_MSG_OSDLANG_ENGLISH, OSD_MSG_SET_OSD_ENGLISH, OSD_MSG_VAL_ENGLISH, EV_OSD_ENGLISH};
code sData _rOptChi = {OSD_MSG_OSDLANG_CHINESE, OSD_MSG_SET_OSD_CHINESE, OSD_MSG_VAL_CHINESE, EV_OSD_CHINESE};
// !!! no use SV_XXXX here, the sequence must be the FLASH image language sequence !!!

code sData *_prDataLang[] = {&_rOptEng, &_rOptChi};
code sEntry _rEntryLang = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_OSDLANG, OSD_MSG_SET_OSDLANG,
                         OSD_LANG_POSITION, NULL_SI, TBL_SIZE(_prDataLang) - 1,
                         OSD_LANG_DEFAULT,
                         _prDataLang, bChangeLang};
// OSD Lang End

// Close Caption

code sData _rOptCCOn = {OSD_MSG_ON, OSD_MSG_CC_ON, OSD_MSG_ON, SV_ON};
code sData _rOptCCOff = {OSD_MSG_OFF, OSD_MSG_CC_OFF, OSD_MSG_OFF, SV_OFF};

code sData *_prDataCC[] = {&_rOptCCOn, &_rOptCCOff};
code sEntry _rEntryCC = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_CAPTIONS, OSD_MSG_CLOSEDCAPTION,
                         CC_SW_POSITION, SI_CC_SWITCH, TBL_SIZE(_prDataCC) - 1, SV_OFF, _prDataCC, bNormalVdo};
// Close Caption End



#ifdef USE_TYPE_2
// OSD Style
code sData _rOptType1 = {OSD_MSG_MENU_TYPE1, OSD_MSG_USE_MENU_TYPE1, OSD_MSG_EMPTY, EV_TYPE1}; //[runma] STPMN_NORMAL};
code sData _rOptType2 = {OSD_MSG_MENU_TYPE2, OSD_MSG_USE_MENU_TYPE2, OSD_MSG_EMPTY, EV_TYPE2}; //[runma] EV_STPMN_SIMPLE};
code sData _rOptType3 = {OSD_MSG_MENU_TYPE3, OSD_MSG_USE_MENU_TYPE3, OSD_MSG_EMPTY, EV_TYPE3}; //[runma] EV_STPMN_ADVANCED};
code sData *_prDataType[] = {&_rOptType1, &_rOptType2, &_rOptType3};
code sEntry _rEntryOsdType = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_MENU_STYLE, OSD_MSG_SET_MENU_STYLE,
                             OSD_STYLE_POSITION, NULL_SI, TBL_SIZE(_prDataType) - 1,
                             EV_TYPE3, _prDataType, bSwitchType}; //[runma] EV_STPMN_NORMAL -> EV_TYPE3
#endif

// OSD Style End

// Setup menu mode begin
/*
code sData _rOptNormal   = {OSD_MSG_MENU_TYPE1, OSD_MSG_USE_MENU_TYPE1, OSD_MSG_FUNC_NUMBER, EV_STPMN_NORMAL}; //[runma] EV_TYPE1}; honnow...the message should be msg_menu_adv and menu_normal.
code sData _rOptAdvanced = {OSD_MSG_MENU_TYPE2, OSD_MSG_USE_MENU_TYPE2, OSD_MSG_FUNC_NUMBER, EV_STPMN_ADVANCED}; //[runma] TYPE2};
*/

#ifdef SETUP_NML_ADV_STYLE //[runma] remove a block

code sData _rOptNormal   = {OSD_MSG_MENU_TYPE1, OSD_MSG_USE_MENU_TYPE1, OSD_MSG_EMPTY, EV_STPMN_NORMAL}; //[runma] EV_TYPE1}; honnow...the message should be msg_menu_adv and menu_normal.
code sData _rOptAdvanced = {OSD_MSG_MENU_TYPE2, OSD_MSG_USE_MENU_TYPE2, OSD_MSG_EMPTY, EV_STPMN_ADVANCED}; //[runma] TYPE2};

code sData *_prDataStyle[] = {&_rOptNormal, &_rOptAdvanced};
code sEntry _rEntrySetupStyle = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_MENU_STYLE, OSD_MSG_SET_MENU_STYLE,
                             OSD_STYLE_POSITION, NULL_SI, TBL_SIZE(_prDataStyle) - 1,
                             EV_STPMN_NORMAL, _prDataStyle, vSwitchStyle}; //[runma] EV_TYPE2 -> EV_STPMN_NORMAL
#endif
// Setup menu mode end

// Screen Saver
code sData _rOptSSOn = {OSD_MSG_ON, OSD_MSG_SS_ON, OSD_MSG_ON, SV_ON};
code sData _rOptSSOff = {OSD_MSG_OFF, OSD_MSG_SS_OFF, OSD_MSG_OFF, SV_OFF};

code sData *_prDataSS[] = {&_rOptSSOn, &_rOptSSOff};
code sEntry _rEntrySS = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_SCREENSAVER, OSD_MSG_SCREEN_SAVER,
                         SCR_SAVER_POSITION, SI_SCR_SAVE_SWITCH, TBL_SIZE(_prDataSS) - 1,
                         SV_ON, _prDataSS, bNormalVdo};
// Screen Saver End

// PBC State
code sData _rOptPbcOn = {OSD_MSG_ON, OSD_MSG_ON, OSD_MSG_ON, FALSE};
code sData _rOptPbcOff = {OSD_MSG_OFF, OSD_MSG_OFF,OSD_MSG_OFF, TRUE};

code sData *_prDataPbc[] = {&_rOptPbcOn, &_rOptPbcOff};
code sEntry _rEntryPbc = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_PBC_STATE, OSD_MSG_DES_SET_PBC,
                         VCD_PBC_SW_POSITION, SI_VCD_PBC_OFF, TBL_SIZE(_prDataPbc) - 1,
                         FALSE, _prDataPbc, bNormalVdo};

// PBC State End

// Last Memory
code sData _rOptLastOn = {OSD_MSG_ON, OSD_MSG_ON, OSD_MSG_ON, SV_ON};
code sData _rOptLastOff = {OSD_MSG_OFF, OSD_MSG_OFF, OSD_MSG_OFF, SV_OFF};

code sData *_prDataLast[] = {&_rOptLastOn, &_rOptLastOff};
code sEntry _rEntryLast = { ENTRY_TYPE_GROUPBUTTON, NULL_BMP, OSD_MSG_LAST_MEM, OSD_MSG_DES_SET_LM,
                         LAST_MEM_SW_POSITION, SI_LAST_MEM, TBL_SIZE(_prDataLast) - 1,
                         SV_OFF,_prDataLast, bNormalVdo};

// Last Memory End
// switch menu

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -