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 или более новую версию. Известно, что для компиляции mGBA работают GCC, Clang и Visual Studio 2019.
Сборка в Docker
Рекомендуется использовать Docker для сборки на большинстве платформ. Предоставляется несколько образов Docker, содержащих необходимые инструменты и зависимости для сборки mGBA на нескольких платформах.
Примечание: если вы используете старую систему Windows до Windows 10, вам может потребоваться настроить Docker для использования общих папок VirtualBox, чтобы правильно сопоставить текущий каталог проверки mgba с рабочим каталогом образа Docker. (Подробности см. в выпуске №1985.)
Чтобы использовать образ Docker для создания mGBA, просто выполните следующую команду, находясь в корне проверки mGBA:
docker run --rm -it -v ${PWD}:/home/mgba/src mgba/windows:w32
После запуска контейнера Docker будет создан каталог build-win32 с продуктами сборки. Замените mgba/windows:w32 другим образом Docker для других платформ, который создаст соответствующий другой каталог. В Docker Hub доступны следующие образы Docker:
Если вы хотите ускорить процесс сборки, рассмотрите возможность добавления флага -e MAKEFLAGS=-jN для параллельной сборки mGBA с N количеством ядер ЦП.
Создание на 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 lua pkg-config
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH=`brew --prefix qt5` ..
make
Обратите внимание, что на macOS не следует выполнять make install, так как это не будет работать должным образом.
Разработка на Windows
Для разработки на 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,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)
Обратите внимание, что эта сборка mGBA для Windows не подходит для распространения из-за разброса DLL, необходимых для её работы, но идеально подходит для разработки. Однако, если требуется распространение такой сборки (например, для тестирования на машинах, на которых не установлена среда MSYS2), запуск cpack -G ZIP подготовит zip-файл со всеми необходимыми DLL.
Сборка с использованием Visual Studio — это также сложная настройка. Для начала вам потребуется установить vcpkg. После установки vcpkg вам нужно будет установить несколько дополнительных пакетов:
vcpkg install ffmpeg[vpx,x264] libepoxy libpng libzip lua sdl2 sqlite3
Обратите внимание, что этот пакет не поддерживает аппаратное ускорение кодирования видео на оборудовании Nvidia. Если вас интересует... Вам потребуется предварительно установить CUDA, а затем заменить ffmpeg[vpx,x264,nvcodec]
на предыдущую команду.
Также вам потребуется установить Qt. К сожалению, из-за того, что Qt принадлежит и управляется больной компанией, в отличие от разумной организации, больше нет оффлайн-версии установщика с открытым исходным кодом для последней версии, поэтому вам придётся либо вернуться к старой версии установщика (https://download.qt.io/official_releases/qt/5.12/5.12.9/qt-opensource-windows-x86-5.12.9.exe) (которая требует создания бесполезного аккаунта, но вы можете временно обойти это, установив неверный прокси или отключив сетевое подключение), использовать онлайн-установщик (который требует наличия аккаунта в любом случае) или использовать vcpkg для его сборки (что занимает много времени, особенно на компьютерах с четырьмя ядрами или меньше):
vcpkg install qt5-base qt5-multimedia
Затем откройте Visual Studio, выберите Clone Repository и введите https://github.com/mgba-emu/mgba.git
. Когда Visual Studio закончит клонирование, перейдите в File > CMake и откройте файл CMakeLists.txt в корне извлечённого репозитория. После этого mGBA можно разрабатывать в Visual Studio аналогично другим проектам CMake в Visual Studio.
Если у вас есть 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 включены в эмулятор, поэтому их не нужно компилировать отдельно.
[1] В настоящее время отсутствуют следующие функции:
[2] Определение размера флэш-памяти работает не во всех случаях. Их можно настроить во время выполнения, но рекомендуется сообщить об ошибке, если такой случай возникнет.
[3] Версия 10.9 нужна только для порта Qt. Возможно, удастся собрать или запустить порт Qt на версии 10.7 или старше, но официально это не поддерживается. Известно, что порт SDL работает на версии 10.5 и может работать на более старых версиях.
mGBA является авторским правом © 2013 – 2023 Джеффри Пфау. Он распространяется под Mozilla Public License version 2.0. Копия лицензии доступна в распространённом файле LICENSE.
В mGBA используются следующие сторонние библиотеки:
— SQLite3, который является общественным достоянием.
Если вы издатель игр и хотите получить лицензию на коммерческое использование mGBA, пожалуйста, напишите по адресу licensing@mgba.io для получения дополнительной информации.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )