PicoRubyベースのミニコンピュータ(PicoCalc編)
以前の記事で、PicoCalcが届いたら、PicoRubyを動かしてみたい、というお話をしていました。

9月頭に実際にPicoCalcが実際届きました。5月に注文していたので、4カ月弱で届いたことになりますね。
PicoCalcはRaspberry pi Picoで動くコンソールマシンです。
320x320の液晶とキーボードにスピーカーなどもついてきます。
付属のPicoにブートローダソフトがあらかじめインストールされており、SDからアプリを起動することができます。
インストールされているバイナリのソースはこちら。
以下、PicoCalcの写真たち。

開発環境
ファームウェア側をいじることになるため、毎回手作業でファイルコピーするのは面倒です。そのためPicoProbeを繋いでみました。ただ、そのままで背面からデバッガー用の線を出すのはちょっと厳しかったので、ケースの背面の一部だけカットして線を通す穴を作ってます。
改造の方法
PicoCalcでPicoRubyを動かすためには、PicoRubyの文字列の入出力周りを置き換える必要があります。
PicoRuby Overflow Kaigiで展示した以下の資料で考え方を説明しています。
PicoRuby Overflow Kaigi
この時は、まだ実機が無かったので、類似の液晶コントローラで動いている液晶と、キーボードはI2C対応の別のM5Stackから出ているやつを使ってます。
実際にPicoCalc実機に移植するときは、最低限の修正で1日で動かすことができました。
コードはこちら。PicoCalcお持ちであれば試せます。私はRpi-Pico 2で試してます。
実際に起動させるときには、横幅の解像度が標準より狭いので、そのままだとPicoRubyのロゴが表示されません。そのためShell起動処理にあるロゴの絵文字を手作業でいじって、ぎりぎり収まるように修正してます。

一応、基本的な機能は使えるはずです。
課題
画面のスクロールするときに全画面かきなおしているため、スクロールがとても遅いです。液晶コントローラとうまく連携して高速描画やスクロール処理するなど、改善が必要です。
今後のこと
いったん、動かせて満足しちゃったところはありますが、自作のESP32コアの基板と連携させたりできたらいいな、とか、この素晴らしい機体を生かす方法は考えていきたいと思っています。
