#include #include #include static psf_font_t* font; static uint32_t console_row; static uint32_t console_col; static uint32_t console_text_color; static uint32_t console_backgrnd_color; static void write_vga_char(int row, int col, char c) { uint32_t vga_pitch = vga_get_pitch(); uint8_t* glyph = (uint8_t*)font->glyphs + (c * font->hdr->charsz); for (uint32_t y = 0; y < font->hdr->charsz; y++) { uint8_t bits = glyph[y]; uint32_t* row = (uint32_t*)((uintptr_t)VGA_FRAMEBUFFER + ((console_row + y) * vga_pitch)); for (int x = 0; x < 8; x++) { if (bits & (0b10000000 >> x)) { row[console_col + x] = console_text_color; } } } } void set_console_font(const char* path) { font = load_font(path); } void set_console_fg(uint32_t color) { console_text_color = color; } void set_console_bg(uint32_t color) { console_backgrnd_color = color; } void console_init() { console_row = 0; console_col = 0; set_console_fg(0xFFFFFFFF); set_console_bg(0x00000000); } void console_putchar(char c) { }