blob: de9ec750600ac09ae89ac1ae4e2fdc90f7b7bb4c [file] [log] [blame]
#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