Tutorial  Updated

How To: Dump 3DS Carts to CIA, 3DS to CIA, Dump Private Headers & DS Carts

The latest release of Hourglass9//Decrypt9WIP, now allows us to dump our physical 3DS and NDS//DSi Games, as well as our Private Headers from our 3DS games~!
This guide was made for MenuHax and A9LH users, alike~ So you should be good, regardless of your setup~



~Setting Up Hourglass9 with Luma3DS (A9LH-Only)~
As of the latest revision of Plailect's Guide, you should have Hourglass9 on your Start Key, effectively replacing Uncart from previous revisions of the guide. However, for the purpose of this guide, I'll still assume you don't have the latest version. I'll also be making the assumption you are using Luma3DS.
Adapt the guide to whatever CFW or BootManager you are using~ Should be easy enough to figure out by looking at the documentation of your given CFW or BootManager~

Files we'll need:
Latest release of Hourglass9: https://github.com/d0k3/Hourglass9/releases/
aeskeydb.bin (Somewhere here: https://3ds.guide/installing-arm9loaderhax)

Note: I recommend that you delete Uncart, since Hourglass9 now makes it effectively useless.

1. Copy Hourglass9.bin from the Hourglass9 zip to the /luma/payloads/ folder on your SD card.
2. In the /luma/payloads folder, rename Hourglass9.bin to start_Hourglass9.bin
Note: You can change the button behavior to whatever you want that Luma3DS' payload chainloader allows, just look at the wiki for other button options.
Link: https://github.com/AuroraWright/Luma3DS/wiki/Other-features-and-notes#payload-chainloading
3. Once you've gotten aeskeydb.bin, make sure to copy it to the /files9/ folder on your SD card. (If /files9/ does not exist, make one now, and put the aeskeydb.bin there)
4. With the above recommendation, hold the Start key time at boot time to load Hourglass9.



~Setting Up Decrypt9WIP with Luma3DS (A9LH)~
Certain sections of this guide only work with Decrypt9WIP. Sooooooooo, putting this here for people who need to setup Decrypt9WIP for those sections~ Otherwise, skip this~
Adapt the guide to whatever CFW or BootManager you are using~ Should be easy enough to figure out by looking at the documentation of your given CFW or BootManager~

Files we'll need:
Latest release of Decrypt9WIP: https://github.com/d0k3/Decrypt9WIP/releases
aeskeydb.bin (Somewhere here: https://3ds.guide/installing-arm9loaderhax)

Note: I do not recommend replacing Decrypt9WIP with Hourglass9, as Hourglass9 is still a much safer and simpler way of restoring//managing NAND backups on A9LH setups.

1. Copy Decrypt9WIP.bin from the Decrypt9WIP zip to the /luma/payloads/ folder on your SD card.
2. In the /luma/payloads folder, rename Decrypt9WIP.bin to x_Decrypt9WIP.bin
Note: You can change the button behavior to whatever you want that Luma3DS' payload chainloader allows, just look at the wiki for the other options.
Link: https://github.com/AuroraWright/Luma3DS/wiki/Other-features-and-notes#payload-chainloading
3. Once you've gotten aeskeydb.bin, make sure to copy it to the /files9/ folder on your SD card. (If /files9/ does not exist, make one now, and put the aeskeydb.bin there)
4. With the above recommendation, hold the X key time at boot time to load Decrypt9WIP.





~Setting Up Decrypt9WIP (MenuHax)~
I'll assume you don't have the latest version.
If you have followed my adapted MenuHax Guide, then you should have a CtrBootManager entry for Decrypt9WIP, just updating it is enough.
If you didn't follow my adapted MenuHax Guide, you'll have to figure out how to launch it with whatever version//method you are using. However it should be pretty similar and easy to figure out.

Files we'll need:
Latest release of Decrypt9WIP: https://github.com/d0k3/Decrypt9WIP/releases
aeskeydb.bin (Somewhere here: https://3ds.guide/installing-arm9loaderhax)

1. Copy the Decrypt9WIP folder from the Decrypt9WIP zip to the /3ds/ folder on your SD card.
2. Once you've gotten aeskeydb.bin, make a /files9/ folder, and make sure to copy aeskeydb.bin to the /files9/ folder on your SD card
3. Depending on your MenuHax setup, will depend on how you launch Decrypt9WIP.
For some users, they'll need to load up the Homebrew Launcher then launch Decrypt9WIP from there.
Assuming you used my adapted MenuHax Guide, you should be able to use CtrBootManager to launch Decrypt9WIP.
Figure out the method of how your MenuHax Setup launches Decrypt9WIP and you should be good to go~





~Dump 3DS Cart to .CIA~
The latest version of both Hourglass9 or Decrypt9WIP support dumping our physical 3DS cartridges directly to .CIA format. No PC needed~!

1. Open up Hourglass9//Decrypt9WIP.
2. Go to "Gamecart Dumper Options"
3. Select "Dump Cart to CIA"
4. Let it finish and done~! It's that easy~ ^_^ Just use your favorite CIA Installer, like FBI, and that's it~!
5. You can find the created CIA file(s) under your files9 folder. Enjoy!




~Dump 3DS Cart to .3DS format~
The latest version of both Hourglass9 or Decrypt9WIP support dumping our physical 3DS cartridges to four .3DS types (Encrypted-full, Encrypted-trim, Decrypted-full, Decrypted-trim)
Taken from the README
*Dump Cart (full): This feature dumps the full, unaltered data from the inserted cartridge. For 4GB cartridges, the last sector is silently discarded, because the FAT32 file system can't handle files equal or above 4GB. This feature also handles NTR/TWL cartridges (aka. NDS and DSi crtridges).
*Dump Cart (trim): Same as the above feature, but discards the unused padding for smaller output and faster processing. Using this is recommended unless the padding is required for digital preservation purposes.
*Dump & Decrypt Cart (full): Same as 'Dump Cart (full)', but also decrypts the cartridge data on-the-fly. Decrypted cartridge data is required for emulators and recommended for CIA conversion. The recommended CIA conversion tool is 3dsconv. NTR/TWL cartridges are not encrypted and thus won't be decrypted.
*Dump & Decrypt Cart (trim): Same as above, but discards the unused padding for smaller output and faster processing. This is recommended over the above feature.


1. Open up Hourglass9//Decrypt9WIP.
2. Go to "Gamecart Dumper Options"
3. Select between the four options: "Dump Cart (full)" ; "Dump Cart (trim)" ; "[Dump & Decrypt Cart (full)" ; "Dump & Decrypt Cart (trim)" - Depending on your needs and from the descriptions given above.
4. Let it finish and done~! If you want to convert your .3DS dump to .CIA, you must use Decrypt9WIP, so A9LH users will need to set that up, but read on if you want to see how it works~!
5. You can find the created 3DS file(s) under your files9 folder. Enjoy!




~Converting .3DS to .CIA (On 3DS)~
The latest version of Decrypt9WIP supports converting .3DS dumps to .CIA~

1. Make sure all the .3DS dumps that you want to convert to CIA are in the /files9/ directory of your SD Card.
2. Open up Decrypt9WIP.
3. Go to "Content Decryptor Options"
4. Go to "NCCH/NCSD File Options..."
5. Go to "NCCH/NCSD to CIA Converter"
6. Let it finish and done~! It's that easy~ ^_^ Just use your favorite CIA Installer, like FBI, and that's it~!
7. You can find the converted CIA file(s) under your files9 folder. Enjoy!




~Converting Encrypted .3DS to Decrypted .3DS~
If you dumped your .3DS files using either "Dump Cart (full)" or "Dump Cart (trim)"; Then your dumps are Encrypted, the following steps are for people who want to make them Decrypted dumps without redumping, however you'll need to use Decrypt9WIP.

1. Make sure all the Encrypted .3DS dumps that you want to convert to Decrypted .3DS dumps are in the /files9/D9Game directory of your SD Card.
2. Open up Decrypt9WIP.
3. Go to "Content Decryptor Options"
4. Go to "NCCH/NCSD File Options..."
5. Go to "NCCH/NCSD Decryptor"
6. Let it finish and done~! Your Encrypted .3DS dumps are now fully Decrypted .3DS dumps~





~Converting Decrypted .3DS to .CIA (On Windows-PC)~
If you dumped your .3DS files using either "Dump & Decrypt Cart (full)" or "Dump & Decrypt Cart (trim)" ; Then converting to .CIA is pretty simple on a PC. Since these .3DS dumps have been decrypted.
Or if you converted Encrypted .3DS to Decrypted .3DS, then converting to .CIA is also pretty simple on a PC.
This part, will assume you are using a 64-bit Windows PC.
Linux and Mac users will have to look into using 3dsconv through python2.7 (Should be easy to figure out)

Files we'll need:
3dsconv: https://github.com/ihaveamac/3dsconv/releases

1. Download 3dsconv.exe and place it any folder//directory that you want to use as the working directory for the 3DS to CIA conversion.
2. Copy over your 3DS file dumps to the same working directory as 3dsconv.exe (They'll probably be named after the Product ID of the game you dumped)
3. If you dumped your 3DS games as decrypted, then it's a simple drag-and-drop of your decrypted .3ds files onto the 3dsconv.exe, it'll process them and convert the to .CIA (The .CIA converted files will be in the same directory as the .3DS files were)
4. And that's basically it, you're done~! Just drag-and-drop the .CIA files back to your SD Card and install them with your favorite CIA Installer, like FBI.





~Converting Encrypted .3DS to .CIA (On Windows-PC)~
If you dumped your .3DS files using either "Dump Cart (full)" or "Dump Cart (trim)" ; Then converting to .CIA is a bit more involved, since these dumps are Encrypted, we'll need to generate XORPads with Decrypt9WIP to convert them.
This part, will assume you are using a 64-bit Windows PC.
Linux and Mac users will have to look into using 3dsconv through python2.7 (Should be easy to figure out)

Files we'll need:
3dsconv: https://github.com/ihaveamac/3dsconv/releases

1. Download 3dsconv.exe and place it any folder//directory that you want to use as the working directory for the 3DS to CIA conversion.
2. Copy over your 3DS file dumps to the same working directory as 3dsconv.exe (They'll probably be named after the Product ID of the game you dumped)
3. If you dumped your 3DS games as encrypted, then we need to use the command prompt to get our ncchinfo.bin for use with Decrypt9WIP to get our xorpads.
4. On the same directory where 3dsconv.exe and your .3DS dumps are, Shift-RightClick and select "Open command window here"
5. This should have opened a command prompt window with the focus on that working directory of our files.
6. Type in "3dsconv.exe --gen-ncchinfo *.3ds" (This will generate a ncchinfo of all .3ds files in that directory.)
7. Copy and paste the ncchinfo.bin to the root of your SD Card (can also be placed inside the /files9 folder) and insert it into your 3DS.
8. Open up Decrypt9WIP.
9. Go to "XORpad Generator" then to "NCCH Padgen" ~ Now watch it generate//create your xorpads~!
10. Once it's done, make sure it has a "succeeded!" message, once you see that, go ahead and press B to return to the menu.
11. Press dpad left + start to power off.
12. Remove your SD Card from your 3DS, and insert it into your Computer and copy all the files that end with .xorpad to the same working directory as 3dsconv.exe and your .3ds dumps.
13. With all that done, it's now a simple drag-and-drop of your encrypted .3ds files onto the 3dsconv.exe, it'll process them and convert the to .CIA (The .CIA converted files will be in the same directory as the .3DS files were)
14. And that's basically it, you're done~! Just drag-and-drop the .CIA files back to your SD Card and install them with your favorite CIA Installer, like FBI.





~Creating .CIA file(s) from installed content//game(s) (On 3DS)~
The latest version of both Hourglass9 or Decrypt9WIP support creating a .CIA from an already installed game.

Use http://www.3dsdb.com/ to figure out what the title ID is for the game you want to build a .CIA for. Or use FBI, under Titles to find out that title ID.


1. Open up Hourglass9 -> Miscellaneous Options -> SysNAND title to CIA or EmuNAND title to CIA (depending on which NAND the 3DS game was tied to)
2. Use the arrow keys (right-left and down-up) and find the title ID for your game.
I'll use Pokemon Moon as an example, which the title id is: 0004000000175E00 - it'll be displayed in Hourglass9 as /title/00040000/00175E00
3. Once you've found and selected the folder that matchedd the title ID for your game, press A.
4. It will now attempt to build the CIA
5. You can find the created CIA file under your files9 folder. Enjoy!

1. Open up Decrypt9WIP -> Content Decryptor Options -> CIA Builder Options -> CIA Builder (SysNAND/decr.) or CIA Builder (EmuNAND/decr.)(depending on which NAND the 3DS game was tied to)
2. Use the arrow keys (right-left and down-up) and find the title ID for your game.
I'll use Pokemon Moon as an example, which the title id is: 0004000000175E00 - it'll be displayed in Decrypt9WIP as /title/00040000/00175E00
3. Once you've found and selected the folder that matchedd the title ID for your game, press A.
4. It will now attempt to build the CIA
5. You can find the created CIA file(s) under your files9 folder. Enjoy!





~Dumping//Extracting our Private Header(s)~
The latest version of both Hourglass9 or Decrypt9WIP support dumping//extracting our Private Headers. However, they are only really useful and important for flashcard users, but I've added this for the people who want to and need this~

1. Open up Decrypt9WIP//Hourglass9.
2. Go to "Gamecart Dumper Options" and select "Dump Private Header"
3. And that's it~ It'll dump it to your SD Card named something along the lines of ProductID-private.bin
4. For the Unique ID value, it'll be displayed on the screen when dumping your header. You can go ahead and note it down. Or take the more sane approach, which I'll describe in the next couple of steps.
5. Once done, make sure it has a "succeeded!" message, once you see that, go ahead and press B to return to the menu.
6. Press dpad left + start to power off.
7. Copy your private-header.bin from the /files9 folder to somewhere safe, or if you actually wanted the .bin, just use it however you plan to.
8. Open the Decrypt9.log//Hourglass9.log with Notepad++ or with WordPad or with whatever txt editor you want (It'll look jumbled up in normal Notepad on Windows - I don't recommend you use that)
9. Look for the Unique ID entry, and there it is~! Now copy and keep it somewhere safe and use it for whatever you were going to do with it~





~Dump NDS//DSi Carts to .NDS format~
The latest version of both Hourglass9 or Decrypt9WIP support dumping our physical DS cartridges to .NDS format~ (Either full or trimmed)
Taken from the README:
Dump Cart (full): This feature dumps the full, unaltered data from the inserted cartridge. For 4GB cartridges, the last sector is silently discarded, because the FAT32 file system can't handle files equal or above 4GB. This feature also handles NTR/TWL cartridges (aka. NDS and DSi crtridges).
Dump Cart (trim): Same as the above feature, but discards the unused padding for smaller output and faster processing. Using this is recommended unless the padding is required for digital preservation purposes.
Dump & Decrypt Cart (full): Same as 'Dump Cart (full)', but also decrypts the cartridge data on-the-fly. Decrypted cartridge data is required for emulators and recommended for CIA conversion. The recommended CIA conversion tool is 3dsconv. NTR/TWL cartridges are not encrypted and thus won't be decrypted.
Dump & Decrypt Cart (trim): Same as above, but discards the unused padding for smaller output and faster processing. This is recommended over the above feature.
Dump Cart to CIA: Use this to directly dump an inserted cartridge to a fully decrypted CIA file, which can be installed to a patched system using CIA installer software like FBI. For most users, this type of dump will be the most convenient. NTR/TWL cartridges can't be dumped to a CIA file.


1. Open up Decrypt9WIP//Hourglass9.
2. Go to "Gamecart Dumper Options"
3. Select between either: "Dump Cart (full)" or "Dump Cart (trim)" (Since NTR/TWL cartridges aren't encrypted, the decrypted options won't do anything different.)
4. Let it finish and done~! Use your .NDS dumps anyway you want~ ^_^
5. Your .NDS dumps should be in the files9 folder.
 
Last edited by Temptress Cerise,

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Alright, thanks! I had a look, compared it with the 3dbrew descriptions and checked what's set, and what is not. Here's my observations, maybe you can enlighten me on some.
  • This does not contain a dummy CIA header. Assuming the data here is already correctly aligned/padded and in the correct order (which it looks like it is), adding a dummy header may make things easier, but would also waste another 8KiB.
  • I'm inclined to treat the certificate chain as a black box. I don't think anything has to be modified there (right?). Still, I wonder what would happen if we deliberately corrupted it (ie, use all zero sigs) - would CIAs still be installable?
  • Now, for the ticket. I notice the 'sig' is just a repeating pattern of a 4 byte sequence (same for TMD). Guess there is no reason why it couldn't be anything else (like all zeroes). Same for the ECC public key, I guess. After that, the only stuff that is actually set to anything but zero is version (1, no-brainer, I guess) and 'Audit' (why?). I don't understand the content index part... 3dbrew has no description on it - does this have to be adapted?
  • For the TMD. Same observations as with the ticket, see above. Version is set to 0x01 again, title type is set to 0x40000000 (why?). Other than that, again, everything is zero. I do understand how that content index stuff works in the TMD, so no need to elaborate on that.
  • Now, for the big question... what stuff inside the TMD and ticket do I have to actually change? Judging from what I see there, I'd say, title id only and the content index stuff, but I'm also 99% sure I'm missing something here.
Thanks again, this is greatly appreciated.
 

ihaveahax

Well-Known Member
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,824
Country
United States
This does not contain a dummy CIA header. Assuming the data here is already correctly aligned/padded and in the correct order (which it looks like it is), adding a dummy header may make things easier, but would also waste another 8KiB.
the CIA header has very little information in it and tons of null bytes. this is manually inserted because of that. the only things that are changed are TMD size, Content size, and first byte of Content Index (which for some reason is the only thing that seems to ever change?).
I'm inclined to treat the certificate chain as a black box. I don't think anything has to be modified there (right?). Still, I wonder what would happen if we deliberately corrupted it (ie, use all zero sigs) - would CIAs still be installable?
nope, I tried modifying it. as far as I know you can't touch a single bit, or else the CIA can't be installed due to invalid cert.
Now, for the ticket. I notice the 'sig' is just a repeating pattern of a 4 byte sequence (same for TMD). Guess there is no reason why it couldn't be anything else (like all zeroes). Same for the ECC public key, I guess. After that, the only stuff that is actually set to anything but zero is version (1, no-brainer, I guess) and 'Audit' (why?). I don't understand the content index part... 3dbrew has no description on it - does this have to be adapted?
I based the ticket off the template one FunKeyCIA/CDN-FX/that titlekey site use. the only thing that has to be modified is the title ID, just so the game will show up at Home Menu and be playable. to be honest I don't know much about the format, but there's tools out there that use the same kind of ticket. when I compared various tickets from the titlekey site and FunKeyCIA, the only things to change were titlekey and TID.
For the TMD. Same observations as with the ticket, see above. Version is set to 0x01 again, title type is set to 0x40000000 (why?). Other than that, again, everything is zero. I do understand how that content index stuff works in the TMD, so no need to elaborate on that.
3dbrew doesn't really have good documentation on things like title type. I based the TMD off one of a CIA from makerom.

as for version, is that TMD version (has there ever been a newer version) or title version (version of the game)? not entirely sure how I could get the version from a game card. though thinking about it, there's probably a way (since games like MK7 got later revisions with game updates built in).
Now, for the big question... what stuff inside the TMD and ticket do I have to actually change? Judging from what I see there, I'd say, title id only and the content index stuff, but I'm also 99% sure I'm missing something here.
you would need to change (based on 3dbrew's names at https://3dbrew.org/wiki/Title_metadata):
  • "Title ID"
  • "Save Data Size"
  • "Content Count"
  • "SHA-256 Hash of the Content Info Records"
  • "Content command count [k]" under "Content Info Records" (same thing as "Content Count")
  • "SHA-256 hash of the next k content records that have not been hashed yet" under "Content Info Records" (or, hash of the Content Chunk Records)
I know you know of a few of these, just listing all of them anyway. might be something I've missed, I'll have to read the script again
 
Last edited by ihaveahax,
  • Like
Reactions: d0k3

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
you would need to change (based on 3dbrew's names at https://3dbrew.org/wiki/Title_metadata):
  • "Title ID"
  • "Save Data Size"
  • "Content Count"
  • "SHA-256 Hash of the Content Info Records"
  • "Content command count [k]" under "Content Info Records" (same thing as "Content Count")
  • "SHA-256 hash of the next k content records that have not been hashed yet" under "Content Info Records" (or, hash of the Content Chunk Records)
I know you know of a few of these, just listing all of them anyway. might be something I've missed, I'll have to read the script again
Alright... title ID has to be changed in the ticket, too, but that's the only thing that has to be changed, I assume. Now, one more thing (I guess I'll need some time then)... "Save Data Size", I'm unsure where to get the correct value for that from. Also, maybe card2 games are special in that respect?
 

ihaveahax

Well-Known Member
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,824
Country
United States
Alright... title ID has to be changed in the ticket, too, but that's the only thing that has to be changed, I assume. Now, one more thing (I guess I'll need some time then)... "Save Data Size", I'm unsure where to get the correct value for that from. Also, maybe card2 games are special in that respect?
exheader, offset 0x1c0, size 0x8. save data size in TMD is only 4 bytes long so you can just read 4 bytes, copy and paste the same value.

I wouldn't think card2/card1 games would be different here, they might technically save differently but they would both still have sizes.
 
Last edited by ihaveahax,

zeromission80

Well-Known Member
Newcomer
Joined
Apr 13, 2009
Messages
75
Trophies
0
XP
198
Country
United States
So if I dump all my legit games I can keep them all on my SD card, and essentially be able to go online with monster hunter generations!? Since I followed the guide to install a9hl on my new 3dsxl generations, I haven't really toyed with all the fun stuff...stupid addicting monster hunter lol
 

Temptress Cerise

Miss Magic~ <3
OP
Member
Joined
May 1, 2016
Messages
2,242
Trophies
1
XP
2,336
Country
United States
So if I dump all my legit games I can keep them all on my SD card, and essentially be able to go online with monster hunter generations!? Since I followed the guide to install a9hl on my new 3dsxl generations, I haven't really toyed with all the fun stuff...stupid addicting monster hunter lol
As long as you convert them to CIA and then install them with FBI, then yeah, then you can keep your cartridges at home.
 

tOPO

Member
Newcomer
Joined
Jul 22, 2007
Messages
24
Trophies
1
XP
250
Country
Hi. I have various legit digital games i bought and among them, Pokémon Y. Is there a way to dump the header from this copy somehow and if so, how? I just prepped my O3DSXL last night and it is working great. Just don't want to be hasty before i jump in on MHG online :)
 

Temptress Cerise

Miss Magic~ <3
OP
Member
Joined
May 1, 2016
Messages
2,242
Trophies
1
XP
2,336
Country
United States
Hi. I have various legit digital games i bought and among them, Pokémon Y. Is there a way to dump the header from this copy somehow and if so, how? I just prepped my O3DSXL last night and it is working great. Just don't want to be hasty before i jump in on MHG online :)
CIA or digital games don't use headers, well they do, but they use the console's.

You won't need headers if you are using a CIA (digital install) of MHG.
 

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
exheader, offset 0x1c0, size 0x8. save data size in TMD is only 4 bytes long so you can just read 4 bytes, copy and paste the same value.

I wouldn't think card2/card1 games would be different here, they might technically save differently but they would both still have sizes.
(I hope it's okay to hijack this thread for this)

Guess what? I'm finally in the process of getting a proper NCCH/NCSD -> CIA converter into D9. There are still things I don't get - the 'content index' inside the ticket and the CIA header. For the CIA header, it looks like you're just setting the very first bit of the content index to 1 (or the first byte to 0x80), and you're done with it. Tickets seem to contain some dummy(?) data - it is the same for everything one way or another (btw: Does this method of conversion also take over manuals?). So just treat the content index of tickets / CIA header like a black box?

Also: you should join us on freenode #Cakey, especially if you're already on IRC anyways.
 
Last edited by d0k3,

ihaveahax

Well-Known Member
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,824
Country
United States
Guess what? I'm finally in the process of getting a proper NCCH/NCSD -> CIA converter into D9. There are still things I don't get - the 'content index' inside the ticket and the CIA header. For the CIA header, it looks like you're just setting the very first bit of the content index to 1 (or the first byte to 0x80), and you're done with it.
I noticed the conv_cia branch, and thought something was up :P

for content index in the CIA header, it makes no sense. 0x80 for one content, 0xC0 for two, 0xE0 for three...??? I eventually found out how this was calculated reading make_cia/makerom's source code (this; and my python implementation), but I just hardcoded the three possible values for this because it was just the easiest method.
Tickets seem to contain some dummy(?) data - it is the same for everything one way or another (btw: Does this method of conversion also take over manuals?). So just treat the content index of tickets / CIA header like a black box?
I suppose so. content index on the ticket probably doesn't matter. CIA header is just weird, like above.
Also: you should join us on freenode #Cakey, especially if you're already on IRC anyways.
I don't really use IRC (especially since all of the mac irc clients suck), though I might get on some time. probably should now, especially since hexchat finally decided to install... I'm just usually on discord but eh.
 
  • Like
Reactions: Temptress Cerise

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
I noticed the conv_cia branch, and thought something was up :P

for content index in the CIA header, it makes no sense. 0x80 for one content, 0xC0 for two, 0xE0 for three...??? I eventually found out how this was calculated reading make_cia/makerom's source code (this; and my python implementation), but I just hardcoded the three possible values for this because it was just the easiest method.
Agreed, this is a nightmare. the onyl three contents that make sense for a CIA are CXI, Manual and DLP anyways, right? So it is fine to hardcode three values.

I'm not sure what you mean here to be honest. though I did just notice the ticket has a "Content Index" part too. seems only title ID matters for this case, unless I'm mistaken.
I wondered about that data. It doesn't seem to make sense really, there is no real info on 3dbrew, and it is the same for all CIAs.

I don't really use IRC (especially since all of the mac irc clients suck), though I might get on some time. probably should now, especially since hexchat finally decided to install... I'm just usually on discord but eh.
I'll be back on tomorrow, would be great to have you on there!
 

Temptress Cerise

Miss Magic~ <3
OP
Member
Joined
May 1, 2016
Messages
2,242
Trophies
1
XP
2,336
Country
United States
Seems Decrypt9 now fully supports dumping 3ds carts straight to CIA, and also directly convert existing 3ds rom dumps to CIA. Probably time to update the tutorial accordingly.
Damn it, the one day I don't check for any new updates :P Updating guide~ ^_^

Edit: Done updating guide. Requested a title change to reflect the newly updated guide~
Hope the guide addresses a lot of possible scenarios for people~ ^_^
 
Last edited by Temptress Cerise,

eyeliner

Has an itch needing to be scratched.
Member
Joined
Feb 17, 2006
Messages
2,887
Trophies
2
Age
44
XP
5,521
Country
Portugal
Excuse me:

But does this mean we can slap a .3ds rom into the SD card and we can convert it to .CIA without needing to extract XORPads and the back and forth between 3DS / PC?

AWESOME!!!!

Or am I having a severe bad case of stupid?
 

ihaveahax

Well-Known Member
Member
Joined
Apr 20, 2015
Messages
6,069
Trophies
2
XP
7,824
Country
United States
Excuse me:

But does this mean we can slap a .3ds rom into the SD card and we can convert it to .CIA without needing to extract XORPads and the back and forth between 3DS / PC?

AWESOME!!!!

Or am I having a severe bad case of stupid?
it means you can dump your game cards directly to CIAs now. you can also convert game card dumps to CIA on the console(though it might be faster to just generate a 1mb exheader xorpad and use it with 3dsconv)
 
  • Like
Reactions: eyeliner

eyeliner

Has an itch needing to be scratched.
Member
Joined
Feb 17, 2006
Messages
2,887
Trophies
2
Age
44
XP
5,521
Country
Portugal
Ok, but this makes it more convenient, though...
Just dump cart/ftp a rom and convert on 3DS, yes?
 

Temptress Cerise

Miss Magic~ <3
OP
Member
Joined
May 1, 2016
Messages
2,242
Trophies
1
XP
2,336
Country
United States
Ok, but this makes it more convenient, though...
Just dump cart/ftp a rom and convert on 3DS, yes?
I mean the reason I made my guide so long, is so that every option is laid out to everyone. I still think the fastest for Encrypted .3DS dumps is to dump XORpads and convert on PC with 3dsconv, buuuuut Decrypt9WIP offers all the functionality to do whatever it is that makes your life easy or hard :P ^_^
 

raphamotta

Well-Known Member
Member
Joined
Jul 12, 2013
Messages
685
Trophies
1
Age
40
XP
2,223
Country
Needs to update the links to the new Plailect Guide... Also, I think the latest version of Hourglass9 do the job, am I right?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: roms wont boot with wood r4menu