Home Homebrew Rilasciato JKSV 25.08.2025

[Scena Switch] Rilasciato JKSV 25.08.2025

254
0

Poco più di un anno è trascorso dall’ultimo aggiornamento di JKSV, l’utility per la gestione dei salvataggi su console Nintendo Switch ispirata al più antico JKSM del 3DS.

L’attesa è stata ripagata con un sorprendente colpo di scena: l’intera applicazione è stata riscritta da zero, preservando solo l’anima del progetto ma rivoluzionandone il cuore.

JKSV ora si presenta come un software completamente diverso sotto la superficie. Ogni riga di codice è stata ripensata con attenzione: l’utilizzo del C++ moderno ha introdotto polimorfismo, smart pointers, contenitori STL e RAII, eliminando variabili globali e memoria gestita manualmente. Il risultato è un codice più stabile, leggibile e meno incline a perdite di dati o crash.

L’avvio è decisamente più rapido grazie a un sistema di cache dei titoli che aggira i rallentamenti causati dalle chiamate NsGetApplicationControlData nelle versioni più recenti del firmware.

JKSV è così in grado di verificare automaticamente la cache e aggiornarla quando nota nuovi titoli, senza richiedere interventi manuali.

Anche il sistema di gestione dello storage remoto è stato rifondato. WebDav, ad esempio, è ora capace di recuperare e processare ricorsivamente le directory all’avvio, senza più pause nell’interfaccia quando il server risponde lentamente.

La compatibilità è migliorata grazie ad un approccio “namespace agnostic” nella lettura degli XML, più pulito e veloce.

Google Drive ha ricevuto una profonda revisione: ora supporta i nomi completi in UTF-8 per le cartelle, e l’autenticazione avviene con il sistema “Limited Input”, più comodo rispetto al browser interno della console.

Sotto il profilo dell’usabilità, l’interfaccia mantiene un aspetto familiare ma è stata completamente riscritta per supportare al meglio le traduzioni sin dalla progettazione, a differenza del passato dove erano state aggiunte in modo secondario.

Chi apprezza il vecchio stile troverà anche la modalità “Text Menu (JKSM)” che consente di navigare i titoli con menu testuali anziché griglie di icone.

Tra le novità pratiche spicca l’Auto-Upload: JKSV può inviare automaticamente i backup a un servizio scelto e cancellarli dalla scheda SD.

Gli utenti possono anche impostare il livello di compressione per i backup in formato ZIP, che sono ora il formato predefinito per la massima compatibilità. I file di backup includono un metadata JSON, utile per garantire una ripresa più precisa e affidabile degli stati.

Pur essendo un programma ben ritoccato, non tutto è ancora completo: la funzione “Include Device Saves with Users” non è ancora attiva, il cosiddetto “File Mode” è assente e non è possibile filtrare i percorsi da backup o cancellazioni.

Tuttavia la compatibilità con la maggior parte dei backup generati con la versione precedente rimane elevata; solo i salvataggi in formato SVI non sono più compatibili.

JKSV ora si basa su due librerie interne fondamentali. FsLib gestisce le operazioni su filesystem con controllo fine, evitando chiamate ridondanti e ottimizzando i percorsi e i log di errore.

SDLLib centralizza la gestione delle texture, manipolando le superfici SDL con smart pointer, migliorando la pulizia dell’interfaccia grafica e il rendering del testo.

Caratteristiche

  • Supporta tutti i tipi di dati di salvataggio usati su Nintendo Switch:
    • Account (Utente).
    • Sistema.
    • BCAT.
    • Dispositivo / Condiviso.
    • Temporaneo.
    • Cache.
    • Sistema BCAT.
  • Opzioni di esportazione:
    • Cartelle standard non compresse per editor.
    • ZIP per una migliore compatibilità.
    • NOTA: il formato ZIP è obbligatorio e richiesto per il backup sul cloud!
  • Tutto in una volta: JKSV può eseguire il backup di tutti i dati di salvataggio del sistema o per singoli utenti in un’unica operazione.
  • Supporto Cloud:
    • Se configurato, JKSV supporta attualmente:
    • Google Drive.
    • WebDav.
    • JKSV può essere configurato per caricare automaticamente i backup.
  • Creazione dati di salvataggio:
    • JKSV può creare dati di salvataggio per qualsiasi titolo sul sistema senza dover avviare il gioco.
    • Può creare i dati di salvataggio per tutti i titoli presenti sul sistema in una volta sola per un singolo utente.
  • Supporto file SVI:
    • Importa e crea dati di salvataggio per titoli non installati sul sistema.
    • NOTA: questi non vengono installati correttamente sul sistema. Usare con cautela!
  • Ridimensiona i dati di salvataggio: JKSV può estendere i dati di salvataggio a qualsiasi dimensione desiderata. Utile per giochi come Minecraft.
  • Strumenti di pulizia: JKSV include funzioni per rendere la pulizia più semplice rispetto alla Gestione Dati di Nintendo e alle conferme multiple:
    • Tieni premuto A per tre secondi per:
    • Eliminare i dati di salvataggio di singoli giochi.
    • Eliminare tutti i dati di salvataggio di un singolo utente in una volta.
  • Statistiche: Visualizza dati e statistiche di base relativi al salvataggio e al titolo.
  • Personalizzazione: JKSV include numerose opzioni per adattarlo alle tue preferenze.
  • Sicurezza: JKSV può richiedere una pressione prolungata per completare operazioni distruttive o essere configurato per creare backup automatici rapidi durante il ripristino.

Guida veloce

Nota: Volendo è possibile definire un percorso personalizzato creando sdmc:/switch/jksv_dir.txt e digitando il percorso che si desidera utilizzare. Ad esempio, sdmc:/switch/JKSV/ forzerà JKSV a creare la sua cartella nella cartella switch homebrew.

  1. User Select
    • Apre i file di salvataggio dell’utente selezionato.
    •  Scarica tutti i dati di salvataggio da tutti gli utenti, i dati di salvataggio del dispositivo e i dati di salvataggio BCAT. I dati di salvataggio del sistema non sono inclusi in questo.
    •  Cambia la modalità UI in un menu di testo basato su uno per le persone che preferiscono invece i menu di testo in stile JKSM 3DS.
    • Apre il menu delle opzioni.
    • – Apre un piccolo menu extra.
  2. Title Select
    • Apre il titolo per il backup e il ripristino.
    • e  – Cambia l’utente corrente.
    •  Esegue il dump di tutti i salvataggi per l’utente attualmente selezionato.
    •  Aggiunge il titolo selezionato a un elenco di titoli ignorati.
    • Aggiunge il titolo selezionato a un elenco di preferiti che vengono inseriti nella parte superiore dell’elenco titoli/icone.
    • Cancella il salvataggio del titolo selezionato dal sistema, è lo stesso che accedere alle impostazioni e all’eliminazione tramite la gestione dei dati. Questo non cancella le cartelle salvate di JKSV.
  3. Backup/Folder Menu
    • Apre la modalità file. La modalità file è un browser di file di base per lo spostamento di singoli file e cartelle. Ciò aggiunge anche la possibilità di ripristinare i salvataggi da qualsiasi posizione sulla scheda SD.
    • Tenendo premuto o  mentre si seleziona nuovo con , verrà automaticamente assegnato un nome al backup senza aprire la tastiera.
    •   Crea un nuovo backup.
    • Ripristina i dati di salvataggio dalla cartella selezionata.
    • Elimina la cartella selezionata.
    • – Cancella i dati di salvataggio correnti per il titolo dal sistema, ma lascia l’archivio su NAND.
  4. File Mode
    • Apre le directory.
    • Torna indietro di una cartella, se possibile.
    • Apre un piccolo menu di opzioni per file e directory:
      • Copy to [X] Copia l’elemento attualmente selezionato nella posizione aperta sull’altro pannello. Selezione del primo. utilizzerà la directory aperta come root per copiare.
      • Delete elimina l’elemento attualmente selezionato.
      • Rename rinomina l’elemento attualmente selezionato.
      • Make Dir crea una cartella.
      • Properties ottiene la dimensione del file e la dimensione della directory.
    • o  Cambia il controllo del menu.

Changelog

JKSV è stato completamente revisionato e riscritto

  • Funzionalità C++: JKSV ora fa un uso corretto di polimorfismo, RAII, contenitori STL e smart pointer in tutto il codice.
  • Sistema di stato: sostituisce il vecchio caos di variabili globali per tracciare lo stato. Questo da solo rende il codice molto più facile da seguire e mantenere.
  • Gestione delle risorse: niente più gestione manuale della memoria. Niente più memory leak.
  • API C: tutte le API della libreria C sono incapsulate in classi e smart pointer. Questo garantisce una corretta pulizia e rende il codice più facile da utilizzare.
  • Registrazione degli errori: gli errori vengono registrati con file, funzione e numero di riga, rendendo i problemi molto più facili da individuare.
  • Struttura e qualità del codice: la leggibilità e la manutenibilità complessive sono state drasticamente migliorate.

Avvio memorizzato nella cache

  • Avvio più veloce: JKSV ora memorizza nella cache i dati dei titoli per migliorare i tempi di avvio. Nei firmware più recenti, le modifiche di Nintendo hanno rallentato NsGetApplicationControlData. La memorizzazione nella cache delle informazioni sui titoli risolve questo problema.
  • Invalidazione automatica: JKSV rileva e ricostruisce automaticamente la cache ogni volta che vengono individuati nuovi titoli. A differenza di JKSM su 3DS, non è necessario aggiornarla manualmente.

Archiviazione remota ampiamente rielaborata

  • Ristrutturazione del sistema: L’intero sistema di archiviazione remota è stato completamente riprogettato da zero.
  • Espansione: Il nuovo design rende più semplice aggiungere il supporto a servizi aggiuntivi in futuro.
  • Nota importante: L’aggiunta del supporto dipende dalle informazioni richieste da un servizio. Non vengono forniti tutti i dati personali solo per permettere a JKSV di supportarlo.

Codice WebDav revisionato

  • Completamente rifatto: Il codice WebDav è stato riscritto da zero.
  • Indipendente dai namespace: Invece di analizzare e tagliare i namespace per trovare i tag XML, il nuovo codice li ignora completamente. Questo elimina allocazioni di stringhe non necessarie e migliora la compatibilità.
  • Recupero ricorsivo: L’intero elenco WebDav viene ora recuperato e processato ricorsivamente all’avvio, anziché su richiesta. Questo elimina le pause nell’interfaccia utente quando i server rispondono lentamente.
  • Coerenza: Modificando il percorso di output per un titolo sulla Switch, ora viene aggiornato automaticamente anche il relativo folder sul server WebDav. Questo comportamento avrebbe dovuto esserci fin dall’inizio.
  • Istruzioni per configurare WebDav possono essere trovate qui.

Codice di Google Drive rielaborato

  • Ristrutturazione importante: L’integrazione con Google Drive è stata completamente rivista, correggendo vari problemi e incongruenze.
  • Supporto completo ai titoli: I nomi delle cartelle utilizzano nuovamente titoli UTF-8 completi. Questo era stato modificato con l’implementazione precedente di WebDav ed è stato ripristinato.
  • Nuovo metodo di login: JKSV ora utilizza il metodo Limited Input invece di fare affidamento sul browser integrato della Switch. È possibile accedere con il telefono o un altro dispositivo.
  • Le istruzioni per configurare Google Drive possono essere trovate qui.

Logica di gestione dei file rielaborata

  • Ristrutturazione completa: Tutto il codice e gli elementi dell’interfaccia utente sono stati riscritti e perfezionati.
  • Layout familiare: L’interfaccia resta familiare, ma tutto ciò che c’è sotto è completamente diverso.
  • Miglior supporto alle traduzioni: L’interfaccia è stata progettata fin dall’inizio pensando alle traduzioni. Nella versione originale questo era stato aggiunto successivamente.
  • Ritorno alla modalità Text Menu (JKSM 2016): Per i fan del JKSM originale su 3DS, JKSV supporta ora la modalità JKSM in cui i titoli sono elencati tramite menu testuali invece che una griglia di icone.

Aggiunte

  • Auto-Upload: JKSV può ora caricare automaticamente i backup sul servizio selezionato e rimuoverli dalla scheda SD.
  • Livello di compressione controllabile: È possibile impostare il livello di compressione utilizzato durante la creazione dei backup compressi.
  • Modalità Text Menu (JKSM): Permette di passare tra griglie di icone e menu testuali per la visualizzazione dei titoli.
  • Salvataggi di sistema attivabili/disattivabili: È ora possibile decidere se scansionare, caricare e visualizzare Device, BCAT, Cache e System. Disabilitarli tutti migliora anche i tempi di avvio.
  • File di metadata nei backup: JKSV include ora un file di metadata nei backup contenente informazioni sui salvataggi, migliorando precisione e affidabilità durante il ripristino.

Note riguardanti le funzionalità mancanti

  • Inclusione dei salvataggi dei dispositivi con utenti: Non è ancora implementata. Richiede una pianificazione attenta.
  • Modalità File: Non è ancora disponibile.
  • Filtraggio dei percorsi per backup e cancellazione: Non è ancora implementato.

Note aggiuntive

  • La maggior parte dei backup della versione originale di JKSV è compatibile. Le eccezioni includono i titoli che estendono i dati di salvataggio, ora gestiti correttamente nella riscrittura.
  • Il formato SVI è stato revisionato. I file SVI della versione originale di JKSV non sono compatibili con questa riscrittura.
  • Le traduzioni fornite sono tutte completate da AI. Se desideri apportare revisioni o correzioni, sentiti libero di farlo!
  • Alcuni interventi potrebbero essere necessari per quanto riguarda i salvataggi di tipo cache e la loro gestione.
  • La riscrittura di JKSV non utilizza lo stesso file di configurazione dell’originale. Sarà necessario riconfigurarlo.

Note extra aggiuntive

Utilizza FsLib, una libreria wrapper C++ che ho scritto per le chiamate FS di 3DS e Switch.

  • Maggiore controllo: FsLib consente un controllo più preciso sulle operazioni sui file.
    • Ad esempio, se la dimensione finale di un file è nota in anticipo, FsLib può saltare chiamate ridondanti per estendere il file durante la scrittura, velocizzando i trasferimenti.
  • I percorsi sono standardizzati alla creazione per garantire compatibilità con il filesystem della Switch.
  • Miglioramento della gestione degli errori e del logging: Ogni operazione restituisce se ha avuto successo. In caso contrario, FsLib registra una stringa di errore interna con la posizione e il codice dell’errore per un debug più semplice.
  • Per questo motivo, l’opzione “Usa comandi FS direttamente” è stata rimossa in quanto non più necessaria.

Utilizza SDLLib, una libreria wrapper C++ che ho scritto contenente funzioni riutilizzabili che tutti i miei progetti condividono

  • Gestore centrale delle texture: tutte le texture ora vengono caricate, monitorate e liberate da un unico gestore, eliminando la gestione duplicata.
  • Superfici e texture gestite: le superfici e le texture SDL sono ora gestite tramite smart pointer o classi, garantendo una corretta pulizia della memoria.
  • Miglioramento della gestione del testo: la gestione del testo è stata completamente rivista e migliorata rispetto all’implementazione originale di JKSV.

Download: JKSV 25.08.2025 [NRO]

Download: Source code JKSV 25.08.2025

Fonte: github.com

Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale.

🔥 Prodotti in promozione e articoli più venduti: Nintendo Switch

Vedi altri prodotti Nintendo Switch

Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui
Captcha verification failed!
Punteggio utente captcha non riuscito. Ci contatti per favore!

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.