mirror of https://github.com/tongzx/nt5src
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
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
|