windows-nt/Source/XPSP1/NT/drivers/wdm/dvd/mini/toshiba/ccpgd.h
2020-09-26 16:20:57 +08:00

88 lines
2.5 KiB
C++

//***************************************************************************
// Analog Copy protection Processor header
//
//***************************************************************************
#ifndef __CCPGD_H__
#define __CCPGD_H__
//--- 97.09.15 K.Chujo
enum {
NO_ACG,
TC6802,
TC6814,
TC6818
};
//--- End.
class CGuard {
private:
PUCHAR ioBase;
UCHAR VproRESET_REG;
UCHAR VproVMODE_REG;
UCHAR VproAVM_REG;
//--- 97.09.15 K.Chujo
ULONG CpgdVsyncCount;
ULONG ACGchip;
BOOL CGMSnCPGDvalid;
ULONG AspectFlag; // Aspect Ratio
// 0: 4:3
// 1: 16:9
ULONG LetterFlag; // Letter Box
// 0: Letter Box OFF
// 1: Letter Box ON
ULONG CgmsFlag; // NTSC Anolog CGMS
// 0: Copying is permitted without restriction
// 1: Condition is not be used
// 2: One generation of copies may be made
// 3: No copying is permitted
ULONG CpgdFlag; // APS
// 0: AGC pulse OFF, Burst inv OFF
// 1: AGC pulse ON , Burst inv OFF
// 2: AGC pulse ON , Burst inv ON (2line)
// 3: AGC pulse ON , Burst inv ON (4line)
void CPGD_SET_CGMSparameter( void );
void CPGD_SET_CPGDparameter( void );
void CPGD_SET_BURST( PWORD data, ULONG size );
void CPGD_SET_AGC( WORD Cval, WORD Yval );
ULONG CPGD_CALC_CRC( ULONG val );
void CPGD_SET_CGMS_A_0( ULONG aspect, ULONG letter );
void CPGD_SET_CGMS_A_1( ULONG aspect, ULONG letter );
void CPGD_SET_CGMS_A_2( ULONG aspect, ULONG letter );
void CPGD_SET_CGMS_A_3( ULONG aspect, ULONG letter );
void CPGD_SET_CLR_STRIPE_OFF( void );
void CPGD_SET_CLR_STRIPE_2( void );
void CPGD_SET_CLR_STRIPE_4( void );
void CPGD_SET_CPGD_0( void );
void CPGD_SET_CPGD_1( void );
void CPGD_SET_CPGD_2( void );
void CPGD_SET_CPGD_3( void );
// void CPGD_BURST_Y_OFF( void );
//--- End.
public:
void init( const PDEVICE_INIT_INFO pDevInit );
void CPGD_RESET_FUNC();
void CPGD_VIDEO_MUTE_ON();
void CPGD_VIDEO_MUTE_OFF();
void CPGD_INIT_NTSC();
void CPGD_INIT_PAL();
void CPGD_CC_ON();
void CPGD_CC_OFF();
void CPGD_SUBP_PALETTE( PUCHAR pPalData );
void CPGD_OSD_PALETTE( PUCHAR pPalData );
//--- 97.09.15 K.Chujo
BOOL CPGD_SET_AGC_CHIP( ULONG rev );
void CPGD_SET_ASPECT( ULONG aspect );
void CPGD_SET_LETTER( ULONG letter );
void CPGD_SET_CGMS( ULONG cgms );
void CPGD_SET_CPGD( ULONG cpgd );
void CPGD_SET_CGMSnCPGD( ULONG aspect, ULONG letter, ULONG cgms, ULONG cpgd);
void CPGD_UPDATE_AGC( void );
//--- End.
};
#endif // __CCPGD_H__