CeDOS - Commit 9c75aa77

vga/con: Added ANSI code for storing and resetting cursor pos
Celina Sophie Kalus
Sun, 10 Dec 2023 18:55:00 +0100
1 files changed, 15 insertions(+), 0 deletions(-)
M kernel/drivers/vga_console.ckernel/drivers/vga_console.c

@@ -21,6 +21,10 @@ #define VGA_DATA_REG ((uint16_t)0x3D5)

uint32_t line = 0; uint32_t column = 0; + +uint32_t saved_line = 0; +uint32_t saved_column = 0; + uint8_t color = 0x0F; int vga_con_init(void);

@@ -166,6 +170,17 @@ color = (color & 0x0F) | ((color_compat[n - 100] + 8) << 4);

} else if (n < 106) { color = n - 90 + 8; } + state = NORMAL; + } else if (state == ESCAPE_N && c == 's') { + saved_line = line; + saved_column = column; + state = NORMAL; + } else if (state == ESCAPE_N && c == 'u') { + line = saved_line; + column = saved_column; + + saved_line = 0; + saved_column = 0; state = NORMAL; } else if (state != NORMAL) { state = NORMAL;