📄 usrcfg.~c
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 03/09/16 10:06p $ ****************/
/*************** $Revision:: 3 $ ****************/
/*************** ****************/
/*************** Description : Setup State ****************/
/*************** Machine ****************/
/*************** This module must be placed in ****************/
/*************** bank 0. ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : Peter Huang ****************/
/**********************************************************************/
#include "general.h"
#include "..\..\version.h"
#pragma NOAREGS
#if defined(DVD_RECEIVER)
#include ".\receiver\dvdrec.h"
#include ".\receiver\pt2320.h"
#endif
#include ".\receiver\tas5508.h"
#ifdef USE_CD4094
void SET_4094_PIN(BYTE PIN) large;
void CLR_4094_PIN(BYTE PIN) large;
#endif
static BYTE code _pbFWVer[4] = VER_FIRMWARE;
static BYTE code _pbSubVer[4] = SUB_VER;
static BYTE code _pb8032Ver[4] = VER_UI;
#ifdef DISC_UPDATE_CODE
static BYTE code _pbVolumeID[] = {VOLUME_ID};
static BYTE code _pbFileName[] = {UPDATE_FILE};
#endif
#ifdef USE_3053
extern BYTE xdata _bLedType;
extern void VLedModeControl(BOOL fgFlag) large;
#elif defined(USE_3053_2)
extern BYTE xdata _bLedType;
extern BYTE xdata _ModeTimer;
#endif
#ifdef LOAD_USR_PWD_FILE
static BYTE code _pbPwdFilename[] = {PWD_FILENAME};
#endif
#if defined(INTERNAL_KARA)&&!defined(KARA_IN_SETUP)
extern BYTE bSetMic(WORD wEEPos, BYTE bValue);
#endif
/***************************************************************************
Function : void vSetFWVersion(void) large
Dsecription : called from Timer routine
Parameter : None
Return : None
***************************************************************************/
static void vSetFWVersion(void) large
{
// store 8032 version
vSetSharedInfo(SI_8032_VER_ID0, _pb8032Ver[0]);
vWriteNextSharedItem(_pb8032Ver[1]);
vWriteNextSharedItem(_pb8032Ver[2]);
vWriteNextSharedItem(_pb8032Ver[3]);
// store SERVO version
_dwIrDoneParm = dSRVGetVer();
vSetSharedInfo(SI_SERVO_VER_ID0, bHiByte(wHiWord(_dwIrDoneParm)));
vWriteNextSharedItem(bLoByte(wHiWord(_dwIrDoneParm)));
vWriteNextSharedItem(bHiByte(wLoWord(_dwIrDoneParm)));
vWriteNextSharedItem(bLoByte(wLoWord(_dwIrDoneParm)));
// store Firmware version
vSetSharedInfo(SI_FW_VER_ID0, _pbFWVer[0]);
vWriteNextSharedItem(_pbFWVer[1]);
vWriteNextSharedItem(_pbFWVer[2]);
vWriteNextSharedItem(_pbFWVer[3]);
vSetSharedInfo(SI_SUB_VER_ID0, _pbSubVer[0]);
vWriteNextSharedItem(_pbSubVer[1]);
vWriteNextSharedItem(_pbSubVer[2]);
vWriteNextSharedItem(_pbSubVer[3]);
}
/***************************************************************************
Function : void vSetUpgInfo(void) large
Dsecription : called from Timer routine
Parameter : None
Return : None
***************************************************************************/
static void vSetUpgInfo(void) large
{
BYTE bIdx;
// enable checksum check
#ifdef UPDATE_KEEP_CPPM_KEY
vSetSharedInfo(SI_UPG_CONFIG, SV_UPG_CHKSUM | SV_UPG_CPPM_KEEP);
#else
vSetSharedInfo(SI_UPG_CONFIG, SV_UPG_CHKSUM | SV_UPG_CPPM_REPLACE);
#endif
#ifdef DISC_UPDATE_CODE
vSetSharedInfo(SI_UPG_VOLUME_ST, _pbVolumeID[0]);
bIdx = 0;
while (_pbVolumeID[bIdx])
{
vWriteNextSharedItem(_pbVolumeID[++bIdx]);
}
vSetSharedInfo(SI_UPG_FILE_ST, _pbFileName[0]);
bIdx = 0;
while (_pbFileName[bIdx])
{
vWriteNextSharedItem(_pbFileName[++bIdx]);
}
#endif /* DISC_UPDATE_CODE */
#ifdef LOAD_USR_PWD_FILE
vSetSharedInfo(SI_PWD_FILENAME, _pbPwdFilename[0]);
bIdx = 0;
while (_pbPwdFilename[bIdx])
{
vWriteNextSharedItem(_pbPwdFilename[++bIdx]);
}
#else
vSetSharedInfo(SI_PWD_FILENAME, 0);
#endif /* LOAD_USR_PWD_FILE */
}
/***************************************************************************
Function : void vUserInit(BOOL bInited)
Dsecription : called from Timer routine
Parameter : None
Return : None
***************************************************************************/
void vUserInit(BOOL fgInited) large
{
#ifdef USE_3053
BYTE i;
BYTE _LedChangeTime;
WORD _BwaitTime;
#elif defined(USE_3053_2)
BYTE _SaveLedType;
#endif
#if defined(BBK_NEW_MENU) //&& !defined(USE_4M) dengsu 0802
vInitRootMenu();
_fgIsInBBKNewMenu = FALSE;
#endif
#ifdef INTERNAL_TEST
WORD wAddr;
for (wAddr = 0; wAddr < SHARED_INFO_GRP_SIZE * DSP_SHARED_INFO_GRP_NS; wAddr++)
WriteSInfo(DSP_SHAREINFO_OFST + wAddr, 0x5A);
#endif
#ifdef AUDIO_IN_EN
_bPlayerFuncMode = PLAYER_FUNC_DVD;
#endif
vSetFWVersion();
vSetUpgInfo();
// initial share memory first
vInitSystemShareInfo();
vInitAdspShareInfo();
vInitVideoShareInfo();
// - audio control init.
vAdspInit(0); // note mute fitst, turned on in vUIStart()
/* check if SEE was inited */
if (fgInited)
{
#ifdef DISC_UPG_RESET_DEFAULT
if (bEepromReadByte(RESET_POSITION) == SV_ON)
{
#ifdef DISC_UPG_RESET_KEEP_REGION
BYTE bTmp = bEepromReadByte(REGION_CODE_POSITION);
//BillDen bg
#ifdef HAVE_TRUE_REGION
if (bTmp != REGION_NO && bTmp != 0)
#else
if (bTmp>6 || bTmp<0)
#endif
bTmp = REGION_NO;
//BillDen end
#endif
fgInited = TRUE;
// load default value
fgEepromSetWriteShadow();
vEepromClearShadow(TRUE);
#ifdef MTK_MENU
vInitMenuEntry(MENU_ITEM_INIT);
#else
vInitMenuEntry(MENU_ITEM_INIT);
#endif
// #if defined(MT1389_REV_E) && defined(PLAYER_KARAOKE) && defined(MTK_AUD_ADC) //[05/09/15]
#if defined(INTERNAL_KARA)&&!defined(KARA_USE_EXTERNAL_ADC)//billy[051110]
{
extern void vAdspSetMicFading() large;
vAdspSetMicFading();
}
#endif
// reset flag
fgEepromWriteByte(RESET_POSITION, SV_OFF);
// restore region code
#ifdef DISC_UPG_RESET_KEEP_REGION
fgEepromWriteByte(REGION_CODE_POSITION, bTmp);
vSetSharedInfo(SI_REGION, bTmp << 4);
#endif
// we want to write back EEPROM shadow
_rUI.fgEepromInited = FALSE;
}
else
#endif // DISC_UPG_RESET_DEFAULT
{
#ifdef MTK_MENU
vInitMenuEntry(MENU_ITEM_EEPROM);
#else
vInitMenuEntry(MENU_ITEM_EEPROM);
#endif
}
}
else /* serial EEPROM not inited */
{
fgEepromSetWriteShadow();
vEepromClearShadow(TRUE);
#ifdef MTK_MENU
vInitMenuEntry(MENU_ITEM_INIT);
#else
vInitMenuEntry(MENU_ITEM_INIT);
#endif
/* note the last memory shadow is written back when power down */
#ifdef DISC_UPG_RESET_DEFAULT
// reset flag
fgEepromWriteByte(RESET_POSITION, SV_OFF);
#endif
}
#if (defined(SETUP_NO_PSCAN_CTRL) && defined(PSCAN_EN))
if(bEepromReadByte(TV_PSCAN_EN_POS) == SV_ON) //pscan control
{
vVideoUserRecallPScan(fgInited);
}
#endif
#if defined(INTERNAL_KARA)&&!defined(KARA_IN_SETUP) //for del the noise
vAdspMicVol(AUD_MIC_VOL_1,bEepromReadByte(MIC_VOL1_POS));
vAdspMicVol(AUD_MIC_VOL_2,bEepromReadByte(MIC_VOL1_POS));
#endif
#ifdef AUDIO_IN_EN
#ifndef AUDIO_IN_ONLY
if (fgIsFuncAin())
{
if (fgIsTrayInside() &&
(bSharedInfo(SI_SRV_BOOT_STATE) == SV_SRV_BOOT_LOAD))
{
vSetSharedInfo(SI_SRV_BOOT_STATE, SV_SRV_BOOT_SKIP_LOAD);
}
else // other state not allow to boot in audio in state
{
vPlayerFuncSwitch(PLAYER_FUNC_DVD);
}
}
#else
vSetSharedInfo(SI_SRV_BOOT_STATE, SV_SRV_BOOT_SKIP_LOAD);
#endif /* AUDIO_IN_ONLY*/
#endif /* AUDIO_IN_EN */
#ifdef BBK_MENU //------------------------------------------------------------------------------
#if (defined(HDCD_CERTIFICATION) || defined(HDCD_EN))
vAdspHdcdMode(EV_ON, EV_OFF);
vAdspUpSamp(EV_1X);
#endif
#ifndef SIMPLE_MENU
vAdspSpdifCh(SPDIF_PCM_LR); //BillDen
#endif
vSetSharedInfo(SI_PSCAN_EDGE, 0);
vNotifySharedInfo(SI_PSCAN_EDGE, 0, 0);
//for bbk eq and surround
#ifdef AUDIO_TYPE_NOT_SAVE //BillDen
_bSurType = AUD_REVERB_MODE_OFF;
_bEqType = AUD_EQ_TYPE_NONE;
fgEepromWriteByte(EQ_PRESET_POS, EV_NONE);//billy050603 for save the EQ and REVERB
fgEepromWriteByte(REVERB_MD_POS, EV_NONE);//billy050603 for save the EQ and REVERB
vAdspReverbMode(_bSurType);
vAdspSurr(AUD_CH_EQ_CTRL, ADSP_OFF);
vAdspChEqLoadPreset(_bEqType);
#else
_bSurType = bEepromReadByte(REVERB_MD_POS);
_bEqType = bEepromReadByte(EQ_PRESET_POS);
if (_bSurType > AUD_REVERB_MODE_MAX)
{
_bSurType = AUD_REVERB_MODE_OFF;
}
if (_bEqType >= AUD_EQ_TYPE_MAX)
{
_bEqType = AUD_EQ_TYPE_NONE;
}
vAdspReverbMode(_bSurType);
if (_bEqType == EV_NONE)
{
vAdspSurr(AUD_CH_EQ_CTRL, ADSP_OFF);
}
else
{
vAdspSurr(AUD_CH_EQ_CTRL, ADSP_ON);
}
vAdspChEqLoadPreset(_bEqType);
#endif
//BillDen bg
#ifdef TONE_IN_SETUP
bToneChange(bEepromReadByte(TONE_POS));
#endif
//BillDen end
#if defined(BBK_NEW_MENU) //&& !defined(USE_4M) dengsu 0802
_fgIsInBBKNewMenu = FALSE;
#endif
#ifdef USE_3053
if(bEepromReadByte(LED_POSITION1) == 0)
{
_LedChangeTime = 0; //do not need
_bLedType = 0;
}
else
{
if(bEepromReadByte(LED_POSITION1) > 0x38) //dengsu 0811
fgEepromWriteByte(LED_POSITION1, 0x38);
if(bEepromReadByte(LED_POSITION1) == 0x38) //not changed
{
if(_bLedType == 0) // first time and not changed
_LedChangeTime = 21;
else
_LedChangeTime = 15;//must be repower.
_bLedType =5;
}
else if(_bLedType > ( bEepromReadByte(LED_POSITION1) * 2 -1)) //must be power reset
{
_LedChangeTime = 15;
_bLedType = bEepromReadByte(LED_POSITION1) * 2 -1;
}
else
{
_LedChangeTime = bEepromReadByte(LED_POSITION1) * 2 -1;
_bLedType = _LedChangeTime;
}
}
for(i =0 ;i <_LedChangeTime;i++)
{
VLedModeControl(TRUE);
if((i%2) == 0)
{
for(_BwaitTime = 0; _BwaitTime< 30000;_BwaitTime++) //dengsu 0812 4000->10000
_nop_();
VLedModeControl(FALSE);
for(_BwaitTime = 0; _BwaitTime< 30000;_BwaitTime++) //dengsu 0812 4000->10000
_nop_();
}
else
{
for(_BwaitTime = 0; _BwaitTime< 10000;_BwaitTime++) //dengsu 0812 4000->10000
_nop_();
VLedModeControl(FALSE);
for(_BwaitTime = 0; _BwaitTime< 10000;_BwaitTime++) //dengsu 0812 4000->10000
_nop_();
}
}
#elif defined(USE_3053_2)
_SaveLedType = bEepromReadByte(LED_POSITION1);
if(_SaveLedType == 0)
{
_bLedType = 0;
_ModeTimer = 0;
}
else
{
if(_SaveLedType> 0x38) // error status.
{
fgEepromWriteByte(LED_POSITION1, 0x38); //change to factory status
_SaveLedType = 0x38;
}
if(_SaveLedType== 0x38)
{
if(_bLedType == 0)
_ModeTimer = 42; //Max status
else
_ModeTimer = 30; // a total cycle
_bLedType =5;
}
else if(_bLedType > (_SaveLedType * 2 -1))
{
_ModeTimer = 30; // a total cycle
_bLedType = _SaveLedType* 2 -1;
}
else
{
_bLedType = (_SaveLedType* 2) -1;
_ModeTimer = _bLedType*2;
}
}
#endif
vSetAngleShow(TRUE);
#ifdef BBK_LAST_MEMORY
vSetSharedInfo(SI_LAST_MEM, 0);
#endif
SET_4094_PIN(SET_TAS5508_HEADPHONE);
SET_4094_PIN(SET_TAS5508_MUTE);
vSendMasterVolume(0x48);
//end for bbk
#endif //------------------------------------------------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -