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.
 
 
 
 
 
 

164 lines
6.1 KiB

/******************************************************************************\
* *
* CL6100.H - Hardware abstraction level library header file. *
* *
* Copyright (c) C-Cube Microsystems 1996 *
* All Rights Reserved. *
* *
* Use of C-Cube Microsystems code is governed by terms and conditions *
* stated in the accompanying licensing statement. *
* *
\******************************************************************************/
// Functions to be used for DVD_Authenticate() call
#define DVD_GET_CHALLENGE 0x0
#define DVD_SEND_CHALLENGE 0x1
#define DVD_GET_RESPONSE 0x2
#define DVD_SEND_RESPONSE 0x3
#define DVD_SEND_DISK_KEY 0x4
#define DVD_SEND_TITLE_KEY 0x5
#define DVD_SET_DECRYPTION_MODE 0x6
#define DVD_SET_DSC_BYPASS_MODE 0x7
#define DVD_GET_DISK_AUTH_STATUS 0x9 // To get status of fake encrypted disks
// Host Interrupt mask bits
#define CL6100_INT_MASK_ERR 0x00000001
#define CL6100_INT_MASK_PIC_V 0x00000002
#define CL6100_INT_MASK_GOP_V 0x00000004
#define CL6100_INT_MASK_SEQ_V 0x00000008
#define CL6100_INT_MASK_END_V 0x00000010
#define CL6100_INT_MASK_PIC_D 0x00000020
#define CL6100_INT_MASK_VSYNC 0x00000040
#define CL6100_INT_MASK_AOR 0x00000080
#define CL6100_INT_MASK_UND 0x00000100
#define CL6100_INT_MASK_END_C 0x00000200
#define CL6100_INT_MASK_RDY_S 0x00000400
#define CL6100_INT_MASK_SCN 0x00000800
#define CL6100_INT_MASK_USR 0x00001000
#define CL6100_INT_MASK_END_P 0x00002000
#define CL6100_INT_MASK_END_D 0x00004000
#define CL6100_INT_MASK_AEE 0x00008000
#define CL6100_INT_MASK_BUF_F 0x00010000
#define CL6100_INT_MASK_SEQ_E 0x00020000
#define CL6100_INT_MASK_NV 0x00040000
#define CL6100_INT_MASK_HLI 0x00080000
#define CL6100_INT_MASK_RDY_D 0x00100000
#define CL6100_INT_MASK_RESERVED_1 0x00200000
#define CL6100_INT_MASK_AUD 0x00400000
#define CL6100_INT_MASK_INIT 0x00800000
#define DVD_HW_VERSION_1_0 0
#define DVD_HW_VERSION_1_1 1
#define AUDIO_SAMPLING_MASK 0x0C
#define AUDIO_SAMPLING_FREQ_48 0
#define AUDIO_SAMPLING_FREQ_44 1
#define AUDIO_SAMPLING_FREQ_32 2
#define AUDIO_SAMPLING_FREQ_96 3
#define AUDIO_DAXDK_MASK 0x02
#define AUDIO_DAXDK_384 0
#define AUDIO_DAXDK_256 1
#define AUDIO_MODE_MASK 0x01
#define AUDIO_MODE_SLAVE 0
#define AUDIO_MODE_MASTER 1
#define USER_DATA_READ 0x000278
#define USER_DATA_WRITE 0x00027C
#define USER_DATA_BUFFER_START 0x000270
#define USER_DATA_BUFFER_END 0x000274
#define CC_BUFF_SIZE 60 // Close Caption Buffer Size
// Closed Caption Defines
#define CC_CODE_NOP 0x8080
#define CC_CODE_CLEARSCREEN 0x2C94
#define CC_CODE_CLS_NONDISP 0xAE94
typedef struct _INTSOURCES
{
DWORD DVDIntHLI;
DWORD DVDIntBUFF;
DWORD DVDIntUND;
DWORD DVDIntAOR;
DWORD DVDIntAEE;
DWORD DVDIntERR;
}INTSOURCES, * PINTSOURCES;
/************************** board access ************************************/
DWORD DVD_GetHWVersion();
DWORD DVD_GetFWVersion();
BOOL DVD_Initialize( DWORD dwBaseAddress, DWORD dwCFIFOBase );
BOOL DVD_LoadUCode( BYTE * pbUCode );
BOOL DVD_Play();
BOOL DVD_Pause();
BOOL DVD_Resume();
BOOL DVD_Reset();
BOOL DVD_Abort();
BOOL DVD_SlowMotion( WORD wRatio );
BOOL DVD_SetStreams( DWORD dwStreamType, DWORD dwStreamNum );
BOOL DVD_SetAudioVolume( WORD wValue );
BOOL DVD_SetAC3OutputMode( WORD wValue );
BOOL DVD_SetAC3OperationalMode( WORD wValue );
BOOL DVD_SetPalette( DWORD * pdwPalettes );
BOOL DVD_SetSubPictureMute( BOOL bMute );
BOOL DVD_SetDisplayMode( WORD wDisplay, WORD wMode );
BOOL DVD_Authenticate( WORD wFunction, BYTE * pbyDATA );
BOOL DVD_HighLight( DWORD dwButton, DWORD dwAction );
BOOL DVD_HighLight2( DWORD dwContrast, DWORD dwColor, DWORD dwYGeom, DWORD dwXGeom );
BOOL DVD_Scan( DWORD dwScanMode, DWORD dwSkip );
BOOL DVD_SingleStep();
DWORD DVD_GetSTC();
BOOL DVD_SetPcmScaleFactor( WORD wValue );
BOOL DVD_SetAC3LfeOutputEnable( WORD wValue );
BOOL DVD_SetKaraokeMode( WORD wMode );
BOOL DVD_SetAC3LowBoost( WORD wValue );
BOOL DVD_SetAC3HighCut( WORD wValue );
BOOL DVD_ForceCodedAspectRatio( WORD wRatio );
BOOL DVD_SetIEC958On( WORD wValue );
BOOL DVD_SetIEC958Decoded( WORD wValue );
BOOL DVD_NewPlayMode( DWORD dwBitstreamType, DWORD dwVideoMode );
DWORD DVD_Send( DWORD * dwpData, DWORD dwCount, DWORD dwTimeOutCount );
BOOL DVD_IntEnable( DWORD dwMask );
BOOL DVD_IntDisable( DWORD dwMask );
DWORD DVD_Isr( PINTSOURCES pIntSrc );
void DVD_WriteDRAM( DWORD dwAddress, DWORD dwData );
DWORD DVD_ReadDRAM ( DWORD dwAddress );
int dvd_CheckCFIFO();
void dvd_SetRequestEnable();
void dvd_SetRequestDisable();
void dvd_SaveRequest();
void dvd_RestoreRequest();
#ifdef DEBUG
BOOL DVD_SetParam(DWORD dwParamID, DWORD dwParamValue);
BOOL DVD_GetParam(DWORD dwParamID, DWORD *dwParamValue);
BOOL DVD_SendCommand(DWORD dwCommandID,
DWORD dwParam1,
DWORD dwParam2,
DWORD dwParam3,
DWORD dwParam4,
DWORD dwParam5,
DWORD dwParam6,
DWORD dwIntMask,
DWORD dwStatus );
#endif // DEBUG
#ifdef UCODE_VER_2
BOOL DVD_SetZoom(DWORD dwZoomFactor, DWORD dwXOffset, DWORD dwYOffset);
BOOL DVD_ReversePlay(DWORD dwDecoderSpeed,DWORD dwFrameMode);
void DVD_SetVerticalDiaplyMode(DWORD dwVerticalDisplayMode);
#endif