aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2021-02-03 15:58:34 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2021-02-03 15:58:34 +0200
commitca8ea6f6abe9826ab6817b2c37ff78bb9758360d (patch)
tree5c707d465996a52cc681503a11510a35218054f1
parentPrint some multiboot2 information (diff)
downloadkernel.cpp-ca8ea6f6abe9826ab6817b2c37ff78bb9758360d.tar.xz
Update readme with required packages
-rw-r--r--kernel.cc1
-rw-r--r--readme.md40
-rw-r--r--vga.cc4
-rw-r--r--vga.h3
4 files changed, 32 insertions, 16 deletions
diff --git a/kernel.cc b/kernel.cc
index ffc7180..b2e2b01 100644
--- a/kernel.cc
+++ b/kernel.cc
@@ -17,7 +17,6 @@ extern "C" void kernel_main(uint32_t mb_magic, uint32_t mb_addr) {
VGA terminal;
Console::set(&terminal);
- terminal.set_color(VGA::VGA_COLOR_CYAN, VGA::VGA_COLOR_BROWN);
printk("Hello, kernel World!\n");
printk("multiboot magic: 0x", mb_magic,
diff --git a/readme.md b/readme.md
index 2bf96a1..5f6a1ad 100644
--- a/readme.md
+++ b/readme.md
@@ -1,14 +1,30 @@
## Compiling
-- gnu make
-- llvm/clang (llvm-ar, clang++, ld.lld)
-- nasm
-- grub
-- qemu
-
-## running
-- make run
-- requires multiboot2-compliant bootloader
-
-## foreign sources
-multiboot2.h | https://git.savannah.gnu.org/git/grub.git
+### Required tools
+
+build tools | arch package
+------------|--------------
+ GNU make | make
+ nasm | nasm
+ clang++ | clang
+ llvm-ar | llvm
+ ld.lld | lld
+
+grub tools | arch package
+---------------|--------------
+ grub-mkrescue | grub
+ mformat | mtools
+
+GRUB can potentially be replaced by any multiboot2-compliant bootloader.
+
+## Running
+
+i386 emulator | arch package
+------------------|--------------
+ qemu | qemu
+ qemu-system-i386 | qemu-arch-extra
+
+## Credits / foreign sources
+- osdev wiki
+- [multiboot2.h](https://git.savannah.gnu.org/git/grub.git)
+
diff --git a/vga.cc b/vga.cc
index b4c9673..a696d77 100644
--- a/vga.cc
+++ b/vga.cc
@@ -9,8 +9,8 @@ constexpr uint16_t vga_entry(unsigned char uc, uint8_t color) {
return (uint16_t)uc | (uint16_t)color << 8;
}
-VGA::VGA(uint32_t address) {
- color = vga_entry_color(VGA_COLOR_LIGHT_GREY, VGA_COLOR_BROWN);
+VGA::VGA(vga_color fg, vga_color bg, uint32_t address) {
+ color = vga_entry_color(fg, bg);
buffer = (uint16_t *)address;
// clear buffer
diff --git a/vga.h b/vga.h
index a3274c4..f6fbbef 100644
--- a/vga.h
+++ b/vga.h
@@ -23,7 +23,8 @@ public:
VGA_COLOR_WHITE = 15,
};
- VGA(uint32_t address = 0xB8000);
+ VGA(vga_color fg = VGA_COLOR_BLACK, vga_color bg = VGA_COLOR_LIGHT_GREY,
+ uint32_t address = 0xB8000);
~VGA() = default;
void put_char(char c, size_t x, size_t y, uint8_t color = 0);