Skip to content

cowboy8625/MaslOS

 
 

Repository files navigation

MaslOS

an OS written in C++ and a bit of C. 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)
  • Audio
    • PC Speaker
      • "MIDI" Playback (WIP but exists)
      • 1 bit raw audio playback (WIP but works)
    • (In planning) Audio Device Driver of some sorts
  • 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)
  • Memory
    • Dynamic Memory Management
    • (In planning) Paging
  • OTHER IO
    • PIT
    • AHCI
    • ACPI
    • PCI
  • 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
    • 2 Crash Commands!
    • BF Interpreter
    • MAAB Interpreter
    • Experimental .o runner (Still majorly WIP)
    • KernelFiles
    • Auto Disk Stuff Detection

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

The MaslOS Splashscreen Doom Port The Desktop with some windows open Experimental Raytracer Demo Explorer Gif Notepad Gif Image Viewer Pong running on real hardware MAAB Interpreter The Desktop Playing around with the Terminals A lot of windows Old Pong Gif FS Test The Crash Window The Panic screen

Importing Windows Files Importing C# Project

More Images

Releases

No releases published

Packages

No packages published

Languages

  • C++ 85.9%
  • C 13.3%
  • Shell 0.5%
  • Makefile 0.3%
  • NSIS 0.0%
  • Assembly 0.0%