diff options
Diffstat (limited to 'src/kernel/graphics')
-rw-r--r-- | src/kernel/graphics/vesa.c | 8 | ||||
-rw-r--r-- | src/kernel/graphics/vesa.h | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/kernel/graphics/vesa.c b/src/kernel/graphics/vesa.c index 8347c56..858ed95 100644 --- a/src/kernel/graphics/vesa.c +++ b/src/kernel/graphics/vesa.c @@ -167,7 +167,7 @@ void set_optimal_resolution() { switch_to_vga(); } else vga_log("Mode detection succeeded", 11); - timer_wait(500); + // timer_wait(500); vbe_set_mode(highest); @@ -287,6 +287,8 @@ void vesa_draw_char(char ch) { } else if (ch == '\n') { terminal_x = 0; terminal_y += font_height + 2; + } else if (ch == '\t') { + terminal_x += 4 * (font_width + 2); } if (terminal_x >= vbe_width) { @@ -309,7 +311,7 @@ void vesa_keyboard_char(char ch) { } else if (ch == '\n') { vesa_draw_char(ch); exec_command(text); - memory_set(text, 0, sizeof(text)); + memset(text, 0, sizeof(text)); // terminal_scroll(); } else if (ch >= ' ') { vesa_draw_char(ch); @@ -322,7 +324,7 @@ void vesa_keyboard_char(char ch) { terminal_color); } -void vesa_draw_string(char *data) { +void vesa_draw_string(const char *data) { int i = 0; while (data[i] != '\0') { vesa_draw_char(data[i]); diff --git a/src/kernel/graphics/vesa.h b/src/kernel/graphics/vesa.h index 649c6ee..3fcef24 100644 --- a/src/kernel/graphics/vesa.h +++ b/src/kernel/graphics/vesa.h @@ -129,6 +129,12 @@ void vesa_clear(); void vesa_set_font(int height); /** + * Draws a single char + * @param ch The char + */ +void vesa_draw_char(char ch); + +/** * Draw a char from keyboard * @param ch The character */ @@ -138,7 +144,7 @@ void vesa_keyboard_char(char ch); * Draw a string in VESA mode * @param data The string */ -void vesa_draw_string(char *data); +void vesa_draw_string(const char *data); /** * Draw a number in VESA mode |