その2:X68000(px68k)の場合
シャープのX68000のエミュレータpx68kは、RetroPieでは実験用(EXPERIMENTAL)という位置づけである。残念ながら、動作がとても遅いためゲームは遊べない。
追記:RetroPie-Setupからインストールできるようになったlr-px68kだと、大本にあたるpx68kと比較して非常に軽快に動作する。ただしキーボード操作に難あり。以下のエントリで触れている。
eagle0wl.hatenadiary.jp
px68kをインストールする
RetroPieメニューからRetroPie Setupを選択するか、以下のコマンドを打つ。
$ sudo ~/RetroPie-Setup/retropie_setup.sh
RetroPie-Setup Scriptが起動するので、[Manage package] [Manage experimental packages] [px68k] [Install from source] と選択するとpx68kがインストールされる。
BIOSを配置する
インストール後、ホームディレクトリにシンボリックリンクが追加されていることが確認できる。
$ cd ~ $ ls -la ... lrwxrwxrwx 1 pi pi 28 9月 1 00:37 .keropi -> /opt/retropie/configs/x68000 ...
/opt/retropie/configs/x68000 には何が入っているのかというと、エミュレータの動作に必要なBIOS ROMファイルのシンボリックリンクである。
$ ls -l .keropi/ 合計 4 lrwxrwxrwx 1 root root 32 9月 1 00:37 cgrom.dat -> /home/pi/RetroPie/BIOS/cgrom.dat -rw-r--r-- 1 pi pi 70 9月 1 00:37 emulators.cfg lrwxrwxrwx 1 root root 33 9月 1 00:37 iplrom.dat -> /home/pi/RetroPie/BIOS/iplrom.dat lrwxrwxrwx 1 root root 35 9月 1 00:37 iplromco.dat -> /home/pi/RetroPie/BIOS/iplromco.dat lrwxrwxrwx 1 root root 35 9月 1 00:37 iplromxv.dat -> /home/pi/RetroPie/BIOS/iplromxv.dat lrwxrwxrwx 1 root root 34 9月 1 00:37 plrom30.dat -> /home/pi/RetroPie/BIOS/plrom30.dat $
これに合わせる形で、/home/pi/RetroPie/BIOS/ フォルダに以下のファイルを配置する。ファイル名は小文字。OSやBIOS ROMファイルは公式に無償公開されているのでネットから入手可能。
BIOS ROMファイル:iplrom.dat、iplrom30.dat、iplromco.dat、iplromxv.dat
→IPL-ROM - 無償公開されたシャープのソフトウェア - ソフトウェアライブラリ - X68000 LIBRARY
フォントイメージ:cgrom.dat (cgrom.tmpをリネームしても良い)
→実機から吸い出すか、WinX68k高速版を使って代替フォントイメージcgrom.tmpを生成しリネームするか、念写する
ROMを配置する
ROMイメージは以下に配置する。
/home/pi/RetroPie/roms/x68000
今回は『超連射68k』(CH68_101.2HD)と、これの起動に必須となる『Human68k』システムディスク(HUMAN302.XDF)を配置した。
CHO_REN_SHA 68K
Human68k version 3.02 のシステムディスク - 無償公開されたシャープのソフトウェア - ソフトウェアライブラリ - X68000 LIBRARY
EmulationStationで再起動するとメニューが…恐らく出ないはずである。読み込み対象となる拡張子が .dim, .DIM だけしか設定されていないためである。px68kはもっと多くの拡張子に対応しているので、EmulationStationの設定ファイルを編集してこれを増やす。
$ sudo nano /etc/emulationstation/es_systems.cfg
extensionタグの要素が.dim, .DIM だけになっているはずなので追記する。
... <system> <name>x68000</name> <fullname>X68000</fullname> <path>/home/pi/RetroPie/roms/x68000</path> <extension>.dim .DIM .d88 .D88 .88d .88D .hdm .HDM .dup .DUP .2hd .2HD .xdf .XDF .img .IMG .hdf .HDF</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ x68000 %ROM%</command> <platform>x68000</platform> <theme>x68000</theme> </system> ...
EmulationStationを再起動すると、メインメニューにX68000が現れるはずである。
ただし、デフォルトテーマのcarbonはX68000用のデータが無いため、専用ロゴのない簡素なものになっている。これはあとからゴージャスにする。
いきなり『超連射68k』を選んでも、デフォルトでは割り当てメモリが1MBしかないので、Human68Kは立ち上がるがゲームが起動しない状況に遭遇する。割り当て変更のため、まずはHuman68Kシステムディスクを起動する。
switchコマンドを入力してSRAMの設定を行う。
A>switch
MEMORY→12288KBを選んでメニューを抜ける。
F12キーを押してSYSTEM→QUITを選択するとエミュを終了できる。これで『超連射68k』を起動できるようになった。
しかしながら、とても動作が重く(2-4fpsぐらい?)ゲームにならないのが残念。RPi2Bで試しているが、RPi3Bでもあまり変わらないように思う。
carbonテーマにX68000を追加する
※2016/12/13追記 以下のエントリの「carbonの修正」に記載されている通りにカスタムテーマ『carbon-mod』を導入すると、この作業は省略できる。
eagle0wl.hatenadiary.jp
とりあえず動作確認はできたので、EmulationStationの簡素な表示をどうにかする。詳細はWikiに譲るとして、デフォルトテーマのcarbonがX68000に対応していないので、ありあわせで補完する。
$ cd /etc/emulationstation/themes/ $ ls carbon simple-dark simplebigart $
テーマを追加でインストールしている場合はcarbon以外にもフォルダがあるが、無視してcarbonに直行。
$ cd /etc/emulationstation/themes/carbon/ $ ls 3do atari800 daphne gbc mess oric retropie supergrafx wonderswan ags atarijaguar desktop gc misc pc samcoupe tg-cd wonderswancolor amiga atarilynx dragon32 genesis msx pce-cd saturn tg16 zmachine amstradcpc atarist dreamcast intellivision n64 pcengine scummvm theme.xml zxspectrum apple2 bbcmicro fba kodi nds ports sega32x ti99 arcade c64 fds love neogeo ps2 segacd trs80 art carbon.xml gameandwatch macintosh nes psp sg-1000 vectrex atari2600 channelf gamegear mame ngp psx snes videopac atari5200 coco gb mastersystem ngpc readme.txt steam virtualboy atari7800 colecovision gba megadrive odyssey2 residualvm stratagus wii $
機種ごとにフォルダが分けられているが、ファイル構造はほぼ同じである。nesフォルダを例に挙げる。
$ find /etc/emulationstation/themes/carbon/nes/ /etc/emulationstation/themes/carbon/nes/ /etc/emulationstation/themes/carbon/nes/art /etc/emulationstation/themes/carbon/nes/art/system.svg /etc/emulationstation/themes/carbon/nes/art/system2.svg /etc/emulationstation/themes/carbon/nes/art/controller.svg /etc/emulationstation/themes/carbon/nes/theme.xml
nesフォルダをベースに画像だけを差し替えたい。
$ cd /etc/emulationstation/themes/carbon/ $ sudo cp -r nes x68000
このような差し替え画像を用意した。
X68000のロゴは、白抜きと黒抜きの2種類用意している。コントローラの画像はテンキーをイメージして自作してみた。X68000のロゴについてはggrと出てくる。SVG形式の画像編集はInkscapeが便利である。
FileZillaで/tmp/artにアップロードしてからコピーする。
$ cd x68000 $ sudo mv art art.old $ sudo mv /tmp/art art
theme.xmlを少しだけ編集する。
$ sudo nano theme.xml
該当箇所のファイル名を変更(黒抜きのsystem.svg→白抜きのsystem2.svg)する。
... <view name="basic, detailed"> <image name="logo"> <path>./art/system2.svg</path> <pos>0.266 0.074</pos> <maxSize>0.460 0.126</maxSize> <origin>0.5 0.5</origin> </image> ...
再起動すると、X68000のロゴが表示されてカッコ良くなった。
これでX68000対応を終わりにしたい。
余談ではあるが、carbonテーマに限らずメインメニューに表示されるゲーム機のロゴの大半は海外版である。愛着のある方は、各フォルダのsystem.svgを日本版のロゴに替えてみると面白い。