ROM2KBで動く極小 mruby-L1VM を作りました! IchigoJam でも動きます。
「C言語で拡張するIchigoJam BASIC」と組み合わせて Ruby on Jam! IcihgoJam上でもこのRubyプログラムのバイナリ版、ROM容量2KBで動きました。
Ruby on Jam in ROM2KB! with bas2bin for 3KB asm
a = 100 sum = 0 while a > 0 sum += a a -= 1 end sum
sum.rb として保存したRubyファイル。mruby-2.0.1 のコンパイラ、mrbc を使って、mrbファイルを作って、mruby-L1VMへセットすればOK。(localvariableは不要なので、 --remove-lv オプションを付けて軽量化しておきましょう)
make mrb by mrbc (mruby 2.0.1), and set to mruby-L1VM.
mrbc --remove-lv sum.rb
とっても短いので、VMやコンパイラ学習用にもオススメ! メモリはすべてスタック管理なので組込の長時間運用にも向いてます。
I recommend you to learn about the VM and the compiler. No dynamic alloctations.
src on GitHub
「mruby-L1VM: mruby VM implementation in 2KB ROM」
人気のかわくだりゲームのRuby版はVM的には動作OK! IchigoJamと接続トライしてみます。
"Kawakudari (Rafting game)" famous game on IchigoJam also works it. I'll try to connect to IchigoJam.
cls; x=15 while true lc x,5; print "O" lc rnd(32),23; print "*" wait 3 k=inkey() x=x-(k==28?1:0)+(k==29?1:0) if scr(x,5)!=32 break end end
まったさん、スタンドアローン型Rubyの第一バージョン公開!
Mr. Matta publish the Ruby on Jam standalone edition!
- IchigoJam機で動く Ruby 、Lチカ成功! – about yrm
links
- Ruby on Jam! IchigoJamで動くROM8KBのミニ Ruby VM と、mruby ver2.0対応はじめのいっぽ - mmruby for LPC1114