/* SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef VGA_H #define VGA_H #define VGA_FB 0xB8000 #define VGA_FB_SIZE 0x4000 /* char + attr = word sized so 0x8000 / 2 */ #define VGA_COLUMNS 80 #define VGA_LINES 25 #define VGA_TEXT_HORIZONTAL_TOP 0 #define VGA_TEXT_HORIZONTAL_MIDDLE (VGA_LINES / 2) enum VGA_TEXT_ALIGNMENT { VGA_TEXT_LEFT, VGA_TEXT_CENTER, VGA_TEXT_RIGHT, }; void vga_io_init(void); void vga_textmode_init(void); void vga_cursor_enable(int enable); void vga_cursor_reset(void); void vga_cursor_set(unsigned int line, unsigned int character); void vga_frame_set(unsigned int line, unsigned int character); void vga_line_write(unsigned int line, const char *string); /* * vga_write_text() writes a line of text aligned left/center/right * horizontally on the screen (i.e. enum VGA_TEXT_ALIGNMENT) */ void vga_write_text(enum VGA_TEXT_ALIGNMENT alignment, unsigned int line, const unsigned char *ustring); #endif /* VGA_H */