Files
kern/todo.txt
T

161 lines
4.0 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
- [x] Bootloader reads filesystem to find files
- [x] The almighty 'printf()'
- [_] Makefile refactorin'
- [x] Write down where stuff is in memory (in notes.txt)
- [ ] "Text" mode (not actually)
- [x] Scrolling
- [ ] Scroll-back
- [x] Color codes (and just multicolor text in general)
- [x] Controll sequences!
- [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)
- [ ] Sound
- [x] Pc Speaker
- [x] Notes (in hertz)
- [ ] Sound Blaster 16
- [x] MEGALOVANIA
- [ ] 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
- [x] Utility for filesystem building (not just an assembly file)
- [_] Better header for file i/o (disk/filesys.h)
- [x] Filetable
- [x] A better filesystem using INodes etc.
- [x] Files
- [x] Larger than one sector (512B)
- [x] Any file size (Not multiples of 512B)
- [x] Filetypes
- [ ] Directories
- [x] File tree
- [x] Dir Entries
- [ ] cd command
- [ ] Links??
- [ ] Symbolic
- [ ] Hard
- [ ] System Calls
- [x] Sleep()
- [x] Write()
- [ ] Read() (temporarly gets())
- [ ] Open()
- [ ] Close()
- [x] Malloc()
- [x] Free()
- [ ] Seek()
- [ ] Shell
- [ ] Separate file/program
- [ ] ';' separated commands
- [ ] I/O Redirection with '<' '>'
- [x] Display directory in prompt
- [ ] Custom prompts
- [ ] Variables
- [ ] Enviromental/Global
- [ ] Normal
- [ ] 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
- [x] Let them use libs
- [ ] Proper include files (LibC?)
- [x] argc, argv[]
- [ ] Standalone shell program
- [ ] Userspace programs
- [x] Calculator
- [ ] Calendar
- [ ] 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
- [ ] Tetris