N64エミュ m64pの導入と初期設定など
N64エミュなら特に不満は無いし別にProject64でよくね?と思っていた時期もありましたが、今ではもうm64pでよくね?というくらいオススメ出来る感じになってきたように思います。
そんなわけでまだm64p(Mupen64Plus)は使った事がないという方はぜひこの機会にお試しを、という事でm64pの導入と設定について書いてみたいと思います。
2021/10/05時点で最新の v2021.9.26 467160c での設定内容になります。
公式の設定ガイド
一応Mupen64Plus公式のガイドはありますが、内容が古くて参考にならない部分もあったり。
当エントリーではネットワークに関する設定には触れていませんので、その辺に関してはこちらのガイドを参照してみてください。
m64p導入の事前準備
m64pの導入にあたってハードウェア要件と起動に必要なファイルの確認です。
具体的なドキュメントが見当たらないので詳細な環境などは出せませんが、とりあえずWindows10が動作している環境であれば基本的に問題は無いものと思われます。
GPUに関してはプラグインがParaLLEl-RDPに置き換えられた事でVulkan 1.1が必須となりました。
m64pの導入に必要なファイル
64DDを利用する場合のみ、64DD IPL ROMが必須です。
- 64DD IPL ROM
m64pの導入
m64pのダウンロードから初回起動までの手順です。
m64pのダウンロード
m64pの最新版はGitHubからダウンロード出来ます。
現在はプラグインがParaLLEl-RDPに置き換えられていますが、GlideN64じゃなきゃイヤだ!という方はこちらからGLideN64に対応した最終版がダウンロード出来ます。
ですが当エントリーではParaLLELの設定についてしか書いてませんのでその点はご容赦を。
m64pのインストール
ダウンロードしたファイルを任意の場所に展開すればOKです。
m64pの初回起動
mupen64plus-gui.exeを実行します。
m64pの設定
意味はわからずとも項目は全て拾って機械翻訳してあるのでムダに長くなってますが、設定が必要な項目は少ないはずです。
プラグインとパスの設定
Settings > Plugin and Path Selection をクリックします。
基本的にイジる必要はありませんが、設定ファイルのパスを本体と同じにする事でポータブル化が可能です。パスを変更する場合は Set Path から選択するか直接入力します。
コアとプラグインのパス
- Core Library Path
コア(mupen64plus.dll)のパス。 - Plugin Dir Path
プラグインのパス。
コアとプラグインのパスには $APP_PATH$ と設定されていますが、これは mupen64plus-gui.exe と同じ場所という事です。あえて変更する必要は無いと言うかヘタにイジると起動しなくなるので注意。
設定ファイルのパス
- Config Dir Path
設定ファイルのパス。
こちらに設定されている $CONFIG_PATH$ は以下の場所になります。
C:\Users\ユーザー名\AppData\Roaming\Mupen64Plus
デフォルトの状態に戻したい場合は Clear をクリックか入力したパスを削除します。
設定ファイルのパスを変更した場合は一旦再起動しないと変更が反映されません。
インプットプラグインの選択
インプットプラグインはプルダウンメニューから選択可能ですが、mupen64plus-input-raphnetraw.dll はN64 to USB Adapter専用のプラグインなのでそれ以外のコントローラーを使用する場合(ほとんどの方がそうだと思いますが)は実質的に mupen64plus-input-qt.dll 一択になります。
mupen64plus-input-raphnetraw.dllを選択した場合は設定不要で対応するコントローラーが利用可能になるので、Control Configuration が反転して開けない状態になりますが仕様なのでノープロブレムです。
ポータブルモードについて
m64pをポータブル化したい場合は Config Dir Path を以下のように設定します。上の例では mupen64plus-gui.exe と同じ場所に、下の例では mupen64plus-gui.exe と同じ場所に config というサブフォルダを作成してその中に設定ファイルが保存されるようになります。
$APP_PATH$
$APP_PATH$/config
何れにしても初回起動時にデフォルトの場所にシステムフォルダと設定ファイルが作成されてしまうのでポータブル化した場合にまぎらわしいと思えば削除してしまうのもありかな?と思いましたが、ポータブル化してもmupen64plusフォルダだけは作成されるようなのでとりあえず気にしない方向で。
コアと画面の設定
Settings > Core and Video Settings をクリックします。
ほとんどイジる必要が無いと言うより意味がわからないのでイジりようが無いというのが正直なところですが、特に変更しないよう注意書きがある項目は赤字にしておきました。だったらプロテクトするかいっそ表示しなければいいのにと思わなくもないですけど。
項目名の上にカーソルをホバーさせると説明が表示されます。
Core
OSDを非表示にするかセーブなどのパス以外は特にイジる必要はなさげです。
- Version
Mupen64Plus Core設定パラメータのバージョン番号。 - OnScreenDisplay
いわゆるOSD(オンスクリーンディスプレイ)です。 - R4300Emulator
0:ピュアインタプリタ、1:キャッシュインタプリタ、2以上:ダイナミックリコンパイラを使用。 - NoCompiledJump
ダイナミックリコンパイラーのコンパイル済みジャンプコマンドを無効。 - DisableExtraMem
4MBの拡張RAMパックを無効にします、ゲームによっては必要かも。 - CountPerOp
エミュレートされた命令のサイクル数を強制。 - AutoStateSlotIncrement
ステートセーブ後にステートスロットを増加する、自動で1の次は2、2の次は3にしてくれる的な感じ? - CurrentStateSlot
エミュレータの状態をセーブ / ロードする際に使用するステートスロット。 - EnableDebugger
コアがデバッガをサポートしている場合、ROM実行開始時にR4300デバッガを起動。 - ScreenshotPath
スクリーンショットが保存されるパス。 - SaveStatePath
セーブステートが保存されるパス。 - SaveSRAMPath
ゲーム内のセーブデータが保存されるパス。 - SharedDataPath
共有データファイルを探す際に検索するパス、何のことやら… - RandomizeInterrupt
PI/SI割り込みタイミングをランダム化。 - SiDmaDuration
SI DMAの継続時間?(-1:ゲーム設定ごとに使用) - GbCameraVideoCaptureBackend1
ゲームボーイ カメラ ビデオ キャプチャー バックエンド、何でしょうかね? - SaveDiskFormat
セーブディスクフォーマット。(0:フルディスクコピー(*.ndr / *.d6r)、1:RAMエリアのみ(*.ram))
尚、ScreenshotPath / SaveStatePath / SaveSRAMPathは空欄の場合、以下の場所にフォルダを作成します。
C:\Users\ユーザー名\AppData\Roaming\Mupen64Plus/screenshot
C:\Users\ユーザー名\AppData\Roaming\Mupen64Plus/save
C:\Users\ユーザー名\AppData\Roaming\Mupen64Plus/save
なのでポータブル化する場合はここを設定しないと意味が無いかも。ついでにScreenshot用のフォルダは撮影時に自動作成されないので事前に作成しておきましょう。SaveとStateの方は自動作成されるので大丈夫みたいですけど。
ParaLLEL Video
主に高解像度化に関する部分とウィンドウサイズくらいでしょうか。
- Fullscreen
フルスクリーン化(チェック:フルスクリーンモード、チェック無し:ウィンドウモード) - Upscaling
アップスケーリング(1:無し、2:2x、4:4x、8:8x) - ScreenWidth
画面の幅。 - ScreenHeight
画面の高さ。 - WidescreenStretch
ワイドスクリーンストレッチ。 - DeinterlaceMode
インターレース解除の方法(チェック:Weave、チェック無し:Bob) - SuperscaledReads
アップサンプリング時のリードバックのスーパースケールを有効化。 - SuperscaledDither
アップサンプリング時にディザリングのスーパースケールを有効化。 - SynchronousRDP
RDPとCPUの同期を有効化。 - CropOverscan
クロップするオーバースキャンピクセルの量。 - VIAA
VIアンチエイリアス、ポリゴンのエッジを滑らかにする。 - Divot
VIのディボットフィルタを許可し、浮遊する黒いピクセルをクリーンアップ。 - GammaDither
VIガンマディザを許可。 - VIBilerp
VIバイリニア・スケーリングを許可。 - VIDither
VIのディザを許可。 - DownScale
ダウンサンプリング係数、VI後の出力をダウンスケールする。SSAAに相当。(0:無効、1:1/2、2:1/4、3:1/8) - NativeTextLOD
アップスケール時にネイティブテクスチャのLOD計算を使用し、効果的にLODバイアスをかける。 - NativeTextRECT
TEX_RECTのプリミティブは継ぎ目を避けるために、一般的にネイティブ解像度でレンダリングされるべきです。
夜光虫2のように画面がプルプルと震える場合は DeinterlaceMode にチェックを入れると改善する場合があります。設定をイジったら即反映されるわけではないので一旦再起動が必要ですけど。
コントローラー設定
Settings > Controller Configuration をクリックします。
プロファイルを作成するのが一番てっとり早いので Manage Profiles タブを開いて New Profile (Gamepad) をクリックします。キーボードを設定したい場合は New Profile (Keyboard) で。
Profile Nameに適当な名前を入力してひと通りボタンを設定したら Save and Close をクリックします。
Controller1 タブに戻って Profile、Gamepad、Pak をそれぞれプルダウンメニューから選択します。
各設定ファイルの補足
設定ファイルが複数に分かれているのでそれぞれの内訳など。
mupen64plus.ini
これはユーザーの設定ファイルでは無いので基本的にイジらない方がいいですが、内容を理解した上であえてイジるのはありかも。イジった場合は上書き更新に注意で。
mupen64plus-gui.ini
プラグインとパス(Plugin and Path Selection)に関する設定ファイルです。このファイルのみ設定したパスに関係無く常に mupen64plus-gui.exe と同じ場所に保存されます。
mupen64plus.cfg
コアと画面(Core and Video Settings)に関する設定ファイルです。
input-settings.ini
コントローラー(Controller Configuration)に関する設定ファイルです。
input-profiles.ini
コントローラーのプロファイルに関する設定ファイルです。
ホットキーについて
設定されているホットキーに関してはこちらを参照してください。
ちなみにホットキーは mupen64plus.cfg の [CoreEvents] をイジればカスタマイズ可能なので興味のある方は試してみてください。キーIDの調べ方は上のリンク先の 3. Configuration for Key Commands に書いてあります。
一応サンプルとしてこんな感じに出来ますよという事で。
#一時停止を P → Pause に変更
Kbd Mapping Pause = 19
#早送りを F → Tab に変更
Kbd Mapping Fast Forward = 9
m64pの導入完了!
GUIが本当に必要最低限といった感じなので最近のエミュレータに慣れてしまうと少々物足りない感じはしますが、N64エミュレータの選択肢の1つとして使えるようにしておいて損は無いかと思います。
また、Mupen64PlusはRetroArchのコアとしても利用出来るのでそちら側の設定でも当エントリーが参考になれば幸いです。
その他のエミュレータの導入と初期設定についてのページはこちらにリンクをまとめてありますのでよろしければご利用ください。