/******************************************************************************\ * * * 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