|
Public Member Functions |
void | clear () |
| Clear the screen,.
|
void | scroll (unsigned n) |
| Scroll the screen n lines up.
|
Address | video_base () const |
| Get the base address for the VGA memory.
|
void | video_base (Address base) |
| Set the base address of the VGA memory.
|
| Vga_console (Address base, unsigned width=80, unsigned height=25, bool light_white=false, bool use_color=false) |
| Create a new instance of a VGA console.
|
| ~Vga_console () |
| dtor.
|
int | write (char const *str, size_t len) |
| Output method.
|
int | getchar (bool blocking=true) |
| Empty implementation.
|
bool const | is_working () |
Mword | get_attributes () const |
| Console attributes.
|
Private Types |
enum | { MAX_ANSI_ESC_ARGS = 5
} |
Private Member Functions |
void | blink_cursor (unsigned x, unsigned y) |
| Set blinking screen cursor.
|
int | seq_6 (char const *str, size_t len, unsigned &pos) |
int | seq_1 (char const *, size_t, unsigned &) |
int | seq_5 (char const *, size_t, unsigned &) |
void | ansi_attrib (int a) |
void | esc_write (char const *str, size_t len, unsigned &i) |
void | ansi_esc_write (char const *str, size_t len, unsigned &i) |
void | normal_write (char const *str, size_t len, unsigned &i) |
Private Attributes |
Vga_console::VChar | packed |
| Type of a on screen character.
|
VChar * | _video_base |
Address | _crtc |
unsigned | _width |
unsigned | _height |
unsigned | _x |
unsigned | _y |
unsigned | _attribute |
int | ansi_esc_args [MAX_ANSI_ESC_ARGS] |
unsigned | num_ansi_esc_args |
void(Vga_console::* | wr )(char const *, size_t, unsigned &) |
bool const | _light_white |
bool const | _use_color |
bool | _is_working |
Classes |
struct | VChar |
| Type of a on screen character. More...
|
This console is a output only console for VGA. It implements an ANSI ESC capable output device.