ラズベリーパイをスーパーファミコンにしよう


ラズベリーパイ3を持っています。ラズベリーパイをスーパーファミコンにします。

この動画に刺激を受けてやってみたくなりました。

1.pisnesをダウンロード
 pisnes ここからpisnesをダウンロードします。

 解凍するだけです。ラズベリーパイ用にコンパイル済みです。
 snes9xと snes9x.guiが実行ファイルです。
 #snes9x romfile.sfc
 #snes9x.gui こちらはGUIでロムファイルを選択できます。

2. ソフトを用意します。
 自分の持っているソフトを用意してpisnes/romディレクトリの中にください。
 拡張子はsfcとなります。

3. ゲームパッドを接続します。
 ゲームパッドをUSBに接続します。
 logicoolのF310 定番ゲームパッドを使用しています。
  f310-gaming-gamepad-images
 つなぐだけです。pisnesでも自動認識してくれます。
 エミュに良くあるボタンの割り当てが不要です。とにかく接続するだけでOK。素晴らしいです。

4. ラズベリーパイが起動時に自動起動させます。
 せっかくなので自動起動させてみましょう。キーボードやマウスもいらなくなります。

/home/pi/Game/pisnes このディレクトリにpisnesを置いています。

 シェルスクリプトを作ります。
 直接 snes9x.guiを実行するのではなく、間接的にシェルスクリプトから実行させます。
 面倒くさいのですが、これはやっておくべきです。 

#sudo vi /usr/local/bin/snes-run-gui

snes-run-guiの内容
#!/bin/bash

BASEDIR=/home/pi/Game/pisnes

# Wait for the PS3 Game pad to be available
while [ ! -e /dev/input/js0 ]; do sleep 2; done

# The DISPLAY=:0 bit is important for the GUI to work
DISPLAY=:0 $BASEDIR/snes9x.gui
ここまで

スクリプトを実行できるようにします。
#sudo chmod +x /usr/local/bin/snes-run-gui

自動起動に登録
/home/pi/.config/lxsession/LXDE-pi/autostart の最後の行に1行追加します。
もしかしたら古いラズベリーパイの場合、/home/pi/.config/lxsession/LXDE/autostartかもしれません。

@/usr/local/bin/snes-run-gui

これで起動時にpisnesが立ち上がります。やってみましょう。

最後になぜシェルスクリプトから実行する理由は、直接snes9x.guiを実行するとキーボードを認識しなくなり、復帰できなくなるからです。
スーパーファミコンはできるのですが、元に戻せなくなったからです。
リモートからログインして復帰できるようになりましたが、、、汗

参考サイト
Building a SNES emulator with a Raspberry Pi and a PS3 gamepad