summaryrefslogtreecommitdiff
path: root/src/vga.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vga.h')
-rw-r--r--src/vga.h50
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