mGBA
mGBA — это эмулятор для запуска игр Game Boy Advance. Он стремится быть быстрее и точнее, чем многие существующие эмуляторы Game Boy Advance, а также добавляет функции, которых нет у других эмуляторов. Также он поддерживает игры Game Boy и Game Boy Color.
Актуальные новости и загрузки можно найти на сайте mgba.io.
Особенности
Игровые мапперы Game Boy
Полностью поддерживаются следующие мапперы:
Частично поддерживаются следующие мапперы:
Планируемые функции
Поддерживаемые платформы
Известно, что другие Unix-подобные платформы, такие как OpenBSD, работают, но не протестированы и не полностью поддерживаются.
Системные требования
Требования минимальны. Любой компьютер, который может работать под управлением Windows Vista или более поздней версии, должен справиться с эмуляцией. Требуется поддержка OpenGL 1.1 или более новой версии, с OpenGL 3.2 или более поздней версией для шейдеров и расширенных функций.
Загрузки можно найти на официальном сайте в разделе «Загрузки». Исходный код можно найти на GitHub.
Управление настраивается в меню настроек. Многие игровые контроллеры должны автоматически отображаться по умолчанию. Стандартные клавиши клавиатуры:
Компиляция требует использования CMake 3.1 или новее. GCC и Clang известны своей работой при компиляции mGBA, но Visual Studio 2013 и старше не работают. Поддерживаются Visual Studio 2015 и более поздние версии. Сборка с помощью Docker
Для сборки на большинстве платформ рекомендуется использовать Docker. Предоставлено несколько образов Docker, содержащих необходимый набор инструментов и зависимостей для сборки mGBA на нескольких платформах.
Чтобы использовать образ Docker для сборки mGBA, просто выполните следующую команду, находясь в корне репозитория mGBA:
docker run --rm -t -v $PWD:/home/mgba/src mgba/windows:w32
Это создаст каталог build-win32
со сборкой продуктов. Замените mgba/windows:w32
другим образом Docker для других платформ, который создаст соответствующий другой каталог. В Docker Hub доступны следующие образы Docker:
*Сборка на nix системах
Чтобы собрать проект с помощью CMake на Unix-подобной системе, рекомендуются следующие команды:
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 pkg-config
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH=`brew --prefix qt5` ..
make
Обратите внимание, что на macOS не следует выполнять make install
, так как это не будет работать должным образом.
Сборка для разработчиков на Windows
MSYS2
Для разработки на Windows рекомендуется использовать MSYS2. Следуйте инструкциям по установке, найденным на их веб-сайте. Убедитесь, что вы запускаете 32-битную версию («MSYS2 MinGW 32-bit») (или 64-битную версию «MSYS2 MinGW 64-bit», если хотите собрать для x86_64) и запустите эту дополнительную команду (включая фигурные скобки), чтобы установить необходимые зависимости (обратите внимание, что это включает загрузку более 1100 МБ пакетов, поэтому это займёт много времени):
pacman -Sy --needed base-devel git ${MINGW_PACKAGE_PREFIX}-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,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)
Обратите внимание, что эта сборка mGBA для Windows не подходит для распространения из-за разброса DLL, необходимых для её работы, но идеально подходит для разработки. Однако, если требуется распространение такой сборки (например, для тестирования на машинах, на которых не установлена среда MSYS2), запуск cpack -G ZIP
подготовит zip-файл со всеми необходимыми DLL.
Visual Studio
Сборка с использованием Visual Studio — это также сложная настройка. Для начала вам потребуется установить vcpkg. После установки vcpkg вам нужно будет установить несколько дополнительных пакетов:
vcpkg install ffmpeg[vpx,x264] libepoxy libpng libzip sdl2 sqlite3
Обратите внимание, что этот пакет не поддерживает аппаратное ускорение кодирования видео на оборудовании Nvidia. Если вас это волнует, вам необходимо заранее установить CUDA, а затем заменить ffmpeg[vpx,x264,nvcodec]
на предыдущую команду.
Вам также потребуется установить Qt. К сожалению, поскольку Qt принадлежит и управляется больной компанией, а не разумной организацией, больше нет офлайн-версии установщика с открытым исходным кодом для последней версии, поэтому вам придётся либо вернуться к старой версии установщика (которая хочет, чтобы вы создали бесполезный аккаунт, но вы можете временно обойти установку недействительного аккаунта). Установка и сборка mGBA
Существует несколько способов установки mGBA:
Ни один из этих вариантов не является идеальным. Для установщика потребуется установить соответствующие версии MSVC. Обратите внимание, что автономные установщики не поддерживают MSVC 2019.
Для использования vcpkg потребуется его установить, что займёт некоторое время, особенно на компьютерах с четырёхъядерным процессором или менее мощным.
Команды для сборки инструментария
Если у вас есть 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.txt
Зависимости
У mGBA нет жёстких зависимостей, однако для определённых функций требуются следующие дополнительные зависимости. Если зависимости не найдены, функции будут отключены.
SQLite3, libpng и zlib включены в эмулятор, поэтому их не нужно предварительно компилировать извне.
Отсутствующие функции
В настоящее время отсутствуют следующие функции:
Версия 10.9 требуется только для порта Qt. Возможно, удастся собрать или запустить порт Qt на версиях 10.7 и старше, но это официально не поддерживается. Известно, что порт SDL работает на версии 10.5 и может работать на более старых версиях.
mGBA распространяется под Mozilla Public License version 2.0. Копия лицензии доступна в файле LICENSE, который распространяется вместе с программой.
mGBA Copyright © 2013 – 2022 Jeffrey Pfau. Распространяется под Mozilla Public License версии 2.0. Копия лицензии находится в распространяемом файле LICENSE.
mGBA содержит следующие сторонние библиотеки:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )