aboutsummaryrefslogtreecommitdiff
path: root/src/vga.h
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2021-02-11 16:17:53 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2021-02-11 21:33:21 +0200
commit9a299f2fe91554a1b9d9db402391ae757c591ef8 (patch)
tree2ec839c869316804954e6b09220140346874aa8d /src/vga.h
parentGenerate target dependency files (diff)
downloadkernel.cpp-9a299f2fe91554a1b9d9db402391ae757c591ef8.tar.xz
Add comments to explain CGA ports better
Diffstat (limited to 'src/vga.h')
-rw-r--r--src/vga.h59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/vga.h b/src/vga.h
deleted file mode 100644
index 7a8c755..0000000
--- a/src/vga.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#pragma once
-#include <stdlib.h>
-#include "ports.h"
-
-class VGA : public Console {
-public:
- /* Hardware text mode color constants. */
- enum vga_color : uint8_t {
- VGA_COLOR_BLACK = 0,
- VGA_COLOR_BLUE = 1,
- VGA_COLOR_GREEN = 2,
- VGA_COLOR_CYAN = 3,
- VGA_COLOR_RED = 4,
- VGA_COLOR_MAGENTA = 5,
- VGA_COLOR_BROWN = 6,
- VGA_COLOR_LIGHT_GREY = 7,
- VGA_COLOR_DARK_GREY = 8,
- VGA_COLOR_LIGHT_BLUE = 9,
- VGA_COLOR_LIGHT_GREEN = 10,
- VGA_COLOR_LIGHT_CYAN = 11,
- VGA_COLOR_LIGHT_RED = 12,
- VGA_COLOR_LIGHT_MAGENTA = 13,
- VGA_COLOR_LIGHT_BROWN = 14,
- VGA_COLOR_WHITE = 15,
- };
-
- VGA(vga_color fg = VGA_COLOR_BLACK, vga_color bg = VGA_COLOR_LIGHT_GREY, uint32_t address = 0xB8000);
- ~VGA() = default;
-
- void set_color(vga_color fg, vga_color bg);
-
- void enable_cursor(uint8_t start, uint8_t end);
- void disable_cursor();
- void update_cursor() override;
-
- void write(char c) override;
- void write(ViewIterator& iter) override;
-
-
- struct Entry {
- char c;
- vga_color fg : 4;
- vga_color bg : 4;
- } __attribute((packed));
-
-private:
- const size_t max_columns = 80, max_rows = 25;
- size_t column = 0, row = 0;
-
- vga_color color_fg;
- vga_color color_bg;
-
- Entry* buffer;
-
- // ports
- vga_horizontal_total p_3d4;
- vga_horizontal_display_enable_end p_3d5;
-};
-