Skip to content

Latest commit

 

History

History
68 lines (57 loc) · 2.86 KB

README.md

File metadata and controls

68 lines (57 loc) · 2.86 KB

GitHub Repo stars GitHub forks GitHub Contributors License Issues Pull Requests Downloads


NovaOS

🌟 About NovaOS

NovaOS is a x86 protected mode operating system made in C and x86 Assembly by ArTic/JhoPro. It has a lot of features, including a GUI and a shell! This project is being actively developed as a personal journey to dive deeper into the world of operating systems. As such, NovaOS is constantly evolving, with new features and improvements being added over time. It’s a work in progress, but every update pushes the boundaries of what’s possible in this ambitious endeavor.

✨ Showcase Video

NovaOS.GUI.mp4
NovaOS.Shell.mp4

⚠️ Important

NovaOS will only work on QEMU, so it can have more easily and readable operations and functions.

🛠️ Current Progress

  • VBE Support (800x600 8bpp)
  • Global Descriptor Table (GDT)
  • Entering Protected Mode
  • Fonts and Print Functions
  • Interrupts (IDT, ISR, IRQ)
  • Keyboard Driver
  • Mouse Driver
  • Memory Management
  • File System
  • Shell
  • Graphical Interface (GUI)
  • ELF Loader
  • Task State Segment (TSS)
  • Network Driver
  • Audio Driver
  • FAT32 Support
  • OpenGL-like API
  • Integrated Development Environment (IDE)
  • C/C++ Compiler
  • Processes
  • Multitasking
  • Installation Setup
  • Web Browser
  • User Documentation

⚙️ Building

🧰 Necessary Components

i686 elf gcc and nasm

📄 Compiling

Run the make.bat script for windows (Not included bash)

🚀 Running

use qemu-img create -f raw disk.raw 256M and then qemu-system-x86_64 -device sb16 -net nic,model=rtl8139 -net user -drive file=NovaOS.img,format=raw,if=ide,index=0 -drive file=disk.raw,format=raw,if=ide,index=2

🤝 Contribute

NovaOS is an Open Source project, so everyone can contibute for it! You can help me starring/forking this project or help with code using pull requests (and optimize more!)