Donnerstag, 1. September 2016

3DS Homebrew Entwicklung

Diese Seite enthält allgemeine Informationen für 3DS Homebrew-Entwickler.

Wenn Sie Fragen haben, können Sie Haupt Homebrew Entwicklung und Hilfe Thread zu GBAtemp ist gekommen. Es enthält Quellen, Beispiele und Bibliotheken gemeinsam genutzt.

Sie können alle bekannten Ressourcen (Hardware-Register, syscalls, Dienstprogramme) finden Sie Ihre Homebrew auf 3dbrew zu entwickeln.

Für die Entwicklung 3DS Homebrew benötigen Sie eine Entwicklungsumgebung mit Werkzeugen, Skripte und Bibliotheken, die nachfolgend beschrieben wird. Die Quellen werden zusammengestellt GNU GCC-ARM oder devkitPro mit devkitARM zu Binär verwenden. Die zur Verfügung stehenden Tools und SDK arbeiten unter Windows 32 / 64bit und Linux.

Die Sprachen verwendet homebrew zu schreiben sind C, C ++ und gelegentlich ASM. Es gibt verschiedene Online-Tutorials und Bücher zur Verfügung, diese Sprachen zu lernen.
Alternativ können Sie auch mit Lua Player Plus homebrew in Lua schreiben.

Inhalt [Ausblenden]
1 Installieren Sie devkitPro w / devkitARM
1.1 Windows-
1.2 Linux / Mac OSX
1.3 Installieren Bibliotheken
2 Kompilieren Quellen
2.1 Fehlerbehebung
2.1.1 Häufige Fehler
3 SMDH
4 Editor-Setup
4.1 Programmier Notepad
4.2 Visual Studio 2015 (Community)
4.3 Eclipse-CDT
4.4 Code :: Blocks
5 3dsx homebrew
6 3ds / cia homebrew
6.1 Banner
6.2 Konvertieren .elf zu .3ds
6.3 Konvertieren .elf zu .cia
7 Releasing
8 git
8.1 Erste Schritte
8.2 Committing
8.3 Fügen Sie Ihr Projekt auf GitHub
8.4 Stichwörter
Installieren Sie devkitPro w / devkitARM [Bearbeiten]
DevkitPro ist ein wesentlicher Satz von Werkzeugketten für Homebrew-Entwicklung.

Windows-[Bearbeiten]
Verwenden Sie die automatische-installer. Der Einbau erfolgt in C: \ devkitPro \ und es installiert alle aktuellen Versionen der benötigten Programme (Sie können devkitPSP deaktivieren, aber sicher sein libctru in DevkitARM Menü zu aktivieren). Es wird die Umgebungsvariablen automatisch erstellen.

Linux / Mac OSX [Bearbeiten]
1) Laden Sie die devkitPro Perl-Skript

2) Öffnen Sie ein Terminal und führen Sie folgende Befehle ein:

cd / path / to / das / script
chmod + x devkitARMupdate.pl
sudo ./devkitARMupdate.pl / opt / devkitPro
echo "export devkitPro = / opt / devkitPro" >> ~ / .bashrc
echo "export DEVKITARM = \ $ devkitPro / devkitARM" >> ~ / .bashrc
echo "export PATH = \ $ PATH: \ $ DEVKITARM / bin" >> ~ / .bashrc
source ~ / .bashrc
Installieren Bibliotheken [Bearbeiten]
Sie können verschiedene Bibliotheken / Tools, wenn Ihr Projekt erfordert, sie zu installieren.

Kompilieren Quellen [Bearbeiten]
Wenn Sie einfach nur ein Homebrew-Projekt ohne (oder nach) der Bearbeitung kompilieren wollen, können Sie das Dienstprogramm make an der Eingabeaufforderung / Terminal verwenden.

1) Windows: Öffnen Sie eine Eingabeaufforderung (Ausführen -> cmd); Linux / Mac OS X: Öffnen Sie ein Terminal aus Ihren Anwendungen

2) Navigieren Sie zu dem Projektverzeichnis (Änderung auf den richtigen Pfad)

cd c: \ Pfad \ Ihr \ Projekt \
3) Führen Sie make

machen
Wenn Sie jemals die kompilierten Dateien entfernen möchten, können Sie diesen Befehl verwenden:

machen sauber
Dies wird oft benötigt, wenn ein Projekt neu zu kompilieren.

Fehlerbehebung [Bearbeiten]
Es ist möglich, dass manchmal Ihr Projekt nicht kompiliert. Dies kann verschiedene Ursachen, zum Beispiel fehlende Bibliotheken haben. Um das Problem zu erfahren, schauen Sie in der Ausgabe für die Zeilen, die mit "Fehler:"; die werden Ihnen sagen, was das Problem ist. Sie können die Warnungen ignorieren, sie die Zusammenstellung nicht dazu führen, zum Scheitern verurteilt.

Wenn die Ausgabe groß ist, können Sie es zu filtern:

machen | grep Fehler
Wenn Sie nicht herausfinden können, was falsch ist, können Sie einen Beitrag in den Foren darüber zu machen. Stellen Sie sicher, dass alle der Fehlerausgabe zu veröffentlichen.

Windows-Tipp: Um von Ihrer Eingabeaufforderung zu kopieren, klicken Sie rechts und Mark wählen. Wählen Sie dann den Text zu kopieren und drücken Sie die Eingabetaste.

Häufige Fehler [Bearbeiten]
nicht finden können, 3dsx_crt0.o: Keine solche Datei oder das Verzeichnis
In Ihrem Make-Datei finden -mfloat-abi = softfp und zu verändern -mfloat-abi hart =. Sie sollten immer nicht softfp für 3DS Homebrew verwenden.
(Name) verwendet VFP Register Argumente aber (name2) nicht
Ein Teil des Projekts oder die Bibliotheken, die Sie verwenden, wurden mit -mfloat-abi = softfp zusammengestellt, während andere Teile mit -mfloat-abi = hart zusammengestellt wurden. Stellen Sie sicher, -mfloat-abi = hart überall zu verwenden. Sie haben die Bibliotheken manuell neu zu kompilieren, die Sie verwenden, wenn nötig.
(Befehl) wird nicht als interner oder externer Befehl erkannt ...
Ihre Umgebungsvariable PATH ist nicht richtig eingerichtet. Es sollte die msys Ordner in Ihrem devkitPro Installationspfad enthalten (zB C:. \ DevkitPro \ msys). Bearbeiten Sie Ihre Umgebungsvariable PATH und stellen Sie sicher, dass es dieses Verzeichnis enthält. Wenn der Befehl Python ist, stellen Sie sicher, dass die Python-Installationsverzeichnis (zB C:. \ PythonXX, wobei XX ist die Version, die Sie installiert haben) in Ihrem PATH ist als gut.
unbekanntes Feld 'rmdir_r' in initializer angegeben
Ihre devkitARM ist veraltet. Erneutes Ausführen des Installers oder Skript.
SMDH [Bearbeiten]
Jede homebrew Anwendung hat eine smdh Datei, zusätzliche Informationen enthält:

Symbol
Name der Anwendung (Kurzbeschreibung)
Beschreibung der Anwendung (Lange Beschreibung)
Name des Autors (Publisher)
Diese Informationen werden in den Homebrew Launcher (3DSX) und im Home-Menü (3DS / CIA) verwendet.

Das Symbol ist ein einfaches 48x48px png-Datei. Sie können diese png in Ihrem Projektordner platzieren (den gleichen Ordner wie die Makefile in ist) und nennen Sie es icon.png. Wenn kein icon.png vorhanden ist, wird ein Standardsymbol aus dem ctrulib Ordner verwendet werden.

Die anderen Daten können direkt in der Datei Makefile festgelegt werden:

APP_TITLE: = Meine Anwendung
APP_DESCRIPTION: = Eine Beschreibung meiner App
APP_AUTHOR: = Me
Die SMDH Datei wird automatisch erstellt, wenn das Projekt den Bau (es sei denn, Sie explizit NO_SMDH im Makefile gesetzt).

Sie können auch bauen manuell den SMDH bannertool von steveice10 mit:

bannertool makesmdh -s "Meine Anwendung" -l "Eine Beschreibung meiner app" -p "Me" -i icon.png -o myapplication.smdh

Keine Kommentare:

Kommentar veröffentlichen