Atmosphère: Unterschied zwischen den Versionen

7.889 Bytes hinzugefügt ,  3. Juli 2020
K
(→‎LayeredFS: HTML-Bedienungsanleitungen)
(30 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 22: Zeile 22:
* '''Exosphère''': TrustZone mit eigenem Secure Monitor.
* '''Exosphère''': TrustZone mit eigenem Secure Monitor.
* '''Thermosphère''': EmuMMC, lädt den MMC von der SD-Karte um so eine getrennte Umgebung für bspw. Homebrew zu schaffen.
* '''Thermosphère''': EmuMMC, lädt den MMC von der SD-Karte um so eine getrennte Umgebung für bspw. Homebrew zu schaffen.
* '''Stratosphère''': Eigene Systemmodule mit neuen Features und zur Erweiterung bestehender.
* {{Anker|Stratosphere}}'''Stratosphère''': Eigene Systemmodule mit neuen Features und zur Erweiterung bestehender.
** '''ams_mitm''': Neues Systemmodul zum on-the-fly Patchen von Dateien und Titeln.
** '''ams_mitm''': Neues Systemmodul zum on-the-fly Patchen von Dateien und Titeln.
*** '''bpc_mitm''': Ermöglicht das [[#Reboot-Payload|Neustarten in einen Payload]] (bspw. wieder Atmosphère) und das vollständige Herunterfahren, wenn AutoRCM aktiviert ist (siehe [[AutoRCM#Herunterfahren]]). Überschreibt den [https://switchbrew.org/wiki/PCV_services#bpc bpc PCV-Service] von Nintendo.
*** '''bpc_mitm''': Ermöglicht das [[#Reboot-Payload|Neustarten in einen Payload]] (bspw. wieder Atmosphère) und das vollständige Herunterfahren, wenn AutoRCM aktiviert ist (siehe [[AutoRCM#Herunterfahren]]). Überschreibt den [https://switchbrew.org/wiki/PCV_services#bpc bpc PCV-Service] von Nintendo.
Zeile 33: Zeile 33:
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/modules/boot.md boot]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/Boot boot]"; initialisiert die Hardware und startet das System.
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/modules/boot.md boot]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/Boot boot]"; initialisiert die Hardware und startet das System.
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/modules/boot.md boot2]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/Boot2 boot2]"; lädt weitere Prozesse.
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/modules/boot.md boot2]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/Boot2 boot2]"; lädt weitere Prozesse.
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/modules/creport.md creport]''': Generiert Absturzberichte auf der SD-Karte und verhindert das Senden dieser an Nintendo
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/modules/creport.md creport]''': Generiert Absturzberichte auf der SD-Karte und verhindert das Senden dieser an Nintendo. Außerdem wird bei einem Absturz ein Screenshot erstellt (nur auf >= 10.0.0).
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/cheats.md dmnt]''': Cheat-Code-Support, inklusive Kompatibilität zu [[SX OS|Gateshark]]. "dmnt" steht dabei für "Debug Monitor".
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/cheats.md dmnt]''': Cheat-Code-Support, inklusive Kompatibilität zu [[SX OS|Gateshark]]. "dmnt" steht dabei für "Debug Monitor".
** '''eclct.stub''': Deaktiviert weitere [https://switchbrew.org/wiki/System_Settings#eclct Telemetrie-Dienste] von Nintendo.
** '''eclct.stub''': Deaktiviert weitere [https://switchbrew.org/wiki/System_Settings#eclct Telemetrie-Dienste] von Nintendo.
** '''[[#erpt|erpt]]''': Reimplementiert Nintendos [https://switchbrew.org/wiki/Error_Upload_services Error Report Service] und verhindert das Anlegen von Crash Reports im MMC
** '''[[#fatal|fatal]]''': Reimplementiert Nintendos [https://switchbrew.org/wiki/Fatal_services fatal] und zeigt einen umfangreichen Fehlerbildschirm bei einem fatalen (deshalb der Name) Absturz an. Auch kann die Konsole mit den Lautstärketasten direkt neu gestartet werden.
** '''[[#fatal|fatal]]''': Reimplementiert Nintendos [https://switchbrew.org/wiki/Fatal_services fatal] und zeigt einen umfangreichen Fehlerbildschirm bei einem fatalen (deshalb der Name) Absturz an. Auch kann die Konsole mit den Lautstärketasten direkt neu gestartet werden.
** '''jpegdec''': Reimplementierung von [https://switchbrew.org/wiki/Jpegdec_services Nintendos JPEG-Decoder], damit Homebrews Bilder per Software dekodieren können
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/modules/loader.md loader]''': Reimplementiert Nintendos "[https://switchbrew.org/wiki/Loader_services loader]" und ermöglicht das Ersetzen von Dateien im ExeFS, das Patchen von NSOs, sowie [[#Button Overrides|Button Overrides]] (bspw.: "R" gedrückt halten, während ein Spiel startet, startet das Homebrew Menu mit vollem RAM-Zugriff).
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/modules/loader.md loader]''': Reimplementiert Nintendos "[https://switchbrew.org/wiki/Loader_services loader]" und ermöglicht das Ersetzen von Dateien im ExeFS, das Patchen von NSOs, sowie [[#Button Overrides|Button Overrides]] (bspw.: "R" gedrückt halten, während ein Spiel startet, startet das Homebrew Menu mit vollem RAM-Zugriff).
** '''ncm''': Reimplementierung von [https://switchbrew.org/wiki/NCM_services Nintendos Content Manager].
** '''pgl''': Reimplementierung von Nintendos [https://switchbrew.org/wiki/PGL_services Program Launcher]. Ermöglicht es, Systemmodulen und Homebrews Aktionen auszuführen, wenn Applikationen abstürzen, gestartet oder geschlossen werden.
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/modules/pm.md pm]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/Process_Manager_services Process Manager]", gibt u.a. mehr Speicher für Systemmodule frei.
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/modules/pm.md pm]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/Process_Manager_services Process Manager]", gibt u.a. mehr Speicher für Systemmodule frei.
** '''ro''': Reimplementierung von Nintendos [https://switchbrew.org/wiki/RO_services RO-Services].
** '''ro''': Reimplementierung von Nintendos [https://switchbrew.org/wiki/RO_services RO-Services].
Zeile 58: Zeile 62:
|  |
|  |
|  +---config ''(Konfigurationsdateien)''
|  +---config ''(Konfigurationsdateien)''
|  |      BCT.ini  ''(Einstellungen für Exosphère, Stratosphère und fusee-primary)''
|  |      BCT.ini  ''([[#BCT.ini|Einstellungen für Stratosphère und fusee-primary]])''
|  |
|  |
|  +---config_templates ''(Konfigurationstemplates, müssen in "config" kopiert werden)'''
|  +---config_templates ''(Konfigurationstemplates, müssen in "config" kopiert werden)'''
Zeile 65: Zeile 69:
|  |
|  |
|  +---contents ''(Ordner für fs_mitm, ersetzt Inhalte in Anwendungen/Modulen, Ordnerinhalte nachfolgend gekürzt)''
|  +---contents ''(Ordner für fs_mitm, ersetzt Inhalte in Anwendungen/Modulen, Ordnerinhalte nachfolgend gekürzt)''
|  |  +---010000000000000D ''([[#Cheats|dmnt]])''
|  |  |
|  |  +---010000000000002B ''([[#erpt|erpt]])''
|  |  |
|  |  +---010000000000003C ''(jpegdec)''
|  |  |
|  |  +---0100000000000008 ''(boot2)''
|  |  +---0100000000000008 ''(boot2)''
|  |  |
|  |  +---010000000000000D ''([[#Cheats|dmnt]])''
|  |  |
|  |  |
|  |  +---0100000000000032 ''(eclct.stub)''
|  |  +---0100000000000032 ''(eclct.stub)''
Zeile 77: Zeile 85:
|  |  \---0100000000000037 ''(ro)''
|  |  \---0100000000000037 ''(ro)''
|  |
|  |
|  +---fatal_errors ''(Fehlerreports von fatal)''
|  +---fatal_errors ''(Fehlerreports von fusee-primary)''
|  +---hbl_html ''(Zum Starten von Web-Applets)''
|  +---hbl_html ''(Zum Starten von Web-Applets)''
|  |
|  |
Zeile 287: Zeile 295:
| Unsigned 64-Bit Integer (<code>0x0</code> bis <code>0xFFFFFFFFFFFFFFFF</code>)
| Unsigned 64-Bit Integer (<code>0x0</code> bis <code>0xFFFFFFFFFFFFFFFF</code>)
| <code>u8!0x1388</code>
| <code>u8!0x1388</code>
| Gibt die Zeit in Millisekunden an, nach der im "[[#fatal|fatal]]"-Absturzbildschirm (mit dem Atmosphère-Logo) automatisch neu [[#Reboot-Payload|in einen Payload]] gestartet werden soll. In dem Beispiel nach fünf Sekunden (1338 Millisekunden [https://www.binaryhexconverter.com/decimal-to-hex-converter in Hex] = 5000 Millisekunden = 5 Sekunden).<br>
| Gibt die Zeit in Millisekunden an, nach der im "[[#fatal|fatal]]"-Absturzbildschirm (mit dem Atmosphère-Logo) automatisch neu [[#Reboot-Payload|in einen Payload]] gestartet werden soll. In dem Beispiel nach fünf Sekunden (1388 Millisekunden [https://www.binaryhexconverter.com/decimal-to-hex-converter in Hex] = 5000 Millisekunden = 5 Sekunden).<br>
<code>0x0</code> = Reboote nie automatisch
<code>0x0</code> = Reboote nie automatisch
|-
|-
Zeile 356: Zeile 364:
Hat keinen Effekt, wenn <code>applet_heap_size</code> nicht auf <code>0x0</code> steht!
Hat keinen Effekt, wenn <code>applet_heap_size</code> nicht auf <code>0x0</code> steht!
|-
|-
|}
=== BCT.ini ===
Mit der "<code>/atmosphere/config/BCT.ini</code>" ([https://switchbrew.org/wiki/BCT '''B'''oot '''C'''onfiguration '''T'''able]) lassen sich Einstellungen festlegen, die beim Start des Systems geladen werden müssen und während der Laufzeit nicht verändert werden dürfen. Sie sollten nur von erfahrenen Usern geändert werden!<ref>[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/fusee/BCT.md BCT.md]</ref>
{| class="wikitable" border="1"
|-
! colspan="4" | [stage1]
|-
! Config-Key
! Wert
! Beispiel
! Erklärung
|-
| {{Anker|stage2_path}}<code>stage2_path</code>
| String
| <code>atmosphere/fusee-secondary.bin</code>
| Pfad zum Stage2-Payload.
|-
| {{Anker|stage2_mtc_path}}<code>stage2_mtc_path</code>
| String
| <code>atmosphere/fusee-mtc.bin</code>
| Pfad zum Stage2-MTC-Payload.
|-
| {{Anker|stage2_addr}}<code>stage2_addr</code>
| Hexadezimal
| <code>0xF0000000</code>
| ?
|-
| {{Anker|stage2_entrypoint}}<code>stage2_entrypoint</code>
| Hexadezimal
| <code>0xF0000000</code>
| ?
|-
| {{Anker|custom_splash}}<code>custom_splash</code>
| String
| <code>/atmosphere/bootlogo.bmp</code>
| Ermöglicht einen eigenen Bootsplash. Das Bild muss eine BMP mit einer Größe von 1280x720 Pixeln sein, welches 90° gegen den Uhrzeigersinn gedreht wurde (sodass die Auflösung am Ende 720x1280 beträgt). Zudem muss es als 32-Bit ARGB exportiert werden - dies ist bspw. mit [https://www.gimp.org/ GIMP] möglich. Siehe auch [https://gbatemp.net/threads/share-your-custom-atmosphere-fusee-secondary-bootlogos.532018/ diesen GBATemp-Thread].
|-
! colspan="4" | [stratosphere]
|-
! Config-Key
! Wert
! Beispiel
! Erklärung
|-
| {{Anker|nogc}}<code>nogc</code>
| <code>0</code> oder <code>1</code>
| <code>1</code>
| Erzwingt das (De-)Aktivieren der NoGC-Patches, welche das Aktualisieren der GameCard-Treiber-Firmware ([https://switchbrew.org/wiki/Gamecard_ASIC LOTUS3]) verhindern. Dadurch lassen sich auch keine GameCards starten.<br>
<code>0</code> = NoGC-Patches erzwungen deaktiviert, <code>1</code> = NoGC-Patches erzwungen aktiviert<br>
Es gibt keinen Standardwert - Atmosphère versucht standardmäßig selbst mithilfe der Anzahl der gebrannten GameCard-FUSES herauszufinden, ob ein NoGC-Patch notwendig ist.
|-
| {{Anker|enable_ncm}}<code>enable_ncm</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| Aktiviert Atmosphères eigene NCM-Reimplementierung, die sich u.a. um die Verwaltung von NAND-Speicherständen kümmert. Aus diesem Grund ist dieses Modul zuerst Opt-In, bis es später für jeden aktiviert wird.<br>
<code>0</code> = Custom NCM deaktiviert (Standard), <code>1</code> = Custom NCM aktiviert<br>
|}
=== exosphere.ini ===
Mit der "<code>/exosphere.ini</code>" lässt sich das Verhalten von Atmosphères Secure Monitor anpassen.<ref>https://github.com/Atmosphere-NX/Atmosphere/blob/prodinfo_memes/config_templates/exosphere.ini</ref> Die INI muss vorher von GitHub [https://github.com/Atmosphere-NX/Atmosphere/blob/master/config_templates/exosphere.ini heruntergeladen werden]. Früher befanden sich diese Einstellungen in der BCT.ini.
{| class="wikitable" border="1"
! Config-Key
! Wert
! Beispiel
! Erklärung
|-
| {{Anker|debugmode}}<code>debugmode</code>
| <code>0</code> oder <code>1</code>
| <code>1</code>
| Signalisiert dem Kernel, dass der Debugging-Mode aktiv ist. Wenn der Debug-Mode deaktiviert ist, wird eventuell der Debugger in zukünftigen Atmosphère-Versionen nicht mehr funktionieren.<br>
<code>0</code> = Debug-Mode deaktiviert, <code>1</code> = Debug-Mode aktiviert (Standard)
|-
| {{Anker|debugmode_user}}<code>debugmode_user</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| Signalisiert dem Userland, dass der Debugging-Mode aktiv ist.<br>
<code>0</code> = Debug-Mode im Userland deaktiviert (Standard), <code>1</code> = Debug-Mode im Userland aktiviert
|-
| {{Anker|disable_user_exception_handlers}}<code>disable_user_exception_handlers</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| Deaktiviert Exception-Handler im Usermode. Dies sorgt dafür, dass Atmosphère bei Fehlern nicht sauber heruntergefahren wird, weshalb ein Aktivieren dieser Option (also das Deaktivieren der Usermode Exception Handler) nicht empfohlen wird.<br>
<code>0</code> = Usermode Exception Handler sind aktiviert (Standard), <code>1</code> = Usermode Exception Handler sind deaktiviert
|-
| {{Anker|enable_user_pmu_access}}<code>enable_user_pmu_access</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| Aktiviert den Zugriff auf die PMU-Register vom Userland aus (Power-Management). Es ist nicht bekannt, was das Aktivieren dieser Option für Auswirkungen auf Spiele, etc. hat.<br>
<code>0</code> = PMU-Register-Zugriff deaktiviert (Standard), <code>1</code> = PMU-Register-Zugriff aktiviert
|-
| {{Anker|blank_prodinfo_sysmmc}}<code>blank_prodinfo_sysmmc</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| Wenn diese Option aktiviert ist, wird die [https://switchbrew.org/wiki/Calibration PRODINFO-Partition] mit wichtigen Hardware-Keys und -Zertifikaten "pseudo-gelöscht", sodass das System keine validen Keys und keine Seriennummer mehr erkennt. Es ist nicht bekannt, ob es sicher ist, dies zu nutzen, da diese Infos eventuell anderswo vom System gecached werden. '''Die eigentliche PRODINFO-Partition wird hierbei nicht angerührt!''' ''Auch bekannt als "Incognito".''
<code>0</code> = Deaktiviert (Standard), <code>1</code> = Ativiert
|-
| {{Anker|blank_prodinfo_emummc}}<code>blank_prodinfo_emummc</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| Gleiches wie oben, nur für den EmuMMC.
<code>0</code> = Deaktiviert (Standard), <code>1</code> = Ativiert
|-
| {{Anker|allow_writing_to_cal_sysmmc}}<code>allow_writing_to_cal_sysmmc</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| Ermöglicht den Schreibzugriff auf die [https://switchbrew.org/wiki/Calibration PRODINFO-Partition] für Hoembrews. Ohne ein sicheres Backup ist das Aktivieren nicht empfohlen, weshalb ein verschlüsseltes Backup im MMC angelegt und jedes Mal verifiziert wird. Schlägt dies fehl, wird der Schreibzugriff weiterhin blockiert. '''Im EmuMMC ist das Schreiben auf die PRODINFO-Partition immer erlaubt.'''
<code>0</code> = Deaktiviert (Standard), <code>1</code> = Ativiert
|}
|}


Zeile 474: Zeile 592:


Die Einrichtung eines EmuMMC ist nicht mit Atmosphère möglich - hierfür muss [https://wiidatabase.de/switch-downloads/custom-firmware/hekate/ hekate] verwendet werden, welches auch automatisch die Konfigurationsdatei schreibt. Wird [[hekate]] als Bootloader genutzt, kann auch bequem in den SysMMC gebootet werden, ohne eine Konfigurationsdatei bearbeiten zu müssen. Ansonsten muss "<code>emummc!enabled = 1</code>" in der "<code>emummc/emummc.ini</code>" auf "0" gestellt werden.
Die Einrichtung eines EmuMMC ist nicht mit Atmosphère möglich - hierfür muss [https://wiidatabase.de/switch-downloads/custom-firmware/hekate/ hekate] verwendet werden, welches auch automatisch die Konfigurationsdatei schreibt. Wird [[hekate]] als Bootloader genutzt, kann auch bequem in den SysMMC gebootet werden, ohne eine Konfigurationsdatei bearbeiten zu müssen. Ansonsten muss "<code>emummc!enabled = 1</code>" in der "<code>emummc/emummc.ini</code>" auf "0" gestellt werden.
=== erpt ===
Mithilfe von Atmosphères eigener Reimplementierung von "erpt" (Error Report) werden Crash Reports nicht mehr im System-Speicherstand, sondern auf der SD-Karte im Pfad "<code>/atmosphere/erpt_reports/</code>" angelegt. Dies verhindert das Hochladen dieser zu Nintendo, wenn die Original Firmware gebootet wird.


=== fatal ===
=== fatal ===
Zeile 522: Zeile 643:
oder als fertig verpacktes RomFS in <code>/atmosphere/contents/{{TitleID}}/romfs.bin</code>.
oder als fertig verpacktes RomFS in <code>/atmosphere/contents/{{TitleID}}/romfs.bin</code>.


===== HTML-Bedienungsanleitungen ====
===== HTML-Bedienungsanleitungen =====
Um die Inhalte in der Bedienungsanleitung zu ändern, platziere sie mit der gleichen Dateistruktur in:
Um die Inhalte in der Bedienungsanleitung zu ändern, platziere sie mit der gleichen Dateistruktur in:


<code>/atmosphere/contents/{{TitleID}}/manual_html/.</code>
<code>/atmosphere/contents/{{TitleID}}/manual_html/</code>


==== ExeFS ====
==== ExeFS ====
Zeile 548: Zeile 669:
== Trivia ==
== Trivia ==
* [[SX OS]] verwendet als Basis Atmosphère (siehe auch [[SX OS#Kopierter Atmosphère-Code und Lizenzverstoß]])
* [[SX OS]] verwendet als Basis Atmosphère (siehe auch [[SX OS#Kopierter Atmosphère-Code und Lizenzverstoß]])
* Am 03. Juli 2020 ließ Nintendo die Download-Seite von WiiDatabase.de aus den Google-Suchergebnissen entfernen.<ref>[https://wiidatabase.de/nintendo-laesst-wiidatabase-de-atmosphere-seite-aus-google-entfernen/ Nintendo lässt WiiDatabase.de Atmosphère-Seite aus Google entfernen]</ref>


== Einzelnachweise ==
== Einzelnachweise ==