A mGBA egy emulátor Game Boy Advance játékok futtatására. Célja, hogy gyorsabb és pontosabb legyen, mint sok létező Game Boy Advance emulátor, valamint olyan funkciókat ad hozzá, amelyek más emulátorokból hiányoznak. Támogatja a Game Boy és Game Boy Color játékokat is.
A naprakész hírek és letöltések az mgba.io oldalon találhatók.
Features
- Nagyon pontos Game Boy Advance hardvertámogatás.
- Game Boy/Game Boy Color hardvertámogatás.
- Gyors emuláció. Ismert, hogy teljes sebességgel fut még alacsony hardveren is, például netbookokon.
- Qt és SDL portok a nehéz és könnyű frontendhez.
- Lokális (ugyanazon számítógép) linkkábel támogatás.
- Mentés típusának felismerése, akár a flash memória méretére is.
- Mozgásérzékelővel és rumble-vel ellátott kazetták támogatása (csak játékvezérlőkkel használható).
- Valós idejű óra támogatása, akár konfiguráció nélkül is.
- Napszenzor támogatás a Boktai játékokhoz.
- Game Boy kamera és Game Boy nyomtató támogatás.
- Beépített BIOS implementáció, és lehetőség külső BIOS fájlok betöltésére.
- Turbó/gyors előretekerés támogatása a Tab lenyomásával.
- Tekerés a Backquote lenyomásával.
- Frameskip, 10-ig konfigurálható.
- Screenshot támogatás.
- Cheat code támogatás.
- 9 savestate slot. A savestate-ek képernyőképként is megtekinthetők.
- Videó, GIF, WebP és APNG felvétel.
- e-Reader támogatás.
- Megújítható vezérlés billentyűzethez és gamepadhez egyaránt.
- Töltés ZIP és 7z fájlokból.
- IPS, UPS és BPS patch támogatás.
- Játék hibakeresés parancssori interfészen keresztül és GDB távoli támogatás, kompatibilis az IDA Pro-val.
- Konfigurálható emulációs visszatekerés.
- A GameShark és Action Replay pillanatképek betöltésének és exportálásának támogatása.
- Magok elérhetőek a RetroArch/Libretro és az OpenEmu számára.
- Community által biztosított fordítások több nyelvre a Weblate-en keresztül.
- Sok-sok kisebb dolog.
Game Boy leképezők
A következő leképezők teljes mértékben támogatottak:
- MBC1
- MBC1M
- MBC2
- MBC3
- MBC3+RTC
- MBC5
- MBC5+Rumble
- MBC7
- Bölcsességfa (nem engedélyezett)
- Pokémon Jade/Diamant (nem engedélyezett)
- BBD (nem engedélyezett MBC5-…hasonló)
- Hitek (licenc nélküli MBC5-szerű)
.
A következő leképezők részben támogatottak:
- MBC6 (hiányzik a flash memória írási támogatás)
- MMM01
- Pocket Cam
- TAMA5 (hiányzik az RTC támogatás)
- HuC-1 (hiányzik az IR támogatás)
- HuC-3 (hiányzik az RTC és IR támogatás)
Tervezett funkciók
- Hálózati multiplayer link kábel támogatás.
- Dolphin/JOY busz linkkábel támogatása.
- MP2k hangkeverés, a hardveresnél jobb minőségű hangzás érdekében.
- Újrafelvétel támogatása a szerszámos futásokhoz.
- Lua támogatás a szkripteléshez.
- Egy átfogó hibakeresési csomag.
- Vezeték nélküli adapter támogatása.
Támogatott platformok
- Windows Vista vagy újabb
- OS X 10.8 (Mountain Lion) vagy újabb
- Linux
- FreeBSD
- Nintendo 3DS
- Nintendo Switch
- Wii
- PlayStation Vita
A többi Unix-szerű platform, például az OpenBSD, szintén ismert, hogy működik, de nem tesztelt és nem teljesen támogatott.
Rendszerkövetelmények
A követelmények minimálisak. Bármilyen számítógép, amely képes a Windows Vista vagy újabb Windows Vista futtatására, képesnek kell lennie az emuláció kezelésére. Az OpenGL 1.1 vagy újabb verzió támogatása szintén szükséges, a shaderekhez és a speciális funkciókhoz pedig OpenGL 3.2 vagy újabb verzió.
Letöltések
A letöltések a hivatalos weboldalon, a Letöltések menüpontban találhatók. A forráskód megtalálható a GitHub-on.
Vezérlők
A vezérlők a beállítások menüben konfigurálhatók. Sok játékvezérlőt alapértelmezés szerint automatikusan le kell képezni. Az alapértelmezett billentyűzetvezérlők a következők:
- A: X
- B: Z
- L: A
- R: S
- Start: Válassza ki: Enter
- Válassza ki: Enter
- Válaszd ki:
Kompilálás
A kompiláláshoz a CMake 3.1 vagy újabb verzió használata szükséges. A GCC és a Clang is működik az mGBA lefordításához, de a Visual Studio 2013 és régebbi változatokról ismert, hogy nem működnek. A Visual Studio 2015 és újabbak támogatása hamarosan érkezik.
Docker-építés
A legtöbb platformon a Docker használata az ajánlott építési mód. Számos Docker-képet biztosítunk, amelyek tartalmazzák a szükséges eszköztárat és függőségeket az mGBA építéséhez több platformon is.
A Docker-kép használatához az mGBA építéséhez egyszerűen futtassa a következő parancsot, miközben egy mGBA checkout gyökerében van:
docker run --rm -t -v $PWD:/home/mgba/src mgba/windows:w32
Ez egy build-win32
könyvtárat fog létrehozni a build termékekkel. Cserélje ki a mgba/windows:w32
-t egy másik Docker-képre más platformokhoz, ami egy megfelelő másik könyvtárat fog létrehozni. A következő Docker-képek elérhetők a Docker Hubon:
- 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 building
A CMake használatával történő építéshez Unix-alapú rendszeren az ajánlott parancsok a következők:
mkdir buildcd buildcmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..makesudo make install
Ez építi és telepíti az mGBA-t a /usr/bin
és /usr/lib
rendszerbe. A telepített függőségek automatikusan felismerésre kerülnek, és a függőségek nem találása esetén letiltott funkciók a cmake
parancs futtatása után a nem találásukra vonatkozó figyelmeztetések után megjelennek.
Ha macOS rendszeren dolgozol, a lépések kicsit másképp alakulnak. Feltételezve, hogy a homebrew csomagkezelőt használja, a függőségek beszerzéséhez és a buildhez a következő parancsok javasoltak:
brew install cmake ffmpeg libzip qt5 sdl2 libedit pkg-configmkdir buildcd buildcmake -DCMAKE_PREFIX_PATH=`brew --prefix qt5` ..make
Figyeljen arra, hogy macOS-en nem szabad a make install
parancsot végrehajtani, mert az nem fog megfelelően működni.
Windows fejlesztői building
MSYS2
A Windowson való fejlesztői buildhez az MSYS2 használata ajánlott. Kövesse a honlapjukon található telepítési lépéseket. Győződj meg róla, hogy a 32 bites verzió (“MSYS2 MinGW 32-bit”) fut (vagy a 64 bites verzió “MSYS2 MinGW 64-bit”, ha x86_64-re szeretnél építeni), és futtasd ezt a további parancsot (a zárójelekkel együtt) a szükséges függőségek telepítéséhez (vedd figyelembe, hogy ez több mint 1100MiB csomag letöltésével jár, így sokáig fog tartani):
pacman -Sy --needed base-devel git ${MINGW_PACKAGE_PREFIX}-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,pkgconf,qt5,SDL2,ntldd-git}
Nézd meg a forráskódot ezzel a paranccsal:
git clone https://github.com/mgba-emu/mgba.git
Aztán végül építsd be a következő parancsok futtatásával:
mkdir -p mgba/buildcd mgba/buildcmake .. -G "MSYS Makefiles"make -j$(nproc --ignore=1)
Kérlek vedd figyelembe, hogy az mGBA for Windows ezen buildje nem alkalmas terjesztésre, a DLL-ek elszórtan szükséges futtatása miatt, de fejlesztésre tökéletes. Ha azonban egy ilyen build terjesztésére van szükség (pl. tesztelésre olyan gépeken, amelyeken nincs telepítve az MSYS2 környezet), a cpack -G ZIP
futtatása elkészíti az összes szükséges DLL-t tartalmazó zip fájlt.
Visual Studio
A Visual Studio használatával történő build elkészítése hasonlóan bonyolult beállítás. A kezdéshez telepíteni kell a vcpkg-ot. A vcpkg telepítése után számos további csomagot kell telepítenie:
vcpkg install ffmpeg libepoxy libpng libzip sdl2 sqlite3
Figyeljen arra, hogy ez a telepítés nem fogja támogatni a hardveresen gyorsított videokódolást az Nvidia hardvereken. Ha ez érdekel, akkor előbb telepítened kell a CUDA-t, majd a ffmpeg
-t kell behelyettesítened az előző parancsba.
A Qt-t is telepítened kell. Sajnos mivel a Qt tulajdonosa és üzemeltetője egy gyengélkedő cég, nem pedig egy értelmes szervezet, már nincs offline nyílt forráskódú kiadás telepítője a legújabb verzióhoz, így vagy vissza kell esned a régi verzió telepítőjéhez (ami egy egyébként haszontalan fiók létrehozását kéri, de megkerülheted az érvénytelen proxy ideiglenes beállítását vagy a hálózat más módon történő letiltását), vagy az online telepítőt kell használnod (ami ettől függetlenül fiókot igényel), vagy a vcpkg segítségével kell elkészítened (lassan). Ezek egyike sem nagyszerű lehetőség. A telepítőhöz telepíteni kell a vonatkozó MSVC verziókat. Vegye figyelembe, hogy az offline telepítők nem támogatják az MSVC 2019-et. A vcpkg esetében a következőképpen kell telepíteni, ami elég sokáig fog tartani, különösen négymagos vagy annál kisebb számítógépeken:
vcpkg install qt5-base qt5-multimedia
Következő lépésként nyissa meg a Visual Studiót, válassza a Clone Repository lehetőséget, és írja be a https://github.com/mgba-emu/mgba.git
értéket. Amikor a Visual Studio befejezte a klónozást, menjünk a File > CMake menüpontba, és nyissuk meg a CMakeLists.txt fájlt a kivett tároló gyökerében. Innen az mGBA a Visual Studióban a többi Visual Studio CMake projekthez hasonlóan fejleszthető.
Toolchain építés
Ha rendelkezik devkitARM (3DS-hez), devkitPPC (Wii-hez), devkitA64 (Switch-hez) vagy vitasdk (PS Vitához), akkor a következő parancsokat használhatja az építéshez:
mkdir buildcd buildcmake -DCMAKE_TOOLCHAIN_FILE=../src/platform/3ds/CMakeToolchain.txt ..make
A -DCMAKE_TOOLCHAIN_FILE
paraméter cseréje a következő platformokhoz:
- 3DS:
../src/platform/3ds/CMakeToolchain.txt
- Switch:
../src/platform/switch/CMakeToolchain.txt
- Vita:
../src/platform/psp2/CMakeToolchain.vitasdk
- Wii:
../src/platform/wii/CMakeToolchain.txt
Függőségek
Az mGBA nem rendelkezik kemény függőségekkel, azonban a következő opcionális függőségek szükségesek bizonyos funkciókhoz. A funkciók le lesznek tiltva, ha a függőségek nem találhatók.
- Qt 5: a GUI frontendhez. A hanghoz Qt Multimedia vagy SDL szükséges.
- SDL: egy egyszerűbb frontendhez és gamepad támogatáshoz a Qt frontendben. Az SDL 2 ajánlott, de az 1.2 is támogatott.
- zlib és libpng: a képernyőkép-támogatáshoz és a savestate-in-PNG támogatáshoz.
- libedit: a parancssori hibakereső támogatásához.
- ffmpeg vagy libav: videó, GIF, WebP és APNG rögzítéséhez.
- libzip vagy zlib: zip fájlokban tárolt ROM-ok betöltéséhez.
- SQLite3: játékadatbázisokhoz.
- libelf: ELF betöltéséhez.
SQLite3, libpng és zlib: az emulátor tartalmazza őket, így nem kell őket először külsőleg lefordítani.
Lábjegyzetek
Jelenleg hiányzó funkciók:
- OBJ ablak a 3, 4 és 5 módokhoz (Bug #5)
A Flash memória méretének felismerése bizonyos esetekben nem működik. Ezek futás közben is beállíthatók, de a hiba bejelentése ajánlott, ha ilyen eset fordul elő.
A 10.8 csak a Qt porthoz szükséges. Lehetséges, hogy a Qt portot 10.7-es vagy régebbi verziókon is lehet építeni vagy futtatni, de ez hivatalosan nem támogatott. Az SDL portról ismert, hogy 10.5-ön is működik, és lehet, hogy régebbin is.
Copyright
mGBA is Copyright © 2013 – 2021 Jeffrey Pfau. A Mozilla Public License 2.0 verziója alatt kerül terjesztésre. A licenc másolata elérhető a terjesztett LICENSE fájlban.
mGBA a következő harmadik féltől származó könyvtárakat tartalmazza:
- inih, amelynek szerzői joga © 2009 – 2020 Ben Hoyt és a BSD 3 záradékos licenc alatt használatos.
- blip-buf, amelynek szerzői joga © 2003 – 2009 Shay Green és a Lesser GNU Public License alatt használatos.
- LZMA SDK, amely közkincs.
- MurmurHash3 implementáció Austin Appleby-től, amely közkincs.
- getopt for MSVC, amely közkincs.
- SQLite3, amely közkincs.
Ha játékkiadó vagy, és szeretnéd az mGBA-t kereskedelmi felhasználásra licencelni, további információkért írj a [email protected] e-mail címre.