Skip to content
 
 

Latest commit

 

History

152 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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. 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.

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).

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_flasher.log from the root of 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, make works directly without Docker.

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 LICENSE and MODIFICATIONS.md.

About

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

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages