📄 c1532f_bbk.h
字号:
/*-----------------------------------------------------------------------------------
BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES THAT
THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") RECEIVED
FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON AN "AS-IS"
BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK
PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE,
AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING
THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES
MADE TO BUYER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE LIABILITY
WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, AT MEDIATEK'S
OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE
LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE
AT ISSUE.
THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE WITH THE LAWS
OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF LAWS PRINCIPLES.
ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND RELATED THERETO SHALL BE
SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL
CHAMBER OF COMMERCE (ICC).
-----------------------------------------------------------------------------------*/
/*************** 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
#ifdef JITTER_PROTECT //chu
BYTE xdata _bJITTERPROTECT;
#endif
// 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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -