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

📄 0715dsv.h

📁 MTK的资料说明
💻 H
📖 第 1 页 / 共 2 页
字号:
BIT         _fgNofilesys;
BIT         _fgCheckFileSys;
BYTE xdata  _bBlankCheck;
BYTE xdata  _bMovesledinCnt;
BYTE xdata  _bUNFINALCNT;
BYTE xdata  _bFilesyscnt;
BYTE xdata  _bLeadIncnt;
DWRD xdata  _dwRSAT_Sector;
   #endif

strucQCode data  _rQCode;                       // for CD

extern DWRD   _dTarSector;
extern DWRD   _dPreSector;

  #define _dSectorID     _dPreSector        // define _dSectorID = _dPreSector

  #define _bTarSec3   (*((BYTE *)&_dTarSector))
  #define _bTarSec2   (*((BYTE *)&_dTarSector+1))
  #define _bTarSec1   (*((BYTE *)&_dTarSector+2))
  #define _bTarSec0   (*((BYTE *)&_dTarSector+3))
  #define _bPreSec3   (*((BYTE *)&_dPreSector))
  #define _bPreSec2   (*((BYTE *)&_dPreSector+1))
  #define _bPreSec1   (*((BYTE *)&_dPreSector+2))
  #define _bPreSec0   (*((BYTE *)&_dPreSector+3))

  #define _bTarMin        _bTarSec2   // use for save target time of seek and
  #define _bTarSec        _bTarSec1   // pauses mode , they are in MSB HEX format
  #define _bTarBlk        _bTarSec0
  #define _bAbsMin        _bPreSec2   // use for save current time, they are converted
  #define _bAbsSec        _bPreSec1   // after read q code and in MSB HEX format
  #define _bAbsBlk        _bPreSec0

// NOTE, fgForceSRVOff and _fgAbort need re-arrange

  #else               // _SERVO_F1_
extern  BYTE bdata  _bMediaType;
      extern  BIT   _fgDiskIsDVDRW;             // DVD-RW/+RW
      extern  BIT   _fgDiskIsDVDMRW;            // DVD-RW
      extern  BIT   _fgDiskIsDVDR;
      extern  BIT   _fgDiskIsDVD;
      extern  BIT   _fgLowReflect;
      extern  BIT   _fgDualLayer;
      extern  BIT   _fgOppTrack;
      extern  BIT   _fgDiskIsDVCD;
      extern  BIT   _fgDiskIsCDRW;

extern  BYTE  data  _bWdCnt;
extern  BYTE xdata  _bMaxSpeed;
extern  BYTE xdata  _bOptimumSpeed;
extern  BYTE xdata  _bDriveSpeed;
extern  BYTE  data  _bPlayerStatus;
                    
extern  BYTE bdata  _bServoStatus;
      extern  BIT   _fgDiscStatus;
      extern  BIT   _fgSpinStatus;
      extern  BIT   _fgPauseStatus;
      extern  BIT   _fgFocusStatus;
      extern  BIT   _fgQIDStatus;
      extern  BIT   _fgCalStatus;
      extern  BIT   _fgSpeedStatus;
      extern  BIT   _fgDmonStatus;

extern  BIT         _fgHybridSACD;
extern  BIT         _fg8CMDisk;
extern  BIT         _fgAbort;

   #ifdef SUPPORT_UNFINALIZE_WITH_FILESYS
extern  BIT         _fgUnfinalize;
extern  BIT         _fgNofilesys;
extern  BIT         _fgCheckFileSys;
extern  BYTE xdata  _bBlankCheck;
extern  BYTE xdata  _bMovesledinCnt;
extern  BYTE xdata  _bUNFINALCNT;
extern  BYTE xdata  _bFilesyscnt;
extern  BYTE xdata  _bLeadIncnt;
extern  DWRD xdata  _dwRSAT_Sector;
   #endif

extern  strucQCode data  _rQCode;

extern DWRD   _dTarSector;
extern DWRD   _dPreSector;

  #define _dSectorID     _dPreSector        // define _dSectorID = _dPreSector

  #define _bTarSec3   (*((BYTE *)&_dTarSector))
  #define _bTarSec2   (*((BYTE *)&_dTarSector+1))
  #define _bTarSec1   (*((BYTE *)&_dTarSector+2))
  #define _bTarSec0   (*((BYTE *)&_dTarSector+3))
  #define _bPreSec3   (*((BYTE *)&_dPreSector))
  #define _bPreSec2   (*((BYTE *)&_dPreSector+1))
  #define _bPreSec1   (*((BYTE *)&_dPreSector+2))
  #define _bPreSec0   (*((BYTE *)&_dPreSector+3))

  #define _bTarMin        _bTarSec2   // use for save target time of seek and
  #define _bTarSec        _bTarSec1   // pauses mode , they are in MSB HEX format
  #define _bTarBlk        _bTarSec0
  #define _bAbsMin        _bPreSec2   // use for save current time, they are converted
  #define _bAbsSec        _bPreSec1   // after read q code and in MSB HEX format
  #define _bAbsBlk        _bPreSec0

  #endif

 #else    // for DECODER Firmware
// Interface functions
extern  void    SRVInit(void);
extern  void    SRVHandleTimer(void);
extern  void    SRVTrayOut(void);
extern  void    SRVTrayIn(void);
extern  void    SRVTrayStop(void);
extern  void    SRVStartUp(void);
extern  void    SRVStop(void);
extern  void    SRVFree(void);
extern  void    SRVPauseOn(void);
extern  void    SRVPauseOff(void);
extern  void    SRVSetSpeed(BYTE);
extern  void    SRVSeek(BYTE,BYTE,BYTE,BYTE);
extern  void    SRVRoutineWork(void);
extern  void    SRVSetDVDBookType(BYTE);
extern  BIT     fgSRVAlive(void);
extern  void    SRVDelay10us(void);
extern  void    SRVDelay500us(BYTE);
extern  void    SRVDelay1ms(BYTE);
extern  void    SRVDelay20ms(BYTE);

  #ifdef POWER_MANAGE        // Power Down function
extern  void    SRVPowerDown(BIT);
extern  void    SRVWakeUp(void);
  #endif

  #ifdef SUPPORT_BCA
extern  void    SRVSeekToBCA(BIT, BYTE);
extern  void    SRVLeaveBCA(void);
  #endif

  #ifdef SUPPORT_UNFINALIZE_PLUS_VRMODE// [A863.7]
extern void     SRVSeekToEnd(void);
  #endif

extern  DWRD    dSRVGetVer(void);

// Interface variables
extern  BYTE bdata  _bMediaType;
       extern BIT   _fgDiskIsDVDRW;    // DVD-RW/+RW
       extern BIT   _fgDiskIsDVDMRW;   // DVD-RW
       extern BIT   _fgDiskIsDVDR;
       extern BIT   _fgDiskIsDVD;
       extern BIT   _fgLowReflect;
       extern BIT   _fgDualLayer;
       extern BIT   _fgOppTrack;
       extern BIT   _fgDiskIsDVCD;
       extern BIT   _fgDiskIsCDRW;

extern  BIT         _fgServoBUSY;                     // [0807 Gary] Disable long timr VFD Communication
extern  BIT         _fgDiscExist;                     // [0725 Gary] Disc is Exist or not and show on OSD
extern  BIT         _fgDiscIDSWLaser;                 // [0725 Gary] Disc is Exist or not and show on OSD

extern  BYTE  data  _bWdCnt;
extern  BYTE xdata  _bMaxSpeed;
extern  BYTE xdata  _bOptimumSpeed;
extern  BYTE xdata  _bDriveSpeed;
extern  BYTE  data  _bPlayerStatus;

extern  BYTE bdata  _bServoStatus;
      extern  BIT   _fgDiscStatus;
      extern  BIT   _fgSpinStatus;
      extern  BIT   _fgPauseStatus;
      extern  BIT   _fgFocusStatus;
      extern  BIT   _fgQIDStatus;
      extern  BIT   _fgCalStatus;
      extern  BIT   _fgSpeedStatus;
      extern  BIT   _fgDmonStatus;

extern  BIT         _fgHybridSACD;
extern  BIT         _fg8CMDisk;
extern  BIT         _fgAbort;

extern  strucQCode  data   _rQCode;

extern DWRD   _dTarSector;
extern DWRD   _dPreSector;

 #define _dSectorID     _dPreSector        // define _dSectorID = _dPreSector

 #define _bTarSec3   (*((BYTE *)&_dTarSector))
 #define _bTarSec2   (*((BYTE *)&_dTarSector+1))
 #define _bTarSec1   (*((BYTE *)&_dTarSector+2))
 #define _bTarSec0   (*((BYTE *)&_dTarSector+3))
 #define _bPreSec3   (*((BYTE *)&_dPreSector))
 #define _bPreSec2   (*((BYTE *)&_dPreSector+1))
 #define _bPreSec1   (*((BYTE *)&_dPreSector+2))
 #define _bPreSec0   (*((BYTE *)&_dPreSector+3))

 #define _bTarMin        _bTarSec2   // use for save target time of seek and
 #define _bTarSec        _bTarSec1   // pauses mode , they are in MSB HEX format
 #define _bTarBlk        _bTarSec0
 #define _bAbsMin        _bPreSec2   // use for save current time, they are converted
 #define _bAbsSec        _bPreSec1   // after read q code and in MSB HEX format
 #define _bAbsBlk        _bPreSec0

  #ifdef SUPPORT_UNFINALIZE_WITH_FILESYS
extern  BIT         _fgUnfinalize;
extern  BIT         _fgNofilesys;
extern  BIT         _fgCheckFileSys;
extern  DWRD xdata  _dwRSAT_Sector;
  #endif

// Register definition
#define RW_P06                    0x06   // Cassette status 0x01: LED ON
#define RW_POWDN                  0x08
#define RW_CLKCTL                 0x09
#define RW_IPCK                   0x0A
#define RW_DMCLK                  0x0B
#define RW_DEMOCTL                0x35
                                  
#define RW_AUCT                   0x2B
#define RW_AUCT2                  0x48
#define RW_ICEMODE                0x78
#define RW_VIRAMCTL               0x79
#define RW_UPCLKCTL               0x7C

#define CIRC_STRATEGY_CHANGE
  #ifdef CIRC_STRATEGY_CHANGE
extern BYTE xdata   _bCIRCA;
  #endif

/********* Only for DC Motor Model use ***********/
  #ifdef DC_MOTOR_ADJUST
extern  BIT         _fgDCMOTORADJ;           // New DCMotorCal Flow
extern  int  xdata  _bADINOffset;
  #endif

/*****************************************************************************
     Function : Servo Register Access
  *****************************************************************************/
extern BYTE bReadInDirCmd1(BYTE bCmdIdx);
extern void WriteInDirCmd1(BYTE bCmdIdx, BYTE bData);
extern BYTE bReadInDirCmd2(BYTE bCmdIdx);
extern void WriteInDirCmd2(BYTE bCmdIdx, BYTE bData);
extern void WriteDSP1Cmd(BYTE bCmdIdx, BYTE bData);
extern void WriteDSP2B0Cmd(BYTE bCmdIdx, BYTE bHdata, BYTE bLdata);
extern void WriteDSP2B1Cmd(BYTE bCmdIdx, BYTE bHdata, BYTE bLdata);
extern WORD wReadDSP2Cmd(BYTE bBank,BYTE bIndex);
extern void WriteReg8(BYTE bIndex, BYTE bData);
extern BYTE bReadReg8H(BYTE bIndex);
extern WORD wReadReg16(BYTE bIndex);
extern void WriteReg16(BYTE bIndex, BYTE bHdata, BYTE bLdata);

#define bReadDSVOCmd(bCmdIdx)               bReadInDirCmd2(bCmdIdx)
#define WriteDSVOCmd(bCmdIdx,bData)         WriteInDirCmd2(bCmdIdx,bData)
#define bReadRFInDirCmd(bCmdIdx)            bReadInDirCmd2(bCmdIdx)
#define WriteRFInDirCmd(bCmdIdx,bData)      WriteInDirCmd2(bCmdIdx,bData)
#define bReadPLLCmd(bCmdIdx)                bReadInDirCmd1(bCmdIdx)
#define WritePLLCmd(bCmdIdx,bData)          WriteInDirCmd1(bCmdIdx,bData)
#define bReadPRMLCmd(wReg)                  (XBYTE[wReg])
#define WritePRMLCmd(wReg,bData)            (XBYTE[wReg] = bData)
#define bReadDPUCmd(wReg)                   (XBYTE[wReg])
#define WriteDPUCmd(wReg,bData)             (XBYTE[wReg] = bData)

 #endif
#endif // _H_SRV2DEC_

⌨️ 快捷键说明

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