In queste ore lo sviluppatore SciresM ha rilasciato una nuova versione (53esima versione) del suo firmware personalizzato Atmosphère con una nuova release 0.20.1.
Atmosphère è composto da più componenti, ognuno dei quali sostituisce/modifica un diverso componente del sistema:
- Fusée: First-stage Loader, responsabile del caricamento e della convalida della fase 2 (TrustZone personalizzato) più pacchetto2 (Kernel/FIRM sysmodules) e dell’applicazione delle patch necessarie. Sostituisce tutte le funzionalità normalmente in Package1loader/NX Bootloader.
- Sept: Payload utilizzato per abilitare il supporto per la derivazione della chiave di runtime su 7.0.0.
- Exosphère: TrustZone personalizzato, per eseguire un Secure Monitor personalizzato
- Thermosphère: supporto EL2 EmuNAND, ovvero backup e utilizzo di immagini NAND virtualizzate/reindirizzate
- Stratosphère: Custom Sysmodule(s), sia in stile Rosalina per estendere il kernel/fornire nuove funzionalità, sia di reimplementazione del loader per agganciare importanti azioni di sistema
- Troposphère: patch del sistema operativo Horizon a livello di applicazione, utilizzate per implementare le funzionalità CFW desiderabili
Changelog
v0.20.1
- È stato risolto un problema che causava un grave peggioramento delle prestazioni dopo la riattivazione dalla sospensione sull’hardware Mariko.
- Ciò era dovuto a Mariko MTC risultante in una frequenza di 1599,999 MHz invece di 1600 MHz.
- A causa di questo off-by-one, il codice di gestione EMC di Nintendo non è riuscito a inizializzare/prendere il controllo, e dopo la riattivazione dalla sospensione la RAM si sarebbe trovata in uno stato strano.
- Miglioramenti generali della stabilità del sistema per migliorare l’esperienza dell’utente.
v0.20.0
Quanto segue è ciò che è stato modificato rispetto all’ultima versione:
- DRAM training (MTC) è stato implementato per l’hardware Mariko, aumentando la velocità della RAM da 204 MHz a 1600 MHz.
- Ciò ottimizza in modo significativo la velocità di avvio di Mariko, dimezzando il tempo di avvio.
- Riduzioni tipiche del tempo di avvio (misurate da “seleziona fuse” a “menu home visibile”):
- Normale (Iowa): ~35 secondi -> ~18 secondi.
- Lite (Hoag): ~65 secondi -> ~30 secondi.
- NOTA: è in corso il lavoro su un componente fusee componente, con un’attenzione specifica per garantire una buona velocità di avvio.
- Con un po’ di fortuna, l’avvio sarà molto più veloce su tutte le unità (Mariko ed Erista) in una prossima versione.
- Sept è stato sostituito ed eliminato dal repository.
- Le unità Eista ora utilizzano un firmware TSEC personalizzato per gestire la derivazione della chiave.
- Per maggiori dettagli, contattare
SciresM#0524
su discord.
- Per maggiori dettagli, contattare
- Questo ha una serie di vantaggi, tra cui:
- Ciò semplifica notevolmente la logica di derivazione della chiave rendendola coerente su tutti i firmware.
- Fusee non accede/utilizza più i keyblob, quindi le unità che hanno distrutto/perso accidentalmente i keyblob possono avviarsi senza di essi.
- Ciò aumenta notevolmente la stabilità (sept è stata la principale fonte di errori di avvio).
- Ciò migliora la velocità di avvio (sept è stato riavviato più volte, ha eseguito l’inizializzazione dell’hardware più volte ed è stato generalmente molto lento).
- Il processo di creazione di Atmosphère ora è molto più sano.
- Ciò semplifica notevolmente la logica di derivazione della chiave rendendola coerente su tutti i firmware.
- Le unità Eista ora utilizzano un firmware TSEC personalizzato per gestire la derivazione della chiave.
- Sono stati apportati numerosi miglioramenti al motore dei cheat dmnt.
- I cheat che accettano un operando di una regione di memoria possono ora utilizzare i tipi “2” o “3” per eseguire accessi relativi alle regioni alias/aslr, rispettivamente.
- È stato aggiunto il supporto per un codice operativo “altro” nel motore dei cheat, per rendere più naturale la scrittura di determinate logiche condizionali.
- È stato aggiunto il supporto per un homebrew di cheat orchestrator (come edizon) per scollegarsi da un processo cheat/impostare il cheat principale a livello di codice.
- Daybreak ora fornisce un avviso quando si tenta di installare un firmware più recente della versione più alta che atmosphère sa che supporta.
- Per facilitare ciò, exosphere ora espone la versione HOS supportata tramite un’estensione ConfigItem.
- Sono stati risolti alcuni problemi minori, tra cui:
- Diverse implementazioni SVC di debug della mesosphere sono state aggiornate per riflettere la semantica dell’ultimo kernel.
- È stato corretto il supporto per la derivazione delle chiavi di crittografia BIS su alcuni prototipi di hardware.
- Miglioramenti generali della stabilità del sistema per migliorare l’esperienza dell’utente.