[SWITCH]Rilasciato Atmosphère V0.8.6Tempo di lettura : 15 min

Nuovo aggiornamento corposo per Atmosphère rilasciato poche ore fa da SciresM con la nuova versione 0.8.6.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.8.6

  • Sono stati corretti numerosi bug, tra cui:
    • In fs.mitm è stato risolto un caso di logica invertita che impediva il corretto funzionamento del sistema di flag.
    • L’accesso al servizio tempo è stato corretto sia in caso di errore / fatale.
      • Questo risolve i timestamp usati nei nomi dei file fatal / crash report.
    • Un problema di coerenza è stato risolto nel driver di Security Engine di exosphère.
      • Questo risolve alcuni problemi di instabilità riscontrati durante l’overclocking della CPU.
    • Loader ora annulla correttamente gli NRO, quando viene utilizzato ldr: ro.
      • Questo risolve un arresto anomalo quando si avvia ripetutamente l’applet Web su <3.0.0.
    • L’utilizzo di hidKeysDown è stato corretto in hidKeysHeld in diversi moduli.
      • Questo risolve un problema raro in cui i tasti premuti potrebbero essere stati rilevati in modo errato.
    • Un problema con lo smontaggio del file system di codice è stato risolto nel caricatore.
      • A volte questo problema può causare l’avvio di un errore irreversibile 0x1015 all’avvio.
    • Sono stati corretti due bug nelle implementazioni della macchina virtuale cheat di dmnt.
      • Ciò potrebbe causare il malfunzionamento delle cheat in determinate circostanze.
    • Ora PM utilizza un buffer statico invece di uno assegnato dinamicamente durante l’avvio del processo.
      • Questo risolve un problema di esaurimento della memoria durante la creazione con gcc 8.3.0.
    • Una soluzione alternativa per un bug deadlock nel kernel di Horizon su> = 6.0.0 è stata aggiunta in dmnt.
      • Ciò impedisce il blocco del sistema all’avvio di determinati titoli con cheat abilitati (ad es. Mario Kart 8 Deluxe).
    • set.mitm ora legge la versione del firmware di sistema direttamente dall’archivio della versione di sistema, invece di chiamare in set: sys.
      • Questo risolve la compatibilità con 1.0.0, che ora si riavvia con successo.
  • La macchina virtuale cheat di dmnt aveva alcune modifiche al set di istruzioni.
    • È stato aggiunto un nuovo codice operativo per l’inizio di blocchi condizionali basati sul contenuto del registro.
    • Altre modalità di indirizzamento sono state aggiunte all’opcode StoreRegisterToAddress.
    • Questi dovrebbero consentire l’implementazione di cheat più complessi.
  • È stato aggiunto un nuovo sistema per il salvataggio dello stato delle opzioni di cheat tra gli stivali del gioco.
    • I commutatori sono ora salvati atmosphere/titles/<title id>/cheats/toggles.txtquando uno dei commutatori è stato caricato correttamente da quel file o l’impostazione di sistema atmosphere!dmnt_always_save_cheat_togglesè diversa da zero.
    • Ciò elimina la necessità di impostare manualmente cheat da all-on o all-off allo stato desiderato su ogni avvio di gioco.
  • Il comportamento predefinito per il supporto HBL del caricatore è stato modificato.
    • Invece di lanciare HBL quando l’album viene lanciato senza R, il caricatore ora lancia HBL quando l’album o qualsiasi gioco viene lanciato con R.
    • Loader ora sostituirà qualsiasi app oltre a un ID titolo specifico quando hbl_config!override_any_appè true in loader.ini.
      • Di conseguenza, l’ hbl_config!title_id=appimpostazione è stata deprecata. Il supporto verrà rimosso in Atmosphère 0.9.0.
  • È stato aggiunto il supporto di prima classe a loader e fs.mitm per consentire a homebrew di avviare applet web.
    • Loader ora causerà il percorso NCA “HtmlDocument” da risolvere per qualsiasi titolo che HBL sta prendendo in consegna, anche se normalmente non lo farebbe.
    • fs.mitm ora provocherà anche richieste per montare il contenuto HtmlDocument per il titolo di HBL per aprire la sdmc:/atmosphere/hbl_htmlcartella.
      • Per impostazione predefinita, questo contiene solo una lista bianca degli URL.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

Per informazioni sul set di funzioni supportato da 0.8.0, consultare le note di rilascio ufficiale

Vecchie versioni Visualizza

V0.8.5

  • È stato aggiunto il supporto per sovrascrivere il contenuto in base al titolo, separato dall’override HBL.
    • Questo permette di usare mod sullo stesso titolo che si usa per lanciare HBL.
    • Per impostazione predefinita, !L viene utilizzato per sovrascrivere il contenuto del titolo (questo è configurabile modificando default_config!override_key in loader.ini)
    • Questa combinazione di tasti può essere impostata su una base per titolo creando un atmosphere/titles/<title id>/config.ini e modificando override_config!override_key.
  • Intestazioni di contenuto sono state aggiunte per i file incorporati all’interno di fusee-secondary.
    • Ciò consentirà ai bootloader non-fusee (come hekate) di estrarre i componenti raggruppati all’interno dei binari di rilascio.
    • Ciò dovrebbe semplificare enormemente il processo di aggiornamento in futuro, per gli utenti che non avviano Atmosphère usando il fusee.
  • È stato aggiunto il supporto per i codici cheat.
    • Questi sono gestiti da un nuovo dmntsysmodule, che reimplementerà anche il Debug Monitor di Nintendo in futuro.
    • I codici cheat possono essere abilitati / disabilitati all’avvio dell’applicazione tramite una combinazione di tasti per titolo.
    • I cheat sono completamente retrocompatibili con il formato preesistente, anche se sono stati corretti numerosi bug e sono state aggiunte alcune nuove funzionalità.
    • È stata aggiunta un’API di servizio HIPC ( dmnt:cht), che consentirà all’utente di interfacciarsi e gestire il cheat manager di Atmosphère.
      • Si prega di consultare la documentazione pertinente .
      • Il codice completo del client può essere trovato in libstratosphere .
      • Gli utenti interessati all’interfaccia dovrebbero vedere EdiZon , che dovrebbe avere il supporto per l’interfacciamento con l’API di Atmosphère poco dopo le versioni 0.8.5.
  • È stato corretto un bug che avrebbe causato la visualizzazione dello schermo fatale di Atmosphère su 1.0.0-2.3.0.
  • È stato corretto un bug che causava il danneggiamento dei backup automatici di Prodinfo di Atmosphère.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.8.4

  • È stato aggiunto il supporto per 7.0.0 / 7.0.1.
    • Ciò è facilitato da un nuovo payload, septche può essere firmato, crittografato e quindi caricato dal firmware TSEC di Nintendo.
    • septricaverà le chiavi necessarie per avviare il nuovo firmware, quindi caricherà sept/payload.binla scheda SD e salterà su di essa.
  • Il riconoscimento delle applicazioni per override / mitm è stato migliorato.
    • L’intervallo ID titolo ufficiale di Nintendo ( 0x0100000000000000– 0x01FFFFFFFFFFFFFF) è ora applicato.
  • È stata risolta una condizione di deadlock coinvolgendo i sysmodules di libstratosphere mitm.
  • Sono state aggiunte patch del kernel per il supporto JIT (Grazie, @ m4xw !).
    • Questi allentano le restrizioni sul processo del chiamante in svcControlCodeMemory.
  • set.mitmfs.mitmsono stati uniti in un singolo ams_mitmsysmodule.
    • Ciò consente di salvare un ID di processo, consentendo agli utenti di eseguire un processo aggiuntivo fino al limite del processo 0x40.
  • È bpc.mitmstato aggiunto un componente, che esegue un comportamento personalizzato alle richieste di arresto / riavvio amo applicazioni.
    • L’esecuzione di un riavvio dal menu di riavvio ora si riavvia in atmosfera. Questo può essere configurato tramite system_settings.ini.
    • L’esecuzione di uno spegnimento dal menu di riavvio ora funziona correttamente con AutoRCM e fa un vero spegnimento.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

Per informazioni sul set di funzioni supportato da 0.8.0, consultare le note di rilascio ufficiali . V0.8.3

  • È stato implementato un firmware hotboot personalizzato, che non esegue controlli anti-downgrade dei fusibili.
    • Questo risolve la modalità di sospensione quando si utilizza una NAND ridotta.
    • Ciò rimuove anche la dipendenza finale di Atmosphère dal binario PK11 crittografato di Nintendo; tutti i componenti sono ora ri-implementati.
  • L’API ExternalContentSource è stata modificata in modo che non venga cancellata in caso di errore.
  • L’override del contenuto ora supporta un’impostazione “app” che fa sì che tutte le applicazioni vengano sostituite con HBL anziché con un titolo specifico.
    • Nota: poiché i tasti di override sono a livello di sistema, l’utilizzo di questa impostazione impedirà l’utilizzo di mod nei giochi (poiché ogni gioco sarà HBL).
  • È stato corretto un errore che causava un errore irreversibile quando veniva chiamato svcBreak su 5.0.0+.
  • È stata aggiunta un’estensione a set.mitm per supportare la personalizzazione delle impostazioni di sistema.
    • Questi sono controllati da atmosphere/system_settings.ini, vedi qui per la documentazione.
    • Per impostazione predefinita, viene utilizzato per disabilitare il caricamento del report degli errori e abilitare la superspeed USB 3.0 quando possibile.
  • È stata aggiunta un’estensione a sm, aggiungendo un nuovo sm:dmntservizio.
    • Può essere utilizzato da un monitor di debug per eseguire il debug dello stato di registrazione di vari altri servizi.
  • È stato corretto un bug nell’API MitM che a volte poteva causare un blocco del sistema durante l’avvio.
  • È stata apportata una modifica all’API MitM: nei casi in cui sm avrebbe restituito 0xE15 durante l’installazione di un servizio mitm, ora rimanda il risultato (seguendo la semantica GetService).
  • Il supporto per l’avvio in modalità manutenzione tenendo premuto * / – è stato aggiunto a PM.
  • È stata aggiunta un’estensione a Exosphere, aggiungendo un SMC personalizzato che consente il DMA in IRAM.
  • Inoltre, smcGetConfig è stato esteso al riavvio su un payload in IRAM a 0x40010000 quando ConfigItem 65001 è impostato su 2.
    • Fatal ora userà questo per riavviare sdmc: /atmosphere/reboot_payload.bin se presente, quando viene premuto un pulsante vol.
    • È stato anche scritto un esempio di homebrew (“reboot_to_payload”) ed è ora incluso in Atmosphère.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.8.2

  • Un certo numero di bug è stato risolto per gli utenti che a volte  vedevano Key Derivation Failed!.
    • Le temporizzazioni di abilitazione del clock KFUSE sono state regolate per consentire il tempo di stabilizzarsi prima che a TSEC venga concesso l’accesso.
    • È stata risolta una condizione di competizione che potrebbe causare l’utilizzo di dati chiave errati in 6.2.0
    • Il firmware TSEC è ora ritentato in caso di errore, risolvendo un errore che riguardava ~ 1/50 scarichi in 6.2.0.
  • È stato risolto un bug che causava il mancato funzionamento di alcuni moduli sul firmware 1.0.0.
  • È stato risolto un bug che causava il mancato funzionamento della modalità sleep con debugmode abilitato.
    • Di conseguenza, debugmode è ora abilitato nel BCT.ini predefinito.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.8.1

  • È stato corretto un bug che induceva gli utenti a vedere Failed to enable SMMU!se il fusee era stato precedentemente riavviato.
    • Questo messaggio si verifica ancora sporadicamente se il fusee non viene avviato da coldboot, ma non può mai succedere due volte di seguito.
  • Una condizione di competizione è stata risolta nella funzionalità di Atmosphere bis_protect che poteva far sì che NS potesse sovrascrivere le chiavi pubbliche BCT.
    • Questo a volte ha corrotto la protezione AutoRCM, la correzione corrente è stata testata su hardware e verificata per funzionare.
  • È stato aggiunto il supporto per l’abilitazione in base debugmode alla sezione exosphere di BCT.ini:
    • L’impostazione debugmode = 1 farà sì che Exosphere comunichi al kernel che il debugmode è attivo.
    • L’impostazione debugmode_user = 1 farà sì che exosphere comunichi all’utente che la modalità debug è attiva.
    • Questi sono completamente indipendenti l’uno dall’altro, consentendo un controllo preciso del comportamento del sistema.
  • È stato aggiunto il supporto per la funzionalità nogc ; grazie a @rajkosto per le patch.
    • Per impostazione predefinita, le patch nogc si applicano automaticamente se l’utente esegue il boot in 4.0.0+ con i fusibili da <= 3.0.2.
    • Gli utenti possono ignorare questa funzionalità tramite la voce nogc nella sezione stratosphere di BCT.ini:
      • L’impostazione nogc = 1 forzerà l’attivazione delle patch nogc.
      • L’impostazione nogc = 0 forzerà le patch di disabilitazione nogc.
    • Se le patch sono abilitate ma non trovate per il sistema di avvio, verrà generato un errore fatale.
      • Questo dovrebbe impedire l’esecuzione di FS senza patch nogc dopo l’aggiornamento a una versione di sistema non supportata.
  • È stata aggiunta un’estensione per exosphere che consente alle applicazioni userland di riavviare il sistema in RCM:
    • Questo viene fatto chiamando l’utente smcSetConfig(id=65001, value=<nonzero>); che homebrew può usare splSetConfig per questo.
  • In caso di errore irreversibile, l’utente può ora scegliere di eseguire un riavvio standard tramite il pulsante di accensione o di riavviare in RCM tramite il pulsante del volume.
  • È stato aggiunto un messaggio personalizzato fatal per quando viene rilevata una mancata corrispondenza della versione API Atmosphère (2495-1623).
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.8.0

  • È stato aggiunto un modulo di sistema personalizzato “fatal” .
    • Questo re-implementa ed estende il modulo fatal di Nintendo, con le seguenti caratteristiche:
      • Atmosphère fatal non crea segnalazioni di errore.
      • Atmosphère fatal disegna una schermata di errore personalizzata, mostrando i registri e un backtrace.
      • I tentativi fatal di Atmosphère di raccogliere informazioni di debug per tutti gli arresti anomali e non solo quelli che includono informazioni.
      • Atmosphère fatal tenterà di salvare i rapporti sulla SD, se non è stato generato un rapporto di arresto anomalo creport.
  • La gestione del flag del titolo è stata modificata per evitare l’ingombro delle cartelle.
    • Invece di utilizzare atmosphere/titles/<tid>/%s.flag,i flag ora si trovano inatmosphere/titles/<tid>/flags/%s.flag
      • Il vecchio formato continuerà ad essere supportato per qualche tempo, ma è deprecato.
    • I flag possono ora essere applicate a HBL posizionandole su atmosphere/flags/hbl_%s.flag.
  • Sono state apportate modifiche all’API del mitm, migliorando notevolmente la semantica del chiamante.
    • sm ora informa i servizi di mitm di un id di processo di una nuova sessione, abilitando la gestione personalizzata in base all’id id di processo / titolo.
  • smhax non è più abilitato, perché non è più necessario e interrompe funzionalità significative.
    • Gli utenti con HBL / homebrew aggiornati non dovrebbero vedere differenze osservabili a causa di questo cambiamento.
  • Sono state aggiunte funzionalità che implementano le protezioni di base per NAND da userland homebrew:
    • BOOT0 ora dispone della protezione da scrittura per la chiave pubblica BCT e le regioni keyblob.
      • Il sysmodule ns non è più autorizzato a scrivere le chiavi pubbliche BCT
        • Ciò dovrebbe impedire agli aggiornamenti di sistema di rimuovere AutoRCM.
      • Nessun processo dovrebbe essere autorizzato a scrivere nella regione keyblob.
    • Per impostazione predefinita, le partizioni BIS diverse da BOOT0 sono ora di sola lettura e CAL0 non è né leggibile né scrivibile.
      • Aggiunge un flag bis_write per un titolo che gli consentirà di scrivere in BIS.
      • L’aggiunta di un flag cal_read per un titolo che consentirà di leggere CAL0.
    • Un backup automatico è ora fatto da CAL0 all’avvio.
      • fs.mitm mantiene un handle di file per questo backup, quindi il software per l’utente non può leggerlo.
    • Per facilitare questo, fs.mitm ora mitizza tutte le sessioni per i moduli non di sistema; l’override dei contenuti è stata separata dall’intercettazione del servizio.
    • Nota: queste protezioni sono fondamentali e un homebrew sufficientemente malevolo  può sconfiggerlo .
      • Si prega di fare attenzione a eseguire solo software homebrew da fonti di cui ci si fida.
  • È stato corretto un bug relativo ai titoli HDCP che si bloccavano sui firmware più recente.
  • È stato aggiunto il supporto per la versione 6.2.0 del sistema; i nostri ringraziamenti a @motezazer per il suo prezioso aiuto.
    • Per impostazione predefinita, le nuove chiavi verranno automaticamente derivate senza l’input dell’utente.
    • È inoltre disponibile il supporto per il caricamento di nuove chiavi da atmosphere/prod.keys o atmosphere/dev.keys
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

V0.7.5

  • DRAM training è stato aggiunto al fusee-secondary, grazie a @hexkyz .
    • Ciò migliora notevolmente la velocità di accesso alla memoria durante l’avvio, risultando in un tempo di avvio ~ 200-400% più veloce.
  • creport ha avuto il suo rilevamento della regione del codice migliorato.
    • Invece di controllare solo uno dei PC / LR del thread in crash per la presenza della regione del codice, creport ora controlla entrambi + ogni indirizzo nello stacktrace.
      • Ciò corrisponde al miglioramento apportato da Nintendo alla versione ufficiale in 6.1.0.
    • L’euristica di rilevamento della regione del codice è stata ulteriormente migliorata controllando se un indirizzo punta a .rodata o .rwdata, invece del solo file .text.
    • Ciò significa che un arresto anomalo viene visualizzato in una regione di codice NRO caricata (o altrimenti discontinua), Creport sarà in grado di rilevare tutte le regioni di codice attive e non solo quella.
  • Miglioramenti alla stabilità generale del sistema per migliorare l’esperienza dell’utente.

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
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