README_JP.md
mGBAは、ゲームボーイアドバンスのゲームを実行するためのエミュレーターです。mGBAの目標は、既存の多くのゲームボーイアドバンスエミュレーターよりも高速かつ正確であり、他のエミュレーターにはない機能を追加することです。また、ゲームボーイおよびゲームボーイカラーのゲームもサポートしています。
最新のニュースとダウンロードは、mgba.ioで見つけることができます。
以下のマッパーが完全にサポートされています:
以下のマッパーが部分的にサポートされています:
他のUnix系プラットフォーム(OpenBSDなど)も動作することが知られていますが、テストされておらず、完全にはサポートされていません。
要件は最小限です。Windows Vista以降を実行できるコンピュータであれば、エミュレーションを処理できるはずです。OpenGL 1.1以降のサポートも必要であり、シェーダーや高度な機能にはOpenGL 3.2以降が必要です。
ダウンロードは公式ウェブサイトのダウンロードセクションで見つけることができます。ソースコードはGitHubで見つけることができます。
コントロールは設定メニューで設定可能です。多くのゲームコントローラーはデフォルトで自動的にマッピングされるはずです。デフォルトのキーボードコントロールは次のとおりです:
コンパイルにはCMake 3.1以降の使用が必要です。GCC、Clang、およびVisual Studio 2019はmGBAのコンパイルに使用できることが知られています。
ほとんどのプラットフォームでのビルドにはDockerを使用することをお勧めします。いくつかのプラットフォームでmGBAをビルドするために必要なツールチェーンと依存関係を含むいくつかのDockerイメージが提供されています。
注意:Windows 10以前の古いWindowsシステムを使用している場合、DockerがVirtualBox共有フォルダーを使用して現在のmgbaチェックアウトディレクトリをDockerイメージの作業ディレクトリに正しくマッピングするように構成する必要がある場合があります。(詳細については、issue #1985を参照してください。)
Dockerイメージを使用してmGBAをビルドするには、mGBAのチェックアウトのルートで次のコマンドを実行します:
docker run --rm -it -v ${PWD}:/home/mgba/src mgba/windows:w32
Dockerコンテナを起動した後、ビルド成果物を含むbuild-win32ディレクトリが生成されます。他のプラットフォーム用のDockerイメージに置き換えると、対応する他のディレクトリが生成されます。Docker Hubで利用可能なDockerイメージは次のとおりです:
ビルドプロセスを高速化したい場合は、-e MAKEFLAGS=-jNフラグを追加して、N個のCPUコアでmGBAの並列ビルドを行うことを検討してください。
UnixベースのシステムでCMakeを使用してビルドするには、次のコマンドを実行することをお勧めします:
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
make
sudo make install
これにより、mGBAがビルドされ、/usr/binおよび/usr/libにインストールされます。インストールされている依存関係は自動的に検出され、依存関係が見つからない場合に無効になる機能は、cmakeコマンドを実行した後に警告として表示されます。
macOSを使用している場合、手順は少し異なります。homebrewパッケージマネージャーを使用していると仮定すると、依存関係を取得してビルドするための推奨コマンドは次のとおりです:
brew install cmake ffmpeg libzip qt5 sdl2 libedit lua pkg-config
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH=`brew --prefix qt5` ..
make
macOSではmake installを実行しないでください。正しく動作しないためです。
Windowsでの開発用ビルドにはMSYS2を使用することをお勧めします。MSYS2のウェブサイトに記載されているインストール手順に従ってください。32ビットバージョン(「MSYS2 MinGW 32-bit」)を実行していることを確認してください(x86_64用にビルドする場合は64ビットバージョン「MSYS2 MinGW 64-bit」を実行してください)。必要な依存関係をインストールするために次の追加コマンド(中括弧を含む)を実行します(このコマンドは1100MiB以上のパッケージをダウンロードするため、長時間かかることに注意してください):
pacman -Sy --needed base-devel git ${MINGW_PACKAGE_PREFIX}-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,lua,pkgconf,qt5,SDL2,ntldd-git}
次のコマンドを実行してソースコードをチェックアウトします:
git clone https://github.com/mgba-emu/mgba.git
最後に、次のコマンドを実行してビルドします:
mkdir -p mgba/build
cd mgba/build
cmake .. -G "MSYS Makefiles"
make -j$(nproc --ignore=1)
このWindows用mGBAビルドは、実行に必要なDLLが分散しているため、配布には適していないことに注意してください。ただし、開発には最適です。ただし、そのようなビルドを配布する必要がある場合(たとえば、MSYS2環境がインストールされていないマシンでのテスト用)、cpack -G ZIPを実行すると、必要なDLLをすべて含むzipファイルが準備されます。
Visual Studioを使用してビルドするには、同様に複雑なセットアップが必要です。まず、vcpkgをインストールする必要があります。vcpkgをインストールした後、いくつかの追加パッケージをインストールする必要があります:
vcpkg install ffmpeg[vpx,x264] libepoxy libpng libzip lua sdl2 sqlite3
このインストールでは、Nvidiaハードウェアでのハードウェアアクセラレーションビデオエンコーディングはサポートされません。これが重要な場合は、事前にCUDAをインストールし、前のコマンドにffmpeg[vpx,x264,nvcodec]を置き換えます。
Qtもインストールする必要があります。ただし、Qtは合理的な組織ではなく、困窮している会社によって所有および運営されているため、最新バージョンのオフラインオープンソースエディションインストーラーは存在しないため、旧バージョンのインストーラーに戻る必要があります(これには無用なアカウントの作成が必要ですが、一時的に無効なプロキシを設定するか、ネットワークを無効にすることで回避できます)、オンラインインストーラーを使用する(いずれにしてもアカウントが必要です)、またはvcpkgを使用してビルドする(遅い)。これらはすべて良い選択肢ではありません。インストーラーを使用する場合は、適用可能なMSVCバージョンをインストールする必要があります。オフラインインストーラーはMSVC 2019をサポートしていないことに注意してください。vcpkgを使用する場合、次のようにインストールする必要があります。特にクアッドコア以下のコンピュータではかなりの時間がかかります:
vcpkg install qt5-base qt5-multimedia
次に、Visual Studioを開き、「リポジトリのクローンを作成」を選択し、https://github.com/mgba-emu/mgba.gitを入力します。Visual Studioがクローンを完了したら、「ファイル」>「CMake」に移動し、チェックアウトされたリポジトリのルートにあるCMakeLists.txtファイルを開きます。そこから、他のVisual Studio CMakeプロジェクトと同様にVisual StudioでmGBAを開発できます。
devkitARM(3DS用)、devkitPPC(Wii用)、devkitA64(Switch用)、またはvitasdk(PS Vita用)を持っている場合は、次のコマンドを使用してビルドできます:
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../src/platform/3ds/CMakeToolchain.txt ..
make
次のプラットフォーム用に-DCMAKE_TOOLCHAIN_FILEパラメータを置き換えます:
../src/platform/3ds/CMakeToolchain.txt../src/platform/switch/CMakeToolchain.txt../src/platform/psp2/CMakeToolchain.vitasdk../src/platform/wii/CMakeToolchain.txtmGBAには厳密な依存関係はありませんが、特定の機能には次のオプションの依存関係が必要です。依存関係が見つからない場合、これらの機能は無効になります。
storage API用。SQLite3、libpng、およびzlibはエミュレーターに含まれているため、最初に外部でコンパイルする必要はありません。
<a name="missing">[1]</a> 現在欠けている機能は次のとおりです
<a name="flashdetect">[2]</a> フラッシュメモリサイズの検出は一部のケースで機能しません。これらは実行時に構成できますが、そのようなケースに遭遇した場合はバグを報告することをお勧めします。
<a name="osxver">[3]</a> 10.9はQtポートにのみ必要です。10.7またはそれ以前のバージョンでQtポートをビルドまたは実行することは可能かもしれませんが、公式にはサポートされていません。SDLポートは10.5で動作することが知られており、古いバージョンでも動作する可能性があります。
mGBAの著作権は© 2013 – 2023 Jeffrey Pfauに帰属します。これはMozilla Public License version 2.0の下で配布されています。配布されたLICENSEファイルにライセンスのコピーが含まれています。
mGBAには次のサードパーティライブラリが含まれています:
ゲームパブリッシャーであり、商業利用のためにmGBAのライセンスを取得したい場合は、[email protected]までメールでお問い合わせください。