IchigoJam BASIC RPi を触ってみた

IchigoJam BASIC RPi を触ってみた

中学生の頃、毎月楽しみで仕方なかったベーマガ(が付録の電子工作マガジン)を約30年ぶりに購入しました。

ベーマガ復活

今回は別冊ということで少し薄めでしたが、届いた本をワクワクしながら開いてみると、ズラズラっと並ぶプログラムリストや解説コメントが当時のテイストそのままに再現されてました。(記憶が確かなら)

ベーマガを片手に、Syntax errorと格闘したり、変数を変えて命を増やしたりスピードを変えたり、カセットにSAVEしたりとプログラミングの入り口を楽しんでいたのを思い出して思わず浸ってしまいました。

とはいえ、当時のようにPC-XX01とかFM-XXのようなBASICマシンはもう身近に無く、このご時世にどんな機種でベーシックを書くのかな?もしかして、BASIC以外の言語?とよく見てみると、今は「Ichigojam BASIC」なんですね。

Ichigojamといえば、個人的には1〜2年前のイベントで少しだけ触ったことがありましたが、出力がビデオ端子だったせいか、入手するまでにはいかずそのまま記憶の片隅に。

ところが今回、このベーマガの記事をきっかけにIchigojamのサイトを見てみると…

Ichigojam BASIC RPi

なんと、RaspberryPiで動くIchigojam BASICが!

IchigoJam BASIC RPi/RPi+

ラズパイならHDMIで出力できる(うちにあるモニターでOK)!

しかも、無料って!

IchigoJam BASIC RPi は 無料(※)で入手、利用することができます。
※ オリジナル(LPC1114)版含め、IchigoJam BASIC ソフトウェアを第三者に配布するときはライセンスの購入が必要です。

それならば早速試してみようと、IchigoJam BASIC RPi1.2 ドキュメント を見てみると、インストールが超簡単!

  1. ZIPファイルをダウンロード
  2. ZIPファイルを解凍してSDカードにコピー
  3. SDカードをラズパイに挿す

これだけ。

半信半疑でドキドキしながらラズパイの電源をいれてみると、まさに「数秒」でIchigojam BASICの環境が起動しました。

そして、画面上でコマンドプロンプト■が点滅しながら「さぁ、命令を入力して!」と待ち受けてくれます。

起動後に何をすれば良いのかわからない…というような状態が全くありません。

とりあえず、PRINT “A”を入力してみると、A、OK!

おもわず「こんにちはマイコン」を思い出しました。

他にもどんな命令があるのかと IchigoJam BASIC リファレンス ver 1.2 を見てみると、LISTにRUN、CLSにLOCATE、FOR NEXTにIF THEN ELSE、懐かしのGOTO文もありました。

ラズパイといえば、RaspbianのOSイメージをダウンロードしてSDにイメージを展開して、raspi-configとか、updateとかwifi設定とかパスワード云々…とか、ひと通り設定してから使うイメージでしたが、Ichigojam BASICならそれらは一切不要でした。

しかも、ZIPファイルは解凍後でも10MB以下だったので、小さいサイズのSDカードでもバッチリ使えました。

プログラミング

さっそく、リストを見ながらゲームのプログラムを入力してみました。

シンプルなゲームが出来上がったあとは、「速すぎる」とか「ずっと死なない場所がある」といった子供の気付きに応じてプログラムを改造していきます。

ひと通り触ったら、SAVEでプログラムを保存して、「こんなゲームができたよ!」と、家族に披露してくれました。

唯一戸惑ったのはTICK()。これは機種(Ichigojam やラズパイ〜)の性能によって戻る値が変わってくるようで、少し調整が必要でした。

GPIOでLチカ

せっかくラズパイで動いてるんだし、IOはどうなのかな?と思いつつドキュメントを読んでいくと、「6. IO系コマンドと物理PINの対応」という記載が!早速Lチカも試してみました。

ブレッドボードに挿したLEDと抵抗、そしてジャンパワイヤとたった5行の命令で完成です。

 

View this post on Instagram

 

Norifumi Ogawa 小川 智史さん(@ogaworks)がシェアした投稿

BASICでIOの制御ができるだけでもかなりワクワクなのに、それに加えてなんとsakura.io対応でIoTな実装もできるとか。

IoT.IN sakura.io から I2C で数値を受信する
IoT.OUT sakura.io に I2C で数値を送信する

しかも、プログラムの自動起動もできるらしい。

質問. 本体にボタンがありませんが、電源投入時にプログラムを自動起動するにはどうしますか。
回答. キーボードを接続せずに起動するとFILE0を実行(LRUN0)します。

BASICとはいえ、実現できることは凄そうです。

もし、最近ちょっと出番が減っているラズパイが手元にあったら、迷わずIchigojam BASIC RPiを入れてモクモクすべきだと思いました!

ラズパイ版でなく本物のIchigojamもキットで1,500円(税抜)〜とラズパイに比べてかなりお手頃なので、一台買って子供とはんだ付けするのも楽しそう。

参考

%d人のブロガーが「いいね」をつけました。