]> git.dujemihanovic.xyz Git - nameless-os.git/blobdiff - kernel/kernel.c
More features in VGA driver
[nameless-os.git] / kernel / kernel.c
index 1e27a1b3ddcfdf0df9100505ae096dbe3a30cea0..7b6d3543c39066879672e1b44acfc357b8a9f2d9 100644 (file)
@@ -1,16 +1,39 @@
 #include <tty.h>
+#include <io.h>
+#include <stdint.h>
 
 const char *string = "Hello there!\n\n\
 Hopefully your machine manages to print this text.\n\
 If it did, that's great news because I managed to write a partial VGA driver.\n\n\
 Right now, the short-term roadmap is as follows:\n\n\
+* Complete the text-mode part of the VGA driver.\n\
 * Enable interrupts using the PIC.\n\
 * Write a driver for the Intel 8042 PS/2 controller so the OS can receive keystrokes.\n\
-* A working i8042 driver will also aid in enabling A20 Gate, which should be done ASAP so the OS can address odd (as in odd/even number) megabytes.\n\n\
+* Once all that is done, it would be desirable to start the switch to userspace so the OS can actually be remotely usable.\n\n\
 Feel free to mess around with the code, although I doubt it will be very interesting at the moment.\n";
 
 void _start(void)
 {
        screen_clear();
-       kprint(string);
+       /*kprint(string, 0x07);*/
+       kprint("Color 0x01\n", VGA_COLOR_BLUE);
+       kprint("Color 0x02\n", VGA_COLOR_GREEN);
+       kprint("Color 0x03\n", VGA_COLOR_TEAL);
+       kprint("Color 0x04\n", VGA_COLOR_DARK_RED);
+       kprint("Color 0x05\n", VGA_COLOR_MAGENTA);
+       kprint("Color 0x06\n", VGA_COLOR_BROWN);
+       kprint("Color 0x07\n", VGA_COLOR_LIGHT_GRAY);
+       kprint("Color 0x08\n", VGA_COLOR_DARK_GRAY);
+       kprint("Color 0x09\n", VGA_COLOR_PURPLE);
+       kprint("Color 0x0A\n", VGA_COLOR_LIME);
+       kprint("Color 0x0B\n", VGA_COLOR_CYAN);
+       kprint("Color 0x0C\n", VGA_COLOR_BRIGHT_RED);
+       kprint("Color 0x0D\n", VGA_COLOR_PINK);
+       kprint("Color 0x0E\n", VGA_COLOR_YELLOW);
+       kprint("Color 0x0F\n", VGA_COLOR_WHITE);
+       kprintb(0xAE);
+       kprint("\n", 0);
+       kprintw(0xDEAD);
+       kprint("\n", 0);
+       kprintd(0x89ABCDEF);
 }