Atmosphère 1.5.4 (pre-release)

Avec l’arrivée du rouleau-compresseur Zelda TOTK attendu de tous, SciresM s’amuse un peu avec son Custom Firmware, de manière à l’optimiser pour la fonctionnalité romfs si chère aux moddeurs. Il s’avère en effet que ce jeu et Fire Emblem: Engage sont extraordinairement gourmands, de par le nombre de fichiers qui les composent (TOTK vainqueur par KO avec 300000 fichiers au compteur ! contre « seulement » 190000 pour Fire Emblem). Il a donc imaginé un moyen de détourner un peu de mémoire là où il peut en piquer, sans que cela n’impacte les performances ou la stabilité du système. C’est encore en pre-release, ce qui veut dire que tout n’est pas forcément testé en profondeur, à utiliser en connaissance de cause.

↓ Nouveautés / Corrections (cliquer pour voir) ↓'

1.5.4 is Atmosphère’s seventy-third official release.

Please be sure to update fusee when upgrading to 1.5.4. fusee-primary no longer exists, and will not work any more.

With thanks to the @switchbrew team, Atmosphère 1.5.4 is bundled with hbl 2.4.3, and hbmenu 3.5.1.

Please note: Atmosphère 1.5.4 is currently in pre-release, and issues may be found that need to be fixed before full release.

  • If any bugs are reported while Atmosphère is in pre-release, they will be fixed and the build will be updated.
  • 1.5.4 will transition to release after a short amount of time has passed without pressing bug reports.
  • In particular, Atmosphère 1.5.4 contains an experimental new feature to support layeredfs/romfs mods for The Legend of Zelda: Tears of the Kingdom, which may have bugs I did not discover during my own testing.

The following was changed since the last release:

  • Experimental new functionality was implemented to prevent crashing when building romfs for certain games with obscene file counts.
    • This includes both Fire Emblem: Engage (~190000 files), and The Legend of Zelda: Tears of the Kingdom (~300000) files.
    • The solution involved adding functionality to ams.mitm/pm to dynamically steal memory from the application (and system) pool as needed when the games have romfs mods.
      • No memory is taken, and there is no cost to this functionality when playing without mods (or with overrides disabled).
    • The Legend of Zelda: Tears of the Kingdom is currently the absolute worst case game, requiring ~48 MB of memory to build a romfs image to play with mods.
      • Right now, the memory is sourced as follows: 32 MB (base ams.mitm heap), 10 MB (stolen from application pool), 8 MB (dynamically stolen from system pool).
      • This is 50 MB, which allows a little overhead in the worst case (prevents crashing due to exhausting the heap for other allocations in ams.mitm).
      • Zelda is remarkably sensitive to memory being stolen from the application pool, tolerating no more than 16 MB on 1.0.0 and 12 MB on 1.1.0. I have chosen to steal 10 MB, to be safe, for now.
        • This may break on a future game update, but I will fix it if and when that happens. There is no perfect solution; the game simply requires too much memory to support mods flawlessly, and I am forced to compromise.
    • As usual, if you encounter a game that exhausts ams.mitm’s memory (crashing it) when loading layeredfs mods, please contact SciresM#0524.
      • « I am jinxing myself by saying this, but it’s really hard to imagine any game being worse than The Legend of Zelda: Tears of the Kingdom, but if it happens again I will drop everything to fix it as usual ».
  • General system stability improvements to enhance the user’s experience.

For information on the featureset supported by 1.5, please see the official release notes.