tty_scroll_up()
{
size_t last_line = TTY_WIDTH * (TTY_HEIGHT - 1);
- memcpy(tty_vga_buffer, tty_vga_buffer + TTY_WIDTH, last_line);
+ memcpy(tty_vga_buffer, tty_vga_buffer + TTY_WIDTH, last_line * 2);
for (size_t i = 0; i < TTY_WIDTH; i++) {
*(tty_vga_buffer + i + last_line) = tty_theme_color;
}
- tty_y = tty_y == 0 ? 0 : tty_y - 1;
+ tty_y = tty_y == 0 ? 0 : TTY_HEIGHT - 1;
}
void
}
tty_x = 0;
tty_y = 0;
+}
+
+void
+tty_clear_line(unsigned int y) {
+ for (size_t i = 0; i < TTY_WIDTH; i++)
+ {
+ *(tty_vga_buffer + i + y * TTY_WIDTH) = tty_theme_color;
+ }
+}
+
+void
+tty_set_cpos(unsigned int x, unsigned int y) {
+ tty_x = x % TTY_WIDTH;
+ tty_y = y % TTY_HEIGHT;
+}
+
+void
+tty_get_cpos(unsigned int* x, unsigned int* y) {
+ *x = tty_x;
+ *y = tty_y;
}
\ No newline at end of file