文書の過去の版を表示しています。
ハイハイスクールアドベンチャー PicoCalc版
概要
おい、PicoCalc出るってよ! ……と、いうわけで、この、見るからに、ハイハイスクールアドベンチャーを移植せよ、と、いわんばかりのデバイスを見たら、正座して待機しつつ、移植する準備をするでしょう? そして、ほぼ一日で移植しました。
導入
本プログラムは、VSCode + PlatformIOで開発しています。なので、遊ぶためには、まず VSCode と PlatformIOを準備してください。 ソース一式は、こちらから取得してください。
READMEにも書いてありますが、色々なターゲットが定義されていますが、つまるところ、pico2 しか動作確認できていません1)ので、それ以外でbuildはしないでください。
ビルドできたら、data フォルダの下にあるHHSAdv フォルダーをまるっとSDカードのルートディレクトリにコピーしてください。 ルートにHHSAdv というフォルダーができて、その下に中身が全部コピーされる形です。
あとは、firmware.uf2 を書き込んでスタートです。
まあいろんな話
開発環境
Raspberry Pi Picoの開発環境についてはいくつかある。
まずは、公式に提供されているpico-sdkを利用する方法である。 cmake を手書きして、プロジェクトを構成する。 なんでもできるが、むき出しで、決して使いやすいわけではない。
次に Arduino IDEを利用して、Arduinoフレームワークでプログラムを作成する方法。 Arduino用の多くのライブラリを利用できるので、チョイスとしては悪くない。
だが、結局のところ Visual Studio Code + Platform IOが鉄板だといえるだろう。 コーディングを支援してくれるintellisense はいうに及ばず、Copilotや Geminiを利用したコーディング支援は、一度利用してしまったらもう戻れないくらいの絶対的な差別化要因だ。
当然、Visual Studio Code + Platform IOで開発することにする。
LovyanGFX
ハイハイスクールアドベンチャーを移植するにあたってはグラフィックス機能がキモとなる。 PicoCalcに組み込まれている液晶は ILI9488 で駆動されているので、LovyanGFXのパラメータだけ調整すれば制御可能である。
SPIのピンアサインと、向き、色の制御あたりができていれば問題なく動く。
名前 | 番号 |
---|---|
SPI | 1 |
PIN_SCLK | 10 |
PIN_MOSI | 11 |
PIN_MISO | 12 |
PIN_CS | 13 |
PIN_DC | 14 |
PIN_RST | 15 |
なお、offset_rotationが 6で、invertを trueにする。 どういう都合でかはわからないが、下端が上で、座標系は上下反転、色も反転するという状態がデフォルトになっているので、上記の設定で、左上が(0,0)になるように設定される。