[SWITCH]Rilasciato Atmosphère V0.7.4Tempo di lettura : 6 min

Quinto aggiornamento del CFW Atmosphère rilasciato in nottata da SciresM con la nuova versione 0.7.4.libstratosphere è stato completamente riscritto mentre per i metadati RomFS sono ora memorizzati nella cache della scheda SD su build invece di essere mantenuti in memoria.Inoltre molti bugfix  e come sempre miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.Per installare, basta decomprimere il file ZIP nella SD e inviare il fusee-primary.bin allo switch tramite Fusée Gelée .Continuate a leggere l’articolo per il set di funzioni disponibili e il changelog completo di questa versione.

Componenti

Atmosphère è costituito da più componenti, ognuno dei quali sostituisce / modifica un diverso componente del sistema:

  • Fusée: Loader di primo livello, responsabile del caricamento e della validazione della fase 2 (TrustZone personalizzato) più il pacchetto 2 (i sysmodules Kernel / FIRM) e la relativa patch se necessario. Questo sostituisce tutte le funzionalità normalmente in Package1loader / NX Bootloader.
  • Exosphère: TrustZone personalizzato, per eseguire un monitor sicuro personalizzato
  • Thermosphère: supporto ELu EmuNAND, ovvero backup e utilizzo di immagini NAND virtualizzate / reindirizzate
  • Stratosphère: Custom Sysmodule (s), entrambi in stile Rosalina per estendere il kernel / fornire nuove funzionalità e lo stile di reimplementazione del caricatore per agganciare azioni importanti del sistema
  • Troposphère: patch del sistema operativo Horizon a livello di applicazione, utilizzati per implementare le funzionalità CFW desiderabili

FUNZIONI

  • Fusée , un bootloader personalizzato.
    • Supporta il caricamento / personalizzazione di KIP arbitrari dalla scheda SD.
    • Supporta patch del kernel definite in fase di compilazione su base per-firmware.
    • Configurabile modificando BCT.ini sulla scheda SD.
    • Atmosphère dovrebbe anche essere risucchiato dal bootloader hekate alternativo , per coloro che lo preferiscono.
  • Exosphère , un monitor sicuro personalizzato completo.
    • Exosphere è una re-implementazione del firmware TrustZone di Nintendo, che replica completamente tutte le sue funzionalità.
    • Inoltre, è stato esteso per fornire informazioni sull’attuale versione dell’API Atmosphere, per gli homebrew che desiderano farne uso.
  • Stratosphère , un insieme di moduli di sistema personalizzati. Ciò comprende:
    • Un modulo di sistema del loader .
      • Reimplementazione del loader Nintendo, replicando completamente tutte le funzionalità originali.
      • Esteso per supportare il reindirizzamento arbitrario del contenuto eseguibile sulla scheda SD.
        • I file verranno caricati preferenzialmente /atmosphere/titles/<titleid>/exefs/, se presenti.
        • I file presenti nell’exef originale che un utente vuole contrassegnare come non presente possono essere “stub” creando un file .stub sulla SD.
        • Se presente, un PFS0 /atmosphere/titles/<titleid>/exefs.nsp sostituirà completamente l’exef originale su 2.0.0+
        • Il reindirizzamento sarà opzionalmente modificabile tenendo premuti determinati pulsanti.
      • Viene implementato il supporto completo per l’applicazione di patch ai contenuti NSO.
        • /atmosphere/exefs_patches/<user-defined patch name>/<Hex Build-ID for NSO to patch>.ips Verranno applicate tutte le patch su percorsi simili , consentendo una facile distribuzione di patch che supportano più versioni e / o titoli di firmware.
        • Sono supportati entrambi i formati IPS e IPS32.
      • Ampliato per supportare l’avvio di contenuti da file eseguibili liberi sulla scheda SD, senza richiedere alcuna installazione ufficiale.
        • Questo viene fatto specificando FsStorageId_Noneall’avvio.
    • Un modulo di sistema del gestore servizi .
      • Reimplementazione del service manager di Nintendo, replicando completamente tutte le funzionalità originali.
      • Supporto in fase di compilazione per la reintroduzione di “smhax”, che consente al client di saltare facoltativamente la verifica dell’accesso ai servizi saltando l’inizializzazione.
      • Esteso per consentire a homebrew di acquisire più servizi privilegiati rispetto a quanto consentito da Nintendo.
      • Esteso per aggiungere una nuova API per l’installazione di listener Man-In-The-Middle per servizi arbitrari.
        • L’API può inoltre essere utilizzata per rilevare in modo sicuro se un servizio è stato registrato in modo non bloccante senza effetti collaterali.
        • Documentazione completa delle API in arrivo.
    • Un modulo di sistema del gestore processi .
      • Reimplementazione del process manager di Nintendo, replicando completamente tutte le funzionalità originali.
      • Esteso per consentire a homebrew di acquisire handle per processi arbitrari e quindi leggere / modificare la memoria di sistema senza bloccare l’esecuzione.
      • Esteso includendo un’implementazione completa ed estesa del modulo di sistema boot2 di Nintendo .
        • L’ordine di lancio del titolo è stato ottimizzato per consentire l’accesso alla scheda SD più rapidamente.
        • Il modulo del sistema di raccolta degli errori non viene avviato intenzionalmente, impedendo la generazione di molti report di errore di telemetria del sistema.
        • Gli utenti possono inserire i propri sysmodules personalizzati sulla scheda SD e contrassegnarli per l’avvio automatico di boot2 creando un file /atmosphere/titles/<title ID>/boot2.flag sulla loro scheda SD.
    • Un modulo di sistema fs.mitm personalizzato .
      • Utilizza l’API MitM di Atmosphère per fornire agli utenti un mezzo semplice per modificare i contenuti del gioco.
      • Intercetta tutti i comandi FS inviati dai giochi, con una gestione speciale per i comandi utilizzati per montare contenuti RomFS / DLC per consentire una facile creazione e distribuzione di mod di gioco / DLC.
        • fs.mitm analizzerà l’immagine RomFS di base per un gioco, un’immagine RomFS in cui si trovano /atmosphere/titles/<title ID>/romfs.bine tutti i file /atmosphere/titles/<title ID>/romfs/inutilizzati e li unirà in un’unica immagine RomFS.
          • Quando si uniscono, i file sfusi sono preferiti al contenuto nell’immagine della scheda SD romfs.bin e i file dall’immagine della scheda SD sono preferiti a quelli nell’immagine di base.
      • Può inoltre essere utilizzato per intercettare i comandi inviati da titoli di sistema arbitrari (ad eccezione di quelli lanciati prima che la scheda SD sia attiva), creando un /atmosphere/titles/<title ID>/fsmitm.flagfile sulla scheda SD.
    • Un modulo di sistema personalizzato rapporto di arresto anomalo .
      • Funziona come un rimpiazzo per il modulo del sistema Creport di Nintendo.
      • Genera report dettagliati e leggibili da umani sui crash di sistema, salvando in /atmosphere/crash_reports/<timestamp>_<title ID>.log.
      • Poiché i report non vengono inviati al erptsysmodule, disabilita tutta la telemetria correlata al rapporto di arresto anomalo.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

In previsione

Ci sono un certo numero di funzionalità pianificate per l’inclusione di Atmosphère che non saranno disponibili per la versione 0.7. A mano a mano che vengono implementati, la versione di rilascio di Atmosphère passerà da 0.7 a 0.8 a 0.9 e infine 1.0.

Queste funzionalità attualmente pianificate includono (ma non sono limitate a):

  • Thermosphère , un’implementazione emunand hypervisor-based.
  • Un set di strumenti di debug ricco di funzionalità (un componente di Stratosphère).
    • Un modulo di sistema monitor di debug personalizzato , che fornisce un’API per il debug dei processi di Switch. Potrebbe non essere una reimplementazione del monitor di debug di Nintendo.
      • Questo dovrebbe includere un’implementazione gdbstub, possibilmente in prestito da Luma3DS.
      • Questa API dovrebbe essere ulteriormente utilizzabile per gli scopi di modifica della RAM / “Cheat Engine”.
    • Un modulo di shell system personalizzato , che fornisce agli utenti un mezzo per eseguire vari RPC (con supporto per funzionalità comuni / interessanti) sul proprio Switch in remoto. Potrebbe non essere una reimplementazione della shell di Nintendo.
      • Questo dovrebbe supportare le connessioni client sia su Wi-Fi che su USB.
    • Un modulo di sistema di registrazione personalizzato , che fornisce un mezzo per altri componenti di Atmosphère (e possibilmente per i moduli di sistema di Nintendo) per registrare l’output di debug.
      • Questo dovrebbe supportare l’accesso alla scheda SD, tramite Wi-Fi e via USB.
  • Un sistema di plugin a livello di applicazione.
    • Idealmente, ciò funzionerà in qualche modo come il sistema di plugin di NTR-CFW sul 3DS, consentendo agli utenti di eseguire il proprio codice nel processo di un gioco nella propria thread.
  • Un’implementazione analogica AR Code / Gameshark, che consente una facile condivisione / sviluppo di codici cheat da eseguire sul dispositivo.
  • Ulteriori estensioni ai componenti esistenti di Atmosphère.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

Changelog

V0.7.4

  • libstratosphere è stato completamente riscritto e diviso in un suo sottomodulo separato.
    • Sebbene questo sia principalmente “sotto la cappa” per gli utenti finali, il refactoring è più veloce (migliorando sia le prestazioni di avvio che quelle di runtime), più preciso (molte delle strutture IPC interne sono ora bug-per-bug compatibili con le implementazioni di Nintendo) e significativamente più stabile (risolve un gran numero di bug presenti nella vecchia libreria).
    • L’API refactored è significativamente più pulita e più facile da scrivere per il codice del modulo di sistema, che dovrebbe migliorare / accelerare lo sviluppo della stratosfera.
    • Gli sviluppatori che desiderano scrivere i propri moduli di sistema personalizzati per lo Switch possono ora includere facilmente libstratosphere come sottomodulo nei loro progetti.
  • Loader è stato esteso per aggiungere un nuovo modo generico per reindirizzare il contenuto (ExternalContentSources), courtesy @ misson20000 :
    • Un nuovo comando è stato aggiunto a ldr: shel, includendo un tid per reindirizzare e restituire un handle di sessione.
    • Quando il TID richiesto si sta caricando, Loader interrogherà l’handle come se fosse un IFileSystem.
      • Ciò consente ai clienti di definire genericamente i propri filesystem e sovrascrivere il contenuto con essi nel loader.
  • fs.mitm ha ottenuto diverse ottimizzazioni che dovrebbero migliorare le sue prestazioni e stabilità:
    • Il reindirizzamento di RomFS ora si verifica solo quando c’è del contenuto da reindirizzare, anche se il titolo viene mitmato altrove.
    • Viene conservata una cache dell’archivio dati attivo, se presente, per tutti gli ID titolo aperti. Ciò significa che se due processi tentano entrambi di aprire lo stesso archivio, fs.mitm non duplicherà alcuno dei suoi lavori.
    • I metadati RomFS sono ora memorizzati nella cache della scheda SD su build invece di essere mantenuti in memoria – questo riduce notevolmente l’ingombro della memoria e consente a fs.mitm di reindirizzare più titoli contemporaneamente rispetto a prima.
  • Sono stati corretti numerosi bug, tra cui:
    • Una perdita di risorse è stata risolta durante la creazione del processo. Questo risolve i crash che si verificano quando un grande numero di giochi (> 32) sono stati lanciati dall’ultimo riavvio.
    • fs.mitm non ha più errori durante la ricezione di un buffer a dimensione zero. Questo risolve i crash in alcuni giochi, incluso The Messenger.
    • La semantica del server multi-thread non dovrebbe più causare deadlock in determinate circostanze. Questo risolve i crash in alcuni giochi, tra cui NES Classics.
    • Ora PM fornisce solo le autorizzazioni complete per i KIP attivi. Questo risolve un potenziale crash in cui nuovi processi potrebbero non essere in grado di essere registrati con FS.
  • Il make disttarget ora include il ramo nel nome zip generato.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.7.3

  • Loader e fs.mitm ora provano a ricaricare loader.ini prima di leggerlo. Ciò consente di modificare la combinazione di tasti di sovrascrittura / ID titolo HBL in fase di esecuzione.
  • Aggiunto un MitM tra set: sys e qlaunch, usato per sovrascrivere la stringa di versione del sistema visualizzata nelle impostazioni di sistema.
    • Le impostazioni di sistema ora verranno visualizzate <Actual version> (AMS <x>.<y>.<z>).
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.7.2

  • Risolto un bug nell’implementazione di lettura LayeredFS di fs.mitm che causava il crash di alcuni giochi durante il tentativo di leggere i file.
  • Risolto un problema riguardante il firmware 1.0.0 che causava il crash dei giochi con errore irreversibile 2001-0106 all’avvio.
  • Miglioramento dei nomi dei file da parte dell’obiettivo make dist.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.7.1

  • Risolto un bug che impediva alle console in 4.0.0-4.1.0 di andare in sleep e di risvegliare il backup.
  • Risolto un bug che impediva alle console di <4.0.0 di avviarsi senza KIP specifici sulla scheda SD.
  • Un’API è stata aggiunta al Service Manager di Atmosphère per posticipare l’acquisizione di tutti i servizi specifici fino al completamento dell’inizializzazione.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

Download

Fonte
Github

hitech

Ti è piaciuta la notizia? Supporta theheroGAC su Patreon!

theheroGAC

Nato negli anni 80 con la passione dei videogiochi e delle console.Il mio primo home computer è l'Amiga 600 regalato a 10 anni.Amo aiutare le persone in difficoltà e scrivere notizie sulle console.Studio all'università e il sito Games And Consoles è la mia passione.Per gli amici mi potete chiamare Ciccio

Ti potrebbe anche interessare

Rispondi