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

510 lines
18 KiB
C

//***************************************************************************
// Decoder board register header
//
//***************************************************************************
//===========================================================================
// PCI I/F REGISTERS
//===========================================================================
#define PCIF_CNTL 0x00 // PCI I/F control
#define PCIF_INTF 0x04 // Interrupt flags
#define PCIF_MADRLL 0x08 // DMA address low-low
#define PCIF_MADRLH 0x09 // DMA address low-high
#define PCIF_MADRHL 0x0a // DMA address high-low
#define PCIF_MADRHH 0x0b // DMA address high-high
#define PCIF_MTCLL 0x0c // DMA counter low-low
#define PCIF_MTCLH 0x0d // DMA counter low-high
#define PCIF_MTCHL 0x0e // DMA counter high-low
#define PCIF_MTCHH 0x0f // DMA counter high-high
#define PCIF_CPLT 0x10 // Color palette
#define PCIF_CPCNT 0x11 // Color palette control
#define PCIF_VMODE 0x14 // video mode
#define PCIF_HSCNT 0x15 // HSYNC count
#define PCIF_VSCNT 0x16 // VSYNC count
#define PCIF_HSVS 0x17 // HS/VS porarity
#define PCIF_EEPROM 0x20 // EEPROM access
#define PCIF_PSCNT 0x22 // PS coontrol
#define PCIF_TEST 0x23 // test control
#define PCIF_SCNT 0x24 // serial access control
#define PCIF_SW 0x25 // serial write
#define PCIF_SR 0x26 // serial read
#define PCIF_SNOLL 0x28 // board serial # LL
#define PCIF_SNOLH 0x29 // board serial # LH
#define PCIF_SNOMM 0x2a // board serial # MM
#define PCIF_SNOHL 0x2b // board serial # HL
#define PCIF_SNOHH 0x2c // board serail # HH
//===========================================================================
// MPEG DECODER(TC81201F) REGISTERS
//===========================================================================
#define TC812_DATA1 0x80 // data1
#define TC812_DATA2 0x81 // data2
#define TC812_DATA3 0x82 // data3
#define TC812_DATA4 0x83 // data4
#define TC812_DATA5 0x84 // data5
#define TC812_DATA6 0x85 // data6
#define TC812_DATA7 0x86 // data7
#define TC812_CMDR1 0x87 // command1
//#define TC812_CMDR2 0x88 // command2
#define TC812_DSPL 0x8b // filter
#define TC812_STT1 0x8e // status1
#define TC812_STT2 0x8f // status2
#define TC812_IRF 0x90 // interrupt flags
#define TC812_IRM 0x91 // interrupt masks
#define TC812_DEF 0x92 // decode end flag
#define TC812_WEF 0x93 // packet end flag
#define TC812_ERF 0x94 // error interrupt flag
#define TC812_UOF 0x96 // under/over flow flag
#define TC812_DEM 0x97 // Decode end mask (R/W)
#define TC812_WEM 0x98 // Packet end mask (R/W)
#define TC812_ERM 0x99 // Error interrupt mask (R/W)
#define TC812_UOM 0x9B // Under/Over flow mask (R/W)
#define TC812_UDAT 0x9C // User data read (R)
#define TC812_BST 0x9D // Bit stream write (R/W)
#define TC812_UAR 0x9E // User area data read (R)
#define TC812_IVEC 0x9F // Interrupt vector (R/W)
//======= Command Definitions (values for CMDR1 register) =============
#define V_SET_SYS 0x01 // Set System decode mode
#define V_GET_SYS 0x21 // Get System decode mode
#define V_SET_DEC_MODE 0x02 // Set decode mode
#define V_GET_DEC_MODE 0x22 // Get decode mode
#define V_SET_INT_ID 0x03 // Set internal decode stream id
#define V_GET_INT_ID 0x23 // Get internal decode stream id
#define V_SET_PRSO_ID 0x04 // Set PRSO stream id
#define V_GET_PRSO_ID 0x24 // Get PRSO stream id
#define V_SET_USER_ID 0x06 // Set USER1/2 stream id
#define V_GET_USER_ID 0x26 // Get USER1/2 stream id
#define V_SET_UOF_SIZE 0x07 // Set under/overflow size
#define V_GET_UOF_SIZE 0x27 // Get under/overflow size
#define V_GET_STD_CODE 0x29 // Get STD buffer size
#define V_SET_STCA 0x0B // Set STCA value
#define V_GET_STCA 0x2B // Get STCA value
#define V_SET_STCS 0x0C // Set STCS value
#define V_GET_STCS 0x2C // Get STCS value
#define V_GET_STCC 0x2D // Get STCC value
#define V_GET_SCR 0x2E // Get SCR value
#define V_SET_STCR_END 0x0D // Set STC/SCR read end
#define V_USER1_CLEAR 0x0F // USER1 area clear
#define V_USER2_CLEAR 0x10 // USER2 area clear
#define V_SET_PVSIN 0x11 // Set PVSIN enable
#define V_GET_PVSIN 0x31 // Get PVSIN state
#define V_SET_WRITE_MEM 0x13 // Set write mem mode
#define V_WRITE_MEMORY 0x14 // Write memory
#define V_READ_MEMORY 0x34 // Read memory
#define V_STOP_MEMORY 0x15 // Stop memory access
#define V_SET_DECODE 0x41 // Start decode
#define V_GET_DECODE 0x61 // Stop decode
#define V_TRICK_NORMAL 0x42 // Play normal mode
#define V_TRICK_FAST 0x43 // Play fast mode
#define V_TRICK_SLOW 0x44 // Play slow mode
#define V_TRICK_FREEZE 0x45 // Play freeze mode
#define V_TRICK_STILL 0X46 // Play still mode
#define V_GET_TRICK 0x67 // Get trick mode
#define V_STD_CLEAR 0x48 // STD buffer clear
#define V_SET_UDATA 0x4F // Set USER data mode
#define V_GET_UDATA 0x6F // Get USER data mode
#define V_SET_DTS 0x50 // Set DTS
#define V_GET_DTS 0x70 // Get DTS
#define V_SET_PTS 0x51 // Set PTS
#define V_GET_PTS 0x71 // Get PTS
#define V_SET_SEEMLES 0x55 // Set seemless mode
#define V_SET_VFMODE 0x58 // Set video frame mode
#define V_SET_STD_SIZE 0x59 // Set STD buffer size
#define V_GET_STD_SIZE 0x79 // Get STD buffer size
#define V_SET_USER_SIZE 0x5B // Set USER area size
#define V_GET_USER_SIZE 0x7B // Get USER area size
#define V_SET_MEM_MAP 0x5F // Set memory mapping
#define V_SET_VCD 0x5C // Set Video-CD static mode
#define V_CHK_DEC_STATE 0x5D // Check decode state
#define V_GET_DEC_STATE 0x7D // Get Decoding state
#define V_UF_CURB 0x5E // Under-flow curb mode
#define V_SET_DMODE 0x81 // Set display mode
#define V_GET_DMODE 0xA1 // Get display mode
#define V_SET_HOFFSET 0x82 // Set horizontal offset
#define V_GET_HOFFSET 0xA2 // Get horizontal offset
#define V_SET_VOFFSET 0x83 // Set virtical offset
#define V_GET_VOFFSET 0xA3 // Get virtical offset
#define V_SET_HAREA 0x84 // Set horizontal area
#define V_GET_HAREA 0xA4 // Get horizontal area
#define V_SET_VAREA 0x85 // Set horizontal area
#define V_GET_VAREA 0xA5 // Get horizontal area
#define V_GET_V_DTS 0xB0 // Get decoding DTS value
#define V_RESET 0xC1 // Reset & set default mode
//===========================================================================
// VIDEO PROCESSOR(TC90A09F) REGISTERS
//===========================================================================
#define SUBP_RESET 0x40 // Sub-Pic Reset
#define SUBP_COMMAND 0x41 // Command
#define SUBP_STSINT 0x42 // Status & Interrupt mask
//#define SUBP_OFFSET 0x43 // Offset
#define SUBP_STCHH 0x44 // STC 32:25
#define SUBP_STCHL 0x45 // STC 24:17
#define SUBP_STCLH 0x46 // STC 16:09
#define SUBP_STCLL 0x47 // STC 08:01
#define SUBP_LCINFHH 0x48 // LCINF 32:25
#define SUBP_LCINFHL 0x49 // LCINF 24:17
#define SUBP_LCINFLH 0x4A // LCINF 16:09
#define SUBP_LCINFLL 0x4B // LCINF 08:01
#define SUBP_PCINFSHH 0x4C // PCINFS 47:40
#define SUBP_PCINFSHL 0x4D // PCINFS 39:32
#define SUBP_PCINFSMH 0x4E // PCINFS 31:24
#define SUBP_PCINFSML 0x4F // PCINFS 23:16
#define SUBP_PCINFSLH 0x50 // PCINFS 15:08
#define SUBP_PCINFSLL 0x51 // PCINFS 07:01
#define SUBP_PCINFEHH 0x52 // PCINFE 47:40
#define SUBP_PCINFEHL 0x53 // PCINFE 39:32
#define SUBP_PCINFEMH 0x54 // PCINFE 31:24
#define SUBP_PCINFEML 0x55 // PCINFE 23:16
#define SUBP_PCINFELH 0x56 // PCINFE 15:08
#define SUBP_PCINFELL 0x57 // PCINFE 07:01
#define SUBP_MODE 0x58 // Audio word alignment
#define SUBP_STCCNT 0x59 // STC Count
#define SUBP_SPID 0x5A // Sub-Pic sub-stream id
#define SUBP_ASEL 0x5B // Audio select(sub/stream id?)
#define SUBP_CC1 0x5C // Closed caption data1
#define SUBP_CC2 0x5D // Closed caption data2
#define SUBP_AAID 0x5E // Audio-A (sub)stream id
#define SUBP_ABID 0x5F // Audio-B (sub)stream id
#define VPRO_RESET 0x60 // V-PRO Reset
#define VPRO_VMODE 0x61 // Video mode & US caption
#define VPRO_CPSET 0x62 // Color palette setting
#define VPRO_CPSP 0x63 // Color palette (Sub-pic)
#define VPRO_AVM 0x64 // Analog video mode
#define VPRO_DVEN 0x65 // Digital output
#define VPRO_CPG 0x66 // Copy guard
#define VPRO_CAGC 0x68 // AGC puls(Composit)
#define VPRO_YAGC 0x69 // AGC puls(Y)
#define VPRO_LAGC 0x6A // AGC low-bit
#define VPRO_CPOSD 0x6B // Color palette (OSD)
//===========================================================================
// VIDEO ANALOG COPY GUARD PROCESSOR(TC6802AF) REGISTERS
//===========================================================================
#define CPGD_RESET 0xA0 // Reset
#define CPGD_VMODE 0xA1 // Video mode
#define CPGD_CPSET 0xA2 // Color palette setteing
#define CPGD_CPSP 0xA3 // Color palette
#define CPGD_AVM 0xA4 // Analog video mode
#define CPGD_DVEN 0xA5 // Digital output
#define CPGD_CPG 0xA6 // Copy guard setting
#define CPGD_CAGC 0xA8 // AGC(Composit)
#define CPGD_YAGC 0xA9 // AGC(Y)
#define CPGD_LAGC 0xAA // AGC(low bit)
#define CPGD_CDG 0xAB // CDG
#define CPGD_BSTLN 0xAC // Burst Inv number
#define CPGD_BSTSE 0xAD // Burst Inv timing
#define CPGD_BSTLSL 0xAE // Burst Inv line(Low)
#define CPGD_BSTLSH 0xAF // Burst Inv line(High)
#define CPGD_CGMSAL 0xB0 // CGMS-A(Low)
#define CPGD_CGMSAM 0xB1 // CGMS-A(Middle)
#define CPGD_CGMSAH 0xB2 // CGMS-A(High)
#define CPGD_BSTINT 0xB3 // Color burst interval
#define CPGD_BSTONY 0xB4 // Burst(Y)
//***************************************************************************
// M I S S I O L I N O U S D E F I N I T I O N S
//***************************************************************************
//===========================================================================
// MPEG (SUB-)STREAM ID
//===========================================================================
#define STRMID_MPEG_AUDIO 0xc0
#define STRMID_MPEG_VIDEO 0xe0
#define STRMID_PRIVATE_1 0xbd
#define STRMID_PRIVATE_2 0xbf
#define SUB_STRMID_SUBP 0x20
#define SUB_STRMID_VBI 0x48
#define SUB_STRMID_AC3 0x80
#define SUB_STRMID_SRSV_DTS 0x88
#define SUB_STRMID_SRSV_SDDS 0x90
#define SUB_STRMID_PCM 0xa0
#define SUB_STRMID_PCI 0x00
#define SUB_STRMID_DSI 0x01
//===========================================================================
// STREAM MODE
//===========================================================================
#define STREAM_MODE_VELS 0x01
#define STREAM_MODE_PES 0x03
#define STREAM_MODE_PS 0x07
#define STREAM_MODE_DVD 0x0F
#define STREAM_MODE_VCD 0x10
//===========================================================================
// PLAY STOP STATE
//===========================================================================
#define STOP_KEEP 0x01
#define STOP_FLASH 0x02
//===========================================================================
// UFLOW EVENT STATE
//===========================================================================
#define EVENT_FATAL_UFLOW 0x01
#define EVENT_NORMAL_UFLOW 0x02
//===========================================================================
// AUDIO MUTE STATE
//===========================================================================
#define AUDIO_MUTE_ON 0x00
#define AUDIO_MUTE_OFF 0x01
//===========================================================================
// AUDIO OUT MODE
//===========================================================================
#define AUDIO_OUT_DIGITAL 0x00
#define AUDIO_OUT_ANALOG 0x01
//===========================================================================
// AUDIO COPY PROTECT
//===========================================================================
#define AUDIO_COPY_ON 0x00
#define AUDIO_COPY_OFF 0x01
//===========================================================================
// SUBPIC MUTE STATE
//===========================================================================
#define SUBPIC_MUTE_ON 0x00
#define SUBPIC_MUTE_OFF 0x01
//===========================================================================
// SUBPIC Hi-LITE STATE
//===========================================================================
#define SUBPIC_HLITE_ON 0x00
#define SUBPIC_HLITE_OFF 0x01
//===========================================================================
// OSD MUTE STATE
//===========================================================================
#define OSD_MUTE_ON 0x00
#define OSD_MUTE_OFF 0x01
//===========================================================================
// OSD BLINK STATE
//===========================================================================
#define OSD_BLINK_ON 0x00
#define OSD_BLINK_OFF 0x01
//===========================================================================
// OSD REVERSE STATE
//===========================================================================
#define OSD_REVERSE_ON 0x00
#define OSD_REVERSE_OFF 0x01
//===========================================================================
// VIDEO MUTE STATE
//===========================================================================
#define VIDEO_MUTE_ON 0x00
#define VIDEO_MUTE_OFF 0x01
//===========================================================================
// LETTER BOX STATE
//===========================================================================
#define LETTER_BOX_ON 0x00
#define LETTER_BOX_OFF 0x01
//===========================================================================
// PAN-SCAN STATE
//===========================================================================
#define PANSCAN_ON 0x00
#define PANSCAN_OFF 0x01
//===========================================================================
// DECODE FALSE STATE
//===========================================================================
#define VIDEO_NO_DATA 0x01
//===========================================================================
// COLOR PALTTE SELECTION
//===========================================================================
#define PALETTE_Y 0x01
#define PALETTE_CB 0x02
#define PALETTE_CR 0x03
//===========================================================================
// ANALOG IMAGE COPY GURAD MODE
//===========================================================================
#define APS_TYPE_OFF 0x00
#define APS_TYPE_1 0x01
#define APS_TYPE_2 0x02
#define APS_TYPE_3 0x03
//===========================================================================
// FREEZE COUNTER STATE
//===========================================================================
#define FREEZE_ONCE 0x00
#define FREEZE_PLURAL 0x01
//===========================================================================
// I-PICTURE INTERRUPT SWITCH
//===========================================================================
#define IPIC_SW_ON 0x00
#define IPIC_SW_OFF 0x01
//===========================================================================
// FLAG for CATCH_IPIC return OK or not
//===========================================================================
#define IPIC_RET_ON 0x00
#define IPIC_RET_OFF 0x01
//***************************************************************************
// S T R U C T U R E D E F I N I T I O N S
//***************************************************************************
//===========================================================================
// AUDIO_MODE structure
//===========================================================================
/*
AUDIO_MODE_STRUC STRUC
dwATYPE dd ?
dwAFS dd ?
dwAQUANT dd ?
dwACOPY dd ?
dwACHANNEL dd ?
AUDIO_MODE_STRUC ENDS
*/
#define AUDIO_TYPE_AC3 0x01
#define AUDIO_TYPE_MPEG_F1 0x02
#define AUDIO_TYPE_MPEG_F2 0x03
#define AUDIO_TYPE_PCM 0x04
#define AUDIO_FS_32 0x01
#define AUDIO_FS_44 0x02
#define AUDIO_FS_48 0x03
#define AUDIO_FS_96 0x04
#define AUDIO_QUANT_16 0x01
#define AUDIO_QUANT_20 0x02
#define AUDIO_QUANT_24 0x03
#define AUDIO_CGMS_03 0x03 // No Copying is permitted.
#define AUDIO_CGMS_02 0x02 // One generation of copies may be made
#define AUDIO_CGMS_00 0x00 // Copying is permitted without restriction
//===========================================================================
// PLAY_MODE structure
//===========================================================================
/*
PLAY_MODE_STRUC STRUC
dwPLAYTYPE dd ?
dwPLAYFlags dd ?
PLAY_MODE_STRUC ENDS
*/
#define PLAY_MODE_NORMAL 0x01
#define PLAY_MODE_FAST 0x02
#define PLAY_MODE_SLOW 0x03
#define PLAY_MODE_FREEZE 0x04
#define PLAY_MODE_STILL 0x05
#define FAST_ONLYI 0x01
#define FAST_IANDP 0x02
//===========================================================================
// SUBP_HLITE structure
//===========================================================================
/*
SUBP_HLITE_STRUC STRUC
dwHLITE_TYPE dd ?
dwHLITE_Y dw ?
dwHLITE_H dw ?
dwHLITE_X dw ?
dwHLITE_W dw ?
dwHLITE_COLOR dd ?
SUBP_HLITE_STRUC ENDS
*/
#define SUBPIC_HLITE_ON 0x00
#define SUBPIC_HLITE_OFF 0x01
//===========================================================================
// VBUFF_SIZE structure
//===========================================================================
/*
VBUFF_SIZE_STRUC STRUC
dwVBUFF_WHOLE dd ?
dwVBUFF_STD dd ?
VBUFF_SIZE_STRUC ENDS
*/
//===========================================================================
// VDVD_VER structure
//===========================================================================
/*
VDVD_VER_STRUC STRUC
bVER_MAJOR db ?
bVER_MINOR db ?
VDVD_VER_STRUC ENDS
*/
//===========================================================================
// DISPLAY_MODE structure
//===========================================================================
/*
DISPLAY_MODE_STRUC STRUC
dwDISP_MODE dd ?
dwASPECT_RATIO dd ?
DISPLAY_MODE_STRUC ENDS
*/
#define DISPLAY_MODE_NTSC 0x01
#define DISPLAY_MODE_PAL 0x02
#define ASPECT_04_03 0x00
#define ASPECT_16_09 0x01
//===========================================================================
// OSD_CHAR structure
//===========================================================================
/*
OSD_CHAR_STRUC STRUC
dwCHAR_CODE dd ?
dwOSD_LINE dd ?
dwOSD_COLUM dd ?
dwOSD_FLAGS dd ?
OSD_CHAR_STRUC ENDS
*/