=== Todo === - [*] Multistage Bootloader - [ ] Bootloader reads filetable to find files - [ ] Makefile refactorin' - [ ] Write down where stuff is in memory (0x1000 - kernel, 0x4000? - filetable, 0x5000 - VBE Mode Info, 0x6000 - Font) - [ ] "Text" mode (not actually) - [ ] Scrolling - [ ] Scroll-back - [ ] Color codes (and just multicolor text in general) - [*] VESA BIOS Extensions - [*] Better resolution - [*] Graphics mode - [*] Custom font - [*] Larger text size - [ ] Variable text size :) - [ ] Make output overflow go to next line - [ ] Graphics - [ ] Enter/exit a "graphics" mode (idk if we need this) - [x] Pixel drawing - [x] Line drawing (Raycaster Alert??) - [x] Triangles (3D?!!???) - [x] Rectange :) - [x] Circle! - [x] Filled verisons - [ ] Math - [ ] Trigonometry - [ ] Sine - [ ] Cosine - [ ] Tangent - [ ] Cotangent - [ ] Arc (inverse) versions - [ ] Hyperbolic versions - [x] Absolute value - [ ] isOdd() 🗿 - [ ] Exponential fn (e^x) - [ ] Logarithm - [ ] Power - [ ] Square Root - [ ] Nth Root - [ ] Floor - [x] Round - [ ] Ceiling - [x] Sign - [ ] INFINITY - [ ] NAN - [ ] Filesystem - [ ] Utility for filesystem building (not just an assembly file) - [*] Filetable - [ ] Files - [*] Larger than one sector (512B) - [ ] Any file size (Not multiples of 512B) - [ ] Filetypes - [ ] Directories - [ ] File tree - [ ] cd command - [ ] Links?? - [ ] Symbolic - [ ] Hard - [ ] System Calls - [ ] Write() - [ ] Read() - [ ] Open() - [ ] Close() - [ ] Malloc() - [ ] Free() - [ ] Shell - [ ] ';' separated commands - [ ] I/O Redirection with '<' '>' - [ ] Commands - [*] echo - [*] clear - [*] help - [*] ls - [*] exit - [ ] touch (make file) - [ ] rm - [ ] mkdir (add dirs first) - [*] reboot - [ ] cd - [ ] Standard I/O stuff - [ ] stdin - [ ] stdout - [ ] stderr - [ ] printf - [ ] Virtual Memory - [ ] Paging - [ ] User (or system) programs - [ ] Loading them - [ ] Running them - [ ] Exit back to kernel/shell - [ ] argc, argv[] - [ ] Standalone shell program - [ ] Code Editor - [ ] Text editor - [ ] Syntax highlighting - [ ] Saving/Loading - [ ] Hex editor - [ ] Assembler/Compiler - [ ] Assembler - [ ] Compiler (probably C) - [ ] Standard libs - [ ] Finish all todos - [ ] Refactoring!!!