最も熱いPSエミュレータ「DuckStation」

最新の記事はこちらをどうぞ
マスコット・キャラ

DuckStationは、PlayStationTM(初代PS:PS1)のエミュレータ(エミュ)です。おそらく、PS1のレトロゲームをPCで楽しめるものの中では、最も評価の高いPSエミュでしょう。
DuckStationでは比較的低スペックのPCで遊べます。高性能PCでは画質をキレイに補正する機能を用いることにより、より快適に遊ぶことができます。
DuckStationを動作させるためには別途、「BIOS」と呼ばれるPS内蔵のプログラムが必要になります。本稿ではBIOSの入手方法については触れません。他のPS1エミュレータで遊んだことがある方は、そのときに使用したBIOSが使用できます。

動作確認に使用したPCの概要

本稿執筆にあたって、DuckStationの検証に用いたPCのスペックは下の表のとおりです。
ESPRIMO D582/FWは、富士通の法人向けデスクトップパソコンです。中古ショップで4000円で購入しました。2012年発表のPCですが、HDDをSSDに換装し、メモリを16GBまで増設。Windows 11の厳しい動作要件をバイパスし、DuckStationの動作検証をしましたが、ほぼ問題なく動作しました。OSはSSDに格納しましたが、ゲームデータはHDDに格納したため、若干、読み込みに時間がかかり、一瞬ゲームのシーンが固まることがありますが、許容範囲と思いました。

メーカー/型式発表時期
富士通 ESPRIMO D582/FW2012年11月発表
OSCPU
Windows 11 pro
(Windows 8 pro)
インテル® Core™ i5-3470
プロセッサー
メモリSSD/HDD
16GB480GB/160GB
グラフィックカードスピーカー
Intel® HD Graphics 2500
CPUに内蔵
外付け
(なし)
カッコ内は発表時の仕様

DuckStationのインストール方法とは

「VC++RT」をインストールしよう

こちらのリンクにアクセスします。
DuckStationのダウンロードページが日本語で表示されるでしょう。

DuckStationを実行するためには、Microsoft Visual C++ ランタイム ライブラリ(VC++RT)が必要です。下図の[Download VC++RT]をクリックして”VC_redist.x64.exe”ダウンロードします。

「ダウンロード」フォルダ等に保存されている”VC_redist.x64.exe”をダブルクリックしてランタイムのインストーラを起動します。
下の画面で、[ライセンス条項および…]にチェックし、[インストール]をクリックします。

下のような画面が表示されたら、ランタイムのセットアップは正常終了です。[閉じる]ボタンの左隣に[再起動]が表示されている場合は、実行途中のウィンドウが無いか確認後に再起動します。

[再起動]ボタンが表示されていない場合は、[閉じる]をクリックします。

もし下の画面が表示されたら

インストーラを起動したときに「セットアップの変更」画面が表示された場合は既にインストールされているので、[閉じる]ボタンをクリックし、インストーラを終了します。

DuckStationをインストールしよう

ダウンロードページから[Download Duck]をクリックして、”duckstation-windows-x64-release.zip”をダウンロードします。

ダウンロードしたファイルはZIP形式の圧縮ファイルです。エクスプローラからファイルをマウスで右クリックして[すべて展開]を選択し、解凍します。

あとは解凍したフォルダ”duckstation-windows-x64-release”を任意の場所に移動するだけです。私はフォルダ名を”duckstation”という短い名前に変えて配置しました。

DuckStationを起動してみよう

配置したフォルダにある”duckstation-qt-x64-ReleaseLTCG.exe”をダブルクリックして起動します。

次のセットアップウィザードが表示されたら、起動成功です。

MSVCP140_1.dll が無いというエラーの対処方法とは

DuckStation起動時に、MSVCP140_1.dll が無いというエラーが出ても、あわてる必要はありません。

上記既述の「「VC++RT」をインストールしよう」の項を参照して、DuckStationが使用するプログラムをダウンロードします。ダウンロードしたファイルを実行し、インストールします。再度、DuckStationを起動すればエラーは解消されているでしょう。

セットアップ ウィザードの設定方法は

セットアップは大まかに、「日本語表示の設定」「BIOSイメージの格納」「ゲームイメージの保存フォルダの設定」「コントローラの設定」の順に行います。
「Language」から[日本語]を選択します。

Theme(テーマ)やアップデートの自動化についてはデフォルトでかまいません。
[Next]をクリックします。

このタイミングですべて日本語表示に切り替わってもらいたいところですが、残念ながら、英語のままでした。セットアップウィザードでは、この先に表示される画面の一部が日本語で表示されるようになっています。

次の画面で、あらかじめ準備したBIOSを所定のフォルダに格納します。任意の場所にBIOS格納フォルダを変更することもできます。筆者はデフォルトのフォルダにBIOSを配置しました。
下の画面には次のようなことが書かれています。
「法的根拠により、あなたが所有するPS1実機本体から BIOS を吸い出す必要があります (借りたPS1はNGです)。専用のツールを使用して、ゲーム機の BIOS ROMから吸い出す必要があります。(以降略)」

ゲームのソフトを格納するフォルダを指定します。
[Add]ボタンをクリックすると、フォルダの場所を選択する画面が表示されます。

ゲームのソフトが入っているフォルダを選んで[フォルダーの選択]をクリックします。

サブディレクトリ(フォルダ階層の下にあるフォルダすべて)を検索対象とするかを聞かれます。便利なこともあるので、私は「はい」を選択しました。

ゲームのソフトが格納されているフォルダが登録されました。
[Next]をクリックします。

ゲームパッドをPCに接続します。ここでは、PS5純正品の「DualSense ワイヤレスコントローラー (CFI-ZCT1J01)」と「Logicool Gamepad F310」を試しますが、ひとまずCFI-ZCT1J01を接続します。
この段階では、デフォルトのキーボードが割り当てられています。

CFI-ZCT1J01の場合、Controller Type が[デジタルコントローラー]を選択します。続いて、[Automatic Mapping]をクリックしてポップアップ表示されるメニューから、[SDL-0(DualSense …]を選択します。
最後に[Next]をクリックします。

これでセットアップは終了です。
[Finish]をクリックします。

これで、下のようにゲーム一覧が表示されたメイン画面が表示されるようになりました。
ゲームの吸い出し方によって、同一のゲームが2行表示されるようです。図の「シリアル番号」列が同じであれば、同じゲームで同一のDVDです。

BIOSの起動確認をしよう

メニューバーから[システム]>[BIOS起動]をクリックします。

次の画面が表示されればBIOSの設定は完了です。

BIOSの起動が失敗する場合は

もし、BIOSの起動が失敗した場合は、メニューバーから、[設定]>[BIOS]をクリックします。

BIOS ディレクトリ(フォルダのことです)のフォルダの場所と、正しいBIOSイメージが格納されているかを確認します。

ゲームの起動を確認しよう

はたして、ゲームが正常に起動できるでしょうか?
メニューバーから[表示]>[ゲームリスト]をクリックしてゲームの一覧を表示します。

一覧に表示されたゲームをダブルクリックすると、ゲームが起動します。
前述の通り、ゲームをROMから吸い出したときの出力ファイルの形式により、DuckStationでの一覧表示形式が異なるようです。CD-ROM1枚当たり1行で表示される場合と、2行表示される場合が確認できました。
図の「シリアル番号」列が同じであれば、同じゲームで同一のCDです。

「ディスク交換の確認」画面が表示されたら、[ディスク交換]をクリックします。まだ一度もゲームを起動していない場合でも、下の画面が表示されることがあります。

ゲームが起動できました。

コントローラも問題なく、操作できます。

DuckStationを素早く起動するには

タスクバーにDuckStationのアイコンが表示されています。アイコンを右クリックし、[タスクバーにピン留めする]を選択して、次回から素早く起動できるようにしておきましょう。

ゲームを終了するには

終了するにはメニューバーの[システム]から[電源オフ]を選択します。

下のダイアログから[はい]を選択すると、ゲームが終了してゲーム一覧の画面に戻ります。ここでステートセーブ(現時点の状態を保存)の有無を指定することもできます。

コントローラを追加するには

Logicool Gamepad F310を設定しよう

Logicool Gamepad F310は、PC用のゲームパッドです。
PCに接続します。

DuckStationのメニューバーから、[設定]>[コントローラ]を選択します。

「コントローラの設定」画面で、「グローバル設定」を選択すると、画面の右側に検出されたF310が表示されます。

画面の左側
画面の右側

画面左端にある[コントローラポート2]タブが選択された状態で、「コントローラータイプ」を[デジタルコントローラー]にします。
次に[自動マッピング]をクリックし、ポップアップ表示されたメニューから[SDL-1]を選択します。

F310は背面にDirectInput(D)とXInput(X)を切り替えるスイッチがあります。今回検証したところ、どちらに切り替えても、上記の設定でゲームパッドの操作に違いはありませんでした。

一部でXInputを有効化しないと対応できないケースがあるようです。その場合は、F310の場合は背面のスイッチを「X」にしたうえで、下図のようにコントローラ設定の[グローバル設定]タブから、Xinputカテゴリの[Xinputを有効化]をチェックします。

[コントローラポート1]>[自動マッピング]>[Xinput-1]と、XInputが選択できるようになりました。
F310では、SDLでもXinputでも動作可能でした。一方で、XInputをサポートしていないコントローラでは、XInputを有効化しても[自動マッピング]のメニュー候補にXinputは表示されないようです。

ボタンの配置が思った通りに設定されていなかったり、配置を変更したい場合は、下の画面で、次の操作を行うことにより、好みのボタン位置にカスタマイズが可能です。
①任意のボタン位置をクリック
②ゲームパッドのボタンを押す

上記のほかにも、ニンテンドー用のゲームパッドなど、いくつか試しましたが、いずれも上記の手順で使用できるようになりました。

ツールバーを表示するには

デフォルトの画面では各機能のアイコンが表示されているツールバーが省略されています。ツールバーを表示するには、メニューバーから[表示]>[ツールバー]を選択します。

これでツールバー上のアイコンが表示されるようになりました。
なお、以降ではデフォルトのツールバーがない画面で説明をします。

解像度を増やしてキレイにしよう

DuckStationには「アップスケーリング」という機能があります。映像を元の大きさよりも多い画素数に変換してくれるので、大きなサイズのウインドウに表示しても違和感なくゲームを楽しめます。
メニューバーの[設定]>[拡張]を選択します。

[レンダリングの機能強化]グループの[内部改造スケール]を変更します。どこまでスケールを拡大できるかは、ハードに依存するでしょう。

続いて、[PGXP]グループの下図の5つの項目にチェックを入れます。PGXPというのは、描画する際の「歪み」を補正する機能です。

ゲームのセーブとロード

DuckStationのステートセーブ機能を用いると、ゲーム中のどの場面でもセーブすることができます。

ゲームの状態をセーブするには

[F2]キーでセーブできます。
メニューからセーブする方法は下の図の通りです。

ゲームをロードするには

ゲーム起動時に下の図のダイアログが表示され、[ステートロード][新規に起動][削除して起動]などが選択できます。[削除して起動]を選択してゲームを起動した場合、そのままセーブせずにゲームを終了すると、上述のダイアログが表示されなくなるようです。何が便利なのか、よくわかりませんでした。
ゲームリストをマウスで右クリックして、メニューから[ステートロード]>[ゲームセーブ1]などを選択してもロードすることができます。

ゲーム実行中の場合は、[F1]キーでロードできます。もちろん、メニューからも可能です。

チートを活用するには

DuckStationではなんと、チートを自動でダウンロードしてくれます。
チートとは、ゲームを有利に進めるためにゲーム(のデータ)を書き換える裏技のようなものです。HPを無限にするといったことが可能になります。一般的なエミュはWEBでチートコードを検索し、エミュレータに読み込ませる必要がありますが、DuckStationは自動でダウンロードしてくれるので、その必要が無いことが多いです。ただし、ダウンロードしてくれないゲームもあります。

メニューバーから[ツール」>[チートマネージャ]をクリックし、[チートマネージャ]を選択します。

途中、チートはゲームに不具合を生じさせる可能性があることを警告するメッセージが出ます。[はい]をクリックして続けます。

「チートマネージャ」により、チートの説明が英語の一覧で表示されます。

下の図のように、チートにチェックを入れると、そのチートが有効化されます。

なお、チートが自動的にダウンロードされないゲームなどでは、WEBで見つけたチートコードなどをDuckStationに読み込ませることも可能です。その場合は「チートマネージャ」の「コードを追加」を選択し、チートを入力します。

便利なショートカットは

DuckStationではゲームプレイ中に様々な機能がショートカットで使えます。DuckStationではショートカットを「ホットキー」と呼んできますが、ここでは「ショートカット」に統一します。
使用できるショートカットの中で、特に頻繁に使用するものを下の表に挙げます。
なお、ショートカット欄が「定義可」のものは、最初ショートカットキーが割り当てられていません。以降で説明するショートカットの設定で任意のキーを割り当てることができます。

機能ショートカット
一般
一時停止してメニューから次の機能を選ぶ
・再開
・早送り
・Load/Save
・チート有効/無効の切り替え
その他
[Esc]
[Tab]を押下中、早送り[Tab]
フルスクリーンON/OFF[F11]
一時停止/再開[Space]
スクリーンショットを保存[F10]
システム
コマ送り定義可
巻き戻し【注】追加設定が必要定義可
チート有効/無効の切り替え定義可
音声
音声を上げる定義可
音声を下げる定義可
ステートセーブ
ステートロード[F1]
ステートセーブ[F2]

特に「巻き戻し」機能が便利です。時間を戻して何度でもやり直しができるからです。また「音量を下げる」等の機能もよく使用します。どのゲームでもサウンドはかなり大きめに設定されているので、家庭環境では音量を頻繁に調整する必要があるからです。

ショートカットを定義するには

ここでは「巻き戻し」のショートカットキーを[←]に割り当ててみます。
[設定]>[ホットキー]を選択します。

下の画面、左ペインで[ホットキー]が選択されていることを確認します。右の「巻き戻し」に対応するボタンをクリックすると、ボタン上で5秒間のカウントダウンが始まります。この5秒間の間にキーボードの[←]を押すと、「Keyboard/Left」と表示されて、巻き戻し機能が[←]に割り当てられます。
なお、巻き戻しの場合は、別の設定画面で巻き戻しを「有効化」する必要があります。

「巻き戻し」を有効化するには

巻き戻しは、DuckStationが一定時間の画面のデータ(フレーム)を覚えておく(バッファリングする)ことで実現しています。DuckStationの初期設定では10秒程度の過去にさかのぼることができます。設定を変更することにより、もっと前まで戻ることも可能ですが、システムの負荷が高くなります。

[設定]>[エミュレーション]を選択して設定画面を開きます。

左ペインの[エミュレーション]が選択されていることを確認し、右の[巻き戻しを有効化]にチェックを入れます。
「巻き戻し保存頻度」「巻き戻しバッファサイズ」の数値を大きくするとシステムのリソースが多く消費されることになるので、実際にゲーム上で確かめながら、これらの値を決定するのが良いでしょう。

さいごに

それでは、PS1のレトロゲームをPCでお楽しみください!