www.pudn.com > 6027_HD65.rar > upg.c


/**********************************************************************/ 
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/ 
/***************                                       ****************/ 
/***************  $Modtime:: 04/07/07 7:15p    $       ****************/ 
/***************  $Revision:: 4                $       ****************/ 
/***************                                       ****************/ 
/***************   Description : Setup ADSP            ****************/ 
/***************                 relative routine      ****************/ 
/***************                                       ****************/ 
/***************       Company : MediaTek Inc.         ****************/ 
/***************    Programmer : Peter Huang           ****************/ 
/**********************************************************************/ 
 
#include "general.h" 
 
#pragma NOAREGS 
 
#ifdef DISC_UPDATE_CODE 
 
// ********************************************************************* 
// Function : void vUpgInit(BYTE fgInit) 
// Description : 
// Parameter : 
// Return    : None 
// ********************************************************************* 
void vUpgInit(BYTE fgInit) large 
{ 
  /* chnage OSD mode to user mode */ 
  //vOsdShowWb(OSD_WB_USER); 
  vOsdShowWb(OSD_WB_DISABLE); 
 
#if (DRAM_SZ == DRAM_2M) 
  vOsdSetMemBlk(OSD_MEM_BLK_DYNAMIC); 
#endif   
 
#ifdef ALL_WB_USE_TRUECOLOR 
  vCreateWB(WB_UPG, TRUE); 
  vSetWBTcColor(WB_UPG); 
#else 
  vCreateWB(WB_UPG, FALSE); 
#endif 
  vEnableWB(WB_UPG); 
  vDrawBorderWB(WB_UPG, 0); 
  vSetMsgCol4(WB_UPG, 0, 0, 0, 3); 
 
  vOsdPosPaste(OSD_POS_UPG_HEAD, OSD_MSG_UPG_DET); 
  vOsdPosPaste(OSD_POS_UPG_DES, OSD_MSG_UPGRADE); 
  vOsdPosPaste(OSD_POS_UPG_PLAY, OSD_MSG_PLAY_KEY_START); 
} 
 
// ********************************************************************* 
// Function : BOOL fgUpgState(void) 
// Description : 
// Parameter : 
// Return    : None 
// ********************************************************************* 
BOOL fgUpgState(void) large 
{ 
  switch(_bIRKey) 
  { 
    case IR_ENTER: 
    case IR_PLAY: 
    case IR_PLAY_ENTER: 
    case IR_PLAY_PAUSE: 
      vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_FILE_COPY); 
#ifdef VFDMSG_upg 
      VfdMsgDirect(VFDMSG_upg); 
#endif 
      vSendUopCmd(UOP_PLAY, 0, 0, 0); 
      break; 
    default: 
      vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_CANCEL_UPG); 
      vSendUopCmd(UOP_OPEN_CLOSE, 0, 0, 0); 
      vSetExitInputState(); 
  } 
 
  return(TRUE); 
} 
 
// ********************************************************************* 
// Function : void vUpgExit(void) 
// Description : 
// Parameter : 
// Return    : None 
// ********************************************************************* 
void vUpgExit(void) large 
{ 
  vDeleteWB(WB_UPG); 
 
#if (DRAM_SZ == DRAM_2M) 
  vOsdSetMemBlk(OSD_MEM_BLK_STATIC); 
#endif   
  /* restore OSD mode */ 
  vOsdShowWb(OSD_WB_RESTORE); 
} 
 
// ********************************************************************* 
// Function : void vUpgShowState(BYTE bState) 
// Description : 
// Parameter : 
// Return    : None 
// ********************************************************************* 
void vUpgShowState(BYTE bState) large 
{ 
  switch (bState) 
  { 
    case SV_FILE_EXIST: 
      fgSetPlayPostKey(IR_UPG); 
      break; 
    case SV_COPY_RETRY: 
      vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_RETRY_COPY); 
      break; 
    case SV_CHKSUM_OK: 
      vSendUopCmd(UOP_PLAY, 0, 0, 0);     
      #ifdef DISC_UPG_RESET_DEFAULT 
      fgEepromWriteByte(RESET_POSITION, SV_ON); 
      #endif 
      vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_UPGRADING); 
      break; 
    case SV_CHKSUM_ERR: 
      vOsdPosPaste(OSD_POS_UPG_RES, OSD_MSG_CHKSUM_ERR); 
      break; 
  } 
} 
 
#else /* not define DISC_UPDATE_CODE */ 
 
void vUpgExit(void) large { return; } 
BOOL fgUpgState(void) large { return (FALSE); } 
void vUpgInit(BYTE fgInit) large { return; } 
 
#endif /* DISC_UPDATE_CODE */