回路図 |
いくつかの処理追加とソースコードを整理したものをここへ置きました、
実行バイナリファイルはここにあります。
操作にゲーム機のパッドを使用するようにしていましたが、手持ちのパッドが壊れた時に新しいパッドの入手が厳しくなると思います(変換ケーブルを作成するのに延長ケーブルなども入手しないといけないので余計)。
Raspberry Pi Pico 以外でも何かに使用できるかもしてないので、Windows の XInput 入力を COM ポートから出力するツールを作成しました
(XInputを調べたら1つの関数を呼ぶだけと、Microsoftにしてはシンプルな作りになっていたためで、動作確認はWindows10のみ)。
本当は Raspberry Pi PicoをUSBのホストとして動作させ、USBのパッドを使用できるようにすれば良いが、調べなければならないことが多いため、今回は簡単に対応できる方法にしました。
Windows が必要となりますが、このツールを使用れば、マイコン側はUARTのRXとGNDの2ピンだけでパッドが使用できますし、現状は対応していませんがリアルタイムなキー入力などへ簡単に対応できるようになります。
また、XInputCom 用なら以下の回路図のようにピン数が減るため、ブレッドボードで簡単に動かすことができます。
回路図 |
とりあえずゲームらしきものを作成してみました。
実行ファイルはここにありますが、動作させるのは面倒だと思いますので、以下に動画を置きました。
動画は1/30秒となっていますが、実際は1/60秒で動作、CPU負荷も全くない状態で動作しています
(CPU/ROMはまだまだ余裕)。
音はSCCをエミュレート+適当に作成した3bitのDPCMを使用しています(重いOSが乗っていないので、遅延なく音源をエミュレートできるし、複数の音源の追加もできるので良い)。
ソースは整理した後ここへ置きます。
Raspberry Pi PicoはCPUコアが2つあること、ほぼすべてのピンに機能を割り当てられるためピンの割り当てが容易、細かいサポート機能が搭載されていることやシンプルなサンプルもあるので使いやすいかも(ただ、仕様書を日本語化して欲しい...)。
しかも低電力、まったく発熱なし。