Il developer Bernardo Giordano ha pubblicato un nuovo aggiornamento di Checkpoint, uno degli strumenti homebrew più conosciuti per la gestione dei salvataggi su Nintendo 3DS e Nintendo Switch.

Il progetto nasce con un obiettivo semplice ma fondamentale per chi utilizza console modificate: permettere di effettuare il backup e il ripristino dei salvataggi direttamente dalla console, conservando una copia dei propri progressi sulla scheda SD.

Nel corso degli anni Checkpoint si è evoluto ben oltre le funzioni di base, arrivando a supportare diverse tipologie di salvataggi e introducendo strumenti pensati sia per gli utenti finali sia per gli sviluppatori.
Con questo aggiornamento il progetto continua a migliorare soprattutto sul fronte delle prestazioni, della sicurezza durante le operazioni sui salvataggi e della gestione dei file.
Una delle novità più importanti riguarda il server FTP, che è stato completamente sostituito. Il vecchio componente è stato rimosso e rimpiazzato con una nuova implementazione basata sul codice più recente di ftpd di mtheall, adattato per funzionare all’interno di Checkpoint.
Il risultato più evidente riguarda le prestazioni su Nintendo 3DS. I trasferimenti FTP ora sono circa quattro volte più veloci in upload e due volte più veloci in download.
Il precedente collo di bottiglia era causato dalle chiamate socket sincrone, che costringevano il thread di trasferimento ad alternare continuamente le operazioni sul disco e quelle di rete. La nuova implementazione permette invece di eseguire le due attività in parallelo.
Durante un trasferimento FTP la grafica dell’interfaccia del 3DS può risultare leggermente meno reattiva, ma si tratta di un comportamento previsto dal nuovo sistema.
Anche su console Switch sono stati risolti alcuni problemi del server FTP. In particolare, durante il caricamento di una cartella il sistema non esaurisce più i buffer socket, situazione che poteva impedire l’accettazione di nuove connessioni fino allo scadere del timeout.
Inoltre, disattivando FTP dalle impostazioni, il socket di ascolto viene ora realmente chiuso e le sessioni attive vengono interrotte, evitando di lasciare la porta aperta.
Nuovo browser per i file dei salvataggi
Il sistema di scripting riceve una delle aggiunte più interessanti dell’aggiornamento con browser, un nuovo browser dei file che permette di esplorare direttamente dalla console sia la scheda SD sia l’archivio del salvataggio attualmente utilizzato da un titolo.
Il browser consente di copiare, spostare, rinominare ed eliminare file, creare cartelle e visualizzare le proprietà degli elementi. È inoltre possibile comprimere e decomprimere file tramite ZIP, lavorando su un singolo elemento oppure su più elementi contemporaneamente.
In pratica, diventa possibile intervenire direttamente all’interno di un salvataggio senza dover necessariamente utilizzare un PC. Un file può essere estratto dall’archivio sulla scheda SD, modificato e successivamente reinserito nel salvataggio, oppure è possibile spostare intere cartelle tra due titoli.
Nuove possibilità per ExtData su 3DS
Sempre per quanto riguarda lo scripting è stato introdotto extdata, uno strumento specifico per Nintendo 3DS che permette di creare un archivio ExtData anche quando un determinato titolo non ne ha mai generato uno.
La funzione è particolarmente utile per alcuni mod che utilizzano ExtData per titoli che normalmente non creano questo tipo di archivio.
Lo script permette quindi di generare artificialmente un nuovo archivio e di analizzare anche identificativi ExtData specifici, compresi quelli creati da mod con ID differenti da quello derivato dal titolo.
Sono state inoltre aggiunte nuove API per gli script, tra cui funzioni per creare, eliminare e rinominare cartelle all’interno degli archivi di salvataggio, aprire archivi ExtData tramite il relativo ID e gestire la creazione e l’eliminazione degli archivi ExtData su 3DS.
Checkpoint migliora anche il sistema di trasferimento wireless introducendo la possibilità di impostare un PIN di ricezione fisso dalle impostazioni di rete del 3DS o di connettività su Switch.
Normalmente il PIN viene generato casualmente a ogni ricezione, mentre impostandone uno fisso è possibile utilizzare comandi come chlink send --pin 1234 all’interno di uno script, rendendo possibili trasferimenti automatici e ripetuti dal PC senza dover modificare ogni volta il codice.
Corretto inoltre un problema che impediva a chlink send di completare alcuni trasferimenti a causa dell’errore relativo al PIN non valido e un problema dei backup ricevuti da dispositivi che non identificano correttamente un titolo installato: In tal caso il backup ora viene inserito nel titolo dalla cui lista è stata avviata l’operazione di ricezione.
Più sicurezza durante il ripristino su 3DS
Sul fronte Nintendo 3DS sono state introdotte diverse correzioni importanti per evitare la perdita dei dati durante le operazioni di ripristino.
Checkpoint ora controlla preventivamente i limiti dei percorsi del filesystem prima di cancellare qualsiasi dato. In precedenza, un percorso troppo lungo poteva provocare la cancellazione dell’archivio di salvataggio prima che il programma si accorgesse dell’impossibilità di completare il ripristino.
Sono stati inoltre filtrati i file temporanei creati dai sistemi operativi desktop, come .DS_Store e i file ._ generati da macOS, oltre agli equivalenti lasciati da Windows. Questi file potevano infatti causare il fallimento di un ripristino dopo che il salvataggio della console era già stato cancellato.
Checkpoint ora riconosce anche le cartucce il cui il salvataggio risiede nella NAND della cartuccia, come nel caso di WarioWare: D.I.Y.. In precedenza queste cartucce potevano essere identificate erroneamente a causa dell’assenza di un chip SPI dedicato al salvataggio.
Il programma ora identifica correttamente la situazione e indirizza l’utente verso GodMode9i in modalità DS.
Migliorata anche la schermata di avanzamento durante il ripristino degli archivi ExtData particolarmente grandi, mentre i pulsanti vengono disabilitati durante il caricamento dell’elenco dei titoli per evitare operazioni accidentali.
Tra le novità figura infine la possibilità di selezionare il cinese semplificato dalle impostazioni e, sulle console New Nintendo 3DS, i core applicativi vengono ora eseguiti a 804 MHz. Questa modifica non produce effetti su Old 3DS e 2DS.
Importanti miglioramenti anche su Switch
Nintendo Switch riceve a sua volta numerosi interventi dedicati alla gestione dei salvataggi di grandi dimensioni.
I ripristini contenenti decine di migliaia di file di piccole dimensioni non dovrebbero più bloccarsi verso la fine dell’operazione. Checkpoint ora può estendere l’area dei dati di salvataggio quando necessario e preallocare i file invece di aumentarne progressivamente le dimensioni.
Anche il controllo dello spazio disponibile è stato migliorato. Il programma verifica preventivamente lo spazio necessario considerando le dimensioni effettive dei cluster, evitando di arrivare a un fallimento quando il ripristino è ormai al 95%.
La verifica dei salvataggi è stata inoltre velocizzata di circa due volte. Il CRC dei file viene calcolato direttamente sui dati già presenti nel buffer di copia, riducendo la quantità di dati che deve essere nuovamente letta durante la fase di verifica.
Un’altra correzione particolarmente utile impedisce alla console di entrare automaticamente in modalità sospensione durante un backup, un ripristino o un trasferimento.
In precedenza lo standby poteva interrompere il processo nel mezzo della copia, lasciando il filesystem dei salvataggi in una situazione potenzialmente problematica. Lo schermo può comunque continuare ad attenuarsi secondo il normale comportamento previsto dalla console.
L’interfaccia di Switch è stata infine resa più fluida, con nuove animazioni per la griglia e l’anello di selezione che ora si spostano tra le caselle anziché saltare direttamente da una posizione all’altra.
Nuove traduzioni
L’aggiornamento introduce anche la traduzione in russo, che si aggiunge alle lingue già supportate da Checkpoint: inglese, italiano, francese, tedesco, portoghese, spagnolo, olandese, giapponese e cinese semplificato.
Caratteristiche
Checkpoint permette di eseguire il backup e il ripristino dei dati di salvataggio per:
- Nintendo 3DS: Cartucce 3DS e titoli digitali (incluse le demo), dati extra (extdata), cartucce DS, giochi DSiWare e titoli GBA Virtual Console.
- Nintendo Switch: Salvataggi dei titoli utilizzati, con informazioni sui giochi caricate automaticamente.
Entrambe le versioni condividono lo stesso insieme di funzionalità principali:
- Interfaccia utente completamente ridisegnata, con supporto ai temi chiaro e scuro.
- Una nuova sezione Impostazioni che permette di configurare tutto direttamente dalla console: preferiti, filtri, cartelle aggiuntive per i salvataggi e molto altro, senza dover modificare manualmente i file.
- Supporto internazionale con traduzioni disponibili in inglese, italiano, francese, tedesco, portoghese, spagnolo, olandese, giapponese e cinese.
- Operazioni sui file rapide e reattive: backup e ripristini vengono eseguiti tramite un processo separato e i backup possono essere annullati mentre sono in corso.
- Supporto a cartelle aggiuntive per i salvataggi, configurabili per ogni titolo tramite un browser integrato.
- Server FTP in background per accedere direttamente ai backup dei salvataggi dal PC.
- Trasferimento wireless dei salvataggi tra console.
- Server HTTP per i log, che permette di visualizzare in tempo reale i registri di Checkpoint tramite qualsiasi browser collegato alla stessa rete.
Funzionalità aggiuntive della versione Switch
Su Nintendo Switch, Checkpoint offre inoltre:
- Un backend grafico basato su deko3d, che rende l’applicazione circa il 70% più piccola rispetto alla versione precedente.
- Supporto alla modalità dock con risoluzione 1080p, oltre alla modalità portatile a 720p.
- Verifica file per file dopo il ripristino dei salvataggi e una gestione più sicura dei ripristini di grandi dimensioni.
chlink
Checkpoint include chlink, un’applicazione da riga di comando per PC che comunica con la funzione di trasferimento wireless dei salvataggi di Checkpoint.
Grazie a chlink è possibile inviare i backup dei salvataggi dal PC alla console e ricevere i salvataggi dalla console al computer tramite la rete locale, senza utilizzare cavi o dover rimuovere e reinserire la scheda SD.
I trasferimenti sono protetti da un PIN a quattro cifre mostrato direttamente sulla console. Inoltre, chlink riconosce automaticamente i backup provenienti dalla struttura delle cartelle utilizzata dalla scheda SD di Checkpoint, compilando in automatico le informazioni relative al titolo e al backup.
chlink è disponibile come singolo eseguibile senza dipendenze per Windows, macOS e Linux.
Utilizzo
Checkpoint per Nintendo 3DS può essere utilizzato sia con Custom Firmware (CFW) sia con Homebrew Launcher basati su Rosalina. Gli Homebrew Launcher basati su hax non sono supportati da Checkpoint.
Checkpoint per Nintendo Switch funziona tramite Homebrew Launcher. Assicurarsi di utilizzare payload aggiornati.
Il primo avvio richiederà più tempo del normale perché verranno create le cartelle di lavoro necessarie. Dopo questa prima configurazione, Checkpoint sarà molto più veloce durante gli avvii successivi.
Percorso di lavoro
Checkpoint utilizza le seguenti cartelle per archiviare i file generati dall’applicazione. Tutte le directory necessarie vengono create automaticamente al primo avvio oppure quando viene rilevato un nuovo titolo privo di cartella dedicata.
Nintendo 3DS
sdmc:/3ds/Checkpoint— percorso principale dell’applicazione.sdmc:/3ds/Checkpoint/config.json— file di configurazione.sdmc:/3ds/Checkpoint/logs— cartella contenente i file di log.sdmc:/3ds/Checkpoint/saves/<unique id> <game title>— percorso principale dove vengono salvati tutti i backup dei salvataggi di un determinato gioco.sdmc:/3ds/Checkpoint/extdata/<unique id> <game title>— percorso principale dove vengono salvati tutti i backup degli extdata di un determinato gioco.
Nintendo Switch
sdmc:/switch/Checkpoint— percorso principale dell’applicazione.sdmc:/switch/Checkpoint/config.json— file di configurazione.sdmc:/switch/Checkpoint/logs— cartella contenente i file di log.sdmc:/switch/Checkpoint/saves/<title id> <game title>— percorso principale dove vengono salvati tutti i backup dei salvataggi di un determinato gioco.
Configurazione
Tutte le opzioni che in passato richiedevano la modifica manuale del file di configurazione ora possono essere gestite direttamente dalla sezione Impostazioni presente sulla console.
Il file config.json continua comunque a essere salvato nella cartella di lavoro di Checkpoint, ma non è più necessario modificarlo manualmente.
Risoluzione dei problemi
Checkpoint mostra codici di errore quando si verificano problemi o quando alcune operazioni non vengono completate correttamente.
In caso di difficoltà, è consigliato verificare che il problema non sia già stato segnalato e, quando si apre una nuova segnalazione, fornire il codice di errore insieme a una descrizione delle operazioni eseguite per permettere di riprodurre il problema.
È inoltre possibile ricevere assistenza in tempo reale entrando nel server Discord di FlagBrew.
Changelog
FTP: Novità
- Corretto: il server FTP è una nuova implementazione. Il vecchio core è stato rimosso e sostituito con il codice sorgente più recente di mtheall‘s ftpd, che è stato adattato per integrarsi correttamente in Checkpoint.
- Corretto: i trasferimenti su 3DS sono circa 4 volte più veloci in upload e 2 volte più veloci in download. Il collo di bottiglia era rappresentato dalle chiamate socket sincrone che bloccavano il thread di trasferimento, quindi ora la console sovrappone le operazioni sul disco e sulla rete invece di alternarle.
- Noterai che l’interfaccia del 3DS è leggermente meno reattiva durante i trasferimenti FTP: è del tutto normale.
- Corretto: il server Switch non esaurisce più i buffer socket del sistema durante il caricamento di una cartella, situazione che gli impediva di accettare nuove connessioni dati fino allo scadere del timeout.
- Corretto: disattivando FTP nelle Impostazioni, il socket di ascolto viene ora chiuso e le sessioni vengono interrotte, invece di lasciare la porta aperta.
Scripting: Novità
- Aggiunto: browser, un browser di file per la scheda SD e per l’archivio dei salvataggi attivo di un titolo.
- Supporta copia, spostamento, rinomina, eliminazione, creazione di cartelle, lettura delle proprietà, compressione e decompressione ZIP, di un elemento alla volta o in batch.
- È il modo pratico per accedere a un salvataggio senza un PC: estrarre un file da un archivio sulla scheda, reinserirne uno modificato oppure spostare una cartella tra due titoli.
- Aggiunto: extdata (3DS), per creare l’archivio extdata che un titolo non ha mai creato (#576).
- Questo script risolve un problema in cui le mod dei giochi utilizzano extdata per un titolo che non li crea mai. Lo script permette di creare artificialmente un nuovo archivio extdata per quel titolo.
- Permette inoltre di analizzare qualsiasi ID extdata, compreso uno creato da una mod utilizzando un ID che Checkpoint non ricava dal title ID, e di eliminare un archivio quando necessario.
- Aggiunto: nuove chiamate API, tutte documentate in
scripts/README.md.sav_mkdir,sav_rmdiresav_rename: gli script possono ora modificare la struttura delle cartelle all’interno di un archivio di salvataggio, non solo leggere e scrivere file al suo interno.sav_open_extdata, per aprire un archivio extdata specifico del titolo tramite il suo ID grezzo.extdata_default_id,extdata_createeextdata_delete(3DS; restituiscono-1su Switch).extdata_createsi rifiuta di intervenire su un archivio già esistente, in modo che un ID digitato erroneamente non possa cancellare un salvataggio.
- Corretto: il catalogo dei titoli 3DS fornito agli script ora contiene anche i titoli che compaiono esclusivamente nell’elenco Extdata.
- Corretto:
strdupalloca ora nello stesso heap associato all’esecuzione dimalloc, quindifree()lo rilascia e un’esecuzione interrotta recupera la memoria utilizzata.
Trasferimento wireless: Novità
- Aggiunto: un PIN di ricezione fisso, nelle Impostazioni > Rete (3DS) / Connettività (Switch).
- Il PIN rimane casuale per ogni ricezione per impostazione predefinita. Impostandone uno fisso e inserendo un
chlink send --pin 1234all’interno di uno script, questo continuerà a funzionare a ogni esecuzione, rendendo possibili trasferimenti batch automatici dal PC.
- Il PIN rimane casuale per ogni ricezione per impostazione predefinita. Impostandone uno fisso e inserendo un
- Corretto:
chlink sendche falliva con l’errore “receiver rejected the PIN (403): Invalid token” (#561). Go rendeva canonici i nomi degli header prima di scriverli, quindi la ricerca case-sensitive della console non trovava mai l’header del token e rifiutava ogni caricamento. - Corretto: un backup ricevuto da un mittente che non identifica alcun titolo installato non viene più inserito nella cartella “Unknown title” (#572). Viene inserito nel titolo la cui lista di backup è stata aperta per la ricezione, ovvero quello selezionato dall’utente.
- Corretto: il ricevitore non registra più una connessione in corso come errore e non riempie più il log di messaggi durante un trasferimento.
3DS: Novità
- Corretto: un ripristino che non può rientrare nel limite dei percorsi della console viene rifiutato prima che venga eliminato qualsiasi dato. In precedenza cancellava prima l’archivio del salvataggio e si interrompeva successivamente, quando il filesystem non avrebbe mai potuto accettare la cartella di backup. Ora sia le radici della copia sia ogni elemento al loro interno vengono controllati in anticipo e il messaggio indica il percorso problematico.
- Corretto: i file lasciati da un sistema operativo desktop accanto al backup non interrompono più un ripristino (#577). macOS memorizza gli attributi estesi di un file in un file
._accanto a esso su FAT/exFAT e inserisce.DS_Storein ogni cartella aperta dal Finder; in precedenza un ripristino poteva incontrare uno di questi file dopo aver già cancellato il salvataggio presente sulla console. Questi file e gli equivalenti lasciati da Windows vengono ora esclusi dalla copia. - Corretto: le cartucce i cui salvataggi risiedono nella NAND della cartuccia vengono ora identificate (#553, WarioWare: D.I.Y. e titoli simili). Non dispongono di un chip di salvataggio SPI, quindi il rilevamento riportava una capacità errata e poteva eseguire il backup di dati casuali restituiti dal bus. Checkpoint ora identifica correttamente la cartuccia e indirizza a GodMode9i in modalità DS, invece di fallire con un errore dell’archivio di salvataggio.
- Corretto: la finestra di avanzamento non appare più bloccata mentre un ripristino cancella la destinazione (#559). La cancellazione di un archivio extdata contenente migliaia di file è ora una fase di avanzamento separata e le etichette delle fasi (Backup, Restore, Clearing, Sending…) sono tradotte.
- Corretto: i pulsanti non eseguono più alcuna azione mentre l’elenco dei titoli è ancora in caricamento (#565). In precedenza era possibile eseguire il backup o il ripristino di un titolo che non era ancora visibile, utilizzando una selezione che stava per cambiare.
- Aggiunto: il cinese semplificato è selezionabile nelle Impostazioni (#566, grazie a @dragonflylee). La traduzione era già presente dalla versione 5.0.0, ma l’elenco delle lingue del 3DS non la proponeva.
- Aggiunto: le console New 3DS eseguono ora i propri core applicativi a 804 MHz. Questa modifica non ha effetto su Old 3DS e 2DS.
- Miglioramenti generali alla stabilità del sistema per migliorare l’esperienza dell’utente.
Switch: Novità
- Corretto: il ripristino di un salvataggio contenente decine di migliaia di piccoli file non si blocca più verso la fine.
- L’area dei dati di salvataggio viene estesa quando il backup richiede più spazio di quello disponibile.
- I file vengono preallocati invece di essere fatti crescere blocco per blocco e lo spazio libero viene controllato in base al requisito arrotondato al cluster dopo la cancellazione, in modo che il ripristino venga rifiutato in anticipo invece di interrompersi al 95%.
- La copia viene conteggiata durante la scansione preliminare: un ripristino che segnala il successo ma ha trasferito meno file di quanti ne contiene il backup viene ora segnalato come fallimento.
- Lo spazio della partizione dei salvataggi viene registrato a ogni passaggio, così un eventuale ripristino ancora non riuscito può essere diagnosticato attraverso il log.
- Corretto: la verifica del ripristino è circa due volte più veloce. Il CRC di ogni file viene calcolato dai dati già presenti nel buffer di copia, quindi la fase di verifica rilegge solamente il salvataggio già scritto invece di entrambe le parti.
- Corretto: la console non entra più in modalità sospensione durante un backup, un ripristino o un trasferimento (#574). La sospensione interrompeva il processo durante la copia sul filesystem dei salvataggi, lasciando il journal parzialmente registrato. Viene impedita solo la sospensione automatica: lo schermo continua ad attenuarsi secondo il normale timeout di inattività.
- Aggiunto: l’anello di selezione e la griglia ora eseguono un’animazione tra le caselle invece di saltare direttamente da una all’altra e si riposizionano quando cambia ciò che si trova sotto di esse, ad esempio un filtro diverso per il tipo di salvataggio o un account differente.
- Corretto: lo stesso lavoro relativo all’avanzamento e alle etichette delle fasi introdotto sulla versione 3DS (#559).
- Miglioramenti generali alla stabilità del sistema per migliorare l’esperienza dell’utente.
Traduzioni
- Aggiunta: traduzione in russo (grazie a @Waleri228).
- Il supporto linguistico attuale comprende inglese, italiano, francese, tedesco, portoghese, spagnolo, olandese, giapponese, cinese semplificato e russo.
- Se sei un madrelingua e ritieni che il testo o l’aspetto dell’interfaccia possano essere migliorati, invia una pull request oppure apri una segnalazione in questo repository.
Download: Checkpoint v5.1.0 per console Switch (NRO) (ELF)
Download: Checkpoint v5.1.0 per console 3DS (CIA) (3DSX) (ELF)
Download: chlink darwin amd64 (arm64)
Download: chlink Linux amd64 (arm64)
Download: chlink Windows amd64
Download: Source code Checkpoint v5.1.0
Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale. Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.🔥 Prodotti in promozione e articoli più venduti: Nintendo Switch
Vedi altri prodotti Nintendo Switch
Ultimo aggiornamento 2026-09-04 / Link di affiliazione / Immagini da Amazon Product Advertising API





