?? osdshow.c
字號:
case SV_A_CODE_AAC:
wMsgId = OSD_MSG_AAC;
break;
case SV_A_CODE_HDCD:
wMsgId = OSD_MSG_HDCD;
break;
case SV_A_CODE_PCM:
if (fgIsDvdPlay())
{
wMsgId = OSD_MSG_LPCM;
}
else
{
wMsgId = OSD_MSG_PCM;
}
break;
case SV_A_CODE_AC3:
if (fgIsAinPlay())
{
wMsgId = OSD_MSG_ICON_DOLBY_DIGITAL;
}
else
{
wMsgId = OSD_MSG_AC3;
}
break;
case SV_A_CODE_MPEG:
wMsgId = OSD_MSG_MPEG;
break;
case SV_A_CODE_DTS:
wMsgId = OSD_MSG_DTS;
break;
case SV_A_CODE_SDDS:
wMsgId = OSD_MSG_SDDS;
break;
case SV_A_CODE_MP3:
wMsgId = OSD_MSG_MP3;
break;
case SV_A_CODE_WAV:
wMsgId = OSD_MSG_WAV;
break;
#ifdef SUPPORT_DVD_AUDIO
case SV_A_CODE_MLP:
wMsgId = OSD_MSG_MLP;
break;
#endif
case SV_A_CODE_NONE:
default:
#if 0
if (fgIsDvdPlay())
{
wMsgId = OSD_MSG_AC3;
}
else if (fgIsVcdPlay())
{
wMsgId = OSD_MSG_MPEG;
}
else if (fgIsIsoPlay())
{
wMsgId = OSD_MSG_MP3;
}
else if (fgIsCddaPlay())
{
wMsgId = OSD_MSG_PCM;
}
#else
wMsgId = OSD_MSG_NULL;
#endif
break;
}
return (wMsgId);
}
// *********************************************************************
// Function : WORD wOsdGetAudChMsg(BYTE bType)
// Description : Audio Channel Config
// Parameter : bState
// Return : None
// *********************************************************************
WORD wOsdGetAudChMsg(BYTE bType) large
{
#ifdef DVD_AUDIO_INFO_NO_CHNL
return (OSD_MSG_NULL);
#else /* !DVD_AUDIO_INFO_NO_CHNL */
WORD wMsgId = OSD_MSG_NULL;
switch (bType)
{
case SV_A_CH_MN:
case SV_A_CH_LL:
case SV_A_CH_RR:
wMsgId = OSD_MSG_1CH;
break;
case SV_A_CH_33_1:
wMsgId = OSD_MSG_61CH;
break;
case SV_A_CH_32_1:
wMsgId = OSD_MSG_51CH;
break;
case SV_A_CH_31_1:
case SV_A_CH_22_1:
wMsgId = OSD_MSG_41CH;
break;
case SV_A_CH_21_1:
case SV_A_CH_30_1:
wMsgId = OSD_MSG_31CH;
break;
case SV_A_CH_20_1:
wMsgId = OSD_MSG_21CH;
break;
case SV_A_CH_33_0:
wMsgId = OSD_MSG_6CH;
break;
case SV_A_CH_32_0:
wMsgId = OSD_MSG_5CH;
break;
case SV_A_CH_31_0:
case SV_A_CH_22_0:
wMsgId = OSD_MSG_4CH;
break;
case SV_A_CH_21_0:
case SV_A_CH_30_0:
wMsgId = OSD_MSG_3CH;
break;
case SV_A_CH_20_0:
default:
wMsgId = OSD_MSG_2CH;
break;
}
return (wMsgId);
#endif /* !DVD_AUDIO_INFO_NO_CHNL */
}
#ifdef MT1379_MANUFACTURE_TEST
#ifdef RS232_LOG
extern void DRS232LogS(char *pcStr);
extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
#endif
xdata struct
{
BYTE bTestStart:1;
BYTE bDVDTestSuccess:1;
BYTE bCDTestSuccess:1;
BYTE bY7Pressed:1;
BYTE bReserve:4;
}
_stFWVerify;
static code const BYTE pbMPTestModuleError[]={20, 'W', 'R', 'O','N','G',' ','D','I','S','C',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '};
#ifdef MT1389_REV_L
#ifdef MT1389_PTCON
static code const BYTE pbMPTestModuleInit[]={19, 'M', 'T', '1', '3','8','9', 'L', 'P', ' ', 'T', 'E', 'S', 'T',' ', 'v','0','.','0','3'};
#else
static code const BYTE pbMPTestModuleInit[]={18, 'M', 'T', '1', '3','8','9', 'L', ' ', 'T', 'E', 'S', 'T',' ', 'v','0','.','0','4'};
#endif
#elif defined (MT1389_REV_K)
#ifdef MT1389_PTCON
static code const BYTE pbMPTestModuleInit[]={19, 'M', 'T', '1', '3','8','9', 'K', 'P', ' ', 'T', 'E', 'S', 'T',' ', 'v','0','.','0','3'};
#else
static code const BYTE pbMPTestModuleInit[]={18, 'M', 'T', '1', '3','8','9', 'K', ' ', 'T', 'E', 'S', 'T',' ', 'v','0','.','0','3'};
#endif
#else
static code const BYTE pbMPTestModuleInit[]={17, 'M', 'T', '1', '3','8','9',' ', 'T', 'E', 'S', 'T',' ', 'v','0','.','0','1'};
#endif
static code const BYTE pbMPTestModulePassed[]={20, 'T', 'E', 'S','T',' ','P','A','S','S','E','D',' ',' ',' ',' ',' ',' ',' ',' ',' '};
static code const BYTE pbMPTestModuleInsertDVD[]={20 ,'P', 'L', 'E', 'A', 'S' ,'E' ,' ', 'I', 'N' ,'S' ,'E' ,'R' ,'T',' ', 'D' ,'V' ,'D',' ',' ',' '};
static code const BYTE pbMPTestModuleInsertCD[]={20, 'P', 'L', 'E', 'A', 'S' ,'E' ,' ', 'I', 'N' ,'S' ,'E' ,'R' ,'T',' ', 'C' ,'D',' ',' ',' ',' ',' '};
static code const BYTE pbMPTestModuleBothPassed[]={20, 'A', 'L', 'R', 'E', 'A' ,'D' ,'Y', ' ', 'P','A','S','S','E','D',' ',' ',' ',' ',' ',' '};
static code const BYTE pbMPTestModuleWrongDisc[]={20, 'P', 'L', 'E', 'A', 'S' ,'E' ,' ', 'I', 'N' ,'S' ,'E' ,'R' ,'T',' ', 'D' ,'V' ,'D', '/', 'C' ,'D'};
#define MSG_INVALID_DISC 0x10
#define MSG_DVD_OK 0x20
#define MSG_CD_OK 0x30
static code const BYTE pbMPTestDVDOk[] ={6 ,'D' ,'V', 'D', ' ','O', 'K'};
static code const BYTE pbMPTestCDOk[] ={5 ,'C', 'D', ' ','O', 'K'};
static code const BYTE* ppbMPTestHdrMsg[3] ={
pbMPTestModuleError,
pbMPTestDVDOk,
pbMPTestCDOk
};
enum{
MSG_INIT=0,
MSG_PASSED,
MSG_INSERT_DVD,
MSG_INSERT_CD,
MSG_HAVE_PASSED,
MSG_WRONG_DISC
};
static code const BYTE* ppbMPTestModuleMsg[6] ={
//pbMPTestModuleError,
pbMPTestModuleInit,
pbMPTestModulePassed,
pbMPTestModuleInsertDVD,
pbMPTestModuleInsertCD,
pbMPTestModuleBothPassed,
pbMPTestModuleError
//pbMPTestModuleWrongDisc
};
static code const WORD wBgColor[6]={
TRUECOLOR_BLUE,
TRUECOLOR_DARK_GREEN,
TRUECOLOR_RED,
TRUECOLOR_RED,
TRUECOLOR_RED,
TRUECOLOR_RED
};
void vShowTestVer() large
{
BYTE pbStr[30], i;
#ifdef RS232_LOG
DRS232LogS("vShowTestVer");
#endif
vCreateWB(WB_SELMENU, TRUE);
vSetWBTcColor(WB_SELMENU);
vSetTcPal(WB_SELMENU, 2, BLEND_3, wBgColor[MSG_INIT]);
vSetTcPal(WB_SELMENU, 0, BLEND_3, wBgColor[MSG_INIT]);
vSetMsgCol4(WB_SELMENU, 0, 2, 2, 3);
for (i=0;i<ppbMPTestModuleMsg[MSG_INIT][0]+1;i++)
pbStr[i] = ppbMPTestModuleMsg[MSG_INIT][i];
// vOsdShowStrXY(160, 65, WB_SELMENU, ppbMPTestModuleMsg[MSG_INIT]);
vOsdShowStrXY(160, 65, WB_SELMENU, pbStr);
vEnableWB(WB_SELMENU);
}
void vOsdShowTestInfo(BYTE bIndex) large
{
BYTE pbStr[30], i;
BYTE bHdrMsg;
if ((bIndex == MSG_INIT && !_stFWVerify.bTestStart) ||bIndex != MSG_INIT )
{
if (bIndex == MSG_INIT)
_stFWVerify.bTestStart=1;
vCreateWB(WB_SELMENU, TRUE);
vClearWB(WB_SELMENU);
vSetWBTcColor(WB_SELMENU);
vSetTcPal(WB_SELMENU, 2, BLEND_3, wBgColor[bIndex]);
vSetTcPal(WB_SELMENU, 0, BLEND_3, wBgColor[bIndex]);
//vSetTransEn(WB_SELMENU,2);
vSetMsgCol4(WB_SELMENU, 0, 2, 2, 3);
bHdrMsg= bIndex & 0xf0;
if (bHdrMsg)
{
for (i=0;i<ppbMPTestHdrMsg[(bHdrMsg>>4)-1][0]+1;i++)
pbStr[i] = ppbMPTestHdrMsg[(bHdrMsg>>4)-1][i];
//vOsdShowStrXY(160, 65, WB_SELMENU, ppbMPTestHdrMsg[(bHdrMsg>>4)-1]);
vOsdShowStrXY(160, 65, WB_SELMENU, pbStr);
}
if (bIndex & 0x0f)
{
for (i=0;i<ppbMPTestModuleMsg[bIndex & 0x0f][0]+1;i++)
pbStr[i] = ppbMPTestModuleMsg[bIndex & 0x0f][i];
//vOsdShowStrXY(160, 95, WB_SELMENU, ppbMPTestModuleMsg[bIndex & 0x0f]);
vOsdShowStrXY(160, 95, WB_SELMENU, pbStr);
}
vEnableWB(WB_SELMENU);
}
}
void vInitTestStatus() large
{
#ifdef RS232_LOG
DRS232LogS("InitTest");
#endif
_stFWVerify.bTestStart = 0;
_stFWVerify.bDVDTestSuccess=0;
_stFWVerify.bCDTestSuccess=0;
_stFWVerify.bY7Pressed=0;
//init Y7 pin
ClrBitBIM(BIM_IODIH, IOH_YUV7);
}
void vNotMp4CD() large
{
vOsdShowTestInfo(MSG_INVALID_DISC|MSG_INSERT_CD);
//vY7TrayIn();
WriteBIM(BIM_IODIH, bReadBIM(BIM_IODIH) | IOH_YUV7);
}
BOOL fgCheckIfTested() large
{
#ifndef MT1389_SINGLE_TEST
if (_stFWVerify.bDVDTestSuccess && _stFWVerify.bCDTestSuccess)
{
vOsdShowTestInfo(MSG_HAVE_PASSED);
return TRUE;
}
if(bSharedInfo(SI_DISC_TYPE) == SV_DVD_VIDEO && _stFWVerify.bDVDTestSuccess )
{
vOsdShowTestInfo(MSG_INVALID_DISC|MSG_INSERT_CD);
return TRUE;
}
if(bSharedInfo(SI_DISC_TYPE) == SV_DATA && _stFWVerify.bCDTestSuccess )
{
vOsdShowTestInfo(MSG_INVALID_DISC|MSG_INSERT_DVD);
return TRUE;
}
#endif
return FALSE;
}
void vCheckTestStatus() large
{
#ifdef MT1389_SINGLE_TEST
vOsdShowTestInfo(MSG_PASSED);
#else
if (!_stFWVerify.bDVDTestSuccess)
_stFWVerify.bDVDTestSuccess = (bSharedInfo(SI_MANU_TEST_ST) == SV_DVD_VIDEO);
if (!_stFWVerify.bCDTestSuccess)
_stFWVerify.bCDTestSuccess = (bSharedInfo(SI_MANU_TEST_ST) == SV_DATA);
#ifdef RS232_LOG
DRS232LogS("CheckTest");
DRS232LogB(_stFWVerify.bDVDTestSuccess,_stFWVerify.bCDTestSuccess,0,0);
#endif
if (_stFWVerify.bDVDTestSuccess && _stFWVerify.bCDTestSuccess)
{
vOsdShowTestInfo(MSG_PASSED);
}
else if (_stFWVerify.bDVDTestSuccess)
{
vOsdShowTestInfo(MSG_DVD_OK|MSG_INSERT_CD);
}
else if (_stFWVerify.bCDTestSuccess)
{
vOsdShowTestInfo(MSG_CD_OK|MSG_INSERT_DVD);
}
#endif
}
void vY7TrayIn()large
{
if (!(bReadBIM(BIM_IODIH) & IOH_YUV7))
{
#ifdef RS232LOG
DBGLogB(_bTrayStatus, _stFWVerify.bY7Pressed, 0,0);
#endif
if (_bTrayStatus == TRAY_ST_OUT && !_stFWVerify.bY7Pressed)
{
_bPlayPostKey = IR_EJECT;
_bTrayStatus = TRAY_ST_MIDDLE;
_stFWVerify.bY7Pressed=1;
}
if (_bTrayStatus == TRAY_ST_IN && !_stFWVerify.bY7Pressed)
{
_bPlayPostKey = IR_EJECT;
_bTrayStatus = TRAY_ST_MIDDLE;
_stFWVerify.bY7Pressed=1;
}
}
if (_bTrayStatus == TRAY_ST_IN && _stFWVerify.bY7Pressed)
{
_stFWVerify.bY7Pressed=0;
}
if (_bTrayStatus == TRAY_ST_OUT && _stFWVerify.bY7Pressed)
_stFWVerify.bY7Pressed=0;
}
#endif
// *********************************************************************
// Number message table
// *********************************************************************
#if (defined(PLAYER_PROGRAM) || defined(PLAYER_BOOKMARK))
static code WORD pwNum2Msg[24] = {
OSD_MSG_NUM_01, OSD_MSG_NUM_02, OSD_MSG_NUM_03, OSD_MSG_NUM_04,
OSD_MSG_NUM_05, OSD_MSG_NUM_06, OSD_MSG_NUM_07, OSD_MSG_NUM_08,
OSD_MSG_NUM_09, OSD_MSG_NUM_10, OSD_MSG_NUM_11, OSD_MSG_NUM_12,
OSD_MSG_NUM_13, OSD_MSG_NUM_14, OSD_MSG_NUM_15, OSD_MSG_NUM_16,
OSD_MSG_NUM_17, OSD_MSG_NUM_18, OSD_MSG_NUM_19, OSD_MSG_NUM_20,
OSD_MSG_NUM_21, OSD_MSG_NUM_22, OSD_MSG_NUM_23, OSD_MSG_NUM_24
};
WORD wOsdGetNumMsg(BYTE bNum) large
{
if ((bNum == 0) || (bNum > 24))
{
return (OSD_MSG_NULL);
}
return (pwNum2Msg[bNum-1]);
}
#endif /* PLAYER_PROGRAM || PLAYER_BOOKMARK */
void vOsdPosRefreshDynaWb(WORD wPosIndex) large
{
#ifdef WB_ALLOC_MIN
BYTE bWbIdx;
bWbIdx = bPosWB(wPosIndex);
if (_rOsdStateCtx.bDynamicWB == bWbIdx)
return;
vDeleteWB(_rOsdStateCtx.bDynamicWB);
vCreateWBEx(bWbIdx);
_rOsdStateCtx.bDynamicWB = bWbIdx;
#endif
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -