This is a copy of the original RSM website, as it was Feb 14–Sep 20, 2022


rsm is a virtual computer, a fun hobby project with an accompanying video diary.

Project on GitHub
Initial conversation on twitter
Related tweets

Try RSM online in the playground

Project goals:

  1. learn, have fun -- simplicity
  2. substrate, a thing to make other thing on
  3. longevity -- I want to be able to run a (multimedia) program in 10+ years

Episode 1

Feb 14, 2022: Kicking things off. Motivations, goals, initial take on ISA design. MP4 transcript

Episode 2

Feb 15, 2022: Part two in which I mostly struggle with getting the sign bit "to stick" on instruction arguments. Also covers a simple code formatter. MP4 transcript

Episode 3

Feb 15, 2022: Signed integer hurdles from part 2 solved. Review changes, talk about and do some code organization. MP4 transcript

Episode 4

Feb 16, 2022: Building the beginning of the VM evaluator and looking at three different strategies for instruction handler dispatch. MP4 transcript

This was a live stream where I had some technical difficulties with crashing streaming software which also failed to store videos locally, so apologies for the quality — I had to download the low-quality live videos from youtube and cut them together. You can find the full live streams here in two segments: segment 1, segment 2

Episode 5

Feb 17, 2022: VM is alive! We look at how the factorial function is evaluated by the vm and talk about the future challenge of constant data addressing. MP4 transcript

Episode 6

Feb 18, 2022: Getting started with the assembler: parsing RSM assembly source text. MP4 transcript

Episode 7

Feb 18, 2022: Summarizing the implementation of the assembly parser. MP4 transcript

I did a long live stream when writing the parser:

Episode 8

Feb 19, 2022: The assembly parser now fully parses the factorial example function! I discuss the latest syntax and how function bodies are now strictly block-based. MP4 transcript

Episode 9

Feb 20, 2022: Wrap up the hack week and check out the now complete virtual machine! We can compile and run arbitrary programs, within the constraints of the current features of course. MP4 transcript

Videos are also available as a YouTube playlist.