DEV Community

Cover image for Merry Virtual Machine
Aryan Chauhan
Aryan Chauhan

Posted on

Merry Virtual Machine

Overview

Merry is an attempt at reimagining computation exploration- a result of 2 years of architectural refinement. It is a powerful virtual machine designed to support multiple computation models, custom memory systems, and privilege-based control — all inside a unified, extensible architecture.


What is Merry?

Merry VM is an experimental, multi-model virtual machine — built from scratch to explore how computation can be simulated across diverse architectures.

Unlike traditional VMs that stick to one paradigm (e.g., stack-based or register-based), Merry allows multiple computation models to co-exist and collaborate within a single runtime.

Each model is represented as a virtual core (vcore), and every vcore can:

  • Run its own instruction set
  • Access its own or shared memory
  • Follow strict or relaxed privilege rules

Merry is not "yet another toy VM". It is an ongoing attempt to rethink what VMs can be — for learning, experimenting, and exploring systems programming in a deeply customizable way.


Core Concepts (Implemented or Planned)

Feature Description
✅ Multi-architecture Support Stack-based, Register-based, Hybrid — all via separate vcores
✅ Unified File Format Modular format that adapts to new core types
⚙️ Multi-State Execution Simulates context switching between different execution states
⚙️ MRS (Multi-RAM System) Supports Public, Private, and Shared RAM blocks
⚙️ Privilege Model Fine-grained access control per vcore
⚙️ Wild Request Handling Interrupt-like system for async core signaling
🚧 Subsystems User-defined architectures running alongside the core VM

Status

❗ This project is in early preview.

Testing is limited. Windows support is untested. No standard tooling or GUI yet.

This project at its current stage is for those interested in:

  • Low-level VM design
  • Systems simulation
  • Watching a weird and powerful idea evolve

Preview Build

Check out the latest preview release here.

Please take the warning seriously.


Current feature

  • Versatile and flexible architecture
  • Multi core support
  • 64-bit GPC(General Purpose Core) support
  • BEB(Broadly Emitted Binary) v1.0 input file format
  • Switchable Multi State(SMS) implemented that mimics context switching in real life Operating systems.
  • Privilege system for extra protection.
  • Paged memory system
  • Separated memory for data and instructions for every core type.
  • Core-Graves Interface(CGI) ready for other core types.
  • Wild handlers and wild requests support that mimics interrupt handling in real life systems.
  • Core-core behavior updation via Graves requests.
  • Overseer of the System- Graves.
  • Read On Demand(ROD) for fast binary loading.
  • System level abstraction to hide low level complexity
  • Multi core type support.

Features being worked on/Features in mind

  • Switchable Multi RAM(SMRAM) support
  • Multi RAM type support
  • Efficient memory usage
  • Efficient error handling
  • Remember to Execute Me(REM) stack support for lazy Manager request execution.
  • Debugger Support.
  • Multiple core types to be introduced
  • Subsystem support
  • Basic system level operation support.
  • Multi processing support

Many more still to come.....


Discussions & Feedback

Want to ask questions or offer feedback?

Check out the GitHub Discussions page — I’d love to hear your thoughts or ideas.


Support This Project

I'm a full-time student in Nepal working on Merry alone, during nights and weekends. If you believe in the vision of accessible, open, and deep systems experimentation — your support keeps this alive.

Platform Link
❤️ Patreon Aryan Chauhan

Even a small tip or share means a lot. Thank you!


Give It a Star

If you found this project interesting, helpful, or just plain weird — leave a ⭐ on the repo to show support!


Top comments (5)

Collapse
 
nathan_tarbert profile image
Nathan Tarbert •

this is extremely impressive, especially coming from a solo dev while still juggling school nights. you think more students should really try building things this ambitious or is it just a certain kind of obsession

Collapse
 
megrajchauhan profile image
Aryan Chauhan •

It is just my obsession with tech actually 😅

Collapse
 
pauljlucas profile image
Paul J. Lucas •

The links generate a 404.

Collapse
 
megrajchauhan profile image
Aryan Chauhan •

Sorry about that! Let me check

Collapse
 
megrajchauhan profile image
Aryan Chauhan •

Sorry for the inconvenience. I fixed the issue, it seems the links weren't fully copied.