2017年04月17日

Daruma BASIC ラズパイ3で動いた

 ラズパイ3のベアメタルで、Daruma BASIC が動きました。

20170417-1.jpg

 いやもう、めちゃくちゃ大変だった。まず、ラズパイ1の開発に使っていた Maccasoft さんのカーネルは、ペリフェラルのアドレスが 0x20000000 に固定されていて、ラズパイ2以上を使うことは想定されていない。ペリフェラルのアドレスを変更しただけでは動かなかった。他にもいろいろ変えないといけないところがあるらしい。

 自力で解決するのは無理な感じだったので、代わりになるものを探して、circle というのを試してみた。これはラズパイ1・2・3・Zero のすべてで動作確認されている。サンプルをビルドしてみたところ、ラズパイ3であっさりと動作した。

 しかし、ここから先が長かった。Circle は、標準ライブラリを一切使っていない。Daruma BASIC は newlib に依存しているので、circle で newlib を使う方法を模索した。これがえらい大変だった。一応サンプルプログラムが動くところまでこぎつけたけど、まだときどき変なエラーを circle が出すので、おかしいところが残っているみたい。もう少し安定させてから公開します。

 なお、IchigoJam for RPi がいよいよ動き出すようで、興味をそそられます。だけど、私はやっぱりタイニー系じゃない BASIC が使いたいので、Daruma BASIC の開発は細々と続けて行きます。まあ、趣味だからね。

posted by toshinagata at 01:10| 日記