diff options
Diffstat (limited to 'src/vga.h')
-rw-r--r-- | src/vga.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/vga.h b/src/vga.h new file mode 100644 index 0000000..50cf1e6 --- /dev/null +++ b/src/vga.h @@ -0,0 +1,50 @@ + +#ifndef __VGA_H +#define __VGA_H + +#include <stddef.h> +#include <stdint.h> + +enum vga_color { + vga_black, + vga_blue, + vga_green, + vga_cyan, + vga_red, + vga_magenta, + vga_brown, + vga_lgray, + vga_dgray, + vga_lblue, + vga_lgreen, + vga_lcyan, + vga_lred, + vga_lmagenta, + vga_lbrown, + vga_white +}; + +uint8_t vga_color(enum vga_color fg, enum vga_color bg); +uint16_t vga_entry(unsigned char uc, uint8_t color); + +static const size_t VGA_WIDTH = 80; +static const size_t VGA_HEIGHT = 25; + +size_t terminal_row; +size_t terminal_column; +uint8_t terminal_color; +uint16_t* terminal_buffer; + +void vclear(void); + +void vsetcolor(uint8_t color); + +void vsetchar(char c, uint8_t color, size_t x, size_t y); + +void vputchar(char c); + +void vprint(const char* str); + +void vlocate(size_t column, size_t row); + +#endif |