MENU

ラズパイZero2WとGPi Caseでゲームボーイ風エミュレーターを作りました


Raspberry Pi Zero 2Wが手に入ったので、GPi Caseを使ってゲームボーイ風エミュレーターを作りました。
めちゃくちゃ簡単に携帯ゲーム機が作れてしまったので、ちょっと感動です。

この記事では、作り方と使い方、遊んでみた感想と不満点を書きました。

紹介編

GPi Caseって?

ゲームボーイを模したラズパイZero用のケースです。


Amazon.co.jp: レトロフラッグ RETROFLAG ゲームボーイ風ラズベリーパイケース GPi Case Raspberry Pi Zero Raspberry Pi Zero W 432219 : パソコン・周辺機器

これホントよくできてて、液晶もボタンも一通りついてるから、専用のOSを焼いたラズパイZeroを入れるだけですぐに遊べるんですよね。
しかも、専用OSは公式のRaspberry Pi Imagerから書き込めるという優遇っぷり。

Raspberry Pi Zero 2Wって?

ちっちゃいラズパイです。

Raspberry Pi Zero 2 W — スイッチサイエンス

めちゃくちゃざっくり説明すると、Raspberry Pi 3Bをちっちゃくして、メモリを少なくして、CPUのクロックを抑えたやつです。
じゃあRaspberry Pi 3より劣るかといえばそんなことはなくて、こちらのサイトによるとゲーミングがらみのベンチマークスコアはほぼ同等となっています。
まぁエミュレータの場合はCPUのスコアが影響してくるのかもしれんけど、よくわからんので各自調べてください。

あと今回の用途では大事な特徴として、先代のRaspberry Pi Zeroと形状・ピンアサインがすべて同じになっています。
そのため、もともとはZero用に作られたGpi CaseにZero 2Wを組み込むことが可能になってます。

作ってみた編

OSの準備

まずはOSの準備からしていきましょう。

GPi Case用の専用OSのうち、Raspberry Pi ImagerからインストールできるOSはRecalboxLakkaの2種類です。
RetroPieも使えますが、使いにくいので試してません。
初期設定とかムズいんで。

あと、LakkaのほうはインストールしてもGPi Caseが上手く動いてくれなかったので、今回はRecalboxだけ紹介します。

  1. Micro SDをPCに挿す。
    今回使用したMicroSDはBuffalo製の32GBのやつです。

  2. Raspberry Pi Imagerを起動して、「OSを選ぶ」→「Emulation and game OS」→「Recalbox」→「Recalbox - GPi Case + Raspberry Pi Zero 2」と選択。

  3. 「ストレージを選ぶ」を選択し、Micro SDのドライブを選択

  4. 「書き込む」を選択し、書き込み実行

これで完了です。

組み立て方

わかりやすい説明書が同梱されてますし、めちゃくちゃ簡単なので、ここではさらっと紹介しときます。
10分くらいでできるんじゃないかな。

ちなみに、内容物はこんな感じでした。

本体とねじとドライバーと電源ケーブル、あとはマニュアルですね。

では早速組み立てていきましょうか。

まずはカートリッジを外します。

写真では特に意味なく電池の蓋も外してます。

次にカートリッジを開けます。

中には基板が入ってます。
この丸っこいピン(ポゴピン)にラズパイの端子がフィットするんですね。
ばね性があるのでラズパイの端子としっかり導通するようになってます。
よくできてますね。

基板の裏はこんな感じ。

続いてケーブルをラズパイZero2WのUSBポートに挿します。

そしてポゴピンにラズパイの端子を合わせて折り畳み、

カートリッジに戻して

蓋を同梱されてるねじで締めます。

あとはカートリッジを本体に戻して完成です。

Safe Shutdown Scriptのインストール方法

マニュアルのほうにはSafe Shutdown Scriptあるよって書いてあるので、必要ならインストールしましょう。

やり方としては、別PCからGPi Caseにssh接続してインストール用スクリプトを実行するのがいいと思います。
難しそうであれば、この手順は飛ばしても遊べます。
気が向いたら戻ってきてください。

手順は次の通りです。
GPi Caseは電源ONの状態で行ってください。

まずはPCでwindows powershellを立ち上げます。

powershellで次のコマンドを入力して、GPi Caseにssh接続します。

ssh root@RECALBOXGPI

「Are you sure you want to continue connecting」とか聞かれた場合はyesと回答してください。
その後すぐにパスワードを聞かれると思うので、「recalboxroot」と入力してEnterしてください。
これでGPi Caseにsshで接続できました。

続いて次のコマンドを入力してSafe Shutdown Scriptをインストールします。

wget -O - "https://raw.githubusercontent.com/RetroFlag/retroflag-picase/master/recalbox_install_gpi.sh" | bash

インストールが終わるとGPi Caseが勝手に再起動するので、これを待ってSafe Shutdown Scriptのインストールは完了です。

ああ、GPi Caseの電池カバー内のSafe ShutdownスイッチをONにするのも忘れずに。

パッチのインストールについて

パッチをインストールしろって書いてあるんですけど、当てたら起動しなくなり、逆にアンインストールしたら起動するようになったので、Recalbox+Zero2Wの場合は当てなくていいです。
Recalbox以外とZero2W以外の場合はわかりません。

ゲームの入れ方

ゲームのromデータは別PCから無線LANを介してネットワーク上のGPi Caseに入れます。

ROMデータは、例えばCartReaderなどを使ってカセットから吸い出して用意してください。

参考記事↓
geekyfab.com

では早速入れ方ですが、別PCでエクスプローラーを開き、ネットワークをクリックすると、RECALBOXGPIという名前で見えます。

ネットワーク上にRECALBOXGPIがいる

「RECALBOXGPI」→「share」→「roms」とクリックすると各コンソールごとのフォルダがあります。

\RECALBOX\share\roms

この各コンソールごとのフォルダに用意したROMデータを置けばOKです。

例えば、ファミコンのロックマン3を遊ぶには、「nes」フォルダにROMデータを置けばOKです。
(nesはファミコンの国外版です。)

遊んでみた編

遊んでみた

準備が完了したので、さっそく遊んでみました。
ずっとやりたかったファミコンのロックマンシリーズ

ロックマン3

ロックマン4

スクリーンショットも取れます。

ロックマン3 なんとかワイリーステージまで来た…

むずい!でも楽しい!!
それにしてもファミコンからこんなむずかったんだ。
RTA動画だと簡単そうに見えたのに(※当たり前)
どこでもセーブ機能がなかったら完全に心折れてます。

ほかにもスーファミとか64とかもちょっとだけ触ってみました。

スーパーマリオワールド このボスこんなに強かったっけ…

スーパーファミコンのスーパーマリオワールドは問題なくプレイできました。
処理落ちもなく、これはいい感じ。

ゼルダの伝説 ムジュラの仮面 デクナッツのお面怖すぎ

NINTENDO64のムジュラの仮面はところどころムービーが映らない感じでした。
これはOSのせいかGPi Caseのせいか不明です。
プレイ自体は処理落ちもなく、かなり快適にプレイできました。
とはいえ、そもそもボタンの数が足りないんですけどね。
cボタン押せないので詰みます。

本体についての出来栄えはかなり満足です。
最近のゲーム機としては液晶の小ささが気になるかなと思ってましたが、プレイしているうちに全く気にならなくなります。
昔のゲームボーイとかも液晶めちゃくちゃ小さかったけど、遊んでるうちに液晶の大きさを忘れてるあの現象です。

電池持ちについて

GPi Caseは単三電池3本で駆動します。

満充電状態のエネループで遊んでみたところ、合計で約二時間半ほど遊べました。
amazonレビューとか見ると、そもそもエネループでは動作が安定しないとか書いてあったので不安なところではありましたが、問題ありませんでした。

不満な点

おおむね満足なんですが、何点か不満な点もあったので書いときます。

処理落ち

CPUなのかメモリなのかエミュレーターなのか、何が悪いのかよくわからないのですが、ファミコンのロックマン3で敵やオブジェクトがいっぱい出てくるところは処理落ちが見られました。

こいつが玉いっぱい打った瞬間とか処理落ちする

設定とかで何とかできそうな気もするけど、わかんない。
[追記]
ファミコン実機でも同等程度の処理落ちがありましたし、他エミュレーターでも処理落ちがありました。
ですので、Gpi Caseが特段処理落ちが激しいというわけではなさそうです。

Bluetoothイヤホン非対応?

オーディオ出力がスピーカーとイヤホンジャックしかなく、Bluetoothイヤホンはつながらないっぽいです。
Bluetoothコントローラーのペアリング設定はあるので、できそうな可能性は秘めてますが、うーん…

ボタンが少ない

上でも書いた通り、ボタンの数が足りないので64のゲームとかを遊ぶのはちょっと厳しいです。
スーファミまでのゲームを遊ぶのなら問題ないのですが、ボタンの数がスーファミと同じ数までしかなく、アナログスティックもありません。
一応コントローラーをペアリングすれば遊べるだろうけど、そこまでするのはちょっとなー

最後に

今回はGPi CaseとRaspberry Pi Zero 2 Wを使って、ゲームボーイ風エミュレーターを作成しました。
組み立ても分解も簡単ですし、ラズパイで何か作ってみたいという人や、レトロゲームを遊ぶための携帯エミュレーターが欲しいという人におすすめできます。

ちょっと不満な点はありましたが、総合的にはかなり満足してて、毎日のようにこれでファミコンのロックマンシリーズを遊んでます。
ロックマンが難しすぎるおかげで、しばらくはこれで遊び続けられそうです…

今回はこれで終わります。