diff options
author | Brett Weiland <brett_weiland@bpcspace.com> | 2021-03-24 15:42:20 -0500 |
---|---|---|
committer | Brett Weiland <brett_weiland@bpcspace.com> | 2021-03-24 15:42:20 -0500 |
commit | f90c075d5061b3a89316d6bf3d5b190d49049ccd (patch) | |
tree | 36265da568b852ca5c0a8b4affe706cda80c4a9d /src/include/video.h | |
parent | 14b109ea24dc5cb1db948de57a2a44c80ef4622e (diff) |
renamed: kernel/include/acpi.h -> include/acpi.h
renamed: kernel/include/libc.h -> include/libc.h
renamed: kernel/include/paging.h -> include/paging.h
renamed: kernel/include/printf.h -> include/printf.h
renamed: kernel/include/serial.h -> include/serial.h
renamed: kernel/include/video.h -> include/video.h
new file: indigo_os
renamed: kernel/libs/acpi.c -> kernel/acpi.c
renamed: kernel/libs/drivers/serial.c -> kernel/drivers/serial.c
renamed: kernel/libs/drivers/video.c -> kernel/drivers/video.c
renamed: kernel/libs/libc.c -> kernel/libc.c
renamed: kernel/libs/page.c -> kernel/page.c
renamed: kernel/libs/printf.c -> kernel/printf.c
renamed: kernel/libs/printf.h -> kernel/printf.h
modified: makefile
Diffstat (limited to 'src/include/video.h')
-rw-r--r-- | src/include/video.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/include/video.h b/src/include/video.h new file mode 100644 index 0000000..82d3423 --- /dev/null +++ b/src/include/video.h @@ -0,0 +1,51 @@ +#include <stdint.h> +void dump_video(); + +//this struct was stolen from wiki.osdev.org +struct mode_info { + uint16_t attributes; + uint8_t window_a; + uint8_t window_b; + uint16_t granularity; + uint16_t window_size; + uint16_t segment_a; + uint16_t segment_b; + uint32_t win_func_ptr; + uint16_t pitch; + uint16_t width; + uint16_t height; + uint8_t w_char; + uint8_t y_char; + uint8_t planes; + uint8_t bpp; + uint8_t banks; + uint8_t memory_model; + uint8_t bank_size; + uint8_t image_pages; + uint8_t reserved0; + uint8_t red_mask; + uint8_t red_position; + uint8_t green_mask; + uint8_t green_position; + uint8_t blue_mask; + uint8_t blue_position; + uint8_t reserved_mask; + uint8_t reserved_position; + uint8_t direct_color_attributes; + + uint32_t framebuffer; + uint32_t off_screen_mem_off; + uint16_t off_screen_mem_size; + uint8_t reserved1[206]; +} __attribute__((packed)); + +struct vbe_infoblock { + char vbe_signature[4]; + uint16_t vbe_version; + uint16_t oem_ptr[2]; + uint8_t capabilities[4]; + uint32_t videomodeptr; + uint16_t total_memory; +} __attribute__((packed)); + +extern void *_vbe_infoblock; |