mGBA on emulaattori Game Boy Advance -pelien ajamiseen. Sen tavoitteena on olla nopeampi ja tarkempi kuin monet nykyiset Game Boy Advance -emulaattorit, sekä lisätä ominaisuuksia, joita muista emulaattoreista puuttuu. Se tukee myös Game Boy- ja Game Boy Color -pelejä.

Ajantasaiset uutiset ja lataukset löytyvät osoitteesta mgba.io.

Build statusTranslation status

Ominaisuudet

  • Tarkka Game Boy Advance -laitteistotuki.
  • Game Boy/Game Boy Color -laitteistotuki.
  • Nopea emulointi. Tunnetusti toimii täydellä nopeudella jopa heikkokuntoisilla laitteistoilla, kuten netbookeilla.
  • Qt- ja SDL-portit raskaalle ja kevyelle frontendille.
  • Lokaali (saman tietokoneen) linkkikaapelituki.
  • Tallennustyypin tunnistus, myös flash-muistin koon osalta.
  • Tuki kaseteille, joissa on liiketunnistimet ja rumble (käyttökelpoinen vain peliohjaimilla).
  • Tuki reaaliaikaiselle kellolle, myös ilman konfigurointia.
  • Aurinkosensorituki Boktai-pelejä varten.
  • Game Boy -kameran ja Game Boy -tulostimen tuki.
  • Sisäänrakennettu BIOS-toteutus ja mahdollisuus ladata ulkoisia BIOS-tiedostoja.
  • Turbo/fast-forward-tuki pitämällä Tab-painiketta alhaalla.
  • Rewind pitämällä Backquote-painiketta alhaalla.
  • Frameskip, konfiguroitavissa jopa 10:een.
  • Screenshot-tuki.
  • Cheat-koodituki.
  • 9 savestate-paikkaa. Savestatet ovat katseltavissa myös kuvakaappauksina.
  • Video-, GIF-, WebP- ja APNG-tallennus.
  • e-Reader-tuki.
  • Muutettavat ohjaimet sekä näppäimistöille että gamepadeille.
  • Lataus ZIP- ja 7z-tiedostoista.
  • IPS-, UPS- ja BPS-korjaustuki.
  • Pelin virheenkorjaus komentorivikäyttöliittymän ja GDB-etätuen kautta, yhteensopiva IDA Pro:n kanssa.
  • Konfiguroitavissa oleva emulaation kelaus.
  • Tuki GameShark- ja Action Replay -tilannekuvien lataamiselle ja viemiselle.
  • Tallennukset saatavilla RetroArch/Libretrolle ja OpenEmulle.
  • Yhteisön tarjoamat käännökset useille kielille Weblate:n välityksellä.
  • Monet, monet, monet pienemmät asiat.

Game Boy -karttureita

Seuraavat kartturit ovat täysin tuettuja:

  • MBC1
  • MBC1M
  • MBC2
  • MBC3
  • MBC3+RTC
  • MBC5
  • MBC5+Rumble
  • MBC7
  • Wisdom Tree (lisensoimaton)
  • Pokémon Jade/Diamond (lisensoimaton)
  • BBD (lisensoimaton MBC5-kaltainen)
  • Hitek (lisensoimaton MBC5:n kaltainen)

Seuraavat kartoittajat ovat osittain tuettuja:

  • MBC6 (puuttuu flash-muistin kirjoitustuki)
  • MMM01
  • Pocket Cam
  • TAMA5 (puuttuu RTC-tuki)
  • HuC-1 (puuttuu IR-tuki)
  • HuC-3 (puuttuu RTC- ja IR-tuki)

Suunnitellut ominaisuudet

  • Verkossa olevan moninpelin linkkikaapelituki.
  • Dolphin/JOY-väylän linkkikaapelituki.
  • MP2k-audiosekoitus, joka mahdollistaa laitteistoa paremman äänenlaadun.
  • Uudelleentallennustuki työkaluavusteisille ajoille.
  • Lua-tuki skriptaukseen.
  • Laaja debug-paketti.
  • Langattoman sovittimen tuki.

Tuetut alustat

  • Windows Vista tai uudempi
  • OS X 10.8 (Mountain Lion) tai uudempi
  • Linux
  • FreeBSD
  • Nintendo 3DS
  • Nintendo Switch
  • Wii
  • PlayStation Vita

Muiden Unixin kaltaisten alustojen, kuten OpenBSD:n, tiedetään toimivan myös, mutta niitä ei ole vielä testattu ja niitä ei ole tuettu täysin.

Järjestelmävaatimukset

Vaatimukset ovat minimaaliset. Minkä tahansa tietokoneen, joka voi käyttää Windows Vistaa tai uudempaa, pitäisi pystyä käsittelemään emulointia. Lisäksi vaaditaan tuki OpenGL 1.1:lle tai uudemmalle ja OpenGL 3.2:lle tai uudemmalle shadereille ja lisäominaisuuksille.

Lataukset

Lataukset löytyvät virallisilta verkkosivuilta, Lataukset-osiosta. Lähdekoodi löytyy GitHubista.

Ohjaimet

Ohjaimet ovat konfiguroitavissa asetusvalikossa. Monet peliohjaimet pitäisi kartoittaa automaattisesti oletusarvoisesti. Näppäimistön oletusohjaukset ovat seuraavat:

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

Kääntäminen

Kääntäminen edellyttää CMake 3.1:n tai uudemman version käyttöä. GCC:n ja Clangin tiedetään toimivan mGBA:n kääntämiseen, mutta Visual Studio 2013:n ja sitä vanhempien ei tiedetä toimivan. Tuki Visual Studio 2015:lle ja uudemmille on tulossa lähiaikoina.

Docker-rakentaminen

Suositeltu tapa rakentaa useimmille alustoille on käyttää Dockeria. Tarjolla on useita Docker-kuvia, jotka sisältävät tarvittavat työkaluketjut ja riippuvuudet mGBA:n rakentamiseen useilla alustoilla.

Käyttääksesi Docker-kuvaa mGBA:n rakentamiseen, suorita yksinkertaisesti seuraava komento, kun olet mGBA:n tsekkauksen juuressa:

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

Tämä tuottaa build-win32-hakemiston build-win32, jossa on rakennustuotteet. Korvaa mgba/windows:w32 toisella Docker-kuvalla muille alustoille, mikä tuottaa vastaavan toisen hakemiston. Seuraavat Docker-kuvat saatavilla Docker Hubissa:

  • 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

*nix-rakentaminen

Käyttääksesi CMakea rakentamiseen Unix-pohjaisessa järjestelmässä, suositellut komennot ovat seuraavat:

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

Tämä rakentaa ja asentaa mGBA:n /usr/bin ja /usr/lib. Asennetut riippuvuudet havaitaan automaattisesti, ja ominaisuudet, jotka poistetaan käytöstä, jos riippuvuuksia ei löydy, näytetään komennon cmake suorittamisen jälkeen varoitusten jälkeen siitä, että niitä ei löydy.

Jos olet macOS-käyttöjärjestelmässä, vaiheet ovat hieman erilaiset. Olettaen, että käytät homebrew-paketinhallintaa, suositellut komennot riippuvuuksien hankkimiseen ja rakentamiseen ovat:

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

Huomaa, että macOS:ssä ei kannata tehdä komentoa make install, koska se ei toimi kunnolla.

Windows-kehittäjien rakentaminen

MSYS2

Kehityskäyttöön Windowsissa suositellaan MSYS2:n käyttöä. Seuraa niiden verkkosivuilta löytyviä asennusvaiheita. Varmista, että käytät 32-bittistä versiota (”MSYS2 MinGW 32-bit”) (tai 64-bittistä versiota ”MSYS2 MinGW 64-bit”, jos haluat rakentaa x86_64:lle), ja suorita tämä lisäkomento (hakasulkeet mukaan lukien) tarvittavien riippuvuuksien asentamiseksi (huomaa, että tämä edellyttää yli 1100MiB:n pakettien lataamista, joten se kestää kauan):

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

Tarkista lähdekoodi ajamalla tämä komento:

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

Sitten lopuksi rakenna se ajamalla nämä komennot:

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

Huomaa, että tämä mGBA:n Windows-rakennus ei sovellu jakeluun, koska se tarvitsee hajallaan olevia DLL:iä toimiakseen, mutta se sopii täydellisesti kehitykseen. Jos tällaisen buildin jakelu kuitenkin halutaan (esim. testausta varten koneilla, joihin ei ole asennettu MSYS2-ympäristöä), suoritus cpack -G ZIP valmistaa zip-tiedoston, jossa on kaikki tarvittavat DLL:t.

Visual Studio

Visual Studion käyttäminen rakentamiseen Visual Studiolla on yhtä monimutkainen asennus. Aluksi sinun on asennettava vcpkg. Kun olet asentanut vcpkg:n, sinun on asennettava useita muita paketteja:

vcpkg install ffmpeg libepoxy libpng libzip sdl2 sqlite3

Huomaa, että tämä asennus ei tue laitteistokiihdytettyä videokoodausta Nvidia-laitteistolla. Jos välität tästä, sinun on asennettava CUDA etukäteen ja korvattava ffmpeg edelliseen komentoon.

Sinun on myös asennettava Qt. Valitettavasti johtuen siitä, että Qt:n omistaa ja sitä pyörittää heikossa kunnossa oleva yritys järkevän organisaation sijaan, uusimmalle versiolle ei ole enää offline-asennusohjelmaa avoimen lähdekoodin versiosta, joten sinun on joko turvauduttava vanhan version asennusohjelmaan (joka haluaa, että luot muutoin käyttökelvottoman tilin, mutta voit ohittaa väliaikaisesti asettamalla epäkelvon välityspalvelimen (invalid proxy) tai muulla tavoin poistamalla verkkoyhteydet käytöstä), käytettävä online-asennusohjelmaa (joka vaatii tilin siitä huolimatta) tai rakennettava se (hitaasti) vcpkg:n avulla. Mikään näistä ei ole hyvä vaihtoehto. Asennusohjelmaa varten sinun on asennettava sovellettavat MSVC-versiot. Huomaa, että offline-asennusohjelmat eivät tue MSVC 2019:ää. Vcpkg:n haluat asentaa näin, mikä kestää melko kauan, varsinkin neliytimisissä tai pienemmissä tietokoneissa:

vcpkg install qt5-base qt5-multimedia

Avaa seuraavaksi Visual Studio, valitse Clone Repository ja kirjoita https://github.com/mgba-emu/mgba.git. Kun Visual Studio on valmis kloonauksen jälkeen, siirry kohtaan File > CMake ja avaa CMakeLists.txt-tiedosto uloskirjautuneen arkiston juuressa. Siitä mGBA:ta voidaan kehittää Visual Studiossa samalla tavalla kuin muitakin Visual Studion CMake-projekteja.

Työkaluketjun rakentaminen

Jos käytössäsi on devkitARM (3DS:lle), devkitPPC (Wii:lle), devkitA64 (Switch:lle) tai vitasdk (PS Vita:lle), voit käyttää seuraavia komentoja rakentamiseen:

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

Vaihda -DCMAKE_TOOLCHAIN_FILE-parametri seuraaville alustoille:

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

Riippuvuudet

mGBA:lla ei ole kovia riippuvuuksia, mutta seuraavia valinnaisia riippuvuuksia tarvitaan tiettyjä ominaisuuksia varten. Ominaisuudet poistetaan käytöstä, jos riippuvuuksia ei löydy.

  • Qt 5: graafisen käyttöliittymän frontendiä varten. Qt Multimedia tai SDL tarvitaan ääntä varten.
  • SDL: Qt:n perusrintamaa ja gamepad-tukea varten. SDL 2:ta suositellaan, mutta 1.2:ta tuetaan.
  • zlib ja libpng: kuvakaappaustukea ja savestate-in-PNG-tukea varten.
  • libedit: komentorivin debuggeritukea varten.
  • ffmpeg tai libav: videon, GIF:n, WebP:n ja APNG:n tallentamiseen.
  • libzip tai zlib: zip-tiedostoihin tallennettujen ROM-tiedostojen lataamiseen.
  • SQLite3: pelien tietokantoihin.
  • libelf: ELF:n lataamiseen.

SQLite3, libpng ja zlib sisältyvät emulaattorin mukana, joten niitä ei tarvitse kääntää ensin ulkoisesti.

Alaviitteet

Tällä hetkellä puuttuvat ominaisuudet ovat

  • OBJ-ikkuna moodeille 3, 4 ja 5 (Bug #5)

Flash-muistin koon tunnistus ei toimi joissakin tapauksissa. Nämä voidaan konfiguroida ajonaikana, mutta vikailmoituksen tekeminen on suositeltavaa, jos tällainen tapaus ilmenee.

10.8 tarvitaan vain Qt-porttia varten. Qt-portin rakentaminen tai ajaminen 10.7:llä tai vanhemmalla voi olla mahdollista, mutta sitä ei virallisesti tueta. SDL-portin tiedetään toimivan 10.5:llä, ja se saattaa toimia vanhemmallakin.

Copyright

mGBA is Copyright © 2013 – 2021 Jeffrey Pfau. Se on jaettu Mozilla Public License version 2.0 mukaisesti. Kopio lisenssistä on saatavilla jaetussa LICENSE-tiedostossa.

mGBA sisältää seuraavat kolmannen osapuolen kirjastot:

  • inih, jonka tekijänoikeus on © 2009 – 2020 Ben Hoyt ja jota käytetään BSD 3-clause -lisenssin alaisuudessa.
  • blip-buf, jonka tekijänoikeus on © 2003 – 2009 Shay Green ja jota käytetään pienemmän GNU-lisenssin alla.
  • LZMA SDK, joka on public domain.
  • Austin Applebyn tekemä MurmurHash3-toteutus, joka on public domain.
  • getopt for MSVC, joka on public domain.
  • SQLite3, joka on public domain.

Jos olet pelijulkaisija ja haluat lisensoida mGBA:n kaupalliseen käyttöön, lähetä sähköpostia sähköpostitse osoitteeseen [email protected] saadaksesi lisätietoja.

Vastaa

Sähköpostiosoitettasi ei julkaista.