ひとまず画面出力のみ接続して、いろいろ試験中です。
mruby-L1VM、クラス対応した level 2(?) でも2.5KBで実装できました!(mruby VM level 1 in 2KB)
LPC1114 IchigoJam OSが24KB、BASICプログラムの保存領域の余り3KBにmruby VMと、IchigoJam OS用のマシン語コードが収まっています。
4KBごとの書き換えに対応しているLPC1114、OSの後ろ、sector6だけ書き換えられたら速くて、OSを用意する必要もなく便利そう。
お世話になっている、lpc21ispというオープンソースな書き込みツールに、-sector オプションを追加して、プルリクも送ってみました。
「taisukef/lpc21isp: lpc21isp - Portable command line ISP for Philips LPC family and Analog Devices ADUC70xx」
(おまけに、うちの環境ではうまく動かない -control 用に、-controlwithoutwait オプションも追加)
バイナリデータにした軽量mrubyVM「mruby.bin」を sector6 に書き込み、IchigoJam で、LOAD0、RUNで、かわくだりゲームっぽいものを見ることができます。(カーソルがまだ効きません)
また、こちらのRubyのコード、mruby2.0.1のmrbcでコンパイルし、
cls lc 5,10 print "Hello Ruby on Jam!"
bin2basでPOKE文に変換
10 POKE#700,82,73,84,69,48,48,48,54,51,70,0,0,0,133,77,65,84,90,48,48,48,48,73,82,69,80,0,0,0,103,48,48 20 POKE#720,48,50,0,0,0,182,0,1,0,5,0,0,0,0,0,29,16,1,46,1,0,0,16,1,11,2,3,3,10,46,1,1 30 POKE#740,2,16,1,79,2,0,46,1,2,1,55,1,103,0,0,0,1,0,0,18,72,101,108,108,111,32,82,117,98,121,32,111 40 POKE#760,110,32,74,97,109,33,0,0,0,3,0,3,99,108,115,0,0,2,108,99,0,0,5,112,114,105,110,116,0,69,78,68 50 POKE#780,0,0,0,0,8
これをUSBシリアル経由でIchigoJamへ書き込み、RUNすると、画面にでます!
Let's play with Ruby on Jam!