Das Atmosphère-NX-Team hat Atmosphère 1.12.0 veröffentlicht. Die neue Version bringt vor allem die Unterstützung für Nintendo Switch Firmware 23.0.0 und enthält darüber hinaus zahlreiche Anpassungen an den internen Komponenten des Custom Firmware-Projekts.
Mit dem Update wurden unter anderem Kernel, Secure Monitor, Boot-Prozess und Speicherverwaltung an die Änderungen von Nintendo angepasst. Ebenfalls enthalten sind HBL 2.4.5 und HBMenu 3.6.1.
Unterstützung für Firmware 23.0.0
Für die neue Nintendo-Firmware mussten mehrere Bestandteile von Atmosphère überarbeitet werden.
Dazu gehören unter anderem:
- Exosphère – Anpassungen an das Verhalten des offiziellen Secure Monitors
- Mesosphère – Anpassungen an den neuen Kernel
- Boot – unter anderem Korrektur bei der Batterieabschaltung über I2C
- Loader, ERPT, PGL und RO – Anpassungen an die Änderungen von Nintendo
Der Kernel von Firmware 23.0.0 verwendet außerdem einen 42-Bit-Adressraum und führt eine neue Speicherregion namens ShadowStack ein. Auch der Zufallszahlengenerator wurde auf CTR-DRBG umgestellt.
Mehr verfügbarer Speicher für Custom-Systemmodule
Eine größere Änderung betrifft den verfügbaren Speicher.
Nintendo hat mit Firmware 23.0.0 die Menge an Speicher weiter reduziert, die aus dem Applet-Pool zurückgewonnen werden kann. Dadurch stehen für Custom-Systemmodule teilweise weniger als 7 MB zur Verfügung.
Das kann beispielsweise beim Start bestimmter Browser-Applets zu Problemen führen, darunter auch Komponenten, die vom eShop verwendet werden.
Atmosphère bringt deshalb experimentelle Patches für die Browser-Applets systemWeb, openWeb und LibAppletOff mit.
Durch das Freigeben bestimmter Speicherbereiche können laut den Entwicklern rund 9 MB zusätzlicher Speicher gewonnen werden. Dadurch lässt sich der für Custom-Systemmodule verfügbare Speicher experimentell auf bis zu 16 MB erhöhen.
Die Entwickler bitten weiterhin um Rückmeldungen, falls nach dem Update ungewöhnliches Verhalten bei Browser-Applets oder anderen Systemfunktionen festgestellt wird.
ZBIC-Kompression vollständig unterstützt
Atmosphère 1.12.0 enthält außerdem eine vollständige Implementierung für die ZBIC-Kompression und -Dekompression.
Anwendungen, die dieses Format verwenden, sollten damit nun korrekt gestartet werden können.
Darüber hinaus unterstützt ro jetzt auch LZ4-Frame-komprimierte NRO-Dateien.
Mögliche Verbesserung beim Batterieverhalten
Interessant ist auch eine Änderung im Zusammenhang mit der Batterie.
Nintendo hatte bereits mit Firmware 18.0.0 das Verhalten der Batterieabschaltung über I2C verändert. Diese Änderung war bisher nicht vollständig in Atmosphère nachgebildet worden.
Die Entwickler vermuten, dass diese Abweichung möglicherweise mit einem bekannten Problem zusammenhängt, bei dem die Switch seit etwa Firmware 18.0.0 unter bestimmten Umständen stärker Batterie verlieren kann.
Ein endgültiger Zusammenhang ist allerdings noch nicht bestätigt und soll durch weitere Tests untersucht werden.
Weitere Änderungen
Neben den großen Anpassungen enthält Atmosphère 1.12.0 zahlreiche kleinere Verbesserungen und Aufräumarbeiten am Projekt.
Unter anderem wird das Makro R_DISCARD nun an weiteren Stellen verwendet, um Compiler-Warnungen bei der Verwendung von nodiscard zu vermeiden.
Außerdem wurde ein Dockerfile in das Projekt aufgenommen, das bestimmte Entwicklungs- und Kompilierungsvorgänge erleichtern soll.
Natürlich sind auch weitere Stabilitäts- und Fehlerkorrekturen enthalten.
Atmosphère 1.12.0 herunterladen
Atmosphère 1.12.0 ist ab sofort im offiziellen GitHub-Repository des Projekts verfügbar.
Download: Atmosphère 1.12.0 – GitHub Releases
Für Systeme mit Firmware 23.0.0 ist die passende Atmosphère-Version einschließlich fusee erforderlich.
