From 16b8a48d1de16a5982cf983a282832fd4ed01f85 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Wed, 25 Sep 2019 19:33:29 +0200 Subject: Started integrating vesa resolution finder --- src/kernel/graphics/vesa.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/kernel/graphics/vesa.h') diff --git a/src/kernel/graphics/vesa.h b/src/kernel/graphics/vesa.h index fb9ff54..dd67123 100644 --- a/src/kernel/graphics/vesa.h +++ b/src/kernel/graphics/vesa.h @@ -3,6 +3,21 @@ #include +typedef struct __attribute__ ((packed)) { + char signature[4]; // must be "VESA" to indicate valid VBE support + uint32_t version; // VBE version; high byte is major version, low byte is minor version + uint32_t oem; // segment:offset pointer to OEM + uint32_t capabilities; // bitfield that describes card capabilities + uint32_t video_modes; // segment:offset pointer to list of supported video modes + uint32_t video_memory; // amount of video memory in 64KB blocks + uint32_t software_rev; // software revision + uint32_t vendor; // segment:offset to card vendor string + uint32_t product_name; // segment:offset to card model name + uint32_t product_rev; // segment:offset pointer to product revision + char reserved[222]; // reserved for future expansion + char oem_data[256]; // OEM BIOSes store their strings in this area +} vbe_info; + typedef struct __attribute__ ((packed)) { uint16_t attributes; // deprecated, only bit 7 should be of interest to you, and it indicates the mode supports a linear frame buffer. uint8_t window_a; // deprecated @@ -43,6 +58,8 @@ typedef struct __attribute__ ((packed)) { vbe_mode_info *vbe_set_mode(unsigned short mode); +void set_optimal_resolution(); + typedef struct __attribute__ ((packed)) { unsigned short di, si, bp, sp, bx, dx, cx, ax; unsigned short gs, fs, es, ds, eflags; -- cgit v1.2.3