Files
kern/todo.txt
T
Tom-on e728571393 Finished Virtual Memory Manager!!! Paging etc. now works perfectly*
*i have no idea if it works right, but it doesn't seem to be broken
2024-05-23 20:53:15 +02:00

144 lines
3.5 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
=== Todo ===
Legend:
- [ ] Not done
- [x] Done
- [_] Was done at some point, but isn't now
- [!] Important todo
- [?] Optional
- [x] Multistage Bootloader
- [ ] Bootloader reads filetable to find files
- [ ] The almighty 'printf()'
- [!] Makefile refactorin'
- [x] Write down where stuff is in memory (in notes.txt)
- [ ] "Text" mode (not actually)
- [x] Scrolling
- [ ] Scroll-back
- [ ] Color codes (and just multicolor text in general)
- [x] VESA BIOS Extensions
- [x] Better resolution
- [x] Graphics mode
- [x] Custom font
- [_] Larger text size
- [ ] Variable text size :)
- [x] Make output overflow go to next line
- [x] More fonts
- [x] Generic screen.h stuff (don't assume 1920x1080 32bpp)
- [x] Multi vbe mode support
- [x] Setup on boot
- [ ] Different font size support
- [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
- [x] Interrupts
- [x] IDT Setup (idt.h)
- [x] Exception handling
- [x] Hardware/software interrupts
- [x] Syscalls! (int 0x80)
- [x] IRQ 0 - PIT
- [x] IRQ 1 - Keyboard
- [x] IRQ 8 - CMOS Real time clock
- [?] Other IRQs (idk which ones)
- [ ] 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
- [ ] Floating point macros/functions
- [ ] 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
- [x] Sleep()
- [x] Print() - Temporary for printing before we get Write(stdout) :)
- [ ] Write()
- [ ] Read()
- [ ] Open()
- [ ] Close()
- [ ] Malloc()
- [ ] Free()
- [ ] Seek()
- [ ] Shell
- [ ] Separate file/program
- [ ] ';' 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
- [x] Memory manager
- [x] Memory map
- [x] Print mem map
- [x] Physical
- [x] Virtual
- [x] 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!!!
- [ ] Can it run DOOM?
- [ ] Games
- [ ] Minesweeper
- [ ] Solitaire