#virtual-machine #retro #building #running #bytecode #image #messagepack

bin+lib bakervm

A virtual machine for building and running retro games

18 releases (5 breaking)

Uses old Rust 2015

0.9.0 Jun 23, 2017
0.8.2 Jun 15, 2017
0.7.6 Jun 13, 2017
0.6.2 Jun 2, 2017
0.4.0 May 17, 2017

#31 in #retro

21 downloads per month

MIT license

100KB
2K SLoC

bakerVM Crates.io Build Status Docs.rs

A virtual machine for building and running retro games

The logo of the bakerVM

Introduction

The bakerVM is a virtual machine that executes bakerVM bytecode.

A builder-like compiler backend for the vm can be found in definitions/image_builder.rs.

The executable images of the vm are encoded and decoded using MessagePack

NOTE THAT THIS SOFTWARE IS STILL UNDER HEAVY DEVELOPMENT AND IN NO WAY STABLE OR COMPLETE.

A screenshot of the bakerVM

Installation

Install sdl2

On Ubuntu:

sudo apt install libsdl2-dev

On macOS:

brew install sdl2

The toolchain doesn't support Windows yet

Install the toolchain

To get the newest version of the bakerVM toolchain, first you have to install Rust. The Project is currently tracking stable Rust. After you installed Rust and Cargo correctly, install the toolchain using the following command:

cargo install bakervm

If you already installed an older version you have to force the installation:

cargo install bakervm -f

After the installation, you should have the following binaries installed: bakervm and hudson.

hudson is the bakervm toolkit. It is currently only able to compile *.basm files.

hudson compile --basm path/to/main.basm

bakervm is the VM itself. On startup it loads the stock image by default. But you can specify any bakerVM image:

bakervm path/to/my/image/game.img

Dependencies

~35MB
~551K SLoC