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

📄 sys_ctrl.c

📁 mtk1389L latest sourcecode enjoy
💻 C
📖 第 1 页 / 共 2 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 07/05/16 2:04p    $       ****************/
/***************  $Revision:: 5                $       ****************/
/***************                                       ****************/
/***************   Description :                       ****************/
/***************                                       ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer :                       ****************/
/**********************************************************************/

#define _SYS_CTRL_C_

#pragma NOAREGS

#include "general.h"

extern void vTvScartAspect(BYTE bEnable) large;

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
static void vSystemConfigGeneral(void) large
{
  BYTE i;
#if 0//(DTS_POLICY == FAKE_DTS)
  BYTE bTmp;
#endif
  
  vSetSharedInfo(SI_SCR_SAVE_SWITCH, SV_OFF);

#ifdef DIGIT_CANCEL_REPEAT
  vSetSharedInfo(SI_DIGIT_CANCEL_REP, SV_ON);
#else
  vSetSharedInfo(SI_DIGIT_CANCEL_REP, SV_OFF);
#endif

  i = 0
#ifdef REVERSE_END_RESTART_PLAY
      | SV_REV_END_RESTART_PLAY
#endif
#ifdef KEEP_TRICK_AFTER_SEARCH
      | SV_TRICK_KEEP_WHEN_SEARCH
#endif
#ifdef FF_2X_PLAY_AUDIO
      | SV_FWD2X_NO_MUTE
#endif 
#ifdef BM_CLR_REARRANGE // 021031
      | SV_BM_CLR_REARRANGE
#endif      
  ;

  vSetSharedInfo(SI_GENERAL_PLAY_CONFIG0, i);

  vSetSharedInfo(SI_LAST_MEM, SV_OFF);

#ifdef MEMORY_SUPPORT
  vSetSharedInfo(SI_MEMORY, SV_ON);
#else
  vSetSharedInfo(SI_MEMORY, SV_OFF);
#endif

  // enable LAST_MEM setting according EEPROM's config
#ifdef SHARED_LASTMEM_SLOT
  vSetSharedInfo(SI_VCD_LASTMEM_LIST_HD, 0);
  vSetSharedInfo(SI_DVD_LASTMEM_LIST_HD, 0);
  vSetSharedInfo(SI_CDDA_LASTMEM_LIST_HD, 0);
  vSetSharedInfo(SI_DDISC_LASTMEM_LIST_HD, 0);

  vSetSharedInfo(SI_VCD_LASTMEM_NS, VCD_LAST_MEM_NS);
  vSetSharedInfo(SI_VCD_LASTMEM_GRP, SI_SHARED_LASTMEM_GRP_ID);
  vSetSharedInfo(SI_DVD_LASTMEM_NS, DVD_LAST_MEM_NS);
  vSetSharedInfo(SI_DVD_LASTMEM_GRP, SI_SHARED_LASTMEM_GRP_ID);
  vSetSharedInfo(SI_CDDA_LASTMEM_NS, CDDA_LAST_MEM_NS);
  vSetSharedInfo(SI_CDDA_LASTMEM_GRP, SI_SHARED_LASTMEM_GRP_ID);
  vSetSharedInfo(SI_DDISC_LASTMEM_NS, ISO_LAST_MEM_NS);
  vSetSharedInfo(SI_DDISC_LASTMEM_GRP, SI_SHARED_LASTMEM_GRP_ID);
  vSetSharedInfo(SI_VCD_MEM_SLOT_SZ, SV_MEM_SLOT_MAX_SZ);
  vSetSharedInfo(SI_DVD_MEM_SLOT_SZ, SV_MEM_SLOT_MAX_SZ);
  vSetSharedInfo(SI_CDDA_MEM_SLOT_SZ, SV_MEM_SLOT_MAX_SZ);
  vSetSharedInfo(SI_DDISC_MEM_SLOT_SZ, SV_MEM_SLOT_MAX_SZ);
#else
  // note the sequence must be VCD/DVD/CDDA/DDSIC, same as EEPROM layout
  i = 0;
  vSetSharedInfo(SI_VCD_LASTMEM_LIST_HD, i);
  i += VCD_LAST_MEM_NS;
  vSetSharedInfo(SI_DVD_LASTMEM_LIST_HD, i);
  i += DVD_LAST_MEM_NS;
  vSetSharedInfo(SI_CDDA_LASTMEM_LIST_HD, i);
  i += CDDA_LAST_MEM_NS;
  vSetSharedInfo(SI_DDISC_LASTMEM_LIST_HD, i);

  vSetSharedInfo(SI_VCD_LASTMEM_NS, VCD_LAST_MEM_NS);
  vSetSharedInfo(SI_VCD_LASTMEM_GRP, SI_VCD_LASTMEM_GRP_ID);
  vSetSharedInfo(SI_DVD_LASTMEM_NS, DVD_LAST_MEM_NS);
  vSetSharedInfo(SI_DVD_LASTMEM_GRP, SI_DVD_LASTMEM_GRP_ID);
  vSetSharedInfo(SI_CDDA_LASTMEM_NS, CDDA_LAST_MEM_NS);
  vSetSharedInfo(SI_CDDA_LASTMEM_GRP, SI_CDDA_LASTMEM_GRP_ID);
  vSetSharedInfo(SI_DDISC_LASTMEM_NS, DDISC_LAST_MEM_NS);
  vSetSharedInfo(SI_DDISC_LASTMEM_GRP, SI_DDISC_LASTMEM_GRP_ID);
  vSetSharedInfo(SI_VCD_MEM_SLOT_SZ, VCD_MEM_SLOT_SIZE);
  vSetSharedInfo(SI_DVD_MEM_SLOT_SZ, DVD_MEM_SLOT_SIZE);
  vSetSharedInfo(SI_CDDA_MEM_SLOT_SZ, CDDA_MEM_SLOT_SIZE);
  vSetSharedInfo(SI_DDISC_MEM_SLOT_SZ, DDISC_MEM_SLOT_SIZE);
#endif

#ifdef ADSP_RECOVERY
  vSetSharedInfo(SI_DSP_RECOVERY, SV_ON);
#else
  vSetSharedInfo(SI_DSP_RECOVERY, SV_OFF);
#endif

vSetSharedInfo(SI_SRV_DATA_READ_TIMEOUT, SRV_DATA_READ_TIMEOUT);

#ifdef SPTM_DATA_OUT
  vSetSharedInfo(SI_SPTM_DATA_OUT, SV_ON);
#else
  vSetSharedInfo(SI_SPTM_DATA_OUT, SV_OFF);
#endif

#ifdef SUPPORT_DVD_AUDIO
  vSetSharedInfo(SI_DVD_PRIO, SV_DVD_AUDIO);
#else
  vSetSharedInfo(SI_DVD_PRIO, SV_DVD_VIDEO);
#endif

  vSetSharedInfo(SI_COLOR_BAR, SV_OFF);

  vSetSharedInfo(SI_MV, 1);

#ifdef SUPPORT_CAPTURE_LOGO
  vSetSharedInfo(SI_CAP_LOGO_CFG, CAP_LOGO_SZ);
#endif

#ifdef DSP_LOAD_FORCE_SYNC
  vSetSharedInfo(SI_PLAYER_GENERAL_CONFIG, SV_DSP_LOAD_CODE_FORCE_SYNC);  
#endif


#if 0//(DTS_POLICY == FAKE_DTS)
  bTmp = bSharedInfo(SI_PLAYER_GENERAL_CONFIG);
  bTmp |= SV_FAKE_DTS;
  vSetSharedInfo(SI_PLAYER_GENERAL_CONFIG, bTmp);  
#endif
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
static void vSystemSetCppmKey(void) large
{
  BYTE bIdx;

  for (bIdx = 0; bIdx < 176; bIdx++)
  {
    vSetSharedInfo(SI_CPPM_KEY_SA + bIdx, 0);
  }
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
static void vSystemConfigDVD(void) large
{
  BYTE i;
  // some system config determined in compile time
  vSetSharedInfo(SI_REGION, REGION_NO << 4);
  vSetSharedInfo(SI_CC_SWITCH, SV_OFF);
  vSetSharedInfo(SI_ASPECT_RATIO, SV_WIDE);
  vSetSharedInfo(SI_FORCE_FULL_SCR, SV_OFF);

  i = 0
#ifdef TREAT_PS_LB_AS_THE_SAME
      | SV_ASPECT_PS_LB
#endif
#ifndef SP_N2P_NO_SCALE
      | SV_SP_N2P_SCALE
#endif
#ifndef DVD_MENU_NO_ZOOM
      | SV_HIGHLIGHT_ZOOM
#endif
#ifdef ENABLE_LNKPRVC_CHK_PRV_PG
      | SV_LNKPRVC_CHK_PRV_PG
#endif
#ifndef DVD_STOP_NO_RESET_PTL
      | SV_STOP_RESET_PTL
#endif
#ifndef DVD_STOP_NO_RESET_ASTN //020805
      | SV_STOP_RESET_ASTN
#endif
#ifndef DVD_STOP_NO_RESET_SPSTN
      | SV_STOP_RESET_SPSTN
#endif
#ifndef DVD_STOP_NO_RESET_AGLN
      | SV_STOP_RESET_AGLN
#endif
      ;
  vSetSharedInfo(SI_DVD_CONFIG, i);

  vSetSharedInfo(SI_DVD_REP_STILL_VAL, 0xff);

#ifdef DVDAUD_HIDE_HGR
  vSetSharedInfo(SI_HIDE_HGR, SV_ON);
#else
  vSetSharedInfo(SI_HIDE_HGR, SV_OFF);
#endif

  i = 0
#if (!defined(USE_8032_AUTO_PLAY) && defined(DVD_AUTO_PLAY))
      | SV_DVD_AUTO_PLAY
  #ifdef AUTO_LONGEST_TT_PLAY
      | SV_AUTO_LONGEST_TT_PLAY
    #ifndef LONG_TT_OPTION_MAX_PTT
      | SV_LONG_TT_OPTION
    #endif
  #endif
#endif
#ifndef DVD_PTL_VER11
      | SV_DVD_PTL_VER10
#endif
#ifdef DVD_FORCE_CHG_ANGLE
      | SV_DVD_FORCE_CHG_ANGLE
#endif
#ifdef DVD_FAST_SL_AGL_CHG
      | SV_FAST_SL_AGL_CHG
#endif
#ifdef DVD_REP_HLI_NO_FORCED_EXE
      | SV_REP_HLI_NO_FORCED_EXE
#endif
      ;
  vSetSharedInfo(SI_DVD_PLAY_SET, i);

  // LLY.1225 begin ...
  // Split VR play setting into another shared info.
  // Because, there is no space for VR_PLAY setting  @ MT1389 model
  i = 0
  // Enable the bit if define VR_AUTO_PLAY -- LLY.1112
#if (!defined(USE_8032_AUTO_PLAY) && defined(VR_AUTO_PLAY))
      | SV_VR_AUTO_PLAY
#endif
      ;
  vSetSharedInfo(SI_VR_PLAY_SET, i);
  // LLY.1225 end ...

  vSetSharedInfo(SI_DVD_ARBUF_THR, DVD_ARBUF_DEFAULT);

  //vSystemPrefAuLang('e', 'n');
  //vSystemPrefSpLang('e', 'n');
  //vSystemPrefMenuLang('e', 'n');
  vSystemParentalLevel(SV_PR_ADULT);

  vSetSharedInfo(SI_GROUP_END, (SV_RTN_MENU << 2) | SV_NEXT_GROUP);

#ifdef MINI_DVD_SUPPORT
  vSetSharedInfo(SI_DVD_SUPPORT, SV_DVD_VIDEO_SUPPORT | SV_MINI_DVD_SUPPORT);
#else
  vSetSharedInfo(SI_DVD_SUPPORT, SV_DVD_VIDEO_SUPPORT);
#endif

  // for sub-picture force off
  vSetSharedInfo(SI_SP_SWITCH, SV_ON);

#ifdef DVDA_LAST_MEM
  vSetSharedInfo(SI_DVDA_LAST_MEM, SV_ON);
#else
  vSetSharedInfo(SI_DVDA_LAST_MEM, SV_OFF);
#endif

  i = 0
#ifdef DVD_REVERSE_END_RESTART_PLAY
      | SV_REV_END_RESTART_PLAY
#endif
#ifdef DVD_KEEP_TRICK_AFTER_SEARCH
      | SV_TRICK_KEEP_WHEN_SEARCH
#endif
#ifdef DVD_FF_2X_PLAY_AUDIO
      | SV_FWD2X_NO_MUTE
#endif
#ifdef DVD_FORWARD_END_RESTART_PLAY
      | SV_FWD_END_RESTART_PLAY
#endif      
#ifdef DVD_SKIP_KEEP_A
      | SV_SKIP_KEEP_A
#endif
#ifdef DVD_STILL_NO_TRICK
      | SV_STILL_NO_TRICK
#endif
#ifdef DVD_FAST_ALLOW_NO_VIDEO
      | SV_FAST_ALLOW_NO_VIDEO
#endif
  ;
  vSetSharedInfo(SI_DVD_PLAY_CONFIG0, i);

  i = 0
#ifdef DVDAUD_PREV_DLIST_CYCLE
      | SV_PREV_DLIST_CYCLE
#endif
#ifdef DVDAUD_A_STRM_BY_DM_MODE
      | SV_A_STRM_BY_DM_MODE
#endif
#ifdef DVDAUD_SILENT_CELL_IN_TRK
      | SV_SILENT_CELL_IN_TRK
#endif
#ifdef DVDAUD_RESUME_FROM_BEGINNING
      | SV_RESUME_FROM_BEGINNING
#endif
  ;
  vSetSharedInfo(SI_DVD_AUDIO_CONFIG, i);

  vSetSharedInfo(SI_DVD_AUDIO_USR_AST, 0); // default is stream 1 

  i = 0
#ifdef DVD_TITLE_SHUFFLE
      | SV_TITLE_SHUFFLE
#endif
#ifdef FFSCAN_NO_STILL
      | SV_FFSCAN_NO_STILL
#endif
#ifdef BAN_STEP_WHEN_PAUSE_BLOCK
      | SV_BAN_STEP_WHEN_PAUSE_BLOCK
#endif
#ifdef FF_2X4X_NOSP
      | SV_FF_2X4X_NOSP
#endif
#ifdef TITLE_PLAY_RESET_ASTN
      | SV_TITLE_PLAY_RESET_ASTN
#endif
#ifdef TITLE_PLAY_RESET_SPSTN
      | SV_TITLE_PLAY_RESET_SPSTN
#endif
#ifdef TIME_SRCH_WITHIN_A_B
      | SV_TIME_SRCH_WITHIN_A_B
#endif
  ;
  vSetSharedInfo(SI_DVD_PLAY_CONFIG1, i);

  i = 0
#ifdef DVD_AST_FOLLOW_USR
      | SV_AST_FOLLOW_USR
#endif
#ifdef DVD_SPST_FOLLOW_USR
      | SV_SPST_FOLLOW_USR
#endif
#ifdef DVD_LOCK_INI_LCD
      | SV_LOCK_INI_LCD
#endif
  ;
  vSetSharedInfo(SI_DVD_PLAY_CONFIG2, i);

  vSystemSetCppmKey();
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
static void vSystemConfigVCD(void) large
{
  BYTE i;

#ifdef VCD_DEFAULT_PBC_OFF
  vSetSharedInfo(SI_VCD_PBC_OFF, TRUE);
#else
  vSetSharedInfo(SI_VCD_PBC_OFF, FALSE);
#endif

#ifdef SVCD_4AST
  vSetSharedInfo(SI_SVCD_4AST, SV_ON);
#else
  vSetSharedInfo(SI_SVCD_4AST, SV_OFF);
#endif

  // RISC code setting
  i = 0
#ifdef VCD_LAST_MEM
      | SV_LASTMEM_BIT
#endif
#if (!defined(USE_8032_AUTO_PLAY) && defined(VCD_AUTO_PLAY))
      | SV_AUTOPLAY_BIT
#endif
#ifdef VCD_KEEP_FF
      | SV_KEEP_FF_BIT
#endif
#ifdef VCD_KEEP_FR
      | SV_KEEP_FR_BIT
#endif
#ifdef VCD_KEEP_SF
      | SV_KEEP_SF_BIT
#endif
#ifdef VCD_AUTO_PBC
      | SV_AUTO_PBC_BIT
#endif
#ifdef VCD_USE_BOOKMARK_PBC
      | SV_USE_BOOKMARK_PBC_BIT
#endif
#ifdef VCD_NOT_KEEP_FF_IN_TRK_0
      | SV_NOT_KEEP_FF_IN_TRK_0
#endif
#ifdef VCD_FF2X_NO_MUTE
      | SV_FF2X_NO_MUTE
#endif
      ;
  vSetSharedInfo(SI_VCD_CONFIG_0, i);

  i = 0
#ifdef VCD_SEARCH_KEEP_FF
      | SV_SVD_SERCH_KEEP_FF_BIT
#endif
#ifdef VCD_SEARCH_KEEP_FR
      | SV_SVD_SERCH_KEEP_FR_BIT
#endif
#ifdef VCD_SEARCH_KEEP_SF
      | SV_SVD_SERCH_KEEP_SF_BIT
#endif
#ifdef VCD_SEARCH_KEEP_PAUSE
      | SV_SVD_SERCH_KEEP_PAUSE_BIT
#endif
#ifdef VCD_REPAB_KEEP_FF
      | SV_SVD_REPAB_KEEP_FF_BIT
#endif
#ifdef VCD_REPAB_KEEP_SF
      | SV_SVD_REPAB_KEEP_SF_BIT
#endif
       ;

  vSetSharedInfo(SI_VCD_CONFIG_1, i);

  i = 0
#ifdef VCD_FAKE_PBC
      | SV_SVD_FAKE_PBC_BIT
#endif
#ifdef VCD_STRICT_MEM_CHK
      | SV_SVD_STRICT_MEM_CHK_BIT
#endif
       ;

  vSetSharedInfo(SI_VCD_CONFIG_2, i);
    
  // set VCD/SVCD parser error skip level
  vSetSharedInfo(SI_SVD_PSR_ERR_SKIP_LV, VCD_PSR_ERR_SKIP_LV);

#ifdef CHK_PASSWD_VCD_EN
  if (bEepromReadByte(VCD_PASSWRD_POSITION) == TRUE)
#endif
  {
  i = 0
#ifdef SUPPORT_VCD_1X
     | SV_VCD_1X_SUPPORT
#endif
#ifdef SUPPORT_VCD_20
     | SV_VCD_20_SUPPORT
#endif
#ifdef SUPPORT_VCD_30
     | SV_VCD_30_SUPPORT
#endif
#ifdef SUPPORT_SVCD
     | SV_SVCD_SUPPORT
#endif
#ifdef SUPPORT_CVD
     | SV_CVD_SUPPORT
#endif
#ifdef NOT_SUPPORT_VCD_AS_DATA
     | SV_VCD_AS_DATA
#endif
     ;
  }
#ifdef CHK_PASSWD_VCD_EN
  else
  {
    i = 0
#ifdef SUPPORT_SVCD
     | SV_SVCD_SUPPORT
#endif
#ifdef SUPPORT_CVD
     | SV_CVD_SUPPORT
#endif
#ifdef NOT_SUPPORT_VCD_AS_DATA
     | SV_VCD_AS_DATA
#endif
    ;
  }
#endif

  vSetSharedInfo(SI_VCD_SUPPORT, i);
}

⌨️ 快捷键说明

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