0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052 #ifndef _SISUSB_STRUCT_H_
0053 #define _SISUSB_STRUCT_H_
0054
0055 struct SiS_St {
0056 unsigned char St_ModeID;
0057 unsigned short St_ModeFlag;
0058 unsigned char St_StTableIndex;
0059 unsigned char St_CRT2CRTC;
0060 unsigned char St_ResInfo;
0061 unsigned char VB_StTVFlickerIndex;
0062 unsigned char VB_StTVEdgeIndex;
0063 unsigned char VB_StTVYFilterIndex;
0064 unsigned char St_PDC;
0065 };
0066
0067 struct SiS_StandTable {
0068 unsigned char CRT_COLS;
0069 unsigned char ROWS;
0070 unsigned char CHAR_HEIGHT;
0071 unsigned short CRT_LEN;
0072 unsigned char SR[4];
0073 unsigned char MISC;
0074 unsigned char CRTC[0x19];
0075 unsigned char ATTR[0x14];
0076 unsigned char GRC[9];
0077 };
0078
0079 struct SiS_StResInfo_S {
0080 unsigned short HTotal;
0081 unsigned short VTotal;
0082 };
0083
0084 struct SiS_Ext {
0085 unsigned char Ext_ModeID;
0086 unsigned short Ext_ModeFlag;
0087 unsigned short Ext_VESAID;
0088 unsigned char Ext_RESINFO;
0089 unsigned char VB_ExtTVFlickerIndex;
0090 unsigned char VB_ExtTVEdgeIndex;
0091 unsigned char VB_ExtTVYFilterIndex;
0092 unsigned char VB_ExtTVYFilterIndexROM661;
0093 unsigned char REFindex;
0094 char ROMMODEIDX661;
0095 };
0096
0097 struct SiS_Ext2 {
0098 unsigned short Ext_InfoFlag;
0099 unsigned char Ext_CRT1CRTC;
0100 unsigned char Ext_CRTVCLK;
0101 unsigned char Ext_CRT2CRTC;
0102 unsigned char Ext_CRT2CRTC_NS;
0103 unsigned char ModeID;
0104 unsigned short XRes;
0105 unsigned short YRes;
0106 unsigned char Ext_PDC;
0107 unsigned char Ext_FakeCRT2CRTC;
0108 unsigned char Ext_FakeCRT2Clk;
0109 };
0110
0111 struct SiS_CRT1Table {
0112 unsigned char CR[17];
0113 };
0114
0115 struct SiS_VCLKData {
0116 unsigned char SR2B, SR2C;
0117 unsigned short CLOCK;
0118 };
0119
0120 struct SiS_ModeResInfo {
0121 unsigned short HTotal;
0122 unsigned short VTotal;
0123 unsigned char XChar;
0124 unsigned char YChar;
0125 };
0126
0127 struct SiS_Private {
0128 void *sisusb;
0129
0130 unsigned long IOAddress;
0131
0132 unsigned long SiS_P3c4;
0133 unsigned long SiS_P3d4;
0134 unsigned long SiS_P3c0;
0135 unsigned long SiS_P3ce;
0136 unsigned long SiS_P3c2;
0137 unsigned long SiS_P3ca;
0138 unsigned long SiS_P3c6;
0139 unsigned long SiS_P3c7;
0140 unsigned long SiS_P3c8;
0141 unsigned long SiS_P3c9;
0142 unsigned long SiS_P3cb;
0143 unsigned long SiS_P3cc;
0144 unsigned long SiS_P3cd;
0145 unsigned long SiS_P3da;
0146 unsigned long SiS_Part1Port;
0147
0148 unsigned char SiS_MyCR63;
0149 unsigned short SiS_CRT1Mode;
0150 unsigned short SiS_ModeType;
0151 unsigned short SiS_SetFlag;
0152
0153 const struct SiS_StandTable *SiS_StandTable;
0154 const struct SiS_St *SiS_SModeIDTable;
0155 const struct SiS_Ext *SiS_EModeIDTable;
0156 const struct SiS_Ext2 *SiS_RefIndex;
0157 const struct SiS_CRT1Table *SiS_CRT1Table;
0158 const struct SiS_VCLKData *SiS_VCLKData;
0159 const struct SiS_ModeResInfo *SiS_ModeResInfo;
0160 };
0161
0162 #endif