kurumi game basic 「クルコン」 -...

18
KURUMI Game BASIC 「 クルコン 」 いまいだいすけ [email protected]

Upload: others

Post on 12-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

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(プロトタイプ機)

ケンケンさんのPIC32MXのビデオ出力

電脳伝説 Vintagechipsさんの豊四季版TinyBASIC

初版:(2014年5月頃)RunnningElectronicsさんのSBDBT32で動作するビデオ出力付きBASIC機

インスパイヤ

fork

fork

僕の作りたかったものは違ったんだ

作ったゲームを友達に自慢できるようなデバイス

「持ち歩いていつでも見せられる方がいい」

•表示器が必要(液晶など)

•単体で操作できる入力デバイスが必要(複数ボタン)

•電池かバッテリーで動作可能

なお、プログラミングはPCにつないで。

そしてGR-KURUMIへの移行を決定• なんとなくピンクで可愛い• フルカラーLEDが好き• RAMが20KBもあるから行ける気がした• 昇圧回路載ってるのは楽な気がする

これまでの歴史

初版:(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」