1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/vsf-linux-mgba

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_ZH_CN.md 17 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 06:59 cdb3902

mGBA

mGBA — это эмулятор, который позволяет играть в игры для Game Boy Advance. mGBA стремится быть быстрее и точнее других эмуляторов Game Boy Advance, а также добавляет функции, которые отсутствуют в других эмуляторах. Кроме того, mGBA поддерживает игры для Game Boy и Game Boy Color.

Вы можете найти последние новости и скачать mGBA по ссылке: mgba.io.

Функции

  • Поддержка точного воспроизведения аппаратного обеспечения Game Boy Advance (за исключением некоторых функций).
  • Поддержка аппаратного обеспечения Game Boy/Game Boy Color.
  • Быстрое моделирование: работает на полной скорости даже на слабом оборудовании, таком как нетбуки.
  • Поддерживает порты Qt и SDL для лёгких и тяжёлых фронтендов.
  • Локальное соединение через кабель на одном компьютере.
  • Обнаружение типа архива, включая размер флэш-памяти (кроме обнаружения размера флэш-памяти).
  • Поддержка игровых контроллеров с датчиками движения и вибрации.
  • Поддержка часов реального времени (RTC), не требующая настройки.
  • Поддержка солнечных датчиков для игр серии «Наша солнечная система».
  • Поддержка камеры Game Boy и принтера Game Boy.
  • Встроенный BIOS и возможность загрузки внешних файлов BIOS.
  • Функция Turbo/быстрого перемотки вперёд (удерживая клавишу Tab).
  • Обратная перемотка (удерживая обратную кавычку).
  • Возможность настройки до 10 уровней перемотки кадров.
  • Возможность делать снимки экрана.
  • Поддержка читов.
  • Девять слотов для мгновенных сохранений, можно просматривать мгновенные сохранения в виде снимков экрана.
  • Запись видео, GIF, WebP и APNG.
  • Поддержка e-Reader.
  • Переопределение клавиш клавиатуры и кнопок управления игрового контроллера.
  • Загрузка из ZIP и 7z файлов.
  • Поддержка IPS, UPS и BPS патчей.
  • Отладка игр с помощью командной строки или GDB, совместима с IDA Pro.
  • Настраиваемая обратная перемотка.
  • Импорт и экспорт снимков состояния GameShark и Action Replay.
  • Подходит для ядер RetroArch/Libretro и OpenEmu.
  • И многое другое.

Эмуляция Game Boy mapper

Полная поддержка следующих mapper:

  • MBC1;
  • MBC1M;
  • MBC2;
  • MBC3;
  • MBC3+RTC;
  • MBC5;
  • MBC5+вибрация;
  • MBC7;
  • Wisdom Tree (неофициальный);
  • Pokémon Jade/Diamond (неофициальный);
  • BBD (неофициальный, похож на MBC5);
  • Hitek (неофициальный, похож на MBC5).

Частичная поддержка следующих mapper:

  • MBC6 (отсутствует поддержка записи во флэш-память);
  • MMM01;
  • Pocket Cam;
  • TAMA5 (отсутствует поддержка RTC);
  • HuC-1 (отсутствует поддержка инфракрасного порта);
  • HuC-3 (отсутствует поддержка инфракрасного порта и RTC).

Планируемые функции

  • Сетевое многопользовательское соединение через кабель.
  • Соединение через Dolphin/JOY шину.
  • Смешивание звука MP2k для более качественного звука.
  • Рекордер для Tool-Assisted Speedrun.
  • Lua скрипты.
  • Комплексный отладчик.
  • Беспроводной адаптер.

Поддерживаемые платформы

  • Windows 7 или более поздняя версия;
  • OS X 10.9 (Mavericks) или более поздняя версия;
  • Linux;
  • FreeBSD;
  • Nintendo 3DS;
  • Nintendo Switch;
  • Wii;
  • PlayStation Vita.

Другие Unix-подобные системы, такие как OpenBSD, также могут работать, но не тестировались и не полностью поддерживаются.

Системные требования

Системные требования низкие. Любой компьютер, способный запускать Windows Vista или более позднюю версию, должен справиться с эмуляцией, и требуется поддержка OpenGL 1.1 или более поздней версии. Для шейдеров и продвинутых функций требуется поддержка OpenGL 3.2 или более поздней версии.

Загрузка

Можно найти ссылки для скачивания на официальном сайте в разделе Downloads. Исходный код доступен на GitHub.

Комбинации клавиш

Комбинации клавиш можно настроить в меню настроек. Многие игровые контроллеры должны автоматически сопоставляться по умолчанию. Стандартные комбинации клавиш на клавиатуре следующие:

  • A: X;
  • B: Z;
  • L: A;
  • R: S;
  • Start: Enter;
  • Select: Backspace.

Сборка

Для сборки требуется CMake 3.1 или новее. Известно, что GCC и Clang могут компилировать mGBA, но Visual Studio 2013 и более ранние версии не могут. Мы планируем поддерживать Visual Studio 2015 или более новую версию в ближайшее время.

Docker сборка

Рекомендуется использовать Docker для большинства платформ. Мы предоставляем несколько образов Docker, содержащих инструменты и зависимости, необходимые для сборки mGBA на разных платформах.

Чтобы собрать mGBA с использованием образа Docker, просто запустите следующую команду в корневом каталоге проверки (checkout) mGBA:

docker run --rm -t -v $PWD:/home/mgba/src mgba/windows:w32

Эта команда создаст каталог build-win32. Замените mgba/windows:w32 на другой образ Docker для соответствующей платформы, чтобы создать соответствующий каталог. В Docker Hub доступны следующие образы Docker:

  • mgba/3ds;
  • mgba/switch;
  • mgba/ubuntu:xenial;
  • mgba/ubuntu:bionic;
  • mgba/ubuntu:focal;
  • mgba/ubuntu:groovy;
  • mgba/vita;
  • mgba/wii;
  • mgba/windows:w32;
  • mgba/windows:w64.

Unix сборка

Чтобы построить 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 pkg-config
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH=`brew --prefix qt5` ..
make

Обратите внимание, что вы не можете запустить make install на macOS, так как эта команда не будет работать должным образом.

Windows разработка

MSYS2

Если вам нужно собрать на Windows, рекомендуется использовать MSYS2. Следуйте инструкциям по установке на веб-сайте MSYS2 (https://msys2.github.io). Убедитесь, что вы используете 32-битную версию MSYS2 («MSYS2 MinGW 32-bit»). Если вы хотите собрать x86_64 версию, используйте 64-битную версию MSYS2 («MSYS2 MinGW 64-bit») и выполните следующие дополнительные команды (включая фигурные скобки) для установки необходимых зависимостей (обратите внимание, что эти команды включают загрузку пакета размером более 1100MiB, поэтому это займёт некоторое время):

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 for Windows не подходит для распространения, поскольку она требует большого количества DLL, разбросанных по всему месту, но она идеально подходит для разработки. Однако, если вам нужно распространить этот тип версии (например, для тестирования на компьютере без MSYS2), вы можете запустить cpack-G ZIP, чтобы подготовить файл, содержащий все необходимые DLL.

Visual Studio

Сборка с использованием Visual Studio также сложна. Сначала необходимо установить vcpkg. Установите vcpkg... После этого необходимо установить несколько дополнительных пакетов программного обеспечения:

vcpkg install ffmpeg[vpx,x264] libepoxy libpng libzip sdl2 sqlite3

Обратите внимание, что эта установка не будет поддерживать аппаратное ускорение видеокодирования на оборудовании Nvidia. Если это для вас важно, то необходимо предварительно установить CUDA, а затем использовать ffmpeg[vpx,x264,nvcodec] вместо команды ffmpeg[vpx,x264] в предыдущей команде.

Вам также необходимо установить Qt. Однако, к сожалению, поскольку Qt принадлежит и управляется компанией с нестабильным положением, а не разумной организацией, больше нет доступных офлайн-версий установочных программ для последних версий. Необходимо вернуться к старой версии программы установки (https://download.qt.io/official_releases/qt/5.12/5.12.9/qt-opensource-windows-x86-5.12.9.exe), которая потребует создания учётной записи, которая уже не используется, но можно обойти эту систему, отключив сеть через временный прокси или другими способами. Также можно использовать онлайн-установщик (в любом случае потребуется учётная запись) или использовать 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 извлечённого репозитория. На этой основе можно разрабатывать mGBA в Visual Studio так же, как и другие проекты Visual Studio CMake.

Построение инструментальной цепочки

Если у вас есть 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 на соответствующий параметр для разных платформ:

  • 3DS: ../src/platform/3ds/CMakeToolchain.txt
  • Switch: ../src/platform/switch/CMakeToolchain.txt
  • Vita: ../src/platform/psp2/CMakeToolchain.vitasdk
  • Wii: ../src/platform/wii/CMakeToolchain.txt

Зависимости

mGBA не имеет жёстких зависимостей, но для определённых функций требуются следующие необязательные зависимости. Если зависимости не найдены, эти функции будут отключены.

  • Qt 5: необходимые зависимости для графического интерфейса пользователя. Аудио требует Qt Multimedia или SDL.
  • SDL: более базовые передние концы и поддержка игровых контроллеров в переднем конце Qt. Рекомендуется использовать SDL 2, но также поддерживается 1.2.
  • zlib и libpng: необходимые зависимости для скриншотов и поддержки мгновенных архивов PNG.
  • libedit: необходимые зависимости для отладчика командной строки.
  • ffmpeg или libav: необходимые зависимости для записи видео, GIF, WebP и APNG.
  • libzip или zlib: необходимые зависимости для загрузки ROM, хранящихся в ZIP-файлах.
  • SQLite3: необходимые зависимости для игровой базы данных.
  • libelf: необходимые зависимости для загрузки ELF.

SQLite3, libpng и zlib уже включены в эмулятор, поэтому нет необходимости компилировать их отдельно.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/vsf-linux-mgba.git
git@api.gitlife.ru:oschina-mirror/vsf-linux-mgba.git
oschina-mirror
vsf-linux-mgba
vsf-linux-mgba
master