Skip to content
 
 

Repository files navigation

Cart-Flasher Logo

Cart-Flasher

A DS/DSi homebrew application to backup and restore raw flash images to/from Slot-1 flashcarts.

Getting started

Download the latest cart_flasher.nds and place it on your flashcart's SD card.

  1. Boot into your flashcart menu, and launch Cart-Flasher.
  2. Accept the warning by pressing A.
  3. Select your cart in the cart list.
  4. To save a copy of your cart, select Back up flash, then press A to start. Your dump is saved to cart-backups on the SD card.
  5. To write a flashrom back, select Write flash, pick your .bin file, then input the key combo to proceed.
  6. When available for your cart, select Back up DS banner to save a reusable banner in cart-backups/banners.
  7. Select Write DS banner, choose a banner from cart-backups/banners, then input the key combo to apply it.
  8. Wait until the progress bar finishes, then press A.

Tip

Keep a copy of your first dump somewhere off the SD card. Dumping the same cart again overwrites the old file.

Note

Some supported carts offer Back up DS banner and Write DS banner when their layout is safe to change. Banner backups go in cart-backups/banners; the app keeps older backups instead of replacing them. Use DS Banner Maker to create a new banner or edit a backup, then select it with Write DS banner.

The app checks both the cart and banner before writing, changes only the banner area, and verifies the result afterward.

Supported carts

Ace3DS+, Acekard 2i, DSTT, R4i Gold 3DS, R4iSDHC family, R4 SDHC Dual-Core (DSi mode only), and Datel carts (Games N' Music, Max Media Player, Action Replay DS).

Note

If normal Ace3DS+ detection fails, Try recovery header offers the known 2 MiB R4iSDHC.hk Dual Core 2021 stock profile. It verifies the Deep Labyrinth recovery header and RDID 1540EF before enabling backup or restore. Back up first and restore only a verified image.

Sanras's flashcart guide covers which retail carts these map to, and has a full walkthrough for changing a flashcart's banner using this tool.

Caution

Breaks stock DSi/3DS compatibility

Changing the icon or banner text of a flashcart will cause it to be blocked by DSi and 3DS firmware, unless CFW (Custom Firmware) is installed on the console. NDS and DS Lite are not affected by this, as they do not do any integrity checks on the game being loaded.

This only applies to banners you have changed. Restoring your own untouched backup is fine.

Warning

Not every cart has been tested. If you can't dump the flashrom for your cart, or the resulting dump is nonsense, STOP and do not proceed any further. Open an issue and provide information about your cart and setup.

Use real hardware. Emulators can't emulate a flashcart, so a detection there means nothing even when it looks like it worked.

And as always, flashing carts and modifying firmware carries a risk. We are not responsible for any damage that may occur, such as bricked carts.

Reporting a problem

  1. Press Y on the cart list until the log reads DEBUG.
  2. Do the thing that went wrong again.
  3. Power off, and grab cart-backups/cart_flasher.log from your SD card.
  4. Open an issue with the log attached, which cart you have, and how you launched Cart-Flasher.

Note

If you saw SD card init failed!, there is no log to send. Take a photo of the screen and attach that instead.

Building

git clone https://github.com/tasken/cart-flasher.git
cd cart-flasher/
sudo ./build.sh

This builds inside Docker (BlocksDS toolchain included) and produces cart_flasher-dev.nds. Nightlies are cart_flasher-nightly-<commit>.nds; releases are cart_flasher.nds. If you already have BlocksDS installed locally, run git submodule update --init --recursive once, then make works directly without Docker. build.sh initializes both pinned core submodules itself before starting Docker.

Local builds use build kind Debug and include a software-only simulated cart. It exercises full flash and DS banner operations with deterministic data, starts with the Cart-Flasher DS banner, and never sends Slot-1 commands. Nightly and release builds use explicit non-Debug kinds and never include it.

Credits

  • Developed by Tasken (Nimbo on Discord)
  • Upstream base: repurposed as a general-purpose flashcart dump/write tool, built on top of:
  • Drivers & core:
    • flashcart_core by ntrteam, for the per-flashcart device drivers
    • libncgc by angelsl, for the NTR/CTR card protocol layer
    • datelTool by ApacheThunder, for Datel cart support; AUXSPI protocol logic by edo9300

Special thanks to Sanras for feedback and pre-release testing, and ApacheThunder for Datel hardware testing. Make sure to check out Sanras's flashcart guide.

The key combo confirmation before writing to a cart is styled after d0k3's GodMode9 unlock sequence prompt.

License

GPL-3.0 - see LICENSE.

Copyright © the original ntrboot_flasher_nds authors and later contributors (see Credits above, and the git history for per-change authorship). The vendored flashcart_core and libncgc are also GPL-3.0, under their own licenses.

About

A DS/DSi homebrew application to backup and restore raw flash images to/from Slot-1 flashcarts

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages