Notre ami sunriseur Sendel nous informe de la disponibilité d'une nouvelle version d'Atmosphère qui passe en version 1.2.0.
Changelog
Atmosphere 1.2.0 est la cinquante-septième version officielle d'Atmosphère.
Veuillez vous assurer de mettre à jour fusee lors de la mise à jour vers la 1.2.0. fusee-primary n'existe plus, et ne fonctionnera plus.
Veuillez noter : Atmosphère 1.2.0 est actuellement en pré-version, et des problèmes peuvent être trouvés qui doivent être corrigés avant la version complète.
Si des bugs sont signalés pendant la préversion d'Atmosphère, ils seront corrigés et la version sera mise à jour.
La version 1.2.0 sera mise à jour après un court laps de temps sans rapports de bugs importants.
Grâce à l'équipe de @switchbrew, Atmosphère 1.2.0 est livré avec hbl 2.4.1, et hbmenu 3.4.1.
Ce qui suit a été modifié depuis la dernière version :
- Le boot a été mis à jour pour refléter le dernier comportement officiel pour la gestion de l'affichage/de la batterie. Cela devrait résoudre tous les problèmes qui pourraient résulter de l'exécution d'anciennes versions sur le modèle OLED, si vous êtes en mesure de le faire.
- Le système de "firmware cible" a été modifié pour permettre au bootloader de spécifier une approximation, plutôt que le véritable firmware cible.
- Auparavant, nous attendions des bootloaders conformes qu'ils inspectent SYSTEM:/ pour déterminer le firmware cible spécifique.
- Maintenant, nous exigeons seulement une version approximative, avec version majeure == vraie version majeure et version approximative <= vraie version. Cela simplifie grandement les exigences du chargeur de démarrage, et en conséquence, tout le code pour accéder à SYSTEM a été retiré de fusee.
- Il devrait en résulter une accélération substantielle lors du démarrage de emummc avec fusee, car les accès au SYSTEM étaient la chose la plus coûteuse à faire auparavant. Cela devrait résoudre toute incohérence dans la détection du firmware lors du démarrage via fusee vs hekate.
- Cela devrait également améliorer notre compatibilité avec les versions micro firmware, rendant plus probable que l'atmosphère "fonctionne" si rien d'important n'a changé.
- La logique de détermination de la limite dynamique des ressources a été implémentée dans pm pour correspondre au dernier comportement officiel. Cela simplifie grandement/rend cohérentes les limites de ressources sur les anciens firmwares, également.
- Une énorme quantité de refactoring a été effectuée sous le capot, y compris :
- Veuillez noter : Si vous êtes un développeur qui utilise Atmosphere-libs, un certain nombre de changements ici sont en rupture.
- N'hésitez pas à contacter SciresM#524 pour vous aider à mettre à jour votre programme.
- De nombreuses primitives de l'espace de nom OS ont été implémentées/rendues plus précises.
- Puisque Mésosphère est maintenant always-on, os::LightEvent (qui nécessitait des SVCs plus récents) est maintenant utilisable globalement (et utilisé par stratosphère le cas échéant).
- Les assertions sont maintenant de véritables no-ops lors de la construction de la version.
Stratosphere est maintenant construit avec -Wextra/-Werror.
- La plupart de la logique "commune" des fichiers main.cpp du module système a été déplacée dans libstratosphere.
- Remarque : les fichiers main.cpp des versions antérieures de Libstratosphere ne fonctionneront plus, pour un très grand nombre de raisons.
- Un certain nombre de problèmes de style de code de longue date ont été corrigés.
- Mesosphere utilise maintenant util::BitFlagSet pour les permissions SVC.
- Mesosphere place maintenant sa table de relocalisation à l'intérieur de .bss, ce qui permet de récupérer la mémoire après les relocalisations.
- Ces changements permettent d'économiser ~16KB de mémoire dans le noyau, tout compte fait.
- Un certain nombre d'emplacements dans Stratosphere où la mémoire pouvait être économisée ont été repérés et exploités, ce qui a permis d'économiser environ 150-200 Ko de mémoire.
- Le module système spl et loader a été refactorisé pour mieux refléter la logique officielle.
- Le code du serveur ipc de sf a été mis à jour pour n'émettre la logique mitm/defer que lorsque cette logique est réellement requise quelque part dans le processus.
- Le code du serveur ipc tipc a été mis à jour pour refléter les changements apportés à la logique officielle dans la version 13.0.0.
- Beaucoup, beaucoup d'autres changements mineurs, veuillez consulter SciresM#524 ou lire les commits concernés si vous voulez en savoir plus.
- Un certain nombre de problèmes mineurs ont été corrigés, notamment :
- La gestion par Mesosphere des permissions SVC sur les threads pin/unpin a été mise à jour pour refléter le comportement officiel du noyau.
- util::CountTrailingZeroes() a été corrigé pour calculer la valeur correcte lorsqu'il est utilisé au moment de la compilation.
- Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.
Téléchargement : Atmosphere 1.2.0