Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

100 lines
2.4 KiB

/*
* vidcio.h
*
* 32-bit Video Capture driver
*
* chip register access functions for Bravado card
*
* Geraint Davies, Feb 93
*/
/* port addresses within PCVideo chip - offset from port base
* - set index then read or write data
*/
#define PCV_INDEX 0
#define PCV_DATA 1
/* some popular register addresses within the PCVideo chip */
#define REG_PORT 0
#define REG_FBUF 6
#define REG_INTERRUPT 9
#define REG_PLLLOW 0x12
#define REG_PLLHIGH 0x13
#define REG_I2C 0x18
#define REG_ACQMODE 0x20
#define REG_ACQCTL 0x21
#define REG_ACQX1LO 0x22
#define REG_ACQX1HI 0x23
#define REG_ACQY1LO 0x24
#define REG_ACQY1HI 0x25
#define REG_ACQX2LO 0x26
#define REG_ACQX2HI 0x27
#define REG_ACQY2LO 0x28
#define REG_ACQY2HI 0x29
#define REG_SCALEX 0x2d
#define REG_SCALEY 0x2e
#define REG_SCALEODDY 0x2f
#define REG_DISPCTL 0x40
#define REG_DISPX1LO 0x41
#define REG_DISPX1HI 0x42
#define REG_DISPY1LO 0x43
#define REG_DISPY1HI 0x44
#define REG_DISPX2LO 0x45
#define REG_DISPX2HI 0x46
#define REG_DISPY2LO 0x47
#define REG_DISPY2HI 0x48
#define REG_PANXLO 0x49
#define REG_PANYLO 0x4a
#define REG_PANHI 0x4b
#define REG_SHIFTCLK 0x4c
#define REG_DISPZOOM 0x4d
#define REG_COLOUR 0x4e
#define REG_ENABLE 0xFF
/* I2C bus addresses of chips */
#define ADDR_9051 0x8a
#define ADDR_4680 0x88
/*
* write a byte to a given register on the I2C bus (used for 9051, 4680 access)
*/
VOID HW_SetI2CReg(PDEVICE_INFO pDevInfo, BYTE bI2cMAD, BYTE bI2cSAD, BYTE bData);
/*
* set a register on the 9051 signal digitiser chip that controls signal
* capture
*/
VOID HW_Set9051Reg(PDEVICE_INFO pDevInfo, BYTE bRegister, BYTE bData);
/* get back the value of a 9051 register */
BYTE HW_Get9051Reg(PDEVICE_INFO pDevInfo, BYTE bRegister);
/*
* set a register on the 4680 chip that controls overlay display
*/
VOID HW_Set4680Reg(PDEVICE_INFO pDevInfo, BYTE bRegister, BYTE bData);
/* get back the value of a 4680 register */
BYTE HW_Get4680Reg(PDEVICE_INFO pDevInfo, BYTE bRegister);
/*
* set a register on the main PCVideo chip
*/
VOID HW_SetPCVideoReg(PDEVICE_INFO pDevInfo, BYTE bRegister, BYTE bData);
/* get back the value of a PCVideo register */
BYTE HW_GetPCVideoReg(PDEVICE_INFO pDevInfo, BYTE bRegister);
/* for use at interrupt-time only */
/* the context arg points to one of these structs */
typedef struct _SYNC_REG_ARG {
PDEVICE_INFO pDevInfo;
BYTE bRegister;
BYTE bData;
} SYNC_REG_ARG, *PSYNC_REG_ARG;
BOOLEAN HW_SetPCVideoReg_Sync(PSYNC_REG_ARG);