Pubblicati sul wiki i piani di rilascio del Custom Firmware Atmosphère per Nintendo Switch

Verso la fine di marzo, lo sviluppatore SciresM aveva promesso una prima versione stabile del Custom Firmware Atmosphère, e ora ne abbiamo la conferma, sul wiki della repository sono stati pubblicati i piani di rilascio.

Il debutto del Custom Firmware partirà dalla versione 0.7 dopo la correzione di alcuni bug riportati anche all’interno della repository, salvo poi progredire per la versione 0.8, 0.9 e infine la 1.0.

Supporterà il seguente set di funzioni:

  • Fusée, un bootloader personalizzato.
    • Supporta il caricamento e la personalizzazione di KIP arbitrari dalla scheda SD.
    • Supporta patch del kernel definite in fase di compilazione su base per-firmware.
    • Configurabile modificando il file BCT.ini sulla scheda SD.
    • Atmosphère dovrebbe anche essere eseguibile anche dal bootloader alternativo hekate, per coloro che lo preferiscono.
  • Exosphère, un monitor sicuro personalizzato con funzionalità complete.
    • 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 caricatore Nintendo, replica completamente tutte le funzionalità originali.
      • Esteso per supportare il reindirizzamento arbitrario del contenuto eseguibile sulla scheda SD.
        • I file saranno caricati preferenzialmente da /atmosphere/titles/<titleid>/exefs/ , se presente.
        • 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 file PFS0 in /atmosphere/titles/<titleid>/exefs.nsp sostituirà completamente gli exef originali su 2.0.0+.
        • Il reindirizzamento sarà opzionalmente modificabile tenendo premuti determinati pulsanti.
      • Implementato il supporto completo per l’applicazione di patch ai contenuti NSO.
        • Verranno applicate tutte le patch su percorsi come /atmosphere/exefs_patches/<user-defined patch name>/<Hex Build-ID for NSO to patch>.ips , consentendo una facile distribuzione di patch che supportano più versioni e/o titoli.
        • 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_None all’avvio.
    • Un modulo di sistema del service manager.
      • Reimplementazione del service manager di Nintendo, replica completamente tutte le funzionalità originali.
      • Supporto in fase di compilazione per la reintroduzione di “smhax”, che consente ai clienti di saltare facoltativamente la verifica dell’accesso ai servizi saltando l’inizializzazione.
      • Esteso per consentire agli homebrew di acquisire più maniglie per i 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 process manager.
      • Reimplementazione del process manager di Nintendo, replica completamente tutte le funzionalità originali.
      • Esteso per consentire a homebrew di acquisire handle per processi arbitrari e quindi leggere e 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 un accesso più rapido sulla scheda SD .
        • 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 situata in /atmosphere/titles/<title ID>/romfs.bin , e tutti i file sfusi in /atmosphere/titles/<title ID>/romfs/ , e unendoli 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ò essere utilizzato per intercettare anche i comandi inviati da titoli di sistema arbitrari (ad eccezione di quelli lanciati prima che la scheda SD sia attiva), creando un file /atmosphere/titles/<title ID>/fsmitm.flag sulla scheda SD.
    • Un modulo di sistema personalizzato per crash report.
      • Funziona come un rimpiazzo per il modulo del sistema Creport di Nintendo.
      • Genera report dettagliati e leggibili su arresti anomali del sistema, salvandoli in /atmosphere/crash_reports/<timestamp>_<title ID>.log .
      • Poiché i report non vengono inviati al erpt erpt, questo disabilita tutta la telemetria correlata al rapporto di arresto anomalo.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

Previsto


Ci sono un certo numero di funzionalità pianificate per l’inclusione di Atmosphère che non saranno presenti nella 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:

  • Thermosphère, un’implementazione di emunand basata su hypervisor.
  • 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 della Switch. Potrebbe non essere una reimplementazione del monitor di debug di Nintendo.
      • Questo dovrebbe includere un’implementazione gdbstub, possibilmente prendendolo in prestito da Luma3DS.
      • Questa API dovrebbe essere ulteriormente utilizzabile per gli scopi di modifica della RAM/”Cheat Engine”.
    • Un modulo di sistema shell personalizzato, che fornisce agli utenti un mezzo per eseguire vari RPC (con supporto per funzionalità comuni e 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 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 nel proprio 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.
(Visited 1 times, 1 visits today)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *