Stuff that needs to be/has been done.
Feel free to make a Pull Request if you have any improvements to the OS.
- Paging
- 4GiB identity map.
- Improve (Add map functions, allocate pages, etc.).
- Multitasking.
- Non-preemptive with no priority.
- Improve. Add priority, etc.
- Port tinylisp interpreter.
- Consistent arrow key support (
getchar
,curses.h
, etc.). - Global framebuffer cursor.
- Editable
getchar
line buffer with arrows.
- Editable
- Scrollable help (like the
less
command) if it gets too long. Use curses. - Devices (Framebuffer, disks, etc.).
-
stdin
,stdout
,stderr
.- Per process.
-
- Filesystems.
- FAT.
- Ext2.
- Load executables from disk.
- Newline support for VGA terminal.
- Scrolling support for VGA terminal (for excess lines).
- Sysroot and similar file structure to this.
- Add allocation functions and heap.
- Framebuffer support.
- Add framebuffer console array with char and color info.
- Replace vga functions (
vga.c
) with framebuffer console.
- Sleep functions (Link).
- GDT and IDT.
- Keyboard.
-
getchar
system. - Control backspace in
getchar
. - Control backspace so you can only delete what you wrote.
-
- Port ncurses lib to framebuffer console.
- Port minesweeper.
- Port 5x5.