Digitalians' Alchemy Diary Archive



あるけみすとの居る風景:2016 年 02 月

ラズパイの段ボールケース2016/02/29(月)

 むき出しだとどうも不安なので、段ボールでラズパイのケースを作った。

 右にあるのは USB-シリアル変換器。秋月の「FT-232RQ USBシリアル変換キット」を使った。コンソール入出力はシリアル経由で、ファイル転送だけ無線 LAN 経由の SSH で行う。

 こう見るとやっぱり貧乏臭いな。輪ゴムが特によろしくない感じ。そのうち作り直すかな。

 コンソール出力に VT100 互換のエスケープシーケンスを出せるようにしてみた。一応動いているのだが、カーソル位置設定のシーケンスの後に 1 ms ぐらいのディレイを入れてやらないと、表示がついて来れなくなる。Mac のターミナルの問題?

スクリーンエディタ実装中2016/02/18(木)

 行番号のない BASIC なので、スクリーンエディタがあるとよい。いちいち BASIC から抜けて、nano とか vi でソースを編集して、もう一度 BASIC に戻って LOAD する、なんてスマートじゃないからね。

 まだ画面表示までしかできてない。昔祝一平氏が書いておられたけど、テキストエディタってめんどくさいんだよな。例外事項がいっぱいあって、ソースが場合分けでごちゃごちゃになってしまう。エディタを作る、というのは、こういう汚れ仕事につき合い続けることに他ならない。

ラズパイちょっと整理2016/02/14(日)

 小物を買い足して、ちょっと整理できた。

ラズパイ BASIC で「さめがめ」2016/02/13(土)

 実機でも動きました。「さめがめ」(まきがめ)を作ってみた。

 実機はいろいろ問題があります。

 もう少し上手に運用する方法を考えないといかんな。なお、さめがめのソースはこちら。(処理系を公開してないのに BASIC ソースだけ公開しても意味ないけど。)

QEMU 上のラズパイで BASIC 動いた2016/02/07(日)

 QEMU 上のラズパイで動いた。そんなに難しくなかった。

 最初、Mac 上でクロスコンパイル環境を整えようとして、ハマりかけた。どうせそんなに大きなプログラムでもないのだから、ラズパイでビルドすればいいんだ、と考え直して、そこからは簡単だった。bison は入ってないので、そこだけは Mac でビルドしておく。(bison 使うなんて大げさな、と思われるかも知れないけど、パーサを一から書くよりずっと楽なんでね…)

QEMU でラズパイをエミュレート2016/02/06(土)

 ちょっと本気モードになって来た。ラズパイを Mac 上でエミュレートするため、QEMU をビルドした。むちゃくちゃ大変だった…何度も挫折しかけたけど、なんとか乗り越えた。詳細はこちらで

 左上の画像はペンギンさんだけど、動いているのは Raspbian jessie lite です。

BASIC 製作中2016/02/01(月)

 ラズパイ用 BASIC の話の続き。BASIC の処理系を作り始めています。とりあえず、Mac 上では動き出した。

 本当にラズパイに載せられるかどうかはわからん。ベアメタル化は自分の技術では無理なので、Linux の CUI から立ち上げる形になると思う。X Window は使わず、フレームバッファ直書きで。

 BASIC の仕様はこんな感じ。

 IchigoJam などの Tiny Basic の流れではなくて、もう少し大きな処理系を目指すことになる。どこまで行けるかわからないけど、とりあえず走ってみるつもり。