RetroPieを使ってみる ~ 簡単に設定できるはずだったが

2022年1月2日

Raspberry Piで使えるOSに、RetroPieがあります。これは、古いパソコンゲーム機エミュレーションができるOSです。と言ってもベースはやはりRaspberry Pi OSで、その上でRetroPieエミュレーションソフトが動いているというのが正解のようです。

別にWindowsいろいろなエミュレーターが動いているので、Raspberry Piを使って動かすまでもないのかもしれませんが、Raspberry Piなら最初からエミュレーター専用機にしてしまって、外からはRaspberry Piではなく実機にしか見えないようにできます。

特に、筐体を3Dプリンタで作成して、本物そっくりなエミュレーターマシンにしてしまう人がいます。私はそこまではしないですが、やってみることにしました。BIOSOSなどがフリー提供されているX68000Raspberry Piで動かしてみます。

数々の例があるので簡単に動作できると思ったのですが、トラブルの連続でした。やっぱりWindowsのように簡単にはいきません。

それでは、手順を紹介します。

※細かい説明をすると長くなるので、要点を踏まえた説明になっています。逐次更新します。

1.RetroPieのシステムディスクを作成する

Raspberry Pi ImagerのOS選択で、RetroPieが用意されています。

今回は、Raspberry Pi ZeroRetroPieを動作させます。SDカードを用意して、RetroPieを書き込みます。

2.起動してみる

Raspberry PiRetroPieが入ったSDカードをセットして、起動します。コマンドラインに様々な出力が表示されて、Retropieが起動します。

特に問題が起こることはないでしょう。

3.キーを配置する

起動して最初に行う作業は、キー配置の設定です。今回は、キーボードによる操作を予定しています。普通はゲームコントローラーを使いますが、キーボードでも設定できます。

起動後のメニューで「A」キーを長押しします。すると、各キーの設定に移ります。そして、指示されたキーをキーボードのキーに割り当てていきます。

しかし、この割り当てがほんとに分かりづらい。割り当ては以下のようにしてみました。

D-PAD UP -> 上矢印キー
D-PAD DOWN -> 下矢印キー
D-PAD LEFT -> 左矢印キー
D-PAD RIGHT -> 右矢印キー
START -> F5キー
SELECT -> F1キー
BUTTON A -> Aキー
BUTTON B -> Zキー 連射になるキー
BUTTON X -> Xキー 爆弾になるキー
RIGHT THUMB -> \キー ※最後のOKで必要? LEFT THUMBのキーかもしれないし、それ以外かも
HOT KEY -> F10

あとは省略します。好きなキーを割り当ててください。

大問題になったのが、キーの設定が終わった後の「OK」です。これが、どのキーに割り当てられるのか、いまだに良く分かりません。上で示した「\キー」ではないかもしれません。各自で確認お願いします。

設定が終わったら、再起動します。(メニューから選択できない場合があるかも)

起動後に、エミュレーションする実機の一覧が出ます。しかし、現時点では何も登録していないので、RetroPieのみの表示です。RetroPieを選択すると、設定画面に移動します。

さて、キー操作は上で設定したキーになります。例えば、決定が「A」キー、前に戻るが「Z」キーになります。「A」キーを押して作業を進めましょう!

4.SSHとVNCを設定する

暗くて分かりにくいですが、Raspi-Configが選択されています

Windowsパソコンからの操作と画面取得のためにSSHVNCを設定します。raspi-configを起動して設定します。

しかし、SSHは設定できますが、VNCがどうしても設定できません。VNCを有効化するとエラーがでるので、Raspberry Pi OSをアップデートしましたが、今度はVNCが有効になっても、VNCクライアントで表示ができません。調べるとRetroPieにはXサーバーがないからとか出ていました。接続できるVNCクライアントソフトもあるようですが、今回は使わないことにしました。

※そのため、RetroPieの画面をカメラで撮影しています。ご了承ください

5.再起動と終了の方法

ここで、RetroPieの再起動と終了を説明しておきます。STARTボタン(例ではF5)を押すと、メニューが出てきます

メニュー最後の「QUIT」を選択します。

再起動や終了のメニューが出てきます。RetroPieの再起動/終了で済む場合と、Raspberry Piまで再起動/終了が必要な場合に応じて選択してください。

6.Wi-Fiの設定

暗くて分かりにくいですが、Wi-Fiが選択されています

IPLROMOSアプリケーションは、Windowsパソコンからアップロードします。そのため、Wi-Fi環境を有効化します。

Wi-Fi」を選択して、接続するネットワークを設定します。SSIDとパスワードを入力してください。

7.エミュレータコアの設定

Retropieでは、再現するハードウェアの環境を構築する必要があります。X68000の環境を作成します。

暗くて分かりにくいですが、RETROPIE-SETUPが選択されています

「RETROPIE-SETUP」を選択します。

RetroPieのセットアップ画面が表示されます。「Manage packages」を選択します。

Manage experimental packages」を選択します。

X68000を選択します(複数ありますが、Ir-px68kを選んでください)。

これで、X68000RetroPieで動作するわけではありません。あくまでも、枠ができたと考えてください。

8.パソコン側にWinSCPを用意する

WindowsパソコンからRaspberry Piへアプリケーションを送信するために、パソコンにWinSCPを用意します。普段使っているFFFTPを使うにはRaspberry PiにFTPサーバーを動作させなければなりませんが、WinSCPではSSHを利用したSFTPが使えます。

窓の杜からダウンロードすると良いでしょう。

インストールしたら、Raspberry Piと接続してみます。IPアドレスを指定し、ユーザ名「pi」、パスワード「raspberry」で接続します。(パスワードは、後で変更しましょう)

9.IPLROMを用意する

X68000IPLROMはフリー提供されているので、入手します。

以下のファイルを用意します。(IPLROMは、最初の一つだけでも構いません)

IPLROM.DAT
IPLROM30.DAT
IPLROMCO.DAT
IPLROMXV.DAT
cgrom.dat

Raspberry Piへアップロードする

RetroPieフォルダにBIOSフォルダがあります。さらに中にkeropiフォルダがあるので、IPLROM一式をアップロードします。(※keropiフォルダを使うのはX68000の場合で、他の実機で該当のフォルダがない場合は、BIOSフォルダにROMを置きます)

WinSCPを使ってアップロードします。

IPLROM.DATなど、大文字のファイル名になっていますが、小文字に変換してください。

10.拡張子

OSやゲームは拡張子付きのファイルで提供されますが、X68000OSHuman68k」で提供されるファイルの拡張子「.xdf」はRetroPieの標準には用意されていません。

そこで、拡張子を設定しているファイルに追加します。 「/etc/emulationstation/es_systems.cfg」を開き、.xdfを追加します。

11.動作させるOS/アプリケーションのROMを用意する

X68000で動作させたいのは、Hu-BasicSX-Windowです。どちらもフリー提供されているので、用意します。

Raspberry Piへアップロードする

送る先は、romsフォルダにあるX68000フォルダです。

転送したら、再起動しましょう。

12.MENUにX68000が追加される

起動後の画面に、X68000が追加されました。選択してみます。

X68000のOS「Human68k」が一覧にあります。選択して実行してみます。

ところが、実行されずに元の画面に戻ってしまいます。実行時に環境設定が選べるので、いろいろ設定してみたのですが、どうしても実行できません。エラーログを見ても、起動コマンド以外は記録されていませんでした。

ネットで調べても、解決に至っていません。Raspberry Pi ZeroだけでなくRaspberry Pi 4 modelBでもやってみましたが、同じです。

今のところ解決できていません。解決次第、リライトします。

再トライで動作しました!

2022年10月に、再トライして動作するようになりました。やったことは、まずはアップデートを行いました。

sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean
sudo reboot

で、RetroPieの環境を最新にしました。次に、IPLROMなどの大文字ファイル名を小文字にしました。これは前回やったはずなので関係ないと思いますが、小文字にするのが正解とのことです。

SX-Windowhuman68kのビジュアルシェルが表示されました。この操作については、いずれ記事として投稿しようと思います。

X68000のフリーのゲーム「超連射68k」を動かしてみました。ゲームは普段しないので再現性がどれだけなのかを判断できませんが、ゲームとして成立する速度で動作しています。

13.X1で環境を作成する

押し入れに眠るX1

X68000動作できないのでX1で環境を構築します。しかし、X1は実機があるのですが、ROMを吸い上げる環境がないことと、BASICゲームテープでしか所有したことがなく、それもどこにあるか分かりません(屋根裏にありそうですが)。また、X68000とは違ってIPLROMのフリー提供もありません。

そこで、 以前にネット上で取得していたIPLROMBASICを使うことにします。まあ、私が提供するわけではないので、所有しているということで今回の説明で使用することにします。

X1は問題なく動作させることができました。しかし、他のサイトでも指摘されていましたが、画面が荒いです。X1RetroPieとの相性が良くないようです。

14.私には難しい結果になったが

RetroPieを使ってみた結果ですが、予想以上に問題が起きました。そして、RetroPieX68000を動かすという目的が実現できませんでした。これは、バージョンを下げるなど、解決策があるだろうと思います。また時間が取れる時にチャレンジしたいと思います。⇒動作しました。

しかし、RetroPieで動作できるハードウェアは多種多様です、そのため、機種によっては充実したエミュレーター環境が実現できるでしょう。著作権に問題がなければ、ぜひチャレンジしてみてください。