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

📄 sys_ctrl.c

📁 MTK 1389e版 MINI组合音响代码
💻 C
📖 第 1 页 / 共 2 页
字号:

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

  i = 0
#if (!defined(USE_8032_AUTO_PLAY) && defined(CDDA_AUTO_PLAY))
      | SV_CDDA_AUTOPLAY_BIT
#endif
#ifdef CDDA_RTIME_FROM_ATIME
      | SV_RTIME_USE_ATIME
#endif
#ifdef CDDA_FF_KEEP_TRICK
      | SV_CDDA_FF_KEEP_TRICK
#endif
#ifdef CDDA_FR_KEEP_TRICK
      | SV_CDDA_FR_KEEP_TRICK
#endif
#ifdef CDDA_SEARCH_KEEP_TRICK
      | SV_CDDA_SEARCH_KEEP_TRICK
#endif
      ;
  vSetSharedInfo(SI_CDDA_CONFIG, i);

  i = SV_CDDA_SUPPORT | SV_DTS_CD_SUPPORT
#ifndef NO_CDG_SUPPORT
      | SV_CDG_SUPPORT
#endif
      ;

  vSetSharedInfo(SI_CDDA_SUPPORT, i);

  vSetSharedInfo(SI_CDG_START_X, CDG_START_X);
  vSetSharedInfo(SI_CDG_START_Y, CDG_START_Y);
  vSetSharedInfo(SI_CDG_M_WIDTH, CDG_M_WIDTH);
  vSetSharedInfo(SI_CDG_M_H_PAL, CDG_M_H_PAL);
  vSetSharedInfo(SI_CDG_M_H_NTSC, CDG_M_H_NTSC);
}

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

  // 1. config file support
  //    Mars,[2002/3/25],for Data DISC support customization
  //    for byte 1 of file filter factor
#ifdef SUPPORT_DATA_DISC
  i = 0
#ifdef DDISC_FTYPE_MP3_SUPPORT
      | SV_FS_MP3_SUPPORT 
#endif
#ifdef DDISC_FTYPE_MPEGA_SUPPORT
      | SV_FS_MPEGA_SUPPORT
#endif
#if defined(DDISC_FTYPE_JPEG_SUPPORT) || defined(SUPPORT_PCD)
      | SV_FS_JPEG_SUPPORT
#endif
#ifdef DDISC_FTYPE_MPG_SUPPORT
      | SV_FS_MPG_SUPPORT
#endif
#ifdef DDISC_FTYPE_WMA_SUPPORT
      | SV_FS_WMA_SUPPORT
#endif
#ifdef DDISC_FTYPE_ASF_SUPPORT
      | SV_FS_ASF_SUPPORT
#endif
#ifdef DDISC_FTYPE_WAV_SUPPORT
      | SV_FS_WAV_SUPPORT
#endif
#ifdef DDISC_FTYPE_MP3PRO_SUPPORT
      | SV_FS_MP3PRO_SUPPORT
#endif
      ;
  //    set byte1
  #if defined(MP3_SWITCH_MENU)
   if (bEepromReadByte(MP3_SW_POS) == EV_ON)
 	 i = i | SV_FS_MP3_SUPPORT | SV_FS_MP3PRO_SUPPORT;
   #elif defined(SUPPORT_MODE_MENU)
   if (bEepromReadByte(SUPPORT_MODE_POS) == EV_ON)
 	 i = i | SV_FS_MP3_SUPPORT | SV_FS_MP3PRO_SUPPORT |SV_FS_WMA_SUPPORT;   
  #endif 
  vSetSharedInfo(SI_FS_FTYPE_SUPPORT, i);

  //    for byte 2 of file filter factor
  i = 0
#ifdef DDISC_FTYPE_MAP_SUPPORT
      | SV_FS_MAP_SUPPORT
#endif
#ifdef DDISC_FTYPE_CDDA_SUPPORT
      | SV_FS_CDDA_SUPPORT
#endif
#ifdef DDISC_FTYPE_AAC_SUPPORT
      | SV_FS_AAC_SUPPORT
#endif
#ifdef DDISC_FTYPE_MLP_SUPPORT
      | SV_FS_MLP_SUPPORT
#endif
      ;
  //    set byte2
  vSetSharedInfo(SI_FS_FTYPE_SUPPORT2, i);
  
#else  // #ifdef SUPPORT_DATA_DISC

  vSetSharedInfo(SI_FS_FTYPE_SUPPORT, 0);
  vSetSharedInfo(SI_FS_FTYPE_SUPPORT2, 0);
#endif  // #ifdef SUPPORT_DATA_DISC

  // 2. config file system module properties
  //    common stuff
  vSetSharedInfo(SI_FS_TREAT_EMPTY_AS_UNKNOWN, SV_ON);
  vSetSharedInfo(SI_FS_READ_DISC_RETRY, DDISC_READ_DISC_RETRY);
  //    working area for file system operation buffer on 8032
  vSetSharedInfo(SI_FS_WA_SZ, 128); // - require 128 bytes

  // 3. config supported disc type and file system
#ifdef DDISC_ENB_CDFS
  vSetSharedInfo(SI_FS_ENB_CDFS, SV_ON); // - turn on CDFS
#else
  vSetSharedInfo(SI_FS_ENB_CDFS, SV_OFF); // - turn off CDFS
#endif //DDISC_ENB_CDFS
  vSetSharedInfo(SI_FS_PRE_SESSION_MODE, SV_OFF);
#ifdef SUPPORT_PCD
  vSetSharedInfo(SI_PCD_SUPPORT, SV_PCD_SUPPORT);
#else
  #ifdef PCD_AS_DATA_DISC
    vSetSharedInfo(SI_PCD_SUPPORT, SV_PCD_AS_DATA_DISC);
  #else
    vSetSharedInfo(SI_PCD_SUPPORT, SV_PCD_AS_UNKNOWN_DISC);
  #endif
#endif // SUPPORT_PCD

  // 4. config data disc playback mode properties
  vSetSharedInfo(SI_DDISC_DEF_PMODE, DDISC_DEF_PLAYBACK_MODE);
#ifdef DDISC_ENB_CONC_AV_MODE
  vSetSharedInfo(SI_DDISC_MIXED_TYPE_MODE, SV_OFF);
  vSetSharedInfo(SI_DDISC_CONC_AV_MODE, SV_ON);
  vSetSharedInfo(SI_DDISC_CROSS_FOLDER_MODE, SV_OFF);
#else
  //vSetSharedInfo(SI_DDISC_MIXED_TYPE_MODE, SV_ON);
  vSetSharedInfo(SI_DDISC_MIXED_TYPE_MODE, SV_OFF);
  vSetSharedInfo(SI_DDISC_CONC_AV_MODE, SV_OFF);
  vSetSharedInfo(SI_DDISC_CROSS_FOLDER_MODE, SV_OFF);
#endif //DDISC_ENB_CONC_AV_MODE
  vSetSharedInfo(SI_DDISC_RANDOM_ACT_MODE, SV_OFF);

  // 5. config MP3 module properties
#ifdef AFILE_TRICK_MODE_STILL
  vSetSharedInfo(SI_MP3_TRICK_MODE_STILL, SV_ON);
#else
  vSetSharedInfo(SI_MP3_TRICK_MODE_STILL, SV_OFF);
#endif // AFILE_TRICK_MODE_STILL
  vSetSharedInfo(SI_MP3_CRS_ITEM_AB, SV_OFF);
#ifdef ENABLE_ID3
  vSetSharedInfo(SI_MP3_ID3_PARSER, SV_ON);
#else
  vSetSharedInfo(SI_MP3_ID3_PARSER, SV_OFF);
#endif
#ifdef DDISC_FTYPE_MPG_SUPPORT
  #ifdef USB_MP4_SUPPORT
    vSetSharedInfo(SI_FS_USB_MP4_SUPPORT,SV_USB_MP4_SUPPORT);
  #else   
    vSetSharedInfo(SI_FS_USB_MP4_SUPPORT,SV_USB_MP4_NO_SUPPORT);
  #endif   
#endif

#ifdef SACD_INFO_LIKE_CDDA
  vSetSharedInfo(SI_SACD_INFO_STYLE, SACD_INFO_STYLE_CDDA);
#else
  vSetSharedInfo(SI_SACD_INFO_STYLE, SACD_INFO_STYLE_ISO);
#endif
  return;
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
static void vSystemConfigJPEG(void) large
{
//#if (defined(PLAYER_2_CHANNEL) || (defined(ISO_STOP_LOGO) && (ISO_STOP_LOGO == SV_LOGO_FILL)))
  vSetSharedInfo(SI_JPG_BG_CLR_Y,JPEG_BG_COLOR_Y);
  vSetSharedInfo(SI_JPG_BG_CLR_CB,JPEG_BG_COLOR_CB);
  vSetSharedInfo(SI_JPG_BG_CLR_CR,JPEG_BG_COLOR_CR);
//#endif

  // - JPEG config init.
#ifdef JPEG_SEL_AUTOSLIDE
  vSetSharedInfo(SI_JPG_AUTO_SLIDE, SV_ON); // - turn on the auto slide.
#else
  vSetSharedInfo(SI_JPG_AUTO_SLIDE, SV_OFF); // - turn off the auto slide.
#endif // JPEG_SEL_AUTO_SLIDE
  vSetSharedInfo(SI_JPG_DIGEST_BG, JPEG_BG_FOR_DIGEST_MENU);
  vSetSharedInfo(SI_PREVIEW_BG, JPEG_PREVIEW_BG);
  vSetSharedInfo(SI_JPG_SLIDESHOW_INTERVAL, JPEG_SLIDESHOW_INTERVAL); //Mars,[2002/3/26],set default slideshow interval
  vSetSharedInfo(SI_JPG_TRANSITION_SPEED, JPEG_TRANSITION_SPEED); //Mars,[2002/3/18], set jpg transition speed
#ifdef JPEG_AUTO_SLIDE_AFTER_ROTATE
  vSetSharedInfo(SI_JPG_ROTATE_AUTO_SLIDE, (0x80|JPEG_TIME_TO_SLIDE));  //Mars,[2002/4/1]
#else
  vSetSharedInfo(SI_JPG_ROTATE_AUTO_SLIDE, 0);
#endif //JPEG_AUTO_SLIDE_AFTER_ROTATE
#ifdef JPEG_PROGRESS_SHOW_ENABLE      //Mars,[2002/7/15]
  vSetSharedInfo(SI_JPG_PROGRESSIVE_SHOW, 1);
#else
  vSetSharedInfo(SI_JPG_PROGRESSIVE_SHOW, 0);
#endif

  vSetSharedInfo(SI_PREVIEW_MODE, 0);  //Mars,[2002/9/23]
  vSetSharedInfo(SI_PREVIEW_START_X, (360/4) /*DIGEST_START_X_DIV_4*/);
  vSetSharedInfo(SI_PREVIEW_START_Y, (40/5) /*DIGEST_START_Y_NTSC_DIV_5*/);
  vSetSharedInfo(SI_PREVIEW_WIDTH, (320/4) /*DIGEST_WIDTH_DIV_4*/);
  vSetSharedInfo(SI_PREVIEW_HEIGHT, (320/5) /*DIGEST_HEIGHT_DIV_5*/);

  //Mars,[2002/7/15]
  vSetSharedInfo(SI_DIGEST_START_X, DIGEST_START_X_DIV_4);
  vSetSharedInfo(SI_DIGEST_START_Y_NTSC, DIGEST_START_Y_NTSC_DIV_5);
  vSetSharedInfo(SI_DIGEST_X_DIM_NUMS, DIGEST_X_DIM_NUMS);
  vSetSharedInfo(SI_DIGEST_Y_DIM_NUMS, DIGEST_Y_DIM_NUMS);
  vSetSharedInfo(SI_DIGEST_H_GAP, DIGEST_H_GAP_DIV_4);
  vSetSharedInfo(SI_DIGEST_V_GAP_NTSC, DIGEST_V_GAP_NTSC_DIV_5);
  vSetSharedInfo(SI_DIGEST_WIDTH, DIGEST_WIDTH_DIV_4);
  vSetSharedInfo(SI_DIGEST_HEIGHT, DIGEST_HEIGHT_DIV_5);
  
  vSetSharedInfo(SI_JPG_PROG_PIC_SIZ_LIMIT, JPG_MAX_PROGRESS_PIC_SIZ);
  
#ifdef  JPG_ADAPTIVE_PAN_STEP //Mars,[2003/3/22]
  vSetSharedInfo(SI_JPG_H_PAN_STEP_NUM, JPG_H_PAN_STEP_NUM);
  vSetSharedInfo(SI_JPG_V_PAN_STEP_NUM, JPG_V_PAN_STEP_NUM);
#endif  
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
static void vSystemConfigMp4(void) large
{
#if defined(MT1389_REV_C)||defined(MT1389_REV_E) || defined(USE_4M) || defined(SUPPORT_EMD) ||defined(MT1389_REV_D)   //new risc dengsu
  vSetSharedInfo(SI_AVI_FF_JMP_SPEED, SV_4X);
  vSetSharedInfo(SI_AVI_FF_MODE, AVI_FF_MODE);
#else
  vSetSharedInfo(SI_AVI_FF_MODE, AVI_FF_MODE);
#endif
  #ifdef MP4_SCALE_ADJUST 
  vSetSharedInfo(SI_MP4_WIDE_FULL, SV_OFF); 
  #endif 
}

// *********************************************************************
// Function :
// Description : System Control Share Memory Initial Routine,
//               called from vUserInit()
// Parameter :
// Return    :
// *********************************************************************
void vInitSystemShareInfo(void) large
{
  vSystemConfigGeneral();
  vSystemConfigDVD();
  vSystemConfigVCD();
  vSystemConfigCDDA();
  vSystemConfigISO();
  vSystemConfigJPEG();
  vSystemConfigMp4();
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vSystemCloseCaption(BOOL fgOnOff) large
{
  vSetSharedInfo(SI_CC_SWITCH, fgOnOff);
  vNotifySharedInfo(SI_CC_SWITCH, 0, 0);

  if (fgOnOff == SV_ON)
  {
    vTvCCEnable(1);
  }
  else
  {
    vTvCCEnable(0);
  }
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
#if 0//!defined(MT1389_REV_C) && !defined(USE_4M)
void vSystemTvMode(BYTE bMode) large
{
  BYTE bDefMode ;

  bDefMode = bSharedInfo(SI_ASPECT_CHG_VALID) ;
  //bDefMode = SV_PSCAN_ON | SV_WIDE_ON ;


  if (bSharedInfo(SI_G_SYNC) == SV_OFF)  
  {
    if (bMode == SV_WIDE)
      vTvScartAspect(1);
    else
      vTvScartAspect(0);
  }

  if (SV_BLOCK_ON & bDefMode)
  {
    bMode |= 0x80;
  }
  
  vSetSharedInfo(SI_ASPECT_RATIO, bMode);
  vNotifySharedInfo(SI_ASPECT_RATIO, 0, 0);
  
/*
  vSetSharedInfo(SI_FORCE_ASPECT_RATIO, bMode);
  vSetSharedInfo(SI_ASPECT_RATIO, bMode);

  if (SV_BLOCK_ON & bDefMode)
  {
    vNotifySharedInfo(SI_FORCE_ASPECT_RATIO, 0, 0);
  }
  else
  {
    vNotifySharedInfo(SI_ASPECT_RATIO, 0, 0);
  }
*/
//  vSetSharedInfo(SI_ASPECT_RATIO, bMode);
//  vNotifySharedInfo(SI_ASPECT_RATIO, 0, 0);
}

#else
//guosong

void vSystemTvMode(BYTE bMode) large
{
  BYTE bDefMode, bSQZMode;
  
#ifdef MP4_SCALE_ADJUST
  if (bSharedInfo(SI_DISC_TYPE) == SV_DATA&&!fgFlCheckStatus(FL_STATUS_IN_MENU))//billy050825    && bSharedInfo(SI_ISO_ITEM_TYPE) !=SV_ISO_JPG 
  {
    if (bMode == SV_WIDE)
	 bMode = SV_WIDESQZ;
  }
#endif

  if( bMode == SV_WIDESQZ)
  {
    bSQZMode = SV_ON;
    bMode = SV_WIDE;
  }
  else
    bSQZMode = SV_OFF;


  bDefMode = bSharedInfo(SI_ASPECT_CHG_VALID) ;
  //bDefMode = SV_PSCAN_ON | SV_WIDE_ON ;

#if 0  //#ifdef TREAT_PS_LB_AS_THE_SAME
  if ((bMode == SV_4_3_PS) && (!(SV_PSCAN_ON & bDefMode)))
  {
    bMode = SV_4_3_LB ;
  }
  else if ((bMode == SV_4_3_LB) && (!(SV_LB_ON & bDefMode)))
  {
    bMode = SV_4_3_PS ;
  }
#endif

  if (bSharedInfo(SI_G_SYNC) == SV_OFF)  
  {
    if ( (bMode == SV_WIDE))
      vTvScartAspect(1);
    else
      vTvScartAspect(0);
  }

  if (SV_BLOCK_ON & bDefMode)
  {
    bMode |= 0x80;
  }
  
  if (bSQZMode == SV_ON)
    {
    /*
  	if( bEepromReadByte(TV_PSCAN_EN_POS) == SV_OFF)
  	{
  	fgEepromWriteByte(TV_PSCAN_EN_POS, SV_ON);
  	vSetSharedInfo(SI_PSCAN_EN, SV_ON);
       vNotifySharedInfo(SI_PSCAN_EN, 0, 0);
       }
    */
#ifdef MP4_SCALE_ADJUST
    fgEepromWriteByte(ASPECT_POSITION, SV_WIDE);
#else
    fgEepromWriteByte(ASPECT_POSITION, SV_WIDESQZ);
#endif
   // fgEepromWriteByte(ASPECT_POSITION, SV_WIDESQZ);
    vSetSharedInfo(SI_ASPECT_RATIO, SV_WIDE);
    vNotifySharedInfo(SI_ASPECT_RATIO, 0, 0);
    
    fgEepromWriteByte(TV_PSCAN_SQZ_POS, SV_ON);
    vSetSharedInfo(SI_PSCAN_SQUEEZE, bSQZMode);
    vNotifySharedInfo(SI_PSCAN_SQUEEZE, 0, 0);  	
  }
  else
  {
    //fgEepromWriteByte(ASPECT_POSITION, bMode);
    vSetSharedInfo(SI_ASPECT_RATIO, bMode);
    vNotifySharedInfo(SI_ASPECT_RATIO, 0, 0);
  
    //fgEepromWriteByte(TV_PSCAN_SQZ_POS, bSQZMode);
    vSetSharedInfo(SI_PSCAN_SQUEEZE, bSQZMode);
    vNotifySharedInfo(SI_PSCAN_SQUEEZE, 0, 0);    
  }
}

#endif

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
BOOL fgCheckUopBlock(BYTE bNvUop) large
{
  BYTE bFlag;

  if (bNvUop >= SV_NV_UOP_BLK_MAX)
  {
    /* not valid UOP */
    return (TRUE);
  }

  if (bNvUop >= 24)
  {
    bFlag = bSharedInfo(SI_UOP_CTRL_3);
    bNvUop -= 24;
  }
  else if (bNvUop >= 16)
  {
    bFlag = bSharedInfo(SI_UOP_CTRL_2);
    bNvUop -= 16;
  }
  else if (bNvUop >= 8)
  {
    bFlag = bSharedInfo(SI_UOP_CTRL_1);
    bNvUop -= 8;
  }
  else /* if if (bNvUop < 8) */
  {
    bFlag = bSharedInfo(SI_UOP_CTRL_0);
  }

  if (bFlag & (1 << bNvUop))
  {
    return (TRUE);
  }
  else
  {
    return (FALSE);
  }
}

⌨️ 快捷键说明

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