(仮)

ヒマなオッサンのメモ

RetroPie

古いゲームはレトロフリークでやることが多いのだが、1つだけ大きな問題がある。 PC-Engine CD-ROM2のゲームができないことだ。

そこで、Raspberry Piをゲーム機にできるRetroPieを試してみた。

https://retropie.org.uk

必要な機材(超重要)

特に重要なのはRaspberry Pi本体とSDカードで、高い性能のものを揃えないと実用的でない。

RasPi3でないとエミュレーション速度が遅くてゲームにならず、 SDカードはclass10でないとRetroPieの起動が遅くてゲームをやる気が削がれることになる。

16GBなら1000円未満で入手できるので、ここはケチケチせずによいものを手に入れるべきだ。

microSDの相性問題

最初は、家に転がっていたメーカー不詳のものを使ってやっていたのだが、 これが非常に不安定で、再起動すると動かなくなることがしばしば。

どうやらファイルシステムの破損が起きているようで、 最終的にはカーネルパニックで起動すらしなくなる。

RetroPieのバグというにはあまりに不安定で諦めかけていたのだが、 ふとSDカードの相性?と思って調べると、やはりあるらしい。

https://elinux.org/RPi_SD_cards

東芝製が比較的安定しているようなので、適当に見繕って16GBのもの(toshiba EXCERIA M301 UHS-I CLASS10)を購入して使ってみたところ、 ようやく安定した動きとなった。

アクセス速度もかなり速く、書き込みがメーカー不詳SDの約3倍(5GB/sec -> 15GB/sec)となったため、 RetroPieの動きも体感できるほど早くなった。

準備

RetroPie入手

ここから4.3をダウンロード retropie-4.3-rpi2_rpi3.img.gz https://github.com/RetroPie/RetroPie-Setup/releases

SDカードをフォーマット

Macの場合、ディスクユーティリティでSDカードを選び消去をすればよい。

イメージを書き込む

Macコマンドラインで実施。 デバイス名は環境により異なるので実施時に確認のこと。

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:          Apple_CoreStorage                         120.4 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *120.0 GB   disk1
                                 Logical Volume on disk0s2
                                 798BD153-ABCD-4C14-BBDF-9E9027CC740F
                                 Unencrypted
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.5 GB    disk2
   1:                 DOS_FAT_32 NO NAME                 15.5 GB    disk2s1

$ sudo diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful

$ sudo dd bs=1m if=retropie-4.3-rpi2_rpi3.img of=/dev/rdisk2 conv=sync
Password:
2145+0 records in
2145+0 records out
2249195520 bytes transferred in 151.199757 secs (14875656 bytes/sec)

初期設定

最低限必要そうなものを列挙。 設定画面が統一されていないのが面倒。

  • コントローラー
    • emulation station起動後に自動的に設定画面が出るので、USBコントローラーを繋いで設定。
    • 最後にホットキー(エミュレーターの制御キー)を有効にするボタン設定もあるが、使っているコントローラーのボタン数が足りないので割り当てない。
    • 割り当てないと本当にそれでよいか念押しをしてくるが、NOを選ぶ。
    • その代わり、ゲーム終了などのエミュレーターの制御は、キーボードで行うことになる。
  • WIFI
    • 設定はemulation stationのconfiguration -> WIFI
    • 接続したいアクセスポイントを選ぶ
    • パスフレーズを入力
  • samba
    • 「RETROPIE SETUP」->「Configuration/tools」->「samba - Configure Samba ROM Shares」->「Install RetroPie Samba shares」
  • SSH
    • RASPI CONFIG -> interfacing -> SSH

PC-Engine エミュレーターの起動

まずはHuカードのゲームを試してみる。

ROMファイルがないとエミュレーターがemulation stationの選択肢にすら出てこず起動できないので、 ROMファイルを既定の場所にコピーする。

ROMファイルのあるPCからRetroPieの共有ディレクトリ \\retropie\roms\pcengine にROMファイルをコピーする。 (RetroPieローカルのパスは /home/pi/RetroPie/roms/pcengine) 拡張子は .pce。

ROMディレクトリにファイルをコピーしたら、いったんemulation stationをrebootする。

STARTを押す -> QUIT -> RESTART EMULATION STATION

rebootが終わると、メニューにPC-Engineが表示されるようになる。 ROMファイルを選んで、ゲームが起動すればOK。

エミュレーターからemulation stationに戻るには、キーボードの ESC を押す。

CD-ROM2 のゲーム

システムカード

CD-ROM2のシステムカードを syscard3.pce という名前にして BIOS ディレクトリに入れておく。 (ROMファイルの場所とは違うので注意)

samba経由なら \\retropie\BIOS へ。 (RetroPieローカルパスは /home/pi/RetroPie/BIOS

詳細はこちらを参照。→ https://github.com/retropie/retropie-setup/wiki/PC-Engine

CDのイメージファイル化

MacPC-EngineのCDをリッピングする方法が不明だったので、 実績のあるWindowsCD Manipulatorを利用。

CD Manipulatorはここから入手→ http://www.storeroom.info/cdm/

CD-ROMをセットし、左上のボタンを押す。

「検索」ボタンを押して、保存ファイル名を指定。 他のオプションを画面のように設定して「OK」を押すと、CDを読んでイメージを作成してくれる。

CD Manipulatorリッピングすると5つファイルができるが、 RetroPieに必要なのは.imgと.cueのみ。

これをsamba経由で \\retropie\roms\pcengine にコピー。

WindowsCD Manipulatorについては、以下を参考にさせていただいた。 http://blog.livedoor.jp/lunchbox360/archives/3306551.html

CD-ROM2ゲームの起動

emulation stationを再起動すると、CD-ROMのゲームが一覧に表示されるようになる。 これを選択すると、システムカードとCDイメージがセットされた状態でPC-Engineエミュレーターが起動。 あとは通常のPC-Engineで動かしているのとまったく同じで、RUN でゲームが起動する。

ここまででひとまず目的は達成。

スクリーンショット

スクリーンショットはデフォルトでキーボードの F8 で取得でき、.png ファイルでRetroPieに保存される。

しかし、デフォルトのsambaの設定では、スクリーンショットが保存されるディレクトリが共有されていない。 これでは面倒なので、共有設定を追加する。

SSHでRasPi3にログオンした後、 /etc/samba/smb.conf を編集。

$ sudo vi /etc/samba/smb.conf

以下をファイルの最後に追加。

[screenshot]
comment = screenshot
writable = yes
path = "/opt/retropie/configs/all/retroarch/screenshots"
guest ok = yes
create mask = 0644
directory mask = 0755
force user = pi

そしてsambaを再起動。 コマンドが分からなかったので、RetroPieで実施。

RETROPIE SETUP -> Configuration / tools -> samba - Configure Samba ROM Shares -> Restart Samba service

これで、\\retropie\screenshot にアクセスすれば .png ファイルを簡単に取り出せるようになる。

こんな感じ。

GATE OF THUNDER

Soldier Blade

まとめ

最初は古いRasPiとSDカードをリサイクルする目的だったが、きちんと使えずかなり無駄な時間を使ってしまった。 結局、新しいRasPiとSDカードに買い換えることになり、当初の目的には見合わない結果となってしまった。

RasPi3本体、ACアダプタ、microSDを全部買い替え、さらにキーボードも追加購入したので、1万円弱の出費に。

さらに失敗だったのは、microSDが16GBでは足りないこと。 CDイメージは1枚500MB程度なのに、手持ちCDが20枚以上あるので、全部入らないことを計算に入れてなかったのだった。

と、いくつか問題はあったものの、お手軽にCD-ROM2で遊べるのは素晴らしい。