|
AquilaOS documentation
How it works, and its code
|
Virtual terminals in VGA text mode, when there is no framebuffer. More...
Go to the source code of this file.
Macros | |
| #define | VGA_ROWS 25 |
| #define | VGA_COLS 80 |
Functions | |
| static void | vga_draw (int row, int col, struct vt_cell cell) |
| Draws one cell of the screen. | |
| static void | vga_cursor (int row, int col, int visible) |
| Moves the cursor, or hides it. | |
| int | vt_vga_probe (void) |
| Says whether VGA text mode can be used. | |
Variables | |
| static uint16_t * | vga = (uint16_t *) VMA(0xB8000) |
| static struct ioaddr | crtc |
| struct vt_display | vt_vga_display |
Virtual terminals in VGA text mode, when there is no framebuffer.
The screen is 80 columns by 25 rows of cells in memory at 0xB8000, each a character and its colours. The cursor is set through the CRT controller's ports (0x3D4 and 0x3D5). The virtual terminals (vt.c) draw through vt_vga_display.
Definition in file vga.c.
|
static |
Moves the cursor, or hides it.
Definition at line 32 of file vga.c.
References crtc, io_out8(), VGA_COLS, vga_cursor(), and VGA_ROWS.
Referenced by vga_cursor().
|
static |
Draws one cell of the screen.
Definition at line 26 of file vga.c.
References vt_cell::ch, vga, VGA_COLS, vga_draw(), and vt_vga_attr().
Referenced by vga_draw().
| int vt_vga_probe | ( | void | ) |
Says whether VGA text mode can be used.
It always can, on a PC.
Definition at line 48 of file vga.c.
References vt_vga_probe().
Referenced by vt_probe(), and vt_vga_probe().
|
static |
Definition at line 20 of file vga.c.
Referenced by vga_cursor().
| struct vt_display vt_vga_display |
Definition at line 53 of file vga.c.
Referenced by vt_probe().