Home Homebrew Dettagliato il changelog della versione 1.2.0 di Atmosphère

[Scena Switch] Dettagliato il changelog della versione 1.2.0 di Atmosphère [rilasciato in pre-release]

277
0

Atteso un nuovo aggiornamento per Atmosphère, il Custom Firmware per console Nintendo Switch e Nintendo Switch Lite comincia  muovere i primi passi anche sul nuovo modello OLED.

L’esecuzione di Atmosphère sul modello OLED è possibile attraverso la saldatura del modchip HWFLY (il clone del modchip SX Core), anche se per il momento ne viene sconsigliata l’installazione.

Questa nuova versione aggiorna dunque il “boot” per riflettere l’ultimo comportamento ufficiale legato alla gestione del display e della batteria insieme alla correzione di alcuni bug più o meno importanti.

Sono state inoltre apportate alcune modifiche per garantire che i piccoli aggiornamenti del firmware potrebbero non richiedere un nuovo aggiornamento del custom firmware Atmosphère.

Changelog

  • “boot” è stato aggiornato per riflettere l’ultimo comportamento ufficiale per la gestione del display/della batteria.
    • Questo dovrebbe correggere eventuali problemi che potrebbero derivare dall’esecuzione di versioni precedenti sul modello OLED, se in qualche modo sei in grado di farlo.
  • Il sistema del “target firmware” è stato modificato per consentire al bootloader di specificare un’approssimazione, anziché il vero firmware di destinazione.
    • In precedenza ci aspettavamo che i bootloader conformi ispezionassero SYSTEM:/ per determinare il firmware di destinazione specifico.
    • Ora, abbiamo solo bisogno di una versione approssimativa, con major version == true major version e approximate version <= true version.
    • Ciò semplifica notevolmente i requisiti del bootloader e, di conseguenza, tutto il codice per l’accesso a SYSTEM è stato rimosso da fusee.
      • Ciò dovrebbe comportare una notevole accelerazione all’avvio di emummc con fusee, poiché gli accessi al SISTEMA erano la cosa più costosa fatta in precedenza.
    • Questo dovrebbe correggere qualsiasi incoerenza nel rilevamento del firmware durante l’avvio tramite fusee vs hekate.
    • Ciò dovrebbe anche migliorare la nostra compatibilità con le versioni del micro firmware, rendendo più probabile che l’atmosphère “funzioni” se non è cambiato nulla di importante.
  • La logica di determinazione del limite dinamico delle risorse è stata implementata in `pm` per corrispondere al comportamento ufficiale più recente.
    • Ciò semplifica notevolmente/rende coerenti anche i limiti delle risorse sui firmware più vecchi.
  • Sotto il cofano è stata eseguita un’enorme quantità di refactoring, tra cui:
    • **Nota**: Se sei uno sviluppatore che utilizza Atmosphere-libs, una serie di modifiche qui si stanno rompendo.
      • Non esitare a contattare SciresM#0524 per assistenza nell’aggiornamento del programma.
    • Lo spazio dei nomi del sistema operativo aveva molte primitive implementate/rese più accurate.
    • Poiché la mesosphere ora è sempre attiva, os::LightEvent (che richiedeva SVC più recenti) ora è utilizzabile a livello globale (e utilizzato dalla stratosphère ove pertinente).
    • Le asserzioni ora sono vere no-op quando si compila per il rilascio.
    • Stratosphere è ora costruito con -Wextra/-Werror.
    • La logica più “comune” nei file main.cpp del modulo di sistema è stata spostata in libstratosphere.
      • **Nota**: I file main.cpp per le precedenti librerie di atmosphère non funzioneranno più, per un numero davvero elevato di motivi.
    • Sono stati corretti numerosi problemi di stile del codice di vecchia data.
    • Mesosphere ora utilizza util::BitFlagSet per i permessi SVC.
    • Mesosphere ora inserisce la sua tabella di rilocazione all’interno di .bss, che consente di recuperare quella memoria dopo che sono state eseguite le rilocazioni.
      • Queste modifiche salvano ~16KB di memoria nel kernel, tutto detto e fatto.
    • Un certo numero di luoghi nella stratosphere in cui è possibile salvare la memoria sono stati individuati e sfruttati, portando a ~150-200 KB di memoria salvata.
    • Il modulo di sistema spl e loader è stato rifattorizzato per riflettere meglio la logica ufficiale.
    • Il codice del server ipc sf è stato aggiornato per emettere solo la logica mitm/defer quando tale logica è effettivamente richiesta da qualche parte nel processo.
    • Il codice del server ipc tipc è stato aggiornato per riflettere le modifiche alla logica ufficiale apportate in 13.0.0.
    • Molte, molte altre modifiche minori, per favore parla con SciresM#0524 o leggi i commit rilevanti se vuoi saperne di più.
  • Sono stati Corretti alcuni problemi minori, tra cui:
    • La gestione da parte di Mesosphere dei permessi SVC su thread pin/unpin è stata aggiornata per riflettere il comportamento ufficiale del kernel.
    • util::CountTrailingZeroes() è stato corretto per calcolare il valore corretto quando utilizzato in fase di compilazione.
  • Miglioramenti generali della stabilità del sistema per migliorare l’esperienza dell’utente.

Download: Atmosphère v1.2.0 pre-release

Download: fusee.bin

Download: Source code Atmosphère v1.2.0 pre-release

Fonte: github.com

[Scena Switch] Dettagliato il changelog della versione 1.2.0 di Atmosphère [rilasciato in pre-release] ultima modifica: 2021-10-16T19:46:43+02:00 da Francesco Lanzillotta
Articolo precedente[Scena Switch] Rilasciato Moonlight Switch v0.10
Articolo successivoRilasciato Lakka v3.5.1 per console Switch e altri piccoli dispositivi hardware
Sono Nato nel 1980 e da diversi anni coltivo la passione per tutto ciò che riguarda il mondo dei videogiochi, ho vissuto l'era degli home computer con il Commodore 64 e l'Amiga 500, da sempre appassionato di giochi di ruolo e di titoli di avventura.