]> 4ch.mooo.com Git - 16.git/blob - 16/sauce/vgautils.h
77d164219eedf172747a09daa2efeb411abc4c7a
[16.git] / 16 / sauce / vgautils.h
1 #ifndef vgautils_h
2 #define vgautils_h
3
4 #define MODE13 0x13
5 #define TEXT 0x03
6 #define SCREEN_WIDTH 320
7 #define SCREEN_HEIGHT 200
8
9 #define COLOR_MASK 0x3c6
10 #define COLOR_REGISTER_RD 0x3c7
11 #define COLOR_REGISTER_WR 0x3c8
12 #define COLOR_DATA 0x3c9
13 #define VGACARD 0xA0000000
14 #define ROMCHRS 0xF000FA6E
15
16 #include<conio.h>
17 #include<stdlib.h>
18 #include<stdio.h>
19 #include<dos.h>
20 #include<math.h>
21
22 typedef struct rgbcolor_typ
23    {
24    unsigned char red;
25    unsigned char green;
26    unsigned char blue;
27    }rgbcolor, *rgbcolor_ptr;
28
29 typedef struct rgb_palette_typ
30    {
31    int start_reg; //starting register to save
32    int end_reg; // last register to save
33    rgbcolor colors[256]; // palette storage
34    }rgb_palette, *rgb_palette_ptr;
35
36 void setvgamode(int mode);
37 void write_rgbcolor_reg(int index, rgbcolor_ptr color);
38 rgbcolor_ptr read_rgbcolor_reg(int index, rgbcolor_ptr color);
39 void read_palette(int start_reg,int end_reg,rgb_palette_ptr pal);
40 void write_palette(int start_reg,int end_reg, rgb_palette_ptr pal);
41 void putchr(char out, int color,  unsigned char far* dest);
42
43 /***** syncvr() ***********************************
44 *  inline funtction that waits for verticle retrace
45 ***************************************************/
46 #define syncvr() while(inp(0x3da) & 0x08);while(!(inp(0x3da) & 0x08));
47
48 #endif