📄 global.h
字号:
/*=============================================================================
* Copyright (C) 2001 Acer Labs, Inc. All Rights Reserved.
*
* File: GLOBAL.H
*
* Contents: -
*
* History:
* 04/18/2001 develop 5705
******************************************************************************/
//=== bit addressable variable =========
BYTE bdata bbIntFromFirstLevel1;
BYTE bdata bbIntFromFirstLevel2;
BYTE bdata bbCurrentFrmType;
//bbIntFromFirstLevel1
sbit fDSPErrInt =bbIntFromFirstLevel1^0;
sbit fTargetCompErr =bbIntFromFirstLevel1^1;
sbit fHeadIn =bbIntFromFirstLevel1^2;
sbit fECCErr =bbIntFromFirstLevel1^3;
sbit fXDone =bbIntFromFirstLevel1^4;
sbit fBufferFullInt =bbIntFromFirstLevel1^5;
sbit fPktCmdInt =bbIntFromFirstLevel1^6;
sbit fATACmdInt =bbIntFromFirstLevel1^7;
//bbIntFromFirstLevel2
sbit fCDIRQInt =bbIntFromFirstLevel2^0;
sbit fHIInt =bbIntFromFirstLevel2^1;
sbit fHIAuthInt =bbIntFromFirstLevel2^2;
sbit fOtherInt =bbIntFromFirstLevel2^3;
sbit fEDCErrInt =bbIntFromFirstLevel2^4;
//bfCurrentFrmType
sbit fMode1Frm =bbCurrentFrmType^0;
sbit fMode2Frm =bbCurrentFrmType^1;
sbit fAudioFrm =bbCurrentFrmType^2;
sbit fCDIFrm =bbCurrentFrmType^3;
sbit fCDRW =bbCurrentFrmType^4;
sbit fCDDisc =bbCurrentFrmType^5;
sbit fDVDDual =bbCurrentFrmType^6;
sbit fDVDDisc =bbCurrentFrmType^7;
//=== array & table ====================
DWORD code MinFrame[] = {
0, 4500, 9000, 13500, 18000, 22500, 27000, 31500,//0-7
36000, 40500, 45000, 49500, 54000, 58500, 63000, 67500,//8-15
72000, 76500, 81000, 85500, 90000, 94500, 99000, 103500,//16-23
108000, 112500, 117000, 121500, 126000, 130500, 135000, 139500,//24-31
144000, 148500, 153000, 157500, 162000, 166500, 171000, 175500,//32-39
180000, 184500, 189000, 193500, 198000, 202500, 207000, 211500,//40-47
216000, 220500, 225000, 229500, 234000, 238500, 243000, 247500,//48-55
252000, 256500, 261000, 265500, 270000, 274500, 279000, 283500,//56-63
288000, 292500, 297000, 301500, 306000, 310500, 315000, 319500,//64-71
324000, 328500, 333000, 337500, 342000, 346500, 351000, 355500,//72-79
360000, 364500, 369000, 373500, 378000, 382500, 387000, 391500,//80-87
396000, 400500, 405000, 409500, 414000, 418500, 423000, 427500,//88-95
432000, 436500, 441000, 445500 //96-99
};
WORD code SecFrame[] = {
0, 75, 150, 225, 300, 375, 450, 525, 600, 675, 750,
825, 900, 975, 1050, 1125, 1200, 1275, 1350, 1425, 1500, 1575,
1650, 1725, 1800, 1875, 1950, 2025, 2100, 2175, 2250, 2325, 2400,
2475, 2550, 2625, 2700, 2775, 2850, 2925, 3000, 3075, 3150, 3225,
3300, 3375, 3450, 3525, 3600, 3675, 3750, 3825, 3900, 3975, 4050,
4125, 4200, 4275, 4350, 4425
};
BYTE code DivMin[] = {
0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, 70, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
91, 91, 92, 93, 94, 95, 96, 97, 98, 99
};
BYTE code DivSec[] = {
0, 0, 1, 2, 3, 4, 5, 5, 6, 7,
8, 9, 10, 11, 11, 12, 13, 14, 15, 16,
17, 17, 18, 19, 20, 21, 22, 23, 23, 24,
25, 26, 27, 28, 29, 29, 30, 31, 32, 33,
34, 34, 35, 36, 37, 38, 39, 40, 40, 41,
42, 43, 44, 45, 46, 46, 47, 48, 49, 50,
51, 52, 52, 53, 54, 55, 56, 57, 58, 58,
59, 59
};
//=== structure & union ================
UNION_STORE STORE;
UNION_XLENGTH idata UXL;
UNION_ALBA idata UALBA;
UNION_TEMP_WORD idata UTempWord;
Q_TYPE idata Q;
//1906a02j TIME idata Ending;
TIME idata Target;
TIME idata Current;
//=== do not change the order ==========
WORD idata iwIdleTimer; //first timer
WORD idata iwSpeedTimer;
WORD idata iwStsTimer;
WORD idata iwHostCmdTimer;
BYTE idata ibServoTimer; //boundary
BYTE idata ibServoSubTimer;
BYTE idata ibRdQTimer;
BYTE idata ibSeekTimer;
BYTE idata ibDSPCmdTimer;
BYTE idata ibDecoderTimer;
BYTE idata ibLEDTimer; //last timer
//=== do not change the order ==========
extern bit LED;
extern bit EJ_KEY;
//1906a02j
sbit fRuninJ =P1^7;
//sbit DiscInSW =P1^5; //p1.5
sbit SW1 =P1^0;
sbit SW2 =P1^4;
sbit SW3 =P1^3;
//sbit TrayInSW =P1^3;
//sbit TrayOutSW =P1^4;
sbit SLED_SW =P1^6;
sbit TP0 =P3^0;
sbit TP1 =P3^1;
sbit TP2 =P3^3;
sbit TP3 =P3^5;
//======================================
DWORD idata ilLeadOut;
DWORD idata ilBuffStartALBA;
DWORD idata ilMiddle;
DWORD idata ilLastID;
WORD idata iwMaxTOCCount;
WORD idata iwSectorLength;
WORD idata iwTrackNumber;
WORD idata iwTotalSector;
WORD idata iwLastHIPtr;
WORD idata iwMaxSector;
WORD idata iwErrorRate;
BYTE data bCommandPacket[12];
BYTE data bTargetErrTimes;
BYTE data bECCErrTimes;
BYTE data bRetryTimes;
BYTE data bTempIntErr;
BYTE data bBOFPhase;
BYTE data bBOFCount;
BYTE data bPStatus;
BYTE data bDecoderState;
BYTE data bServoState;
BYTE data bASUState;
BYTE data bASKState;
BYTE data bPhase;
BYTE data bSubPhase;
BYTE data bSUPhase;
BYTE data bSUSubPhase;
BYTE data bSKPhase;
BYTE data bSKSubPhase;
BYTE data bRdQPhase;
BYTE data bReseekFlowNo;
BYTE data bStateFlowNo;
//1906a02j BYTE idata ibAGIDRegion;
BYTE idata ibDiscRegion;
BYTE idata ibMFTRegion;
BYTE idata ibMediaEvent;
BYTE idata ibReadDVDStructureType;
#ifdef BANKMODE //1906a02j
BYTE idata ibTempIE;
#endif //1906a02j
BYTE idata ibRecordTOCFlag;
BYTE idata ibTrackToPlay;
BYTE idata ibCurrentSpeed;
BYTE idata ibAGID;
BYTE idata ibUsingAGID;
BYTE idata ibKeyFormat;
BYTE idata ibDVDReadReqOffset;
BYTE idata ibBufferFullMissTargetCounter;
BYTE idata ibExpSectorType;
BYTE idata ibXType;
BYTE idata ibSubChannalBit;
BYTE idata ibErrData[16];
BYTE idata ibErrIndex;
BYTE idata ibPIPOType;
BYTE idata ibCTOffset;
BYTE idata ibCBR;
//R1606_COM_05 BYTE idata ibTRCR;
//R1606_COM_05 BYTE idata ibTRCR_1;
BYTE idata ibDelta_0;//R1606_COM_05
BYTE idata ibDelta_1;//R1606_COM_05
BYTE idata ibFTGR;
BYTE idata ibFTGR_1;
BYTE idata ibASL;
BYTE idata ibASL_1;
BYTE idata ibSeekOffset;
BYTE idata ibLongJumpErr;
BYTE idata ibFirstSessionLastTrack;
BYTE idata ibXferCount;
BYTE idata ibCheckA0;
//BYTE idata ibUpSpeedCnt; //R1606_COM_06
bit fSaveNum;
bit fSBvsSH;
bit fLongJump;
bit fJumpTrack;
bit fJumpLayer;
bit fFormBit;
bit fS0,fS1;
bit fDir;
bit fOTPType;
bit fCurrentLayer;
bit fLayerNumber;
bit fTOC;
bit fB0Found;
bit fNextB0;
bit fSearchB0;
bit fDiscKeyOK;
bit fDMA;
bit fUDMA;
bit fPreAllow;
bit fUnitAttention;
bit fPowerOnUnitAttention;
bit fRead10Exed;
bit fReadCDExed;
bit fASFErr;
bit fKey2Err;
bit fTitleKeyErr;
bit fPlayFail;
bit fTrayDir;
bit fTrayFail;
bit fEjectPressed;
bit fLEDToggle;
bit fBufferFull;
bit fDSPErr;
bit fEDCErr;
bit fCDIRQ;
bit fLastID;
bit fAutoAdj;
bit fChkHead;
bit fDisRdQ;
bit fTuneASL;
bit fTuneFTGR;
bit fChgASL;
bit fMultiSession;
bit fServoDieFlag;
bit fNoSledHome;
bit fNewID;
bit fTurnErrDir;
bit fTuneErrhaverun;
bit fMaster;
bit fCheckFlashCD=1; //1911a01j
bit fDisSleep;
bit fChkLeadIn;
bit fSectorDataReady;
//bit fMediaChange; //R1719_Tohei_01
bit fMiniDisc=0; //R1719_Tohei_01
bit fDiscWait=0;
bit fPowerOnI=1;
bit fNeedDiscOut=0;
//1906a02j bit fOldDiscInSW; //R1719_Tohei_01
//1906a02j bit fOldTrayOutSW; //R1719_Tohei_01
//R1606_COM_05 bit fChkMaskEN;
DWORD idata ioldLastID;//R1703_COM_02
bit fCHKID;//R1703_COM_02
BYTE idata ibCER; //R1726_H1120_01
BYTE idata ibCER_1; //R1726_H1120_01
bit fDVDPlusRW=0; //R1726_COM_01
bit fDVCDDisc; //R1808_COM_01
BYTE idata ibSDRAM16M=0; //1828a01j
bit fFlashCD=0;//1911a01j
bit fTrayInSPBRK;//1912a01j
bit fSB;//1912a01j
//bit fDiscError;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -