KURUMI Game BASIC 「クルコン」

KURUMI Game BASIC
「 クルコン 」
いまいだいすけ
[email protected]
GR-KURUMIでモバイルゲーム端末作りました
作っています
デバイス仕様
• メインボード:GR-KURUMI
• グラフィック:160×128pxカラー液晶
• カラーグラフィック
• 20文字×16行キャラクター(8x8ドット美咲フォントベース)
• PCG(Programable Character Generator)
• サウンド:単音(MMLにて記述可能)
• 入力:6ボタン
• ストレージ:EEPROM
• 電源:3Vボタン電池(CR2032)
BASICでゲームの記述が可能
実は、もっと早く持ってきたかった…
何故かルネサスナイトと
都合が合わない
これまでの歴史
インスパイヤ
JIG.jp福野さんの
IchigoJam(プロトタイプ機)
fork
fork
初版:(2014年5月頃)
RunnningElectronicsさんの
SBDBT32で動作する
ビデオ出力付きBASIC機
ケンケンさんの
PIC32MXのビデオ出力
電脳伝説 Vintagechipsさんの
豊四季版TinyBASIC
僕の作りたかったものは違ったんだ
作ったゲームを友達に自慢できるようなデバイス
「持ち歩いていつでも見せられる方がいい」
• 表示器が必要(液晶など)
• 単体で操作できる入力デバイスが必要(複数ボタン)
• 電池かバッテリーで動作可能
なお、プログラミングはPCにつないで。
そしてGR-KURUMIへの移行を決定
•
•
•
•
なんとなくピンクで可愛い
フルカラーLEDが好き
RAMが20KBもあるから行ける気がした
昇圧回路載ってるのは楽な気がする
これまでの歴史
移植
初版:(2014年5月頃)
RunnningElectronicsさんの
SBDBT32で動作する
ビデオ出力付きBASIC機
移植
KURUMI版1号機:(2014年12月頃)
液晶搭載、電池での動作
KURUMI版2号機:(2014年12月頃)
ピン配置などの見直し
I2CのEEPROMの搭載
すれ違う僕とルネサスナイト
これまでの歴史
スクラッチから
書き直し
KURUMI版2号機:(2014年12月頃)
ピン配置などの見直し
I2CのEEPROMの搭載
リファクタリング
2号機Firmware第2版(2015年)
NT-Shellの搭載
PCG機能搭載
2号機Firmware第3版(2016年)
フォントデータをFlash上に移す
A tiny MML Parserの採用
液晶の処理方法の変更
細かな細工の積み重ね
• グラフィック: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 eXtreme」
ものづくり(電子工作に限らず)をしている人が、作ったことをお互い
に自慢し合えるような、そんなものづくりをする人だけが集う会をやり
たくて、ずっとそういう活動を「Creators’ NIGHT」として、こじんまりと続
けています。
オフィスが神田に映ったのを機会に、「eXtmere」の名を冠し、毎月最
終金曜の夜に(お酒を飲みながら)開催しています。
ものづくりの楽しさを知っているもの同士だからこそのリスペクトを感
じるために、そして毎月のペースメーキングにも、ご興味ある方、ぜひ
ぜひ参加してください。
詳細は、https://www.facebook.com/creatorsnightx/