kurumi game basic 「クルコン」 -...
TRANSCRIPT
デバイス仕様
• メインボード:GR-KURUMI
• グラフィック:160×128pxカラー液晶• カラーグラフィック
• 20文字×16行キャラクター(8x8ドット美咲フォントベース)
• PCG(Programable Character Generator)
•サウンド:単音(MMLにて記述可能)
•入力:6ボタン
• ストレージ:EEPROM
•電源:3Vボタン電池(CR2032)
これまでの歴史
JIG.jp福野さんのIchigoJam(プロトタイプ機)
ケンケンさんのPIC32MXのビデオ出力
電脳伝説 Vintagechipsさんの豊四季版TinyBASIC
初版:(2014年5月頃)RunnningElectronicsさんのSBDBT32で動作するビデオ出力付きBASIC機
インスパイヤ
fork
fork
これまでの歴史
初版:(2014年5月頃)RunnningElectronicsさんのSBDBT32で動作するビデオ出力付きBASIC機
KURUMI版1号機:(2014年12月頃)液晶搭載、電池での動作
移植 移植
KURUMI版2号機:(2014年12月頃)ピン配置などの見直しI2CのEEPROMの搭載
これまでの歴史
2号機Firmware第2版(2015年)NT-Shellの搭載PCG機能搭載
リファクタリング
スクラッチから書き直し
2号機Firmware第3版(2016年)フォントデータをFlash上に移すA tiny MML Parserの採用液晶の処理方法の変更
KURUMI版2号機:(2014年12月頃)ピン配置などの見直しI2CのEEPROMの搭載
細かな細工の積み重ね
• グラフィック:4ビット(16色)インデックスカラー(プログラマブル)これなら1Byteで2ドット分のデータが持てる。
•液晶へのデータ転送は1ドット12bit。3Byteで2ドット分。16bitカラーモードに比べて、書き換え速度の向上を行った。
• すなわち、4096色から任意の16色を指定して表示。「総、天、然、ショック。」
• フォントデータはFLASH上に置くことでメモリ削減。
• ボタンはもう少し増えても耐えられるマトリクス入力。
• KURUMIのEEPROM早く読み書きするとコケたから外付け化。
•奇跡的にボタン電池で動いた。
今後の課題
• WebのIDEで、Arduinoの互換ライブラリにラップした形で開発している。絶対ハードウェア直接叩いた方が早い。特に液晶へのSPIの転送はDMA使いたい。
• とは言え、RAMが枯渇してきている状況。ユーザーのプログラミング領域をどれだけ確保してあげられるか。
•基板起こした方がきっと良いですよね。
•微妙に手に入れにくくなったGR-KURUMI。
• え~っと、もうBASICでゲーム書くのとか、自分自身が無理な雰囲気が漂ってきてるんですけど…。他の環境でMycroPythonなどに移行したい。
謝辞
以下のライブラリならびにソースコードなどを利用させていただいています。
• 「豊四季TinyBASIC」電脳伝説 Vintagechipsさん
• 「Natural Tiny Shell」「A tiny MML parser」CuBeatSystemsさん
また、様々なソースコードを残してくださっている先人の皆様、ありがとうございます。
そして、IchigoJamで刺激をくれた福野さん、ありがとうございます。
And you.
ものづくり(電子工作に限らず)をしている人が、作ったことをお互いに自慢し合えるような、そんなものづくりをする人だけが集う会をやりたくて、ずっとそういう活動を「Creators’ NIGHT」として、こじんまりと続けています。
オフィスが神田に映ったのを機会に、「eXtmere」の名を冠し、毎月最終金曜の夜に(お酒を飲みながら)開催しています。
ものづくりの楽しさを知っているもの同士だからこそのリスペクトを感じるために、そして毎月のペースメーキングにも、ご興味ある方、ぜひぜひ参加してください。
詳細は、https://www.facebook.com/creatorsnightx/
少しの宣伝「Creators’ NIGHT eXtreme」