Felisp
84436a5ae0
http://my.svgalib.org/svgalib/svgalib-1.9.25.tar.gz http://my.svgalib.org/svgalib/
95 lines
2.5 KiB
C
95 lines
2.5 KiB
C
/*
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
#ifndef _VBE_H
|
|
#define _VBE_H
|
|
|
|
/* structures for vbe 2.0 */
|
|
|
|
struct vbe_info_block {
|
|
char vbe_signature[4];
|
|
short vbe_version;
|
|
unsigned short oem_string_off;
|
|
unsigned short oem_string_seg;
|
|
int capabilities;
|
|
unsigned short video_mode_list_off;
|
|
unsigned short video_mode_list_seg;
|
|
short total_memory;
|
|
short oem_software_rev;
|
|
unsigned short oem_vendor_name_off;
|
|
unsigned short oem_vendor_name_seg;
|
|
unsigned short oem_product_name_off;
|
|
unsigned short oem_product_name_seg;
|
|
unsigned short oem_product_rev_off;
|
|
unsigned short oem_product_rev_seg;
|
|
char reserved[222];
|
|
char oem_data[256];
|
|
} __attribute__ ((packed));
|
|
|
|
#define VBE_ATTR_MODE_SUPPORTED (1 << 0)
|
|
#define VBE_ATTR_TTY (1 << 2)
|
|
#define VBE_ATTR_COLOR (1 << 3)
|
|
#define VBE_ATTR_GRAPHICS (1 << 4)
|
|
#define VBE_ATTR_NOT_VGA (1 << 5)
|
|
#define VBE_ATTR_NOT_WINDOWED (1 << 6)
|
|
#define VBE_ATTR_LINEAR (1 << 7)
|
|
|
|
#define VBE_WIN_RELOCATABLE (1 << 0)
|
|
#define VBE_WIN_READABLE (1 << 1)
|
|
#define VBE_WIN_WRITEABLE (1 << 2)
|
|
|
|
#define VBE_MODEL_TEXT 0
|
|
#define VBE_MODEL_CGA 1
|
|
#define VBE_MODEL_HERCULES 2
|
|
#define VBE_MODEL_PLANAR 3
|
|
#define VBE_MODEL_PACKED 4
|
|
#define VBE_MODEL_256 5
|
|
#define VBE_MODEL_RGB 6
|
|
#define VBE_MODEL_YUV 7
|
|
|
|
struct vbe_mode_info_block {
|
|
unsigned short mode_attributes;
|
|
unsigned char win_a_attributes;
|
|
unsigned char win_b_attributes;
|
|
unsigned short win_granularity;
|
|
unsigned short win_size;
|
|
unsigned short win_a_segment;
|
|
unsigned short win_b_segment;
|
|
unsigned short win_func_ptr_off;
|
|
unsigned short win_func_ptr_seg;
|
|
unsigned short bytes_per_scanline;
|
|
unsigned short x_resolution;
|
|
unsigned short y_resolution;
|
|
unsigned char x_char_size;
|
|
unsigned char y_char_size;
|
|
unsigned char number_of_planes;
|
|
unsigned char bits_per_pixel;
|
|
unsigned char number_of_banks;
|
|
unsigned char memory_model;
|
|
unsigned char bank_size;
|
|
unsigned char number_of_image_pages;
|
|
unsigned char res1;
|
|
unsigned char red_mask_size;
|
|
unsigned char red_field_position;
|
|
unsigned char green_mask_size;
|
|
unsigned char green_field_position;
|
|
unsigned char blue_mask_size;
|
|
unsigned char blue_field_position;
|
|
unsigned char rsvd_mask_size;
|
|
unsigned char rsvd_field_position;
|
|
unsigned char direct_color_mode_info;
|
|
unsigned int phys_base_ptr;
|
|
unsigned int offscreen_mem_offset;
|
|
unsigned short offscreen_mem_size;
|
|
unsigned char res2[206];
|
|
} __attribute__ ((packed));
|
|
|
|
struct vbe_palette_entry {
|
|
unsigned char blue;
|
|
unsigned char green;
|
|
unsigned char red;
|
|
unsigned char align;
|
|
} __attribute__ ((packed));
|
|
|
|
#endif
|