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.
- 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.
- 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.
- 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.
- 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
![[Scena 3DS] Rilasciato AuroraChat: la chat homebrew che riporta in vita la console 3DS](https://www.biteyourconsole.net/wp-content/uploads/AuroraChat-238x178.webp)


![[Scena 3DS] Rilasciato AuroraChat: la chat homebrew che riporta in vita la console 3DS](https://www.biteyourconsole.net/wp-content/uploads/AuroraChat-100x75.webp)


![[Scena Wii U] Rilasciato SaveMii v1.6.0](https://www.biteyourconsole.net/wp-content/uploads/SaveMii.jpg)
![[Scena PS Vita] Rilasciato Tinycraft v1.0](https://www.biteyourconsole.net/wp-content/uploads/TinyCraft-100x75.webp)
