35#ifndef _MINIOS_DRIVERS_CONSOLE_H_
36#define _MINIOS_DRIVERS_CONSOLE_H_
40#define TEXT_BLINKING 1
50#define TEXT_LIGHT_GRAY 7
53#define TEXT_DARK_GRAY 8
54#define TEXT_LIGHT_BLUE 9
55#define TEXT_LIGHT_GREEN 10
56#define TEXT_LIGHT_CYAN 11
57#define TEXT_LIGHT_RED 12
58#define TEXT_LIGHT_MAGENTA 13
63#define TEXT_ATTR(textcolor, bgcolor, blinking) ((blinking << 7) | (bgcolor << 4) | textcolor)
66#define DEFAULT_TEXT_ATTR (TEXT_ATTR(TEXT_LIGHT_GRAY, TEXT_BLACK, TEXT_STATIC))
77#define VGA_CURSOR_PORT_IDX 0x3D4
78#define VGA_CURSOR_PORT_DATA 0x3D5
79#define VGA_CUR_START_REG 0x0A
80#define VGA_CUR_HIGH_REG 0x0E
81#define VGA_CUR_LOW_REG 0x0F
82#define VGA_CUR_DISABLE (1 << 5)
83#define VGA_CUR_END_REG 0x0B
84#define VGA_CUR_START_LINE 14
85#define VGA_CUR_END_LINE 15
90#define COM1_PORT 0x3F8
91#define COM_LSR_OFFSET 5
92#define COM_LSR_THRE 0x20
void console_hide_cursor(void)
Sets VGA_CUR_DISABLE (bit 5) in CRT register 0x0A, making the hardware cursor invisible....
Definition console.c:35
void console_puts(char *s)
Iterates over @s until the null terminator, calling console_putchar() for each character.
Definition console.c:47
void console_clear(void)
Fills all 80x25 cells with DEFAULT_TEXT_ATTR space characters and calls vt_clear() to reset the VT pa...
Definition console.c:27
void console_putchar(char c)
Handles newline, carriage return, backspace, and scrolling via the VT core.
Definition console.c:31
void console_show_cursor(void)
Writes scanline range VGA_CUR_START_LINE..VGA_CUR_END_LINE to CRT registers 0x0A and 0x0B,...
Definition console.c:39
void console_init(void)
Sets cursor position to (0,0), initialises the 16550 UART at COM1_PORT (0x3F8) to 9600 baud 8N1,...
Definition console.c:43