=== Todo ===

- [x] Multistage Bootloader
- [ ] Bootloader reads filetable to find files
- [ ] Makefile refactorin'
- [x] Write down where stuff is in memory 
- [ ] "Text" mode (not actually)
    - [ ] Scrolling
    - [ ] Scroll-back
    - [ ] Color codes (and just multicolor text in general)
    - [x] VESA BIOS Extensions
    - [x] Better resolution
    - [x] Graphics mode
    - [x] Custom font
    - [x] Larger text size
    - [ ] Variable text size :)
    - [ ] Make output overflow go to next line
- [x] 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
    - [x] Floor
    - [x] Round
    - [x] Ceiling
    - [x] Sign
    - [ ] INFINITY
    - [ ] NAN
    - [x] E (eulers number)
    - [x] PI
- [ ] Filesystem
    - [ ] Utility for filesystem building (not just an assembly file)
    - [x] Filetable
    - [ ] Files
        - [x] 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
        - [x] echo
        - [x] clear
        - [x] help
        - [x] ls
        - [x] exit
        - [ ] touch (make file)
        - [ ] rm
        - [ ] mkdir (add dirs first)
        - [x] reboot
        - [ ] cd
- [ ] Standard I/O stuff
    - [ ] stdin
    - [ ] stdout
    - [ ] stderr
    - [ ] printf
- [ ] Memory manager
    - [ ] Physical
    - [ ] Virtual
    - [ ] Paging
- [ ] User (or system) programs
    - [x] Loading them
    - [x] Running them
    - [x] Exit back to kernel/shell
    - [ ] Let them use libs
    - [ ] Proper include files (LibC?)
    - [ ] 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!!!

