all repos — mgba @ 3832250c888c8d9f9a822e9267d27723a21eba7c

mGBA Game Boy Advance Emulator

README_DE.md (view raw)

  1mGBA
  2====
  3
  4mGBA 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.
  5
  6Aktuelle Neuigkeiten und Downloads findest Du auf [mgba.io](https://mgba.io).
  7
  8[![Build-Status](https://travis-ci.org/mgba-emu/mgba.svg?branch=master)](https://travis-ci.org/mgba-emu/mgba)
  9
 10Features
 11--------
 12
 13- Sehr genaue Unterstützung der Game Boy Advance-Hardware[<sup>[1]</sup>](#missing).
 14- Unterstützung der Game Boy-/Game Boy Color-Hardware.
 15- Schnelle Emulation. mGBA ist dafür bekannt, auch auf schwacher Hardware wie Netbooks mit voller Geschwindigkeit zu laufen.
 16- Qt- und SDL-Portierungen für eine vollwertige und eine "leichtgewichtige" Benutzeroberfläche.
 17- Lokale (gleicher Computer) Unterstützung für Link-Kabel.
 18- Erkennung des Speichertypes, einschließlich der Größe des Flash-Speichers[<sup>[2]</sup>](#flashdetect).
 19- Unterstützung für Spielmodule mit Bewegungssensoren und Rüttel-Effekten (nur verwendbar mit Spiele-Controllern).
 20- Unterstützung für Echtzeituhren, selbst ohne Konfiguration.
 21- Unterstützung für den Lichtsensor in Boktai-Spielen
 22- Unterstützung für Game Boy Printer und Game Boy Camera.
 23- Eingebaute BIOS-Implementierung mit der Möglichkeit, externe BIOS-Dateien zu laden.
 24- Turbo/Vorlauf-Unterstützung durch drücken der Tab-Taste.
 25- Rücklauf-Unterstützung durch drücken der Akzent-Taste.
 26- Frameskip von bis zu 10 Bildern.
 27- Unterstützung für Screenshots.
 28- Unterstützung für Cheat-Codes.
 29- 9 Speicherstände für Savestates/Spielzustände. Savestates können auch als Screenshots dargestellt werden.
 30- Video- und GIF-Aufzeichnung.
 31- e-Reader-Unterstützung.
 32- Frei wählbare Tastenbelegungen für Tastaturen und Controller.
 33- Unterstützung für ZIP- und 7z-Archive.
 34- Unterstützung für Patches im IPS-, UPS- und BPS-Format.
 35- Spiele-Debugging über ein Kommandozeilen-Interface und IDA Pro-kompatible GDB-Unterstützung.
 36- Einstellbare Rücklauf-Funktion.
 37- Unterstützung für das Laden und Exportieren von GameShark- und Action Replay-Abbildern.
 38- Verfügbare Cores für RetroArch/Libretro und OpenEmu.
 39- Viele, viele kleinere Dinge.
 40
 41### Game Boy-Mapper
 42
 43Die folgenden Mapper werden vollständig unterstützt:
 44
 45- MBC1
 46- MBC1M
 47- MBC2
 48- MBC3
 49- MBC3+RTC (MBC3+Echtzeituhr)
 50- MBC5
 51- MBC5+Rumble (MBC5+Rüttel-Modul)
 52- MBC7
 53- Wisdom Tree (nicht lizenziert)
 54
 55Die folgenden Mapper werden teilweise unterstützt:
 56
 57- MBC6
 58- MMM01
 59- Pocket Cam
 60- TAMA5
 61- HuC-1
 62- HuC-3
 63
 64### Geplante Features
 65
 66- Unterstützung für Link-Kabel-Multiplayer über ein Netzwerk.
 67- Unterstützung für Link-Kabel über Dolphin/JOY-Bus.
 68- M4A-Audio-Abmischung für höhere Audio-Qualität als echte Hardware.
 69- Unterstützung für Tool-Assisted Speedruns.
 70- Lua-Unterstützung für Scripting.
 71- Eine umfangreiche Debugging-Suite.
 72- Unterstützung für Drahtlosadapter.
 73
 74Unterstützte Plattformen
 75------------------------
 76
 77- Windows Vista oder neuer
 78- OS X 10.7 (Lion)[<sup>[3]</sup>](#osxver) oder neuer
 79- Linux
 80- FreeBSD
 81- Nintendo 3DS
 82- Wii
 83- PlayStation Vita
 84
 85Andere 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.
 86
 87### Systemvoraussetzungen
 88
 89Die 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. OpenGL 3.2 oder neuer wird für Shader und erweiterte Funktionen benötigt.
 90
 91Downloads
 92---------
 93
 94Download-Links befinden sich in der [Downloads][downloads]-Sektion auf der offiziellen Website. Der Quellcode befindet sich auf [GitHub][source].
 95
 96Steuerung
 97---------
 98
 99Die 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:
100
101- **A**: X
102- **B**: Z
103- **L**: A
104- **R**: S
105- **Start**: Enter
106- **Select**: Rücktaste
107
108Kompilieren
109-----------
110
111Um mGBA kompilieren zu können, wird CMake 3.1 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.
112
113#### Kompilieren mit Docker
114
115Der empfohlene Weg, um mGBA für die meisten Plattformen zu kompilieren, ist Docker. Mehrere Docker-Images sind verfügbar, welche die benötigte Compiler-Umgebung und alle benötigten Abhängigkeiten beinhaltet, um mGBA für verschiedene Plattformen zu bauen.
116
117Um ein Docker-Image zum Bau von mGBA zu verwenden, führe einfach folgenden Befehl in dem Verzeichnis aus, in welches Du den mGBA-Quellcode ausgecheckt hast:
118
119	docker run --rm -t -v $PWD:/home/mgba/src mgba/windows:w32
120
121Dieser Befehl erzeugt ein Verzeichnis `build-win32` mit den erzeugten Programmdateien. Ersetze `mgba/windows:32` durch ein Docker-Image für eine andere Plattform, wodurch dann das entsprechende Verzeichnis erzeugt wird. Die folgenden Docker-Images sind im Docker Hub verfügbar:
122
123- mgba/3ds
124- mgba/switch
125- mgba/ubuntu:xenial
126- mgba/ubuntu:bionic
127- mgba/ubuntu:cosmic
128- mgba/ubuntu:disco
129- mgba/ubuntu:eoan
130- mgba/ubuntu:focal
131- mgba/vita
132- mgba/wii
133- mgba/windows:w32
134- mgba/windows:w64
135
136#### Unter *nix kompilieren
137
138Verwende folgende Befehle, um mGBA mithilfe von CMake auf einem Unix-basierten System zu bauen:
139
140	mkdir build
141	cd build
142	cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
143	make
144	sudo make install
145
146Damit wird mGBA gebaut und in `/usr/bin` und `/usr/lib` installiert. Installierte Abhängigkeiten werden automatisch erkannt. Features, die aufgrund fehlender Abhängigkeiten deaktiviert wurden, werden nach dem `cmake`-Kommando angezeigt.
147
148Wenn Du macOS verwendest, sind die einzelnen Schritte etwas anders. Angenommen, dass Du den Homebrew-Paketmanager verwendest, werden folgende Schritte zum installieren der Abhängigkeiten und anschließenden bauen von mGBA empfohlen:
149
150	brew install cmake ffmpeg libzip qt5 sdl2 libedit pkg-config
151	mkdir build
152	cd build
153	cmake -DCMAKE_PREFIX_PATH='brew --prefix qt5' ..
154	make
155
156Bitte beachte, dass Du unter macOS nicht 'make install' verwenden solltest, da dies nicht korrekt funktionieren wird.
157
158### Für Entwickler: Kompilieren unter Windows
159
160Um 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 1100MiB an Paketen heruntergeladen werden, was eine Weile dauern kann:
161
162Für x86 (32 Bit):
163
164	pacman -Sy --needed base-devel git mingw-w64-i686-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,pkg-config,qt5,SDL2,ntldd-git}
165
166Für x86_64 (64 Bit):
167
168	pacman -Sy --needed base-devel git mingw-w64-x86_64-{cmake,ffmpeg,gcc,gdb,libelf,libepoxy,libzip,pkg-config,qt5,SDL2,ntldd-git}
169
170Lade den aktuellen mGBA-Quellcode mithilfe des folgenden Kommandos herunter:
171
172	git clone https://github.com/mgba-emu/mgba.git
173
174Abschließend wird mGBA über folgende Kommandos kompiliert:
175
176	cd mgba
177	mkdir build
178	cd build
179	cmake .. -G "MSYS Makefiles"
180	make
181
182Bitte 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.
183
184#### Kompilieren mithilfe einer Toolchain
185
186Wenn Du devkitARM (für 3DS), devkitPPC (für Wii), devkitA64 (für Switch) oder vitasdk (für PS Vita) installiert hast, kannst Du die folgenden Befehle zum Kompilieren verwenden:
187
188	mkdir build
189	cd build
190	cmake -DCMAKE_TOOLCHAIN_FILE=../src/platform/3ds/CMakeToolchain.txt ..
191	make
192	
193Ersetze den Parameter `-DCMAKE_TOOLCHAIN_FILE` dabei folgendermaßen:
194
195- 3DS: `../src/platform/3ds/CMakeToolchain.txt`
196- Switch: `../src/platform/switch/CMakeToolchain.txt`
197- Vita: `../src/platform/psp2/CMakeToolchain.vitasdk`
198- Wii: `../src/platform/wii/CMakeToolchain.txt`
199
200### Abhängigkeiten
201
202mGBA 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.
203
204- Qt 5: Für die Benutzeroberfläche. Qt Multimedia oder SDL werden für Audio-Ausgabe benötigt.
205- 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.
206- zlib und libpng: Für die Unterstützung von Bildschirmfotos und Savestates-in-PNG-Unterstützung.
207- libedit: Für die Unterstützung des Kommandozeilen-Debuggers.
208- ffmpeg oder libav: Für Videoaufzeichnungen.
209- libzip oder zlib: Um ROMs aus ZIP-Dateien zu laden.
210- ImageMagick: Für GIF-Aufzeichnungen.
211- SQLite3: Für Spiele-Datenbanken.
212- libelf: Für das Laden von ELF-Dateien.
213
214SQLite3, libpng und zlib werden mit dem Emulator mitgeliefert, sodass sie nicht zuerst kompiliert werden müssen.
215
216Fußnoten
217--------
218
219<a name="missing">[1]</a> Zurzeit fehlende Features sind
220
221- OBJ-Fenster für die Modi 3, 4 und 5 ([Bug #5](http://mgba.io/b/5))
222
223<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.
224
225<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.
226
227[downloads]: http://mgba.io/downloads.html
228[source]: https://github.com/mgba-emu/mgba/
229
230Copyright
231---------
232
233Copyright für mGBA © 2013 – 2020 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.
234
235mGBA beinhaltet die folgenden Bibliotheken von Drittanbietern:
236
237- [inih](https://github.com/benhoyt/inih), Copyright © 2009 Ben Hoyt, verwendet unter einer BSD 3-clause-Lizenz.
238- [blip-buf](https://code.google.com/archive/b/blip-buf), Copyright © 2003 - 2009 Shay Green, verwendet unter einer Lesser GNU Public License.
239- [LZMA SDK](http://www.7-zip.org/sdk.html), Public Domain.
240- [MurmurHash3](https://github.com/aappleby/smhasher), Implementierung von Austin Appleby, Public Domain.
241- [getopt fot MSVC](https://github.com/skandhurkat/Getopt-for-Visual-Studio/), Public Domain.
242- [SQLite3](https://www.sqlite.org), Public Domain.
243
244Wenn 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.