A few weeks ago I started working on XVM - a custom virtual machine built entirely from scratch in Rust. Not an emulator of any real processor (not x86, not ARM) - a completely custom architecture I designed myself, in the same spirit as educational VMs like CHIP-8.
It has its own CPU with 8 registers, 33 instructions, a built-in step-by-step debugger with breakpoints, typed error handling instead of panics, and video memory with a live window you can draw pixels to directly from assembly code.
I also built a small IntelliJ/RustRover plugin that adds syntax highlighting and a custom icon for .xasm files, since I wanted the editing experience to feel like a real language.
Screenshots, full instruction list, and setup instructions are in the repos:
- XVM: https://github.com/xelvoridze/xvm
- XASM plugin: https://github.com/xelvoridze/xasm-plugin
Would love any feedback, especially on the instruction set design and error handling - this is my first real Rust project and I'm still learning a lot along the way.
Top comments (0)