Luma3DS ist eine CFW von AuroraWright und die Weiterentwicklung von AuReinNAND.
Es ist eine noobfreundliche CFW die sowohl perfekt mit b9s oder dem a9lh (veraltet) als auch mit der Autoboot-Methode per Menuhax (veraltet) funktioniert.
In diesem Post werden außerdem die wichtigsten Sachen rund um die Luma3DS CFW erklärt. Der Aufbau orientiert sich teilweise am Luma-Wiki.
Features:
- Signatur-Checks wurden entfernt, dies erlaubt das ausführen von unsigniertem Code
- FIRM reboots replacement, erlaubt folgendes:
- 3DS Spiele die im "größeren RAM Modus" laufen (Smash Bros, Monster Hunter 4... auf dem Old 3DS)
- Custom GBA Spiele
- Old DS Flashkarten
- Regionssperre entfernt ( d.h. der 3DS ist damit region free),
- Stille bzw. Hintergrundupdates werden blockiert
- Version patching im "Freunde" Modul, dies erlaubt Spielen auch auf älteren Firmwareversionen online zu funktionieren
- FIRM Schreibschutz, damit wird verhindert, dass der b9s/A9LH bei einem Update überschrieben wird
- Rosalina: ist das Luma Systemmenü, dies könnt ihr mit
+
+
aufrufen wenn ihr im Homescreen seid (Mehr Infos hier https://github.com/AuroraWright/Luma3DS/wiki/Rosalina)
- Service Manager (SM) und PXI: Dies sind die BigN eigenen Systemmodule und wurden in Luma modifiziert.
Angepasst wurden die Berechtigungen und diese wieder als eigene Systemmodule neu integriert.
Hintergrund ist die neue Piraterieerkennung mehr hierzu -> Firmware 11.8 bringt die Piraterieerkennung der Switch auf den 3DS - Eigene Cheat Engine (Mehr Infos hier https://github.com/AuroraWright/Luma3DS/wiki/Cheat-Engine)
Installation und Updates:
b9s muss installiert sein, so kann die boot.firm auf die SD kopiert werden.
Gegebenenfalls die boot.firm später mittels GodeMode9 (https://github.com/d0k3/GodMode9/releases) noch im sysNand ablegen.
Hierzu könnt ihr folgendes GM9 Skript nutzen -> setup_ctrnand_luma3ds.gm9
Falls noch kein b9s vorhanden ist -> Guides für die B9S Installation
Je nach dem welchen Hack ihr benutzt, kopiert ihr folgende Dateien/Ordner des ZIP-Archivs auf euren interne 2DS/3DS SD-Karte:
- Immer die arm9loaderhax.bin ins Root der SD-Karte kopieren. Wird der ARM9LoaderHax benutzt braucht nichts weiteres gemacht zu werden.
- Bei Benutzung von menuhax/browserhax/oder anderen*hax die den Homebrew Launcher starten, auch den Inhalt des hax-Ordners ins Root der SD-Karte kopieren.
- Wird menuhax genutzt um Luma3DS direkt zu starten ohne einen Bootmanager/Homebrew Launcher, kopiert auch die boot.3dsx aus dem menuhax-Ordner ins Root eurer SD-Karte.
- Wird browserhax ohne den Homebrew Launcher benutzt, oder der MSET-Hack genutzt, müsst ihr auch die Luma3DS.dat aus dem mset-spider-Ordners ins Root der SD-Karte kopieren.
- Bei Benutzung des MSET-Hack, kopiert die Luma3DS.nds aus dem mset-Ordner auf die SD-Karte eurer DS Flashkarte und startet die Datei, um den ROP zu installieren.
Update der CFW:
Bei einem Update der CFW ist folgendes zu machen:
Die alte boot.firm auf der SD durch die neuen ersetzen.
Gegebenenfalls die boot.firm später mittels GodeMode9 (https://github.com/d0k3/GodMode9/releases) noch im sysNand ablegen.
Hierzu könnt ihr foglendes GM9 Skript nutzen -> setup_ctrnand_luma3ds.gm9
Die alte arm9loaderhax.bin auf der SD durch die der neuen Version ersetzen.
Den alten 3ds-Ordner (bzw. den Luma3DS-Ordner im 3ds-Ordner) durch die der neuen Version ersetzen. Bei einem direkten Autoboot muss die boot.3dsx im Root eurer SD-Karte ersetzt werden. Außerdem muss seit v6.3.1 auch bei anderen Bootarten die arm9loaderhax.bin im Root der SD-Karte sein. Also ist auch die alte arm9loaderhax.bin durch die der neuen Version zu ersetzen.
Die alte Luma3DS.dat im Root der SD-Karte sowie die Luma3DS.nds aus dem mset-Ordner (die auf die DS-Flashkarte kommt) durch die der neuen Version ersetzen.
Konfiguration:
Das Konfigurationsmenü wird gestartet, in dem man beim Bootvorgang die -Taste drückt. Navigiert wird mit dem
und durch drücken von
aktiviert bzw. deaktiviert man die Funktion. Das Konfigurationsmenü sieht wie folgt aus.
Ändert nur die Einstellungen, die hier angegeben wurden. Nicht genannte auch nicht verändern
Optionale Einstellungen (also welche, die nicht unbedingt braucht) sind in dieser Farbe gekennzeichnet. Hier müsst ihr entscheiden ob ihr diese wollt/braucht
Einstellungen die nur für den New3DS sind, dürften unter einem O3DS garnicht auswählber/änderbar sein, Sicherheitshalber sind diese hier in dieser Farbe gekennzeichnet (da gibts eig. nur die eine)
New 3DS CPU: (x) Clock+L2 (Wenn bestimmte Spiele crashen/hängenbleiben/nicht starten entweder nur "Clock" aktivieren oder diese Funktion ganz deaktivieren)
Screen Brightness (je nach der gewünschten Helligkeit, 4 ist die Hellste, 1 die dunkelste)
Splash Screen (je nachdem ob einer gewünscht wird oder nicht)
(x)Show NAND or user string in System Settings
(x)Show GBA boot screen in patched AGB_FIRM
New 3DS CPU: (x) Clock+L2 (Wenn bestimmte Spiele crashen/hängenbleiben/nicht starten entweder nur "Clock" aktivieren oder diese Funktion ganz deaktivieren)
Screen Brightness (je nach der gewünschten Helligkeit, 4 ist die Hellste, 1 die dunkelste)
Splash Screen (je nachdem ob einer gewünscht wird oder nicht)
(x) Autoboot SysNAND
(x)Use SysNAND FIRM if booting with R (A9LH)
(x)Show NAND or user string in System Settings
(x)Show GBA boot screen in patched AGB_FIRM
Screen Brightness (je nach der gewünschten Helligkeit, 4 ist die Hellste, 1 die dunkelste)
Splash Screen (je nachdem ob einer gewünscht wird oder nicht)
(x)Show NAND or user string in System Settings
(x)Show GBA boot screen in patched AGB_FIRM
-
Default EmuNAND: Setzt den gewählten EmuNAND als Standard.
Man kann diese Einstellung beim Boot durch drücken von,
,
oder
für die EmuNANDs 1, 2, 3 oder 4 außer KRaft setzen. Ist Autoboot SysNAND auf off und man hat einen Payload für das drücken einer Richtungstaste gewählt (siehe Payload Chainloader weiter unten),muss auch noch
gedrückt werden, um den Start des EmuNANDs außer Kraft zu setzen.
-
Screen brightness: Ändert die Helligkeit für Luma3DS und Payloads.
Die Helligkeit wird in "Echtzeit" aktualisiert.
- Splash: Aktiviert den Splash screen (für näheres weiter unten unter Splash Screen schauen) und man kann auswählen ob die Payloads vor dem Anzeigen der Bilder (dies ist für Splash Screens gedacht, die anzeigen welcher Button eine Payload startet) oder danach angezeigt werden.
-
PIN lock: Dies erlaubt euch eine PIN (bestehend aus
,
,
und
sowie den
-Richtungstasten) zu erstellen, deren Eingabe bei jedem Boot des 3DS oder Luma3DS gefordert wird.
Stellt diese Option auf Off um die bereits existierende PIN zu löschen.
Man kann auswählen ob die PIN 4, 6 oder 8-stellig sein soll.
Eine Änderung des PINs wird beim Verlassen des Konfigurationsmenüs gewährt (um diese zu überspringen einfachdrücken).
Auf dem Unteren Bildschirm kann eine NAchricht angezeigt werden, wenn nach dem PIN gefragt wird. Dazu einfach eine Textdatei namens pinmessage.txt (mit maximal 800 Zeich) in den luma-Ordner kopieren.
-
New 3DS CPU: Exklusiv für den New 3DS
Dies erlaubt es den Prozessor auf die gleiche weise zu konfigurieren, wie es die NTR CFW tut:- Off deaktiviert den Patch.
- Clock aktiviert die New 3DS Clock Geschwindigkeit für alle Spiele.
- L2 fügt extra cache der CPU hinzu (benutzt das nicht falls euer Gerät crasht/hängenbleibt).
- Clock+L2 aktiviert die N3DS Clock Geschwindigkeit undfügt extra cache der CPU hinzu (wählt nur Clock falls euer Gerät crasht/hängenbleibt).
-
Developer features:
- ErrDisp: Patcht ErrDisp um Debugging Information auf dem oberen Bildschirm anzuzeigen.
-
UNITINFO: Patcht den Wert von CFG_UNITINFO der zum ARM11 beim Boot gesendet wird, dami Applikationen glauben sie würden auf einer developer unit laufen.
Dies aktiviert ErrDisp und erlaubt euch bestimmte Systemsoftware für Develop Units zu starten, aber verhindert auch die Benutzung von eShop, amiibo, etc. - None: aktiviert keinen der genannten Patches und deaktiviert die exception handlers
-
Autoboot emuNand: Legt fest ob der SysNAND oder EmuNAND standardmäßig geladen werden soll (wenn man keinen Button beim Luma3DS Start drückt).
- Ist diese Option auf on, durch drücken von
bootet der als standard eingestellte EmuNAND.
- Ist diese Option auf off, wird durch drücken von
der SysNAND gebootet.
- Ist diese Option auf on, durch drücken von
-
Use SysNAND FIRM if booting with R (A9LH):
- On: nutzt die FIRM des SysNANDs um den EmuNAND mit R (normalerweise kann kein neuerer NAND mit einer älteren NATIVE_FIRM gestartet werden).
-
Off: nutzt die FIRM des als Standard eingestellten EmuNANDs um den SysNAND mit R (normalerweise kann kein neuerer NAND mit einer älteren NATIVE_FIRM gestartet werden).
You can override the EmuNAND to take the FIRM from on boot by holding down a button on the directional pad, Up, Right, Down, Left for EmuNANDs 1, 2, 3 and 4 respectively.
-
Enable FIRMs and modules loading from SD: Ist die Option auf on:
- Ist im luma-Ordner eine firmware.bin, firmware_twl.bin, firmware_agb and firmware_safe.bin (abhängig von der zu startenden Firmware) wird diese, anstatt die im CTRNAND gespeicherte gestartet.
Bei Benutzung von NUS-encrypted FIRMs, wird eine passende cetk-Datei für jede verschlüsselte FIRM benötigt (/luma/cetk, /luma/cetk_twl, /luma/cetk_agb, /luma/cetk_safe). - Falls vorhanden, werden im /luma/sysmodules-Ordner enthaltene Standalone System Module anstatt der in der FIRM vorhandenen geladen. (nicht unterstützt werden SAFE_FIRM und NATIVE_FIRM Versionen die älter als 3.x sind).
- Ist im luma-Ordner eine firmware.bin, firmware_twl.bin, firmware_agb and firmware_safe.bin (abhängig von der zu startenden Firmware) wird diese, anstatt die im CTRNAND gespeicherte gestartet.
-
Use custom path: Ist diese Option auf on, kann man den standardmäßigen Speicherort der Luma3DS-Payload (arm9loaderhax.bin im Root der SD-Karte) ändern, indem man diesen in eine path.txt-Datei eingeben, die sich im luma-Ordner befindet. Der Pfad muss mit / beginnen und darf nicht länger als 55 Zeichen sein.
Dieser Pfad wird auch gewählt falls nicht via A9LH gebootet wird.
-
Enable region/language emulation and external .code: Aktiviert folgende zwei Features:
- Das Region/Sprache Emulationsfeature ermöglicht es, manche Spiele welche eine bestimmte Spracheinstellung benötigen um zu starten und DLCs für Spiele aus fremden Regionen games zu laden. Es wird wie folgt genutzt:
- Einen Ordner locales im luma-Ordner erstellen.
- Erstellt eine .txt-Datei mit der Title ID als Namen (diese könnt ihr hier nachschauen www.3dsdb.com).
- In die Datei kommen,
- 3 Zeichen für die Region ("JPN", "USA", "EUR", "AUS", "CHN", "KOR", "TWN").
- Ein Leerzeichen.
- 2 Zeichen für die Spracheinstellung ("JP", "EN", "FR", "DE", "IT", "ES", "ZH", "KO", "NL", "PT", "RU", "TW").
- Hier ein Beispiel, um Pokémon™ Y in japanischer Sprache und Region zu spielen:
- Erstellt eine 0004000000055E00.txt.
- Schreibt JPN JP in diese Datei.
- Speichert sie.
- Das external .code Feature erlaubt das Benutzen gepatchter binaries für Spiele. Es wird wie folgt genutzt:
- Erstellt im luma-Ordner einen Ordner der [b]code_sections[/b] heißt.
- Besorgt euch eine gepatchte code.bin für das Spiel und benennt diese nach der Title ID des Spiels (diese könnt ihr hier nachschauen www.3dsdb.com).
- Hier ein Beispiel, für Pokémon™ Y müsste diese Datei 0004000000055E00.bin heissen.
- Das Region/Sprache Emulationsfeature ermöglicht es, manche Spiele welche eine bestimmte Spracheinstellung benötigen um zu starten und DLCs für Spiele aus fremden Regionen games zu laden. Es wird wie folgt genutzt:
-
Show NAND or user string in System Settings: Standardmäßig zeigt dies den derzeitigen NAND/FIRM anstatt "Ver." in den Systemeinstellungen an.
- Zeichen die dabei angezeigt werden können sind:
- Sys: SysNAND gebootet mit seiner eigenen FIRM,
- Emu: erster EmuNAND gebootet mit seiner eigenen FIRM,
-
EmuX (anstatt X steht 2, 3 oder 4
EmuNAND X gebootet mit seiner eigenen FIRM,
- SysE: SysNAND gebootet mit der FIRM von EmuNAND 1,
-
SyEX (anstatt X steht 2, 3 oder 4
SysNAND gebootet mit der Firm von EmuNAND X,
- EmuS: erster EmuNAND gebootet mit der FIRM vom SysNAND,
-
EmXS (anstatt X steht 2, 3 oder 4
EmuNAND X gebootet mit der FIRM vom SysNAND.
- Man kann auch einen eigenen Text anzeigen lassen, in dem man diesen in folgenden Textdateien hinterlegt: customversion_sys.txt, customversion_emu.txt, customversion_emu2.txt, customversion_emu3.txt oder customversion_emu4.txt welche sich im luma-Ordner befinden müssen.
Dieser Text darf maximal 39 Zeichen lang sein.
- Zeichen die dabei angezeigt werden können sind:
- Set developer UNITINFO: Macht eure Konsole zu einer Entwicklerkonsole. Hier könnt ihr nur Entwicklungs-Software starten (mittels devkit). Alle normalen Apps sind nicht mehr nutzbar bsp.: eShop.
- Disable ARM11 exception handerls: deaktiviert den Luma eigenen Fehlerhandler. So werden keine Fehlermeldung mehr bei Abstürzen angezeigt (ist jedoch nicht empfohlen dies zu deaktivieren)
Splash Screen
Luma3DS bietet die Möglichkeit
- ein Bild auf dem oberen Bildschirm (SD:/luma/splash.bin)
- ein Bild auf dem unteren Bildschirm (SD:/luma/splashbottom.bin)
anzuzeigen. Man kann diese auch nur einzeln anzeigen (z.B. nur oben oder nur unten ein Bild), oder eben beide gleichzeitig.
Eigene Bilddateien lassen sich hier in das passende .bin-Format konvertieren. Von anderen erstellte Splash Screens gibt es hier.
Der Bootvorgang wird verzögert falls ein Bild angezeigt werden soll!
Payload Chainloading
Man kann außerdem ARM9 Programme (firm) beim booten ausführen (nur wenn man den b9s nutzt).
Dazu kopiert man einfach den Payload den man starten möchte nach SD:/luma/payloads, und benennt ihn nach <button>_<name>.firm um. (Anstatt <name> kann alles mögliche stehen.)
Es gibt folgende Kombinationsmöglichkeiten für <button>_<name>.firm:
- x_NAME.firm
- y_NAME.firm
- select_NAME.firm
- start_NAME.firm
- r_NAME.firm
- a_NAME.firm
- b_NAME.firm
Folgende Buttons gehen nur, wenn kein emuNand gestartet wird
(Da bis zu vier emuNand's engerichtet werden können, die Auswähl wäre dann mit up beginnend 1/2/3/4)
- up_NAME.firm
- right_NAME.firm
- down_NAME.firm
- left_NAME.firm
Für r_NAME.firm, a_NAME.firmand select_NAME.firmmuss man +
,
+
und
+
beim Boot drücken. Für jede andere Konfigurationsmöglichkeit reicht es nur den jeweiligen Button zu drücken.
Man kann außerdem ARM9 Programme (bin) beim booten ausführen (nur wenn man den A9LH nutzt).
Dazu kopiert man einfach den Payload den man starten möchte nach SD:/luma/payloads, und benennt ihn nach <button>_<name>.bin um. (Anstatt <name> kann alles mögliche stehen.)
Es gibt folgende Kombinationsmöglichkeiten für <button>_<name>.bin:
- x_NAME.bin
- y_NAME.bin
- select_NAME.bin
- start_NAME.bin
- r_NAME.bin
- a_NAME.bin
- b_NAME.bin
- right_NAME.bin
- left_NAME.bin
- up_NAME.bin
- down_NAME.bin
Für r_NAME.bin, a_NAME.bin and select_NAME.bin muss man +
,
+
und
+
beim Boot drücken. Für jede andere Konfigurationsmöglichkeit reicht es nur den jeweiligen Button zu drücken.
Download:
Neuste Version b9s: https://github.com/AuroraWright/Luma3DS/releases/
Letzte veröffentlichte Version für A9LH:
https://github.com/AuroraWright/Luma3DS/releases/tag/v7.0.5
Luma3DSv7.0.5.7z
Luma Wiki: https://github.com/AuroraWright/Luma3DS/wiki