mGBA é um emulador para executar jogos Game Boy Advance. O seu objectivo é ser mais rápido e mais preciso do que muitos emuladores Game Boy Advance existentes, bem como adicionar funcionalidades que outros emuladores não possuem. Também suporta jogos Game Boy e Game Boy Color.

Notícias recentes e downloads podem ser encontrados em mgba.io.

Estado do Game Boy Advance.Estado da tradução

Recursos

  • Suporte de hardware Game Boy Advance altamente preciso.
  • Suporte de hardware Game Boy/Game Boy Color.
  • Emulação rápida. Conhecido por correr a toda a velocidade, mesmo em hardware de baixa gama, como netbooks.
  • Portas Qt e SDL para um frontend pesado e leve.
  • Suporte de cabo de ligação local (mesmo computador).
  • Salvar detecção de tipo, mesmo para tamanho de memória flash.
  • Suporte para cartuchos com sensores de movimento e rumble (somente utilizável com controladores de jogo).
  • Suporte para relógio em tempo real, mesmo sem configuração.
  • Suporte para sensores solares para jogos Boktai.
  • Suporte para Game Boy Camera e Game Boy Printer.
  • Uma implementação de BIOS embutida, e capacidade de carregar arquivos BIOS externos.
  • Suporte Turbo/Fast-forward, mantendo a tecla Tab.
  • Rewind, mantendo a tecla Backquote.
  • Frameskip, configurável até 10.
  • Suporte de captura de tela.
  • Suporte de código de aquecimento.
  • Slots savestate. Os savestates também podem ser vistos como capturas de tela.
  • Vídeo, GIF, WebP e gravação APNG.
  • e-Suporte de leitor.
  • Controles remaptáveis tanto para teclados quanto para gamepads.
  • Carregamento de arquivos ZIP e 7z.
  • Suporte de patchIPS, UPS e BPS.
  • Debugging do jogo através de uma interface de linha de comando e suporte remoto GDB, compatível com IDA Pro.
  • >

  • Revolução de emulação configurável.
  • Suporte para carregar e exportar snapshots de GameShark e Action Replay.
  • Cores disponíveis para RetroArch/Libretro e OpenEmu.
  • Traduções fornecidas pela comunidade para vários idiomas via Weblate.
  • >

  • Muitas, muitas coisas menores.

Mappers do Game Boy

Os seguintes mappers são totalmente suportados:

  • MBC1
  • MBC1M
  • MBC2
  • MBC3
  • MBC3+RTC
  • MBC5
  • MBC5+Rumble
  • MBC7
  • Árvore da Sabedoria (sem licença)
  • Pokémon Jade/Diamond (sem licença)
  • BBD (sem licença MBC5-like)
  • Hitek (tipo MBC5 sem licença)

Os seguintes mapeadores são parcialmente suportados:

  • MBC6 (falta de suporte de escrita de memória flash)
  • MMM01
  • CamCam de bolso
  • TAMA5 (falta de suporte RTC)
  • HuC-1 (suporte IR ausente)
  • HuC-3 (suporte RTC e IR ausente)

Recursos planejados

  • Suporte de cabo de link multiplayer daNetworked.
  • Suporte de cabo de link para barramento Dolphin/JOY.
  • Mistura de áudioMP2k, para som de qualidade superior ao hardware.
  • Suporte de gravação para execução de tool-assist.
  • Suporte de scripting em Lua.
  • >

  • Uma suite abrangente de depuração.
  • Suporte para adaptador sem fio.

Plataformas suportadas

  • Windows Vista ou mais recente
  • OS X 10.8 (Mountain Lion) ou mais recente
  • Linux
  • FreeBSD
  • Nintendo 3DS
  • Nintendo Switch
  • Wii
  • PlayStation Vita

Outras plataformas do tipo Unix, como o OpenBSD, também são conhecidas por funcionarem, mas não são testadas e não são totalmente suportadas.

Requisitos do sistema

Requisitos são mínimos. Qualquer computador que pode executar o Windows Vista ou mais novo deve ser capaz de lidar com emulação. Suporte para OpenGL 1.1 ou mais recente também é necessário, com OpenGL 3.2 ou mais recente para shaders e recursos avançados.

Downloads

Downloads podem ser encontrados no site oficial, na seção Downloads. O código fonte pode ser encontrado em GitHub.

Controles

Controles são configuráveis no menu de configurações. Muitos controladores de jogo devem ser mapeados automaticamente por padrão. Os controles de teclado padrão são os seguintes:

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

Compilação

Compilação requer o uso do CMake 3.1 ou mais recente. GCC e Clang são ambos conhecidos por funcionarem para compilar o mGBA, mas o Visual Studio 2013 e os mais antigos são conhecidos por não funcionarem. Suporte para o Visual Studio 2015 e mais novo está chegando em breve.

Construção Docker

A maneira recomendada de construir para a maioria das plataformas é usar Docker. Várias imagens Docker são fornecidas que contêm a cadeia de ferramentas necessária e dependências para construir mGBA em várias plataformas.

Para usar uma imagem Docker para construir mGBA, simplesmente execute o seguinte comando enquanto estiver na raiz de um checkout mGBA:

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

Isto irá produzir um diretório build-win32 com os produtos de construção. Substitua mgba/windows:w32 por outra imagem Docker para outras plataformas, o que produzirá um outro diretório correspondente. As seguintes imagens Docker disponíveis no Docker Hub:

  • mgba/3ds
  • mgba/switch
  • mgba/ubuntu:xenial
  • mgba/ubuntu:bionic
  • >

  • mgba/ubuntu:focal
  • mgba/ubuntu:groovy
  • >

  • mgba/vita
  • mgba/wii
  • >

  • mgba/wii
  • mgba/windows:w32
  • mgba/windows:w64

*construçãonix

Para usar CMake para construir em um sistema baseado em Unix, os comandos recomendados são os seguintes:

mkdir buildcd buildcmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..makesudo make install

Esta irá construir e instalar o mGBA em /usr/bin e /usr/lib. Dependências que são instaladas serão automaticamente detectadas, e recursos que são desabilitados se as dependências não forem encontradas serão mostrados após executar o comando cmake após avisos sobre a impossibilidade de encontrá-las.

Se você estiver no MacOS, os passos são um pouco diferentes. Assumindo que você esteja usando o gerenciador de pacotes homebrew, os comandos recomendados para obter as dependências e compilação são:

brew install cmake ffmpeg libzip qt5 sdl2 libedit pkg-configmkdir buildcd buildcmake -DCMAKE_PREFIX_PATH=`brew --prefix qt5` ..make

Note que você não deve fazer um make install no macOS, pois ele não funcionará corretamente.

Compilação para desenvolvimento do Windows

MSYS2

Compilar no Windows para desenvolvimento, usando MSYS2 é recomendado. Siga as etapas de instalação encontradas em seu site. Certifique-se de que você está executando a versão 32-bit (“MSYS2 MinGW 32-bit”) (ou a versão 64-bit “MSYS2 MinGW 64-bit” se você quiser compilar para x86_64) e execute este comando adicional (incluindo as chaves) para instalar as dependências necessárias (note que isto envolve o download de mais de 1100MiB de pacotes, portanto levará muito tempo):

pacman -Sy --needed base-devel git ${MINGW_PACKAGE_PREFIX}-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,pkgconf,qt5,SDL2,ntldd-git}

Verifique o código fonte executando este comando:

git clone https://github.com/mgba-emu/mgba.git

Então finalmente compile-o executando estes comandos:

mkdir -p mgba/buildcd mgba/buildcmake .. -G "MSYS Makefiles"make -j$(nproc --ignore=1)

Por favor note que esta compilação do mGBA para Windows não é adequada para distribuição, devido à dispersão de DLLs que ele precisa executar, mas é perfeita para desenvolvimento. Entretanto, se a distribuição dessa compilação for desejada (por exemplo, para testes em máquinas que não possuem o ambiente MSYS2 instalado), a execução de cpack -G ZIP irá preparar um arquivo zip com todas as DLLs necessárias.

Visual Studio

A compilação usando o Visual Studio é uma configuração igualmente complicada. Para começar, você precisará instalar o vcpkg. Depois de instalar o vcpkg você precisará instalar vários pacotes adicionais:

vcpkg install ffmpeg libepoxy libpng libzip sdl2 sqlite3

Note que esta instalação não suportará codificação de vídeo acelerada por hardware no hardware Nvidia. Se você se importa com isso, você precisará instalar o CUDA antes, e então substituir ffmpeg no comando anterior.

Você também precisará instalar o Qt. Infelizmente devido ao Qt ser propriedade e executado por uma empresa em dificuldades, ao contrário de uma organização razoável, não existe mais um instalador de edição de código aberto offline para a última versão, então você precisará ou voltar para um instalador de versão antiga (que quer que você crie uma conta sem utilidade, mas você pode contornar temporariamente a configuração de um proxy inválido ou desabilitar a rede), usar o instalador online (que requer uma conta independentemente), ou usar o vcpkg para construí-la (lentamente). Nenhuma destas opções é excelente. Para o instalador, você vai querer instalar as versões aplicáveis do MSVC. Note que os instaladores offline não suportam o MSVC 2019. Para o vcpkg você vai querer instalá-lo como tal, o que vai demorar bastante tempo, especialmente em computadores quad core ou menos:

vcpkg install qt5-base qt5-multimedia

Next, abra o Visual Studio, selecione Clone Repository, e digite https://github.com/mgba-emu/mgba.git. Quando o Visual Studio terminar a clonagem, vá para File > CMake e abra o arquivo CMakeLists.txt na raiz do repositório verificado. A partir daí, o mGBA pode ser desenvolvido no Visual Studio de forma similar a outros projetos CMake do Visual Studio.

Construção da cadeia de ferramentas

Se você tiver devkitARM (para 3DS), devkitPPC (para Wii), devkitA64 (para Switch), ou vitasdk (para PS Vita), você pode usar os seguintes comandos para construir:

mkdir buildcd buildcmake -DCMAKE_TOOLCHAIN_FILE=../src/platform/3ds/CMakeToolchain.txt ..make

Substituir o parâmetro -DCMAKE_TOOLCHAIN_FILEpara as seguintes plataformas:

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

Dependências

mGBA não tem dependências rígidas, no entanto, as seguintes dependências opcionais são necessárias para características específicas. As características serão desabilitadas se as dependências não puderem ser encontradas.

  • Qt 5: para o front-end GUI. Qt Multimedia ou SDL são necessários para o áudio.
  • SDL: para um frontend mais básico e suporte a gamepad no frontend Qt. SDL 2 é recomendado, mas 1.2 é suportado.
  • zlib e libpng: para suporte a screenshot e savestate-in-PNG.
  • libedit: para suporte a depuração de linha de comando.
  • ffmpeg ou libav: para gravação de vídeo, GIF, WebP e APNG.
  • libzip ou zlib: para carregamento de ROMs armazenadas em arquivos zip.
  • SQLite3: para bancos de dados de jogos.
  • libelf: para carregamento ELF.

SQLite3, libpng, e zlib estão incluídas com o emulador, assim eles não precisam ser compilados externamente primeiro.

Notas de rodapé

Características atualmente ausentes são

  • Janela OBJ para os modos 3, 4 e 5 (Bug #5)

A detecção do tamanho da memória flash não funciona em alguns casos. Estes podem ser configurados em tempo de execução, mas é recomendado arquivar um bug se tal caso for encontrado.

10.8 só é necessário para a porta Qt. Pode ser possível construir ou executar a porta Qt em 10.7 ou mais antigo, mas isto não é oficialmente suportado. A porta SDL é conhecida por funcionar em 10.5, e pode funcionar em mais antigas.

Copyright

mGBA é Copyright © 2013 – 2021 Jeffrey Pfau. Ele é distribuído sob a Licença Pública Mozilla versão 2.0. Uma cópia da licença está disponível no arquivo distribuído LICENSE.

mGBA contém as seguintes bibliotecas de terceiros:

  • inih, que é copyright © 2009 – 2020 Ben Hoyt e usado sob uma licença BSD 3-clause.
  • blip-buf, que é copyright © 2003 – 2009 Shay Green e usado sob uma Licença Pública Menor GNU.
  • LZMA SDK, que é de domínio público.
  • Implementação MurmurHash3 por Austin Appleby, que é de domínio público.
  • getopt para MSVC, que é de domínio público.
  • SQLite3, que é de domínio público.

Se você é um editor de jogos e deseja licenciar o mGBA para uso comercial, por favor envie um email para [email protected] para mais informações.

Deixe uma resposta

O seu endereço de email não será publicado.