Raspberry Pi上で作業するとします。
公式の通りに作業してゆきます。
- Install the build tools:
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib
ここは少し時間がかかるかも。コーヒーでも飲みながら待ちます。
- Download the Pico SDK:
git clone https://github.com/raspberrypi/pico-sdk.git ~/pico-sdk
Pi picoのSDKをインストール。
- Set the PICO_SDK_PATH environment variable on your system:
echo 'export PICO_SDK_PATH="~/pico-sdk"' >> ~/.bashrc
ここで環境変数をセットしているのだけども、見ての通り.bashrcに登録してるだけなので一度コンソールを閉じるか以下の通りexportしてやらないと以降失敗するのでやっておきます。
export PICO_SDK_PATH="~/pico-sdk"
次回以降は.bashrcに書いてあるので特に意識することはありません。
ここまででRaspberry Pi picoの開発が出来るようになります。
さらにpicosystemのSDKをインストールします。
- Download our PicoSystem SDK:
git clone https://github.com/pimoroni/picosystem.git ~/picosystem
- Create a build folder:
mkdir ~/picosystem/build
- Build the examples (if you're using a Pi 4, you can make -j4 to use all the cores and make things go a little faster).
cd ~/picosystem/build
cmake ..
make
※1行づつ実行
ここまで出来るとpicosystemで動作するsf2をビルドする環境が出来上がります。 Raspberry Pi2でもそこまで膨大な時間はかからないので結構お手軽。
という感じで、最初よくわからない!ってなった部分。
まだいじりはじめたばかりなので順次追加してゆきたい所存。
sourceについての説明がいまいち書いてない。
前提知識として以下があります。
- SCREEN : 表示されている画面
- SPRITESHEET : スプライトシート
SPRITESHEETなんてものがあるのかー、ってことで
こんな内容のスプライトシートが元から使えるようになっています。
blit(SPRITESHEET, 0, 0, 8, 8, 0, 0, 64, 64);
などとしてやると64x64に拡大されたチェリーが画面に出るはずです。
自分で定義した画像も当然sourceにできます。
color_t myimage[imagesize] = { .... };
このような形で画像を埋め込んで、このmyimageをsourceに指定します。
データは各4bitのARGBでビッグエンディアン、つまり 0xGBAR のような並びになります。
8^n x 8^n で画像を作ります。
基本的に8x8でのみスプライトは利用されるようです。
自前で変換してもよいのだけどレポジトリに変換用のpythonスクリプトがあります。
16bppなんていう普段使わない形式なので参考にするくらいしか使わないかもですが
https://github.com/pimoroni/picosystem/tree/main/tools
PICOSYSTEM SDKのチートシート
https://learn.pimoroni.com/article/picosystem-api-cheatsheet#utility