While Quinix is very much a work in progress, nevertheless progress has been made. So far there’s
a virtual machine (with interactive debugger), an assembler, a compiler, and a minimal runtime
including a simple list-based memory allocator.
The Quinix virtual machine and interactive debugger.
There’s also a minimal VS Code extension
implementing syntax highlighting for both the assembly language and the higher-level language.
Syntax highlighting in VS Code for QASM – the Quinix assembly language.
QLL – the Quinix low-level higher-level language.
In the interest of actually publishing something I’ve decided to continue development
of Quinix “in public”, so to speak. So follow along!
With output taken care of, one naturally turns to input.
But first, let’s take a closer look at our output peripheral, and our approach to
peripherals generally, to understand how well it will support asynchronous behaviour
With an assembler in hand we can write reasonable programs
for our virtual machine. Fun! But sadly, our programs are stuck inside of our machine,
unable to do much in the way of output (and even less in the way of input). Let’s fix that!