Files
kern/todo.txt
T
2024-10-27 10:29:46 +01:00

190 lines
4.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
- [ ] Refactoring
- [ ] Use UEFI
- [ ] Use an existing bootloader
- [x] libc - User space
- [x] libk - Kernel libc
- [x] Kernel rewrite
- [ ] Better filesystem
- [x] Makefile refactorin' (finally done!!!)
- [ ] LIBC
- [ ] assert.h
- [ ] complex.h (idk why we would need this)
- [x] ctype.h
- [x] errno.h
- [x] fcntl.h
- [x] float.h
- [x] limits.h
- [x] math.h (maybe a separate libm?) TODO: add errno errors in there
- [x] setjmp.h (this plagues my mind)
- [ ] signal.h (we would need signals first)
- [x] stdarg.h
- [x] stdbool.h
- [x] stddef.h
- [x] stdint.h
- [x] stdio.h
- [x] stdlib.h
- [x] string.h
- [x] syscall.h
- [x] time.h
- [ ] unistd.h (do we do POSIX?)
- [ ] wchar.h (we would need text support for wide chars ig?)
- [ ] wctype.h (same as above)
- [ ] sys/
- [ ] types.h (syscall types)
- [ ] gfx.h (basic graphics lib)
- [x] LIBK
- [x] drivers - everything that works with hardware
- [x] error - error handling (bigerr is not enough :( )
- [x] fs - filesystem
- [x] interrupt - handling and registering interupts
- [x] memory - memory managing (physical and virtual)
- [x] screen - everything that displays on the screen
- [x] syscall - system calls
- [x] Multistage Bootloader
- [x] Bootloader reads filesystem to find files
- [x] The almighty 'printf()'
- [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] Math
- [x] Trigonometry
- [x] Sine
- [x] Cosine
- [x] Tangent
- [x] Cotangent
- [x] Arc (inverse) versions
- [x] Hyperbolic versions
- [x] Absolute value
- [?] isOdd() 🗿
- [x] Exponential fn (e^x)
- [x] Logarithm
- [x] Power
- [x] Square Root
- [x] Floor
- [x] Round
- [x] Ceiling
- [x] Sign
- [x] INFINITY
- [x] NAN
- [x] E (eulers number)
- [x] PI
- [ ] Filesystem
- [x] Utility for filesystem building (not just an assembly file)
- [x] 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()
- [x] Read()
- [x] Open()
- [x] Close()
- [x] Malloc()
- [x] Free()
- [x] Seek()
- [ ] Tell()
- [ ] Exit()
- [ ] 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
- [x] stdout
- [ ] stderr
- [ ] User (or system) programs
- [x] Loading them
- [_] Running them
- [x] Exit back to kernel/shell
- [x] Let them use libs
- [x] Proper include files (LibC?)
- [x] argc, argv[]
- [ ] Userspace programs
- [ ] Shell
- [x] Calculator
- [ ] Calendar
- [ ] Code Editor
- [ ] Text editor
- [ ] Syntax highlighting
- [ ] Saving/Loading
- [ ] Hex editor
- [ ] Assembler/Compiler
- [ ] Assembler
- [ ] Compiler (probably C)
- [ ] Standard lib
- [ ] Finish all todos
- [ ] Refactoring!!!
- [ ] Can it run DOOM?
- [ ] Games
- [ ] Minesweeper
- [ ] Solitaire
- [ ] Tetris
- [ ] Write an OS in kern (The FINAL Todo)