forked from PoliEcho-holding-org/kern
MAJOR RESTRUCTURE
This commit is contained in:
@@ -0,0 +1,189 @@
|
||||
=== 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)
|
||||
|
||||
Reference in New Issue
Block a user