Added support for setting up a serial port. This first serial driver appears to only work correctly in QEMU.

This commit is contained in:
2020-05-24 03:24:25 -05:00
parent cf88cb98fb
commit b409b3e9d2
11 changed files with 113 additions and 27 deletions
+5 -2
View File
@@ -62,11 +62,12 @@ void draw_rect(int start_x, int start_y, int end_x, int end_y, unsigned char fg,
}
}
void draw_s(char* string, unsigned char fg, unsigned char bg)
void draw_string(char* string, unsigned char fg, unsigned char bg)
{
unsigned short *video_buffer = 0x000B8000;
int attr = ((bg << 4) | (fg & 0x0F));
for(int i = 0; i < strlen(string); i++)
int length = strlen(string);
for(int i = 0; i < length; i++)
{
unsigned char current_char = string[i];
unsigned short *where = (unsigned short *) video_buffer + (cursor_y * 80) + i + cursor_x;
@@ -78,6 +79,8 @@ void draw_s(char* string, unsigned char fg, unsigned char bg)
*where = string[i] | attr << 8;
}
cursor_x = cursor_x + length + 1;
}
void set_cursor(unsigned char x, unsigned char y){