miniOS
x86_64 hobby kernel with SMP, VFS, and POSIX process model
Loading...
Searching...
No Matches
console.h File Reference
This graph shows which files directly or indirectly include this file:

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.