Checkpoint by FlagBrew - Homebrew App Store (switch)
Back

App Store IconHomebrew App Store (switch)

Checkpoint
by FlagBrew

Checkpoint icon
    Version3.10.0
    Zip size4,349 KiB
    LicenseGPLv3
    Updated19/04/2025
    Downloads249,227
    MD5377703c680f5b6648e9c0c3405f6aa28

App Details

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 Switch natively supports NAND saves for the titles you have played. Title information 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).

- sdmc:/switch/Checkpoint: root path
- sdmc:/switch/Checkpoint/config.json: custom configuration file
- sdmc:/switch/Checkpoint/saves/ <game title>: root path for all the save backups for a generic game<br/><br/>Usage<br/><br/>Checkpoint for Switch only runs on homebrew launcher. Make sure you're running up-to-date payloads.<br/><br/>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.<br/><br/>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.</p> <h4>Screenshots</h4><div class="screenshots"><a target="_blank" href="https://switch.cdn.fortheusers.org/packages/Checkpoint/screen1.png"><img src="https://switch.cdn.fortheusers.org/packages/Checkpoint/screen1.png" alt="Screenshot"></a></div> <h4>Changelog</h4> <p>3.10.0<br/>Fixed: startup time has been drastically improved: ~50% speedup on uncached boot, ~90% speedup on cached boot.<br/>This has been achieved by profiling the application boot process, and realizing that title cache persistence on the SD card took majority of the loading time. Now this operation is lazily done in a separate thread. It's funny to realize that a badly implemented optimization can become a bottleneck of its own, so take my mistake as a lesson.<br/>Here's the improvements I had on my console (improvements may vary since they depend on how many games you have on your console):<br/>Uncached startup went down from 9.8s to 5.7s<br/>Cached startup went down from 5.7s to 0.6s<br/>Added: due to requests from multiple users, Checkpoint can now be updated from Universal Updater.<br/>Fixed: cartridge loading now runs immediately rather than waiting for the title cache to be persisted on the SD card.<br/>Fixed: properly quit the application gracefully when an handled exception occurs.<br/>Fixed: initial code refactoring.<br/>Removed: some redundant logs in the title loader.<br/>General system stability improvements to enhance the user's experience.<br/><br/>3.9.0<br/>This release mostly contains changes and patches related to the infamous 3.8.x startup crash issue affecting the 3DS version of the software. General improvements have been added to the Switch version as well.<br/><br/>Fixed: the startup crash issue affecting all version since 3.8.0 has been identified and patched.<br/>Huge shoutout to achinech on Discord who volunteered to debug the issue on their console.<br/>If you still encounter startup crash issues, please notify the team immediately on Discord and on GitHub issues.<br/>Fixed: cartridge scanning has been refactored to be way more efficient.<br/>Previously, the software used to poll the cartridge synchronously for every frame of the UI thread. Cartridge scanning is now happening on a separate thread which only runs twice per second.<br/>Added: a more advanced threading framework ported from PKSM.<br/>Added: networking support and an integrated HTTP server. This is currently used to provide real-time online access to the application logs, but this code will be useful for future features like self-updating.<br/>Added: compiler optimizations are back. This includes link-time optimization and an upgrade from O2 to O3 compared to v.3.7.4.<br/>Fixed: better configuration file handling ported from PKSM.<br/>Fixed: better thread synchronization between UI thread and title loading thread.<br/>Fixed: wrap the entire program into try-catch blocks to prevent crashes caused by other unhandled exceptions in the future.<br/>Fixed: few graphics improvements.<br/>Fixed: readme has been updated with latest screenshots.<br/>General system stability improvements to enhance the user's experience.<br/><br/>3.8.2<br/>Added: Initial upgrade from C++17 to C++20<br/>Added: Built with latest Sharkive's cheats repository<br/>Fixed: UI has been improved and rendering has been simplified in order to make the screen render faster<br/>Fixed: the color scheme has been improved (to my liking)<br/>Fixed: a crash when playing certain games and then going directly into checkpoint afterwards<br/>Fixed: logs on the Switch version are now split by day. This avoids keeping a huge checkpoint.log file after years of use.<br/>You can safely remove /switch/Checkpoint/checkpoint.log.<br/>You can find the new logs under /switch/Checkpoint/logs folder.<br/>Logs for the 3DS version will be added in the next releases.<br/>Fixed: dependencies have been updated to their latest version<br/>Fixed: displayed play time is now rendered correctly<br/>Fixed: L/R buttons double binding (thanks @Noxor11)<br/>Fixed: source compilation (thanks @mrhappyasthma and @l-austenfeld)<br/>Removed: link time optimizations have been disabled.<br/>These were originally introduced to strip down some weight off the compiled executable, but the difference is too small to consider this feature useful. LTO has caused some trouble in v3.8.0 on the 3DS version.</p> </div> </div> <footer> <a href="https://github.com/fortheusers/hbas-frontend" target="_blank">GPLv3 License.</a> This website is NOT affiliated with Nintendo Co. Ltd. </footer> </noscript><div id="root"></div></body></html>