examples | ||
src | ||
vrcasm | ||
.gitignore | ||
LICENSE.txt | ||
Makefile | ||
README.md |
vurce
vurce (viba's useless rudimentary computing environment) is a 16-bit stack-based virtual machine. one inspiration for it was another 16-bit stack machine, Uxn (by which I mean the way I/O works was basically stolen from Uxn). its goals include:
- satisfy my unhealthy obsession with VMs
- be almost stupidly simple
for documentation on the machine and its assembly language, see the webpage.
vurce is a work in progress. some I/O devices are not yet implemented, and the existing ones are subject to change.
how to the software
to build the vurce emulator, run make
. this will create two programs: vurce
is the standard emulator with all the devices, while vurcec
is intended to run CLI programs and will run the program's reset vector once before exiting.
vrcasm/vrcasm.lua
is an assembler written in Lua 5.3. to assemble a file, do lua vrcasm.lua [inputFile] [outputFile]
([outputFile]
will be out.vurce
if unspecified).
examples/
contains a few simple test programs along with their source code:
mouse.vurce
: displays a very terrible looking mouse cursor.prime.vurce
: a CLI program which outputs prime numbers.rect.vurce
: draws a bouncing rectangle which cycles through all possible colors.type.vurce
: display characters typed on the keyboard. currently does not support backspace or draw a text cursor, so suffer.