The major goal of this project is to recreate some of the functionality from a DOS-like operating system.
- BIOS boot
- Basic memory initialization
- PS2 keyboard support (scan code conversion)
- VGA 40/80 column text mode console
- Commands (programs)
- cd
- pwd
- ls
- mkdir
- rm
- cp
- clear (C-L)
- man
- vi
- ed
For contributing fork this repository and then make your changes in the form of Pull Requests to the main repository
- make
- qemu (specifically
qemu-system-x86) on debian based systems you can install this with the apt package manager - gcc
- nasm
- clang-format
- WSL (Windows only)
- just run
makein the root directory of the project
- run
make qemuin the root directory of the project
- run
make formatin the root directory of the project to format the code according to the formatter in .clang-format
boot and immediately drop to a prompt. programs can be executed from the prompt. send signals by keyboard to do ✨stuff✨.
- When you run
makeand you get an error along the lines of/usr/bin/ld: cannot find crt1.o: No such file or directoryyou likely only have the gcc for your current architecture that is 64bit. You need the 32bit support files. For that you can install them on debian based machines withsudo apt install gcc-multilib