|
miniOS
x86_64 hobby kernel with SMP, VFS, and POSIX process model
|

Go to the source code of this file.
Macros | |
| #define | TEXT_STATIC 0 |
| #define | TEXT_BLINKING 1 |
| #define | TEXT_BLACK 0 |
| #define | TEXT_BLUE 1 |
| #define | TEXT_GREEN 2 |
| #define | TEXT_CYAN 3 |
| #define | TEXT_RED 4 |
| #define | TEXT_MAGENTA 5 |
| #define | TEXT_BROWN 6 |
| #define | TEXT_LIGHT_GRAY 7 |
| #define | TEXT_DARK_GRAY 8 |
| #define | TEXT_LIGHT_BLUE 9 |
| #define | TEXT_LIGHT_GREEN 10 |
| #define | TEXT_LIGHT_CYAN 11 |
| #define | TEXT_LIGHT_RED 12 |
| #define | TEXT_LIGHT_MAGENTA 13 |
| #define | TEXT_YELLOW 14 |
| #define | TEXT_WHITE 15 |
| #define | TEXT_ATTR(textcolor, bgcolor, blinking) |
| #define | DEFAULT_TEXT_ATTR (TEXT_ATTR(TEXT_LIGHT_GRAY, TEXT_BLACK, TEXT_STATIC)) |
| #define | SCREEN_ROWS 25 |
| #define | SCREEN_COLS 80 |
| #define | VGA_CURSOR_PORT_IDX 0x3D4 |
| #define | VGA_CURSOR_PORT_DATA 0x3D5 |
| #define | VGA_CUR_START_REG 0x0A |
| #define | VGA_CUR_HIGH_REG 0x0E |
| #define | VGA_CUR_LOW_REG 0x0F |
| #define | VGA_CUR_DISABLE (1 << 5) |
| #define | VGA_CUR_END_REG 0x0B |
| #define | VGA_CUR_START_LINE 14 |
| #define | VGA_CUR_END_LINE 15 |
| #define | COM1_PORT 0x3F8 |
| #define | COM_LSR_OFFSET 5 |
| #define | COM_LSR_THRE 0x20 |
Functions | |
| void | console_init (void) |
| Sets cursor position to (0,0), initialises the 16550 UART at COM1_PORT (0x3F8) to 9600 baud 8N1, clears the VGA framebuffer using vt_init(), and enables the hardware cursor. Called once at boot before any printk output. | |
| void | console_clear (void) |
| Fills all 80x25 cells with DEFAULT_TEXT_ATTR space characters and calls vt_clear() to reset the VT parser state and hardware cursor. | |
| void | console_putchar (char c) |
| Handles newline, carriage return, backspace, and scrolling via the VT core. | |
| void | console_puts (char *s) |
| Iterates over @s until the null terminator, calling console_putchar() for each character. | |
| void | console_show_cursor (void) |
| Writes scanline range VGA_CUR_START_LINE..VGA_CUR_END_LINE to CRT registers 0x0A and 0x0B, making an underline cursor visible at the current position. | |
| void | console_hide_cursor (void) |
| Sets VGA_CUR_DISABLE (bit 5) in CRT register 0x0A, making the hardware cursor invisible. Used when the terminal is in an intermediate state. | |