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

📄 cc.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 5 页
字号:
WORD    __wSP_LCD;              // SP LanguageWORD    __wA_LCD;               // Audio LanguageDWORD   __dw1stSCR;             // Keep 1st SCR valueBOOL   __bSmartPB_ABLE;BYTE   __bMaxPBT_TT;   // the Title with max playback time in current DVD disc#ifndef NO_SCREEN_SAVERBYTE    __bScreenSaver; //=NONE_SCREEN_SAVER;#endif  // #ifndef NO_SCREEN_SAVERDWORD        __dwSTCValue;  // ** TCH0.99-1; Record Current STC ValueDWORD        __dwTimeA, __dwTimeB;           // record the times for repeatAB// LLY2.61, add new variable to keep A point frame count value for audio only file's repeat A-B usageDWORD       __dwTimeA_FrameCnt;BIT     __btIntroMode;DWORD   __dwIntroPlayTime;// wyc2.22-909s, new variable to check if force enter stop mode.DWORD   _dwForceStopMode;//Kevin1.22a, utl will use also, don't declare as staticDWORD    _dwTimerCount_MainLoop;// ** TCH0.99-1; Main-Loop CounterBYTE    _KeyGroupTest(BYTE bKey);BYTE    _KeyGroupAudio(BYTE bKey);BYTE    _KeyGroupPlay(BYTE bKey);BYTE    _KeyGroupMode(BYTE bKey);// ** TCH0.60; BYTE    _KeyGroupMultiDisc(BYTE bKey);BYTE    _KeyGroupVideo(BYTE bKey);BYTE    _KeyGroupOthers(BYTE bKey);#ifdef SUPPORT_AV_INBYTE    _KeyGroupTFT(BYTE bKey); //Jeff 20060705 add for TFT#endif //#ifdef SUPPORT_AV_INDWORD   __dwTimerCount_Keyscan=0; //Jeff 20050530 add for panel key// DVD_273.2, for encrpyted DVD begin// clear the auto scan next cell's command.BYTE    __bAutoScans;// DVD_273.2, for encrpyted DVD end//DVD_039-1SCFBYTE    __bScanLevel;//DVD_043-1BYTE    __bInvalidRegion;//DVD_049MickyPowerDown#ifdef  AUTO_POWERDOWN// support auto power down// when the value is 0xFFFFFFFF, means don't need do auto power down check// other value, means need do auto power down check.DWORD __dwTimeWaitPowerDown;#endif// wyc1.06-909, vairable to represent current play mode is from AVI scanBYTE _bAVIScan2Play;// Because REPEATAB and SLOW use same OSD regin and they are both forever message, so need to add one variable to decide which is active message.BYTE __bActiveMessage;// wyc2.77-909p, add the usb performance test code.#ifdef TEST_DEVICE_PERFORMANCEextern    DWORD   __dwTestUSBSpeed;#endif //// DVD_099bMicky, support another backdoor method// DVD_100-3Micky, the general backdoor is supported in drive open case#ifdef  SUPPORT_GENERAL_BACKDOOR// Brian1.24, add another general backdoor#define BACKDOOR_NUMBER     3       // number of backdoors that supported#define BACKDOOR_KEYNUM     4       // number of passwords for backdoor// DVD_100-3Micky, support backdoor for reset default setup dataBYTE    code __bBackDoorKeys[BACKDOOR_NUMBER][BACKDOOR_KEYNUM]=        {            {KEY_N9, KEY_N9, KEY_N2, KEY_N2},   // #1 backdoors            {KEY_N1, KEY_N2, KEY_N3, KEY_N4},   // #2 backdoors            {KEY_N6, KEY_N6, KEY_N6, KEY_N6},   // #3 backdoors // Brian1.24, Total default        };#define BACKDOOR_VIDEO_OUTPUT   0#define BACKDOOR_SETUP_DEFAULT  1#define BACKDOOR_SETUP_TOTAL_DEFAULT  2 // Brian1.24, total defaultBYTE    __bKeyIndex[BACKDOOR_NUMBER];           // the index for each backdoor#endif// DVD_099cMicky, support show OSD only when IR key is pressed#ifdef  SHOW_IR_KEY_OSD_ONLY// the mapping table for KEYs & MSGs// Only list MSGs, and KEY sequence is according to input.h// start from INPUT_KEY_GROUP2(KEY_MUTE)// Micky2.79-2, don't need specify the array sizeBYTE code   _bMessageMap[]={// for 0.80, should keep group3 only. add next/prev extra.#ifdef  MAP_PLAYABLE_MESSAGE_ONLY                                    MSG_PLAYING, MSG_STOP, MSG_FAST,                                MSG_SCANFORWARD, MSG_SCANBACKWARD,MSG_SLOW,                                MSG_PAUSE, MSG_STEP, MSG_FREEZE,                                MSG_NULL,   // dummy                                MSG_PBC, MSG_NEXT, MSG_PREV,#else                                // Group 2, 20s                                MSG_MUTE, MSG_VOLUME, MSG_VOLUME,                                MSG_KEY, MSG_KEY, MSG_KEY,                                MSG_ECHO, MSG_ECHO, MSG_AUDIO,                                MSG_SURROUND, MSG_VOCAL, MSG_AUTOVOCAL,                                MSG_VOICECANCEL,MSG_3D, MSG_KARAOKE,                                MSG_AST_CTL,    //CoCo.099d    // support a key to switch audio output(2 ch/5.1ch/spdif)                                // Micky1.10, map KEY_MIC_VOL_UP/DOWN to MSG_VOLUME                                MSG_AUDIO_OUTPUT_CTL, MSG_NULL, MSG_VOLUME, MSG_VOLUME, // dummy                                // Group 3, 10s                                MSG_PLAYING, MSG_STOP, MSG_FAST,                                // Micky1.07, fix the key message sequence error                                // these message are forever display, OSD won't check message                                // but FM will use 3s.                                MSG_SCANFORWARD, MSG_SCANBACKWARD,MSG_SLOW,                                MSG_PAUSE, MSG_STEP, MSG_FREEZE,                                MSG_NULL,   // dummy                                // Group 4, 30s                                MSG_PBC, MSG_NEXT, MSG_PREV,                                MSG_RETURN, MSG_PROGRAM, MSG_NULL,                                MSG_PROGRAM, MSG_NULL, MSG_NULL,                                MSG_TVMODE, MSG_DISPLAY, MSG_DIGEST,                                MSG_REPEATAB, MSG_REPEAT, MSG_INTRO,                                MSG_RANDOM, MSG_REMAIN_ABSTIME, MSG_RESUME,                                MSG_GOTOTIME, MSG_NULL, MSG_OPEN,                                MSG_POWER, MSG_NULL,//KEY_DEFAULT                                // Micky2.81, add message for thumbnail.                                MSG_NULL, MSG_NULL, MSG_PSCAN, MSG_NULL, // dummy                                MSG_NULL, MSG_NULL, MSG_NULL, // dummy                                // Group 5, 15s                                MSG_NULL, MSG_NULL, MSG_NULL, MSG_NULL, // KEY_LED1~4                                MSG_NULL, MSG_NULL,                     // KEY_DISCSKIP, SKIP_BACK                                // change MSG_DISCPOSITION into MSG_NULL                                MSG_NULL, MSG_NULL, MSG_NULL,                                MSG_NULL, MSG_NULL, MSG_NULL,                                MSG_NULL, MSG_NULL,                                MSG_NULL,           // dummy                                // Group 6, 25s                                MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER,                                MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER,                                MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER, MSG_NUMBER,                                MSG_KEY10, MSG_KEY10,                                MSG_NULL, MSG_NULL, // dummy                                // Group 7, 10s                                // Micky2.80, accord cc.h ZOOM ID for HAL_Zoom.                                // MS_ZOOMMOVE will be removed.                                MSG_ZOOM, MSG_ZOOM, MSG_ZOOM,                                MSG_ZOOM, MSG_ZOOM, MSG_SPST_CTL,                                /*                                MSG_ZOOM, MSG_ZOOMMOVE, MSG_ZOOMMOVE,                                MSG_ZOOMMOVE, MSG_ZOOMMOVE, MSG_SPST_CTL,                                */                                // DVD_101bMicky, for KEY_VIDEO_OUTPUT_CTL                                MSG_VIDEO_OUTPUT,                                MSG_NULL, MSG_NULL, MSG_NULL,   // dummy                                // Group 8, 20s                                MSG_NULL, MSG_NULL, MSG_NULL,                                MSG_NULL, MSG_NULL,                                MSG_NULL, MSG_NULL, MSG_NULL, MSG_NULL,// dummy                                MSG_NULL, MSG_NULL, MSG_NULL, MSG_NULL,// dummy                                MSG_NULL, MSG_NULL, MSG_NULL, MSG_NULL,// dummy                                MSG_NULL, MSG_NULL, MSG_NULL,           // dummy                                // Group 9, 20s                                MSG_NULL, MSG_NULL, MSG_INVALID,                                MSG_INVALID, MSG_NULL,      // ** TCH0.60-1;  OSDGAME is not exist                                MSG_NULL, MSG_NULL, MSG_NULL, MSG_NULL,// dummy                                MSG_NULL, MSG_NULL, MSG_NULL, MSG_NULL,// dummy                                MSG_NULL, MSG_NULL, MSG_NULL, MSG_NULL,// dummy                                MSG_NULL, MSG_NULL, MSG_NULL,          // dummy                                // Group 10                                MSG_MENU, MSG_MENU, // LLY.099c                                MSG_NULL,                                MSG_NULL, MSG_NULL,                                MSG_ANGLE_CTL,                    // Micky2.79-2, support FullScreen function                    // MSG_FULLSCREEN                                MSG_NULL,   // KEY_ACTIVE                                MSG_NULL,   // KEY_HOTKEY                                MSG_FULLSCREEN,   // MSG_FULLSCREEN#endif                                                                };#endifBYTE    __bKeyMessage;BYTE    __bKeySource;// wyc0.91, Brain's updated code.// Brian0.91// define the version number variable for each protected modules// these variables are initialized to 0, and the correct version value is assigned by related module.// the version of these module is expressed in 0xYYYYMMDD format : // for example, 2005-02-21 will be expressed as 0x07D5 02 15DWORD   __dwVersionMPEG=0;     // MPEG decoder module versionDWORD   __dwVersionJPEG=0;     // JPEG decoder module versionDWORD   __dwVersionDisplay=0; // Display module versionDWORD   __dwVersionDivX=0;     // DivX module versionDWORD   __dwVersionNavigate=0; // Navigate module versionDWORD   __dwVersionParser=0;     // Parser module version// wyc1.20-909, for USB version.DWORD   __dwVersionUSB=0;       // USB module version.// wyc1.50-909, new protected module group.DWORD   __dwVersionINFO=0;       // INFO module version.DWORD   __dwVersionCard=0;    // the version of these module is expressed in xx.xx format: // high WORD is the F/W digit part// high BYTE of low WORD is the alpha-beta part for RD release use, 0 means 0, 1 means a, 2 means b,...// low BYTE of low WORD is the alpha-beta part for FAE release use, 0 means 0, 1 means a, 2 means b,...// for example, for RD release F/W//                    0.90  ==>   0x005a 0100//                    0.90a  ==>   0x005a 0100//                    0.90b  ==>   0x005a 0200//                    1.00  ==>   0x0064 0000//                    1.01a  ==>   0x0065 0100// for FAE, according to Version Naming Rule, FAE could only change the LSB//                    0.90_a  ==>   0x005a 0001//                    0.90aa  ==>   0x005a 0101//                    0.90bc  ==>   0x005a 0203//                    1.00_a  ==>   0x0064 0001//                    1.01aa  ==>   0x0065 0101DWORD   __dwVersionServo=0;     // Servo module versionDWORD   __dwVersionServoBM=0; // Servo BM versionDWORD   __dwVersionServoUCode=0; // Servo uCode version#ifdef SUPPORT_TFT      //Alan2.17, for TFT DWORD   __dwVersionTFT = 0; // VD version#endif DWORD   __dwVersionRelease= (SW_VERSION<<16) | (SW_MINOR_VERSION<<8);   // F/W release versionDWORD   __dwVersionFAE= (SW_VERSION<<16) | (SW_MINOR_VERSION<<8) | FAE_SW_MINOR_VERSION;       // FAE version// Customer version may be free format, so use stringconst BYTE __csVersionCustomer[] = CS_VERSION_CUSTOMER; // Customer version string// wyc1.05-909, rename _CC_ResetState to CC_ResetState// DVD_172Micky, FLOW_CONTROL// let __bFlowState be general use for auto play.// DVD_161Micky, support Loading-> Setup-> Exit, will continue loading action///#ifdef  SUPPORT_LOADING_SETUPBYTE    __bFlowState ;BYTE    _ProceedFlowState(void);BYTE _CC_AVIScanToPlayProcess(void);#ifdef  ENABLE_AUTOVOCALBYTE _CC_AutoVocal(BYTE bValidKey);DWORD __dwMICDectectInterval;bit   _btPreMICDetect;BYTE  _bMICOffCount;#ifdef  SW_MIC_DETECTbit __sbMICDetect;#endif#endif  //#ifdef  ENABLE_AUTOVOCAL#ifdef   _SHOW_IR_MAPBYTE        _bIRMap [4], _bIRGet;#endif  // _SHOW_IR_MAP// Brian.276-5, for system hang control// Timer0 ISR use it value to decide if the man loop is hanging// wyc1.01-909, remove it because of not use it.//DWORD __dwProgressCount;// Micky2.79-2, support FullScreen function// init. value 0 will be assigned within INITIAL_Variables.// 1: means full screen video on, 0: means full screen video off.BYTE    __bFullScreen;// Micky2.80, Modify global variable init.// move from INTIIAL.cWORD    __wScanGap;     // the real sectors that will jump for each SCAN// Micky2.81, Support different number of digits for different mode// VCD/ DVD : max number is 9-// AVSYS      : 999-// when exceed the max. number, will reset the number as 0//WORD    __wMaxNumber;CHAR __csUPGAPName[] = CS_UPGAP_NAME; // Chuan2.78, Define UPGAP Name.// Micky1.05, add auto test for IC sorting by CoCo#ifdef AUTO_TEST //CoCo1.07, verify auto-test//alex1.23,20040218 combine gototime , search//in autotest function, key_search replace key_gototime /*WORD aDVDRule[] = {COUNT_2_SEC, KEY_SEARCH, 0, KEY_N2, 0, KEY_PLAY, 0, KEY_GOTOTIME, 0, KEY_GOTOTIME, 0, KEY_N2,            0, KEY_N2, 0, KEY_N2, 0, KEY_N0, COUNT_1_SEC, KEY_PLAY, 0, KEY_AST_CTL, COUNT_3_SEC*2, KEY_AST_CTL,            0, KEY_AST_CTL, COUNT_5_SEC+COUNT_3_SEC, KEY_STOP, 0, KEY_STOP, 0, 0};*/// Brian2.17WORD aDVDRule[] = {0, KEY_DISPLAY, 0, KEY_DISPLAY, 0, KEY_DISPLAY, 0, KEY_DISPLAY, 0, KEY_DISPLAY, 0, KEY_DISPLAY, 0,                    KEY_SEARCH, 0, KEY_N3, 0, KEY_PLAY, 0, KEY_SEARCH, 0, KEY_SEARCH, 0, KEY_N1, 0, KEY_N2, 0, KEY_N7, 0, KEY_N1, 0, KEY_N5, 0,                     KEY_PLAY, 0, KEY_SPST_CTL, 0, KEY_AST_CTL, (COUNT_3_SEC*2+COUNT_2_SEC), KEY_STOP, 0, KEY_STOP, 0, 0};WORD aCDROMRule[] = {COUNT_1_SEC * 7, KEY_STOP, 0, KEY_STOP, 0, 0};DWORD __dwAutoTestTime;BYTE __bRuleIndex;BYTE __bAutoTest;WORD *_wpRule;#endif#ifdef SUPPORT_POWER_SWITCHBYTE __bPowerSw_StandBy;BYTE __bPowerSw=TRUE;extern	BYTE _bBacklight;#endif //SUPPORT_POWER_SWITCH//Alex1.07a SHOW PSCAN PROMPT#if defined (SUPPORT_PSCAN_PROMPT_SETUP) || defined (SUPPORT_PSCAN_PROMPT_OSD)//Alex1.07a 20031013 SUPPORT_PSCAN_PROMPT_OSD#ifdef SUPPORT_PSCAN_PROMPT_OSDextern BYTE OSDPROMPT_ProcessKey(BYTE bKey);#endif //#ifdef SUPPORT_PSCAN_PROMPT_OSDextern void OSDPROMPT_Trigger(void);extern BYTE __bOSDPromptMode;#endif //#if defined (SUPPORT_PSCAN_PROMPT_SETUP) || defined (SUPPORT_PSCAN_PROMPT_OSD)// Micky1.07, adding DEBUG info variable declarationBIT     __btDumpFlag;BYTE    __bDumpType;// Micky1.23 support resume info from EEPROMBYTE    _bAPPAction;// Micky0.65-909. add a time count for OSD trigger.DWORD   _dwTimeCount_OSDTrigger = 0;// winnie 2.77, add to save volume function and fix play move un-continually issue while press vol +/- quickly// The reason is that volume value be stored frequently. So, using time count to store the volume value.#ifdef SUPPORT_SAVE_VOLUMEextern DWORD   __dwVolAudio;DWORD   __dwTimerCount_Volume=0; #endif// Micky0.80, new method for the ProcessKey//void    (*KeyProcess)(BYTE);    // OKtypedef BYTE (*pFunction)(void);pFunction FuncArray[]={    &OSDAP_ProcessKey, // LLY1.50, add AP process key routine#ifdef SUPPORT_TFT    &TFT_ProcessKey,#endif#ifdef SUPPORT_OSDGAME //CoCo1.02, add OSD game from XuLi's code

⌨️ 快捷键说明

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