今回はRaspberry Pi 3 Model B+を使って、レトロゲームを動かそうと思います。一般的にPC上で昔のゲームをやる方法と言えば、Linux等のOS上に各種ゲームのエミュレータと呼ばれるソフトウェアをインストールして、その上で遊ぶ方法だと思います。
しかしRaspberry Piには、Raspberry Piでゲームをやる目的に特化したOSが存在します。"Retro Pie"というOSで、あらかじめ様々なゲームのエミュレータがパッケージみたいな感じでプリインストールされています。なので、RetroPieを使えば、いちいちエミュレータをインストールする必要もありませんし、GUIも環境設定するのにとても見やすいです。したがってRetro Pieを使っていきます。
Nintendo64とタイトルに表記してありますが、基本的な設定は同じなので、 他のゲーム機でも全然遊ぶことが出来ます。
またコントローラに関しては、ゲーム機に合わせてコントローラを用意しても良いですが、手元にNintendo64のコントローラがありませんでした。なのでここはあえてPS3のコントローラで遊びます!それに違うゲーム機のコントローラで遊んだほうが、なんかカッコよくないですか?!
前置きはこれくらいにしておいれ、まずは大まかな流れです。
- Retro Pieのダウンロード
- PS3コントローラのドライバーインストール&ボタン配置設定
- 環境設定
- ROMを入れる
この4つ行えば、ゲームで遊べるようになります。
1. Retro Pieのダウンロード
Retro Pieのダウンロード元:
https://retropie.org.uk/download/

Raspberry Pi 3 Model B+なので、右の赤枠からRetro Pieのimgファイルをダウンロードします。ダウンロードしたRetro Pieは圧縮されているので、解凍します。

右クリックして、上のように解凍します。解凍したら、SDカードをPCに差し込んで、Retro PieのimgファイルをSDカードに焼きます。今回はRufusというソフトウェアを使います。
Rufusのダウンロード元:
https://rufus.ie/

デバイスにはSDカードが割り当てられているドライブをしています。ブートの種類には、右の "選択" をクリックして、先ほど解凍したRetro Pieを選択します。出来たら、スタートを押して書き込み開始です。緑枠内のゲージが溜まったら、SDカードにRetio Pieを書き込むことが出来ました。"閉じる" を押してウインドウを閉じます。
そしたら、SDカードをRaspberru Piに差し込んで起動させます。

起動させるとこのような画面が出てきます。

F4キーを押して、ターミナル画面に入りましょう!一応、PS3のコントローラを挿してある場合は、コントローラの検知はされますが、適切なドライバーが入っていないので動かすことは出来ません。
なので、次にPS3コントローラのドライバーをインストールしていきます。インターネットにつながっていないとインストール出来ないので、LANケーブルを挿しておきましょう。

ここから少しコマンドをたたいていきます。
2. PS3コントローラの設定をする
エミュレータだと、本来とは異なるゲーム機のコントローラを使えます。ゲーム機に合わせてコントローラを用意しなくて良いので、物理的にスペースも取らずに済みます。私の手元にあったのがPS3のコントローラなので、それを使います。
2-1. PS3コントローラのドライバーをインストール
まず上の画像のようにターミナルが開いたら、以下を打ち込みます。
sudo ~/RetroPie-Setup/retropie_setup.sh
そうすると、Retro Pie全体的なセットアップ画面に入ります。これからPS3コントローラのドライバーをインストールします。
Manage Packeges を選択します。

Manage driver packeges を選択します。

ps3controller を選択します。

Install from source を選択します。この時、インターネットにつながっている必要があります。

そうすると、インストールが始まります。完了したら以下の画面になります。一応この時点でPS3コントローラのドライバーのインストールは終了です。しかし、実はPS3のコントローラのドライバーには種類が存在します。メーカによって、少し異なるようです。先ほどインストールしたドライバーは、PS3の純正(Official)用のものです。
※お使いにコントローラがどのような種類であるかの判別法を後述します。
もし、PS3コントローラがOfficalのものであれば、この画面で Back を選択して、最初の画面にまで戻ります。そこにPerform reboot があるので、それを選んでRetro Pie を再起動してください。純正コントローラでない場合は、ドライバーを入れ替える必要があります。
Configuration / Options を選択します。

以下の警告がでますが、Enterキーを押して、次に進みます。

この画面でPS3コントローラのドライバーの種類を入れ替えられます。
なお、私が試しに他の種類のドライバーをインストールしてみたら、前に入っていたドライバーはアンインストールされました。つまり例えば、Official用のドライバーを最初にインストールした上で、shanwan用のドライバーをインストールしたら、Official用の方はアンインストールされました。

所定のドライバーのインストールが完了した、Back を選択して、最初の画面にまで戻ります。最初の画面とは以下の画面です。
Perform reboot を押してRetro Pie を再起動させます。

ここで少し話しを脱線して、PS3コントローラのドライバー判別法を紹介します。
2-2. PS3コントローラのドライバーの種類判別法!Official? Gasia? Shanwan?
種類を見分けるには、Linuxを用意します。Virutal Box上のLinuxでも可能ですが、デフォルトのVirtula BoxではUSB1.0しか認識しません。なので、Virtual Box上のLinuxでもUSB2.0を認識させる設定を事前に行わなければなりません。
Virtual BoxでUSB2.0以上を認識させる方法:
https://wireless-network.net/virtualbox-ubuntu-usb/
Linuxの準備が出来たら、USBを差し込んでターミナルを開きます。以下のコマンドをたたきます。実行管理者権限をもっている必要があります。Ubuntuとかなら、sudo su でまずは管理者権限を取得してくだいさい。
dmesg | grep usb
カーネルのログバッファの中身を表示させるついでに、USBに関するものだけを抜き出しています。

上の画像の赤枠の箇所がPS3コントローラに関する箇所です。その中に、Manufacureの箇所に "Sonny" と書かれています。なので、このPS3コントローラは純正だということが分かります。ここにShanwanなどと書かれていたら、Retro Pieでその種類のドライバーをインストールする必要があります。
これでPS3コントローラのドライバーは何か分かりますね。それでは本題に戻ります。
2-3. PS3コントローラのボタン配置の設定
再起動させると "Welcome" の画面が出てきます。起動させたときにPS3のコントローラを挿してあれば、真ん中の "NO GAMEPADS DETECTED" が、"1 GAMEPAD DETECTED" となります。起動前から挿してなくて、この画面になってからPS3のコントローラを挿しても問題ありません。さの際は "NO GAMEPADS DETECTED" のままですが、適切なドライバーがインストールされていれば、反応するはずです。

PS3コントローラの場合は、真ん中の「PSボタン」を長押ししてください。長押ししていると、ボタン配置の設定画面に移行するはずです。

このとき、左に表示されている名前にあわせて、以下のボタンを押してください。例えば、最初の "D-PAD UP" であれば、コントローラの十字ボタンに上を押します。
何かのボタンを押すと勝手に次の項目に進むので、無駄に他のボタンを押さないようにしましょう。私は最初、適当にガチャガチャ押してしまい、後で少し大変な目にあいました。

他ゲーム機のボタン配置のマッピング情報も以下のサイトに載っています。
引用:
https://github.com/RetroPie/RetroPie-Setup/wiki/RetroArch-Configuration
ボタン配置のマッピングが終わったら、"OK" を押してください。これでコントローラの設定は完了です。Bluetoothでも接続出来るので、無線でやるのも便利ですね。
3. RetroPieの環境設定
次はROMをRetpo Pieに入れる前の環境準備を行います。
ROMをRetro Pieに入れる方法はいくつかありますが、一番便利な方法をご紹介します。Retro Pieが入ったSDカードに、お使いのPCからネットワーク経由でROMを入れる方法です。
この方法を使うには、同じネットワークに所属している必要があります。同じネットワークに所属させる方法として、LANケーブルを使う場合はWi-Fi設定をする必要はありません。環境によっては、Wi-Fiを利用しないといけないかもしれません。今回私はWi-Fiを使いますので、Retro PieにWi-Fi設定をしていきます。LANケーブルを用いる場合は、Wi-Fi設定のところをとばして下さい。
やることはWi-Fiの設定とSSHの有効化の2つです。

ボタンのマッピング設定が終わると上記の外面になります。その中から、RETRO PIEを選択します。ここまで来たら、もうPS3のコントローラは使えるようになっているかと思います。もちろんキーボードで操作しても大丈夫です。
3-1. Retro PieのWi-Fi設定
Retro Pieを選択すると、様々な設定ができる画面になります。今からWi-Fiの設定を行っていきますので、一番下の "Wi-Fi" を選択します。

以下の手順で設定していきます。
Retro Pie で初めてWi-Fiの設定をすると、まずは国を指定してくださいと言われます。そしてRaspi-configを開きますか、と聞かれるのでYesを選択します。

なお、Raspi-config画面は何かと使う機会が多々あります。この画面はターミナルからでも、先ほどの画面の "Wi-Fi" から7個上の項目に "RASPI-CONFIG" とあるので、そこからでも開くことが出来ます。
ターミナルから開く場合は、
sudo raspi-config
とたたけば開けます。
Raspi-config画面はこの画面のことです。
この画面からは後述するSSHの有効化も行います。まずは、Wi-Fi設定をするので、"2. Network Options" を選択します。

"Wi-Fi" を選択します。

国は "Japan" を選択します。

PCと同じネットワーク(SSID)を入力します。必ずPCと同じSSIDを持つアクセスポイントに接続してください。ROMを入れるときに支障が出てしまいます。

パスワード(PSK)を入力します。

そうすると "Wireless IP" と "ESSID" が埋まっているはずです。もし上手くいかなかったら、"1.Connect to Wi-Fi network" を選択してもう一度設定をしてみて下さい。ちなみにCurrent IPはLANケーブルを繋げているので、有線のインターフェースのIPアドレスです。もしLANケーブルがつながってなければ、Wireless IPと同じ値が表示されます。このWireless IPの値は覚えておいてください。あとで使います。

Wi-Fiの設定が適切に出来たら、Exitで戻って下さい。
次はSSHの有効化をします。この設定をしないと、PCからRetro Pieのストレージ(SDカード)にアクセスできません。
3-2. Retro PieのSSHを有効化する
まずはRaspi-config画面を開きます。ターミナルからでもGUIからでもどちらからでも開けます。開き方は、3-1章の前半部分に書きましたので、参考にしてください。
まずは、"5. Interfacing Options" を選択します。

"P2 SSH" を選択します。

Retro PieをSSHサーバ機能を有効化しますか?と聞かれますので、Yesを選択します。

これでSSHを使って、リモートログインが出来るようになりました。
最後にRetro Pie のROMフォルダにゲームROMを入れていきます。
4. SSHを使ってRetro PieにROMを入れる
まずは、PCとRetro Pieが同じネットワークに存在しているか確認して下さい。Wi-Fiを使用する場合、同じSSIDに接続されていないと出来ないので注意して下さい。同じルータにつながっていてもSSIDが異なると、周波数などが違ったりして、上手く通信が出来ません。
赤枠の欄に "¥¥192.168.x.x" を入力します。
先ほどのWireless IPの値です。環境によっては、172.~や10.~で始まる場合もあります。
補足で少し難しい話をします。
今回取得した無線ランのIPアドレスはDHCPによる動的なものです。なので、IPアドレスのリースが切れてしまうと、IPアドレスが変わる可能性があります。その解決策として、毎回入力する前にIPアドレスを確認する、IPアドレスを固定しておけば、突如接続できなくなったという事態を回避できます。

初めて接続すると、ユーザー名とパスワードが求められます。
ちなみにデフォルトのままだと、ユーザー名は "pi" です。パスワードはデフォルトでは設定していないので、ユーザー名だけ入力したらEnterキーを押します。

入力するとRetro PieのSDカードにリモートのPCからアクセ出来るようになります。そしたら、"roms" というフォルダがあります。

今回はNintendo64が目当てなので、Nintedo64のフォルダを探します。すると "n64" というフォルダ名で、nintendo64用のフォルダがデフォルトであります。このフォルダ内に遊びたいROMをコピペして入れれば、遊べるようになります。
ちなみに、この中に該当するゲーム機のフォルダが見つからない場合は、エミュレータがインストールされていないので、retropie-setupでエミュレータをインストールしてから、ROMを入れましょう!

Playstation2のように2000年代のゲームROMは、数GBになる場合があります。遊ぶゲームに合わせてSDカードの容量を選びましょう。
このフォルダにROMを入れたら、Retro Pieの方でEmulation Stationの再起動をします。
Retro Pieの画面上で、スタートボタンを押して、MENUを開きます。一番下の項目のところに "QUIT" があるので選択します。すると以下の画面が開きます。

ここで一番上の "RESTART EMULATIONSTATION" を選択します。するとエミュレータが再起動します。もしこの画面の開き方が分からなければ、Retro Pie本体を再起動させてしまっても問題ありません。

再起動させると、先ほど入れたROMがnintendo64の場合であれば、上の画像のように64のエミュレータが表示されます。これを選択すると、nintendo64のROM一覧が表示されるので、その中から遊びたいゲームを選択すれば、ゲームが起動します!
少し長くなってしまいましたが、細かい設定を省いた最もシンプルな始め方だと思います。
最後まで読んでいただきありがとうございました。