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

📄 cc.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 5 页
字号:
//#define CARD_TEST   // Joey2.76: for card test#define MAP_PLAYABLE_MESSAGE_ONLY // ***** Big Modification History Area *****// The file "winav.h" must be included in first line#include "winav.h"#include "ctkav.h"  // ** TCH0.60; #include    <string.h>#include "initial.h"#include "utl.h"#include "panel.h"     #include "hal.h"#include "SrcFilter.h"#include "input.h"#include "chips.h"#include "thumb.h"#include "comutl.h"//#include "amp.h"#include "gdi.h" //CoCo.CT909#include "osdmm.h" //CoCo.CT909#include "osddsply.h"#include "osdsrch.h"#include  "osdprgm.h"// Micky0.80a, must clear the key value.#ifdef SUPPORT_BOOKMARK#include "osdbmark.h"#endif//#ifdef SUPPORT_BOOKMARK// LLY0.95, include DivX OSD related header file for using OSDCOMDLG_ProcessKey()#ifndef NO_DRM#include "osddlg.h"#endif  // #ifndef NO_DRM// ** TCH0.60; #ifndef SYSTEM_8051BYTE    EX1, EX0, EA;// ** TCH0.60; #endif#include "setup.h"#include "navigate.h"#include "cell.h"#include "dvdinfo.h"    // ** TCH0.27;#include "infofilter.h"#include "vcd20.h"#include "digest.h"#include "cc.h"#include "osd.h"#include "linear.h"#include "monitor.h"//#include "sysdebug.h" //CoCo.sd// ** TCH0.60; begin... #include "thumb.h"#include "media.h" // ** TCH0.60; end... #ifdef CT950_STYLE //CoCo2.38#include "alarm.h"#include "autopower.h"#endif //CT950_STYLE#include "disp.h"#include "parser.h"#include "comdec.h"//#include "mpeg2dec.h"#include "subpict.h"#include "osdss.h"//alex080,support cdrom auto upgrade#include "cdg.h"  //LJY0.95#include "osdap.h" // LLY1.50, used to add OSDAP_ProcessKey()#ifdef IMAGE_FRAME_SETUP //CoCo2.38#include "poweronmenu.h"#endif //IMAGE_FRAME_SETUP //CoCo2.38#ifdef SUPPORT_DMP#include "dvdsetup_op.h"#endif //SUPPORT_DMP#ifdef SUPPORT_RADIO_TUNER#include "radio.h"#endif //SUPPORT_RADIO_TUNER#ifdef SUPPORT_CHAR_SUBPICTURE#include "char_subpict.h"  //Alan1.10, support char-based subpicture#endif#if defined(SUPPORT_STB) || defined(IMAGE_FRAME_SETUP) //CoCo2.38#include "mainmenu.h"#endif// wyc2.76-909P#if (USB_SYSTEM == USB2_0_JUNGO)#include "usbwrap.h"#endif //#include "usbsrc.h"extern BYTE MAIN_MENU_ProcessKey(void);//#define   NO_CDGDWORD   __dwW99AV_SrcDRAM;DWORD   __dwW99AV_DestDRAM;#define NULL_0      0       // ** TCH0.60; #ifndef NO_MP3#include "Mmanager.h"#endif  // #ifndef NO_MP3 //CoCo1.02, add OSD game from XuLi's code#ifdef SUPPORT_OSDGAME#include "GameMain.h"extern EN_GAME_ID __enGameID;#endif#ifdef SUPPORT_TFT            #include "tft.h"    BIT _btAVIN=0; //Jeff 20060705 Add for AV in    BIT _btTFT_PowerDown=0; //Jeff 20060705 Add for AV in#endif char        __cBuffer [LENGTH_SHAREBUFFER+ 1];  // Max for SPPaletteBYTE        * __pbBuffer; // ** TCH1.60a-2; Pointer to __cBuffer for unsigned operation// elmer2.75, make sure to 8-byte alignmentBYTE        __bPool [LENGTH_SHAREPOOL] __attribute__ ((aligned (8)));  // Common-Pool for DVD/ VCD    // ** TCH1.61;//BYTE        __bPool [LENGTH_SHAREPOOL];  // Common-Pool for DVD/ VCD    // ** TCH1.61;WORD        __wPoolOffset;  // record the current usage of Pool// wyc2.37-909s, replace to NO_DISC_MODE#ifndef NO_DISC_MODE //++CoCo2.37pDWORD       __dwFWBufUsedSize;#endif //#ifndef NO_DISC_MODE //++CoCo2.37p// Micky2.79, tune the usage of __bCountStop, don't reference DOUBLE_STOP// __bCountStop=0, means playing(include pause)// __bCountStop=1, means pre-stop(Value 1 exist only when DOUBLE_STOP is defined)// __bCountStop>=2, means real-stopBYTE    __bCountStop;BYTE __bLOGO; //CoCo, Need to move the variable's declaration to SWOSD.BYTE *__bpDataPointer;BIT     __btNTSCBitStream;// for debugging!!!!DWORD   __dwCheckTime;BYTE    __bZoomFactor;#ifndef NO_DIGESTextern  BYTE        __bTrackNO;         // DIGEST usage, current track NO (Had played)//LJY0.87(LJY2.81), for DVCD discview#endifDWORD   __dwOpenTime;// wyc.172-2, extern this variable from servo and move to begin of programextern BYTE __bCloseCommand ;// wyc0.95, extern variable.extern DWORD   __dwFileTime;// wyc1.02-909, extern variableextern BYTE _bCDGState;//  global definition//DVD_051Micky, add byte size timer count// for avoid DWORD data move by interrupt inteference// must clear it as 0 before using// only alow max. 3 seconds(base on 50Mhz)//BYTE        __bSystemTimer;DWORD       __dwSystemTimer;DWORD       __dwCountSystem;DWORD           __dwTimeBegin;DWORD           __dwTimeEnd;DWORD   __dwTimeNow;WORD    __wDiscType;                    // Record Disc TypeBYTE            __bDiscInfo;                    // ** TCH1.70; Record Disc// wyc1.25, add one variable to record flow when detected as wrong disc for debug usage,BYTE    __bTestFlow;BYTE    __bKey;// LLY0.62, add new variable to keep F/W assign key for IR and F/W key conflict issueBYTE    __bFWKey;// LLY1.05, remove __dwTimeRef to CELL module, since only it will use it.//DWORD           __dwTimeRef;// record a disc playable Begin Sectors (VCD is from Track 2)DWORD           __dwTimeDiscBegin;        // record a disc playable End SectorsDWORD           __dwTimeDiscEnd;//Alex1.21,20031210 support bookmark#ifdef SUPPORT_BOOKMARKBYTE            __bBookMark_Title[BOOKMARK_NO+ 1];        // record BookMark TitleWORD            __wBookMark [BOOKMARK_NO+ 1];             // record BookMark Time //CoCo1.20, reduce code size.//Aron2.38, support still resuming#ifdef SUPPORT_STILLRSMBYTE            __bBookMarkIsStill [BOOKMARK_NO+ 1];DWORD           __dwBookMarkVOBU [BOOKMARK_NO+ 1];#endifBIT             __btBookMark;             // BookMark ON/OFF (PBC OFF) //CoCo1.20, reduce code size.#endif //#ifdef SUPPORT_BOOKMARK// default VCD is track 2;WORD            __wPlayItem;// wyc2.53-909P,WORD            __wBGPlayItem;// record VCD 2.0 List typeWORD            __wStatus;// Micky0.62-909, removed// [909 Removed]/*//DVD_047-1. Number confirmvoid _ConfirmAction(WORD wValue);WORD            _wPreValue;//Micky2.80, review global variables init.=0xffff;DWORD   __dwTimeNumber;*/BYTE            __bModeCmd;             // Record current macro command                                        // Remove the initialization as it add Initial_Variables()WORD            __wTrackBegin;// first valid trackWORD            __wTrackEnd;// last valid trackBYTE            __bRepeat= REPEAT_NONE;         // record repeat mode                                // REPEAT_NONE: non-repeat, REPEAT_TRACK:repeat one track,                                // REPEAT_DISC: repeat all tracksBYTE            __bModeChannel;// record channel informationBYTE            __bAudioType;// record Audio Type informationBYTE            __bError;// record the previous errorBYTE            __bTimeMin, __bTimeSec;         // GOTOTime UsageBYTE            __bRepeatAB;    // RepeatAB ON/OFF (PBC OFF)BYTE            __bShowTimeType;// Output Module use. ref to osd.hBYTE            __bGoToTimeNO;                  // count the I/P Number in GoToTimeDWORD __dwEntryStart;///////////////// DIGEST Usage// Micky1.20, 4M flash#ifndef NO_DIGEST//jyliu.pc908, using BYTE instead of BITBYTE             __btDIGEST;             // means Digest Mode#endif//////////////////////////////////////////////////////BIT             __btPlaying;// means is playing (NPF/FF/...)BIT             __btPlayEnd= TRUE;             // Check if it's into Play-End modeBIT             __btPause;// if it's into Pause modeBIT             __btPBC;// means VDC2.0 PBCBIT             __btDriveOpen;// means drive is in close mode when Power-ONBYTE            __bFirstPlay;// Does it play first time ?                // add the usage of recover hangBIT             __btMute;// Disable/Enable MuteBIT             __btRandom;// in random mode (PBC off)BYTE            __bAutoVocal;// Enable Auto-SingBYTE            __bScan;                // The Status of SCAN Command (encounters IFSC)DWORD                   _dwTimeCheckTray;// global usage; don't remove those variables// Please don't use in the functions that be called by InterruptDWORD      __dwTemp;WORD       __wTemp;BYTE       __bTemp;BIT             __btTemp;// __wSlowSpeed is actual slow speed ratioWORD            __wSlowSpeed;// Slow factorBYTE    __bSlowLevel;BYTE    __bTimeHour;    // GoTo Time usage// GOTOTIMEDWORD           __dwGoToTime;   // Time that use GOTO position BIT             __btNewTime;// A flag that means it's a NEW timeBIT             __btPlayFromBegin;// Told F/W it should play Track-Begin firstBIT             __btFromStopMode;// GOTO position comes from a "STOP" mode// LLY2.36, create a new variable to keep the desired STC value for GoTime action// To avoid the inaccuracy from STC/90K = sec unit, then * 90K again to get PTSDWORD           __dwGoTimeSTC;// LLY2.61, create a new variable to keep time A STC value for Repeat A-B// ie. don't share it w/ __dwGoTimeSTC// Since, stop/ resume case also save the STC in __dwGoTimeSTC// So, the value maybe overwritten during repeat A-B --> enter/exit SETUP (do stop/resume)DWORD           __dwTimeA_STC;// wyc2.05-909S, porting fish's code for MP3 resume.// Keep the final stop point// DivX/ AVI/ MP4: second unit for parser// Others (not include DVD title): sector ID (will minus buffer remain)DWORD           __dwResumeTime;// Time that record final stop point// LLY2.05, porting Wing/ YC code to support MP3 disc resume// [1] __dwResumeItem// HIWORD: playing directory index (from 0); LOWORD: __wPlayItem (from 1)DWORD           __dwResumeItem;// [2] __dwGoTimeFrameCnt// Keep GoTime frame count, since it must calculate base on GoTime sector & bitstream bitrate, samplepreframe...// And, the value is only valid after DSP start to decode the audio.// So, the value must be set during // (1) Keep TimeA point for Repeat A-B case// (2) Keep resume time point for resume case// (3) Calculate GoTime value for GoTime caseDWORD           __dwGoTimeFrameCnt; BIT             __btPowerDown;// PowerDown Mode ON/OFF// TCC155, a flag for checking tray is open or closedBYTE            _bOpen;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.// Micky0.90a, SP2 control, add SP display status for SP2// wyc1.00-909, add comment for __bSP_Disp_OFFBYTE            __bSP2_Disp_OFF;    // 1, SP2 is off by user, 0x10, SP2 is off by SP1 off.BYTE            __bSP_Disp_OFF;     // 1,  SP1 is off by user,0x10, SP1 is off by NV cmd, 1 ~ 127 means sp off 0, 128 ~ 255 means sp onBYTE            __bSPSTN;       // SP Stream Number, from "0".BYTE            __bSPST2N;       // Aron1.01 SP Stream Number for SP2, from "0".BYTE            __bSPSTNO;    // Index of Audio Stream Number, from "0"-"__bSPSTNs-1".   // ** TCH0.451;BYTE            __bSPST2NO;   // Chuan0.75, Tndex of Subpicture Stream Number2.BYTE            __bSPSTNs;   // Max. SP/OGT Stream Number.BYTE            __bSPSTID;      // The Real sub_stream_id. DVD may be different than __bSPSTN.BYTE            __bSPST2ID;  // Chuan0.75, The Real sub_stream_id 2.BYTE            __bAGLN;    // Angle Number. from "0".BYTE            __bAGL_Ns;  // Number of Angles.// LLY2.37, following variable is removed from NAVIAGER.C/ CELL.C// Since, they are not used only for DVD titleBYTE    __bACHN;                // Record current Audio Channel Number. From "1"..WORD    __wChapter_Ns_Title;    // Record the Total Chapters/ current Title (PTT)WORD    __wV_ATR;               // Record Video Attribute (current)

⌨️ 快捷键说明

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