From 188a08c3a340005d59d497e836993cb9349c9cbe Mon Sep 17 00:00:00 2001 From: Christian Cunningham Date: Mon, 22 Aug 2022 20:54:54 -0700 Subject: Initial state --- src/vga/mod.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/vga/mod.rs (limited to 'src/vga/mod.rs') diff --git a/src/vga/mod.rs b/src/vga/mod.rs new file mode 100644 index 0000000..13dffe0 --- /dev/null +++ b/src/vga/mod.rs @@ -0,0 +1,33 @@ +mod buffer; +pub use buffer::*; + +#[allow(dead_code)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[repr(u8)] +pub enum Color { + Black = 0, + Blue = 1, + Green = 2, + Cyan = 3, + Red = 4, + Magenta = 5, + Brown = 6, + LightGray = 7, + DarkGray = 8, + LightBlue = 9, + LightGreen = 10, + LightCyan = 11, + LightRed = 12, + Pink = 13, + Yellow = 14, + White = 15, +} +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[repr(transparent)] +struct ColorCode(u8); + +impl ColorCode { + const fn new(foreground: Color, background: Color) -> ColorCode { + ColorCode((background as u8) << 4 | (foreground as u8)) + } +} -- cgit v1.2.1