1 // FIXME: Make these variables so we can also use modes like 800x600
10 //This is in mingw standard headers
11 //typedef struct { int quot, rem; } div_t;
13 extern int maskbit[640];
15 extern int xconv[640];
17 extern int startmasks[8];
18 extern int endmasks[8];
20 extern UCHAR PreCalcReverseByte[256];
27 #define GRAPHICS 0x3ce
32 typedef struct _VideoMode {
33 unsigned short VidSeg;
35 unsigned char Feature;
37 unsigned char Crtc[25];
39 unsigned char Attrib[21];
43 VOID vgaPutPixel(INT x, INT y, UCHAR c);
44 VOID vgaPutByte(INT x, INT y, UCHAR c);
45 VOID vgaGetByte(ULONG offset,
48 INT vgaGetPixel(INT x, INT y);
49 BOOL vgaHLine(INT x, INT y, INT len, UCHAR c);
50 BOOL vgaVLine(INT x, INT y, INT len, UCHAR c);
52 BOOL VGADDIIntersectRect(PRECTL prcDst, PRECTL prcSrc1, PRECTL prcSrc2);
54 #define SEQ_I 0x3C4 /* Sequencer Index */
55 #define SEQ_D 0x3C5 /* Sequencer Data Register */
57 #define GRA_I 0x3CE /* Graphics Controller Index */
58 #define GRA_D 0x3CF /* Graphics Controller Data Register */
60 #define LowByte(w) (*((unsigned char *)&(w) + 0))
61 #define HighByte(w) (*((unsigned char *)&(w) + 1))
63 #define ASSIGNVP4(x, y, vp) vp = vidmem /* VBUF */ + (((x) + (y)*SCREEN_X) >> 3);
64 #define ASSIGNMK4(x, y, mask) mask = 0x80 >> ((x) & 7);
66 void get_masks(int x, int w);