📄 hd62.h
字号:
/*************** MTK CONFIDENTIAL & COPYRIGHTED ***************/
/*************** ***************/
/*************** Filename: SRV2DEC.H ***************/
/*************** DVD_ROM Servo FW header file ***************/
/*************** Description : ***************/
/*************** ***************/
/*************** ***************/
/*************** Company: MediaTek Inc. ***************/
/*************** Programmer: Jason Gau. (jishian) ***************/
/****************************************************************************/
#ifndef _H_SRV2DEC_
#define _H_SRV2DEC_
/*========================================================================
ERROR Code Table
========================================================================*/
#define PLAYER_READY 0x00
#define ILLEGAL_COMMAND 0x01
#define ILLEGAL_PARAM 0x02
#define SLEDGE_ERROR 0x03
#define FOCUS_ERROR 0x04
#define MOTOR_ERROR 0x05
#define RADIAL_ERROR 0x06
#define PLL_LOCK_ERROR 0x07 // not used
#define READ_ERROR 0x08
#define QID_NOT_FOUND 0x09 // not used
#define TRAY_ERROR 0x0A
#define TOC_READ_ERROR 0x0B // not used
#define SEEK_ERROR 0x0C
#define HF_ERROR 0x0D // not used
#define NO_SESSION_ERROR 0x0E
// ERROR Code Table : Self Implement
#define DISK_NO_EXIST 0x10
#define CALIBRATE_ERROR 0x11 // Don't care about this erorr
#define ABORTED 0x12
/* Player Status Code */
#define PLAYER_BUSY 0x80 /* Player is busy */
#define PLAYER_ERROR 0xFF /* Different to Player Busy */
/*=========================================================================
Media Type Definition
=========================================================================*/
#define MEDIA_CDROM 0x01
#define MEDIA_CDRW 0x02
#define MEDIA_DVCD 0x05
#define MEDIA_DVD_SINGLE 0x10
#define MEDIA_DVD_DUAL 0x11
#define MEDIA_DVD_LOW 0x14
#define MEDIA_DVDR_V10 0x30
#define MEDIA_DVDR_V20 0x31
#define MEDIA_DVD_PRW_47G 0x50
#define MEDIA_DVD_PRW_30G 0x51
#define MEDIA_DVD_MRW 0x52
#define MEDIA_DVD_RAM_26G 0x90
#define MEDIA_DVD_RAM_47G 0x91
//=====================================================================
// SERVO change speed parameters
//=====================================================================
#define SRV_SPEED_OK 0
#define SRV_SPEED_NOOK 1
//=====================================================================
// SERVO Seek Mode types
//=====================================================================
#define SEEK_NORMAL 0x00
#define SEEK_LEAD_IN 0x04
#define SEEK_LEAD_OUT 0x08
#define SEEK_MULTI_SEN 0x0C
#define SEEK_AUDIO 0x02
#define SEEK_LAYER0 0x00
#define SEEK_LAYER1 0x01
/*=========================================================================
Optional Definition
=========================================================================*/
#define MAX_DVD_SPEED 2 //6 Initial servo maximum speed for DVD
#define OPT_DVD_SPEED 2 //6 Initial servo optimum speed for DVD
#define MAX_DVDCLV_SPEED 2
#define MAX_TWO_DVD_SPEED 2 //dual layer speed
#define MIN_DVD_SPEED 2 // 1Initial servo optimum speed for DVD
#define RANGE_DVD_SPEED 2 // 4Change speed limit for DVD
#define RANACC_DVD_SPEED 2 //4 Random Access speed
#define LEADIN_DVD_SPEED 2 //1 Read leadin speed
#define MAX_DVDR_SPEED 2
#define MAX_DVDMRW_SPEED 2 // DVD-RW
#define MAX_DVDPRW_SPEED 2 // DVD+RW
#define MAX_RAMV1_SPEED 2 // Initial servo maximum speed for RAM Ver.1
#define MAX_RAMV2_SPEED 2 // Initial servo maximum speed for RAM Ver.2
#define DVD_SPEED_GAP 1 // for MTK decoder speed down function
#define DVD_VIDEO_SPEED 2
#ifdef CD_CAV_TEST
#define MAX_CD_SPEED 10 // Initial servo minimum speed for CD
#else
#define MAX_CD_SPEED 4 // Initial servo minimum speed for CD
#endif
#define OPT_CD_SPEED 4 // Initial servo optimum speed for CD
#define MAX_CDCLV_SPEED 4
#define MIN_CD_SPEED 4 // Initial servo minimum speed for CD
#define RANGE_CD_SPEED 4 // Change speed limit for DVD
#define RANACC_CDROM_SPEED 4 // Random Access speed
#define LEADIN_CD_SPEED 4 // Read leadin speed
#define CDRW_SPEED 4 // CDRW PLAYING SPEED
#define VCD_SPEED 4 // VCD PLAYING SPEED
#define CDDA_SPEED 4 // AUDIO PLAYING SPEED
#define HIGH_CDDA_SPEED 4 //
#define CDPLUS_SPEED 4 // CD+ PLAYING SPEED
#define ENHANCECD_SPEED 4 // ENHANCE CD PLAYING SPEED
#define CD_SPEED_GAP 2 // for MTK decoder speed down function
#ifdef _SERVO_F_
#ifdef _SERVO_F1_
/********************************************/
/* Media type define */
/* _bMediaType = 0x01 : CD-ROM */
/* _bMediaType = 0x02 : CD-RW */
/* _bMediaType = 0x05 : CD-DVCD */
/* _bMediaType = 0x10 : DVD-ROM(S) */
/* _bMediaType = 0x11 : DVD-ROM(D) */
/* _bMediaType = 0x14 : DVD-ROM(L) */
/* _bMediaType = 0x30 : DVD-R V1.0 */
/* _bMediaType = 0x31 : DVD-R V2.0 */
/* _bMediaType = 0x50 : DVD+RW(4.7G) */
/* _bMediaType = 0x51 : DVD+RW(3.0G) */
/* _bMediaType = 0x52 : DVD-RW */
/* _bMediaType = 0x90 : DVD-RAM(2.6G) */
/* _bMediaType = 0x91 : DVD-RAM(4.7G) */
/* K.J.Chang 01/01/31*/
/********************************************/
BYTE bdata _bMediaType _at_ 0x21;
sbit _fgDiskIsDVDRW = _bMediaType^6; // DVD-RW/+RW
sbit _fgDiskIsDVDMRW = _bMediaType^1; // DVD-RW
sbit _fgDiskIsDVDR = _bMediaType^5; // DVD-R
sbit _fgDiskIsDVD = _bMediaType^4;
sbit _fgDualLayer = _bMediaType^0; // DVD
sbit _fgOppTrack = _bMediaType^1; // DVD
sbit _fgDiskIsDVCD = _bMediaType^2; // CD
sbit _fgDiskIsCDRW = _bMediaType^1; // CD ,new added by jishian
WORD xdata bIDCount1; //[0616] for robust burning
BYTE data _bWdCnt;
BYTE xdata _bMaxSpeed;
BYTE xdata _bOptimumSpeed;
BYTE xdata _bDriveSpeed;
BYTE xdata _bPlayerStatus;
BYTE bdata _bServoStatus _at_ 0x22;
sbit _fgDiscStatus = _bServoStatus^0; // tracking on:1, off:0
sbit _fgSpinStatus = _bServoStatus^1; // Servo status 1:ON, 0:OFF
sbit _fgPauseStatus = _bServoStatus^2; // 1/0: Pause ON/OFF
sbit _fgFocusStatus = _bServoStatus^3; // 1/0: FOK/not FOK
sbit _fgQIDStatus = _bServoStatus^4; // '1': when Qcode is available
sbit _fgCalStatus = _bServoStatus^5; // '1': Disk has been Calibrated
sbit _fgSpeedStatus = _bServoStatus^6; // '1': is changing speed
sbit _fgDmonStatus = _bServoStatus^7; // '1': spindle has been kicked
BYTE bdata _bServoFlag1 _at_ 0x29;
sbit _fgHybridSACD = _bServoFlag1^0;
sbit _fg8CMDisk = _bServoFlag1^1;
sbit _fgAbort = _bServoFlag1^2; // Exit SERVO Routine immediately
strucQCode data _rQCode; // for CD
BYTE data _bTarMin _at_ 0x71; // use for save target time of seek and
BYTE data _bTarSec _at_ 0x72; // pauses mode , they are in MSB HEX format
BYTE data _bTarBlk _at_ 0x73;
BYTE data _bAbsMin _at_ 0x74; // use for save current time, they are converted
BYTE data _bAbsSec _at_ 0x75; // after read q code and in MSB HEX format
BYTE data _bAbsBlk _at_ 0x76;
DWRD xdata _dSectorID _at_ 0xFDEA; // for DVD
// 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 WORD xdata bIDCount1;
extern BIT _fgHybridSACD;
extern BIT _fg8CMDisk;
extern BYTE data _bWdCnt;
extern BYTE xdata _bMaxSpeed;
extern BYTE xdata _bOptimumSpeed;
extern BYTE xdata _bDriveSpeed;
extern BYTE xdata _bPlayerStatus;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -