Awesome
Notice
Development on MaslOS has stopped and I am currently working on MaslOS 2.
MaslOS
an OS written in C++ and a bit of C. Here is a little showcase of MaslOS.
The base was made following Ponchos OS Dev Youtube Playlist
The OS is now using limine as the bootloader.
Wiki and other Pages
Here is the Masl OS Wiki.
Here's the Hackaday Page for MaslOS.
Here's the MaslOS Subreddit.
Here are the Terminal Commands.
Features
- Display
- VGA Output
- Desktop
- Background Image
- Taskbar
- Window Manager
- Working Window Manager with dynamic windows
- Start Menu Window
- GUI Framework
- With support in MAAL!
- Apps
- Terminal using a scrollable Text Window
- Connect Four Game
- Pong Game
- Mandelbrot renderer
- Explorer
- Image Viewer
- RAM/File Hex Viewer
- Notepad (Really Basic but works)
- DOOM (Port from here. Mostly works though you can only run 1 instance of DOOM at the same time and relaunching is currently broken lol)
- Music player
- Magnifier
- Paint (WIP but you can draw and stuff)
- Audio
- PC Speaker
- AC97 Driver (Works in VM)
- Custom Sound System (Which supports the AC97 Device and PC-Speaker and all devices I'll write drivers for)
- Keyboard
- PS/2 Keyboard support
- Mouse
- PS/2 Mouse support
- IO
- Disk
- Disk Interfaces
- SATA / SATAPI
- RAM Disk
- File Disk
- Partitioning Interfaces
- MRAPS (Marcels really awesome partitioning system)
- Filesystem Interfaces
- MRAFS (Marcels really awesome filesystem)
- Disk Interfaces
- Disk
- Memory
- Dynamic Memory Management
- (In planning) Paging
- OTHER IO
- PIT
- AHCI
- ACPI
- PCI
- RS232
- AC97
- PCI Serial Card
- Other Features
- Stack Trace
- Crash handling
- Crash Window showing non fatal kernel panic / crash
- Advanced Fatal General Protection Fault Handler and recoverer
- Emergency Kernel Panic
- DePaST (Debug Panic Serial Terminal)
- 4 Crash Commands!
- BF Interpreter
- MAAB Interpreter
- Experimental .o runner (Still majorly WIP)
- KernelFiles
- Auto Disk Stuff Detection
-
- Auto Disk Detection
- Auto Partition Detection
- Auto Filesystem Detection
- MRAPS/MRAFS To/From Windows FS Converter Tool
- Serial Manager (Allows "networking" with a client connected to serial) (WIP)
- Windows Client
- Custom "Serial"
- Screen sharing
- Audio sharing (TODO, Though idk how good it'll be at 10KB/S)
- Remote Mouse/Keyboard input (TODO)
- Possibly TCP/UDP Networking using the client computer as a proxy (DONE for tcp clients)
- Network Drive of Client (TODO)
How to run (Linux)
Install QEMU if you haven't.
Then download/clone the repo and run the Just RUN OS.sh
file.
How to run (Windows)
Install QEMU if you haven't.
Add QEMU To your PATH variable. If ya have trouble installing it and don't know how to set the PATH variable, click here
Then download/clone the repo and run the Just RUN OS (Windows).cmd
file.
How to build (Linux)
Install QEMU if you haven't.
install CMAKE if you haven't.
install NASM if you haven't.
(make sure mtools is on version 4.0.27 or lower. newer versions aren't working just yet)
Go into the MaslOS Folder and run the RUN.sh
file
Screenshots