📄 panel.~c
字号:
_VFD_CS_HI; for (_bPanelTemp1 = 0; _bPanelTemp1 < 4; _bPanelTemp1++){} _VFD_CS_LO; _OutByteVFD(VFD_CTRL_MODE); // Command 4 _VFD_CS_HI; for (_bPanelTemp1 = 0; _bPanelTemp1 < 4; _bPanelTemp1++){} HAL_I2CSrc_Ctrl(MUTEX_ACTION_UNLOCK); __icVFDnow=0x00;}// ***************************************************************************// Function : _Updata_System_Status// Abstract : Display the information according to system status.// Arguments : noe.// Return : none// Side Effect :// ***************************************************************************//#pragma NOAREGvoid _Updata_System_Status(void){ //---- Disctype DVD CD VCD MP3 SVCD ---------------------------------------- if(__wDiscType & BOOK_DVD ) {#ifndef NO_DISC_MODE //CoCo2.37p _bDisplayRam[VFD_DVD_ADDR] |= VFD_DVD; if(__bSearchMode!=SEARCH_MODE_TIME) { _bDisplayRam[VFD_TITLE_ADDR] |= VFD_TITLE; _bDisplayRam[VFD_CHAPTER_ADDR] |= VFD_CHAPTER; }#endif //#ifndef NO_DISC_MODE //CoCo2.37p } else if(__wDiscType & BOOK_CDDA) { _bDisplayRam[VFD_CD_ADDR] = VFD_CD; } else if(__wDiscType & CDROM_M1 && (MM_GetFileType(__MMPlayingItem.wDirID, __wPlayItem)== (EXTNAME_MP3)))///||EXTNAME_MP2||EXTNAME_WMA||EXTNAME_DTS||EXTNAME_AC3))) { _bDisplayRam[VFD_MP3_ADDR] = VFD_MP3; } /* else if(__wDiscType & CDROM_M1 && (MM_GetFileType(__wPlayItem)==(EXTNAME_VOB)))///||EXTNAME_AVI))) { _bDisplayRam[VFD_JPEG_ADDR] = VFD_DVD; } else if(__wDiscType & CDROM_M1 && (MM_GetFileType(__wPlayItem)==(EXTNAME_MPG||EXTNAME_DAT))) { _bDisplayRam[VFD_JPEG_ADDR] = VFD_VCD; } */ else if(__wDiscType & CDROM_M1 && (MM_GetFileType(__MMPlayingItem.wDirID, __wPlayItem)==EXTNAME_JPG)) { _bDisplayRam[VFD_JPEG_ADDR] = VFD_JPEG; } else if((__wDiscType & BOOK_SVCD)||(__wDiscType & BOOK_CVD)) { _bDisplayRam[VFD_SVCD_ADDR]= VFD_SVCD; _bDisplayRam[VFD_VCD_ADDR] = VFD_VCD; } else if(__wDiscType & BOOK_VCD) _bDisplayRam[VFD_VCD_ADDR]= VFD_VCD; //---- Repeat REPEAT 1 ALL ------------------------------------------------- if(__bRepeat != REPEAT_NONE) { _bDisplayRam[VFD_REPEAT_ADDR] |= VFD_REPEAT; if(__bRepeat == REPEAT_DISC) { _bDisplayRam[VFD_REP_ALL_ADDR] |= VFD_REP_ALL; } else if(__bRepeat == REPEAT_TRACK) _bDisplayRam[VFD_REP_1_ADDR] |= VFD_REP_1; } //---- RepeatAB A -B ------------------------------------------------------- if(__bRepeatAB == REPEAT_A) { _bDisplayRam[VFD_REP_A_ADDR] |= VFD_REP_A; } else if(__bRepeatAB == REPEAT_AB) { _bDisplayRam[VFD_REP_A_ADDR] |= VFD_REP_A; _bDisplayRam[VFD_REP_B_ADDR] |= VFD_REP_B; } //---- PBC------------------------------------------------------------------#ifndef NO_DISC_MODE //++CoCo2.37p if(__btPBC) _bDisplayRam[VFD_PBC_ADDR] |= VFD_PBC;#endif //#ifndef NO_DISC_MODE //++CoCo2.37p //---- Random RAN ---------------------------------------------------------- if(__btRandom) _bDisplayRam[VFD_RAN_ADDR] |= VFD_RAN; //---- Program PROG ---------------------------------------------------------- if(__btProgram) _bDisplayRam[VFD_PGM_ADDR] |= VFD_PGM; //---- Play Pause |> ||----------------------------------------------------- if(gcShowStatus.bPlayingMode == MSG_PAUSE) _bDisplayRam[VFD_PAUSE_ADDR] |= VFD_PAUSE; else if(gcShowStatus.bPlayingMode == MSG_PLAYING) _bDisplayRam[VFD_PLAY_ADDR] |= VFD_PLAY; //---- Audio 1L/2R -------------------------------------------------------- //if(gcShowStatus.bAudioChannel==AUDIO_STEREO) if(__bModeChannel==AUDIO_STEREO) //CoCo1.21, remove gcShowStatus.bAudioChannel. use __bModeChannel to judge it { _bDisplayRam[VFD_L_ADDR] |= VFD_L; _bDisplayRam[VFD_R_ADDR] |= VFD_R; } //else if(gcShowStatus.bAudioChannel== AUDIO_LL) else if(__bModeChannel== AUDIO_LL) _bDisplayRam[VFD_L_ADDR] |= VFD_L; //else if(gcShowStatus.bAudioChannel== AUDIO_RR) else if(__bModeChannel== AUDIO_RR) _bDisplayRam[VFD_R_ADDR] |= VFD_R; //---- DVD information DOLBY 5.1 DTS ANGLE ---------------------------------#ifndef NO_DISC_MODE //CoCo2.37p if(__wDiscType & BOOK_DVD) { if(__bACHN==6) _bDisplayRam[VFD_51CH_ADDR] |= VFD_51CH; if(__bAudioType == HAL_AUDIO_AC3) _bDisplayRam[VFD_DOLBY_ADDR] |= VFD_DOLBY; else if(__bAudioType== HAL_AUDIO_DTS) _bDisplayRam[VFD_DTS_ADDR] |= VFD_DTS; if(__bAGL_Ns) _bDisplayRam[VFD_ANGLE_ADDR] |= VFD_ANGLE; }#endif //#ifndef NO_DISC_MODE //CoCo2.37p}// ***************************************************************************// Function : _LETT_To_DisplayRam// Abstract : Built _bLettArray Letter to _bDisplayRam// Arguments : none// Return : none// Side Effect : none// ***************************************************************************//#pragma NOAREGSvoid _LETT_To_DisplayRam(void){ for (i=0;i<VFD_NUM;i++) { _bDisplayRam[i*2] = _bLettArray[i]; } //if((gcShowStatus.bSetProgram)||(__bSearchMode==SEARCH_MODE_TITLE_CHAPTER))#ifndef NO_DISC_MODE //CoCo2.37p if((__bSearchMode==SEARCH_MODE_TITLE_CHAPTER)) return;#endif //#ifndef NO_DISC_MODE //CoCo2.37p if (__bMediaSelectUI) return; if( _bLettArray == _bLettTimeMessage) { if(!(((__wDiscType & BOOK_SVCD)||(__wDiscType & BOOK_CVD)||(__wDiscType & BOOK_VCD))&&(__wPlayItem >= 999))) { if(!(__wDiscType & CDROM_M1 && (MM_GetFileType(__MMPlayingItem.wDirID, __wPlayItem)==EXTNAME_JPG))) { //if (LOBYTE(gcShowStatus.wCurrentTime)%2)#ifdef Col_Flash if (((OS_GetSysTimer()- __dwTimerCount_PANEL_SHIFT)>COUNT_500_MSEC)) { __dwTimerCount_PANEL_SHIFT=OS_GetSysTimer(); if (COL_Flash==0) COL_Flash=1; else COL_Flash=0; }#else COL_Flash=1;#endif if (COL_Flash==1) { _bDisplayRam[VFD_HOUR_COL_ADDR] |= VFD_HOUR_COL; _bDisplayRam[VFD_MIN_COL_ADDR] |= VFD_MIN_COL; } else { _bDisplayRam[VFD_HOUR_COL_ADDR] &= ~VFD_HOUR_COL; _bDisplayRam[VFD_MIN_COL_ADDR] &= ~VFD_MIN_COL; } } } } if (Message_length>0) { _bDisplayRam[VFD_HOUR_COL_ADDR] &= ~VFD_HOUR_COL; _bDisplayRam[VFD_MIN_COL_ADDR] &= ~VFD_MIN_COL; } }// ***************************************************************************// Function : _ShowTime// Abstract : Built Time Message Letter (_bLettTimeMessage)// to _bDisplayRam// Arguments : wTime// Return : none// Side Effect : none// ***************************************************************************//#pragma NOAREGS// LLY2.53, expand the time value from WORD to DWORD unit// Since, we will use [23:16]:hour, [15:8]:min, [7:0]: sec//void _ShowTime( WORD wTime) // ** TCH0.50;void _ShowTime(DWORD dwTime) // ** TCH0.50;{ // BYTE bHour, bMin, bSec,bData; // extern BYTE __bTitle; // extern WORD __wChapter; extern WORD __wPlayItem; Message_length = 0; if((__wDiscType & BOOK_SVCD)||(__wDiscType & BOOK_CVD)||(__wDiscType & BOOK_VCD)) { if(__wPlayItem > 999) { for (i=0;i<10;i++) _bLettArray_O[i]=0; Message_length=4; _bLettArray = _bLettTimeMessage; _bLettArray_O[0] = 0; _bLettArray_O[1] = 0; _bLettArray_O[2] = LETT_P; _bLettArray_O[3] = LETT_b; _bLettArray_O[4] = LETT_C; goto DIRECT_FILL_PBC_MESSAGE; } } _bLettArray = _bLettTimeMessage; if(__wDiscType & BOOK_DVD ) { } else if(__wDiscType & CDROM_M1) { } else if(__wDiscType & BOOK_CDDA) { } else if((__wDiscType & BOOK_SVCD)||(__wDiscType & BOOK_CVD)||(__wDiscType & BOOK_VCD)) { if(__wPlayItem < 999) { } } if(((__wDiscType & BOOK_SVCD)||(__wDiscType & BOOK_CVD)||(__wDiscType & BOOK_VCD))&&(__wPlayItem >= 999)) { } else { if(__wDiscType & CDROM_M1 && (MM_GetFileType(__MMPlayingItem.wDirID, __wPlayItem)==EXTNAME_JPG)) { _bLettArray[0] = aNumMap[gcShowStatus.wCurrentTrack/100]; _bPanelTemp1 = gcShowStatus.wCurrentTrack % 100; _bLettArray[1] = aNumMap[_bPanelTemp1/10]; _bLettArray[2] = aNumMap[_bPanelTemp1%10]; } else { // LLY2.53, modify the procedure for time calculation // Since, current we will use DWORD to keep time value // ie. [23:16]:hour, [15:8]: min, [7:0]: sec BYTE bIdx=0#if 0 _bPanelTemp2=HIBYTE(wTime); _bPanelTemp1=_bPanelTemp2/60; _bPanelTemp2=_bPanelTemp2%60; _bLettArray[0] = aNumMap[_bPanelTemp1]; _bLettArray[1] = aNumMap[_bPanelTemp2/10]; _bLettArray[2] = aNumMap[_bPanelTemp2%10]; _bPanelTemp1=LOBYTE(wTime); _bLettArray[3] = aNumMap[_bPanelTemp1/10]; _bLettArray[4] = aNumMap[_bPanelTemp1%10];#endif // #if 0 // Hour part _bPanelTemp1 = (BYTE)(HIWORD(dwTime)); if(_bPanelTemp1 >= 10) { _bLettArray[bIdx++] = aNumMap[_bPanelTemp1/10]; } _bLettArray[bIdx++] = aNumMap[_bPanelTemp1%10]; // Min part _bPanelTemp1 = HIBYTE(LOWORD(dwTime)); _bLettArray[bIdx++] = aNumMap[_bPanelTemp1/10]; _bLettArray[bIdx++] = aNumMap[_bPanelTemp1%10]; // Sec part _bPanelTemp1 = LOBYTE(LOWORD(dwTime)); _bLettArray[bIdx++] = aNumMap[_bPanelTemp1/10]; _bLettArray[bIdx++] = aNumMap[_bPanelTemp1%10]; } }DIRECT_FILL_PBC_MESSAGE: _LETT_To_DisplayRam(); if(__wDiscType & BOOK_DVD) // Add TITLE CHAPTER {#ifndef NO_DISC_MODE //CoCo2.37p if(gcShowStatus.bPlayingMode == MSG_STOP) { _bDisplayRam[VFD_TITLE_ADDR] &= ~VFD_TITLE; _bDisplayRam[VFD_CHAPTER_ADDR] &= ~VFD_CHAPTER; } else { _bDisplayRam[VFD_TITLE_ADDR] |= VFD_TITLE; _bDisplayRam[VFD_CHAPTER_ADDR] |= VFD_CHAPTER; }#endif //#ifndef NO_DISC_MODE //CoCo2.37p } else if(__wPlayItem < 999) { _bDisplayRam[VFD_TRACK_ADDR] |= VFD_TRACK; }}// ***************************************************************************// Function : _Show_Program_Message// Abstract : Show _bPrgramData to panel// Arguments : none// Return : none// Side Effect : none// ***************************************************************************void _Show_Program_Message(void){ _bLettArray = _bLettTimeMessage; _bLettArray[0]=LETT_P; _bLettArray[1]=LETT_r; _bLettArray[2]=LETT_g;}// ***************************************************************************// Function : _Show_GotoTime_Message// Abstract : Show gototime message to panel// Arguments : none// Return : none// Side Effect : none// ***************************************************************************void _Show_GotoTime_Message(void){ extern BYTE __bTimeHour, __bTimeMin, __bTimeSec; //extern BYTE _bTimeIndex; //--CoCo1.21, may remove _bTimeIndex, it is fixed value 0xff for now _bLettArray = _bLettTimeMessage; _bLettArray[0] = aNumMap[__bTimeHour]; _bLettArray[1] = aNumMap[__bTimeMin/10]; _bLettArray[2] = aNumMap[__bTimeMin%10]; _bLettArray[3] = aNumMap[__bTimeSec/10]; _bLettArray[4] = aNumMap[__bTimeSec%10]; // --CoCo1.21, the following case never exist ==> for _bTimeIndex is 0xff#ifdef GOTOTIME_LEFTTORIGHT switch(_bTimeIndex) { case 0: _bLettArray[0] = LETT_DASH; case 1: _bLettArray[1] = LETT_DASH; case 2: _bLettArray[2] = LETT_DASH; case 3: _bLettArray[3] = LETT_DASH; case 4: _bLettArray[4] = LETT_DASH; break; }#endif}// ***************************************************************************// Function : _Show_Search_Message// Abstract : Show DVD search message to panel// Arguments : none// Return : none// Side Effect : none// ***************************************************************************void _Show_Search_Message(void){ extern BYTE __bTitle; extern WORD __wChapter; _bLettArray = _bLettTimeMessage;#ifndef NO_DISC_MODE //CoCo2.37p if(__bSearchMode==SEARCH_MODE_TITLE_CHAPTER) { _bLettArray[0] = aNumMap[__bTitle/10]; _bLettArray[1] = aNumMap[__bTitle%10]; _bLettArray[2] = 0; _bLettArray[3] = aNumMap[LOBYTE(__wChapter)/10]; _bLettArray[4] = aNumMap[LOBYTE(__wChapter)%10]; }#endif //#ifndef NO_DISC_MODE //CoCo2.37p if(__bSearchMode==SEARCH_MODE_TIME) { _Show_GotoTime_Message(); }}#endif // #ifdef USE_VFD_CTRL#endif // #ifndef NO_PANEL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -