From ca8ea6f6abe9826ab6817b2c37ff78bb9758360d Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Wed, 3 Feb 2021 15:58:34 +0200 Subject: Update readme with required packages --- kernel.cc | 1 - readme.md | 40 ++++++++++++++++++++++++++++------------ vga.cc | 4 ++-- vga.h | 3 ++- 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); -- cgit v1.2.1