Skip to content

Normboy1/MaxOS

Repository files navigation

MAXos V1

A Rust-based hobby operating system with a retro CRT terminal aesthetic, complete GUI, and multiple built-in applications. Runs on QEMU via UEFI boot.

MAXos Rust Platform

Features

  • Custom GUI with CRT/phosphor green terminal aesthetic
  • Window Manager with drag, minimize, maximize, close
  • Built-in Applications:
    • Calculator
    • Text Editor
    • Paint (with brush, eraser, shapes, fill tool)
    • Terminal (with commands: ls, cd, cat, echo, clear, help, neofetch, etc.)
    • File Explorer
    • Settings
    • Task Manager
    • Code Editor with MaxScript interpreter
    • Web Browser (simulated)
    • Media Player (simulated)
    • IRC Chat Client
  • Games: Snake, Tetris (Blocks), Pong, Breakout
  • Desktop with icons, Start Menu, system tray with clock
  • Keyboard & Mouse support with double-click detection
  • Sound via PC Speaker (click, startup, error sounds)

Quick Start

cd MAXos_V1

# Build and run in QEMU
cargo xtask run --release

Requirements

  • Rust nightly (managed via rust-toolchain.toml)
  • QEMU with UEFI support:
    • macOS: brew install qemu
    • Linux: apt install qemu-system-x86 ovmf
  • mtools for disk image creation:
    • macOS: brew install mtools
    • Linux: apt install mtools

Project Structure

MAXos_V1/
├── kernel/           # OS kernel (x86_64, no_std)
│   └── src/
│       ├── arch/     # Architecture-specific (GDT, IDT, interrupts)
│       ├── memory/   # Heap allocator, page tables
│       ├── drivers/  # Keyboard, mouse, speaker, serial
│       ├── graphics/ # UI, apps, games, window manager
│       ├── fs/       # Virtual filesystem (RAM-based)
│       ├── network/  # Network stack (loopback)
│       └── lang/     # MaxScript interpreter
├── bootloader/       # UEFI bootloader
├── runner/           # QEMU launcher
└── xtask/            # Build tasks

Controls

  • Mouse: Click to interact, drag windows by title bar
  • Keyboard: Type in focused windows
  • Double-click: Open desktop icons
  • Start Menu: Click "Start" button or press icons
  • Window buttons: Minimize (─), Maximize (□), Close (×)

Development

# Build kernel only
cargo build -p nexus-kernel --target x86_64-unknown-none --release

# Run in QEMU
cargo xtask run --release

# Format code
cargo fmt

Screenshots

The OS features a retro CRT terminal aesthetic with phosphor green colors on a dark background, complete with scanline effects and a vintage computing feel.

Author

Norman Maxey

License

MIT

About

My Own OS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors