mruby in the 8-bit world: mruby VM for Zilog Z80
summary
Runs mruby bytecode on a Z80 by implementing a custom VM (repo: codeberg/yugigo/mruby-z) and boots directly from a Sega Master System cartridge. Uses mruby/mrbc for compilation, Z88DK toolchain, and targets a 3.5 MHz CPU with ~8 KB RAM and 256×192 video. Supports integer arithmetic, while loops, greater-than and equality, read-only arrays, frozen strings, and callable functions; no floats, GC, classes or exceptions yet. Live presentation and a small shooter demo execute successfully on the hardware.
AI-written summary · about
chapters (10)
- 0:00Introduction and demo
- 1:51What is mruby bytecode
- 5:02What is Z80 and its limits
- 14:59Why build a custom VM
- 17:49Features and limitations
- 20:15Development challenges
- 23:50Minimal VM implementation
- 24:35Future plans for the VM
- 25:41Lessons learned and summary
- 26:45Closing and game demo
related talks
24mRuby in the 8 Bit World - A Small mruby VM for the Zilog Z80
27mMegaruby - mruby/c on Sega Mega Drive
26mMegaruby - mruby/c on Sega Mega Drive
39m"Developing your Dreamcast games with mruby"
36mmruby: AltRuby
40mmmm..mruby, or why yet another Ruby implementation
33mmruby/c: Running on Less Than 64KB RAM Microcontroller
36m(m)Ruby on small devices
