🎮

ポータブルゲームデバイス実機でPyxelアプリを動かす方法

2025/01/13に公開

Pyxelアプリを実機で動かしたい

以下あたりを読んでPyxelでアプリ開発して自作Pyxelアプリを実機上で動かしたいなーと猛烈に思うようになってしまいました。

https://qiita.com/kitao/items/eae53dd47c663b497352

https://note.com/frenchbread/n/n576a6c2f5d11

というわけで、早速やってみました。上記記事などを参考にできたので、とりたてて目新しいことはないのですが、個人のメモ+少し補足情報を記載しておきます。

実機について

対応機種は、使用するplumOS-RNのREADMEにあるリストから選びます。今回は、情報が多く比較的新機種でかっこいい(重要)「Powkiddy RGB30」を選びました。

購入はAmazonでも買えますが、AliExpressが安かったです。

購入したら、数日でちゃんと届きました。

そして、購入してから気づいたのですが、無線機能があるので日本でそのまま動かすと違法になります。

今回は、AIを用いたアプリ開発の研究および実機での実験という目的があったので、技適未取得機器を用いた実験等の特例制度を申請することにしました。

https://zenn.dev/karaage0703/articles/51c89ab7d68464

これで(約半年間)日本で使用することができます。

実機上でのPyxelアプリの動かし方

以下の@KzhtTkhsさんの記事が丁寧で分かりやすかったです。

https://zenn.dev/kazuhito/articles/bacdd4d2a1bc4e

機種は違いますが、同じ操作で大丈夫でした。

個人の好みでOSはMac、書き込みソフトはbalenaEtcherではなく、Raspberry Pi Imagerを使いました。

Homebrewを使って以下コマンドでインストールします。

$ brew install raspberry-pi-imager

あとは、以下の通り[plumOS-RN]というLinux OSをSDカードに書き込むだけです。

ファイルの送付は、Macのターミナルでsftpコマンドを使って実施しました。

sftpでつなぐためのコマンドは以下です。plumOS-RNは設定したホスト名です。代わりにIPアドレスでもOKです。

$ sftp root@plumOS-RN

あとは/storage/roms/pyxelにファイルを送付しましょう。test.pyxappというファイルを送りたい場合は、以下の通りです。

sftp > cd /storage/roms/pyxel
sftp > put test.pyxapp

実機で動くPyxelアプリの作り方

PyxelのREADMEアプリケーションの配布方法のところを参考にpyxel packageコマンドを使ってPyxel アプリケーションファイル (.pyxapp) を作ればOKです。

あとは、実機のボタン入力に対応したプログラムをどう書くのかで悩みましたが、色々調べて、ゲームパッドの入力をチェックするソフトを作成しました。

https://github.com/karaage0703/pyxel-examples/blob/main/0002_gamepad_checker/gamepad_checker.py

このソフトで、実機での動作確認ができます。

その他、実機でも動くようなPyxelのサンプルソフトを作成して以下のリポジトリで公開しています。

https://github.com/karaage0703/pyxel-examples

実際に作ったソフトを動かしている様子です。

https://x.com/karaage0703/status/1878700867643429108

まとめ

ポータブルゲームデバイス実機でPyxelアプリを動かす方法についてまとめました。

ポータブルなデバイスで、自分の作ったソフトが動くのは楽しいですね。昔ゲームボーイで動くソフトを作ったことはありますが、かなり大変なので途中で挫折してしまった記憶があります。

こんなに手軽に動かせるのは嬉しいですね。Pyxelおよびデバイスの開発者に感謝しかないです。

あとは、技適の通った使い勝手の良い実機が欲しいところですね。意外とありそうでよさそうなものがないです。もしよいデバイスを知っている人がいたら教えてください。

自分で作るしかないのでしょうか…

参考リンク

https://www.tikgadget.jp/powkiddy-rgb30-review/

https://note.com/frenchbread/n/n576a6c2f5d11

https://qiita.com/Kazuhito/items/897e45c46f03e6980067

https://zenn.dev/slm/articles/2c0ff60bd7841f

https://qiita.com/sanbunno-ichi/items/3d4b88bf6baf4c94ccbd

Discussion