A hopefully reusable component for dealing with flashcart specific behavior.
End users cannot use this directly, and should use one of the following applications:
Note: Flashcarts from r4isdhc.com tend to have yearly re-releases; most versions of these carts (2014-2018) should work but not all have been tested. Models from 2013 or earlier differ in hardware but could be similar to the current R4 Dual Core flashcarts from r4isdhc.hk. While the R4 Dual Core (r4isdhc.hk) works, r4isdhc.com 2013 and earlier flashcarts may not.
We get a lot of requests for new carts to be supported. Before requesting support, please read the existing open and closed issues to see if your cart has already been considered or not. If you'd like your cart to be supported please provide, at the very least, the following information:
If you want to use flashcart_core in your project, you will need libncgc as well.
You will need to reopen the flashcart_core::platform namespace, and inside it define:
showProgress()
, used to show current percentage of a given operation (e.g. drawing a green rectangle to represent percentage)logMessage()
, used to log things from the various flashcart classes to something that the user can read, e.g. a text file or printouts to the screen. You will need va_list
for this.getBlowfishKey()
, used by the various flashcart classes to retrieve blowfish keys. You have to provide these blowfish keys yourself through e.g. a u8 array or using a .bin linker.Then you can make an object from one of the flashcart_core classes, and then use the public functions inside that class. For example:
R4i_Gold_3DS R4iGold;
R4iGold.initialize();
R4iGold.injectNtrBoot(blowfish_key, firm, firm_size);
Your Makefile should create libncgc.a first, then compile your project normally using flashcart_core.
This software is licensed under the terms of the GPLv3. You can find a copy of the license in the LICENSE file.