Laboratory|Mednafen


News | History | About | Link | Emulator | Soft | Lab | Game | Gallery | BBS

第11回 Mednafenをコンパイルする。

 

マルチシステムエミュレーター Mednafen

 Mednafen は Atari Lynx, GB, GBC, GBA, NES, PC-Engine, SuperGrafx に対応したマルチシステムエミュレーターです、バージョン0.4.5からMacOSXでもコンパイルできるようになりました。
 FCE Ultra、VisualBoy Advance、Handy といったオープンソースなエミュレーターのコードをペースにして開発されていますので、基本的にそれらのエミュレーターとほぼ同じ性能といえます。多彩なグラフィックエフェクトやネットワークプレイ、USBジョイスティック、スクリーンショット、セーブステート、OpenGLによるフルスクリーンモードなどの機能を搭載しています。

 今回はこの Mednafen をOSXでコンパイルする方法を紹介します。オフィシャルサイトから最新のソースをダウンロードしておいてください。

・Mednafen - NES, PC Engine, GB, GBA, Atari Lynx Emulator
  http://mednafen.com/

 


各ライブラリのインストール

 Mednafen をコンパイルするには以下のライブラリが必要です。


・SDL
・SDL_net
・libcdio
・libsndfile
・pkgconfig
・Jack audio kit
・zlib

Ver 0.5.2 以下で必要
・libogg
・libvorbis

Ver 0.4.5 以下で必要
・libsamplerate
http://www.libsdl.org/download-1.2.php
http://www.libsdl.org/projects/SDL_net/
http://www.gnu.org/software/libcdio/
http://www.mega-nerd.com/libsndfile/
http://pkgconfig.freedesktop.org/
http://jackaudio.org/
http://www.zlib.net/


http://www.xiph.org/ogg/
http://www.xiph.org/ogg/


http://www.mega-nerd.com/SRC/

「第0回 MacOSXで開発環境を構築する。」を参考に各ライブラリをインストールしてください。

  


Mednafen のコンパイル

 各ライブラリのインストールが終わったらさっそく「Mednafen」をコンパイルしてみましょう。ダウンロードしたMednafenのソース「mednafen-0.5.2.tar.bz2」を解凍してHomeフォルダに置いてください。

 

 Terminalを起動してmednafenフォルダに移動します。

nekocan:~ jazzin$ cd mednafen

 次に configure コマンドを使ってMakefileを作成するのですが、その前にヘルプを表示してください。Terminalから「./configure -help」と入力します。

nekocan:~/mednafen jazzin$ ./configure -help



 configureで使用できるオプションが表示されました。 configureコマンドでは後ろにオプションを追加することで Makefileの設定を変更する事ができます。
 ここで使用しないエミュレーターなどを無効にしたりできますが、とりあえずデフォルトの状態(全てのエミュレーターを有効)でコンパイルしてみましょう。

 ではconfigureを開始。 Terminalから「./configure」と入力。

nekocan:~/mednafen jazzin$ ./configure

 

 

 configureが開始されました、終了するまで約2〜3分かかります。エラーがでなければ成功。

 最後にmakeを実行。 Terminalから「make」と入力します。

nekocan:~/mednafen jazzin$ make

 

 

 コンパイルは約20分くらいかかります。CPUパワーを消費するのでコンパイル中はシステムが多少重くなる事があるかもしれません。エラーがでなければ成功、エミュレーターの完成です。

 

 出来上がったエミュレーター(実行ファイル)は src フォルダの中に作成されます。

 この後実行ファイル「mednafen」をインストールします。

Terminalから「sudo make install」と入力。

nekocan:~/mednafen jazzin$ sudo make install

 mednafenが /usr/local/bin の中にインストールされました。これで Terminal を起動してすぐに「mednafen」が実行できるようになります。

 私の場合、binの中に余計な物はインストールしたくないのでこの作業は行っていません。

 


mednafen を起動する

 では実際にエミュレーターを起動してみましょう。
例としてHomeフォルダにある「GRADIUS.pce」というROMを起動してみます。

 実行ファイル「mednafen」を /usr/local/bin にインストールした場合は、
Terminal から「mednafen /Users/jazzin/GRADIUS.pce」と入力してください。

nekocan:~ jazzin$ mednafen <パス>/ROM名.拡張子


 問題なければこれでゲームが起動します。

 

 実行ファイルを /usr/local/bin にインストールしていない場合は、「mednafen」のあるフォルダに移動してから起動してください。Terminalから「cd mednafen/src」と入力。

nekocan:~ jazzin$ cd <パス>/mednafeのあるフォルダ

 移動できたらエミュレーターを起動します。
Terminalから「./mednafen /Users/jazzin/GRADIUS.pce」と入力。

nekocan:~/mednafen/src jazzin$ ./mednafen <パス>/ROM名.拡張子


 問題なければこれでゲームが起動します。

 

 PC-Engine用ソフト「グラディウス」が起動できました。ウィンドウの大きさやグラフィックエフェクトなどの設定は Mednafen のコンフィグファイル「mednafen.cfg」に保存されます。

エミュレーターを終了するには「esc」または「F12」キーを押してください。

 


初期設定を編集する

 Mednafen の初期設定を保存するコンフィグファイル「mednafen.cfg」は、Homeの「.mednafen」という不可視フォルダの中にあります。Finderからは見えないようになっているのでメニューの「移動」-「フォルダへ移動...」(Command + Shift + G キー)を使って表示してください。

 入力フィールドに「~/.mednagen」と入力します。

 

 .mednafenフォルダが開きました、設定を変更するにはこの中の「mednafen.cfg」ファイルをテキストエディット等で編集します。

 チートファイルやセーブステート、スナップショットなどのファイルもこのフォルダの中に保存されます。

 DISKSYSTEM や LynxのBIOSもこのフォルダの中に入れてください。

 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の詳しい内容や使い方などについては付属のドキュメントをご覧下さい。

 

Top


Laboratory CAN