blob: de9ec750600ac09ae89ac1ae4e2fdc90f7b7bb4c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
#ifndef __VGA_H
#define __VGA_H
// Standard structure definitions for vgabios video tables
#include "types.h" // u8
// standard BIOS Video Parameter Table
struct video_param_s {
u8 twidth;
u8 theightm1;
u8 cheight;
u16 slength;
u8 sequ_regs[4];
u8 miscreg;
u8 crtc_regs[25];
u8 actl_regs[20];
u8 grdc_regs[9];
} PACKED;
// Standard Video Save Pointer Table
struct video_save_pointer_s {
struct segoff_s videoparam;
struct segoff_s paramdynamicsave;
struct segoff_s textcharset;
struct segoff_s graphcharset;
struct segoff_s secsavepointer;
u8 reserved[8];
} PACKED;
// Data returned by int101B
struct video_func_static {
u32 modes;
u8 reserved_0x04[3];
u8 scanlines;
u8 cblocks;
u8 active_cblocks;
u16 misc_flags;
u8 reserved_0x0c[2];
u8 save_flags;
u8 reserved_0x0f;
} PACKED;
struct video_func_info {
struct segoff_s static_functionality;
u8 bda_0x49[30];
u8 bda_0x84[3];
u8 dcc_index;
u8 dcc_alt;
u16 colors;
u8 pages;
u8 scan_lines;
u8 primary_char;
u8 secondar_char;
u8 misc;
u8 non_vga_mode;
u8 reserved_2f[2];
u8 video_mem;
u8 save_flags;
u8 disp_info;
u8 reserved_34[12];
} PACKED;
#endif // vga.h
|