Merge branch 'feature/input-revamp' into medusa
|
@ -2,11 +2,6 @@
|
|||
if [ $TRAVIS_OS_NAME = "osx" ]; then
|
||||
brew update
|
||||
brew install qt5 ffmpeg imagemagick sdl2 libzip libpng
|
||||
if [ "$CC" == "gcc" ]; then
|
||||
brew install gcc@5
|
||||
export CC=gcc-5
|
||||
export CXX=g++-5
|
||||
fi
|
||||
else
|
||||
sudo apt-get clean
|
||||
sudo add-apt-repository -y ppa:george-edison55/cmake-3.x
|
||||
|
|
|
@ -7,8 +7,6 @@ matrix:
|
|||
compiler: gcc
|
||||
- os: osx
|
||||
compiler: clang
|
||||
- os: osx
|
||||
compiler: gcc
|
||||
|
||||
before_install:
|
||||
- source ./.travis-deps.sh
|
||||
|
|
41
CHANGES
|
@ -28,6 +28,13 @@ Features:
|
|||
- Customizable autofire speed
|
||||
- Ability to set default Game Boy model
|
||||
- Map viewer
|
||||
- Automatic cheat loading and saving
|
||||
- GameShark and Action Replay button support
|
||||
- AGBPrint support
|
||||
- Debugger: Conditional breakpoints and watchpoints
|
||||
- Ability to select GB/GBC/SGB BIOS on console ports
|
||||
- Optional automatic state saving/loading
|
||||
- Access to ur0 and uma0 partitions on the Vita
|
||||
Bugfixes:
|
||||
- GB Audio: Make audio unsigned with bias (fixes mgba.io/i/749)
|
||||
- GB Serialize: Fix audio state loading
|
||||
|
@ -36,6 +43,28 @@ Bugfixes:
|
|||
- ARM: Fix MSR when T bit is set
|
||||
- GB Serialize: Fix game title check
|
||||
- GB: Revamp IRQ handling based on new information
|
||||
- GBA Video: Don't mask out high bits of BLDY (fixes mgba.io/i/899)
|
||||
- GBA Video: Force align 256-color tiles
|
||||
- GBA DMA: ROM reads are forced to increment
|
||||
- GB Video: Fix loading states while in mode 3
|
||||
- GB Video: Only trigger STAT write IRQs when screen is on (fixes mgba.io/i/912)
|
||||
- GBA Cheats: Fix PARv3 slide codes (fixes mgba.io/i/919)
|
||||
- GBA Video: OBJWIN can change blend params after OBJ is drawn (fixes mgba.io/i/921)
|
||||
- GBA DMA: Fix invalid DMA reads (fixes mgba.io/i/142)
|
||||
- GBA Savedata: Fix crash when resizing flash
|
||||
- GBA Video: Add delay when enabling BGs (fixes mgba.io/i/744, mgba.io/i/752)
|
||||
- GB Memory: HDMAs should not start when LCD is off (fixes mgba.io/i/310)
|
||||
- GBA Cheats: Fix slide codes not initializing properly
|
||||
- Qt: Fix locale being set to English on settings save (fixes mgba.io/i/906)
|
||||
- LR35902: Fix watchpoints not reporting new value
|
||||
- GBA Audio: Increase PSG volume (fixes mgba.io/i/932)
|
||||
- 3DS: Fix opening files in directory names with trailing slashes
|
||||
- GB MBC: Fix MBC2 saves (fixes mgba.io/i/954)
|
||||
- GBA Memory: Fix copy-on-write memory leak
|
||||
- Core: Fix ROM patches not being unloaded when disabled (fixes mgba.io/i/962)
|
||||
- GBA I/O: Fix writing to DISPCNT CGB flag (fixes mgba.io/i/902)
|
||||
- GBA Memory: Partially revert prefetch changes (fixes mgba.io/i/840)
|
||||
- PSP2: Fix issues causing poor audio
|
||||
Misc:
|
||||
- GBA Timer: Use global cycles for timers
|
||||
- GBA: Extend oddly-sized ROMs to full address space (fixes mgba.io/i/722)
|
||||
|
@ -44,6 +73,18 @@ Misc:
|
|||
- Test: Restructure test suite into multiple executables
|
||||
- Python: Integrate tests from cinema test suite
|
||||
- Util: Don't build crc32 if the function already exists
|
||||
- GBA: Implement display start DMAs
|
||||
- Qt: Prevent window from being created off-screen
|
||||
- Qt: Add option to disable FPS display
|
||||
- GBA: Improve multiboot image detection
|
||||
- GB MBC: Remove erroneous bank 0 wrapping
|
||||
- GBA Cheats: Allow multiple ROM patches in the same slot
|
||||
- GB: Skip BIOS option now works
|
||||
- Libretro: Add frameskip option
|
||||
- GBA Memory: 64 MiB GBA Video cartridge support
|
||||
- 3DS: Scale font based on glyph heights (fixes mgba.io/i/961)
|
||||
- PSP2: Use system enter key by default
|
||||
- 3DS: Remove deprecated CSND interface
|
||||
|
||||
0.6.1: (2017-10-01)
|
||||
Bugfixes:
|
||||
|
|
|
@ -2,7 +2,11 @@ cmake_minimum_required(VERSION 3.1)
|
|||
project(medusa)
|
||||
set(BINARY_NAME medusa-emu CACHE INTERNAL "Name of output binaries")
|
||||
if(NOT MSVC)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-missing-field-initializers -std=c99")
|
||||
set(GCC_STD "c99")
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_COMPILER_VERSION VERSION_LESS "4.3")
|
||||
set(GCC_STD "gnu99")
|
||||
endif()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wno-missing-field-initializers -std=${GCC_STD}")
|
||||
else()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4003 /wd4244 /wd4146")
|
||||
endif()
|
||||
|
@ -40,6 +44,10 @@ set(BUILD_GL ON CACHE STRING "Build with OpenGL")
|
|||
set(BUILD_GLES2 OFF CACHE STRING "Build with OpenGL|ES 2")
|
||||
set(USE_EPOXY ON CACHE STRING "Build with libepoxy")
|
||||
set(DISABLE_DEPS OFF CACHE BOOL "Build without dependencies")
|
||||
if(WIN32)
|
||||
set(WIN32_UNIX_PATHS OFF CACHE BOOL "Use Unix-like paths")
|
||||
mark_as_advanced(WIN32_UNIX_PATHS)
|
||||
endif()
|
||||
file(GLOB ARM_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/arm/*.c)
|
||||
file(GLOB ARM_TEST_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/arm/test/*.c)
|
||||
file(GLOB LR35902_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/lr35902/*.c)
|
||||
|
@ -57,7 +65,7 @@ file(GLOB UTIL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/*.[cSs])
|
|||
file(GLOB UTIL_TEST_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/test/*.c)
|
||||
file(GLOB GUI_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/gui/*.c ${CMAKE_CURRENT_SOURCE_DIR}/src/feature/gui/*.c)
|
||||
file(GLOB GBA_RENDERER_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/gba/renderers/*.c)
|
||||
file(GLOB GBA_SIO_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/gba/sio/lockstep.c)
|
||||
file(GLOB GBA_SIO_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/gba/sio/*.c)
|
||||
file(GLOB GBA_EXTRA_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/gba/extra/*.c)
|
||||
file(GLOB GB_SIO_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/gb/sio/*.c)
|
||||
file(GLOB GB_RENDERER_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/gb/renderers/*.c)
|
||||
|
@ -80,8 +88,16 @@ if(NOT CMAKE_BUILD_TYPE)
|
|||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type (e.g. Release or Debug)" FORCE)
|
||||
endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
string(REPLACE "${PROJECT_NAME}" "${BINARY_NAME}" CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DOCDIR}")
|
||||
if(NOT WIN32 OR WIN32_UNIX_PATHS)
|
||||
include(GNUInstallDirs)
|
||||
string(REPLACE "${PROJECT_NAME}" "${BINARY_NAME}" CMAKE_INSTALL_DOCDIR "${CMAKE_INSTALL_DOCDIR}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_LIBDIR ".")
|
||||
set(CMAKE_INSTALL_BINDIR ".")
|
||||
set(CMAKE_INSTALL_DATADIR ".")
|
||||
set(CMAKE_INSTALL_DOCDIR ".")
|
||||
set(CMAKE_INSTALL_INCLUDEDIR "include")
|
||||
endif()
|
||||
|
||||
set(LIBDIR "${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Installed library directory")
|
||||
mark_as_advanced(LIBDIR)
|
||||
|
@ -168,7 +184,7 @@ list(APPEND UTIL_SRC ${CMAKE_CURRENT_BINARY_DIR}/version.c)
|
|||
source_group("Generated sources" FILES ${CMAKE_CURRENT_BINARY_DIR}/version.c)
|
||||
|
||||
# Advanced settings
|
||||
if(NOT DEFINED 3DS)
|
||||
if(NOT DEFINED 3DS AND NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_COMPILER_VERSION VERSION_LESS "4.5"))
|
||||
# LTO appears to make 3DS binary slower
|
||||
set(DEFAULT_LTO ON)
|
||||
else()
|
||||
|
@ -214,6 +230,7 @@ elseif(UNIX)
|
|||
endif()
|
||||
if(NOT APPLE AND NOT HAIKU)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
|
||||
endif()
|
||||
|
||||
list(APPEND CORE_VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-fd.c ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-dirent.c)
|
||||
|
@ -223,7 +240,9 @@ endif()
|
|||
|
||||
if(APPLE)
|
||||
add_definitions(-D_DARWIN_C_SOURCE)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.6")
|
||||
if(CMAKE_SYSTEM_VERSION VERSION_GREATER "10.5.8")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.6")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT HAIKU AND NOT MSVC AND NOT PSP2)
|
||||
|
@ -414,6 +433,8 @@ set(DEBUGGER_SRC
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/src/debugger/symbols.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/debugger/cli-debugger.c)
|
||||
|
||||
file(GLOB DEBUGGER_TEST_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/debugger/test/*.c)
|
||||
|
||||
set(FEATURE_SRC)
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6")
|
||||
|
||||
|
@ -520,6 +541,7 @@ if(USE_ZLIB)
|
|||
list(APPEND DEPENDENCY_LIB ${ZLIB_LIBRARIES})
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS},zlib1g")
|
||||
set(HAVE_CRC32 ON)
|
||||
list(APPEND OS_LIB ${ZLIB_LIBRARIES})
|
||||
else()
|
||||
# zlib pulls in crc32
|
||||
check_function_exists(crc32 HAVE_CRC32)
|
||||
|
@ -596,7 +618,7 @@ elseif(USE_ZLIB)
|
|||
endif()
|
||||
|
||||
if (USE_LZMA)
|
||||
include_directories(AFTER ${CMAKE_CURRENT_SOURCE_DIR}/third-party/lzma)
|
||||
include_directories(AFTER ${CMAKE_CURRENT_SOURCE_DIR}/src/third-party/lzma)
|
||||
add_definitions(-D_7ZIP_PPMD_SUPPPORT)
|
||||
list(APPEND VFS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/util/vfs/vfs-lzma.c)
|
||||
set(LZMA_SRC
|
||||
|
@ -710,6 +732,7 @@ endif()
|
|||
|
||||
if(USE_DEBUGGERS)
|
||||
list(APPEND FEATURE_SRC ${DEBUGGER_SRC})
|
||||
list(APPEND TEST_SRC ${DEBUGGER_TEST_SRC})
|
||||
list(APPEND FEATURES DEBUGGERS)
|
||||
endif()
|
||||
|
||||
|
@ -850,7 +873,7 @@ if(BUILD_OPENEMU)
|
|||
find_library(FOUNDATION Foundation)
|
||||
find_library(OPENEMUBASE OpenEmuBase)
|
||||
file(GLOB OE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/openemu/*.m)
|
||||
add_library(${BINARY_NAME}-openemu MODULE ${CORE_SRC} ${OE_SRC})
|
||||
add_library(${BINARY_NAME}-openemu MODULE ${CORE_SRC} ${OS_SRC})
|
||||
set_target_properties(${BINARY_NAME}-openemu PROPERTIES
|
||||
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/src/platform/openemu/Info.plist.in
|
||||
BUNDLE TRUE
|
||||
|
@ -951,7 +974,8 @@ SET(CPACK_DEB_COMPONENT_INSTALL ON)
|
|||
|
||||
set(CPACK_STRIP_FILES ${BINARY_NAME})
|
||||
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/CHANGES DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT lib${BINARY_NAME})
|
||||
file(GLOB READMES ${CMAKE_CURRENT_SOURCE_DIR}/README*.md)
|
||||
install(FILES ${READMES} ${CMAKE_CURRENT_SOURCE_DIR}/CHANGES DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT lib${BINARY_NAME})
|
||||
|
||||
include(CPack)
|
||||
|
||||
|
|
|
@ -128,11 +128,11 @@ To build on Windows for development, using MSYS2 is recommended. Follow the inst
|
|||
|
||||
For x86 (32 bit) builds:
|
||||
|
||||
pacman -Sy mingw-w64-i686-{cmake,ffmpeg,gcc,gdb,imagemagick,libzip,pkg-config,qt5,SDL2}
|
||||
pacman -Sy mingw-w64-i686-{cmake,ffmpeg,gcc,gdb,imagemagick,libzip,pkg-config,qt5,SDL2,ntldd-git}
|
||||
|
||||
For x86_64 (64 bit) builds:
|
||||
|
||||
pacman -Sy mingw-w64-x86_64-{cmake,ffmpeg,gcc,gdb,imagemagick,libzip,pkg-config,qt5,SDL2}
|
||||
pacman -Sy mingw-w64-x86_64-{cmake,ffmpeg,gcc,gdb,imagemagick,libzip,pkg-config,qt5,SDL2,ntldd-git}
|
||||
|
||||
Check out the source code by running this command:
|
||||
|
||||
|
@ -146,7 +146,7 @@ Then finally build it by running these commands:
|
|||
cmake .. -G "MSYS Makefiles"
|
||||
make
|
||||
|
||||
Please note that this build of medusa for Windows is not suitable for distribution, due to the scattering of DLLs it needs to run, but is perfect for development. However, if distributing such a build is desired (e.g. for testing on machines that don't have the MSYS2 environment installed), a tool called "[Dependency Walker](http://dependencywalker.com)" can be used to see which additional DLL files need to be shipped with the medusa executable.
|
||||
Please note that this build of medusa for Windows is not suitable for distribution, due to the scattering of DLLs it needs to run, but is perfect for development. However, if distributing such a build is desired (e.g. for testing on machines that don't have the MSYS2 environment installed), running `cpack -G ZIP` will prepare a zip file with all of the necessary DLLs.
|
||||
|
||||
### Dependencies
|
||||
|
||||
|
|
|
@ -0,0 +1,178 @@
|
|||
mGBA
|
||||
====
|
||||
|
||||
mGBA ist ein Emulator für Game Boy Advance-Spiele. Das Ziel von mGBA ist, schneller und genauer als viele existierende Game Boy Advance-Emulatoren zu sein. Außerdem verfügt mGBA über Funktionen, die anderen Emulatoren fehlen. Zusätzlich werden auch Game Boy- und Game Boy Color-Spiele unterstützt.
|
||||
|
||||
Aktuelle Neuigkeiten und Downloads findest Du auf [mgba.io](https://mgba.io).
|
||||
|
||||
[![Build-Status](https://travis-ci.org/mgba-emu/mgba.svg?branch=master)](https://travis-ci.org/mgba-emu/mgba)
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- Nahzu vollständige Unterstützung der Game Boy Advance-Hardware[<sup>[1]</sup>](#missing).
|
||||
- Unterstützung der Game Boy-/Game Boy Color-Hardware.
|
||||
- Schnelle Emulation. mGBA ist dafür bekannt, auch auf schwacher Hardware wie Netbooks mit voller Geschwindigkeit zu laufen.
|
||||
- Qt- und SDL-Portierungen für eine vollwertige und eine "leichtgewichtige" Benutzeroberfläche.
|
||||
- Lokale (gleicher Computer) Unterstützung für Link-Kabel.
|
||||
- Erkennung des Speichertypes, einschließlich der Größe des Flash-Speichers[<sup>[2]</sup>](#flashdetect).
|
||||
- Unterstützung für Spielmodule mit Bewegungssensoren und Rüttel-Effekten (nur verwendbar mit Spiele-Controllern).
|
||||
- Unterstützung für Echtzeituhren, selbst ohne Konfiguration.
|
||||
- Unterstützung für Game Boy Printer und Game Boy Camera.
|
||||
- Eingebaute BIOS-Implementierung mit der Möglichkeit, externe BIOS-Dateien zu laden.
|
||||
- Turbo/Vorlauf-Unterstützung durch drücken der Tab-Taste.
|
||||
- Rücklauf-Unterstützung durch drücken der Akzent-Taste.
|
||||
- Frameskip von bis zu 10 Bildern.
|
||||
- Unterstützung für Screenshots.
|
||||
- Unterstützung für Cheat-Codes.
|
||||
- 9 Speicherstände für Savestates/Spielzustände. Savestates können auch als Screenshots dargestellt werden.
|
||||
- Video- und GIF-Aufzeichnung.
|
||||
- Frei wählbare Tastenbelegungen für Tastaturen und Controller.
|
||||
- Unterstützung für ZIP- und 7z-Archive.
|
||||
- Unterstützung für Patches im IPS-, UPS- und BPS-Format.
|
||||
- Spiele-Debugging über ein Kommandozeilen-Interface und IDA Pro-kompatible GDB-Unterstützung.
|
||||
- Einstellbare Rücklauf-Funktion.
|
||||
- Unterstützung für das Laden und Exportieren von GameShark- und Action Replay-Abbildern.
|
||||
- Verfügbare Cores für RetroArch/Libretro und OpenEmu.
|
||||
- Viele, viele kleinere Dinge.
|
||||
|
||||
### Geplante Features
|
||||
|
||||
- Unterstützung für Link-Kabel-Multiplayer über ein Netzwerk.
|
||||
- Unterstützung für Link-Kabel über Dolphin/JOY-Bus.
|
||||
- M4A-Audio-Abmischung für höhere Audio-Qualität.
|
||||
- Unterstützung für Tool-Assisted Speedruns.
|
||||
- Lua-Unterstützung für Scripting.
|
||||
- Eine umfangreiche Debugging-Suite.
|
||||
- e-Reader-Unterstützung.
|
||||
- Unterstützung für Drahtlosadapter.
|
||||
|
||||
Unterstützte Plattformen
|
||||
------------------------
|
||||
|
||||
- Windows Vista oder neuer
|
||||
- OS X 10.7 (Lion)[<sup>[3]</sup>](#osxver) oder neuer
|
||||
- Linux
|
||||
- FreeBSD
|
||||
- Nintendo 3DS
|
||||
- Wii
|
||||
- PlayStation Vita
|
||||
|
||||
Andere Unix-ähnliche Plattformen wie OpenBSD sind ebenfalls dafür bekannt, mit mGBA kompatibel zu sein. Sie sind jedoch nicht getestet und werden nicht voll unterstützt.
|
||||
|
||||
### Systemvoraussetzungen
|
||||
|
||||
Die Systemvoraussetzungen sind minimal. Jeder Computer, der mit Windows Vista oder neuer läuft, sollte in der Lage sein, die Emulation zu bewältigen. Unterstützung für OpenGL 1.1 oder neuer ist ebenfalls voraussgesetzt.
|
||||
|
||||
Downloads
|
||||
---------
|
||||
|
||||
Download-Links befinden sich in der [Downloads][downloads]-Sektion auf der offizielle Website. Der Quellcode befindet sich auf [GitHub][source].
|
||||
|
||||
Steuerung
|
||||
---------
|
||||
|
||||
Die Steuerung kann im Einstellungs-Menü konfiguriert werden. Viele Spiele-Controller werden automatisch erkannt und entsprechend belegt. Für Tastaturen wird standardmäßig folgende Belegung verwendet:
|
||||
|
||||
- **A**: X
|
||||
- **B**: Z
|
||||
- **L**: A
|
||||
- **R**: S
|
||||
- **Start**: Enter
|
||||
- **Select**: Rücktaste
|
||||
|
||||
Kompilieren
|
||||
-----------
|
||||
|
||||
Um mGBA kompilieren zu können, wird CMake 2.8.11 oder neuer benötigt. GCC und Clang sind beide dafür bekannt, mGBA kompilieren zu können. Visual Studio 2013 und älter funktionieren nicht. Unterstützung für Visual Studio 2015 und neuer wird bald hinzugefügt. Um CMake auf einem Unix-basierten System zu verwenden, werden folgende Kommandos empfohlen:
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
|
||||
make
|
||||
sudo make install
|
||||
|
||||
Damit wird mGBA gebaut und in `/usr/bin` und `/usr/lib` installiert. Installierte Abhängigkeiten werden automatisch erkannt. Features, die aufgrund fehlender Abhängigkeiten deaktiviert werden, werden nach dem `cmake`-Kommando aufgelistet.
|
||||
|
||||
Wenn Du macOS verwendest, sind die einzelnen Schritte etwas anders. Angenommen, dass Du eine Homebrew-Paketverwaltung verwendest, werden folgende Schritte zum installieren der Abhängigkeiten und anschließenden bauen von mGBA empfohlen:
|
||||
|
||||
brew install cmake ffmpeg imagemagick libzip qt5 sdl2 libedit
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_PREFIX_PATH='brew --prefix qt5' ..
|
||||
make
|
||||
|
||||
Bitte beachte, dass Du unter macOS nicht 'make install' verwenden solltest, da dies nicht korrekt funktionieren wird.
|
||||
|
||||
### Für Entwickler: Kompilieren unter Windows
|
||||
|
||||
Um mGBA auf Windows zu kompilieren, wird MSYS2 empfohlen. Befolge die Installationsschritte auf der [MSYS2-Website](https://msys2.github.io). Stelle sicher, dass Du die 32-Bit-Version ("MSYS2 MinGW 32-bit") (oder die 64-Bit-Version "MSYS2 MinGW 64-bit", wenn Du mGBA für x86_64 kompilieren willst) verwendest und führe folgendes Kommando (einschließlich der Klammern) aus, um alle benötigten Abhängigkeiten zu installieren. Bitte beachte, dass dafür über 500MiB an Paketen heruntergeladen werden, was eine Weile dauern kann):
|
||||
|
||||
Für x86 (32 Bit):
|
||||
|
||||
pacman -Sy mingw-w64-i686-{cmake,ffmpeg,gcc,gdb,imagemagick,libzip,pkg-config,qt5,SDL2,ntldd-git}
|
||||
|
||||
Für x86_64 (64 Bit):
|
||||
|
||||
pacman -Sy mingw-w64-x86_64-{cmake,ffmpeg,gcc,gdb,imagemagick,libzip,pkg-config,qt5,SDL2,ntldd-git}
|
||||
|
||||
Lade den aktuellen mGBA-Quellcode mithilfe des folgenden Kommandos herunter:
|
||||
|
||||
git clone https://github.com/mgba-emu/mgba.git
|
||||
|
||||
Abschließend wird mGBA über folgende Kommandos kompiliert:
|
||||
|
||||
cd mgba
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -G "MSYS Makefiles"
|
||||
make
|
||||
|
||||
Bitte beachte, dass mGBA für Windows aufgrund der Vielzahl an benötigten DLLs nicht für die weitere Verteilung geeignet ist, wenn es auf diese Weise gebaut wurde. Es ist jedoch perfekt für Entwickler geeignet. Soll mGBA dennoch weiter verteilt werden (beispielsweise zu Testzwecken auf Systemen, auf denen keine MSYS2-Umgebung installiert ist), kann mithilfe des Befehls 'cpack -G ZIP' ein ZIP-Archiv mit allen benötigten DLLs erstellt werden.
|
||||
|
||||
### Abhängigkeiten
|
||||
|
||||
mGBA hat keine "harten" Abhängigkeiten. Dennoch werden die folgenden optionalen Abhängigkeiten für einige Features benötigt. Diese Features werden automatisch deaktiviert, wenn die benötigten Abhängigkeiten nicht gefunden werden.
|
||||
|
||||
- Qt 5: Für die Benutzeroberfläche. Qt Multimedia oder SDL werden für Audio-Ausgabe benötigt.
|
||||
- SDL: Für eine einfachere Benutzeroberfläche und Spiele-Controller-Unterstützung in der Qt-Oberfläche. SDL 2 ist empfohlen, SDL 1.2 wird jedoch auch unterstützt.
|
||||
- zlib und libpng: Für die Unterstützung von Bildschirmfotos und Savestates-in-PNG-Unterstützung.
|
||||
- libedit: Für die Unterstützung des Kommandozeilen-Debuggers.
|
||||
- ffmpeg oder libav: Für Videoaufzeichnungen.
|
||||
- libzip oder zlib: Um ROMs aus ZIP-Dateien zu laden.
|
||||
- ImageMagick: Für GIF-Aufzeichnungen.
|
||||
- SQLite3: Für Spiele-Datenbanken.
|
||||
- libelf: Für das Laden von ELF-Dateien.
|
||||
|
||||
SQLite3, libpng und zlib werden mit dem Emulator mitgeliefert, sodass sie nicht zuerst kompiliert werden müssen.
|
||||
|
||||
Fußnoten
|
||||
--------
|
||||
|
||||
<a name="missing">[1]</a> Zurzeit fehlende Features sind
|
||||
|
||||
- OBJ-Fenster für die Modi 3, 4 und 5 ([Bug #5](http://mgba.io/b/5))
|
||||
- Mosaik-Effekt für umgewandelte OBJs ([Bug #9](http://mgba.io/b/9))
|
||||
|
||||
<a name="flashdetect">[2]</a> In manchen Fällen ist es nicht möglich, die Größe des Flash-Speichers automatisch zu ermitteln. Diese kann dann zur Laufzeit konfiguriert werden, es wird jedoch empfohlen, den Fehler zu melden.
|
||||
|
||||
<a name="osxver">[3]</a> 10.7 wird nur für die Qt-Portierung benötigt. Die SDL-Portierung ist dafür bekannt, mit 10.5 und möglicherweise auf älteren Versionen zu funktionieren.
|
||||
|
||||
[downloads]: http://mgba.io/downloads.html
|
||||
[source]: https://github.com/mgba-emu/mgba/
|
||||
|
||||
Copyright
|
||||
---------
|
||||
|
||||
Copyright für mGBA © 2013 – 2017 Jeffrey Pfau. mGBA wird unter der [Mozilla Public License version 2.0](https://www.mozilla.org/MPL/2.0/) veröffentlicht. Eine Kopie der Lizenz ist in der mitgelieferten Datei LICENSE verfügbar.
|
||||
|
||||
mGBA beinhaltet die folgenden Bibliotheken von Drittanbietern:
|
||||
|
||||
- [inih](https://github.com/benhoyt/inih), Copyright © 2009 Ben Hoyt, verwendet unter einer BSD 3-clause-Lizenz.
|
||||
- [blip-buf](https://code.google.com/archive/b/blip-buf), Copyright © 2003 - 2009 Shay Green, verwendet unter einer Lesser GNU Public License.
|
||||
- [LZMA SDK](http://www.7-zip.org/sdk.html), Public Domain.
|
||||
- [MurmurHash3](https://github.com/aappleby/smhasher), Implementierung von Austin Appleby, Public Domain.
|
||||
- [getopt fot MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/), Public Domain.
|
||||
- [SQLite3](https://www.sqlite.org), Public Domain.
|
||||
|
||||
Wenn Du ein Spiele-Publisher bist und mGBA für kommerzielle Verwendung lizenzieren möchtest, schreibe bitte eine e-Mail an [licensing@mgba.io](mailto:licensing@mgba.io) für weitere Informationen.
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 518 B After Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 627 B After Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |