Платформа разработчика mGBA

Создавайте, вносите вклад и расширяйте самый точный эмулятор Game Boy Advance. Получите доступ к инструментам разработчика, документации API, исходному коду и руководящим принципам для участников.

100+
Участников
50K+
Строк кода
10+
Поддерживаемых платформ

mGBA — это проект с открытым исходным кодом, созданный сообществом разработчиков. Независимо от того, интересуетесь ли вы внесением кода, созданием пользовательских инструментов или созданием портов платформ, платформа разработчика предоставляет все необходимые ресурсы для начала работы.

Инструменты разработчика

Мощные инструменты и API для расширения и настройки mGBA

📜

API скриптинга Lua

Полная поддержка скриптинга Lua 5.4 позволяет создавать пользовательские инструменты, тренеры, скрипты автоматизации и модификации игр. Программно получайте доступ к памяти, регистрам CPU, вводам и функциям эмулятора.

🐛

Инструменты отладки

Встроенные возможности отладки для анализа поведения игр, проверки памяти и тестирования точности эмуляции. Идеально подходит для разработки игр и тестирования ROM.

  • Инспектор памяти
  • Просмотрщик регистров
  • Поддержка точек останова
  • Пошаговое выполнение
  • Интеграция дизассемблера
💾

Анализатор состояний сохранения

Продвинутая система состояний сохранения с инструментами анализа. Проверяйте, изменяйте и конвертируйте состояния сохранения между форматами. Функциональность экспорта и импорта для кроссплатформенной совместимости.

  • Проверка состояний сохранения
  • Конвертация форматов
  • Кроссплатформенная совместимость
  • Инструменты сравнения состояний
  • Поддержка автоматизированного тестирования
🎮

Тестер ROM

Комплексные инструменты тестирования ROM для проверки совместимости игр и выявления проблем. Фреймворк автоматизированного тестирования для регрессионного тестирования и проверки совместимости.

  • Автоматизированное тестирование ROM
  • Отчеты о совместимости
  • Регрессионное тестирование
  • Интеграция набора тестов
  • Поддержка CI/CD

Профилировщик производительности

Встроенные инструменты профилирования для анализа производительности эмуляции. Выявляйте узкие места, оптимизируйте рендеринг и измеряйте компромиссы между точностью и скоростью.

  • Профилирование CPU
  • Анализ использования памяти
  • Статистика времени кадра
  • Бенчмарки производительности
  • Рекомендации по оптимизации
🔧

API конфигурации

Программный доступ к конфигурации эмулятора. Создавайте пользовательские инструменты конфигурации, управляйте настройками программно и создавайте скрипты автоматизации.

Ресурсы разработки

Всё, что вам нужно для начала разработки с mGBA

Репозиторий исходного кода

Получите доступ к полному исходному коду mGBA на GitHub. Просматривайте кодовую базу, читайте историю коммитов и понимайте архитектуру.

Инструкции по сборке

Узнайте, как собрать mGBA из исходного кода на Windows, macOS, Linux и других платформах. Пошаговые руководства для каждой платформы.

Документация API

Полная справочная информация по API для скриптинга Lua, конфигурации и внутренних API. Примеры, учебные пособия и лучшие практики.

Обзор архитектуры

Поймите внутреннюю архитектуру mGBA, решения по дизайну и организацию кода. Обязательное чтение для участников.

Руководящие принципы для участников

Узнайте, как внести вклад в mGBA. Стандарты кодирования, процесс pull request и рабочий процесс разработки.

Дорожная карта разработки

Отслеживайте предстоящие функции, запланированные улучшения и приоритеты разработки. Посмотрите, над чем ведется работа.

Разработка платформ

Портирование mGBA на новые платформы или оптимизация существующих портов

Windows

Разработка для Windows с MSVC или MinGW. Бэкенды Direct3D и OpenGL. Установщик MSI и портативные сборки.

  • MSVC 2015+ или MinGW
  • Требуется DirectX SDK
  • Система сборки CMake
  • Интерфейс Qt или SDL2
🍎

macOS

Нативный интерфейс Cocoa с рендерингом Metal. Универсальные бинарники для Intel и Apple Silicon. Включен проект Xcode.

  • Требуется Xcode 10+
  • Графический бэкенд Metal
  • Поддержка универсальных бинарников
  • Интерфейс Cocoa
🐧

Linux

Множественные варианты интерфейса: Qt, GTK+, SDL2 или командная строка. Поддержка OpenGL и Vulkan. Доступны пакеты дистрибутивов.

  • Компилятор GCC или Clang
  • Qt, GTK+ или SDL2
  • Поддержка OpenGL/Vulkan
  • Система сборки CMake
🤖

Android

Разработка Android NDK с интерфейсом Java/Kotlin. Привязки JNI для основной эмуляции. Оптимизированные для касаний элементы управления.

  • Android NDK r19+
  • Интерфейс Java/Kotlin
  • Рендеринг OpenGL ES
  • Система сборки Gradle
📱

iOS

Нативная разработка iOS с интерфейсом Objective-C/Swift. Графический бэкенд Metal. Включен проект Xcode.

  • Требуется Xcode 10+
  • Графический бэкенд Metal
  • Интерфейс Objective-C/Swift
  • Целевая версия iOS 12.0+
⚙️

Встроенные системы

Портирование mGBA на встроенные системы, такие как Nintendo 3DS, Wii U, PlayStation Vita и другие платформы через homebrew.

  • Пользовательские конфигурации сборки
  • Платформенно-специфичные оптимизации
  • Поддержка SDK Homebrew
  • Обработка ограниченных ресурсов

Интересуетесь созданием нового порта? Проверьте руководства по портированию или обсудите вашу идею с сообществом.

Сообщество разработчиков

Общайтесь с другими разработчиками, получайте помощь и вносите вклад в mGBA

🐙

GitHub

Основная платформа разработки. Сообщайте об ошибках, отправляйте pull request и отслеживайте проблемы.

Посетить GitHub →
💬

Обсуждения

GitHub Discussions для вопросов, идей и общих обсуждений о разработке mGBA.

Присоединиться к обсуждениям →
📋

Трекер проблем

Сообщайте об ошибках, запрашивайте функции и отслеживайте прогресс разработки на GitHub Issues.

Просмотреть проблемы →
🔍

Проверка кода

Все вклады кода проходят проверку коллегами. Учитесь из проверок кода и участвуйте в проверках.

Просмотреть Pull Request →
📝

Примечания к релизам

Отслеживайте изменения, улучшения и новые функции в каждом релизе. Просматривайте историю релизов и списки изменений.

Просмотреть релизы →
📊

Статистика участников

Узнайте, кто вносит вклад, отслеживайте вклады с течением времени и признавайте членов сообщества.

Просмотреть участников →

Примеры кода

Быстрые примеры для начала работы с разработкой mGBA

Пример скрипта Lua

Простой скрипт Lua для отображения координат игрока:

-- Отображение координат X и Y игрока
local core = require("core")

core.addFrameCallback(function()
    local x = core.cpuRead32(0x02000000)
    local y = core.cpuRead32(0x02000004)
    
    print(string.format("Позиция игрока: X=%d, Y=%d", x, y))
end)
Узнать больше →

Сборка из исходного кода

Команды быстрого старта для сборки mGBA:

# Клонировать репозиторий
git clone https://github.com/mgba-emu/mgba.git
cd mgba

# Настроить с CMake
cmake -S . -B build

# Собрать
cmake --build build

# Установить (опционально)
cmake --install build
Просмотреть полное руководство →

Требования для разработки

Системные требования и зависимости для сборки mGBA

Система сборки

  • CMake 3.1 или новее
  • Платформенно-специфичные инструменты сборки
  • Git для контроля версий
  • Python 3.6+ (для скриптов)

Компиляторы

  • GCC 4.9+ или Clang 3.5+
  • MSVC 2015+ (Windows)
  • Xcode 10+ (macOS/iOS)
  • Android NDK r19+ (Android)

Зависимости

  • SDL2, Qt5/6 или GTK+3 (интерфейс)
  • OpenGL 3.3+ или Vulkan 1.0+
  • zlib (сжатие)
  • libpng (скриншоты)
  • Lua 5.4 (скриптинг)

Платформенно-специфичные

  • DirectX SDK (Windows)
  • Xcode Command Line Tools (macOS)
  • Библиотеки разработки (Linux)
  • Android SDK/NDK (Android)

Инструменты разработки

  • Отладчик (GDB, LLDB, Visual Studio)
  • Контроль версий (Git)
  • Редактор кода или IDE
  • Профилировщик памяти (опционально)

Тестирование

  • Тестовые ROM для совместимости
  • Автоматизированный набор тестов
  • Бенчмарки производительности
  • Платформенно-специфичные инструменты тестирования

FAQ для разработчиков

Часто задаваемые вопросы о разработке с mGBA

Сборка mGBA из исходного кода зависит от вашей платформы. На Windows установите CMake и MSVC или MinGW. На macOS установите Xcode и используйте CMake. На Linux установите build-essential и библиотеки разработки. См. руководство по сборке для подробных платформенно-специфичных инструкций.

Вклад приветствуется! Начните с чтения руководящих принципов для участников. Вы можете вносить код, документацию, отчеты об ошибках или запросы функций. Форкните репозиторий, внесите изменения и отправьте pull request. Все вклады проходят проверку кода.

API скриптинга Lua обеспечивает полную поддержку Lua 5.4 для создания пользовательских инструментов, тренеров, скриптов автоматизации и модификаций игр. Вы можете программно получать доступ к памяти, регистрам CPU, вводам и функциям эмулятора. См. документацию API скриптинга Lua для полной справки и примеров.

Для сборки mGBA вам нужен компилятор C/C++ (GCC 4.9+, Clang 3.5+ или MSVC 2015+), CMake 3.1+, Git и платформенно-специфичные зависимости. Windows требует DirectX SDK, macOS требует Xcode Command Line Tools, Linux требует библиотеки разработки для SDL2, Qt или GTK+ в зависимости от вашей конфигурации сборки.

Да! Кодовая база mGBA разработана для переносимости. Основной код эмуляции не зависит от платформы, а платформенно-специфичный код изолирован в отдельных модулях. См. руководства по портированию в документации разработчика для инструкций по созданию новых портов платформ. Вы также можете обсудить ваши планы портирования в GitHub Discussions.

mGBA включает встроенные инструменты отладки, включая инспектор памяти, просмотрщик регистров и поддержку точек останова. Вы можете использовать внешние отладчики, такие как GDB, LLDB или Visual Studio Debugger. Эмулятор также поддерживает скрипты Lua для отладки. См. руководство по устранению неполадок для получения дополнительной информации.

mGBA выпущен под лицензией Mozilla Public License 2.0 (MPL 2.0). Это копилефт-лицензия, которая позволяет вам использовать, изменять и распространять mGBA, но требует делиться исходным кодом для изменений, специфичных для mGBA. См. файл LICENSE для полных деталей.

Используйте страницу GitHub Issues для сообщения об ошибках или запроса функций. Для ошибок включите подробные шаги воспроизведения, системную информацию и логи, если доступны. Для запросов функций объясните случай использования и ожидаемое поведение. Сначала проверьте существующие проблемы, чтобы избежать дубликатов.

Скачать mGBA

Получите последнюю версию mGBA - самый точный эмулятор Game Boy Advance

⬇️

Последний релиз mGBA

Версия 0.10.0
Дата релиза: 17 января 2025
Размер файла: ~15 МБ
Лицензия: MPL 2.0 (Бесплатное и открытое ПО)
Платформы: Windows, macOS, Linux, Android, iOS
Скачать mGBA

Выберите вашу платформу автоматически обнаруженную или выберите вручную

99.8% Совместимость игр
100% Цикл-точная эмуляция
Кроссплатформенная поддержка
Бесплатное и открытое ПО

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

  • Windows: Windows 7+ (рекомендуется 64-bit), 2GB RAM, DirectX 11 GPU
  • macOS: macOS 10.13+, Intel или Apple Silicon, 2GB RAM
  • Linux: 64-bit дистрибутив, OpenGL 3.3+, 2GB RAM
  • Android: Android 5.0+, 2GB RAM, OpenGL ES 2.0+
  • iOS: iOS 12.0+, 2GB RAM

Что включено

  • Полный эмулятор Game Boy Advance
  • Поддержка Game Boy & Game Boy Color
  • Система состояний сохранения (10 слотов)
  • Поддержка читов (GameShark, Action Replay)
  • Интерфейс скриптинга Lua
  • Эмуляция кабеля связи для мультиплеера
  • Поддержка часов реального времени
  • Скриншоты и запись видео

Готовы начать разработку?

Присоединяйтесь к сообществу разработчиков mGBA и помогите создать самый точный эмулятор Game Boy Advance