Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.5 KiB

  1. //***************************************************************************
  2. // Analog Copy protection Processor header
  3. //
  4. //***************************************************************************
  5. #ifndef __CCPGD_H__
  6. #define __CCPGD_H__
  7. //--- 97.09.15 K.Chujo
  8. enum {
  9. NO_ACG,
  10. TC6802,
  11. TC6814,
  12. TC6818
  13. };
  14. //--- End.
  15. class CGuard {
  16. private:
  17. PUCHAR ioBase;
  18. UCHAR VproRESET_REG;
  19. UCHAR VproVMODE_REG;
  20. UCHAR VproAVM_REG;
  21. //--- 97.09.15 K.Chujo
  22. ULONG CpgdVsyncCount;
  23. ULONG ACGchip;
  24. BOOL CGMSnCPGDvalid;
  25. ULONG AspectFlag; // Aspect Ratio
  26. // 0: 4:3
  27. // 1: 16:9
  28. ULONG LetterFlag; // Letter Box
  29. // 0: Letter Box OFF
  30. // 1: Letter Box ON
  31. ULONG CgmsFlag; // NTSC Anolog CGMS
  32. // 0: Copying is permitted without restriction
  33. // 1: Condition is not be used
  34. // 2: One generation of copies may be made
  35. // 3: No copying is permitted
  36. ULONG CpgdFlag; // APS
  37. // 0: AGC pulse OFF, Burst inv OFF
  38. // 1: AGC pulse ON , Burst inv OFF
  39. // 2: AGC pulse ON , Burst inv ON (2line)
  40. // 3: AGC pulse ON , Burst inv ON (4line)
  41. void CPGD_SET_CGMSparameter( void );
  42. void CPGD_SET_CPGDparameter( void );
  43. void CPGD_SET_BURST( PWORD data, ULONG size );
  44. void CPGD_SET_AGC( WORD Cval, WORD Yval );
  45. ULONG CPGD_CALC_CRC( ULONG val );
  46. void CPGD_SET_CGMS_A_0( ULONG aspect, ULONG letter );
  47. void CPGD_SET_CGMS_A_1( ULONG aspect, ULONG letter );
  48. void CPGD_SET_CGMS_A_2( ULONG aspect, ULONG letter );
  49. void CPGD_SET_CGMS_A_3( ULONG aspect, ULONG letter );
  50. void CPGD_SET_CLR_STRIPE_OFF( void );
  51. void CPGD_SET_CLR_STRIPE_2( void );
  52. void CPGD_SET_CLR_STRIPE_4( void );
  53. void CPGD_SET_CPGD_0( void );
  54. void CPGD_SET_CPGD_1( void );
  55. void CPGD_SET_CPGD_2( void );
  56. void CPGD_SET_CPGD_3( void );
  57. // void CPGD_BURST_Y_OFF( void );
  58. //--- End.
  59. public:
  60. void init( const PDEVICE_INIT_INFO pDevInit );
  61. void CPGD_RESET_FUNC();
  62. void CPGD_VIDEO_MUTE_ON();
  63. void CPGD_VIDEO_MUTE_OFF();
  64. void CPGD_INIT_NTSC();
  65. void CPGD_INIT_PAL();
  66. void CPGD_CC_ON();
  67. void CPGD_CC_OFF();
  68. void CPGD_SUBP_PALETTE( PUCHAR pPalData );
  69. void CPGD_OSD_PALETTE( PUCHAR pPalData );
  70. //--- 97.09.15 K.Chujo
  71. BOOL CPGD_SET_AGC_CHIP( ULONG rev );
  72. void CPGD_SET_ASPECT( ULONG aspect );
  73. void CPGD_SET_LETTER( ULONG letter );
  74. void CPGD_SET_CGMS( ULONG cgms );
  75. void CPGD_SET_CPGD( ULONG cpgd );
  76. void CPGD_SET_CGMSnCPGD( ULONG aspect, ULONG letter, ULONG cgms, ULONG cpgd);
  77. void CPGD_UPDATE_AGC( void );
  78. //--- End.
  79. };
  80. #endif // __CCPGD_H__