diff --git a/README.md b/README.md index 2af8b99..89d11f9 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,8 @@ _These images may be outdated, Idk_ - If you run kernel.bin from shell, it will clear the memory map so when you load anything it will override the kernel code - fillCircle() in graphics.h is broken. No idea why, so no filled circles for you (i commented out the boundaryFill call in the function) - convertColor() doesn't work right, because i should be using floating point, but -mgeneral-regs-only doesn't let me :( +- Keyboard handler is kinda bad :/ +- Not really an issue, bit QEMU's PIT is really slow and inacurate ## [Old Version](https://github.com/Tom-on64/old-kern) diff --git a/docs/fileStructure.txt b/docs/fileStructure.txt new file mode 100644 index 0000000..8871f7a --- /dev/null +++ b/docs/fileStructure.txt @@ -0,0 +1,12 @@ +=== Project Structure === + +Root contains the Makefile that is used to build kern and some documents. +It also contains these directories: + src/ - The source code of kern + include/ - C header files that can be included by the OS. include/c/ can be used by any programs, but other headers shall only be included in the kernel + build/ - This directory is created by the Makefile and contains intermediary built obj file and binaries + other/ - Things that are not nescessarly part of the OS + docs/ - Some basic documentation. Mostly for me so that i don't forget stuff + +After running the Makefile and succesfully building the OS a 'kern.iso' file will be created in the root directory + diff --git a/include/c/time.h b/include/c/time.h index d7a9d7b..8d8fa83 100644 --- a/include/c/time.h +++ b/include/c/time.h @@ -4,6 +4,7 @@ #include void sleep(uint32_t ms) { + // Call syscall 0 (eax) with 'ms' miliseconds (ebx) __asm__ volatile ("int $0x80" : : "a"(0), "b"(ms)); }