summaryrefslogtreecommitdiff
path: root/src/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/main.c59
1 files changed, 2 insertions, 57 deletions
diff --git a/src/kernel/main.c b/src/kernel/main.c
index c1c6ab6..4e9a580 100644
--- a/src/kernel/main.c
+++ b/src/kernel/main.c
@@ -1,23 +1,11 @@
__asm__(".code16gcc\n");
-void vga_graphics_write_at_offset(char, short);
-void vga_graphics_write(char);
-void vga_graphics_write_with_attr(char, char);
-void vga_graphics_write_str(char*);
+#include "../output/vga_character.h"
-void vga_graphics_byte_hex(char);
-//void vga_graphics_short_hex(short);
-//void vga_graphics_int_hex(int);
-//void vga_graphics_long_hex(long);
-
-void clear();
-
-static short CURSOR_LOC = 0;
-static char* HEX_CHARS = "0123456789abcdef";
char foo[] = "hello how are you";
void _start() {
- clear();
+ vga_graphics_clear();
vga_graphics_write_with_attr('a', 1);
vga_graphics_write_with_attr('/', 2);
vga_graphics_write_with_attr('b', 3);
@@ -27,46 +15,3 @@ void _start() {
vga_graphics_byte_hex(0x40);
while(1) { }
}
-
-void clear() {
- int TERM_WIDTH = 80;
- int TERM_HEIGHT = 25;
-
- int i = 0;
- while(i < TERM_WIDTH * TERM_HEIGHT) {
- vga_graphics_write_with_attr(' ', 7);
- i++;
- }
- CURSOR_LOC = 0;
-}
-
-void vga_graphics_write_str(char* str) {
- while(*str) {
- vga_graphics_write_with_attr(*str++, 7);
- }
-}
-
-void vga_graphics_write_with_attr(char value, char attr) {
- vga_graphics_write_at_offset(value, CURSOR_LOC++);
- vga_graphics_write_at_offset(attr, CURSOR_LOC++);
-}
-
-void vga_graphics_write(char value) {
- vga_graphics_write_at_offset(value, CURSOR_LOC);
- CURSOR_LOC += 2;
-}
-
-void vga_graphics_byte_hex(char value) {
- char low = value & 0x0f;
- char high = (value & 0xf0) >> 4;
- vga_graphics_write(HEX_CHARS[high]);
- vga_graphics_write(HEX_CHARS[low]);
-}
-
-void vga_graphics_write_at_offset(char value, short offset) {
- __asm__(
- "mov %0, %%al \n"
- "mov %1, %%di \n"
- "mov %%al, %%gs:(%%di) \n"
- : :"r"(value), "r"(offset) : "%ax", "%di");
-}