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

📄 backdoor.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 3 页
字号:
#include "winav.h"#ifdef SUPPORT_STB#include "dvbcustm.h"#endif //SUPPORT_STB#include "gdi.h"#include "fontindex.h"#include "fontindex.h"#include "cc.h"#include "hal.h"#include "navigate.h"#include "osd.h"#include "osdnd.h"#include "menu.h"#include "mainmenu.h"#include "dvdsetup_op.h"#ifdef SUPPORT_STB#include "dvb_nim.h"#endif //SUPPORT_STB#define BACK_DOOR_DECLARE#include "storage.h"#include "dvdsetup.h"#ifdef SUPPORT_STB#include "..\\..\\OSDString\\strextrn.h"#else#include "OSDString\\strextrn.h"#endif //SUPPORT_STB#ifdef IMAGE_FRAME_SETUP#include "dmpcustm.h"#endif //IMAGE_FRAME_SETUP//Alan stb, add for backdoor#define BACKDOOR_DISPLAY_X  500#define BACKDOOR_DISPLAY_Y    5 #define BACKDOOR_DISPLAY_VERSION_START_V	40 #define BACKDOOR_DISPLAY_VERSION_START_H        30 #define VERSION_OFFSET                          120#define BACKDOOR_DISPLAY_VERSION_START_H1       (BACKDOOR_DISPLAY_VERSION_START_H + 320) #ifndef CT950_STYLE#ifndef RELEASE_SETTINGBYTE _bBackDoor[] = {SETUP_BACK_DOOR_REGION, SETUP_BACK_DOOR_DEBUG_MODE}; #elseBYTE _bBackDoor[] = {SETUP_BACK_DOOR_DEBUG_MODE}; #endif#else //CT950_STYLEBYTE _bBackDoor[] = {SETUP_BACK_DOOR_DEBUG_MODE};#endifWORD aSTBFW[] = {3, CHAR_S, CHAR_T, CHAR_B};WORD aSTBNIM[] = {3, CHAR_N, CHAR_I, CHAR_M};DWORD _dwDebugMode;DWORD _dwBackupDebugMode;BYTE _bDebugIndex = 0;#define DEBUG_MODE_0		0x00000000#define DEBUG_MODE_1		0x00000011#define DEBUG_MODE_2		0x00000022#define DEBUG_MODE_3		0x00001100#define DEBUG_MODE_4		0x00001111#define DEBUG_MODE_5		0x00001122#define DEBUG_MODE_6		0x00002200#define DEBUG_MODE_7		0x00002211#define DEBUG_MODE_8		0x00002222#define DEBUG_MODE_9		0x00400222#define DEBUG_MODE_10		0x00400211#define DEBUG_MODE_11		0x00400200BYTE _bCARDPath, _bNIMPath;void _OutputAllSWVersion(void);void _OutputNumber(WORD wX, WORD wY, WORD wNum);BYTE _ConvertBackDoorRegionNum(BYTE bOriginalNum);//BYTE _GetDebugIndex(void);void _OutputVersion(DWORD dwVersion, BIT btFormat, PPARM_DRAW_STRING pVersion_StrAttr, PWORD pwVersionString);void _TranslateString(PBYTE pbAsciiString, PWORD pwString);void _OutputDebugInfo(void);WORD _TranslateNum(BYTE bNum);WORD* _TranslateDebugMode(BYTE bMode); BYTE _GetDebugIndex(DWORD dwMode);void _SetDebugMode(BYTE bIndex);void _GetUsefulDebugMode(BYTE bDIR);#ifndef SUPPORT_ATAPI_SOURCEextern BYTE SRVDBG_PCBNumber(void);extern BYTE SRVDBG_MotorDriver(void);extern BYTE SRVDBG_RFAmpChip(void);extern BYTE SRVDBG_MotorPower(void);#endifextern BYTE _bOSDLang;//  ***************************************************************************//  Function    :   BACKDOOR_ExitBackDoorControl//  Description :   Clean the flags and OSD//  Arguments   :   none.//  Return      :   None.//  Side Effect ://  ***************************************************************************void BACKDOOR_ExitBackDoorControl(void){    __bBackDoorSeqIndex = 0;    _bDoBackDoor = FALSE;    _bBackDoorIndex = 0;}void    _ExitBackDoor(void){    //Draw the title#ifdef SUPPORT_STB#ifdef  CT909P_IC_SYSTEM      DVDSETUP_Recover();#else                       		    MAINMENU_DrawMainTitleBackground(__SetupInfo.bUIStyle - MENU_SYS_PREFERENCE_UI_STYLE_BEGIN);    MAINMENU_DrawTitleString(aMENUMainMenu, NULL, NULL);#endif    #else //SUPPORT_STB    DVDSETUP_Recover();#endif //SUPPORT_STB    //For back door    BACKDOOR_ExitBackDoorControl();}void _OutputNumber(WORD wX, WORD wY, WORD wNum){    PARM_DRAW_STRING TitleStringAttr;    PARM_RECT TitleRect;    WORD TempStr[GDI_STRING_LENGTH];    BYTE bIndex;#ifdef SUPPORT_STB    // Clear the region    MAINMENU_DrawMainTitleBackground(__SetupInfo.bUIStyle - MENU_SYS_PREFERENCE_UI_STYLE_BEGIN);    MAINMENU_DrawTitleString(aMENUMainMenu, aMENUGame, NULL);#endif //SUPPORT_STB       TitleRect.rect.wLeft = wX;    TitleRect.rect.wTop = 0;    TitleRect.rect.wRight = TitleRect.rect.wLeft+48-1;    TitleRect.rect.wBottom = TitleRect.rect.wTop+MAINMENU_TITLE_REGION_HEIGHT-1;    MAINMENU_ClearMainTitleBackground(__SetupInfo.bUIStyle-SETUP_CUSTOM_UI_STYLE_BEGIN, &TitleRect);	    OSDUTL_PrepareOutputString();    OSDUTL_OutputNumFromIndex(wNum);    for(bIndex = 0; bIndex <= __wOSDUTLStringBuf[0]; bIndex++)    {        TempStr[bIndex] = __wOSDUTLStringBuf[bIndex];    }    MAINMENU_UseColorKey(&TitleStringAttr);    TitleStringAttr.bTextColor = MAINMENU_PALETTE_ENTRY_TITLE_STRING_1ST;    TitleStringAttr.wX = wX;    TitleStringAttr.wY = wY;     GDI_DrawString_909(0, &TitleStringAttr, TempStr);}BYTE BackDoor_ProcessKey(BYTE bKey){#ifndef SUPPORT_DMP    BYTE bBackdoorValue;#endif //SUPPORT_DMP    BYTE bReturnKey = bKey;    if (KEY_NO_KEY == bKey)        return bReturnKey;        if (_bDoBackDoor == FALSE)        {            if  (__bBackDoorSeqIndex == 0)            {                if (bKey == __bBackDoorSequence[__bBackDoorSeqIndex])                {                    __bBackDoorSeqIndex++;                    bReturnKey = KEY_NO_KEY;                }            }            else if (__bBackDoorSeqIndex < BACK_DOOR_SEQUENCE_NUM)            {                if (bKey == __bBackDoorSequence[__bBackDoorSeqIndex])                {                    __bBackDoorSeqIndex++;                    bReturnKey = KEY_NO_KEY;                }                else                {                    __bBackDoorSeqIndex = 0;                }                if (__bBackDoorSeqIndex == BACK_DOOR_SEQUENCE_NUM)                {                    _bDoBackDoor = TRUE;   		                    #ifdef  CT909P_IC_SYSTEM                    _bDebugSetMode = FALSE;                    _dwDebugMode = UTL_Get_DebugMode();	                    _bDebugIndex = _GetDebugIndex(_dwDebugMode);                    _dwBackupDebugMode = _dwDebugMode;                                    MAINMENU_DrawMainContentBackground();                    _OutputDebugInfo();                    #endif			                    // Set text color for back door case                                              _OutputNumber(BACKDOOR_DISPLAY_X, BACKDOOR_DISPLAY_Y, 6000 + _bDebugIndex);                    bReturnKey = KEY_NO_KEY;                }            }            return bReturnKey;        }    switch (bKey)    {    case KEY_MENU:    case KEY_EXIT:        if (TRUE == _bDoBackDoor)        {            _ExitBackDoor();            return KEY_NO_KEY;        }        break;    case KEY_SETUP:            if (TRUE == _bDoBackDoor)            {                _ExitBackDoor();                return KEY_NO_KEY;            }            else            {                return bKey;            }            break;    case KEY_UP:            _bBackDoorIndex--;        if (_bBackDoorIndex == 0xff)            _bBackDoorIndex = TOTAL_BACK_DOOR_NUM - 1;#ifdef  CT909P_IC_SYSTEM        if (SETUP_BACK_DOOR_DEBUG_MODE == _bBackDoor[_bBackDoorIndex])         {            _bDebugSetMode = FALSE;            _dwDebugMode = UTL_Get_DebugMode();	            _bDebugIndex = _GetDebugIndex(_dwDebugMode);            _dwBackupDebugMode = _dwDebugMode;                            MAINMENU_DrawMainContentBackground();            _OutputDebugInfo();        }                else        {                            _DVDSETUP_DrawAllUI();             _OutputNumber(BACKDOOR_DISPLAY_X, BACKDOOR_DISPLAY_Y, 6000 + _bDebugIndex);        }#endif        break;    case KEY_DOWN:        _bBackDoorIndex++;        if (_bBackDoorIndex >= TOTAL_BACK_DOOR_NUM)            _bBackDoorIndex = 0;#ifdef  CT909P_IC_SYSTEM        if (SETUP_BACK_DOOR_DEBUG_MODE == _bBackDoor[_bBackDoorIndex])         {            _bDebugSetMode = FALSE;            _dwDebugMode = UTL_Get_DebugMode();	            _bDebugIndex = _GetDebugIndex(_dwDebugMode);			            _dwBackupDebugMode = _dwDebugMode;                            MAINMENU_DrawMainContentBackground();            _OutputDebugInfo();        }                else        {                            _DVDSETUP_DrawAllUI();                 _OutputNumber(BACKDOOR_DISPLAY_X, BACKDOOR_DISPLAY_Y, 6000 + _bDebugIndex);        }#endif        break;    case KEY_LEFT:        if (SETUP_BACK_DOOR_REGION == _bBackDoor[_bBackDoorIndex])        {            _bBackDoorRegion--;            if (_bBackDoorRegion == 0xFF)                _bBackDoorRegion = SETUP_REGION_NUM - 1;        }         else if (SETUP_BACK_DOOR_DEBUG_MODE == _bBackDoor[_bBackDoorIndex])         {/*                    _bDebugIndex = _GetDebugIndex();	    if (0 == _bDebugIndex)            {                _bDebugIndex = MAX_DBG_MODE - 1;            }             else            {                _bDebugIndex--;            }            __bDebugMode = aDebugMode[_bDebugIndex];            UTL_Config_DebugMode(UTL_DBG_SET);*/#ifdef  CT909P_IC_SYSTEM               _bDebugSetMode = TRUE;                        _dwDebugMode = UTL_Get_DebugMode();	            _bDebugIndex = _GetDebugIndex(_dwDebugMode);            _GetUsefulDebugMode(FALSE);            _SetDebugMode(_bDebugIndex);            	            UTL_Config_DebugMode(UTL_DBG_SET,_dwDebugMode);               MAINMENU_DrawMainContentBackground();            _OutputDebugInfo();               #endif        }        DVDSETUP_SaveDataToSetupInfo(_bBackDoor[_bBackDoorIndex]);        break;    case KEY_RIGHT:        if (SETUP_BACK_DOOR_REGION == _bBackDoor[_bBackDoorIndex])        {            _bBackDoorRegion++;            if (_bBackDoorRegion == SETUP_REGION_NUM)                _bBackDoorRegion = 0;        }         else if (SETUP_BACK_DOOR_DEBUG_MODE == _bBackDoor[_bBackDoorIndex])        {/*            _bDebugIndex = _GetDebugIndex();            _bDebugIndex++;	    if (MAX_DBG_MODE == _bDebugIndex)            {                _bDebugIndex = 0;            }             __bDebugMode = aDebugMode[_bDebugIndex];            UTL_Config_DebugMode(UTL_DBG_SET);*/            #ifdef  CT909P_IC_SYSTEM               _bDebugSetMode = TRUE;               _dwDebugMode = UTL_Get_DebugMode();	            _bDebugIndex = _GetDebugIndex(_dwDebugMode);            _GetUsefulDebugMode(TRUE);            _SetDebugMode(_bDebugIndex);                        UTL_Config_DebugMode(UTL_DBG_SET,_dwDebugMode);               MAINMENU_DrawMainContentBackground();            _OutputDebugInfo();               #endif			        }        DVDSETUP_SaveDataToSetupInfo(_bBackDoor[_bBackDoorIndex]);        break;        // LLY2.78b-3, merge all action to display desired version within backdoor    // [1] KEY_MUTE: Customer S/W version (maybe different to our F/W version)    // [2] KEY_PAUSE: ATAPI servo code version    // [3] KEY_ZOOM: Real F/W version    case KEY_MUTE:    case KEY_ZOOM: // Brian2.79, use KEY_ZOOM instead //KEY_ZOOM        if (_bDoBackDoor)        {                        MAINMENU_DrawMainContentBackground();            _OutputAllSWVersion();#ifdef SUPPORT_STB            OS_DelayTime(COUNT_5_SEC); //CoCo1.20, reduce code size            // Brian1.11b, move to here            //CoCo1.11a, for backdoor#ifdef  CT909P_IC_SYSTEM            if (SETUP_BACK_DOOR_DEBUG_MODE == _bBackDoor[_bBackDoorIndex])             {

⌨️ 快捷键说明

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