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

📄 cc.bak.c

📁 车载电子影音系统dvd播放系统原程序代码
💻 C
📖 第 1 页 / 共 5 页
字号:


DWORD           __dwEntryStart;                 // Record the Begin time that Entry point's Track


BYTE            __bASTN;   // Audio Stream Number, from "0".
BYTE            __bASTNO;    // Index of Audio Stream Number, from "0"-"__bASTNs-1".     // ** TCH0.451;
BYTE            __bASTNs;    // Max. Audio Stream Number.
BYTE            __bASTID;       // The Real sub_stream_id. DVD may be different than __bASTN.

BYTE            __bSP_Disp_OFF;//Micky2.80, review global variables init.= FALSE;  // ** TCH0.402;  SP Display is disabled?
BYTE            __bSPSTN;       // SP Stream Number, from "0".
BYTE            __bSPSTNO;    // Index of Audio Stream Number, from "0"-"__bSPSTNs-1".   // ** TCH0.451;
BYTE            __bSPSTNs;   // Max. SP/OGT Stream Number.
BYTE            __bSPSTID;      // The Real sub_stream_id. DVD may be different than __bSPSTN.

// ** TCH0.27; begin...
BYTE            __bAGLN;    // Angle Number. from "0".
BYTE            __bAGL_Ns;  // Number of Angles.
// ** TCH0.27; end...


// LLY.040-1 begin ...
#ifndef NO_SCREEN_SAVER
// LLY.276-1, remove the initial action into INITIAL_Variables_PowerON
BYTE    __bScreenSaver; //=NONE_SCREEN_SAVER;
DWORD   __dwTimeCheckNOData;//=0xFFFFFFFF;     // LLY.099
#endif  // #ifndef NO_SCREEN_SAVER

// f/w 0.33, step->play
DWORD        __dwSTCValue;  // ** TCH0.99-1; Record Current STC Value
DWORD        __dwTimeA, __dwTimeB;           // record the times for repeatAB

BIT     __btIntroMode;//Micky2.80, review global variables init.=FALSE;
DWORD   __dwIntroPlayTime;//Micky2.80, review global variables init.=750L;

//Kevin1.22a, utl will use also, don't declare as static
DWORD    _dwTimerCount_MainLoop;//Micky2.80, review global variables init.=0;    // ** TCH0.99-1; Main-Loop Counter

DWORD __dwSTCStep; // Brian.161A, store the STC for stepping

//LJY2.30a, for checking AO in ISR
#ifdef CHECK_OVERFLOW_IN_ISR
BYTE    __bAudioOverflow=FALSE;
#endif


BYTE    _KeyGroupTest(BYTE bKey);
BYTE    _KeyGroupAudio(BYTE bKey);
BYTE    _KeyGroupPlay(BYTE bKey);
BYTE    _KeyGroupMode(BYTE bKey);
BYTE    _KeyGroupMultiDisc(BYTE bKey);
BYTE    _KeyGroupVideo(BYTE bKey);
BYTE    _KeyGroupNumber(BYTE bKey);
BYTE    _KeyGroupSetUP (BYTE bKey);     // ** TCH0.27;
BYTE    _KeyGroupDVD   (BYTE bKey);     // ** TCH0.27;
BYTE    _KeyGroupOthers(BYTE bKey);
// Micky2.37, move number time out into function
void    _CC_Trigger_TimeOut_Nummber();
// Micky2.37, move tray open/close checking into function 
void    MEDIA_MonitorStatus();
BYTE    _CC_DVD_PreProcessKey();
BYTE    CC_DVD_ProcessKey(BYTE bKey);
BYTE    _CC_VCD_PreProcessKey();
BYTE    CC_VCD_ProcessKey(BYTE bKey);

// Micky1.10, Let sysdebug.c share use the _ShowDebug function.
#if defined(SUPPORT_PRINTF) || defined(SERIAL_DEBUG)
void    _ShowDebug (void);
#endif  //#ifdef SUPPORT_PRINTF

#ifdef _DEBUG_INFO
// LLY.275b-2, the variable and API for debug info. usage
void    _CC_DebugInfo(DWORD dwVal, BYTE bSec);
// DVD_276Micky, bit reduce
BYTE     _bDebugMode=FALSE;
#endif  // _DEBUG_INFO

// 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-1SCF
BYTE    __bScanLevel;//Micky2.80, review global variables init.=1;
//DVD_043-1
BYTE    __bInvalidRegion;//Micky2.80, review global variables init.=FALSE;
//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;//Micky2.80, review global variables init.=0xFFFFFFFF;
#endif

// DVD_161Micky, add key arrays for release still state
// whenever a new key for release is added, must update
// !!! only physical keys are allowed(compound keys are not allowed)
// RELEASE_STILL_KEY_NUMBER and _bReleaseStillKeys[]
#define RELEASE_STILL_KEY_NUMBER    2
BYTE    code _bReleaseStillKeys[RELEASE_STILL_KEY_NUMBER] =
        {
            KEY_PLAY, KEY_PAUSE
        };
// 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   //2       // number of backdoors that supported
#define BACKDOOR_KEYNUM     4       // number of passwords for backdoor
// DVD_100-3Micky, support backdoor for reset default setup data
BYTE    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 default

BYTE    __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 size
//BYTE code   _bMessageMap[157]={
BYTE code   _bMessageMap[]={
                                // 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_ENTER,
                                MSG_PROGRAM, MSG_BOOKMARK, MSG_BOOKMARK,
                                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_THUMBNAIL_PAGE, MSG_PSCAN, MSG_NULL, // dummy
                                MSG_NULL, MSG_NULL, MSG_NULL, // dummy
                                // Micky2.31, reduce codes
                                // remove multi-disc related. replace with DVD group
                                MSG_MENU, MSG_MENU, // LLY.099c
                                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
                                MSG_NULL, MSG_NULL, MSG_NULL, MSG_NULL, // up/down/left/right
                                MSG_NULL, MSG_NULL, MSG_NULL, MSG_NULL, // unsed
                                /*
                                // Group 5, 15s
                                MSG_NULL, MSG_NULL, MSG_NULL, MSG_NULL, // KEY_LED1~4
                                MSG_NULL, MSG_NULL,                     // KEY_DISCSKIP, SKIP_BACK
                                MSG_DISCPOSITION, MSG_DISCPOSITION, MSG_DISCPOSITION,
                                MSG_DISCPOSITION, MSG_DISCPOSITION, MSG_DISCPOSITION,
                                MSG_DISCPOSITION, MSG_DISCPOSITION,
                                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
                                // Micky2.31, reduce codes
                                // remove group8
                                /*
                                // Group 8, 20s
                                MSG_SETUP_MAIN_BASE, 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
                                */
                                // Micky2.31, reduce codes
                                // don't need check message for group other
                                /*
                                // Group 9, 20s
                                MSG_NULL, MSG_NULL, MSG_INVALID,
                                MSG_INVALID, MSG_OSDAPP,
                                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
                                */
                                // Micky2.31, reduce codes, move to group5
                                /*
                                // Group 10
                                MSG_MENU, MSG_MENU, // LLY.099c
                                MSG_NULL,
                                MSG_SEARCH, MSG_SEARCH,
                                MSG_ANGLE_CTL,
                    // Micky2.79-2, support FullScreen function
                    // MSG_FULLSCREEN
                                MSG_NULL,   // KEY_ACTIVE
                                MSG_NULL,   // KEY_HOTKEY
                                MSG_FULLSCREEN,   // MSG_FULLSCREEN
                                */
                                };
#endif
BYTE    __bKeyMessage;//Micky2.80, review global variables init.=MSG_NULL;
BYTE    __bKeySource;//Micky2.80, review global variables init.=KEY_FROM_FW;
// DVD_101bMicky, merge the scan->other macro commands action
void    _ScanToOther(void);
void    _CC_ResetState(BYTE bState);

// 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_SETUP
BYTE    __bFlowState ;
BYTE    _ProceedFlowState(void);

#ifdef  ENABLE_AUTOVOCAL

BYTE _AutoVocal(BYTE bValidKey);

DWORD __dwMICDectectInterval;
bit   _btPreMICDetect;
BYTE  _bMICOffCount;

#ifdef  SW_MIC_DETECT
bit __sbMICDetect;
#endif

#endif  //#ifdef  ENABLE_AUTOVOCAL


#ifdef   _SHOW_IR_MAP
BYTE        _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
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.c
WORD    __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-
// CDROM file : FM_MAX_NUMBER
// AVSYS      : 999-
// when exceed the max. number, will reset the number as 0
WORD    __wMaxNumber;
//Kevin0.86, for GDI mode UI use 
#ifdef CT908_UI 
extern BYTE OSDPRGM_ProcessKey(BYTE bKey); 
extern BYTE OSDVIR_ProcessKey(BYTE bKey); 
extern void OSDVIR_Trigger(void); 
#endif
// Micky1.05, add auto test for IC sorting by CoCo
#ifdef AUTO_TEST
//alex1.23,20040218 combine gototime , search
//in autotest function, key_search replace key_gototime 
//WORD code aDVDRule[] = {COUNT_2_SEC, KEY_GOTOTIME, 0, KEY_N2, 0, KEY_PLAY, 0, KEY_GOTOTIME, 0, KEY_GOTOTIME, 0, KEY_N2,
WORD code 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};
WORD code aCDROMRule[] = {COUNT_1_SEC, KEY_PLAY, 0, 0};
DWORD __dwAutoTestTime;
BYTE __bRuleIndex;
BYTE __bAutoTest;
WORD code *_wpRule;
#endif

//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_OSD
extern BYTE OSDPROMPT_ProcessKey(BYTE bKey);
#endif //#ifdef SUPPORT_PSCAN_PROMPT_OSD
extern 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 declaration
BIT     __btDumpFlag;
BYTE    __bDumpType;

// Micky1.10, add 6 Display mode
#ifdef SHOW_6_DISPLAY_MODE
extern DWORD __dwDisplayStartTimer;
extern BYTE __bRootMenu;
extern BYTE __bTitleMenu;
#endif

⌨️ 快捷键说明

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