A DS/DSi homebrew application to backup and restore raw flash images to/from Slot-1 flashcarts.
Download the latest cart_flasher.nds and place it on your flashcart's SD card.
- Boot into your flashcart menu, and launch Cart-Flasher.
- Accept the warning by pressing
A. - Select your cart in the cart list.
- To save a copy of your cart, select
Back up flash, then pressAto start. Your dump is saved tocart-backupson the SD card. - To write a flashrom back, select
Write flash, pick your.binfile, then input the key combo to proceed. - When available for your cart, select
Back up DS bannerto save a reusable banner incart-backups/banners. - Select
Write DS banner, choose a banner fromcart-backups/banners, then input the key combo to apply it. - 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.
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.
- Press
Yon the cart list until the log readsDEBUG. - Do the thing that went wrong again.
- Power off, and grab
cart-backups/cart_flasher.logfrom your SD card. - 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.
git clone https://github.com/tasken/cart-flasher.git
cd cart-flasher/
sudo ./build.shThis 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.
- Developed by
Tasken(Nimboon Discord) - Upstream base: repurposed as a general-purpose flashcart dump/write tool, built on top of:
- ntrboot_flasher_nds by
jason0597(original project) - ntrboot_flasher_nds by
DS-Homebrew(enhanced fork)
- ntrboot_flasher_nds by
- 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 byedo9300
- flashcart_core by
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.
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.
