diff --git a/kernel32.c b/kernel32.c index 5cad07c..8ad01c5 100644 --- a/kernel32.c +++ b/kernel32.c @@ -1,6 +1,7 @@ +#include #include "types.h" -uint8_t* VMEM_ADDR = (uint8_t*)0xb8000; +uint16_t* VMEM_ADDR = (uint16_t*)0xb8000; const int TERM_WIDTH = 80; const int TERM_HEIGHT = 25; @@ -16,7 +17,7 @@ uint8_t inb(uint16_t portnumber) { return result; } -uint16_t get_cursor_position() { +uint16_t get_curpos() { uint16_t cursor_position = 0; uint8_t* cursor_position_split = (uint8_t*)&cursor_position; outb(0x3D4, 0x0F); @@ -27,7 +28,7 @@ uint16_t get_cursor_position() { } void init_term() { - uint16_t cursor_position = get_cursor_position(); + uint16_t cursor_position = get_curpos(); cursor_y = cursor_position / TERM_WIDTH; cursor_x = cursor_position % TERM_WIDTH; @@ -35,43 +36,127 @@ void init_term() { void clear_screen() { for (int i=0; i