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

📄 panel.c

📁 车载电子影音系统dvd播放系统原程序代码
💻 C
📖 第 1 页 / 共 2 页
字号:
    else if(__wDiscType & CDROM_M1 && (FM_GetFileType(__wPlayItem)!=EXTNAME_JPG))
    {
        _bDisplayRam[VFD_MP3_ADDR] |= VFD_MP3;
    }
    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------------------------------------------------------------------
    if(__btPBC)
        _bDisplayRam[VFD_PBC_ADDR] |= VFD_PBC;
//---- 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(__bModeChannel==AUDIO_STEREO)
    {
        _bDisplayRam[VFD_L_ADDR] |= VFD_L;
        _bDisplayRam[VFD_R_ADDR] |= VFD_R;
    }
    else if(__bModeChannel== AUDIO_LL)
        _bDisplayRam[VFD_L_ADDR] |= VFD_L;
    else if(__bModeChannel== AUDIO_RR)
        _bDisplayRam[VFD_R_ADDR] |= VFD_R;
//---- DVD information DOLBY 5.1 DTS ANGLE ---------------------------------
    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
}

//  ***************************************************************************
//  Function    :   _LETT_To_DisplayRam
//  Abstract    :   Built _bLettArray Letter to _bDisplayRam
//  Arguments   :   none
//  Return      :   none
//  Side Effect :       none
//  ***************************************************************************
#pragma NOAREGS
void _LETT_To_DisplayRam(void)
{
#ifndef NO_PANEL
    _bDisplayRam[0] = _bLettArray[0];
    _bDisplayRam[2] = _bLettArray[1];
    _bDisplayRam[4] = _bLettArray[2];
    _bDisplayRam[6] = _bLettArray[3];
    _bDisplayRam[8] = _bLettArray[4];

    if((gcShowStatus.bSetProgram)||(__bSearchMode==SEARCH_MODE_TITLE_CHAPTER))
        return;

    if( _bLettArray == _bLettTimeMessage)
    {
        if(!(((__wDiscType & BOOK_SVCD)||(__wDiscType & BOOK_CVD)||(__wDiscType & BOOK_VCD))&&(__wPlayItem >= 999)))
        {
            if(!(__wDiscType & CDROM_M1 && (FM_GetFileType(__wPlayItem)==EXTNAME_JPG)))
            {
                _bDisplayRam[VFD_HOUR_COL_ADDR] |= VFD_HOUR_COL;
                _bDisplayRam[VFD_MIN_COL_ADDR]  |= VFD_MIN_COL;
            }
        }
    }
#endif
}

//  ***************************************************************************
//  Function    :   _ShowTime
//  Abstract    :   Built Time Message Letter (_bLettTimeMessage)
//                                      to _bDisplayRam
//  Arguments   :   wTime
//  Return      :   none
//  Side Effect :       none
//  ***************************************************************************
#pragma NOAREGS
void _ShowTime( WORD wTime) // ** TCH0.50;
{
#ifndef NO_PANEL
//    BYTE bHour, bMin, bSec,bData;
    extern BYTE  __bTitle;
    extern WORD  __wChapter;
    extern WORD __wPlayItem;

    if((__wDiscType & BOOK_SVCD)||(__wDiscType & BOOK_CVD)||(__wDiscType & BOOK_VCD))
    {
        if(__wPlayItem > 999)
        {
            _bLettArray = aMessagePbc;
            goto  DIRECT_FILL_PBC_MESSAGE;
        }
    }

    _bLettArray = _bLettTimeMessage;

    if(__wDiscType & BOOK_DVD )
    {
    /*
        if(__bDomain==TT_DOM || __bDomain==STOP_DOM || gcShowStatus.bSetTime==OSD_INPUT_TIME
           || gcShowStatus.bSetSearch==OSD_ENTER_SEARCH)
        {
        }
        else
        {
        }
*/
    }
    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 && (FM_GetFileType(__wPlayItem)==EXTNAME_JPG))
        {
            _bLettArray[0] = 0;
            _bLettArray[1] = aNumMap[gcShowStatus.wCurrentTrack/100];
            _bPanelTemp1 = gcShowStatus.wCurrentTrack % 100;
            _bLettArray[2] = aNumMap[_bPanelTemp1/10];
            _bLettArray[3] = aNumMap[_bPanelTemp1%10];
            _bLettArray[4] = 0;
        }
        else
        {
            _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];
        }
    }

DIRECT_FILL_PBC_MESSAGE:
    _LETT_To_DisplayRam();

    if(__wDiscType & BOOK_DVD)                      // Add TITLE CHAPTER
    {
        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;
        }
    }
    else if(__wPlayItem < 999)
    {
        _bDisplayRam[VFD_TRACK_ADDR] |= VFD_TRACK;
    }
#endif
}
//  ***************************************************************************
//  Function    :   _LightCircle
//  Abstract    :   Turn light the Circle
//  Arguments   :   none
//  Return      :   none
//  Side Effect :       none
//  ***************************************************************************
#pragma NOAREGS
void _LightCircle()
{
#ifndef NO_PANEL
#endif
}
//  ***************************************************************************
//  Function    :   _Show_Program_Message
//  Abstract    :   Show _bPrgramData to panel
//  Arguments   :   none
//  Return      :   none
//  Side Effect :       none
//  ***************************************************************************
void    _Show_Program_Message(void)
{
#ifndef NO_PANEL
#if 0
    WORD wProgramNumber;
    extern BYTE __bProgramCurrentIndex;
    extern WORD __wProgramData[PROGRAM_TRACK];
    extern BYTE __bProgramInputNum[4];
    extern BYTE __bInputNumIndex;

    _bLettArray = _bLettTimeMessage;
    _bLettArray[0]=LETT_DASH;
    _bLettArray[1]=LETT_DASH;
    _bLettArray[2]=LETT_DASH;
    _bLettArray[3]=LETT_DASH;

   //for DVD program Sunny 1.00b
    if(__wDiscType & BOOK_DVD)
    {
        wProgramNumber =__wProgramData[__bProgramCurrentIndex/2];
        if(wProgramNumber)
        {
            if(HIBYTE(wProgramNumber))
            {
                _bLettArray[0] = aNumMap[(HIBYTE(wProgramNumber))/10];
                _bLettArray[1] = aNumMap[(HIBYTE(wProgramNumber))%10];
            }
            if(LOBYTE(wProgramNumber))
            {
                _bLettArray[2] = aNumMap[(LOBYTE(wProgramNumber))/10];
                _bLettArray[3] = aNumMap[(LOBYTE(wProgramNumber))%10];
            }
        }
        if(__bInputNumIndex)
        {
            if(__bProgramCurrentIndex & 0x01)
            {
                _bLettArray[2] = (__bProgramInputNum[0]>10)? LETT_DASH:aNumMap[__bProgramInputNum[0]];
                _bLettArray[3] = (__bProgramInputNum[1]>10)? LETT_DASH:aNumMap[__bProgramInputNum[1]];
            }
            else
            {
                _bLettArray[0] = (__bProgramInputNum[0]>10)? LETT_DASH:aNumMap[__bProgramInputNum[0]];
                _bLettArray[1] = (__bProgramInputNum[1]>10)? LETT_DASH:aNumMap[__bProgramInputNum[1]];
            }
        }
        _bPanelTemp1 = __bProgramCurrentIndex/2 + 1;
        _bLettArray[4] = LETT_P;
        _bLettArray[5] = (__bProgramCurrentIndex & 0x01)? LETT_c : LETT_t;
        _bLettArray[6] = 0;
        _bLettArray[7] = aNumMap[_bPanelTemp1/10];
        _bLettArray[8] = aNumMap[_bPanelTemp1%10];
    }
    else // DVD / VCD CD SVCD
    {
        wProgramNumber =__wProgramData[__bProgramCurrentIndex];
        _bLettArray[0] = LETT_P;
        _bLettArray[1] = 0;
        _bLettArray[2] = aNumMap[(__bProgramCurrentIndex+1)/10];
        _bLettArray[3] = aNumMap[(__bProgramCurrentIndex+1)%10];
        _bLettArray[4] = 0;
        _bLettArray[5] = 0;
        if(__bInputNumIndex)
        {
            for(_bPanelTemp1=0;_bPanelTemp1<3;_bPanelTemp1++)
                _bLettArray[_bPanelTemp1+6]=(__bProgramInputNum[_bPanelTemp1]<10)?aNumMap[__bProgramInputNum[_bPanelTemp1]]:LETT_DASH;
        }
        else
        {
            if(wProgramNumber)
            {
                _bLettArray[6] = aNumMap[wProgramNumber/100];
                wProgramNumber = wProgramNumber%100;
                _bLettArray[7] = aNumMap[(LOBYTE(wProgramNumber))/10];
                _bLettArray[8] = aNumMap[(LOBYTE(wProgramNumber))%10];
            }
            else
            {
                _bLettArray[6]=LETT_DASH;
                _bLettArray[7]=LETT_DASH;
                _bLettArray[8]=LETT_DASH;
            }
        }
    }
#endif
    _bLettArray = _bLettTimeMessage;
    _bLettArray[0]=0;
    _bLettArray[1]=LETT_P;
    _bLettArray[2]=LETT_r;
    _bLettArray[3]=LETT_g;
    _bLettArray[4]=0;
#endif //NO_PANEL
}
//  ***************************************************************************
//  Function    :   _Show_GotoTime_Message
//  Abstract    :   Show gototime message to panel
//  Arguments   :   none
//  Return      :   none
//  Side Effect :       none
//  ***************************************************************************
void    _Show_GotoTime_Message(void)
{
#ifndef NO_PANEL
    extern  BYTE __bTimeHour, __bTimeMin, __bTimeSec;
    extern  BYTE _bTimeIndex;

    _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];

#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;
    }
#else
    switch(_bTimeIndex)
    {
        case 0:
            _bLettArray[4] = LETT_DASH;
        case 1:
            _bLettArray[3] = LETT_DASH;
        case 2:
            _bLettArray[2] = LETT_DASH;
        case 3:
            _bLettArray[1] = LETT_DASH;
        case 4:
            _bLettArray[0] = LETT_DASH;
        break;
    }
#endif
#endif
}
//  ***************************************************************************
//  Function    :   _Show_Search_Message
//  Abstract    :   Show DVD search message to panel
//  Arguments   :   none
//  Return      :   none
//  Side Effect :       none
//  ***************************************************************************
void    _Show_Search_Message(void)
{
#ifndef NO_PANEL
    extern BYTE _bDispTitle;
    extern WORD _wDispChapter;

    _bLettArray = _bLettTimeMessage;
    if(__bSearchMode==SEARCH_MODE_TITLE_CHAPTER)
    {

        _bLettArray[0] = aNumMap[_bDispTitle/10];
        _bLettArray[1] = aNumMap[_bDispTitle%10];
        _bLettArray[2] = 0;
        _bLettArray[3] = aNumMap[LOBYTE(_wDispChapter)/10];
        _bLettArray[4] = aNumMap[LOBYTE(_wDispChapter)%10];

    }
    if(__bSearchMode==SEARCH_MODE_TIME)
    {
        _Show_GotoTime_Message();
    }
#endif
}

⌨️ 快捷键说明

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