RetroArch は、libretro API のリファレンス フロントエンドです。この API の一般的な実装例には、ビデオ ゲーム システム エミュレータやゲーム エンジン、さらに一般化された 3D プログラムなどがあります。これらのプログラムは動的ライブラリとしてインスタンス化されます。これらを「libretro コア」と呼びます。
libretro は、汎用のオーディオ/ビデオ/入力コールバックを公開する API です。 libretro のフロントエンド (RetroArch など) は、ビデオ出力、オーディオ出力、入力、およびアプリケーションのライフサイクルを処理します。移植可能な C または C++ で書かれた libretro コアは、移植作業をほとんど、またはまったく行わずに、多くのプラットフォーム上でシームレスに実行できます。
RetroArch は libretro のリファレンス フロントエンドですが、他のいくつかのプロジェクトは libretro インターフェイスを使用してエミュレータやゲーム エンジンのサポートを組み込みました。 libretro は完全にオープンで、誰でも無料で使用できます。
libretro API ヘッダー
現在、最新のバイナリは buildbot でホストされています。
開発者に連絡するには、GitHub で問題を作成するか、フォーラムでスレッドを作成するか、Discord でチャットするか、IRC チャネル (#retroarch @ irc.freenode.org) にアクセスしてください。テクニカル サポートの才能を活かして Reddit に投稿を作成することもできます。
ドキュメント センターを参照してください。 Unix では、マニュアルページが提供されます。その他の開発者中心の内容はここにあります。
RetroArch は、エミュレータに期待される便利なコア機能をすべて備えながら、小型かつ無駄のないものにするよう努めています。非常にポータブルになるように設計されており、ゲームパッド中心のタッチスクリーン UI を備えています。また、フル機能のコマンドライン インターフェイスも備えています。
一部の領域では、RetroArch はマルチパス シェーダのサポート、リアルタイム巻き戻し (Braid スタイル)、ビデオ録画 (FFmpeg を使用)、先行入力レイテンシの除去などのあまり一般的ではない技術的機能を超えて強調しています。 。
RetroArch は、さまざまなランチャー フロントエンドに簡単に統合できることも強調しています。
RetroArch は次のプラットフォームに移植されています。
それ自体には真のハード依存性はありません。
Windows では、RetroArch は Win32 のみを依存関係として実行できます。
Linux では、実際の依存関係は存在しません。最適に使用するには、次の依存関係が推奨されます。
RetroArch の OSX ポートをビルドするには、最新バージョンの Xcode が必要です。
有効にすると、RetroArch はこれらのライブラリを利用できます。
RetroArch には、次のオーディオ ドライバー ライブラリの少なくとも 1 つが必要です。
RetroArch を適切に実行するには、libretro 実装が必要です。ただし、通常は動的にロードされるため、ビルド時には必要ありません。
コンソール ポートには独自の依存関係がありますが、通常はそれぞれの SDK が提供するもの以外は何も必要ありません。
ビデオカードは少なくとも OpenGL 1.1 仕様をサポートする必要があります。
シェーダ: N/A
メニュー ドライバーのサポート: MaterialUI、XMB、Ozone、RGUI はすべて正しく動作するはずです。前述のシェーダー サポートがないため、XMB にはシェーダー パイプライン エフェクトがありません。
ビデオカードは少なくとも OpenGL 2.1 仕様をサポートする必要があります。
シェーダー: NVIDIA Cg シェーダー (非推奨。システムに別のランタイムをインストールする必要がある) または GLSL シェーダーのいずれかを選択できます。
メニュー ドライバーのサポート: MaterialUI、XMB、Ozone、RGUI はすべて正しく動作するはずです。
ビデオカードは少なくとも OpenGL 3.2 コア機能仕様をサポートする必要があります。
シェーダ:このドライバでは最新の Slang シェーダを使用できるようになります。
メニュー ドライバーのサポート: MaterialUI、XMB、Ozone、RGUI はすべて正しく動作するはずです。
ビデオカードは少なくとも Direct3D11 11.0 仕様をサポートしている必要があります。カードは少なくとも Shader Model 4.0 をサポートする必要もあります。
シェーダ:このドライバでは最新の Slang シェーダを使用できるようになります。
メニュー ドライバーのサポート: MaterialUI、XMB、Ozone、RGUI はすべて正しく動作するはずです。
ビデオカードは少なくとも Vulkan 1.0 仕様をサポートしている必要があります。
シェーダ:このドライバでは最新の Slang シェーダを使用できるようになります。
メニュー ドライバーのサポート: MaterialUI、XMB、Ozone、RGUI はすべて正しく動作するはずです。
デフォルトの構成はconfig.def.h
で定義されます。自分が何をしているのか理解していない限り、これを変更することはお勧めできません。これらは、後で構成ファイルを使用して調整できます。サンプル構成ファイルは/etc/retroarch.cfg
にインストールされます。これはシステム全体の構成ファイルです。
RetroArch は起動時に$XDG_CONFIG_HOME/retroarch/retroarch.cfg
に設定ファイルが存在しない場合に作成します。必要な値が config.def.h で定義された値から異なる場合、ユーザーは特定のオプションを構成するだけで済みます。
ジョイパッドを設定するには、組み込みメニューを使用するか、 retroarch.cfg
で手動で設定します。
RetroArch のコンパイルとインストールの手順は、Libretro/RetroArch ドキュメント センターにあります。
CRT SwitchRes はオンザフライでオンになります。ただし、無効にするには RetroArch を再起動する必要があります。 CRT SwitchRes を有効にすると、RetroArch は 2560 x 480 @ 60 で起動します。
Windows を実行している場合は、CRT SwitchRes オプションを有効にする前に、CRTEmudriver がインストールされていることと、いくつかのモードラインがインストールされていることを確認してください。すべてのゲームが正しく切り替わるための最小モードラインは次のとおりです。
2560 を希望の超解像度に置き換えてこれらのモードラインをインストールします。上記の解像度は NTSC のみであるため、PAL コンテンツを再生する場合は、PAL モードラインを追加してください。
一部のゲームでは、より高い PAL 解像度を必要とするため、これもインストールする必要があります。
理想的には、これらのモードラインをすべてインストールすると、すべてがうまく機能します。
デフォルトの超解像度は 2560 です。これは、ビデオ設定にある CRT スイッチ オプションのすぐ下に表示されます。これは、retroarch.cfg 内で変更できます。互換性のある解像度は 1920、2560、および 3840 のみです。他の解像度は無視され、ネイティブ切り替えが有効になります。
ネイティブ解像度が有効になっている場合は、まったく新しいモードラインのセットが必要になります。
256 x 240 @ 50.006977 SNESpal
256 x 448 @ 50.006977 SNESpal
512 x 224 @ 50.006977 SNESpal
512 x 240 @ 50.006977 SNESpal
512 x 448 @ 50.006977 SNESpal
256 x 240 @ 60.098812 SNESntsc
256 x 448 @ 60.098812 SNESntsc
512 x 240 @ 60.098812 SNESntsc
512 x 224 @ 60.098812 SNESntsc
512 x 448 @ 60.098812 SNESntsc
256 x 192 @ 59.922745 MDntsc
256 x 224 @ 59.922745 MDntsc
320 x 224 @ 59.922745 MDntsc
320 x 240 @ 59.922745 MDntsc
320 x 448 @ 59.922745 MDntsc
320 x 480 @ 59.922745 MDntsc
256 x 192 @ 49.701458 MDpal
256 x 224 @ 49.701458 MDpal
320 x 224 @ 49.701458 MDpal
320 x 240 @ 49.701458 MDpal
320 x 288 @ 49.701458 MDpal
320 x 448 @ 49.701458 MDpal
320 x 480 @ 49.701458 MDpal
320 x 576 @ 49.701458 MDpal
256 x 288 @ 49.701458 MSYSpal
256 x 240 @ 60.098812 NESntsc
256 x 240 @ 50.006977 NESpal
640 x 237 @ 60.130001 N64ntsc
640 x 240 @ 60.130001 N64ntsc
640 x 480 @ 60.130001 N64ntsc
640 x 288 @ 50.000000 N64pal
640 x 480 @ 50.000000 N64pal
640 x 576 @ 50.000000 N64pal
256 x 252 @ 49.759998 PSXpal
320 x 252 @ 49.759998 PSXpal
384 x 252 @ 49.759998 PSXpal
640 x 252 @ 49.759998 PSXpal
640 x 540 @ 49.759998 PSXpal
384 x 240 @ 59.941002 PSXntsc
256 x 480 @ 59.941002 PSXntsc
352 x 240 @ 59.820000 サターン/SGFX_NTSCp
704 x 240 @ 59.820000 SaturnNTSCp
352 x 480 @ 59.820000 SaturnNTSCi
704 x 480 @ 59.820000 SaturnNTSCi
352 x 288 @ 49.701458 SaturnPALp
704 x 288 @ 49.701458 SaturnPALp
352 x 576 @ 49.701458 サターンPALi
704 x 576 @ 49.701458 サターンPALi
240 x 160 @ 59.730000 GBA
320 x 200 @ 60.000000 ドゥーム
// アーケード
これらのモードラインはより正確で、正確な Hz が得られます。ただし、一部のゲームでは望ましくない結果が生じる可能性があります。これは、元のハードウェアでの中間スキャンライン解像度の変更が原因です。最良の結果を得るには、超解像度が最適です。
アーケードの解像度によっては、コンシューマ用 CRT とは大きく異なる場合があります。 MAME ゲームが利用可能な最も近い解像度で表示され、この解像度内のネイティブ解像度で描画されることを保証する解像度検出があります。つまり、MAME ゲームはオリジナルのハードウェアとまったく同じように見えるということです。
どどんぱちのような縦長アスペクトで動作するMAME ROMは、解像度の切り替えやアスペクト補正が機能する前にMAME内で回転する必要があります。 RetroArch がデスクトップ解像度で実行されるように、CRT SwitchRes を有効にする前にこれを実行してください。必要なゲームをすべて回転させたら、CRT SwitchRes をオンにします。
以下のリンクは当社の公式チャンネルに属します。これ以外のリンクは、ファン、独立したメンバー、またはフォロワーによって作成された可能性があります。オリジナルのリソースを使用することを強くお勧めします。