Atmosphère 1.2.4 disponible

Le développeur SciresM vient de sortir Atmosphère 1.2.4 Cette version apporte de l'optimisation en 13.X.X, l'ajout de bdstub ainsi qu'un fix pour la 2.0 d'animal crossing.


Le développeur SciresM de l'équipe Reswitched, vient de sortir, le 04/11/2021 vers 9h du matin, la version 1.2.3 d'Atmosphère, qui apporte de l'optimisation pour le firmware 13.X.X, l'ajout du gdstub, des bugs fixex notamment sur la 2.0 d'Animal Crossing New Horizon.

Changelog

 

1.2.3 est la soixantième version officielle d'Atmosphère.
Veuillez vous assurer de mettre à jour fusee lors de la mise à jour vers la 1.2.3. fusee-primary n'existe plus, et ne fonctionnera plus.
Grâce à l'équipe de @switchbrew, Atmosphère 1.2.3 est fourni avec hbl 2.4.1 et hbmenu 3.5.0.

Ce qui suit a été modifié depuis la dernière version :
Parce que le développement de ams.TMA prend plus de temps que prévu, un support expérimental pour le gdbstub d'Atmosphère en tant que standalone est maintenant disponible.
Veuillez noter : Le gdbstub est nouveau et peut avoir des bogues/besoins de travail. Si vous trouvez des problèmes, veuillez les signaler à SciresM#0524 -- toute aide pour trouver/corriger les bogues est appréciée, ici.
De manière générale, si vous souhaitez signaler des informations sur les corrections nécessaires/discuter du développement de gdbstub, rejoignez le canal #dev-support de ReSwitched.
Pour l'activer, mettez atmosphere!enable_standalone_gdbstub = u8!0x1 dans system_settings.ini.
Le standalone nécessite également atmosphere!enable_htc = u8!0x0, mais cela devrait être le cas pour tout le monde puisque ams.TMA n'est pas encore réellement utilisable.
Une fois activé, ouvrez le gdb fourni par devkitPro (aarch64-none-elf-gdb pour 64-bit ou arm-none-eabi-gdb pour 32-bit).
Le stub standalone s'expose sur le port 22225 -- donc la commande pour se connecter est target extended-remote :22225.
Tapez info os processes pour obtenir une liste des ID de processus auxquels on peut se connecter.
Le stub devrait fonctionner à la fois sur les programmes système, les jeux, et le homebrew -- mais veuillez noter que le débogage de certains processus (comme les sockets) peut provoquer des hang en raison du stub qui les utilise lui-même.
Les points d'arrêt logiciels, les points d'arrêt matériels, les points de surveillance matériels et les étapes uniques matérielles sont tous supportés/implémentés.
Les commandes de surveillance suivantes sont actuellement supportées :
monitor get info : Obtenir des informations sur le processus, la disposition de l'espace d'adressage, et des informations sur les modules.
monitor get mappings : Obtient tous les mappages de mémoire.
monitor get mapping : Obtenir le mappage de la mémoire pour une adresse spécifique.
monitor wait application : Amène le stub à attendre le lancement d'une application. L'application suivante sera lancée de manière suspendue.
L'utilisateur est censé envoyer attach après le lancement, ce qui provoquera attach-on-first-instruction. L'échec de l'attachement peut provoquer l'instabilité du système, cela nécessite probablement un travail.
Des modifications ont été apportées à la façon dont fs.mitm construit les images lorsqu'il fournit un romfs layeredfs.
La mise à jour 2.0.0 d'Animal Crossing contient >99000 fichiers, et a des tables si grandes que nous manquions de mémoire même après les optimisations faites dans la 0.10.5.
Auparavant, nous utilisions des tampons de travail 0x40000 de taille fixe pour les tables de fichiers/répertoires et construisions simultanément des tables de hachage/contenu dans une boucle sur les fichiers/répertoires.
Maintenant, nous itérons sur les tables de fichiers/répertoires plusieurs fois, d'abord une fois pour déterminer les indices de la table de hachage, puis plusieurs fois pour construire les tables de hachage, puis une fois pour construire les tables de contenu.
Nous autorisons maintenant des tampons de travail plus petits que 0x40000, en essayant des tampons moitié plus grands jusqu'à ce que l'allocation réussisse (ou le tampon de travail serait <0x4000, ce qui est une sauvegarde contre des performances vraiment horribles).
Il y a une légère pénalité de vitesse à ces changements, mais elle est de l'ordre de quelques secondes pour le pire cas (Animal Crossing) et triviale pour la plupart des jeux avec des tables raisonnables.
Si vous rencontrez un jeu qui épuise la mémoire de ams.mitm (le faisant planter) lors du chargement des mods layeredfs, veuillez contacter SciresM#0524.
Il est vraiment difficile d'imaginer qu'un jeu soit pire qu'Animal Crossing, mais si cela se reproduit, je laisserai tout tomber pour le réparer comme d'habitude.
creport essaie maintenant d'analyser les tables de symboles si elles sont présentes.
Si un exécutable de jeu a un symbole pour une adresse donnée, le function-relative-offset sera maintenant imprimé après le module-relative-offset.
Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.

Edit : La version 1.2.4 est sortie

1.2.4 est la soixante-et-unième version officielle d'Atmosphère.
Veuillez vous assurer de mettre à jour fusee lors de la mise à jour vers la 1.2.4. fusee-primary n'existe plus, et ne fonctionnera plus.
Grâce à l'équipe de @switchbrew, Atmosphère 1.2.4 est fourni avec hbl 2.4.1 et hbmenu 3.5.0.
Ce qui suit a été modifié depuis la dernière version :

Des modifications ont été apportées à la façon dont fs.mitm construit les images lorsqu'il fournit un romfs layeredfs.
La gestion du cache (pour éviter une reconstruction inutile) a été révisée, pour ajouter une période de grâce de ~500ms-1s entre la fermeture de l'image romfs par le processus et la nécessité pour ams.mitm de reconstruire si romfs est réouvert.
Cela rend notre cache beaucoup plus efficace, auparavant nous devions reconstruire romfs plusieurs fois.
La propriété de l'image romfs a été revue, avec l'ajout d'une nouvelle implémentation de comptage de références (utilisée pour implémenter la période de grâce ci-dessus).
Certains jeux (par exemple Puyo Puyo Tetris 2, probablement d'autres) étaient sensibles à ce timing, et pouvaient utiliser des modèles d'accès qui déclenchaient la création d'une image romfs alors que l'image romfs précédente était au milieu du destructeur.
Cela pouvait provoquer une erreur fatale, car le destructeur de l'ancienne image pouvait s'exécuter en même temps que la
construction de la nouvelle image.
Cela fournit également un gain de vitesse par rapport au code 1.2.3, avec Animal Crossing qui prend maintenant ~8 secondes de moins pour passer le logo Nintendo Switch.
Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.

Lien de téléchargement : Atmosphère 1.2.4
Lien des sigpatchs : Sigpatch 1.2.4 FW 13.1.0
Lien de mon pack vanilla : Atmo-Pack Vanilla 1.2.4 FW 13.1.0



Veuillez vous connecter ou vous créer un compte pour commenter cet article !


Il n'y a aucun commentaire pour le moment.