Ruby on NES - how to make the smallest ruby ever
summary
A tiny Ruby runs on the NES: an mruby bytecode interpreter built in cc65 that omits GC, Array, and String but runs a 70-line game on an emulator (Mesen/Optcarrot). It loads .mrb blobs as a global C array for mrb, executes register-based mruby bytecode with a big switch VM, and implements game calls via SSEND top-level APIs. Symbols use a hashed table plus built-in Symbols; plan is reference-counting GC though memory limits (2 KB RAM → ~300 bullets worst-case) remain the main constraint.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 2:59Why the Famicom
- 6:41Ruby implementations on NES
- 10:35Implementation strategy
- 15:41VM instruction processing
- 18:00Demo: RubyCatcher game
- 19:40Symbol class internals
- 24:19Future plans for NESRuby
- 28:48Closing and demo
related talks
24mRuby in the 8 Bit World - A Small mruby VM for the Zilog Z80
27mMegaruby - mruby/c on Sega Mega Drive
41mCoding like it’s 1977: Ruby on the Apple ][
26mMegaruby - mruby/c on Sega Mega Drive
36mmruby: AltRuby
36m(m)Ruby on small devices
33mmruby/c: Running on Less Than 64KB RAM Microcontroller
29mWhat's happening when initializing mruby?
