Homebrew Checkpoint, a simple and fast save manager

EventAssistant

Well-Known Member
OP
Member
Joined
Jul 20, 2016
Messages
572
Trophies
0
XP
1,425
Country
Italy
Checkpoint
A fast and simple homebrew save manager for 3DS and Switch written in C++.

Why use Checkpoint?
Checkpoint is created following ideas of simplicity and efficiency. The UI has been designed to condense as many options as possible, while keeping it simple to work with.

Moreover, Checkpoint is extremely lightweight - while being packaged with a nice graphic user interface - and is built using the most recent libraries available.

Checkpoint for 3DS natively supports 3DS and DS cartridges, digital standard titles and demo titles. It also automatically checks and filters homebrew titles which may not have a save archive to backup or restore, which is done without an external title list and filters. For this reason, Checkpoint doesn't need constant user maintenance to retain full functionality.

Checkpoint for Switch natively supports NAND saves for the titles you have played. Title informations are loaded automatically.

Working path
Checkpoint relies on the following folders to store the files it generates. Note that all the working directories are automatically generated on first launch (or when Checkpoint finds a new title that doesn't have a working directory yet).

3DS
  • sdmc:/3ds/Checkpoint: root path
  • sdmc:/3ds/Checkpoint/saves/<unique id> <game title>: root path for all the save backups for a generic game
  • sdmc:/3ds/Checkpoint/extdata/<unique id> <game title>: root path for all the extdata backups for a generic game
Switch
  • sdmc:/switch/Checkpoint: root path
  • sdmc:/switch/Checkpoint/saves/<title id> <game title>: root path for all the save backups for a generic game
Usage
You can use Checkpoint for 3DS with both cfw and Rosalina-based Homebrew Launchers. *hax-based Homebrew Launchers are not supported by Checkpoint. Checkpoint for Switch only runs on homebrew launcher and firmware 3.0.0 is required.

The first launch will take considerably longer than usual (usually 1-2 minutes depending on how many titles you have installed), due to the working directories being created - Checkpoint will be significatively faster upon launch from then on.

You can scroll between the title list with the DPAD/LR and target a title with A when the selector is on it. Now, you can use the DPAD or the touchscreen to select a target backup to restore/overwrite.

Troubleshooting
Checkpoint displays error codes when something weird happens or operations fail. If you have any issues, please ensure they haven't already been addressed, and report the error code and a summary of your operations to reproduce it.

Additionally, you can receive real-time support by joining PKSM's discord server.



Building
Checkpoint for 3DS relies on latest libctru and latest citro3d.

Checkpoint for Switch relies on latest libnx.

License
This project is licensed under the GNU GPLv3. Additional Terms 7.b and 7.c of GPLv3 apply to this. See LICENSE.md for details.

Credits
Even though this is the result of independent research and work, Checkpoint for 3DS couldn't be possible without J-D-K's JKSM, which is an incredible piece of software that you should all be using. Best regards JK, hope you're fine.

TuxSH for TWLSaveTool, from which SPI code has been taken.

All the maintainers for nx-hbmenu, for all the Switch rendering functions.

Yellows8 and all the mantainers for switch-examples.

Hikari-chin and all the other testers for their help with testing.

If you like my work, support me on Patreon!
 
Last edited by EventAssistant,

NanashiFinal13

Well-Known Member
Member
Joined
May 1, 2017
Messages
387
Trophies
0
Age
28
XP
1,745
Country
Argentina
Looks great, but for some reason after checkpoint load some games, checpoint kick me out to home menu. This works with old cfw? (I have luma 7.0.5 arm9loaderhax sysnand)
 
Last edited by NanashiFinal13,

DocKlokMan

Plugin Dev
Member
Joined
Apr 20, 2007
Messages
3,013
Trophies
1
Age
34
XP
4,370
Country
United States
Seems to work as advertised. Was able to backup and restore a Pokémon Moon save, no homebrew appeared in the list, games i hadn't yet launched did not show but did after I launched them.

Suggestions: The word wrapping on the backup and restore confirmation boxes splits words so you get something like
Code:
Progresses saved to test succ
essfully.

Another suggestion: Would it be possible to add the region of the game to the info in the bottom of the screen? I only ask because some of us have the same game installed but for multiple regions for things like NTR cheat creation and such. You could do a simple look up of the final letter of the product code to determine region:
Code:
E - USA
P - EUR
J - JPN
K - KRN
C - CHN
Y - Mutli
W - TWN
Z - Multi
A - ALL
 

EventAssistant

Well-Known Member
OP
Member
Joined
Jul 20, 2016
Messages
572
Trophies
0
XP
1,425
Country
Italy
Seems to work as advertised. Was able to backup and restore a Pokémon Moon save, no homebrew appeared in the list, games i hadn't yet launched did not show but did after I launched them.

Suggestions: The word wrapping on the backup and restore confirmation boxes splits words so you get something like
Code:
Progresses saved to test succ
essfully.

Another suggestion: Would it be possible to add the region of the game to the info in the bottom of the screen? I only ask because some of us have the same game installed but for multiple regions for things like NTR cheat creation and such. You could do a simple look up of the final letter of the product code to determine region:
Code:
E - USA
P - EUR
J - JPN
K - KRN
C - CHN
Y - Mutli
W - TWN
Z - Multi
A - ALL
I may try to get the region while I fetch for the other metadata.
 

Leslie White

Well-Known Member
Member
Joined
Feb 21, 2015
Messages
230
Trophies
0
Age
34
Location
Paris
XP
280
Country
France
I'm having the exact same issue, but I have the latest Luma version installed.
same for me, the app is loading the games and at some point kicks me out to the home menu and then i got a luma error (black screen telling me to shut down the 3DS). I'm on a new3ds, latest luma and 11.6
 

Mr.Faq2015

/ˈmɪstə ˈfæk/
Member
Joined
Oct 24, 2015
Messages
320
Trophies
0
Location
Rhizome 9
XP
1,469
Country
Argentina
Adding to the list, I get kicked about 6-7 scanned titles after the screen space where scanned titles appear gets filled. Out of 3 times it crashed, it asked me to restart only once, this being the latest time as of now. I'm on firmware 11.0, normal US o3ds, luma legacy version
 
Last edited by Mr.Faq2015,

EventAssistant

Well-Known Member
OP
Member
Joined
Jul 20, 2016
Messages
572
Trophies
0
XP
1,425
Country
Italy
Version 2.0.0 has been released!

  • Added: DS Cartridges support. This couldn't be possible without TuxSH's TWLSaveTool, so huge thanks to him!
    • Note: Save restore takes a good minute to complete, for DS cartridges.
  • Added: Multiselection. This allows you to select multiple titles at once and backup them with a single tap.
    • Press Y to select a single title.
    • Held Y for a second and a half to select all the titles you have.
    • This will store your backups in a <titlename> - Autobackup folder, by default, inside the folder containing all the save backups for the selected title.
  • Fixed: Potential crashes during the title retrieving has been fixed. This was achieved by sorting the list just once, to prevent stack overflows. This also implies that the title loading is now faster than before.
  • Fixed: A critical bug with backup folder names has been fixed. This caused FAT drivers to go mad if folders weren't named correctly by Checkpoint.
    • The illegal characters list has been changed a bit, so some folders may not be compatible anymore with the first version.
  • FIxed: Extdata backup is now working correctly (kinda). Restore could still crash in some cases, though.
  • Fixed: now backup folders are deleted if a backup fails (this means you'll not have potentially empty backups anymore).
  • Fixed: now the working path for a title is 0x<uniqueID> <titlename>. This prevents edge cases where two games have the same title name, causing the save file to conflict in the same folder.
  • Fixed: Button A doesn't close the target anymore.
  • Changed: now the working path has been moved into sdmc:/3ds/Checkpoint/
    • You can safely remove/copy&paste backups manually from a backup folder to another, of course.
  • Changed: slight changes in the default save backup name.
  • Changed: cosmetic changes, we all love them.
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.




 

Mr.Faq2015

/ˈmɪstə ˈfæk/
Member
Joined
Oct 24, 2015
Messages
320
Trophies
0
Location
Rhizome 9
XP
1,469
Country
Argentina
Not crashing anymore here, thanks or the fix! It's a really big update btw lol
One thing to mention though, which is that the banner on cia version has no sound. Is there a reason for it not to have a custom sound or just didn't want to stick to Wii HBC's theme?
 
General chit-chat
Help Users
    Digitalcat @ Digitalcat: Hate how they are getting thinner and thinner.