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

📄 sys_ctrl.c

📁 是MTK公司新出来的DVD方案
💻 C
📖 第 1 页 / 共 2 页
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 04/08/10 3:38p    $       ****************/
/***************  $Revision:: 20               $       ****************/
/***************                                       ****************/
/***************   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;
  
  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);

#ifdef DVD_LAST_MEM
  vSetSharedInfo(SI_LAST_MEM, SV_ON);
  vSetSharedInfo(SI_MEMORY, SV_OFF);


  // 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
#endif

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

#ifdef NO_DTS_DECODE
  vSetSharedInfo(SI_NO_DTS, SV_ON);
#else
  vSetSharedInfo(SI_NO_DTS, SV_OFF);
#endif

  vSetSharedInfo(SI_SRV_DATA_READ_TIMEOUT, SRV_DATA_READ_TIMEOUT);

#if 0 // 1389 Rev D chip doesn't support SPTM
  #ifdef SPTM_DATA_OUT
    vSetSharedInfo(SI_SPTM_DATA_OUT, SV_ON);
  #else
    vSetSharedInfo(SI_SPTM_DATA_OUT, SV_OFF);
  #endif
#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 FAKE_DTS
  vSetSharedInfo(SI_PLAYER_GENERAL_CONFIG, SV_FAKE_DTS);  
#else
  vSetSharedInfo(SI_PLAYER_GENERAL_CONFIG, 0);  
#endif
}

#if 0 // 1389 Rev D chip doesn't support VR or DVD-A
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
static void vSystemSetCppmKey(void) large
{
  BYTE bIdx;

  for (bIdx = 0; bIdx < 176; bIdx++)
  {
    vSetSharedInfo(SI_CPPM_KEY_SA + bIdx, 0);
  }
}
#endif  // #if 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, 0);

#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
  #ifdef DVD_FAST_SL_AGL_CHG
      | SV_FAST_SL_AGL_CHG
  #endif
#endif
#ifdef DVD_REP_HLI_NO_FORCED_EXE
      | SV_REP_HLI_NO_FORCED_EXE
#endif
      ;
  vSetSharedInfo(SI_DVD_PLAY_SET, i);

  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);

  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
  ;
  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);

#if 0 // 1389 Rev D chip doesn't support VR or DVD-A
  vSystemSetCppmKey();
#endif
}

#ifdef VCD_SUPPORT
// *********************************************************************
// 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

⌨️ 快捷键说明

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