Votre recherche :

claire noir

Avatar de l’utilisateur
MDProz
Re: Erreur suite mise a jour 11.0.1
Pardonne moi mais je n'ai pas tout compris à tes explications ?!.

yo43 Wrote:
1 choses maintenant en allumage classique elle s’éclaire en bleu :cry:

Qu'est ce que cela veut dire ? L'éclairage en bleu, c'est le Dongle ? Je suppose que c'est le Dongle car cela signifie qu'il est configuré sur Atmosphère/Hekate.

yo43 Wrote:2 em je peux accéder à la console via hekate en mode avec le jump
je peux booter sur atmosphère en utilsant dans le lauch "Atmosphere CFW" jusqu'au moment ou il dit d appuyer sur R quand je fais cela écran noir

Le jump ??? Tu veux dire le JiG.
Si écran noir, il doit te manquer des éléments sur ta SD que tu as oublié !

yo43 Wrote:3 em sous Hekate dans "Lauch" je peux aller sur le mon "stock" sys et la cela m envoie sur la page d accueil de la console ('eshop, galerie...)comme si marche nickel ecran marche bien

Normal, le mode stock démarre HOS sans hack actif donc si tu as un écran noir suite à ton 2nd point, c'est qu'il te manque les sigpatches et l'ensemble des éléments qui les accompagnent.
C'est à ajouter manuellement comme indiqué dans le tutoriel en lien !

Pour les gestionnaires de backups, tu as les tutoriels dans la section underground mais commence par résoudre le problème qui concerne les sigpatches car cela t'aidera pour la suite.
Voir le sujet
yo43
Re: Erreur suite mise a jour 11.0.1
bonsoir, je suis encore là et hélas c'est la merde!!!
1 choses maintenant en allumage classique elle s’éclaire en bleu :cry:

2 em je peux accéder à la console via hekate en mode avec le jump
je peux booter sur atmosphère en utilsant dans le lauch "Atmosphere CFW" jusqu'au moment ou il dit d appuyer sur R quand je fais cela écran noir

3 em sous Hekate dans "Lauch" je peux aller sur le mon "stock" sys et la cela m envoie sur la page d accueil de la console ('eshop, galerie...)comme si marche nickel ecran marche bien

ESce que j ai oublie quelque chose?
Apres je ne sait pas installer Awoo , ou autre

Je voulais savoir ce que vous en pensez?
merci grandement
Voir le sujet
yburnic
Re: problème MAJ 10.0.3 avec sx pro
Bonjour, de retour après une opération de l'appendicite ... pas cool.

J'ai essayé de démarrer en mode RCM avec le JIG modifié que j'ai acheté sur amazon car impossible avec le trombone mais apparemment je n'y arrive pas .

J'ai un écran noir mais aucuns accès via mon PC.

Je constate que la manip pour downgrader est quand même complexe et vachement technique pour une personne non aguerrie. Par exemple : "Copiez ChoiDujourNX sur votre carte micro SD dans le dossier Switch", je n'ai pas de dossier switch donc cela commence déjà très mal.

Et honnêtement je claque des genoux à chaque manip de peur de faire des dégâts, car j'ai cru comprendre que la manip peut faire de gros dommages collatéraux voir irréversible.

J'ai essayé de contacter des boutiques ou l'on trouve des SX à la vente pour savoir si quelqu'un pourrait me le faire mais pas de réponse.

Je suis coincé.

Pour info j'habite 69400 Villefranche si une âme charitable pouvait m'aider à y voir plus claire, je me déplace, amène à boire, à manger, les filles si vous me laisser le temps de les trouver :D :D :D

Je suis même prêt à dédommager pour la manip pourvu que mon fils retrouve le sourir. Cela fait maintenant
plus d'un mois que je lui ai planté sa console et il compte les jours de pouvoir rejouer avec.

A votre bon cœur.

Encore dsl pour la gêne occasionné.

Bonne journée à tous
Voir le sujet
Nico246810
Re: Probleme de l installation des nsp
Déjà merci de ton explication tres claire j ai réussi tres facilement a avoir les info et cela me sera utile pour la suite .
J ai donc essayé 2 jeu qui ne marché pas (casiment tout les jeux que j ai essayé d installer ne marche pas il y en a 2 sur 20 ou 30 qui en marché ) alors le premier jeux indiquais que le firmware requis est de 7.0.1 le 2 eme de 6.0.1 la keygeneration du premier est : 8: (7.0.0 - 8.0.1) la 2 eme est 5 : (5.0.0-5.1.0) et la dernier info c est marqué patchable to : 469762048 (7.0.0) pour le premier jeu et patchable to : 335544320 (5.0.0 ) pour le second jeux .
Alors le premier jeux y a que la key generation qui est en firmware 8.0 je sais pas si c est grave mais pour le 2 eme jeux il n y a aucun probleme et le jeux ne veut quand meme pas s installer . On se moment j essaye via usb le téléchargement ce lance mais a la fin une erreur ce produit et le jeux s affiche sur l ecran principale mais s affiche tout noir sans image et impossible de le suprimmer ni de le lancer .
Voir le sujet
Avatar de l’utilisateur
MDProz
Re: [TUTO] Installer Homebrew Launcher sur Switch 5.1.0 (et
Les ChangeLog


Atmosphère de SciresM
[+] ChangeLog Atmosphere de SciresM
Version 1.6.2
  • Le support a été terminé pour 17.0.0
    • Erpt a été mis à jour pour soutenir le dernier comportement officiel

    • Jpegdec a été mis à jour pour prendre en charge le dernier comportement officiel

    • Pm a été mis à jour pour soutenir le dernier comportement officiel

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version PR 1.6.1
  • Une solution améliorée au problème qui ferait en sorte que les consoles qui avaient précédemment reconstruit leur partition SYSTEM brick sur la mise à jour-to-17.0.0 a été ajoutée
    • En particulier, l' atmosphère de démarrage détectera désormais automatiquement le problème et détrayera toutes les consoles qui sont tombées dans cet état

    • Certaines améliorations ont été apportées à haze , notamment:
      • Les performances ont été grandement améliorées :
        • La prise en charge de GetObjectPropList a été ajoutée, ce qui diminue le nombre de demandes effectuées d'environ 8x.

        • Haze effectue maintenant un rendu sur le GPU, libérant le processeur pour répondre aux demandes plus rapidement

      • Un problème a été résolu avec la façon dont Haze configure bMaxPacketSize0, ce qui améliore la prise en charge de l'USB3

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version PR 1.6.0
  • Le support de base a été ajouté pour 17.0.0.
    • La console doit démarrer et atmosphère doit être entièrement fonctionnelle. Cependant, tous les modules n'ont pas été entièrement mis à jour pour refléter les derniers changements.
      • Il ne devrait y avoir rien de visible par l'utilisateur à partir de cela, mais cela sera abordé dans une prochaine mise à jour d’atmosphère

    • Exosphère a été mis à jour pour refléter le dernier comportement officiel sécurisé

    • Mésosphère a été mis à jour pour refléter le dernier comportement officiel du noyau

    • Ncm a été mis à jour pour refléter le dernier comportement officiel

    • Erpt a été partiellement mis à jour pour soutenir le dernier comportement officiel

  • Le gdbstub d'Atmosphère prend maintenant en charge l'attente de s'attacher à un identifiant de programme spécifique au lancement (par opposition à toute application).
    • La commande monitor pour cela est monitor wait <hex program id>, où program id peut éventuellement avoir un préfixe 0x

  • La prise en charge de haze a été ajoutée pour l'édition de fichiers sur place et l'exécution de transferts 64 bits (fichiers de plus de 4 Go)

  • Bpc.mitm a été activé sur les unités Mariko, et déclenche maintenant les arrêts/redémarrages basés sur pmic (merci @CTCaer).
    • Cela devrait faire en sorte que la console ne se réveille plus ~15 secondes après l'arrêt sur Mariko

  • Un certain nombre de problèmes mineurs ont été résolus et des améliorations ont été apportées, notamment :
    • Une solution de contournement a été ajoutée pour un changement dans 17.0.0 qui entraînerait que les consoles qui avaient précédemment reconstruit leur partition SYSTEM en brique sur la mise à jour vers 17.0.0

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.5.5
  • Le support a été ajouté pour 16.1.0.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.5.4 PR
  • Une nouvelle fonctionnalité expérimentale a été implémentée pour éviter les plantages lors de la construction de romfs pour certains jeux avec des comptes de fichiers obscènes.
    • Cela inclut à la fois les fichiers Fire Emblem: Engage (~190000 fichiers) et The Legend of Zelda: Tears of the Kingdom (~300000).

    • La solution consistait à ajouter des fonctionnalités à ams.mitm/pm pour voler dynamiquement la mémoire du pool de l'application (et du système) au besoin lorsque les jeux ont des mods romfs.
      • Aucune mémoire n'est prise, et il n'y a aucun coût pour cette fonctionnalité lorsque vous jouez sans mods (ou avec les remplacements désactivés)

    • The Legend of Zelda: Tears of the Kingdom est actuellement le pire jeu, nécessitant environ 48 Mo de mémoire pour construire une image romfs pour jouer avec des mods.
      • À l'heure actuelle, la mémoire provient de la manière suivante : 32 Mo (base ams.mitm heap), 10 Mo (volé dans le pool d'applications), 8 Mo (volé dynamiquement dans le pool système).

      • Il s'agit de 50 Mo, ce qui permet un peu de frais généraux dans le pire des cas (empêche de s'écraser en raison de l'épuisement du tas pour d'autres allocations dans ams.mitm).

      • Zelda est remarquablement sensible au vol de mémoire dans le pool d'applications, ne tolérant pas plus de 16 Mo sur 1.0.0 et 12 Mo sur 1.1.0. J'ai choisi de voler 10 Mo, pour être en sécurité, pour l'instant.
        • Cela peut se casser lors d'une future mise à jour du jeu, mais je le corrigerai si et quand cela se produira. Il n'y a pas de solution parfaite ; le jeu nécessite tout simplement trop de mémoire pour prendre en charge les mods parfaitement, et je suis obligé de faire des compromis

    • Comme d'habitude, si vous rencontrez un jeu qui épuise la mémoire d'ams.mitm (en le crasant) lors du chargement des mods layeredfs, veuillez contacter SciresM#0524
      "Je me fais mal en disant cela, mais il est vraiment difficile d'imaginer qu'un jeu soit pire que The Legend of Zelda: Tears of the Kingdom, mais si cela se reproduit, je laisserai tout tomber pour le réparer comme d'habitude".

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.5.3
  • Le support a été ajouté pour 16.0.3.

  • Atmosphère a été mis à jour pour utiliser GCC 13/newlib (dernières versions de devkitA64/devkitARM).
    • Veuillez noter que cela introduit un problème connu, sur lequel on travaille actuellement.
      • Comme vous vous en souvenez peut-être dans le changelog 1.4.1, Fire Emblem: Engage nécessite d'énormes quantités de mémoire pour prendre en charge l'utilisation des mods layeredfs avec le jeu.

      • Le dernier GCC/newlib augmente légèrement la taille des frais généraux de malloc, ce qui rend l'augmentation de la mémoire précédente insuffisante.

      • Une solution générale à cela est en cours d'élaboration, ce qui devrait, espérons-le, résoudre le problème d'une manière qui ne me gêne pas pour l'avenir

  • Un certain nombre de problèmes mineurs ont été résolus et des améliorations ont été apportées, notamment :
    • Un problème a été résolu qui faisait que le remplacement de la police du système ne fonctionnait pas sur 16.0.0+.

    • Un problème mineur de précision a été résolu dans la gestion de certaines plages de mémoire par la mésosphère ; ce problème n'aurait eu aucun impact visible sur l'utilisateur final

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.5.2
  • Une application homebrew (haze) a été ajoutée pour effectuer le transfert de fichiers USB (avec des remerciements à @liamwhite pour la conception et la mise en œuvre).
    • Haze est inclus dans l' atmosphère et donne accès à la carte SD via le protocole PTP/MTP.
      • Veuillez noter : Haze apparaîtra à l'intérieur du menu homebrew sous le nom "Transfert de fichiers USB"

    • Veuillez noter : Atmosphère ne peut pas être mis à jour au moment de l'exécution, et essayer d'installer une mise à jour de l'atmosphère via Haze échouera comme d'habitude

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.5.1
  • Fatal a été mis à jour pour réduire l'empreinte mémoire.
    • À partir de 16.0.0, official fatal n'a pas de framebuffer ou de logique de rendu, et appelle plutôt d'autres commandes de service système pour dessiner l'écran.

    • Cependant, ces commandes ne sont pas utilisables par l'atmosphère (fenêtre de rendu trop petite, mauvaise prise en charge des couleurs).

    • Pour réduire le différentiel d'empreinte mémoire relative entre l' atmosphère et le code officiel, le framebuffer (2 Mo) est maintenant alloué dynamiquement en cas de besoin.
      • Cela tentera d'allouer à partir de plusieurs pools (de préfférer Système > System_NonSecure > Application).

      • Cela nécessite techniquement que 2 Mo soient disponibles dans au moins un de ces pools pour le rendu de l'écran fatal (sinon, un redémarrage en noir et blanc fatal se produira), mais cela ne devrait pas être un problème dans presque tous les cas

  • Une fonctionnalité a été ajoutée pour refléter éventuellement la base de données de jumelage bluetooth sur la carte SD (merci @ndeadly).
    • Cela permet de garder automatiquement les appariments d'appareils synchronisés sur sysmmc/all emummcs.

    • C'est opt-in, et peut être contrôlé en réglant l'atmosphère ! Enable_external_bluetooth_db = u8! 0x1.

    • Lorsqu'il est activé, la base de données de jumelage sera synchronisée avec /atmosphere/bluetooth_devices.db

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.5.0 (Pre-release
  • La prise en charge a été ajoutée pour 16.0.0
    • La mésosphère a été mise à jour pour refléter le dernier comportement officiel du noyau.

    • Ncm a été mis à jour pour refléter le dernier comportement officiel.

    • De nombreux APIs FS ont été mis à jour sous le capot pour refléter le dernier comportement officiel

    • Veuillez noter que 16.0.0 a apporté des modifications de rupture à un certain nombre d'API système, y compris dans les commandes FS/NCM/Shared Font que certains programmes homebrew peuvent utiliser
      • Ces programmes peuvent rencontrer des erreurs étranges et peuvent avoir besoin d'être recompilés avec un libnx mis à jour pour prendre en charge les modifications de 16.0.0 pour fonctionner correctement

      • Si vous êtes un développeur touché, veuillez contacter SciresM sur discord pour obtenir de l'aide

  • Un certain nombre de problèmes mineurs ont été résolus et des améliorations ont été apportées, notamment :
    • Un problème a été résolu qui pouvait entraîner une mauvaise configuration des sorties GPIO dans certaines circonstances

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.4.1
  • Un certain nombre de problèmes mineurs ont été corrigés et des améliorations ont été apportées, notamment :
    • Les fichiers de basculement de triche dmnt ne sont plus ignorés lorsqu'il leur manque une nouvelle ligne de fin

    • Le mécanisme de nettoyage automatique erpt_reports ajouté en 1.3.0 a été corrigé.
      • C'était en fait très fondamentalement cassé et n'a jamais fonctionné, mais il est vérifié qu'il fonctionne maintenant

      • Remarque : votre premier démarrage en 1.4.1 peut prendre beaucoup plus de temps que d'habitude (affichant uniquement un écran noir), si le mécanisme de nettoyage automatique est déclenché et que des milliers de fichiers sont supprimés. Cela devrait être ponctuel et pas plus d'une minute environ, si cela se produit.

    • Des correctifs mineurs ont été apportés dans la mésosphère pour correspondre au comportement officiel du noyau (l'assemblage du verrou tournant a été corrigé, le mauvais résultat en cas d'échec dans GetProcessId a été corrigé)

    • Un appel manquant à GetSdStatus lors de l'initialisation des cartes SD en mode non uhs-i a été ajouté dans le pilote sdmmc

  • L'utilisation de la mémoire d'ams.mitm a été augmentée de 16 Mo, pour éviter les plantages lors de la création de romfs pour les jeux avec un nombre de fichiers obscènes.
    • Pour citer le journal des modifications pour 1.2.3 : "La mise à jour 2.0.0 d'Animal Crossing contient > 99 000 fichiers [...] Il est vraiment difficile d'imaginer qu'un jeu soit pire qu'Animal Crossing"

    • Il s'avère que Fire Emblem: Engage contient environ 186 000 fichiers et est environ deux fois plus mauvais que Animal Crossing

    • La moitié de la mémoire supplémentaire provient ici du pool d'applet ; aucun problème ne devrait en résulter, mais veuillez signaler tout ce que vous pourriez rencontrer.

    • Comme d'habitude, si vous rencontrez un jeu qui épuise la mémoire d'ams.mitm (le plante) lors du chargement de mods layeredfs, veuillez contacter SciresM#0524.
      • Je me porte la poisse en disant cela, mais il est vraiment difficile d'imaginer qu'un jeu soit pire que Fire Emblem: Engage, mais si cela se reproduit, je laisserai tout tomber pour le réparer comme d'habitude

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.4.0
  • La prise en charge a été ajoutée pour 15.0.0.
    • Mesosphère a été mis à jour pour refléter le dernier comportement officiel du noyau

    • Ncm a été mis à jour pour refléter le dernier comportement officiel du noyau

  • Un certain nombre de problèmes mineurs ont été résolus et des améliorations ont été apportées, notamment :
    • La limite de capacité sur les contenus des modules complémentaires enregistrés a été fixée dans NCM pour refléter l'augmentation qui s'est produite dans 12.0.0

    • Un off-by-one a été fixé dans la mésosphère lors du calcul de la nouvelle valeur pour un arbitre d'adresse signalé avec ModifyByWaitingCountIfEqual

    • Le gdbstub de dmnt.gen2 désinfecte maintenant les noms de threads pour empêcher les caractères non valides de casser gdb

    • Gdbstub de dmnt.gen2 signale désormais correctement la balise d'architecture lorsqu'elle est attachée à des processus 32 bits

    • La prise en charge des remplacements de contenu manuel html spécifiques au programme a été ajoutée pour le contexte de prise de contrôle non-hbl

    • Un bug a été corrigé dans la façon dont emummc a construit le chemin de répertoire Nintendo alternatif
      • Auparavant, cela utilisait /*/Nintendo/Nintendo au lieu de /*/Nintendo

      • Du code a été ajouté pour déplacer automatiquement les anciens dossiers vers les nouveaux lors du démarrage dans emummc

    • Un bogue a été corrigé au démarrage qui provoquait la mise en place d'une limite de tension d'entrée incorrectement basse

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 1.3.2
  • Le support a été amélioré pour 14.0.0+.
    • Loader a été mis à jour pour refléter les derniers comportements officiels

    • Ro a été mis à jour pour refléter les derniers comportements officiels

  • Un certain nombre de problèmes mineurs ont été résolus et des améliorations ont été apportées, notamment :
    • Une fuite de mémoire a été corrigée dans la gestion des chemins d'accès du système de fichiers ; cela pouvait provoquer un plantage lors du lancement de jeux ~100 fois, ou lors de la suppression/téléchargement de jeux

    • Un bogue a été corrigé qui pouvait faire en sorte que les threads ne voient pas un sémaphore nouvellement signalé

    • Un certain nombre d'inexactitudes mineures ont été corrigées dans les API FileSystem mises à jour

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.3.1
  • Le support a été ajouté pour 14.1.0.

  • Un certain nombre d'améliorations mineures sous le capot de la précision ont été apportées pour mieux refléter le comportement du dernier module système officiel, en particulier autour de FS apis.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.3.0
  • Le support a été ajouté pour 14.0.0.
    • Mesosphère a été mis à jour pour refléter le dernier comportement officiel du noyau

    • Erpt a été mis à jour pour refléter les derniers comportements officiels

    • Pm a été mis à jour pour refléter les derniers comportements officiels

    • Fatal a été mis à jour pour refléter les derniers comportements officiels

  • Un mécanisme de nettoyage automatique de erpt_reports a été ajouté
    • Au démarrage, si la console contient plus de 1000 rapports dans /atmosphere/erpt_reports, le dossier sera nettoyé pour le vider

    • Ce comportement peut être désactivé en définissant erpt! Disable_automatic_report_cleanup = u8! 0x1 dans system_settings.ini

  • Le système de construction d'Atmosphère a été réécrit et permet maintenant de construire globalement diverses constructions/configurations
    • Toutes les cartes prennent désormais automatiquement en charge les cibles de publication/débogage/audit ; il est maintenant possible de construire une construction complète de débogage/audit d'ambiance pour la première fois

  • La prise en charge a été ajoutée pour compiler libstratosphère pour qu'elle s'exécute sur PC
    • Les cibles actuellement implémentées/testées sont Windows (x64), Linux (x64, arm64), macOS (x64, arm64)
      • Si vous êtes un développeur intéressé à ajouter un support pour une autre cible, veuillez contacter SciresM#0524 sur discord

    • Ceci est destiné à permettre enfin de tester sainement le code d'Atmosphère, en permettant à la plupart d'entre eux de fonctionner sur un PC (avec accès à un débogueur) plutôt que sur du matériel de console de jeu

    • De plus, cela permettra de fabriquer des outils PC qui réutilisent directement le code écrit pour Atmosphère

    • Remarque : cela n'a aucun lien avec l'interaction avec les logiciels officiels sur PC. Cela permet vraiment de faire des tests et des outils de ligne de commande autonomes basés sur l'ambiance ; le projet Atmosphère continue de n'avoir aucun intérêt à essayer d'exécuter des logiciels officiels de quelque nature que ce soit.

    • Au cours de l'ajout de ce support (et du travail sur l'outillage en l'utilisant), un certain nombre de révisions assez importantes ont été apportées à la stratosphère (en particulier le code du système de fichiers environnant)
      • Remarque : un certain nombre de modifications apportées à cet effet (et celles qui sont nécessaires dans le processus d'ajout de la prise en charge de 14.0.0) sont api-breaking
        • Si vous êtes développeur et que tout cela a provoqué la rupture de votre code, n'hésitez pas à contacter SciresM#0524 pour obtenir de l'aide sur la mise à jour de votre programme

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.2.6
  • Un support a été ajouté pour 13.2.1

  • Un certain nombre de problèmes mineurs ont été corrigés et des améliorations ont été apportées, notamment :
    • Une amélioration mineure des performances a été implémentée dans la répartition de la table de service en triant et en recherchant en binaire la table de commandes de service au lieu d'utiliser la recherche linéaire.

    • La logique d'initialisation statique dans Atmosphere a été rendue beaucoup plus régulière

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.2.5
  • Le support a été ajouté pour 13.2.0.

  • Un certain nombre de problèmes mineurs ont été corrigés et des améliorations ont été apportées, notamment :
    • Un bogue a été corrigé qui faisait que mesosphère sous-estimait la taille totale de la mémoire de 8 Mo pour certains jeux qui utilisent une gestion de la mémoire de la taille des ressources système plus récente.
      • Cela a causé le plantage de FIFA 19, et peut-être d'autres problèmes.

    • Des modifications de la gestion de la mémoire ont été apportées à sm pour économiser 0x5000 de mémoire.

    • Une micro-optimisation a été apportée à la façon dont mesosphère gère la mise à jour du registre de débogage pour la prise en charge matérielle en une seule étape.

    • La prise en charge a été corrigée pour l'activation de usb!usb30_force_enabled sur 13.0.0+.

    • Le cadre de test unitaire des travaux en cours a été mis à jour pour utiliser doctest au lieu de catch2.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.2.4
  • Des modifications ont été apportées à la façon dont fs.mitm crée des images lors de la fourniture d'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 d'environ 500 ms-1s entre l'image romfs de fermeture du processus et ams.mitm devant être reconstruit si romfs est rouvert.
      • Cela rend notre cache beaucoup plus efficace, auparavant nous reconstruisions des romfs plusieurs fois

    • La propriété des images RomFS a été remaniée, avec une nouvelle implémentation de comptage de références ajoutée (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éclencheraient la création d'une image romfs alors que l'image romfs précédente était au milieu du destructeur.

      • Cela pourrait provoquer une erreur fatale, car le destructeur de l'ancienne image pourrait s'exécuter simultanément avec la construction de la nouvelle image

    • Cela offre également une accélération par rapport au code 1.2.3, Animal Crossing prenant désormais environ 8 secondes de moins pour dé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


Version 1.2.3
  • Étant donné que le développement d'ams.TMA prend plus de temps que prévu, un support expérimental pour le gdbstub d'Atmosphère en tant que standalone est désormais disponible.
    • Veuillez noter : le GDBstub est nouveau et peut avoir des bugs/besoin de travail. Si vous rencontrez des problèmes, veuillez les signaler à SciresM#0524 -- toute aide pour trouver/réparer les bogues est appréciée, ici.
      • De manière générale, si vous souhaitez signaler des informations sur les correctifs nécessaires/discuter du développement du gdbstub, rejoignez le canal #dev-support de ReSwitched

    • Pour l'activer, définissez atmosphère!enable_standalone_gdbstub = u8!0x1 dans system_settings.ini.
      • Le standalone nécessite également une atmosphère!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 devkitPro fourni-gdb (aarch64-none-elf-gdb pour 64 bits ou arm-none-eabi-gdb pour 32 bits).
      • Le stub autonome s'expose sur le port 22225 -- donc la commande pour se connecter est target extended-remote <ip address>:22225.

      • Tapez info os process pour obtenir une liste des identifiants de processus auxquels vous pouvez rattacher

      • Le stub devrait fonctionner à la fois sur les programmes système, les jeux et les homebrews - mais veuillez noter que le débogage de certains processus (comme les sockets) peut provoquer un blocage en raison du fait que le stub 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 matérielles uniques sont tous pris en charge/implémentés.

    • Les commandes de moniteur suivantes sont actuellement prises en charge :
      • monitor get info : obtenir des informations sur le processus, la disposition de l'espace d'adressage et des informations sur les modules.

      • monitor get mappages : obtenez tous les mappages de mémoire.

      • monitor get mapping <addr> : obtenez le mappage de la mémoire pour une adresse spécifique.

      • monitor wait application : oblige le stub à attendre le lancement d'une application. La prochaine application sera lancée suspendue.
        • L'utilisateur doit envoyer attach <pid> après le lancement, ce qui entraînera une instruction attach-on-first. L'échec de la connexion peut provoquer une instabilité du système, cela nécessite probablement du travail

  • Des modifications ont été apportées à la façon dont fs.mitm crée des images lors de la fourniture d'un romfs layeredfs.
    • La mise à jour 2.0.0 d'Animal Crossing contient plus de 99 000 fichiers et des tables si volumineuses que nous avons manqué de mémoire même après les optimisations effectuées en 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.

      • Nous parcourons maintenant les tables de fichiers/répertoires plusieurs fois, d'abord une fois pour déterminer les index des tables de hachage, puis à plusieurs reprises pour créer des tables de hachage, puis une fois pour créer des tables de contenu.

      • Nous autorisons également maintenant des tampons de travail inférieurs à 0 x 400 000, en essayant des tampons de taille réduite jusqu'à ce que l'allocation réussisse (ou le tampon de travail serait inférieur à 0 x 4000, ce qui est une protection contre des performances vraiment horribles)

    • Il y a une légère pénalité de vitesse à ces changements, mais c'est de l'ordre de quelques secondes pour le pire des cas (Animal Crossing) et insignifiant pour la plupart des jeux avec des tables raisonnables.

    • Si vous rencontrez un jeu qui épuise la mémoire de ams.mitm (le fait 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 tente 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, la fonction-relative-offset sera désormais imprimée 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


Version 1.2.2
  • Un certain nombre de correctifs ont été apportés à la mise en œuvre par Atmosphère du nouveau service "sprofile" ajouté dans 13.0.0.
    • Nintendo transmet enfin des données sur Internet à certaines consoles, ce qui a permis de valider la mise en place de notre service.
      • Malheureusement, il y a eu plusieurs problèmes, et si votre console commençait à essayer d'utiliser les nouveaux services, l'atmosphère afficherait une erreur fatale avec le code 0xCAF6 (sprofile::ResultInvalidState())

    • Avec les données de test réelles en main, un programme de test a été écrit et il a été vérifié que notre implémentation peut maintenant importer/accéder avec succès aux données de profil.
      • J'espère qu'il n'y a plus de problèmes, et je m'excuse sincèrement pour tous ceux qui ont eu un 0xCAF6 fatal à cause de cela

  • Un certain nombre d'améliorations mineures ont été apportées à la mésosphère, notamment :
    • KThread::GetContextForSchedulerLoop a été implémenté en assembleur (en utilisant des assertions statiques pour vérifier que offset-of-context-in-struct est correct).
      • Cela permet d'économiser un appel de fonction inutile au milieu de la boucle chaude du planificateur, en le remplaçant par une instruction d'ajout, ce qui devrait améliorer les microperformances

    • Les instructions de maintenance matérielle de Mesosphere ont été auditées via un script et correspondent désormais directement aux noyaux de Nintendo.
      • Notamment, cela insère une barrière de synchronisation d'instruction manquante lors de la validation que des tas de dalles peuvent être construits.

      • Cet ISB manquant pourrait provoquer un abandon sur certains matériels (voir: particulièrement sensibles) au démarrage si le chemin de code pertinent était exécuté de manière spéculative (il ne s'exécute normalement qu'au lancement du jeu...)

    • Les gestionnaires SVC pour effectuer un IPC léger (normalement inutilisé) à partir d'un processus 32 bits ont été corrigés dans Mesosphere.

    • Un bogue a été corrigé qui provoquait l'écrasement du registre x27 par le contenu de x26 lors du retour d'un gestionnaire d'exceptions utilisateur.

    • Un bogue a été corrigé qui faisait que le noyau utilisait le pointeur de pile de l'espace utilisateur au lieu du pointeur de pile du noyau lors de la génération d'un rapport d'erreur pour un abandon du noyau

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.2.1
  • Le support a été implémenté pour 13.1.0.
    • mésosphère a été mis à jour pour refléter les changements de comportement du noyau apportés dans 13.1.0.
      • KScheduler émet désormais une barrière de mémoire de données lors du déverrouillage du verrou du planificateur et lors d'un retour anticipé en raison de l'état du fil supérieur lors de la planification

    • erpt a été mis à jour pour refléter les derniers comportements officiels
      • Le nouveau service ajouté dans 13.0.0 ("sprofile") a été révisé et les formats de données attendus ont été modifiés.
        • Cela semble toujours être (peut-être (?)) non testable en raison du fait que les données ne sont pas encore transmises, mais j'ai une plus grande confiance que les choses se passeront bien que lors de la sortie de la version 1.1.0

    • Un certain nombre d'améliorations ont été apportées à la mésosphère, notamment :
      • Une cible de build a été créée pour construire en ciblant la carte virt qemu.
        • Cela facilite l'écriture de tests unitaires pour le noyau (et d'autres composants de l'atmosphère) et leur exécution sous PC.
          • Remarque : le logiciel système officiel ne fonctionnera pas du tout dans ce cadre, et le projet Atmosphère n'a aucun intérêt à tenter d'exécuter un logiciel officiel de quelque nature que ce soit. Il s'agit de machines de test unitaire, et explicitement pas plus que cela

      • Cela devrait, espérons-le, nous permettre d'avoir une plus grande confiance dans le fait que tous les composants de l'atmosphère fonctionnent comme ils sont théoriquement censés le faire à l'avenir

      • Remarque : si vous êtes un développeur qui connaît le système d'exploitation Horizon (ou qui est capable de se familiariser), j'apprécierais grandement de m'aider à rédiger des tests et à améliorer le cadre de test
        • Veuillez contacter SciresM#0524 si vous êtes capable et intéressé.
          • Vraiment, si vous êtes réellement un développeur qui souhaite m'aider à démarrer cela, je l'apprécierais profondément.
            Cela dit, si vous n'êtes pas un développeur mais que vous voulez l'être, ce n'est probablement pas la meilleure opportunité ; Je m'attends à ce que ce soit très technique.

          • Considérez la chaîne #hack-n-all de la discorde ReSwitched à des fins éducatives

      • Nous utilisons (au moins pour l'instant) catch2 pour les tests unitaires

    • Presque tous les appels virtuels dans le noyau sont désormais résolus de manière statique.
      • Cela élimine une surcharge substantielle des appels virtuels et devrait conduire à une amélioration des microperformances du noyau dans pratiquement toutes les fonctions

    • Les opérations de recherche de l'arbre rouge noir restantes qui n'utilisaient pas la variante optimisée de la « clé de recherche » utilisent désormais la version optimisée

    • L'assemblage personnalisé a été écrit pour améliorer la conversion tick-to-time
      • Cela fonctionne autour de gcc émettant un assemblage sous-optimal à -Os (il émet un bon assemblage à -O3, clang est bien à -O3 et -Os)

    • Les structures KThread et KSession ont été mises à jour pour optimiser la disposition des membres, en économisant 0x10 octets par objet KThread/KSession.

    • Plutôt que de remettre à zéro inutilement toutes les données dans les objets du noyau uniquement pour écraser les membres ultérieurement, nous n'initialisons désormais que les membres dont nous avons besoin dans les constructeurs d'objets du noyau.
      • C'est ce que Nintendo faisait déjà

    • Un ensemble de primitives atomiques optimisées personnalisées a été implémenté et est utilisé à la place de std::atomic<>
      • Cela contourne un bogue de gcc qui rétrograde l'ordre mémoire spécifié à seq_cst et introduit clrex aux endroits où cela est approprié.

      • Cela devrait strictement améliorer les microperformances de nombreux appels système.

    • Une extension commutable au moment de la compilation a été ajoutée pour prendre en charge les adresses physiques 40 bits dans les capacités MapRange (en utilisant les bits actuellement réservés).

    • Un certain nombre de bugs mineurs ont été corrigés, notamment :
      • La gestion initiale du cache reflète désormais mieux le comportement officiel.
        • Cela résout un problème qui faisait que certains matériels sensibles au cache produisaient des paniques de noyau cryptiques lors du démarrage

      • Une logique incorrecte lors de la vérification des capacités de priorité des threads a été corrigée pour refléter le comportement officiel.

      • Le planificateur a été mis à jour pour refléter le dernier comportement officiel, et un certain nombre de bogues mineurs impliquant clz/ctz ont été corrigés.

      • Les accès à la région locale des processus ont été corrigés pour utiliser correctement la région linéaire du noyau, et non les pointeurs de l'espace utilisateur.

      • Les SVC de cache exposés pour les processus 32 bits reflètent désormais mieux la sémantique officielle des demandes de masque de base.

      • Un bogue a été corrigé qui pouvait provoquer une panique du noyau si SvcArbitrateLock était appelé sur un thread avec exactement une référence au milieu de la gestion d'une exception en mode utilisateur

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.2.0
  • 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 pouvant 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 "micrologiciel cible" a été modifié pour permettre au chargeur de démarrage de spécifier une approximation, plutôt que le véritable micrologiciel cible.
    • Auparavant, nous nous attendions à ce que les chargeurs de démarrage conformes inspectent SYSTEM:/ pour déterminer le micrologiciel cible spécifique.

    • Maintenant, nous n'avons besoin que d'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 permettant d'accéder à SYSTEM a été supprimé de fusee.
      • Cela devrait entraîner une accélération substantielle lors du démarrage d'emummc avec fusee, car les accès au SYSTÈME étaient la chose la plus chère faite 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 de micrologiciels, ce qui rend plus probable que l'atmosphère "fonctionne" si rien d'important n'a changé

  • La logique de détermination des limites de ressources dynamiques a été implémentée dans pm pour correspondre au dernier comportement officiel
    • Cela simplifie/rend également considérablement les limites de ressources sur les anciens firmwares

  • Une énorme quantité de refactorisation a été effectuée sous le capot, notamment :
    • Remarque : Si vous êtes un développeur qui utilise Atmosphere-libs, un certain nombre de modifications sont en cours
      • N'hésitez pas à contacter SciresM#524 pour obtenir de l'aide sur la mise à jour de votre programme

    • L'espace de noms du système d'exploitation avait de nombreuses primitives implémentées / rendues plus précises.

    • Étant donné que la mésosphère est désormais toujours active, os::LightEvent (qui nécessitait des SVC plus récents) est désormais utilisable dans le monde entier (et utilisé par la stratosphère le cas échéant).

    • Les assertions sont désormais de véritables no-ops lors de la construction pour la publication.

    • Stratosphère est maintenant construit avec -Wextra/-Werror.

    • La logique la plus "commune" dans les fichiers main.cpp du module système a été déplacée dans libstratosphere.
      • Remarque : les fichiers main.cpp des anciennes bibliothèques d'atmosphère 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.

    • Mésosphère utilise désormais util::BitFlagSet pour les autorisations SVC.

    • Mésosphère place désormais sa table de relocalisation dans .bss, ce qui permet de récupérer cette mémoire une fois les relocalisations effectuées.
      • Ces changements permettent d'économiser environ 16 Ko de mémoire dans le noyau, tout est dit et fait

    • Un certain nombre d'emplacements dans la stratosphère où la mémoire pourrait être sauvegardée ont été repérés et exploités, conduisant à environ 150-200 Ko de mémoire sauvegardée.

    • Le module système spl et loader a été remanié pour mieux refléter la logique officielle.

    • Le code du serveur sf ipc a été mis à jour pour n'émettre que la logique mitm/defer lorsque cette logique est réellement requise quelque part dans le processus.

    • Le code du serveur tipc ipc a été mis à jour pour refléter les modifications apportées à la logique officielle dans 13.0.0.

    • Beaucoup, beaucoup d'autres changements mineurs, s'il vous plaît parlez à SciresM#524 ou lisez les commits pertinents si vous voulez en savoir plus

  • Un certain nombre de problèmes mineurs ont été résolus, notamment :
    • La gestion par Mesosphere des autorisations SVC sur l'épinglage/désépinglage des threads 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.


Version 1.1.1
  • Un bug a été corrigé qui provoquait une fuite de mémoire lors du lancement d'un jeu avec les mods activés, provoquant éventuellement un plantage après suffisamment de lancements de jeu sans redémarrage.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 1.1.0
  • Le support a été implémenté pour 13.0.0.
    • mésosphère a été mis à jour pour refléter le dernier comportement officiel du noyau.

    • ncm a été mis à jour pour refléter les derniers comportements officiels.

    • erpt a été mis à jour pour refléter les derniers comportements officiels.
      • Deux nouveaux services ("sprofile") ont été ajoutés à erpt et ont été entièrement réimplémentés.

      • Remarque : ces services permettent de transmettre les paramètres aux consoles via Internet sans mise à jour du système.
        • Comme il ne semble pas encore y avoir de paramètres poussés, cette implémentation ne peut fondamentalement pas être entièrement testée pour le moment, mais j'espère qu'il n'y aura pas de problèmes une fois que les paramètres commenceront à être distribués.

  • Le module système LogManager a été réimplémenté.
    • Ce module système fournit des services que certains jeux utilisent pour la journalisation.

    • La réimplémentation d'Atmosphere prend en charge la journalisation sur la carte SD (si lm!enable_sd_card_logging est vrai) et sur ams.TMA.
      • Pour contrôler le dossier dans lequel les journaux sont enregistrés, modifiez le paramètre lm!sd_card_log_output_directory.

    • La réimplémentation d'Atmosphere est désactivée par défaut (afin d'économiser de la mémoire), mais peut être activée en définissant lm!enable_log_manager sur true.
      • Cela permettra de lire les journaux des jeux qui utilisent les services (ou potentiellement de se connecter à partir des homebrews à l'avenir), ce qui peut être utile aux développeurs.

      • Veuillez noter que lorsque TMA sera entièrement implémenté à l'avenir, l'activation de TMA activera de force LogManager.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 1.0.0
  • fusee a été complètement réécrit en C++ pour utiliser les mêmes API d'atmosphere-libs que le reste du code d'Atmosphere.
    • La réécriture a été effectuée en mettant l'accent sur la garantie d'une bonne vitesse de démarrage, et le démarrage devrait généralement être beaucoup plus rapide qu'auparavant.
      • Selon la carte SD/l'environnement, la vitesse de démarrage peut maintenant être légèrement plus rapide, à peu près la même ou légèrement plus lente que lors du démarrage avec hekate.

      • Le fruit évident pour l'amélioration des performances a été cueilli, donc j'espère que l'amélioration des performances plaira à tout le monde.

    • La compatibilité de la carte SD a été améliorée : fusee devrait maintenant avoir une compatibilité de carte SD identique au pilote officiel du système d'exploitation.

    • Remarque : divers composants ont été renommés (fusee-primary.bin -> fusee.bin, fusee-secondary.bin -> package3).
      • Si vous utilisez un autre chargeur de démarrage (comme hekate), vous devrez peut-être mettre à jour votre configuration pour utiliser la nouvelle disposition.

    • Veuillez noter : BCT.ini n'existe plus, la configuration de nogc a été déplacée vers /atmosphere/config/stratosphere.ini.
      • Si vous comptez sur une configuration nogc personnalisée, assurez-vous de mettre à jour en conséquence.

    • L'analyse BMP de l'écran de démarrage personnalisé n'est plus prise en charge (car elle ralentit le démarrage pour 99 % des utilisateurs).
      • Pour compenser cela, un script pour insérer un écran de démarrage personnalisé dans un binaire package3 a été ajouté au dossier utilitaires du référentiel atmosphère.

      • La version de la version devrait être équivalente à l'exécution de la commande suivante à partir de la racine du référentiel atmosphère : python utilities/insert_splash_screen.py img/splash.png fusee/package3

  • Un certain nombre de modifications en attente ont été apportées, après la fin des périodes d'essai pertinentes :
    • la mésosphère n'est plus à exclure et le code stratosphère commencera en fonction de sa présence / utilisation.

    • NCM n'est plus opt-out.

    • Le nettoyage pour faciliter la transition de < 0,19,0 à 0,19,0 a été supprimé.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.20.1
  • Un problème a été résolu qui provoquait une grave dégradation des performances après la sortie de veille sur le matériel Mariko.
    • Cela était dû à Mariko MTC résultant en une fréquence de 1599,999MHz au lieu de 1600MHz.

    • En raison de ce décalage, le code de gestion EMC de Nintendo n'a pas réussi à s'initialiser/prendre le relais, et après la sortie de veille, la RAM était dans un état étrange.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.20.0
  • La gestion de la DRAM (MTC) a été implémentée pour le matériel Mariko, augmentant la vitesse de la RAM de 204MHz à 1600MHz.
    • Cela optimise de manière significative la vitesse de démarrage sur Mariko, en réduisant le temps de démarrage de moitié.

    • Réductions typiques du temps de démarrage (mesuré de "select fusee" à "home menu visible") :
      • Normal (Iowa) : ~35 secondes -> ~18 secondes.

      • Lite (Hoag) : ~65 secondes -> ~30 secondes.

    • NOTE : Le travail est en cours pour réécrire le composant `fusee`, avec l'objectif spécifique d'assurer une bonne vitesse de démarrage.

    • Avec un peu de chance, le démarrage sera beaucoup plus rapide sur toutes les unités (Mariko et Erista) dans une prochaine version

  • Sept a été remplacé, et supprimé du dépôt.
    • Les unités Erista utilisent maintenant un firmware TSEC personnalisé pour gérer la dérivation des clés.

    • Pour plus de détails, contactez SciresM#0524 sur discord.

    • Ceci a un certain nombre d'avantages, y compris :
      • Cela simplifie grandement la logique de dérivation des clés en la rendant cohérente sur tous les firmwares.

      • Fusee n'accède plus aux keyblobs et ne les utilise plus du tout, donc les unités qui ont accidentellement détruit/perdu des keyblobs peuvent démarrer sans eux.

      • Ceci augmente considérablement la stabilité (sept était la plus grande source d'échecs de démarrage).

      • Cela améliore la vitesse de démarrage (sept a redémarré plusieurs fois, a exécuté plusieurs fois l'initialisation du matériel et était généralement très lent).

      • Le processus de construction d'Atmosphère est maintenant beaucoup plus sain.

  • Un certain nombre d'améliorations ont été apportées au moteur de triche de dmnt.
    • Les codes triches qui prennent en compte un opérande de région mémoire peuvent maintenant utiliser les types "2" ou "3" pour effectuer des accès relatifs aux régions alias/aslr, respectivement.

    • La prise en charge d'un opcode "else" dans le moteur de triche a été ajoutée, afin de rendre l'écriture de certaines logiques conditionnelles plus naturelle.

    • Une prise en charge a été ajoutée pour qu'un orchestrateur de triche homebrew (comme edizon) puisse se détacher d'un processus de triche/régler la triche principale de manière programmatique.

  • Daybreak fournit maintenant un avertissement lors de la tentative d'installation d'un firmware plus récent que la plus haute version qu'atmosphère sait supporter.
    • Pour faciliter cela, exosphere expose maintenant la version HOS supportée via une extension ConfigItem.

  • Un certain nombre de problèmes mineurs ont été corrigés, notamment :
    • Plusieurs implémentations SVC de débogage de mesosphere ont été mises à jour pour refléter la sémantique du dernier noyau.

    • La prise en charge de la dérivation des clés de cryptage BIS sur certains prototypes de matériel a été corrigée.

  • Améliorations de la stabilité générale du système pour améliorer l'expérience de l'utilisateur.


Version 0.19.5
  • Le support a été ajouté pour 12.1.0.

  • Le support LayeredFS a été ajouté pour les commandes OpenDataStorageWithProgramIndex.
    • Certains jeux utilisant des API plus récentes (7.0.0+) qui incluent plusieurs programmes sous un même titre ne pouvaient pas être modifiés auparavant.

    • Ceux-ci sont désormais pris en charge normalement et LayeredFS devrait à nouveau avoir une compatibilité à 100 %.

  • Un certain nombre de problèmes mineurs ont été résolus, notamment :
    • Le redémarrage du payload NRO a été mis à jour pour permettre au système d'exploitation de sauvegarder l'état avant le redémarrage (merci @AuroraWright) !

    • Un problème a été résolu qui pouvait entraîner l'échec de dns.mitm lorsque les jeux demandaient la résolution d'une chaîne vide.

    • Un problème a été résolu qui provoquait une fuite de mémoire dans le module système erpt.
      • Cela finirait par provoquer un plantage du système après la génération d'environ 540 rapports sans redémarrage.

  • Un certain nombre d'améliorations mineures ont été apportées pour améliorer la précision de la mésosphère.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.19.4
  • Le support a été ajouté pour 12.0.3

  • Un certain nombre de problèmes mineurs ont été résolus, notamment :
    • Un problème a été résolu qui pouvait entraîner une corruption de la mémoire de tas lorsque l'allocation était fortement contestée

    • Un problème a été résolu qui pouvait entraîner l'échec du mode veille dans certaines conditions

    • Un problème a été résolu qui pouvait entraîner l'utilisation d'un chemin lent du planificateur plus souvent que nécessaire

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.19.3
  • Le support a été ajouté pour 12.0.2.

  • Un certain nombre de problèmes mineurs ont été résolus, notamment:
    • Un problème a été résolu dans dns.mitm qui provoquait un plantage lorsque les jeux tentaient de résoudre l'adresse IP de nullptr.

    • Un problème a été résolu dans erpt qui provoquait un abandon lors du démarrage sans avoir jamais démarré le stock auparavant.

    • Un problème a été résolu dans emummc (basé sur un fichier) qui provoquait une erreur sur le format du système / le téléchargement de certains jeux

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.19.2
  • Les composants d'Atmosphère ont été mis à jour pour refléter les derniers comportements officiels à partir de la version 12.0.0
    • Notamment, erpt a été mis à jour pour implémenter la nouvelle fonction de détection d'arrêt forcé
      • Lorsqu'un arrêt forcé se produit, un erpt_report sera généré et enregistré sur la carte SD au prochain démarrage

  • Atmosphère-libs a été mis à jour pour utiliser GCC 11 (dernières versions de devkitA64 / devkitARM).
    • Les inspections initiales montrent des améliorations de l'optimiseur légères à modérées à plusieurs endroits importants (le noyau est 0x3000 plus petit)

    • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur

  • Un certain nombre de problèmes mineurs ont été résolus, notamment:
    • Un bogue a été corrigé qui provoquait un écran noir lors de la tentative de démarrage des versions de firmware 2.0.0-4.1.0

    • Un bogue a été corrigé qui provoquait l'abandon de sm quand à la limite de session, plutôt que de renvoyer des codes d'erreur

    • Un bogue a été corrigé qui permettait l'épuisement des ressources sur 12.0.0, dans certaines circonstances

  • Plusieurs problèmes ont été résolus, et la convivialité et la stabilité ont été améliorées


Version 0.19.1
  • Un problème a été résolu qui provoquait une erreur fatale lors de l'utilisation des services de migration officiels pour transférer des données entre consoles

  • Un problème a été résolu dans ncm qui provoquait une erreur lorsque le système d'exploitation tentait d'énumérer le contenu de la carte SD installée

  • Plusieurs problèmes ont été résolus, et la convivialité et la stabilité ont été améliorées


Version 0.19.0
  • Le support a été ajouté pour 12.0.0
    • mésosphère a été mis à jour pour refléter le dernier comportement officiel du noyau

    • sm, boot2, pgl ont été mis à jour pour refléter les derniers comportements officiels
      • Remarque: la 12.0.0 a ajouté un nouveau protocole pour IPC ("tipc"), qui a été récemment réimplémenté dans son intégralité.
        • Il est possible qu'il y ait des problèmes encore non fondés; s'il y en a, veuillez envoyer les rapports de plantage appropriés à SciresM (SciresM #524 sur discord).

        • Homebrew qui utilise des extensions d'ambiance (y compris l'API mitm) devra être recompilé pour fonctionner sur la version 0.19.0.
          • Je m'excuse pour cela, mais c'est inévitable pour des raisons techniques. Si vous êtes concerné par cela et en êtes fou, veuillez contacter SciresM pour vous plaindre

    • erpt a été partiellement mis à jour pour refléter les derniers comportements officiels
      • De nouvelles fonctionnalités ont été ajoutées à erpt pour suivre l'activité des applets en cours d'exécution et pour détecter quand un arrêt forcé se produit

      • Ces comportements ont été temporairement stubbés, car ils ne sont pas nécessaires pour que la 12.0.0 s'exécute (et leurs sorties ne seront enregistrées nulle part)

      • Une future mise à jour de l'atmosphère mettra en œuvre ces comportements, dans l'intérêt de refléter la logique officielle le plus fidèlement possible

  • Atmosphère n'utilise plus le dossier / contents / pour ses propres programmes
    • Les modules système d'Atmosphère sont désormais regroupés dans le seul fichier "stratosphere.romfs"
      • Pour ceux qui travaillent sur le développement pour l'atmosphère, les exécutables dans le répertoire / contents / seront préférés à ceux de "stratosphere.romfs"

    • Remarque: afin de faciliter ce changement (et le comportement souhaité), la première fois que vous démarrez après l'extraction d'un zip de version, les modules du système atmosphère à l'intérieur de / contents / seront supprimés
      • Cela n'aura aucun impact sur les programmes utilisateur (cela ne supprime que les programmes avec des identifiants de programme spécifiques)

  • Des améliorations ont été apportées à la mésosphère, notamment:
    • Une extension InfoType a été ajoutée pour obtenir le descripteur de processus actuel, sans avoir à créer un thread et à faire IPC avec soi-même

    • Un problème a été résolu dans SvcSetDebugThreadContext

    • Un problème a été résolu lors de l'exécution d'IPC avec des tampons utilisateur

  • Le support a été corrigé pour basculer le paramètre personnalisé usb! Usb30_force_enabled sur 9.0.0+
    • Cela a été brisé par l'introduction par Nintendo d'une dépendance qui faisait de l'USB une exigence pour le lancement avant que les paramètres personnalisés ne soient analysés

    • Depuis le correctif, vous pouvez maintenant basculer le paramètre (comme vous le pouviez avant l'atmosphère 0.9.4), et cela fonctionnera comme prévu

    • Remarque: l'activation de l'USB 3.0 a souvent un impact important sur les communications sans fil
      • Pour cette raison, le paramètre est désactivé par défaut. Si vous rencontrez des problèmes avec son activation, envisagez de la désactiver

  • Un avertissement a été ajouté à l'aube lors de la réinitialisation de la console aux paramètres d'usine

  • Un travail substantiel a été réalisé en vue de l'implémentation prochaine dans l'atmosphère du protocole de connexion cible hôte
    • Une fois terminé, les utilisateurs pourront interagir avec une Switch sous atmosphère via une application PC («Starlink») en cours de développement
      • Les fonctionnalités éventuelles prévues pour les consoles connectées incluent un gdbstub, l'interaction avec la mémoire (pour le développement de triche), le streaming audio et vidéo du jeu et l'accès au système de fichiers de la carte SD du Switch

      • Switch homebrew aura également accès à un système de fichiers (configurable et en bac à sable) sur le PC hôte, lorsqu'il est connecté

    • À cette fin, ce qui suit a été accompli:
      • Le module système "htc" a été complètement réimplémenté

      • Le module système qui fournit un accès à distance à la carte SD a été complètement réimplémenté

    • C'est actuellement au cœur du développement d'Atmosphère

    • Remarque: l'assistance n'est pas encore terminée et les utilisateurs sont déconseillés d'interagir avec les paramètres associés pour le moment, à moins qu'ils ne sachent particulièrement ce qu'ils font

  • Un certain nombre de problèmes mineurs ont été résolus, notamment:
    • Un bug a été corrigé dans dmnt qui pouvait causer un fatal lors du lancement de certains jeux avec des astuces actives

    • Un problème a été résolu qui pouvait provoquer un abandon dans sm lors de l'utilisation d'un grand nombre de modules système personnalisés

    • Un problème a été résolu qui empêchait de lancer des cartes de jeu sur 1.0.0

    • Des problèmes mineurs ont été résolus dans le comportement de la machine virtuelle de triche

  • Plusieurs problèmes ont été résolus, et la convivialité et la stabilité ont été améliorées


Version 0.18.1
  • Un certain nombre de problèmes mineurs ont été résolus, notamment:
    • Le nouveau module dns.mitm ajouté dans la version 0.18.0 ne contient plus d'erreurs fatales lors de la réception de port = nullptr
      • Cela corrige le blocage des publicités sur YouTube et peut-être d'autres cas d'utilisation

    • Un bogue a été corrigé qui empêchait ams.mitm de mettre en cache les stockages de données de manière incorrecte
      • Cela a potentiellement cassé le DLC lors de l'utilisation de mods romfs, et aurait pu causer d'autres problèmes (par exemple avec des thèmes personnalisés, et peut-être d'autres cas)

    • Un bogue a été corrigé dans l'enregistrement du module de contrôle de l'état de l'alimentation
      • Cela pourrait corriger un cas étrange avec les dépendances des modules système sur sleep / wake, mais personne ne devrait probablement remarquer de différences

    • Un bogue a été corrigé où la mésosphère traitait parfois les ID de cœur virtuels comme s'il s'agissait d'ID de cœur physiques
      • Cela n'a eu aucun impact, car pour Switch virtual core == physical core, mais cela aurait pu affecter les futures plates-formes s'il n'était pas résolu

  • Plusieurs problèmes ont été résolus, et la convivialité et la stabilité ont été améliorées


Version 0.18.0
  • Un nouveau module mitm a été ajouté (dns.mitm).
    • Cela fournit un mécanisme hautement configurable pour rediriger les demandes de résolution DNS.

    • Par défaut, Atmosphère redirige les demandes de résolution des serveurs de télémétrie officiels vers une adresse de bouclage.

    • Vous trouverez ici de la documentation sur la configuration de dns.mitm pour répondre à vos besoins plus spécifiques

  • L'API du cadre de service (sf) a été remaniée pour être plus précise à la logique officielle et réduire considérablement les besoins en mémoire.
    • La comparaison de l'utilisation de la mémoire du module Atmosphère par rapport à celle de Nintendo trouvée ici a été mise à jour pour refléter cela.

    • Remarque: si vous êtes un développeur utilisant les API du service libstratosphere, une mise à jour peut être nécessaire. Contactez SciresM # 0524 sur Discord pour obtenir de l'aide si nécessaire.

  • Un certain nombre d'obsolescences ont été supprimées, à la suite d'un nettoyage général de la base de code:
    • L'extension sm pour ne pas désinscrire les services à la fermeture de la connexion a été remplacée par la logique d'acceptation officielle dans 11.0.0, et a été supprimée au profit de la logique officielle.
      • Cela ne devrait avoir aucun impact sur les utilisateurs.

    • Le hid-mitm temporaire ajouté dans la version 0.9.0 a finalement été supprimé, après plus d'un an de dépréciation.
      • Il ne devrait y avoir aucun homebrew en cours d'utilisation encore affecté par cela, mais la situation sera surveillée.

      • S'il s'agit toujours d'un problème réel, un module système hid mitm non affilié fournissant la même fonctionnalité peut être créé et publié, indépendamment de l'atmosphère elle-même.

  • Plusieurs problèmes ont été résolus, et la convivialité et la stabilité ont été améliorées


Version 0.17.1
  • Un certain nombre de modules d'atmosphère utilisaient plus de mémoire que leurs équivalents Nintendo dans la version 0.17.0; un certain nombre de modifications de génération de code ont été appliquées pour résoudre ce problème à tous les niveaux.
    • Une comparaison détaillée de l'utilisation de la mémoire du module Atmosphère par rapport à celle de Nintendo a été faite et peut être trouvée ici

  • Plusieurs bugs mineurs ont été corrigés, notamment:
    • Un bug a été corrigé dans la mésosphère qui provoquait l'échec des jeux qui tentaient de mapper plus de mémoire que le Switch.
      • Cela a affecté "Piczle Lines DX 500 More Puzzles!", Et peut-être d'autres jeux

    • L'activation de la configuration pour "vider" PRODINFO ne provoque plus de blocage sur les appareils Mariko (ou tout appareil avec un format plus récent).

  • Plusieurs problèmes ont été résolus, et la convivialité et la stabilité ont été améliorées


Version 0.17.0
  • fusee a été fortement réécrit afin d'ajouter la prise en charge du matériel Mariko.
    • Remarque: le matériel Mariko n'a actuellement aucun (et peut ne jamais avoir aucun) exploits logiciels; fusee fonctionne lorsqu'il est chargé à partir du contexte du chargeur de démarrage avec les bonnes clés dans le moteur de sécurité. Aucun moyen de mettre le système dans cet état n'est fourni

  • Un problème a été résolu dans la manière dont l'arrêt a été effectué sur le matériel Erista.
    • Cela corrige un problème qui faisait que OFW affichait un écran noir au démarrage après une mise hors tension de l'atmosphère sans effectuer au préalable un redémarrage.

    • Cela améliore également considérablement la consommation d'énergie lorsque le système est arrêté; les consoles éteintes d'Atmosphere devraient maintenant vider la batterie au même rythme réduit que le firmware d'origine

  • Un certain nombre de modifications mineures ont été apportées, notamment:
    • Un certain nombre d'incohérences dans le système de construction ont été corrigées.
      • Pour ceux qui créent une atmosphère à la maison, le module système de démarrage ne se reconstruira plus à chaque fois que make est invoqué

      • Cela améliore considérablement les temps de construction pendant l'itération de développement

    • sm a été mis à jour pour refléter plus précisément la façon dont le code officiel gère le report des demandes

    • mésosphère a été mis à jour pour refléter plus précisément la gestion officielle du noyau du tampon de trace.

    • mésosphère a été mis à jour pour améliorer la logique du chargeur du noyau en tirant parti de l'hypothèse que nous ne démarrons que notre noyau, pas celui de Nintendo

  • Comme cela fait quelques mois sans aucun problème signalé, la mesosphère est désormais désactivée.
    • Les utilisateurs qui souhaitent commencer à utiliser ou continuer à utiliser la mésosphère doivent utiliser le zip standard / cool kids ("atmosphère-")

    • Les utilisateurs qui souhaitent désactiver la mésosphère doivent télécharger et extraire le zip de désactivation ("atmosphère-SANS_MESOSPHERE-")

  • Plusieurs problèmes ont été résolus, et la convivialité et la stabilité ont été améliorées


Version 0.16.2
  • Les zips de version Atmosphère ne regroupent plus BCT.ini, mais reposent plutôt sur les valeurs par défaut du code.
    • Cela signifie que les mises à jour de l'atmosphère ne devraient plus écraser aucune configuration utilisateur.

    • Si vous souhaitez modifier la configuration de BCT.ini, copiez le modèle depuis / config_templates / comme avec une autre configuration.

  • pgl et creport ont été mis à jour pour refléter les différences de comportement officiel dans la version 11.0.0.

  • Un problème a été résolu qui entraînait le lancement de creport plusieurs fois en cas de panne du processus.
    • Cela corrige le problème des "rapports en double" qui tourmentait parfois les gens.

  • Un nouveau paramètre système (atmosphère! Enable_am_debug_mode) configurant am pour utiliser le mode débogage.
    • Si vous n'êtes pas un développeur ou ne voyez pas d'utilisation claire de cela, laissez-le configuré par défaut (désactivé).

  • Reboot to payload NRO a été mis à jour pour corriger la prise en charge de certaines charges utiles.

  • Le support a été corrigé pour l'extension d'ambiance pour prendre en charge l'utilisation homebrew des nouveaux mappages de noyau (8.0.0+).
    • En particulier, lors de l'exécution des versions de débogage de traçage de mesosphère, hbloader a désormais accès au tampon de trace du noyau.

  • Plusieurs problèmes ont été résolus, et la convivialité et la stabilité ont été améliorées.


Version 0.16.1 Pre-Release
  • Le support a été ajouté pour 11.0.1.
    • mesosphère a été mise à jour pour refléter le dernier comportement officiel du noyau.
      • Un nouveau svc :: InfoType ajouté dans la version 11.0.0 a été implémenté (il n'a pas été découvert avant la publication de la version 0.16.0).

      • La nouvelle logique d'intégrité de flux de contrôle (CFI) ajoutée dans le noyau 11.0.0 a été implémentée

  • La logique fs a été refactorisée et nettoyée pour refléter certains changements comportementaux et structurels plus récents du module système.

  • exosphère a été mis à jour pour permettre un contrôle dynamique du port uart utilisé pour la journalisation.
    • Cela peut être contrôlé en modifiant les champs log_port, log_baud_rate et log_inverted dans exosphere.ini.

  • mesosphère a été mis à jour pour améliorer les capacités de débogage.
    • C'est toujours un travail en cours, mais les développeurs peuvent être intéressés.

  • Un bogue a été corrigé qui provoquait une erreur fatale à fatale si le processus fatal était déjà en cours de débogage.

  • Plusieurs problèmes ont été résolus, et la convivialité et la stabilité ont été améliorées.


Version 0.16.0 Pre-Release
  • Le support a été ajouté pour 11.0.0.
    • Exosphère a été mis à jour pour refléter le dernier comportement officiel du moniteur sécurisé.

    • Mesosphère a été mis à jour pour refléter le dernier comportement officiel du noyau.

    • Loader, sm, boot, pgl ont été mis à jour pour refléter les derniers comportements officiels.
      • Remarque: la 11.0.0 implémente une version opt-in de l'extension atmosphère sm qui permet de fermer la session sans désenregistrer les services.
        • En conséquence, l'extension sera obsolète au profit de la nouvelle commande d'acceptation officielle. Dans la version 0.17.0, il sera entièrement supprimé.

        • Si votre module système personnalisé repose sur cette extension (même si cela me semble peu probable), veuillez le mettre à jour en conséquence.

    • erpt a été partiellement mis à jour pour assurer la compatibilité avec 11.0.0.
      • Le dernier firmware attache des champs supplémentaires et des informations de contexte aux journaux.

      • Une future mise à jour d’atmosphère implémentera cette logique, afin que les utilisateurs intéressés puissent également obtenir les nouvelles informations lors de l'examen de leurs journaux

    • Remarque: la version 11.0.0 a introduit des changements de rupture dans l'API usb: ds du module système USB.
        Homebrew qui utilise le service usb: ds doit être reconstruit avec la dernière version de libnx pour prendre en charge l'exécution sur 11.0.0.

  • Le module du système de démarrage a été réécrit pour refléter les énormes changements de pilote introduits dans la version 8.0.0.
    • Cela comprend un certain nombre d'améliorations de l'affichage du logo et de la logique de gestion de la batterie.

  • Un support a été ajouté pour configurer la largeur de l'espace d'adressage pour hbl.
    • Les paramètres hbl_config! Override_address_space _ (#) et hbl_config! Override_any_app_address_space peuvent désormais être définis sur 39_bit, 36_bit ou 32_bit pour contrôler l'espace d'adressage pour hbl sur une base de remplacement.

    • Si aucune configuration n'a été définie, hbl utilisera désormais par défaut un espace d'adressage de 39 bits.
      • Auparavant, un espace d'adressage hérité de 36 bits était toujours utilisé pour maintenir la compatibilité avec la version 1.0.0.

      • Une nouvelle extension de chargeur a été ajoutée pour prendre en charge le 39 bits chaque fois que possible (y compris mesosphere-on-1.0.0), avec un retour à 36 bits lorsqu'il n'est pas disponible.

  • Le support a été ajouté à un certain nombre de composants pour fonctionner sur du matériel Mariko.
    • Le module du système de démarrage peut maintenant être exécuté en toute sécurité sur le matériel mariko, en effectuant une initialisation matérielle correcte.

    • Daybreak (et généralement, la logique de mise à jour du système) ont été mis à jour pour être utilisables sur Mariko.

    • La logique de protection / gestion Boot0 a été mise à jour pour effectuer les actions correctes sur Mariko.

    • Le redémarrage vers le payload ne fonctionne pas et ne peut pas fonctionner sur Mariko. En conséquence, un gestionnaire "d'erreurs fatales" a été écrit, pour afficher et enregistrer les erreurs fatales depuis TrustZone.

    • Remarque: Atmosphere n'est toujours pas correctement utilisable sur le matériel Mariko.
      • En particulier, la sortie de mise en veille ne fonctionnera pas correctement (les nombres magiques ne sont pas définis correctement), parmi quelques autres problèmes mineurs.

  • Exosphère a reçu un support pour la construction sous la configuration de débogage.
    • Une petite partie (autrement inutilisée) d'IRAM est maintenant réservée au code d'exosphère de débogage uniquement (cette région est inutilisée / intacte sous la configuration de la version).

    • Cela permet la journalisation (y compris printf) à partir du moniteur sécurisé, pour les personnes intéressées.

  • Un certain nombre de bogues ont été corrigés, notamment:
    • Des problèmes mineurs dans un certain nombre de codes liés au système de fichiers ont été corrigés.

    • Un problème a été résolu qui pouvait entraîner l'annulation de NCM sur les consoles fournies avec 3.0.x et qui n'étaient jamais mises à jour.

  • Plusieurs problèmes ont été résolus, et la convivialité et la stabilité ont été améliorées.


Version 0.15.0
  • L'affichage panique de fusee-primary a été mis à jour pour identifier automatiquement et donner des suggestions pour résoudre la plupart des erreurs les plus courantes rencontrées par les utilisateurs

  • Ayant été testé aussi bien que je peux seul, la mésosphère (la réimplémentation par l'atmosphère du noyau Nintendo Switch) est désormais disponible pour les utilisateurs intéressés à l'essayer
    • À partir de cette version et jusqu'à ce qu'elle soit stable et bien testée, atmosphère distribuera deux archives
      • Les utilisateurs qui souhaitent s'inscrire à la mésosphère doivent télécharger et extraire le zip "cool kids" ("atmosphère-EXPERIMENTAL-")

      • Les utilisateurs qui ne souhaitent pas utiliser la mésosphère doivent continuer à utiliser le zip normal ("atmosphère-")

    • Les utilisateurs peuvent détecter si la mésosphère est active dans les paramètres du système
      • Lorsque la mésosphère est active, la chaîne de version du système affichera "M.15.0" au lieu de "0.15.0", et ainsi de suite pour les versions futures

      • Les rapports de plantage et autres contiendront également des informations sur l'utilisation ou non de la mésosphère

    • Il n'y a "probablement" aucun avantage matériel pour l'utilisateur à utiliser la mésosphère pour le moment
      • Les développeurs peuvent être intéressés par le fait que la mésosphère fournit de nombreuses API SVC plus récentes, même avec des versions de firmware inférieures

      • Le principal avantage de l'utilisation de la mésosphère est que tous les problèmes que vous pourriez rencontrer et me signaler seront résolus
        • Tous les utilisateurs qui choisissent d'utiliser la mésosphère ont ma plus profonde gratitude

    • Remarque: si vous utilisez hekate au lieu de fusee-primary, vous devrez attendre la prochaine version de hekate pour que mesosphere fonctionne, car le support de hekate n'a pas encore été inclus dans une version officielle
      • Cela sera mis à jour dans les notes de publication lorsque hekate fournira une nouvelle version

    • Comme mentionné dans les notes de version précédentes, lorsque la mésosphère est stable et bien testée, elle sera activée par défaut et la version d'Atmosphère passera à 1.0.0

  • Après avoir été suffisamment testée au cours du dernier semestre, l'implémentation NCM d'Atmosphere est désormais opt-out, plutôt que opt-in.
    • Dans le cas peu probable où des problèmes surviendraient, veuillez les signaler à @SciresM.

    • Les utilisateurs intéressés à ne pas utiliser notre implémentation doivent définir stratosphère! Disable_ncm = 1 dans BCT.ini.

    • La mise en œuvre NCM cessera d'être opt-out dans une future mise à jour, probablement à peu près au moment où la mésosphère deviendra opt-out au lieu de opt-in

  • Plusieurs bogues ont été corrigés, notamment:
    • Loader définit désormais la priorité de thread de HBL sur une valeur plus élevée lors du chargement en mode applet.
      • Cela corrige un lancement extrêmement lent ("blocage") lors de l'utilisation de l'applet-HBL avec certains jeux qui ne se suspendent pas lorsqu'ils sont inactifs (par exemple Super Mario Sunshine)

    • set.mitm met désormais en cache beaucoup plus la configuration de la langue de l'utilisateur
      • Cela réduit considérablement le décalage dans certains jeux qui utilisent mal l'API "nn :: oe :: GetDesiredLanguage ()"

    • Un bogue a été corrigé qui pouvait rendre erpt fatal lors du chargement d'un fichier de sauvegarde officiel contenant des pièces jointes de rapport d'erreur

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.14.4
  • Plusieurs bogues ont été corrigés concernant le sysmodule officiel jit ajouté dans 10.0.0
    • Une fuite de descripteur de processus a été corrigée lorsque les NRR JitPlugin étaient enregistrés avec le module système ro
      • Cela a empêché les processus utilisant jit de pouvoir quitter, provoquant un gel complet du système

    • L'extension sm atmosphère pour ne pas désinscrire les services lorsque la connexion du serveur est fermée a été désactivée dans le cas particulier pour jit: u
      • Cette extension est normalement souhaitable afin de permettre à plus de processus simultanés d'exister (car seules les connexions 0x40 sm peuvent être ouvertes simultanément), mais le sysmodule jit officiel repose sur le comportement

      • Cela provoquerait des plantages lors des tentatives de lancement d'un programme utilisant les services jit plus d'une fois par redémarrage

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.14.3
  • Prise en charge de HOS 10.2.0

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.14.2
  • Un bug a été corrigé qui pouvait provoquer un blocage lors de l'installation des services mitm
    • La correction de cela nécessitait un changement radical du comportement du client lors de l'installation d'un service mitm, et donc les sysmodules personnalisés qui utilisent mitm devront être recompilés pour fonctionner correctement

  • Un bug a été corrigé qui entraînait une réponse incorrecte des sysmodules d'ambiance lors de la réception de messages non valides

  • Un bogue a été corrigé qui entraînait un mauvais fonctionnement de la synchronisation fatale du redémarrage automatique

  • Le support a été ajouté à fusee pour le chargement de binaires pour la mésosphère, la réimplémentation par l'atmosphère du noyau Nintendo Switch
    • 0.14.2 n'inclut pas la mésosphère, mais ceux qui sont particulièrement intéressés peuvent construire et tester eux-mêmes la mésosphère

    • À l'avenir, pour permettre une période de test suffisante, les versions d'Atmosphère distribueront deux zips pendant un certain temps
      • Un zip utilisera la mésosphère, et l'autre non

      • Cela permettra aux utilisateurs intéressés d'accepter l'utilisation de la mésosphère avant qu'elle n'ait été testée pour être stable

    • Lorsque la mésosphère sera stable et bien testée, elle sera activée par défaut et la version d'Atmosphère passera à la version 1.0.0

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.14.1
  • Un problème a été résolu dans la version 0.14.0 qui provoquait un écran noir au démarrage lorsque la taille de l'INI1 n'était pas alignée sur 8 octets

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.14.0
  • Une API (ams: su) a été ajoutée pour permettre aux homebrew de s’installer en toute sécurité pour des mises à niveau ou des downgrade du système
    • Il s'agit d'une réimplémentation de la logique utilisée par ns pour installer les mises à jour du système de gamecard

    • Nintendo (et maintenant Atmosphère) utilise un processus d'installation qui peut récupérer peu importe où une panne se produit. Ce qui devrait considérablement améliorer la sécurité de l'installation de mises à jour système personnalisées

  • Le support a été ajouté à exosphère pour fonctionner sur du matériel Mariko
    • Remarque: Atmosphère ne prend toujours pas en charge Mariko et ne doit pas encore être exécuté sur Mariko
      • Certains composants de la stratosphère ne gèrent pas encore correctement la logique spécifique à Mariko et peuvent s'initialiser ou interagir avec le matériel de manière incorrecte

      • Ce problème sera corrigé et le support sera ajouté pendant le reste de l'été

  • Une application homebrew (daybreak) a été ajoutée qui utilise l'API de mise à jour du système (avec des remerciements à @Adubbz pour la conception et la mise en œuvre)
    • Daybreak est inclus avec Atmosphère et fonctionne comme un équivalent plus sûr / plus précis que ChoiDujourNX

    • Les mises à niveau / downgrade peuvent être installés à partir d'un dossier contenant les NCA de mise à jour sur la carte SD

    • Parce que la logique de mise à jour fonctionne de manière identique à celle de Nintendo, Daybreak pourra être utilisé en toute sécurité sur Mariko lorsque le reste d’Atmosphère sera pris en charge

    • Remarque: Daybreak exige que les NCA méta (.cnmt) aient l'extension correcte .cnmt.nca
      • En effet, la logique de mise à jour du système de carte de jeu utilise l'extension pour déterminer s'il faut monter le contenu

      • Plusieurs scripts ont été créés par les membres de la communauté pour renommer automatiquement les dossiers avec des extensions incorrectes

  • Un bogue a été corrigé qui provoquait une erreur emummc basée sur un fichier (montrant un hexdump) au démarrage
    • Un grand merci à @hexkyz pour avoir retrouvé et résolu ce problème

  • Un certain nombre de problèmes mineurs ont été résolus, notamment:
    • fusee imprime désormais des informations à l'écran lorsqu'une erreur se produit, au lieu de rester bloqué en essayant d'initialiser l'affichage

    • Une condition de course dans Horizon a été contournée qui pourrait empêcher le démarrage dans certaines circonstances

    • Un bogue a été corrigé qui obligeait les modules Atmosphère à ouvrir dix copies de certains systèmes de fichiers au lieu d'une
      • Cela pourrait entraîner l'épuisement des objets dans certaines circonstances

  • Pour les personnes intéressées par les futurs plans de développement d'Atmosphère, la feuille de route du projet a été mise à jour

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.13.0
  • exosphère, la réimplémentation du moniteur sécurisé d'atmosphère, a été entièrement réécrite
    • exosphère a été le premier volet rédigé pour le projet début 2018. Il est écrit en C, et dans un style très différent du reste du code d'atmosphère
      • Cela a rendu la base de code difficile à maintenir au fil du temps

    • exosphère a également été écrit pour se conformer à des contraintes et à des hypothèses qui ne s'appliquent tout simplement plus lorsque cfw n'est pas lancé à partir du navigateur Web et lorsque warmboothax est possible

    • Au-delà de ces problèmes, l'exosphère a utilisé tout sauf 1 Ko des 64 Ko d'espace dont elle disposait. C'était un problème pour plusieurs raisons:
      • Chaque nouvelle mise à jour du système ajoutée nécessite un espace supplémentaire pour la prise en charge (pour ajouter de nouvelles clés et refléter diverses modifications); Le support 10.0.0 a utilisé 3 des 4 Ko restants

      • atmosphère voudra avoir un support logiciel pour le matériel mariko, et ce n'est pas possible de tenir dans 1 Ko

    • La réécriture de l'exosphère (dont le nom de code était exosphère2 pendant le développement) résout ces problèmes

    • La nouvelle base de code est C ++ 20 écrite dans le style de l'atmosphère
        Cela résout le problème de maintenabilité et devrait faciliter la compréhension du fonctionnement du moniteur sécurisé pour ceux qui souhaitent utiliser le code comme implémentation de référence

    • De plus, la nouvelle implémentation utilise actuellement environ 59,5 des 64 Ko disponibles
      • Plusieurs modifications de code potentielles sont prévues qui peuvent enregistrer / accorder l'accès à ~ 2-3 Ko supplémentaires si nécessaire
        • Contrairement à la première base de code, la nouvelle exosphère dispose en fait déjà d'espace pour les futures clés / etc. Il est actuellement prévu que l'espace réservé ne sera jamais nécessaire

      • La mise en œuvre précédente avait choisi de ne pas implémenter un certain nombre de fonctions de moniteur sécurisé "sans importance" en raison de problèmes d'espace. Le nouveau code a suffisamment de marge de manœuvre pour pouvoir les implémenter sans soucis

    • Enfin, les bases du support de mariko ont été jetées - il n'y a que quelques changements mineurs nécessaires pour que la nouvelle implémentation du moniteur sécurisé fonctionne sur le matériel erista et mariko
      • Remarque: l'exosphère n'est qu'un des nombreux composants, et beaucoup d'autres ont besoin de modifications pour prendre en charge le fonctionnement sur le matériel mariko
        • La prise en charge côté logiciel de l'exécution sur le matériel mariko est attendue au cours de l'été 2020, mais il convient également de noter qu'il ne s'agit pas d'une échéance stricte
      • Remarque: le nouveau binaire exosphère n'est pas compatible abi avec l'ancien. Les utilisateurs qui démarrent à l'aide de hekate doivent effectuer une mise à niveau vers hekate v5.3.0 avant d'exécuter la version 0.13.0 (ou démarrer fusee-primary via hekate)

    • L'API d'Atmosphère pour le firmware cible a été modifié. Toutes les versions mineures / micro du système sont désormais reconnues, au lieu des seules versions majeures
      • Cela était nécessaire pour prendre en charge la version 5.1.0 du micrologiciel, qui a apporté des modifications de rupture à certaines API IPC qui ont entraîné l'arrêt d'Atmosphère 0.12.0

      • Remarque: il s'agit (inévitablement) d'un changement de rupture. Les modules système utilisant les bibliothèques d'atmosphère devront être mis à jour pour comprendre la version du micrologiciel qu'ils exécutent

    • emummc a été mis à jour pour inclure les nouvelles modifications
      • emummc utilise désormais un pilote SDMMC mis à jour / amélioré / plus rapide

      • Emummc basé sur des fichiers est maintenant presque aussi rapide que emummc basé sur des partitions brutes

    • Pour ceux qui s'intéressent aux futurs plans de développement d'atmosphère, la feuille de route du projet a été mise à jour

    • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.12.0
  • La configuration de l'exosphère a été déplacée vers sd: /exosphere.ini
    • Ceci pour faciliter les modifications de protection BIS décrites ci-dessous.

    • Espérons que ce fait en dehors du dossier Atmosphère empêchera la suppression accidentelle, car il contient maintenant des paramètres importants

  • La politique de protection bis d'Atmosphere pour la partition PRODINFO a été considérablement remaniée
    • Un support a été ajouté pour effectuer "automatiquement" une opération de "suppression" dans PRODINFO sans réellement modifier la NAND
      • Cela équivaut à utiliser l'outil homebrew "incognito", mais la NAND n'est jamais réellement modifiée

      • Cela peut être activé dans sysmmc en définissant blank_prodinfo_sysmmc = 1 dans exosphere.ini, et dans emummc en définissant blank_prodinfo_emummc = 1 dans exosphere.ini.

      • Veuillez noter: Ce n'est pas connu pour être sûr. Il y a un manque de recherche pour savoir si les informations supprimées sont mises en cache ailleurs dans le système
        • L'utilisation de cette option n'est pas encouragée pour cette raison

    • La prise en charge de l'écriture sur la partition PRODINFO a été ajoutée, si une sauvegarde chiffrée vérifiée a été effectuée
      • PRODINFO sont les seules données système qui ne peuvent pas être récupérées si elles ne sont pas sauvegardées, et donc Atmosphere les a sauvegardées sur la carte SD au démarrage depuis un certain temps maintenant

      • Les utilisateurs qui souhaitent modifier leurs données d'étalonnage peuvent désormais le faire sans condition dans emummc et dans sysmmc si allow_writing_to_cal_sysmmc = 1 est défini dans exosphere.ini
        • Remarque: ceci est fortement déconseillé et l'utilisateur type ne voudra presque jamais le faire

        • Si vous définissez cette option, Atmosphere tentera de vérifier (ou de créer) une sauvegarde chiffrée des données PRODINFO dans une région inutilisée de la partition
          • La sauvegarde est chiffrée avec des clés par console que les développeurs d'Atmosphere ne connaissent pas

        • Si la sauvegarde n'est pas vérifiée ou créée, les écritures ne fonctionneront pas. Les utilisateurs qui ont corrompu leur PRODINFO dans le passé sont encouragés à flasher une bonne sauvegarde pour permettre l'utilisation de ce paramètre

        • Les lectures et écritures dans la région utilisée pour la sauvegarde cryptée en toute sécurité sembleront réussir, mais seront en fait en lecture / écriture à partir d'un tampon rempli de déchets en mémoire

    • La prise en charge sera étudiée à l'avenir pour prendre en charge le démarrage avec un étalonnage entièrement vierge
      • Ceci est souhaitable pour permettre au démarrage de réussir pour les utilisateurs qui ont perdu leurs données d'étalonnage en raison du brick homebrew avant la mise en œuvre de la protection bis

  • Creport a été mis à jour pour utiliser les nouvelles API de capture d'écran ajoutées dans 9.0.0+
    • Sur 10.0.0+, si un crash se produit dans une application (pas d'applet ou de sysmodule), une capture d'écran sera désormais automatiquement enregistrée sur la carte SD

    • Si l'utilisateur applique un correctif à vi sur 9.0.0 (comme la commande qu'il utilise était auparavant uniquement pour les unités de développement), cela peut également fonctionner sur 9.0.0

  • Le nouveau sysmodule pgl ajouté dans 10.0.0 a été réimplémenté
    • pgl ("Program Launcher", probablement) est responsable de la gestion des processus utilisateur lancés, auparavant cela était géré par NS.

    • La chose la plus excitante à propos de pgl est qu'elle fournit enfin une API permettant à plusieurs clients de s'abonner aux événements de processus

    • En utilisant ces nouvelles API, les modules système / autres homebrew peuvent s'abonner pour être notifiés chaque fois qu'un événement de processus se produit
      • Cela signifie que des mesures peuvent être prises au lancement du processus, à la sortie du processus, au crash du processus, etc

    • Une légère préoccupation avec l'implémentation de Nintendo est que chaque objet abonné utilise 0x448 octets de mémoire, et N ne réserve que 8 Ko pour toutes les allocations en pgl

    • L'implémentation d'Atmosphere utilise un tas de 32 Ko, qui ne devrait pas être épuisable

    • L'implémentation d'Atmosphere a une empreinte mémoire totale d'environ 0x28000 octets plus petite que celle de Nintendo

  • Une réimplémentation a été ajoutée pour le module système jpegdec (merci @HookedBehemoth)!
    • Cela permet deux sessions au lieu d'une, donc l'homebrew peut désormais l'utiliser pour le décodage jpeg logiciel en plus du système d'exploitation lui-même

    • Comme d'habitude, l'implémentation a une empreinte mémoire très légèrement plus petite que celle de Nintendo

  • Cheat VM de dmnt a été étendu pour ajouter trois nouveaux opcodes
    • Le premier nouvel opcode, "ReadWriteStaticRegister", permet aux tricheurs de lire à partir d'une banque de 128 registres statiques en lecture seule, et d'écrire dans une banque de 128 registres statiques en écriture seule
      • Cela peut être utilisé de concert avec les nouvelles commandes IPC qui permettent à un gestionnaire de triche de lire ou d'écrire la valeur de ces registres statiques pour avoir des tricheurs "dynamiques"
        • Par exemple, un gestionnaire de triche pourrait écrire une valeur dans un registre statique qui triche pour contrôler la quantité d'un élément à donner dans un jeu

        • Comme autre exemple, un gestionnaire de triche pourrait lire un registre statique dans lequel un cheat écrit pour savoir combien d'éléments un joueur possède

  • Les deuxième et troisième opcodes sont une paire, "PauseProcess" et "ResumeProcess"
    • L'exécution du processus de pause dans un cheat mettra le jeu en pause (il sera gelé) jusqu'à ce qu'un opcode de processus de reprise soit utilisé
      • Ceux-ci sont également disponibles sur IPC, pour les gestionnaires de triche ou les modules système qui souhaitent interrompre ou reprendre le processus de triche attaché

    • Cela permet à un tricheur de savoir que le jeu ne modifiera pas ou n'accédera pas aux données auxquelles le tricheur accède
      • Par exemple, cela peut être utilisé pour empêcher Pokemon de voir un pokemon qu'un tricheur est en train d'injecter et de le transformer en un mauvais œuf

  • Un bogue a été corrigé qui entraînerait un plantage de la console lorsqu'elle était connectée au Wi-Fi sur les versions comprises entre 3.0.0 et 4.1.0 inclus

  • Un bogue a été corrigé qui pouvait entraîner un échec de démarrage sporadique en raison d'une mauvaise gestion du cache / tlb lors de l'exécution de l'ASLR physique du noyau

  • Un certain nombre d'autres problèmes mineurs ont été résolus (et davantage d'Atmosphere a été mis à jour pour refléter d'autres changements dans 10.0.x)

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version v0.11.1
  • Un bug a été corrigé qui pouvait être gênant dans certaines circonstances.
    • Pour ceux qui s'intéressent aux détails techniques, dans la version 10.0.0 kernelldr/kernel, le paramètre cpuactlr_el1 n'est plus défini, en supposant qu'il a été correctement défini par le moniteur sécurisé.

    • Cependant, Exosphere n'a pas défini cpuactlr_el1. Cela signifie que le registre gardait la valeur de réinitialisation au démarrage.

    • Cela a causé une variété de symptômes très erratiques, y compris le fait que n'importe quel jeu se bloque de manière apparemment aléatoire

  • Un certain nombre d'autres inexactitudes majeures dans Exosphère ont été corrigées


Version v0.11.0
  • Le support a été ajouté pour 10.0.0
    • Exosphere a été mis à jour pour refléter la nouvelle sémantique d'importation des clés dans 10.0.0

    • kernel_ldr implémente désormais l'ASLR physique pour les pages de support du noyau

    • Loader, NCM et PM ont été mis à jour pour refléter les modifications apportées par Nintendo dans la version 10.0.0

    • Creport a été mis à jour pour utiliser le nouveau service pgl pour terminer les processus au lieu de ns: dev

  • Une réimplémentation du module système erpt (rapports d'erreurs) a été ajoutée
    • Dans les versions précédentes d'Atmosphere, la majorité des rapports d'erreurs étaient évités via une combinaison de créport personnalisé, d'eclct fatal et tronqué

    • Cependant, des rapports d'erreur étaient toujours générés via certaines actions du système
      • Plus particulièrement, chaque fois que l'applet d'erreur est apparue, un rapport d'erreur a été généré

      • Par défaut, l'atmosphere a désactivé le téléchargement des rapports d'erreurs, mais la mise en ligne dans OFW après qu'un rapport d'erreurs s'est produit dans l'atmosphère peut entraîner une télémétrie indésirable

    • La réimplémentation éclatée de l'atmosphère permet au système d'interagir avec les rapports d'erreurs existants comme prévu

    • Cependant, tous les nouveaux rapports d'erreur sont enregistrés à la place sur la carte SD (/ atmosphere / erpt_reports) et ne sont pas validés dans la sauvegarde du système
      • Les utilisateurs curieux de savoir quel type de télémétrie est empêché peuvent afficher les rapports tels qu'ils sont générés

      • Les rapports sont enregistrés en tant que msgpack (car c'est ce que Nintendo utilise)

    • Veuillez noter que toutes les données de télémétrie ne sont pas désactivées. Les rapports de lecture et les rapports système continueront de fonctionner sans modification

    • Avec l'implémentation d'ambiance, homebrew peut désormais utiliser l'applet d'erreur natif pour afficher les erreurs sans se soucier de générer une télémétrie indésirable

  • libstratosphere et libvapours ont reçu un certain nombre d'améliorations
    • Grâce à @Adubbz pour son travail, l'espace de noms NCM dispose désormais d'un code client
      • Cela jette les bases d'une mise à jour / rétrogradation de premier ordre du système homebrew dans un avenir proche.

    • En particulier, le code implémentant l'espace de noms os est beaucoup plus précis

    • De plus, les allocateurs de Nintendo ont été implémentés, permettant une efficacité de mémoire identique à celle des implémentations de Nintendo

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.10.5
  • Des modifications ont été apportées sur la manière dont fs.mitm crée des images lors de la fourniture d'un romfs en couches
    • La création de métadonnées romfs avait auparavant un coût de mémoire d'environ 4 à 5 fois la taille de la table de fichiers

    • Cela a causé des jeux qui ont des tables de métadonnées de fichiers particulièrement énormes (> 4 Mo) pour épuiser le pool de mémoire de 16 Mo de fs.mitm

    • Le code qui crée les images romfs a donc été modifié pour être encore plus efficace en mémoire

    • La mémoire requise est passée de ~ 4x la taille de la table de fichiers à ~ 2x la taille de la table de fichiers + 0,5 Mo

    • Il y a une légère pénalité de vitesse, mais les tests sur Football Manager 2020 n'ont pris que 1,5 seconde supplémentaire pour que le jeu démarre avec de nombreux fichiers modifiés
      • Cela ne devrait pas être perceptible grâce aux modifications asynchrones apportées dans 0.10.2

    • Si vous rencontrez un jeu qui épuise la mémoire d'ams.mitm (le plante) lors du chargement des mods layeredfs, veuillez contacter SciresM
      • La construction de romfs peut être rendue encore plus efficace en mémoire, mais à moins que les jeux ne se présentent avec des tables de fichiers encore plus absurdes, cela ne semble pas valoir le compromis de vitesse

  • Un bug a été corrigé qui empêchait le contexte d'erreur fatale d'Atmosphere de vider TLS pour certains processus

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.10.4
  • Avec un grand merci à @Adubbz pour son travail, le module système NCM a maintenant été réimplémenté
    • Il s'agissait d'un tremplin majeur vers l'objectif d'avoir toutes les implémentations dans le firmware package1 / package2 de la Switch

    • Cela jette également les bases de la libstratosphère fournissant des liaisons pour changer la version installée du système d'exploitation de la console

    • Remarque: l'implémentation NCM sera initialement opt-in
      • L'équipe Atmosphere est confiante dans notre implémentation NCM (et nous l'avons testée sur chaque version de firmware)

      • Cela dit, il s'agit de notre premier module système qui gère les sauvegardes NAND - et la prudence est une habitude

      • Nous ne prévoyons pas de problèmes qui ne sont pas apparus lors des tests, c'est pourquoi nous sommes particulièrement prudents

      • Les utilisateurs intéressés à choisir d'utiliser notre implémentation doivent définir stratosphere! Ncm_enabled = 1 dans BCT.ini
        • Dans le cas peu probable où des problèmes seraient rencontrés, veuillez les signaler à @SciresM

      • La mise en œuvre de NCM cessera d'être opt-in dans une future mise à jour, après que des tests approfondis auront été effectués dans la pratique

    • Un bug a été corrigé dans emummc qui entraînait la corruption du chemin Nintendo sur 1.0.0
      • Cela s'est manifesté par la création du dossier emummc à l'intérieur de la NAND virtuelle au lieu de la carte SD

      • Il est peu probable qu'il y ait des conséquences négatives à cela dans la pratique

      • Si vous voulez être vraiment sûr, vous pouvez re-cloner sysmmc avant de mettre à jour un emummc 1.0.0 vers le dernier firmware

  • Les modules du système Stratosphere utilisent désormais de nouvelles fixations FS de style Nintendo au lieu de stdio
    • Cela permet d'économiser une quantité modeste de mémoire en raison d'un code plus léger et augmente considérablement la précision de plusieurs composants

    • Ces liaisons faciliteront l'interaction des autres modules du système utilisant libstratosphere avec le système de fichiers

    • Cela jette également les bases des modifications nécessaires pour prendre en charge les dossiers d'atmosphère per-emummc dans une future mise à jour

  • Le contexte d'erreur fatale de l'atmosphère vide désormais 0x100 de TLS
    • Cela facilitera beaucoup la correction des bogues lorsqu'un rapport d'erreur est sauvegardé pour la cause du crash

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.10.3
  • Le support a été ajouté pour 9.2.0

  • Un support a été ajouté pour rediriger le contenu html manuel pour les jeux
    • Cela fonctionne comme des couches normales, en remplaçant le contenu placé dans /atmosphere/contents/<id programme>/manual_html/

    • Cela permet aux mods/traductions du jeu de fournir un contenu manuel personnalisé, s'ils le souhaitent

  • Un certain nombre d'améliorations ont été apportées à l'utilisation de la mémoire d'Atmosphere, notamment:
    • fatal utilise désormais STB au lieu de freetype pour le rendu
      • Cela économise environ 1 Mo de mémoire et rend notre fatal beaucoup plus léger que celui de Nintendo

    • sm ne gaspille plus 2 Mo inutilement

  • L'accès sdmmc de fusee/sept correspond désormais mieux au comportement officiel.
    • Cela améliore la compatibilité avec certaines cartes SD

  • ro a été mis à jour pour refléter les modifications apportées dans 9.1.0

  • L'auto-migration temporaire ajoutée dans 0.10.0 a été supprimée, car la période de transition est bien terminée

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.10.2
  • La configuration hbl a été rendue plus flexible
    • Jusqu'à huit identifiants de programme spécifiques peuvent désormais être spécifiés pour avoir leurs propres clés de priorité

    • Cela permet de désigner l'applet d'album et un jeu spécifique comme hbl par défaut comme vous le souhaitez

    • La configuration ciblant un programme spécifique est désormais mutuellement exclusive avec override-any-app pour ce programme
      • Cela corrige le comportement peu intuitif lorsque la clé de remplacement différait pour un programme spécifique à l'application

  • La prise en charge du système de fichiers de contenu externe du chargeur a été corrigée (merci @misson20000!)

  • KernelLdr a été réimplémenté
    • Il s'agit de la première étape vers le développement de la mésosphère, la réimplémentation planifiée du noyau du commutateur par Atmosphere

    • L'utilisateur typique ne remarquera rien de différent, car il n'y a pas d'extensions, mais beaucoup de travaux préparatoires ont été posés pour le développement futur

  • Des améliorations ont été apportées sur la façon dont le système de construction d'Atmosphere détecte les fichiers de code source
    • Cela réduit considérablement le temps de compilation (économie> 30 secondes) sur la machine qui construit les versions officielles

  • Certains codes d'appareil ont été nettoyés et rendus plus corrects dans fusee / sept / exosphere (merci @hexkyz!)

  • Un certain nombre de modifications ont été apporté à la façon dont fs.mitm crée des images lors de la fourniture d'un romfs en couches
    • Certains jeux (Resident Evil 6, Football Manager 2020 Touch, peut-être d'autres) contiennent un nombre énorme de fichiers

    • Tenter de créer un mod layeredfs pour ces jeux a provoqué un manque de mémoire de fs.mitm, provoquant une erreur fatale

    • Le code qui crée ces images a été modifié pour être beaucoup plus efficace en mémoire

    • Cependant, ces changements entraînent également un ralentissement significatif du code de construction romfs (~ 2-5x)

    • Cela a introduit un bégaiement notable lors du lancement d'un jeu, car le fil d'interface se bloquerait sur la création des romfs

    • Pour résoudre ce problème, fs.mitm initialise maintenant paresseusement l'image dans un thread d'arrière-plan

    • Cela corrige les problèmes de bégaiement, mais certains jeux peuvent être légèrement plus lents (~ 1-2 secondes dans les pires cas) pour passer du GIF de "chargement" au gameplay maintenant
      • Veuillez noter: le ralentissement n'est pas perceptible dans le cas commun où les jeux n'ont pas des tonnes de fichiers (typiquement ~ 0,1-0,2 secondes)

      • Une fois l'image construite, il n'y a plus de pénalité de vitesse au moment de l'exécution - uniquement lorsque le jeu est lancé

  • Un certain nombre d'autres bogues ont été corrigés, notamment:
    • Plusieurs inversions logiques mineures qui auraient pu provoquer des erreurs fatales lors de la modification des jeux

    • Le code new-ipc d'Atmosphere ne gérait pas correctement les tampons de recvlist "automatiques", donc certains homebrew non libnx pouvaient planter

    • fs.mitm atténue désormais correctement sdb, ce qui fait fonctionner à nouveau la redirection de certaines archives de données système
      • Dans 0.10.0 / 0.10.1, la modification de la police / langue du système ne fonctionnait pas correctement à cause de cela

    • Un bogue a été corrigé dans le nettoyage du processus, ce qui a entraîné le blocage du système sur <5.0.0

  • Le cache temporaire ajouté dans Atmosphere 0.9.0 a été désactivé par défaut
    • Veuillez vous assurer que votre homebrew est mis à jour

    • Pour l'instant, les utilisateurs peuvent réactiver ce mitm en utilisant un paramètre personnalisé (atmosphere! Enable_deprecated_hid_mitm) pour faciliter le processus de transition
      • Comme d'habitude, modifiez la section atmosphère de /atmosphere/config/system_settings.ini si vous le souhaitez

    • Remarque: la prise en charge de ce paramètre peut être supprimée pour économiser de la mémoire dans une future version d'ambiance

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.10.1
  • Un bogue a été corrigé qui provoquait un mauvais fonctionnement de la réallocation de mémoire au pool système sur le firmware 5.0.0 et supérieur
    • Atmosphere essayait toujours de désallouer la mémoire loin du pool d'applets et vers le pool système
      • L'objectif est de faciliter l'exécution de binaires sysmodules / atmosphère plus personnalisés

    • Cependant, bien que la mémoire ait toujours été retirée avec succès du pool d'applets, sur 5.0.0+, son octroi au pool système n'a pas fonctionné pour des raisons techniques
      • Si vous êtes intéressés par les détails techniques, contactez SciresM

    • Cela a maintenant été corrigé en ajoutant de nouveaux correctifs du noyau, et la mémoire est correctement allouée au pool système comme prévu

  • Le système de bibliothèques d'Atmosphere a été remanié:
    • Le référentiel de libstratosphere a été renommé, plus généralement, en "Atmosphere-libs"
      • En plus de la libstratosphère, une nouvelle bibliothèque générale pour le code non spécifique à la stratosphère a été ajoutée
        • Il s'agit actuellement de libvapours

      • À l'avenir, la fonctionnalité du noyau sera disponible sous forme de libmesosphere

    • Le système de construction pour les modules du système stratosphérique a également été révisé

  • Le module du système de démarrage est maintenant chargé dans la mémoire non sécurisée
    • Cela aide quelque peu à empêcher la fragmentation du segment de mémoire système

  • Un certain nombre d'autres bogues ont été corrigés, notamment:
    • Un bogue a été corrigé qui pouvait endommager la mémoire lors de la redirection de certains contenus Romfs

    • Un bug a été corrigé qui pouvait provoquer une boucle infinie lors de la redirection de certains contenus Romfs

    • Un bogue a été corrigé qui pouvait entraîner l'échec du chargement de certains NRO
      • Cela a provoqué l'affichage de la dernière version de Super Smash Bros "Une erreur s'est produite" au lancement

    • Un bogue a été corrigé qui entraînait un calcul incorrect de la taille des tableaux d'entrée / sortie dans certaines circonstances
      • Cela a causé des cheats à ne pas fonctionner correctement

    • Le code d'exception C ++ est désormais plus complètement supprimé des exécutables de la stratosphère
      • Cela économise une petite quantité de mémoire

    • Un certain nombre d'inversions logiques mineures ont été fixées dans la libstratosphère
      • Ceux-ci n'ont affecté aucun code actuellement utilisé par les binaires Atmosphere publiés

  • Remarque: étant donné que cette mise à jour sort si tôt après la version 0.10.0, la suppression du cache temporaire a été reportée à la version 0.10.2
    • Veuillez vous assurer que votre homebrew est mis à jour

  • La génération de nombres aléatoires utilise désormais TinyMT au lieu de XorShift

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.10.0
  • Le support de la version 9.1.0 a été ajouté
    • Veuillez noter que le support Hid-mitm a été temporairement ajouté dans Atmosphere 0.9.x et sera supprimé dans Atmosphere 0.10.1

  • La réécriture de Stratosphère est terminée

  • Le code responsable de la prestation et de la gestion des services IPC a été grandement amélioré

  • Le nouveau code est beaucoup plus précis (il est compatible avec le code de Nintendo), et est beaucoup plus rapide

  • ams.mitm a été réécrit dans le cadre de la réécriture de Stratosphere

  • Les sauvegardes redirigées vers la carte SD sont maintenant séparées pour sysmmc vs emummc

  • Grâce à la réécriture, Atmosphere utilise désormais beaucoup moins de mémoire

  • Environ 10 mégaoctets supplémentaires sont maintenant disponibles pour l'utilisation de modules système personnalisés, cela signifie que vous pouvez potentiellement exécuter plus de modules système personnalisés simultanément

  • La configuration d’atmosphère a subi des changements majeurs

  • La configuration est maintenant dans /atmosphere/config/

  • Le code d'Atmosphere sait maintenant ce que devraient être les valeurs par défaut, et les inclut dans le code
    • Ce n'est plus une erreur si les entrées de configuration ne sont pas présentes

    • En conséquence, Atmosphere ne distribue plus l'inis de configuration par défaut

    • Les modèles sont fournis dans /atmosphere/config_templates.
      loader.ini a été renommé en remplaçant_config.ini

    • Ceci corrige le problème de longue date que les mises à jour d'atmosphère écrasent la configuration de l'utilisateur lors de l'extraction

  • La disposition de la commande de l'atmosphère a été modifiée.

  • Atmosphere utilise maintenant le répertoire /atmosphere/contents, au lieu de /atmosphere/titles.
    • Ceci suit un remaniement pour supprimer toute référence à "title id" du code, Nintendo n'utilisant pas ce terme

    • Pour faciliter cette transition, une fonctionnalité temporaire a été ajoutée qui migre les dossiers vers le nouveau répertoire

    • Lorsque vous démarrez en 0.10.0, Atmosphere renomme /atmosphere/titles/<program id> en /atmosphere/contents/<program id>

    • Cette fonctionnalité peut ou non être supprimée lors d'une mise à jour ultérieure

  • La prise en charge de la configuration des touches pour hbl a été améliorée

  • La clé utilisée pour outrepasser les applications par rapport à un programme spécifique peut maintenant être différente

  • La clé pour écraser un programme spécifique peut être gérée via override_key

  • La clé pour remplacer n'importe quelle application peut être gérée via override_any_any_app_key

  • Le comportement d'annulation par défaut a été modifié. En effet, par défaut, l'atmosphère remplacera maintenant l'applet album avec hbl à moins que R ne soit maintenu

  • Par défaut, l'atmosphère remplacera désormais toute application avec hbl uniquement si R est maintenu enfoncé

  • La quantité par défaut de mémoire d'applet réservée a été légèrement augmentée
    • Ceci permet à l'applet de fonctionner par défaut en mode applet

  • La façon dont l'état de priorité du processus est saisi a été modifiée

  • Les clés d'annulation de processus sont maintenant capturées exactement une seule fois, lorsque le processus est créé

  • Cela résout le problème où le fait de lâcher le bouton de contournement à mi-chemin dans le lancement du processus pourrait causer des problèmes

  • L'API Mitm a été modifiée pour passer le statut de priorité.Les services de Mitm savent maintenant quelles clés étaient détenues lorsque le client a été créé et si le client est HBL/devrait remplacer le contenu

  • Une extension a été ajoutée à pm:info pour permettre l'interrogation de l'état de remplacement d'un processus

  • Grâce à l'amélioration de la capture d'annulation de processus, le comportement html de hbl a été grandement amélioré

  • Les applets Web lancées par hbl verront désormais toujours le système de fichiers /atmosphere/hbl_html

  • Un support a été ajouté à l'exosphère pour permettre l'accès en mode utilisateur aux registres PMU InterLife
    • Ceci peut être contrôlé via exosphere!enable_user_pmu_access dans BCT.ini

  • Un nombre énorme de bugs mineurs ont été corrigés.

  • Un problème a été corrigé dans la gestion par fs.mitm des ID d'objet de domaine qui pouvait conduire à la corruption du système dans de rares cas.

  • L'API Mitm n'échoue plus silencieusement lorsqu'elle tente de gérer les commandes qui passent les descripteurs C


Version 0.9.4
  • Un support a été ajouté pour 9.0.0
    • Remarque: 9.0.0 a apporté un certain nombre de modifications susceptibles de poser problème avec l'homebrew.
    • Détails: 9.0.0 a changé HID d’une manière qui empêche libnx de détecter les entrées de boutons
      • Homebrew devrait être recompilé avec la dernière version de libnx pour résoudre ce problème

      • Atmosphere fournit maintenant un cachet temporaire qui permettra à l’homebrew de continuer à fonctionner comme prévu.
        • Cette mitm sera supprimée lors d'une prochaine révision de l'atmosphère une fois l'homebrew mis à jour, afin de permettre aux utilisateurs d'utiliser à nouveau une mith cachée s'ils le souhaitent

    • 9.0.0 a introduit une dépendance dans FS sur le module système USB afin de lancer la carte SD
      • Cela signifie que le module système USB doit maintenant être lancé avant que la carte SD ne soit initialisée

      • De même, le module système USB ne peut plus être corrigé IPS et ses paramètres ne peuvent pas être modifiés de manière fiable

      • Nous savons que cela est frustrant, nous allons donc examiner s'il existe un moyen de résoudre ce problème à l'avenir

    • Remarque: 9.0.0 a mis à jour le micrologiciel du contrôleur de jeu ("lotus") du commutateur
      • Pour éviter de brûler les fusibles de lotus, Atmosphere applique désormais des correctifs nogc lors du démarrage en version 9.0.0 avec des fusibles inférieurs à celle-ci

      • Si vous souhaitez jouer à des jeux de hasard sur la version 9.0.0 (mais vous empêchez toujours de les jouer sur la version <9.0.0), définissez nogc = 0 dans BCT.ini

  • Une erreur off-by-one a été corrigée lors de l'initialisation pinmux du module de système d'amorçage
    • Cela aurait pu théoriquement poser des problèmes de communication HdmiCec

    • Aucun utilisateur n'a signalé de problèmes. Il est donc difficile de dire s'il s'agissait d'un problème concret

  • Un bogue a été corrigé qui pouvait empêcher la liste blanche d’URL accessible d’être lancée par homebrew lors du lancement de l’application Web

  • La génération de clé BIS a été corrigée pour le nouveau matériel
    • Le matériel plus récent utilise une nouvelle clé de périphérique par micrologiciel pour générer des clés BIS au lieu de la première clé de périphérique

    • Par conséquent, les clés erronées étaient précédemment générées en tant que sauvegarde

    • Cela ne concerne que les unités fabriquées après ~ 5.0.0

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.9.3
  • Grâce à hexkyz, la séquence de démarrage de fusée a été grandement optimisée
    • L'entraînement de la mémoire est maintenant géré par un binaire séparé (fusee-mtc, chargé par fusee-primary avant fusee-secondary)

    • Des temps d'affichage d'écran de démarrage trop longs ont été réduits

    • Le résultat final est que Atmosphere démarre maintenant beaucoup plus rapidement

    • Remarque: Cela signifie que fusee-primary doit être mis à jour pour que Atmosphere démarre correctement

  • La chaîne de version a été ajustée et indique maintenant aux utilisateurs s'ils utilisent ou non emummc

  • Atmosphere sauvegarde maintenant automatiquement les clés BIS de l'utilisateur au démarrage
    • Cela devrait empêcher un utilisateur de corrompre le nand sans avoir accès à une copie des clés nécessaires pour le réparer
      • Ceci est particulièrement pertinent sur les unités ipatched, où la vulnérabilité de RCM n’est pas une option pour l’adressage de briques

  • Le module pm system a été réécrit dans le cadre de la refactorisation en cours de Stratosphere
    • Une assistance a été ajoutée pour la déclaration en aval d'un service mitm'd avant le lancement d'un utilisateur personnalisé sysmodule
      • Cela devrait aider à résoudre les problèmes de dépendance liés aux heures d’enregistrement du service

    • SM est maintenant informé de l'identifiant de titre de chaque processus, y compris des modules système intégrés

  • Le module du système creport a été réécrit dans le cadre de la refactorisation en cours de Stratosphere
    • Creport vide maintenant jusqu'à 0x100 de la pile de chaque thread du processus cible

    • Quelques bogues ont été corrigés, dont un qui a provoqué l’enregistrement incorrect par Creport des messages en fin de vie

  • Des valeurs par défaut ont été ajoutées à system_settings.ini pour contrôler l'utilisation de la mémoire de hbloader en mode applet
    • Ces valeurs par défaut réservent assez de mémoire pour que homebrew puisse lancer swkbd en mode applet

  • Le module fatal du système a été réécrit dans le cadre de la refactorisation en cours de Stratosphere
    • La sortie d'affichage incorrecte ("2000-0000") a été corrigée

    • Fatal affichera maintenant correctement 2162-0002 lorsque cela se produira

    • Un bug de longue date dans la façon dont fatal gère les affichages a été corrigé, et le comportement d'initialisation d'affichage officiel est maintenant mis en correspondance avec précision

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.9.2
  • Un certain nombre de corrections de bogues emummc ont été ajoutées (tout cela grâce au travail acharné de @m4xw). Voici un résumé des changements emummc:
    • La prise en charge des instances emummc basées sur des fichiers a été corrigée
      • Remarque: emummc basé sur fichier n'est toujours pas optimisé et peut donc être beaucoup plus lent que basé sur partition

      • Espérons que ce différentiel de vitesse sera amélioré dans une future mise à jour d'emummc

    • La gestion de la consommation d’énergie par emummc a été complètement revue
      • Emummc gère maintenant correctement init / de-init et prend maintenant en charge le mode basse tension.

      • Un meilleur support pour l’arrêt a été ajouté, ce qui devrait atténuer les problèmes de corruption / synchronisation.

      • Cela devrait également améliorer la prise en charge de plusieurs types de cartes SD

    • Un bug a été corrigé, empêchant emummc de fonctionner sur les versions de système inférieures en raison d'un accès SVC manquant.

    • Remarque: les entrées de configuration utilisées pour emummc ont été modifiées.
      • Les préfixes emummc_ ont été supprimés car ils sont superflus compte tenu de la catégorie emummc dans laquelle ils se trouvent.

      • Par exemple, emummc! Emummc_enabled est maintenant emummc! Enabled.

      • Les configurations INI réalisées à l'aide de l'outil @ CTCaer (qui est le moyen recommandé de gérer emummc) devraient fonctionner automatiquement comme prévu / être corrigées.
        • Si vous ne souhaitez pas utiliser ce qui précède, vous devrez corriger manuellement votre fichier de configuration

    • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur

  • Stratosphere est en cours de réécriture / refactoring
    • Stratosphere a été mon premier projet C ++ (SciresM) - le code écrit pour cela il y a un an alors que j'apprenais le C ++ est / était de qualité bien inférieure au code écrit plus récemment.

    • Le code est donc redéfini pour des raisons de clarté / stlye / afin de dédoubler la fonctionnalité, une grande partie étant déplacée dans la libstratosphère

    • Après la réécriture, Stratosphere utilisera globalement sts :: namespace, ce qui devrait considérablement renforcer la capacité de libstratosphere à fournir des fonctionnalités aux modules système

    • Les modules réécrits ont systématiquement une empreinte mémoire plus faible et devraient être plus faciles à gérer à l’avenir.

    • Les modules sm, boot, spl, ro et loader ont été abordés jusqu'à présent

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.9.1
  • Le support a été ajouté pour 8.1.0

  • Veuillez noter que emummc est toujours considéré comme une version bêta / expérimentale. Cette mise à jour de correctif n’est pas inévitable, même si un certain nombre de bogues ont été corrigés. :)

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.9.0
  • La production de Creport a été améliorée de manière significative.
    • Les noms de threads sont maintenant vidés lors d'un crash en plus de 0x100 de TLS de chaque thread.
      • Cela facilite considérablement les efforts de débogage en cas de crash

    • La prise en charge des images empilées 32 bits ayant été ajoutée, vous pouvez désormais générer des rapports pour les jeux 32 bits

  • La machine virtuelle de triche de dmnt a été étendue pour ajouter un nouvel opcode de débogage.

  • Grâce à / collaboration avec @ m4xw et @CTCaer, un support a été ajouté pour la redirection de NAND vers la carte SD (emummc).
    • S'il vous plaît noter que ce support est très bêta / expérimental.
      • Il est fort probable que nous n’ayons pas identifié tous les bogues - ceux-ci seront corrigés car ils seront signalés au cours des prochains jours / semaines.

      • En outre, certaines subtilités (par exemple, avoir un dossier Atmosphere distinct par instance emummc) nécessitent encore une réflexion avant de pouvoir être mises en œuvre de manière à rendre tout le monde heureux.

      • Si vous n'êtes pas un utilisateur expérimenté, vous voudrez peut-être attendre l'attente de la mise à jour inévitable du correctif 0.9.1 avant d'utiliser emummc comme option de démarrage par défaut.

      • Vous voudrez peut-être en particulier envisager d'attendre si vous utilisez Atmosphere sur une unité dont le bogue RCM a été corrigé.
        Emummc est géré en éditant la section emummc de "emummc / emummc.ini".
        • Pour activer emummc, définissez emummc! Emummc_enabled = 1

    • La prise en charge est incluse pour la redirection de NAND vers une partition de la carte SD.
      • Pour ce faire, définissez emummc! Emummc_sector sur le secteur de départ de votre partition (par exemple, emummc_sector = 0x1A010000)

    • Un support est également inclus pour la redirection de NAND vers une collection de fichiers volants sur la carte SD.
      • Pour ce faire, définissez emummc! Emummc_path dans le dossier (avec le bit d’archive défini) contenant les fichiers de partition d’amorçage NAND "boot0" et "boot1", ainsi que les fichiers d’image brute NAND "00", "01" et "02". , etc. (le fichier "00" contenant l’ensemble de l’image NAND nécessite le mode exFAT, tandis que le format NAND en plusieurs parties peut être utilisé dans les modes exFAT et FAT32)

    • Le répertoire de contenu Nintendo peut être redirigé de manière arbitraire.
      • Par défaut, il sera redirigé vers emummc / Nintendo_XXXX, où XXXX est la représentation hexadécimale de l'ID emummc.
        • L'ID emummc actuel peut être sélectionné en modifiant emummc! Emummc_id dans emummc.ini

      • Ceci peut être défini sur n'importe quel répertoire en définissant emummc! Emummc_nintendo_path

    • Pour créer une sauvegarde utilisable par emummc, les utilisateurs peuvent utiliser les outils fournis par le projet hekate.

    • Si, lorsque vous utilisez emummc, vous rencontrez un bogue, assurez-vous de le signaler, c’est la seule façon de le réparer. :)

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.8.10
  • Un bogue qui pouvait causer une allocation de mémoire système incorrecte sur la version 5.0.0 a été corrigé.
    • 5.0.0 devrait maintenant correctement avoir 12 Mo supplémentaires alloués pour les sysmodules

  • Les fonctions Atmosphère qui permettent d’appuyer sur les boutons de vérification tiennent maintenant compte de tous les contrôleurs, et non pas uniquement de P1.

  • Un soutien a été ajouté pour la configuration de la langue / région sur une base par jeu.
    • Ceci est géré en éditant atmosphere / titres / <title id> /config.ini pour le jeu.
      • Pour modifier la langue du titre, modifiez override_config! Override_language.
        • Les langues prises en charge sont ja, en-US, fr, de, it, es, zh-CN, ko, nl, pt, ru, zh-TW, en-GB, fr-CA, es-419, zh-Hans, zh-Hant.

      • Pour modifier la région du titre, modifiez override_config! Override_region.
        • Les régions prises en charge sont les suivantes: jpn, usa, eur, aus, chn, kor, twn.

  • Atmosphère fournit maintenant une réimplémentation du module de système de démarrage.
    • boot est responsable de l'initialisation matérielle, de l'affichage du logo Nintendo et de la réparation de NAND en cas d'échec de la mise à jour du système.

    • L'implémentation de démarrage d'Atmosphère préserve AutoRCM lors de la réparation NAND.
      • La réparation NAND se produit lorsqu'un arrêt inattendu ou une erreur se produit lors d'une mise à jour du système.

      • Cela corrige un dernier cas où AutoRCM pourrait être supprimé par le HOS, ce qui pourrait amener un utilisateur à graver des fusibles.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.8.9
  • Un certain nombre de bugs ont été corrigés, notamment:
    • Un abandon de données a été corrigé lors du montage de certaines partitions sur NAND.

    • Tous les modules du système Stratosphère maintenant ne maintiennent une connexion à sm que lorsqu'ils l'utilisent activement.
      • Cela permet de limiter le scénario dans lequel sm atteint la limite de 64 connexions actives et se bloque.

      • Cela provoquait parfois des plantages lorsque des sysmodules personnalisés non Atmosphère étaient actifs et que l'utilisateur jouait à certains jeux (ex: Smash's Stage Builder)

    • Fatal utilise désormais l'API 8.0.0+ clkrst, au lieu de ne pas régler en mode silencieux la fréquence d'horloge sur cette version du microprogramme

    • Une boucle d'attente est maintenant effectuée lorsque vous essayez de faire passer une session à sm, dans le cas où sm: n'est pas encore enregistré.
      • Cela corrige une situation de concurrence critique pouvant entraîner l'échec du démarrage dans certaines circonstances

    • La gestion par libstratosphere de la fermeture des objets de domaine a été améliorée
      • Auparavant, ce code pouvait provoquer des plantages / un comportement extrêmement étrange (interprétation erronée de l'objet d'un service) dans certaines circonstances

  • Un temporisateur de redémarrage automatique facultatif a été ajouté à fatal
    • En définissant l'atmosphère de configuration du système ! Fatal_auto_reboot_interval sur une valeur u64 non nulle, il est possible de forcer fatal à un redémarrage automatique après un certain nombre de millisecondes

    • Si le paramètre est zéro ou non présent, fatal attendra la saisie de l'utilisateur comme d'habitude

  • Atmosphère fournit maintenant une réimplémentation du module de système de ro.
    • ro est responsable du chargement des bibliothèques dynamiques (NRO) sur la version 3.0.0+.
      • Sur 1.0.0-2.3.0, cela est géré par le chargeur

    • Atmosphere ro fournit cette fonctionnalité (ldr: ro, ro: dmnt) sur toutes les versions de firmware.

    • Une extension a été implémentée pour prendre en charge l’application de correctifs IPS aux NRO.
      • Tous les correctifs sur des chemins tels que /atmosphere/nro_patches//.ips seront appliqués, permettant ainsi une distribution facile des correctifs.

      • Les formats IPS et IPS32 sont pris en charge

  • Atmosphère fournit maintenant une réimplémentation du module de système spl.
    • Spl (Secure Platform Services) est responsable des opérations cryptographiques, y compris de toutes les communications avec le moniteur sécurisé (exosphère).

    • À l'avenir, cela pourrait être utilisé pour fournir des extensions à l'API permettant d'interagir avec exosphère depuis le pays de l'utilisateur

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.8.8
  • La prise en charge de la version du firmware 8.0.0 a été ajoutée.

  • Des gestionnaires d'exceptions personnalisés ont été ajoutés aux modules de la stratosphère.
    • Si un crash se produit maintenant dans un module d'ambiance principal, au lieu d'échouer en mode silencieux, un redémarrage aura lieu pour enregistrer les informations sur la carte SD.

  • Un bogue a été corrigé dans Creport qui entraînait l’arrêt des jeux lors d’une chute dans certaines circonstances.

  • Un bug qui empêchait le mode maintenance de démarrer sur la version 7.0.0+ a été corrigé.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.8.7
  • Quelques bugs ont été corrigés qui pouvaient empêcher fatal de montrer une erreur dans certaines circonstances.

  • Un bogue qui causait une erreur lors du lancement de certains jeux (par exemple, Hellblade: Le sacrifice de Senua) a été corrigé.
    • Lors du processus de création du processus, Loader avait ajouté un support dans ams-0.8.4 pour un nouveau bit d'indicateur (7.0.0+) dans les NPDM, mais il a oublié de permettre à ce bit d'être défini lors de la validation du NPDM.

  • La machine virtuelle de triche de dmnt a reçu de nouvelles instructions.
    • Ils permettent d’enregistrer, de restaurer ou d’effacer des registres dans une banque secondaire, doublant ainsi le nombre de valeurs pouvant être stockées.

  • Le code SHA256 a été remplacé du code linux par la nouvelle API de cryptographie accélérée par hw de libnx.
    • Les extensions ont été ajoutées à smcGetInfo:

    • Un ConfigItem a été ajouté pour détecter si le bogue RCM est corrigé sur l'unité actuelle.

  • Un ConfigItem a été ajouté pour récupérer le hachage de construction Atmosphère actuel.

  • Exosphère demande maintenant au noyau d'activer les gestionnaires d'exceptions en mode utilisateur, ce qui devrait permettre à l'avenir de mieux signaler / détecter les collisions à partir des modules d'Atmosphère.

  • Un support opt-in a été ajouté pour rediriger les fichiers de sauvegarde du jeu vers les répertoires de la carte SD.
    • Veuillez noter que cette fonctionnalité est expérimentale et peut causer des problèmes. Utilisez-le à vos risques et périls (et sauvegardez vos sauvegardes avant de l'activer), car il doit encore être testé.

    • Cela peut être activé en définissant atmosphere! Fsmitm_redirect_saves_to_sd sur 1 dans system_settings.ini.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.8.6
  • Un certain nombre de bugs ont été corrigés, notamment:
    • Un cas de logique inversée a été corrigé dans fs.mitm, ce qui empêchait le système de drapeaux de fonctionner correctement.

    • L’accès au service de temps a été corrigé dans les deux catégories.
      • Cela corrige les horodatages utilisés dans les noms de fichiers fatal / crash report.

    • Un problème de cohérence a été résolu dans le pilote Security Engine d’exosphère.
      • Cela corrige certains problèmes d'instabilité rencontrés lors de l'overclocking du processeur.

    • Loader démappe maintenant correctement les NRO lorsque ldr: ro est utilisé.
      • Cela corrige un crash lors du lancement répété de l'applet Web sur <3.0.0.

    • L'utilisation de hidKeysDown a été corrigée en hidKeysHeld dans plusieurs modules.
      • Cela corrige un problème rare dans lequel les pressions de touche peuvent avoir été détectées de manière incorrecte.

    • Un problème lié au démontage du système de fichiers de code a été corrigé dans le chargeur.
      • Ce problème pouvait parfois provoquer une erreur fatale 0x1015 au démarrage.

    • Deux bogues ont été corrigés dans les implémentations de la machine virtuelle de triche de dmnt.
      • Celles-ci pourraient provoquer un dysfonctionnement des astuces dans certaines circonstances.

    • PM utilise désormais un tampon statique au lieu d'un tampon alloué dynamiquement lors du lancement du processus.
      • Cela corrige un problème d'épuisement de la mémoire lors de la compilation avec gcc 8.3.0.

    • Une solution de contournement pour un bogue d'interblocage dans le noyau d'Horizon sur> = 6.0.0 a été ajoutée dans dmnt.
      • Cela empêche un blocage du système lors du démarrage de certains titres avec les codes de triche activés (ex: Mario Kart 8 Deluxe).

    • set.mitm lit maintenant la version du microprogramme du système directement à partir de l’archive des versions du système, au lieu d’appeler set: sys.
      • Cela corrige la compatibilité avec 1.0.0, qui maintenant redémarre avec succès.

    • La machine virtuelle de triche de dmnt a eu quelques modifications dans le jeu d'instructions.
      • Un nouveau code opération a été ajouté pour commencer les blocs conditionnels en fonction du contenu du registre.

      • Plus de modes d'adressage ont été ajoutés à l'opcode StoreRegisterToAddress.

      • Celles-ci devraient permettre la mise en œuvre de tricheurs plus complexes.

    • Un nouveau système pour enregistrer l'état de triche bascule entre les bottes de jeu a été ajouté.
      • Les bascules sont maintenant enregistrées dans atmosphere / titres / <title id> /cheats/toggles.txt lorsque les bascules ont été chargées avec succès à partir de ce fichier ou que l'atmosphère du paramètre système dmnt_always_save_cheat_toggles est différente de zéro.

      • Cela supprime la nécessité de définir manuellement les triches de tout ou rien à l'état souhaité à chaque démarrage du jeu.

    • Le comportement par défaut du support HBL du chargeur a été modifié.
      • Au lieu de lancer HBL quand un album est lancé sans R réservé, loader lance HBL quand un album ou un jeu est lancé avec R. tenu.

      • Loader remplacera maintenant toute application en plus d'un identifiant de titre spécifique lorsque hbl_config! Override_any_app est à true dans loader.ini.
        • Par conséquent, le paramètre hbl_config! Title_id = app était obsolète. Le support sera supprimé dans Atmosphère 0.9.0.

    • Un support de première classe a été ajouté à loader et à fs.mitm pour permettre à homebrew de lancer des applets Web.
      • Loader va maintenant résoudre le chemin NCA "HtmlDocument" pour le titre que HBL prend, même s'il ne le ferait pas normalement.

      • fs.mitm provoquera également les demandes de montage du contenu HtmlDocument pour que le titre de HBL ouvre le dossier sdmc: / atmosphere / hbl_html.
        • Par défaut, cela ne contient qu'une liste blanche d'URL.

    • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Versiin 0.8.5
  • Un support a été ajouté pour remplacer le contenu par titre, indépendamment du remplacement par HBL.
    • Cela permet d’utiliser des mods sur le même titre que celui utilisé pour lancer HBL.

    • Par défaut,! L est utilisé pour le remplacement du contenu du titre (ceci est configurable en modifiant default_config! Override_key dans loader.ini)

    • Cette combinaison de touches peut être définie titre par titre en créant une atmosphère / titres / <titre id> /config.ini et en modifiant override_config! Override_key.

  • Des en-têtes de contenu ont été ajoutés pour les fichiers incorporés dans fusee-secondary.
    • Cela permettra aux chargeurs de démarrage non fusés (comme hekate) d'extraire les composants fournis dans les fichiers binaires de la version.

    • Cela devrait grandement simplifier le processus de mise à jour à l'avenir, pour les utilisateurs qui ne lancent pas Atmosphère à l'aide de fusee.

  • Support pour les codes de triche a été ajouté.
    • Celles-ci sont gérées par un nouveau sysmodule dmnt, qui réimplémentera également le moniteur de débogage de Nintendo.

    • Les codes de triche peuvent être activés / désactivés au lancement de l'application via une combinaison de touches par titre.
      • Pour plus de détails, veuillez consulter la documentation de chargement de triche.

    • Les codes de triche sont totalement compatibles avec le format préexistant, même si un certain nombre de bogues ont été corrigés et de nouvelles fonctionnalités ont été ajoutées.
      • Pour plus de détails, consultez la documentation de compatibilité.

    • Une API de service HIPC a été ajoutée (dmnt: cht), qui permettra à l’utilisateur homebrew d’interfacer et de contrôler le gestionnaire de triche d’Atmosphère.
      • Veuillez consulter la documentation correspondante.

      • Le code client complet peut être trouvé dans libstratosphere.

      • Les utilisateurs intéressés par l’interfaçage devraient voir EdiZon, qui devrait pouvoir prendre en charge l’interfaçage avec l’API d’atmosphère peu après la sortie de la version 0.8.5.

    • Un bogue qui empêchait l'affichage de l'écran fatal d'Atmosphère sur 1.0.0-2.3.0 a été corrigé.

    • Un bug a été corrigé qui a corrompu les sauvegardes automatiques ProdInfo d'Atmosphère.

    • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.8.4
  • Le support pour 7.0.0 / 7.0.1 a été ajouté.
    • Ceci est facilité par une nouvelle charge utile, sept, qui peut être signée, cryptée puis chargée par le micrologiciel TSEC de Nintendo.

    • Sept obtiendront les clés nécessaires au démarrage du nouveau microprogramme, puis chargeront sept / payload.bin de la carte SD et y accéderont.

  • La reconnaissance des applications pour override / mitm a été améliorée.
    • La plage d'identifiants de titres officiels de Nintendo (0x0100000000000000-0x01FFFFFFFFFFFFFFFF) est désormais appliquée.

  • Une impasse a été corrigée impliquant libstratosphere mitm sysmodules.

  • Des correctifs de noyau pour le support JIT ont été ajoutés (Merci, @m4xw!).
    • Celles-ci assouplissent les restrictions sur le processus de l'appelant dans svcControlCodeMemory.

  • set.mitm et fs.mitm ont été fusionnés en un seul sysmodule ams_mitm.
    • Cela enregistre un ID de processus, permettant aux utilisateurs d'exécuter un processus supplémentaire jusqu'à la limite de processus 0x40.

  • Un composant bpc.mitm a été ajouté, effectuant un comportement personnalisé sur les demandes d'arrêt / redémarrage de l'am ou des applications.
    • Effectuer un redémarrage à partir du menu de redémarrage est maintenant réinitialisé. Ceci peut être configuré via system_settings.ini.

    • Effectuer un arrêt à partir du menu de redémarrage fonctionne désormais correctement avec AutoRCM et effectue un arrêt réel.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.8.3
  • Un micrologiciel warmboot personnalisé a été mis en œuvre. Il n'effectue pas de vérification anti-rétrogradation.
    • Cela corrige le mode veille lors de l'utilisation d'une NAND rétrogradée.

    • Cela supprime également la dépendance finale d'Atmosphère vis-à-vis du binaire crypté PK11 de Nintendo. Tous les composants sont maintenant ré-implémentés.

  • L'API ExternalContentSource a été modifiée pour ne pas effacer en cas d'échec.

  • Le remplacement de contenu prend désormais en charge un paramètre "app", qui permet de remplacer toutes les applications par HBL au lieu d'un titre spécifique.
    • Remarque: étant donné que les clés de substitution sont valables pour tout le système, l'utilisation de ce paramètre empêchera l'utilisation de mods dans les jeux (chaque jeu étant au format HBL).

  • Un bogue a été corrigé, ce qui entraînait une sortie d'erreur fatale incorrecte lorsque svcBreak était appelé le 5.0.0+.

  • Une extension a été ajoutée à set.mitm pour prendre en charge la personnalisation des paramètres système.
    • Ceux-ci sont contrôlés par atmosphere / system_settings.ini, voir ici pour la documentation.

    • Par défaut, cette option sert à désactiver le téléchargement du rapport d'erreur et à activer la vitesse super rapide USB 3.0 lorsque cela est possible.

  • Une extension a été ajoutée à sm, ajoutant un nouveau service sm: dmnt.
    • Ceci peut être utilisé par un moniteur de débogage afin de déboguer l'état d'enregistrement de divers autres services.

  • Un bug a été corrigé dans l'API MitM qui pouvait parfois provoquer un blocage du système lors du démarrage.

  • Une modification a été apportée à l'API MitM: dans les cas où sm aurait renvoyé 0xE15 lors de l'installation d'un service mitm, le résultat est maintenant différé (conformément à la sémantique de GetService).

  • La prise en charge du démarrage en mode maintenance en maintenant * / - a été ajoutée à PM.

  • Une extension a été ajoutée à exosphere, avec l’ajout d’un SMC personnalisé permettant l’utilisation de DMA vers IRAM.

  • En outre, smcGetConfig a été étendu pour permettre le redémarrage d'une charge utile dans IRAM à 0x40010000 lorsque ConfigItem 65001 est défini sur 2.
    • Fatal utilisera maintenant ceci pour redémarrer sur sdmc: /atmosphere/reboot_payload.bin s'il est présent, lorsqu'un bouton vol est enfoncé.

    • Un exemple de homebrew ("reboot_to_payload") a également été écrit et est maintenant inclus dans Atmosphère.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.8.2
  • Un certain nombre de bogues ont été corrigés, ce qui a parfois amené les utilisateurs à voir Échec de la dérivation de clé !.
    • Les temps d'activation de l'horloge KFUSE ont été ajustés pour permettre au temps de se stabiliser avant que TSEC ne soit autorisé à accéder.

    • Une condition de concurrence critique a été corrigée qui pourrait entraîner l'utilisation de données de clé erronées sur la version 6.2.0.

  • Le microprogramme TSEC est maintenant réessayé en cas d’échec, ce qui corrige un échec affectant ~ 1/50 démarrages sur 6.2.0.

  • Un bogue a été corrigé, empêchant certains modules de fonctionner sur le firmware 1.0.0.

  • Un bogue a été corrigé, empêchant le mode veille de fonctionner avec le mode debug activé.
    • Par conséquent, le mode de débogage est maintenant activé dans le fichier BCT.ini par défaut.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.8.1
  • Un bogue a été corrigé, ce qui a amené les utilisateurs à voir Impossible d'activer SMMU! si fusee avait déjà redémarré.
    • Ce message continuera à apparaître sporadiquement si Fusee n'est pas lancé à partir de coldboot, mais il ne peut jamais se produire deux fois de suite.

  • Une condition de concurrence critique a été corrigée dans la fonctionnalité Atmosphere bis_protect qui pouvait permettre à NS de remplacer les clés publiques BCT.
      La protection AutoRCM était parfois rompue. Le correctif actuel a été testé sur le matériel et vérifié pour fonctionner.

  • Un support a été ajouté pour l'activation de debugmode basé sur la section exosphere du fichier BCT.ini:
    • Si vous définissez debugmode = 1, exosphere informera le noyau que le mode debugmode est actif.

    • Si vous définissez debugmode_user = 1, exosphere informera le pays de l'utilisateur que le mode debug est actif.

    • Ceux-ci sont complètement indépendants les uns des autres, permettant un contrôle précis du comportement du système.

  • Un soutien a été ajouté pour la fonctionnalité nogc; merci à @rajkosto pour les correctifs.
    • Par défaut, les correctifs nogc s’appliquent automatiquement si l’utilisateur démarre en 4.0.0+ avec des fusibles de <= 3.0.2.

    • Les utilisateurs peuvent remplacer cette fonctionnalité via l'entrée nogc dans la section stratosphère de BCT.ini:
      • Définir nogc = 1 forcera l’activation des correctifs nogc.

      • Définir nogc = 0 forcera la désactivation des correctifs Nogc.

    • Si les correctifs sont activés mais ne sont pas trouvés pour le système d’amorçage, une erreur fatale sera renvoyée.
      • Cela devrait empêcher d’exécuter FS sans les correctifs Nogc après la mise à jour vers une version système non prise en charge.

  • Une extension a été ajoutée à exosphere, permettant aux applications de l’utilisateur de provoquer le redémarrage du système dans RCM:
    • Cela se fait en appelant smcSetConfig (id = 65001, valeur = <non nul>); l'utilisateur homebrew peut utiliser splSetConfig pour cela.

  • En cas d'erreur fatale, l'utilisateur peut désormais choisir de procéder à un redémarrage standard via le bouton d'alimentation ou de le redémarrer dans la MCR via l'un des boutons de volume.

  • Un message personnalisé a été ajouté à fatal pour le cas où une incompatibilité de version d'API Atmosphère est détectée (2495-1623).

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.8.0
  • Un module système fatal personnalisé a été ajouté.
    • Ceci ré-implémente et étend le module fatal de Nintendo, avec les caractéristiques suivantes:
      • L'atmosphère fatale d'Atmosphère ne crée pas de rapports d'erreur.

      • L'atmosphère fatale d'Atmosphère dessine un écran d'erreur personnalisé, affichant des registres et une trace.

      • Les tentatives fatales d'Atmosphère de collecter des informations de débogage pour tous les accidents, et pas seulement ceux qui incluent des informations.

      • Le système fatal d'Atmosphère tentera de sauvegarder les rapports sur le DS si aucun rapport d'incident n'a été généré par creport.

  • La gestion des drapeaux de titre a été modifiée pour éviter l'encombrement des dossiers.
    • Au lieu de vivre dans l’atmosphère / les titres / <tid> /% s.flag, les drapeaux se trouvent maintenant dans l’atmosphère / les titres / <tid> /flags/%s.flag.
      • L'ancien format continuera d'être pris en charge pendant un certain temps, mais il est obsolète.

    • Les drapeaux peuvent maintenant être appliqués à HBL en les plaçant dans atmosphere / flags / hbl_% s.flag.

  • Des modifications ont été apportées à l'API mitm, améliorant considérablement la sémantique de l'appelant.
    • sm informe maintenant les services mitm de l'identifiant de processus d'une nouvelle session, permettant ainsi une gestion personnalisée basée sur l'identifiant de titre / l'identifiant de processus.

  • smhax n'est plus activé, car il n'est plus nécessaire et bloque des fonctionnalités importantes.
    • Les utilisateurs disposant de HBL / homebrew mis à jour ne devraient voir aucune différence observable en raison de ce changement.

  • Passer à la langue suivante : anglaisLa fonctionnalité a été ajoutée pour implémenter les protections de base pour NAND à partir de homebrew:
    • BOOT0 dispose désormais d’une protection en écriture pour les régions de clé publique et de keyblob BCT.
      • Le ns sysmodule n'est plus autorisé à écrire les clés publiques BCT; tous les autres processus peuvent.
        • Cela devrait empêcher les mises à jour du système de supprimer AutoRCM.

      • Aucun processus ne doit être autorisé à écrire dans la région keyblob.

    • Par défaut, les partitions BIS autres que BOOT0 sont désormais en lecture seule et CAL0 n'est ni lisible ni inscriptible.
      • Ajouter un drapeau bis_write à un titre lui permettra d’écrire dans BIS.

      • Ajouter un indicateur cal_read à un titre lui permettra de lire CAL0.

    • Une sauvegarde automatique est maintenant faite de CAL0 au démarrage.
      • fs.mitm conserve un descripteur de fichier pour cette sauvegarde afin que les logiciels utilisateur ne puissent pas le lire.

    • Pour faciliter ceci, fs.mitm maintenant mitms toutes les sessions pour les modules non-système; le remplacement de contenu a été séparé de l'interception de service.

    • Veuillez noter que ces protections sont basiques et qu’un homebrew suffisamment malveillant peut les vaincre.
      • Veillez à ne lancer que les logiciels homebrew provenant de sources de confiance.

  • Un bug impliquant des titres HDCP plantés sur de nouveaux firmwares a été corrigé.

  • La prise en charge de la version du système 6.2.0 a été ajoutée. Merci à @motezazer pour son aide précieuse.
    • Par défaut, les nouvelles clés seront automatiquement dérivées sans intervention de l'utilisateur.

    • Un support est également présent pour le chargement de nouvelles clés depuis atmosphere / prod.keys ou atmosphere / dev.keys

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.7.5
  • La formation DRAM a été ajoutée à fusee-secondary, avec la permission de @hexkyz.
    • Cela améliore considérablement la vitesse d'accès à la mémoire pendant le démarrage, ce qui entraîne un temps de démarrage environ 200 à 400% plus rapide.

  • La détection de la région de code de creport a été améliorée.
    • Au lieu de ne rechercher que la présence d'une région de code dans l'un des PC / LR du thread en panne, creport vérifie maintenant les deux + toutes les adresses du chemin de pile. Ceci est également maintenant fait pour chaque thread.
      • ela correspond à l'amélioration ajoutée par Nintendo à Creport officielle en 6.1.0.

    • L'heuristique de détection de région de code a été encore améliorée en vérifiant si une adresse pointe sur .rodata ou .rwdata, au lieu de simplement .text.

    • Cela signifie qu’un blocage apparaît dans une région de code NRO chargée (ou par ailleurs non contiguë). Creport sera en mesure de détecter toutes les régions de code actives, et pas seulement celle-là.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.7.4[/u]
  • libstratosphere a été complètement refactorisée / réécrite et divisée en son propre sous-module distinct.
    • Bien que la plupart du temps, cela soit "sous le capot" pour les utilisateurs finaux, le refactor est plus rapide (amélioration des performances au démarrage et à l'exécution), plus précis (de nombreuses structures IPC internes sont désormais compatibles bug pour bugs avec les implémentations de Nintendo), et nettement plus stable (il corrige un grand nombre de bugs présents dans l’ancienne bibliothèque).

    • L'API refactorisée est nettement plus propre et plus facile à écrire, ce qui devrait améliorer / accélérer le développement de la stratosphère.

    • Les développeurs souhaitant écrire leurs propres modules système personnalisés pour le commutateur peuvent désormais facilement inclure libstratosphere en tant que sous-module dans leurs projets.

  • Loader a été étendu pour ajouter un nouveau moyen générique de redirection de contenu (ExternalContentSources), avec l'aimable autorisation de @misson20000:
    • Une nouvelle commande a été ajoutée à ldr: shel, prenant en compte une tâche de redirection et renvoyant un identifiant de session.

    • Lorsque le TID demandé est en cours de chargement, Loader interroge le descripteur comme s'il s'agissait d'un IFileSystem.
      Cela permet aux clients de définir de manière générique leurs propres systèmes de fichiers et d’en remplacer le contenu dans le chargeur.
      • fs.mitm a obtenu plusieurs optimisations qui devraient améliorer ses performances et sa stabilité:

    • La redirection RomFS ne se produit maintenant que s’il ya du contenu à rediriger, même si le titre est en cours ailleurs.

    • Un cache est maintenant maintenu du stockage de données actif, le cas échéant, pour tous les ID de titre ouverts. Cela signifie que si deux processus essaient d'ouvrir la même archive, fs.mitm ne dupliquera aucun de ses travaux.

    • Les métadonnées RomFS sont maintenant mises en cache sur la carte SD lors de la compilation au lieu d'être conservées en mémoire - cela réduit considérablement l'encombrement de la mémoire et permet à fs.mitm de rediriger simultanément plus de titres qu'auparavant.

  • Un certain nombre de bugs ont été corrigés, notamment:
    • Une fuite de ressource a été corrigée lors de la création du processus. Cela corrige les plantages qui surviennent lorsqu'un grand nombre de jeux (> 32) ont été lancés depuis le dernier redémarrage.

    • fs.mitm ne commet plus d'erreur lors de la réception d'un tampon de taille zéro. Cela corrige les plantages dans certains jeux, y compris The Messenger.

    • La sémantique de serveurs multithreads ne devrait plus causer d'interblocages dans certaines circonstances. Cela corrige les plantages dans certains jeux, y compris NES Classics.
      À présent, PM ne donne que les autorisations FS complètes aux fichiers KIP actifs. Cela corrige un crash potentiel empêchant l'enregistrement de nouveaux processus avec FS.

  • La cible make dist inclut désormais la branche dans le nom du zip généré.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.7.3
  • Loader et fs.mitm essaient maintenant de recharger le fichier loader.ini avant de le lire. Cela permet de changer la combinaison de boutons de substitution / l'ID de titre HBL au moment de l'exécution.

  • Ajout d'un MitM entre set: sys et qlaunch, utilisé pour remplacer la chaîne de version du système affichée dans les paramètres système.
    • Les paramètres système affichent désormais <Version actuelle> (AMS <x>. <Y>. <Z>).

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.7.2
  • Correction d'un bug dans l'implémentation en lecture de LayeredFS de fs.mitm qui provoquait le blocage de certains jeux lors de la tentative de lecture de fichiers.

  • Correction d'un bug affectant la version 1.0.0 qui entraînait un plantage des jeux avec l'erreur fatale 2001-0106 au démarrage.

  • Nom de fichier amélioré généré par la cible make dist.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.


Version 0.7.1
  • Correction d'un bug empêchant les consoles de 4.0.0 à 4.1.0 de s'endormir et de se réveiller.

  • Correction d'un bug empêchant les consoles <4.0.0 de démarrer sans KIP spécifiques sur la carte SD.

  • Une API a été ajoutée à Service Manager d'Atmosphère pour différer l'acquisition de tous les descripteurs de services spécifiques jusqu'à la fin de l'initialisation.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur


Version 0.7
  • Fusée, un chargeur de démarrage personnalisé
    • Prend en charge le chargement / la personnalisation de KIP arbitraires à partir de la carte SD.

    • Prend en charge le chargement d’un noyau personnalisé à partir de la carte SD ("/atmosphere/kernel.bin").

    • Prend en charge les correctifs de noyau définis à la compilation, par microprogramme.

    • Tous les correctifs dans les chemins tels que / atmosphere / kip_patches / <nom du correctif défini par l'utilisateur> / <SHA256 de KIP> .ips seront appliqués aux KIP appropriés, permettant ainsi une distribution aisée des correctifs prenant en charge plusieurs versions.
      • Les formats IPS et IPS32 sont pris en charge.

    • Tous les correctifs dans les chemins tels que / atmosphere / kernel_patches / <nom du correctif défini par l'utilisateur> / <SHA256 du noyau> .ips seront appliqués au noyau, permettant ainsi une distribution aisée des correctifs prenant en charge plusieurs versions.
      • Les formats IPS et IPS32 sont pris en charge.

    • Configurable en modifiant BCT.ini sur la carte SD.

    • Atmosphère devrait également être lancé par le chargeur alternatif hekate, pour ceux qui le préfèrent.

  • Exosphère, un moniteur sécurisé personnalisé complet
    • Exosphere est une nouvelle implémentation du micrologiciel
    • TrustZone de Nintendo, qui reproduit intégralement toutes ses fonctionnalités.

    • En outre, il a été étendu pour fournir des informations sur la version actuelle de l’API Atmosphere, à l’intention des homebrews souhaitant l’utiliser.

  • Stratosphère, un ensemble de modules système personnalisés. Ceci comprend:
    • Un module de système de chargeur.
      • Réimplémentation du chargeur de Nintendo, en reproduisant intégralement toutes les fonctionnalités d'origine.

      • Configurable en éditant /atmosphere/loader.ini

      • Support de première classe pour Homebrew Loader.
        • Un NSP exefs (par défaut "/atmosphere/hbl.nsp") sera utilisé à la place des exefs du titre de victime.

        • Par défaut, HBL remplacera l'applet d'album, mais toute application devrait également être prise en charge.

      • Étendu pour prendre en charge la redirection arbitraire du contenu exécutable sur la carte SD.
        • Les fichiers seront chargés de préférence à partir de / atmosphere / titres / <titleid> / exefs /, le cas échéant.

        • Les fichiers présents dans les fichiers originaux qu'un utilisateur souhaite marquer comme non présents peuvent être "stubés" en créant un fichier .stub sur le SD.

        • S'il est présent, un fichier PFS0 dans /atmosphere/titles/<titleid>/exefs.nsp remplacera complètement les fichiers exef originaux.

        • La redirection est éventuellement permutable en maintenant certains boutons enfoncés (par défaut, en maintenant R désactivant la redirection).

      • La prise en charge complète du correctif du contenu NSO est implémentée
        • Tous les correctifs dans les chemins tels que / atmosphere / exefs_patches / <nom du correctif défini par l'utilisateur> / <Hex Build-ID de NSO à correctif> .ips seront appliqués, permettant ainsi une distribution aisée des correctifs prenant en charge plusieurs versions de firmware et / ou titres.

        • Les formats IPS et IPS32 sont pris en charge.

      • Extension pour prendre en charge le lancement de contenu à partir de fichiers exécutables perdus sur la carte SD, sans nécessiter d'installation officielle.
        • Ceci est fait en spécifiant FsStorageId_None au lancement.

    • Un module système de gestionnaire de service.
      • Réimplémentation du gestionnaire de services de Nintendo, en reproduisant intégralement toutes les fonctionnalités d'origine.

      • Prise en charge à la compilation pour la réintroduction de "smhax", permettant aux clients d'ignorer éventuellement la vérification de l'accès aux services en ignorant l'initialisation.

      • Étendu pour permettre à l’homebrew d’acquérir plus de poignées de services privilégiés que ce que Nintendo autorise nativement.

      • Étendu pour ajouter une nouvelle API permettant d'installer des écouteurs Man-In-The-Middle pour des services arbitraires.
        • L'API peut également être utilisé pour détecter en toute sécurité si un service a été enregistré de manière non bloquante sans effets secondaires.

        • Documentation complète de l'API à venir.

    • Un module de système de gestionnaire de processus.
      • Réimplémentation du gestionnaire de processus de Nintendo, en reproduisant intégralement toutes les fonctionnalités d'origine.

      • Étendu pour permettre à homebrew d'acquérir des descripteurs de processus arbitraires et ainsi de lire / modifier la mémoire système sans bloquer l'exécution.

      • Étendu pour permettre à homebrew de récupérer des informations sur les limites des ressources du système.

      • Extension en intégrant une implémentation complète et étendue du module système boot2 de Nintendo.
        • L'ordre de lancement du titre a été optimisé afin de permettre un accès plus rapide à la carte SD.

        • Le module système de collecte des erreurs n'est pas lancé intentionnellement, ce qui empêche la génération de nombreux rapports d'erreur de télémétrie système.

        • Les utilisateurs peuvent placer leurs propres modules système personnalisés sur la carte SD et les marquer pour le lancement automatique de boot2 en créant un fichier / atmosphere / titres / <title ID> /boot2.flag sur leur carte SD.

    • Un module système fs.mitm personnalisé.
      • Utilise l'API MitM d'Atmosphère afin de fournir aux utilisateurs un moyen simple de modifier le contenu du jeu.

      • Intercepte toutes les commandes FS envoyées par les jeux, avec une gestion spéciale des commandes utilisées pour monter le contenu RomFS / DLC afin de permettre la création et la distribution faciles de mods jeu / DLC.
        • fs.mitm analysera l'image RomFS de base d'un jeu, une image RomFS située dans / atmosphere / titres / <titre ID> /romfs.bin, ainsi que tous les fichiers volants dans / atmosphere / titres / <titre ID> / romfs /, et les fusionner en une seule image RomFS.

        • Lors de la fusion, les fichiers en vrac sont préférés au contenu de l'image romfs.bin de la carte SD, et les fichiers de l'image de la carte SD sont préférés à ceux de l'image de base.

      • Peut en outre être utilisé pour intercepter des commandes envoyées par des titres système arbitraires (à l'exception de celles lancées avant que la carte SD soit active), en créant un fichier / atmosphere / titres / <title ID> /fsmitm.flag sur la carte SD.

      • Peut être désactivé de force pour n’importe quel titre en créant un fichier / atmosphere / titres / <ID du titre> /fsmitm_disable.flag sur la carte SD.

      • La redirection est éventuellement permutable en maintenant certains boutons enfoncés (par défaut, en maintenant R désactivant la redirection)

    • Un module système de rapport d'incident personnalisé.
      • Sert de remplacement instantané au module de système Creport de Nintendo.

      • Génère des rapports détaillés et lisibles par l'homme sur les pannes système en enregistrant dans / atmosphere / crash_reports / <timestamp> _ <titre ID> .log.

      • Comme les rapports ne sont pas envoyés au sysmodule erpt, cela désactive toute télémétrie liée aux rapports de blocage.

  • Améliorations générales de la stabilité du système pour améliorer l'expérience de l'utilisateur.
[/list]
Voir le sujet
BishopWalter
Re: SONDAGE Sony : qu'avez-vous pensez de la conférence Play
Très mauvaise conférence. Largement moins mauvaise que celle de EA ou encore Bethesda, mais pas à la hauteur du géant Japonais. L'énorme point noir est le rythme. Franchement les petits concerts des conférences n'ont rien a faire à l'E3 tout comme le blabla qui peut très bien se faire après conférence. Le mini concert de Gustavo, la coupure blabla pour faire passer le public vers l'autre salle (quelle idée :roll: ) sans oublier les petits passages musicales entre chaque annonce :? . Même à la fin quand ils reviennent sur du blabla et qu'on pense que la conférence s'est terminé, ils annoncent un jeu VR.

Mais comment ont-ils monté leur conférence ? Puis les annonces sérieusement. The last of us très déçu. Techniquement et graphiquement c'est super beau, mais alors que c'est scripté. Encore plus scripté que le premier et puis vouloir faire du choquant pour faire du buzz (scene du baisé très politique encore plus depuis l'élection de Trump + la violence cru).

Le bébé de Kojima qui encore à ce jour je cherche la raison d'un tel engouement. On a eu droit à une longue séquence de simulation de marche. On aurait dit Bear Grylls qui tourne son nouveau Man vs Wild. Léa Seydoux dans le casting, cette mauvaise actrice pistonnée par sa famille. Puis c'est toujours aussi barré et incompréhensible.

Ghost of Tsushima qui a du potentiel mais techniquement c'est vraiment pas ça. Déjà le gameplay c'est super mou et chiant. On aurait dit un mauvais Assassin's Creed. Puis je déteste la palette de couleurs.

Le seul jeu qui m'a plu alors que je suis plutôt DC, c'est Spiderman. On sent qu'ils ont repris sur Batman Arkham, c'est Dynamique, fun, un peu trop Spiderman version Amazing, j'aurais préféré Ramini, mais bon là c'est un détail.

En terme d'annonce j'attendais comme un fou Resident Evil 2 remake, j'ai été servi mais qu'à moitié. Pas de gameplay, juste un trailer alors que ça fait 3 ans que le jeu est en développement et qu'il est annoncé pour Janvier, c'est à dire dans 6 mois ! Le développement doit en toute logique être suffisamment avancé pour une séquence de gameplay. Même pas d'explication sur le contenu. On a juste eu la confirmation des leaks sur la caméra, le photoréalisme ou encore la tenue de Claire.
Sinon on ne sait rien sur les énigmes, les allers-retours, les coffres, les machines à écrire ou encore l'inventaire.

Bref dans l'ensemble y'a eu des choses mais qui ne m'ont pas fait hyper. Le problème ? La manière dont ça a été présenté. Pour moi cette année mes 3 conférences favorites ont été celle de Devolver très fun et drôle, celle de Microsoft à cause des world premiere assez dingues et celle du PC qui franchement est à la fois fun/drôle et assez surprenante.
Voir le sujet
Avatar de l’utilisateur
DplanetHD
Re: E3 2017 - Nintendo : Mario sur un scooter ? Y'a que ça d
Le Mario confirme bien son originalité et sa diversité, bref de l'excellent nintendo où le gameplay est nouveau même si le nom Mario persiste, du tout bon à venir en octobre !

La bonne surprise en double, avec les 2 Metroid annoncés, et parfait pour ma 3DS en 3d bien sûr, et le deuxième en version Prime mais pour bien plus tard (m'étonnerait vraiment que cela soit pour 2018, vu qu'il n'y a encore rien à montrer)…
Mais on se sent rassurés (et enfin entendus !)…

Le rpg Pokemon, très bonne idée aussi sur Switch…

Et bien sûr ma grosse attendte avec le Xenoblade 2 qui sera là aussi rapidement en 2017…

Pour moi ce Nintendo Spotlight est la meilleure "conf" de cet E3 (rapide, variée, avec des surprises) après évidement celle d'Ubisoft (hyper dynamique et très bon niveau).

Et les deux autres constructeur ensuite, avec d'abord sony (honnête mais sans surprise), et très très loin derrière Ms avec une conf ratée qui ne donne pas (vraiment) envie d'acheter une X, alors que c'était leur objectif principal (et obligatoire pour les jeux)…

E3 2017 assez moyen, plutôt bon, mais avec un gros point noir pour la présentation ratée d'une nouvelle console, ce qui met ce constructeur dans une situation assez difficile : il paye son manque d'investissements dans des studios qu'il pourrait focaliser sur des gros jeux démontrant bien (facilement du moins) les capacités de leur nouvelle X…

Cela semble assez incroyable qu'une stratégie aussi évidente soit négligée par Ms, alors qu'ils ont les moyens financiers pour le faire…

Manque de vision stratégique pour le soft ?

Il ne suffit pas de sortir un hardware excellent (la X) mais encore faut-il le soutenir correctement (coucou la vita)…

Ms n'allait pas très bien côté jeux en 2016/17, pour l'année suivante cela ne semble pas vraiment bien partir non plus, alors que la route était toute tracée (sortir de bons gros jeux sur la X) : mais leur manque de studios les plombe complètement…

La réaction devrait être claire : investir dans des studios de développement, car sans gros jeux exclusifs intéressants, la vie de la X va être plus difficile…

Bien sûr, les multiplateformes seront (normalement) facilement au-dessus sur X, mais est-ce que cela va suffire ?

Car bientôt le choix va apparaître : acheter une X fin 2017, ou attendre fin 2018 pour une ps5 ? ;)
Voir le sujet
goldenboy92
Re: Nintendo Switch : vous pourrez jouer à Mario Kart 8 aux
daerlnaxe Wrote:
goldenboy92 Wrote:J ai achète la wiiu en me disant que je ne prendrais pas de ps4.
Projection cars annoncé watch dog et petit a petit aucun jeux tiere ne me fesais bavé le manque de puissance c est fait sentir très vite,(mise a part NFS htres jolie).
Au final je me suis pris la ps4 , et j ai délaissé ma wiiu , que j aime beaucoup d ailleurs.
Donc pour moi Nintendo c est fini je ne prend plus day one , bien trop chère .
Pour temps le petit bomberman me tante mais bon au prix final pour jouer a 4 c est pas du tout gerable.
Ce manque de puissance va se sentir plus rapidement que la Wii u.



Pourquoi ne pas upgrader ton pc ? Project car pc et ps4 c'est un peu le jour et la nuit , tearing, baisse framerate et u njeu d'un niveau graphique égal à DriveClub, alors que sur pc il ouvre les fesses. Après drole d'idée d'avoir pris la wiiU day one, c'est pas faute d'avoir expliqué que la mablette faisait gonfler le prix. Quant au manque de puissance on a une console dont les prévisions les plus faibles tablent sur une console légèrement plus faible qu'une one, en 720P ce qui divise a peu près par deux le nombre de pixels à afficher à l'écran ce qui allège les calculs... pour tout... surtout sur les shaders. Donc les jeux auront un rendu plus fin normalement sur une switch que sur une one, sur l'écran de la console. Le point noir pour le moment repose sur le dock et son 1080P.
Au niveau des jeux, si la console (et faut pas prendre day one justement, pour pouvoir vérifier a moins de crever d'envie de jouer à Zelda day one - perso je peux attendre) suit la ligne de la 3ds et les sorties annoncées montre que ça suit ce chemin, tu vas avoir une avalanche de j-rpg, jeux d'aventure etc etc... Ce qui fait cruellement défaut sur la ps4 et la one.

Je ne peux upgrade mon pc car c'est un portable.
Et je ne jou presque plus sur pc car tout mes amis sont sur console.
Mais sinon oui c est claire que j'aurais du attendre avant de prend la WII u malgré ca je me suis bien amusé et d’ailleurs je m amuse encore emu GC lol.
J'attend le nouveau Zelda et puis c'est tout pour la WII U .
Sinon pour la Switch je suis moins enthousiaste que ca , j ai une Nvidia et je pense que cette console ne va pas aller loin.
Ils auraient du faire un portable .
Voir le sujet