From e20c143ebd96f11ecf69520869579baabd5801d9 Mon Sep 17 00:00:00 2001 From: Nathan Cannon Date: Fri, 20 Oct 2017 14:47:56 +0100 Subject: [PATCH] Added base VGA Colour and Size. --- kernel.nim | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/kernel.nim b/kernel.nim index e69de29..26a6afb 100644 --- a/kernel.nim +++ b/kernel.nim @@ -0,0 +1,28 @@ +type + VGA_Colour {.pure.} = enum + black = 0, + blue = 1, + green = 2, + cyan = 3, + red = 4, + magenta = 5, + brown = 6, + lightGrey = 7, + darkGrey = 8, + lightBlue = 9, + lightGreen = 10, + lightCyan = 11, + lightRed = 12, + lightMagenta = 13, + lightBrown = 14, + white = 15 + +proc vga_entry_colour(fg: VGA_Colour, bg: VGA_Colour): uint8 = + result = uint8(ord(fg) or (ord(bg) shl 4)) + +proc vga_entry(c: char, colour: uint8): uint16 = + result = uint8(c) or (colour shl 8) + +const + vgaWidth = 80 + vgaHeight = 25