RetroPieを使ってみる ~ 簡単に設定できるはずだったが
Raspberry Piで使えるOSに、RetroPieがあります。これは、古いパソコンやゲーム機のエミュレーションができるOSです。と言ってもベースはやはりRaspberry Pi OSで、その上でRetroPieのエミュレーションソフトが動いているというのが正解のようです。
別にWindowsでいろいろなエミュレーターが動いているので、Raspberry Piを使って動かすまでもないのかもしれませんが、Raspberry Piなら最初からエミュレーター専用機にしてしまって、外からはRaspberry Piではなく実機にしか見えないようにできます。
特に、筐体を3Dプリンタで作成して、本物そっくりなエミュレーターマシンにしてしまう人がいます。私はそこまではしないですが、やってみることにしました。BIOSやOSなどがフリー提供されているX68000をRaspberry Piで動かしてみます。
数々の例があるので簡単に動作できると思ったのですが、トラブルの連続でした。やっぱりWindowsのように簡単にはいきません。
それでは、手順を紹介します。
※細かい説明をすると長くなるので、要点を踏まえた説明になっています。逐次更新します。
1.RetroPieのシステムディスクを作成する
Raspberry Pi ImagerのOS選択で、RetroPieが用意されています。
今回は、Raspberry Pi ZeroでRetroPieを動作させます。SDカードを用意して、RetroPieを書き込みます。
2.起動してみる
Raspberry PiにRetroPieが入った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を設定する
Windowsパソコンからの操作と画面取得のためにSSHとVNCを設定します。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の設定
IPLROMやOS、アプリケーションは、Windowsパソコンからアップロードします。そのため、Wi-Fi環境を有効化します。
「Wi-Fi」を選択して、接続するネットワークを設定します。SSIDとパスワードを入力してください。
7.エミュレータコアの設定
Retropieでは、再現するハードウェアの環境を構築する必要があります。X68000の環境を作成します。
「RETROPIE-SETUP」を選択します。
RetroPieのセットアップ画面が表示されます。「Manage packages」を選択します。
「Manage experimental packages」を選択します。
X68000を選択します(複数ありますが、Ir-px68kを選んでください)。
これで、X68000がRetroPieで動作するわけではありません。あくまでも、枠ができたと考えてください。
8.パソコン側にWinSCPを用意する
WindowsパソコンからRaspberry Piへアプリケーションを送信するために、パソコンにWinSCPを用意します。普段使っているFFFTPを使うにはRaspberry PiにFTPサーバーを動作させなければなりませんが、WinSCPではSSHを利用したSFTPが使えます。
窓の杜からダウンロードすると良いでしょう。
インストールしたら、Raspberry Piと接続してみます。IPアドレスを指定し、ユーザ名「pi」、パスワード「raspberry」で接続します。(パスワードは、後で変更しましょう)
9.IPLROMを用意する
X68000のIPLROMはフリー提供されているので、入手します。
以下のファイルを用意します。(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やゲームは拡張子付きのファイルで提供されますが、X68000のOS「Human68k」で提供されるファイルの拡張子「.xdf」はRetroPieの標準には用意されていません。
そこで、拡張子を設定しているファイルに追加します。 「/etc/emulationstation/es_systems.cfg」を開き、.xdfを追加します。
11.動作させるOS/アプリケーションのROMを用意する
X68000で動作させたいのは、Hu-BasicとSX-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で環境を作成する
X68000で動作できないので、X1で環境を構築します。しかし、X1は実機があるのですが、ROMを吸い上げる環境がないことと、BASICやゲームをテープでしか所有したことがなく、それもどこにあるか分かりません(屋根裏にありそうですが)。また、X68000とは違ってIPLROMのフリー提供もありません。
そこで、 以前にネット上で取得していたIPLROMやBASICを使うことにします。まあ、私が提供するわけではないので、所有しているということで今回の説明で使用することにします。
X1は問題なく動作させることができました。しかし、他のサイトでも指摘されていましたが、画面が荒いです。X1はRetroPieとの相性が良くないようです。
14.私には難しい結果になったが
RetroPieを使ってみた結果ですが、予想以上に問題が起きました。そして、RetroPieでX68000を動かすという目的が実現できませんでした。これは、バージョンを下げるなど、解決策があるだろうと思います。また時間が取れる時にチャレンジしたいと思います。⇒動作しました。
しかし、RetroPieで動作できるハードウェアは多種多様です、そのため、機種によっては充実したエミュレーター環境が実現できるでしょう。著作権に問題がなければ、ぜひチャレンジしてみてください。