#include "vb_def.h" #include "vgatypes.h" #include "vb_struct.h" #include "XGIfb.h" #include #include void XGINew_SetReg1(unsigned long, unsigned short, unsigned short); void XGINew_SetReg2(unsigned long, unsigned short, unsigned short); void XGINew_SetReg3(unsigned long, unsigned short); void XGINew_SetReg4(unsigned long, unsigned long); unsigned char XGINew_GetReg1(unsigned long, unsigned short); unsigned char XGINew_GetReg2(unsigned long); unsigned long XGINew_GetReg3(unsigned long); void XGINew_ClearDAC(unsigned char *); void XGINew_SetRegANDOR(unsigned long Port, unsigned short Index, unsigned short DataAND, unsigned short DataOR); void XGINew_SetRegOR(unsigned long Port, unsigned short Index, unsigned short DataOR); void XGINew_SetRegAND(unsigned long Port, unsigned short Index, unsigned short DataAND); /* --------------------------------------------------------------------- */ /* Function : XGINew_SetReg1 */ /* Input : */ /* Output : */ /* Description : SR CRTC GR */ /* --------------------------------------------------------------------- */ void XGINew_SetReg1(unsigned long port, unsigned short index, unsigned short data) { outb(index, port); outb(data, port + 1); } /* --------------------------------------------------------------------- */ /* Function : XGINew_SetReg2 */ /* Input : */ /* Output : */ /* Description : AR( 3C0 ) */ /* --------------------------------------------------------------------- */ /* void XGINew_SetReg2(unsigned long port, unsigned short index, unsigned short data) { InPortByte((P unsigned char)port + 0x3da - 0x3c0) ; OutPortByte(XGINew_P3c0, index); OutPortByte(XGINew_P3c0, data); OutPortByte(XGINew_P3c0, 0x20); } */ void XGINew_SetReg3(unsigned long port, unsigned short data) { outb(data, port); } void XGINew_SetReg4(unsigned long port, unsigned long data) { outl(data, port); } unsigned char XGINew_GetReg1(unsigned long port, unsigned short index) { unsigned char data; outb(index, port); data = inb(port + 1); return data; } unsigned char XGINew_GetReg2(unsigned long port) { unsigned char data; data = inb(port); return data; } unsigned long XGINew_GetReg3(unsigned long port) { unsigned long data; data = inl(port); return data; } void XGINew_SetRegANDOR(unsigned long Port, unsigned short Index, unsigned short DataAND, unsigned short DataOR) { unsigned short temp; temp = XGINew_GetReg1(Port, Index); /* XGINew_Part1Port index 02 */ temp = (temp & (DataAND)) | DataOR; XGINew_SetReg1(Port, Index, temp); } void XGINew_SetRegAND(unsigned long Port, unsigned short Index, unsigned short DataAND) { unsigned short temp; temp = XGINew_GetReg1(Port, Index); /* XGINew_Part1Port index 02 */ temp &= DataAND; XGINew_SetReg1(Port, Index, temp); } void XGINew_SetRegOR(unsigned long Port, unsigned short Index, unsigned short DataOR) { unsigned short temp; temp = XGINew_GetReg1(Port, Index); /* XGINew_Part1Port index 02 */ temp |= DataOR; XGINew_SetReg1(Port, Index, temp); } #if 0 void NewDelaySeconds(int seconds) { int i; for (i = 0; i < seconds; i++) { } } void Newdebugcode(unsigned char code) { /* OutPortByte(0x80, code); */ /* OutPortByte(0x300, code); */ /* NewDelaySeconds(0x3); */ } #endif