PicoのVGA出力で動かすブロック崩し・疑似3Dカーレース風デモ


Raspberry Pi PicoのVGA demo baseの機能を紹介してきましたが、今回はこれらの機能を使って作ったデモを紹介します。

1つ目は例によってブロック崩しです。これはPimoroniのDisplay Packに移植済みですが、それをscanvideo libraryを使って書き直しました。

Display Packの解像度は135×240ピクセルで、それをほぼそのまま320×240ピクセルのQVGA画面に埋め込んだ形になっています。マルチプレーンを使って、ブロックとラケットとボールを別レイヤに表示させているため、表示部分のコードは割とシンプルになったと思います。

ボタン入力は以前解説したVGA demo base上のタクトスイッチを使っています。

そのほか、Display Pack版ではブロックを消したりボールをラケットで打ったときにLEDを光らせていましたが、VGA Demo base版では効果音を付けました。これについては別途解説したいと思います。
コードはこちらに置いてあります。

GitHub - boochow/breakout_rpi_pico at vgaboard
Breakout game for Raspberry Pi Pico with Pimoroni Pico Display pack - GitHub - boochow/breakout_rpi_pico at vgaboard

2つ目は、同じくDisplay Packで動作させていた疑似3Dのデモです。こちらはDisplay Packの解像度からQVGA解像度に変更しています。

ピクセル数にして2.4倍弱になっていますが、ちょっと処理速度が間に合わなくなってきたので、Picoを200MHzにオーバークロックしています。また、地形のデータもフラッシュからSRAMへ移しています。浮動小数点演算を固定小数点数に変えてみたりもしましたが、オーバークロックをなくすには至りませんでした。
これのコードはこちらに置いてあります。

pico_test_projects/interpolator2-vga at main · boochow/pico_test_projects
Some projects to test Raspberry Pi Pico unique functionalities, such as interpolators or scanvideo library. - boochow/pi...

VGA demo baseですが、現時点では国内で販売しているところは無いようです。ようやくDisplay Packが出回り始めたところのようですね。

Pico Display Pack: 開発ツール・ボード 秋月電子通商-電子部品・ネット通販
電子部品,通販,販売,半導体,IC,LED,マイコン,電子工作Pico Display Pack秋月電子通商 電子部品通信販売

VGA demo baseはSDカードもI2S DACも付いてお買い得だと思うので、発売されたら是非買ってみてください。

コメント