m5squeak を CORE2 対応にした

M5Stack FIREで動作する m5squeak を CORE2 に対応させた。

https://github.com/EiichiroIto/m5squeak

せっかくのCORE2なので、タッチディスプレイをマウスとして認識させ、3つのボタンを赤・黄色・青のボタンに対応させた。

キーボード入力について、以前はオンスクリーンキーボード対応だったのを CardKB を使えるように変えた。今までどおりUSBケーブル経由でシリアル入力も可能。

いままで Squeak イメージをソースの一部に組み込んでいたので切り替えることができなかったが、SDファイルに書き込んだ m5squeak.image ファイル(ファイル名決め打ち)を読み込んで起動するようにした。

最初はうまく表示させられず試行錯誤に時間がかかった。結局、今まで M5.Lcd.pushColors を実行する前にM5.Lcd.setWindow で描画範囲を指定していたのだが、以下のように M5.Lcd.setAddrWindow に変更したら表示できるようになった。

//M5.Lcd.setWindow(affectedL, affectedT, affectedR-1, affectedB-1);
M5.Lcd.setAddrWindow(affectedL, affectedT, affectedR-affectedL, affectedB-affectedT);

動作するといっても簡単な計算ができるくらいで、新たなウィンドウを開くといった動作をするだけで out of memory になる。やはり絶望的にメモリが少なすぎる。あと老眼にはつらい。

動作中の動画もとった。