マルチシステムエミュレーター「Mednafen」をMacOSXでコンパイルする方法を紹介します。
Mednafen は GameBoy, GameBoyAdvance, GameGear, Lynx, MegaDrive, NeogeoPocket, FamilyComputer, PC-Engine, PC-FX, PlayStation, MasterSystem, SuperFamicom, VirtualBoy, WonderSwan などに対応したマルチシステムエミュレータです、v0.4.5からMacOSXでもコンパイルできるようになりました。
FCE Ultra、VisualBoy Advance、Handy といったオープンソースなエミュレータのコードをペースにして開発されていますので、基本的にそれらのエミュレータとほぼ同じ性能といえます。多彩なグラフィックエフェクトやネットワークプレイ、USBジョイスティック、スクリーンショット、セーブステート、OpenGLによるフルスクリーンモードなどの機能を搭載しています。
今回はこの Mednafen をOSXでコンパイルする方法を紹介します。オフィシャルサイトから最新のソースをダウンロードしておいてください。
・Mednafen – Multi-system Emulator オフィシャルサイト
公式サイト: http://mednafen.sourceforge.net
ダウンロード: http://sourceforge.net/projects/mednafen/
各ライブラリのコンパイルとインストール
Mednafen をコンパイルするには以下のライブラリが必要です。
・SDL 1.2
公式サイト: http://www.libsdl.org/download-1.2.php
ダウンロード: http://www.libsdl.org/release/SDL-1.2.15.tar.gz
・libsndfile
公式サイト: http://www.mega-nerd.com/libsndfile/
ダウンロード: http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25.tar.gz
(1.0.25がコンパイルできない場合)
プレビュー版: http://www.mega-nerd.com/tmp/libsndfile-1.0.26pre5.tar.gz
・libcdio (v0.9.38 から不要)
公式サイト: http://www.gnu.org/software/libcdio/
ダウンロード: http://ftp.gnu.org/gnu/libcdio/libcdio-0.93.tar.gz
・pkgconfig (もしかしたら必要かも)
公式サイト: http://www.freedesktop.org/wiki/Software/pkg-config/
ダウンロード: http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz
「SDLライブラリのインストール」を参考にして、各ライブラリをインストールしてください。
Mednafen のコンパイル
各ライブラリのインストールが終わったらさっそくMednafenをコンパイルしてみましょう。
ダウンロードした Mednafenのソースを解凍してHomeフォルダに置いてください。
Terminalを起動してmednafenフォルダに移動します。
Mac-mini:~ jazzin$ cd mednafen
次に configure コマンドを使ってMakefileを作成するのですが、その前にヘルプを表示してみましょう。Terminalから「./configure -help」と入力します。
Mac-mini:~/mednafen jazzin$ ./configure -help
configureで使用できるオプションが表示されました。 configureコマンドの後ろにオプションを追加することで Makefileの設定を変更する事ができます。
ここで使用しない機能などを無効にしたりできますが、とりあえずデフォルトの状態(全てのエミュレーターを有効)でコンパイルしてみましょう。
ではconfigureを開始。 Terminalから「./configure」と入力。
Mac-mini:~/mednafen jazzin$ ./configure
configureが開始されました、終了するまで約1分程度かかります。エラーがなければ成功。
最後にmakeを実行。 Terminalから「make」と入力します。
Mac-mini:~/mednafen jazzin$ make
コンパイルは約10分程度かかります、CPUパワーを消費するのでコンパイル中はシステムが多少重くなる事があるかもしれません。エラーがでなければ成功、エミュレーターの完成です。
出来上がったエミュレータ(実行ファイル)は src フォルダの中に作成されます。
mednafenのインストール
最後に実行ファイル「mednafen」をインストールします。
Terminalから「sudo make install」と入力。
Mac-mini:~/mednafen jazzin$ sudo make install
mednafenが /usr/local/bin の中にインストールされました。
これで Terminal から「mednafen」を実行できるようになります。
*ランチャーなどを使用する場合はこの作業は必要ありません。
mednafen を起動する
では実際にエミュレーターを起動してみましょう。
例としてディスクトップ上にある「Gradoius.nes」を起動してみます。
*ROMイメージは予め用意しておいてください。
Terminal から「mednafen /ROM名.拡張子」と入力してください。
Mac-mini:~ jazzin$ mednafen /Users/Jazzin/Desktop/Gradius.nes
/ROM名を入力するのが面倒な場合はROMを直接 Terminalにドラッグ&ドロップしてください、問題なければこれでゲームが起動します。
ファミコン用ソフト「グラディウス」が起動できました。ウィンドウの大きさやグラフィックエフェクトなどの設定は Mednafen のコンフィグファイル「mednafen-09x.cfg」に保存されます。
エミュレーターを終了するには「esc」または「F12」キーを押してください。
設定ファイルを編集する
Mednafen の設定を保存するコンフィグファイル「mednafen-09x.cfg」は、Homeの「.mednafen」という不可視フォルダの中にあります。Finderからは見えないようになっているのでメニューの「移動」-「フォルダへ移動…」(Command + Shift + G キー)を使って表示してください。
入力フィールドに「~/.mednafen」と入力します。
.mednafenフォルダが開きました、設定を変更するにはこの中の「mednafen-09x.cfg」ファイルをテキストエディットなどを使って編集します。
チートファイルやセーブステート、スナップショットなどのファイルもこのフォルダの中に保存されます。
*BIOSファイルは「firmware」フォルダの中に入れてください。
mednafen.cfg をテキストエディットで開くと以下のようなフォーマットで設定が記述されています。
ネットワークの設定、各エミュレーターの設定、エミュレーター共通の設定などがあります。
例としてNES用エミュレーターの設定を編集してみましょう。先頭に「nes.」と付いている設定が対象です。
(例) NESエミュレーターの設定
■フルスクリーンモードの解像度を設定します。
;Full-screen horizontal resolution.
nes.xres 640
;Full-screen vertical resolution.
nes.yres 480■ウィンドウモード時の拡大率を設定します。
;The scaling factor for the X axis.
nes.xscale 1
;The scaling factor for the Y axis.
nes.yscale 1■フルスクリーンモード時の拡大率を設定します。
;The scaling factor for the X axis in fullscreen mode.
nes.xscalefs 2
;The scaling factor for the Y axis in fullscreen mode.
nes.yscalefs 2■スキャンラインを表示するかを設定します。[画面x2 以上](Yes=1 / No=0)
;Enable scanlines with specified transparency.
nes.scanlines 1■フルスクリーン時に画面をストレッチさせるかを設定します。(Yes=1 / No=0)
;Stretch to fill screen.
nes.stretch 1■画面をぼかして表示するかを設定します。(Yes=1 / No=0)
;Enable bilinear interpolation.
nes.videoip 1■画像エフェクトを設定します。
;Enable specified special video scaler.
nes.special none
全てのエミュレーター共通の設定。
■フルスクリーンモードで起動するかを設定します。(Yes=1 / No=0)
;Enable fullscreen mode.
fs 1■ビデオドライバーの設定。
;Select video driver. 0 = OpenGL, 1 = SDL surface blits
vdriver 0■連射ボタンのスピード設定。(「autofirefreq 3」の場合は20連射)
;Auto-fire frequency.
autofirefreq 3
*Mednafenの詳しい内容や使い方などについては付属のドキュメントをご覧下さい。
オンライン Documentation
http://mednafen.sourceforge.net/documentation/