DSHack

Archive Generated December 23rd, 2018
How to create .3ds/.cxi files for citra? [Almost solved]
Author Posted on 2016/10/18
#2391
Louiskovski Hello together!
I want to play my 3DS romhacks on citra. The problem is, that the emulator needs a .3ds file or a .cxi file (or something else?), but i don't know, how i can create these files. I got the tip, that a program named makerom (which is with ctrtool included) can create cci files! So i tried to make a code like this:
makerom -f cci -content=FolderWithFiles RomForCitra.cci
But it failed! What i'm doing wrong? All what i want to do is playing my hacks on citra.
Thanks in advantage :)
Author Posted on 2016/10/18
#2392
PabloMK7 You cannot create a cxi or cci from romfs and exefs only. You also need a ncch header and exheader. How did you get those files.
Author Posted on 2016/10/19
#2393
Louiskovski Ok, i have these files now. But how can i build now the rom?
Author Posted on 2016/10/19
#2394
MKGirlism For this to know, we need to know exactly which files you've got.

If you use Windows, run this in CMD :
dir /s > dir.txt

If you use macOS, Linux, or anything else, run this in the Terminal:
ls -R > dir.txt

Then open "dir.txt", and paste it on Pastebin.
Optionally, you can open your file to censor out your name, if you feel the need to do so.
Author Posted on 2016/10/19
#2395
Louiskovski I will make that later. But now i think i found out to build a cci! I made this code:

makerom -f cci -content tralala:tralala -o TADA.cci
But then, i got that freaky error:
Not enough memory
Failed to build CCI
What does that mean???? I was so near the goal, but then this happens :(

And also, if the code is wrong, can someone tell me just the code for making a cci/cxi (or whatever citra can run, i will ONLY play my hacks on citra and i'm searching for the solution SINCE SUNDAY and my success is ZERO !!!! :'( )
Author Posted on 2016/10/19
#2396
PabloMK7 We can't help you if you don't tell us which files you have. Screenshot the directory with the files.
Author Posted on 2016/10/19
#2397
Louiskovski

EDIT: I'VE FOUND OUT, HOW IT WORKS!!!!:
This code is needed:
makerom -o rebuild.cxi -rsf rebuild.rsf -target t -code rebuild/code.bin -exheader rebuild/exheader.bin -icon rebuild/icon.bin -banner rebuild/banner.bin -romfs rebuild/romfs.bin
BUT THEN, SO NEAR THE GOAL, THIS HAPPENS:

Parameter Not Found: "AccessControlInfo/ServiceAccessControl"
Failed to create ExHeader
NCCH Build Process Failed
Failed to build outfile

WHAT IS THIS????
Author Posted on 2016/10/19
#2398
MKGirlism How does your RSF file look like?
Because these errors are RSF-related.
Author Posted on 2016/10/19
#2399
Louiskovski Oh ok, i'm using a dummy rsf from there: https://3dbrew.org/wiki/Makerom
But on this site stands, that a rsf isn't needed? And also makerom tells, that it couldn't create exheader. The rsf has something to do with exheader?
Author Posted on 2016/10/19
#2400
MKGirlism 1. RSF is always needed, there's no way around that.
2. RSF files are highly game-specific, so there is no 1 RSF for all games.

But since you're not willing to answer questions, so we can help you to get any further, at least tell me which game you try to make here?
Based on that, it could be easier to provide a more correct RSF file.

Otherwise, there might be some RSF generators, which'll provide the right file for you.
Author Posted on 2016/10/19
#2401
Louiskovski Ok, i will upload the rsf file later, when i'm back on my pc (i'm on my wii u right now).
The game i mean is Mario 3D Land :)
Author Posted on 2016/10/19
#2402
MKGirlism Assuming you're making the European version, this is what you need:
http://pastebin.com/u37CuZFv

After that, use these 2 commands:
makeromfs romfs romfs.bin
makerom -f cia -rsf sm.rsf -target t -desc app:4 -o sm.cia -icon exe\\icon.bin -banner exe\\banner.bin -exefslogo -code exe\\code.bin -exheader exe\\exhdr.bin -romfs romfs.bin

Quick Edit:
http://pastebin.com/Bs9bRvUJ
Paste this in Notepad, and save it as "makeromfs.bat".
Author Posted on 2016/10/19
#2403
Louiskovski Thanks!! But it makes a CIA file, which Citra cannot run! Is there a way to make a CCI file?
EDIT: Lol! i replaced the "sm.cia" with "sm.cci" in cmd, but citra says, that it must be encrypted??
What must i do?
Author Posted on 2016/10/19
#2404
PabloMK7 Change "-f cia" to "-f cxi" in the command above
Author Posted on 2016/10/19
#2405
Louiskovski Ok, the file was created successfully, but citra still says, it must be decrypted? I though, that this is only needed for cias?
Oh too bad, i was near the goal :'(
Is there a solution?
Author Posted on 2016/10/19
#2406
PabloMK7 Open the rsf with notepad and change EnableCrypto to false.
Author Posted on 2016/10/20
#2408
Louiskovski Nice! It creates the file without problem :D but it crashes in citra. I though, that the exheader is the exefs file, so this is maybe my mistake. So i dumped the game with braindump, to extract the exheader from the original cxi file.
Which command i need to extract exheader from cxi?
And also:
I've tested the original cxi on citra, and there is NO START BUTTON! Do i need a savefile for this?
Author Posted on 2016/10/21
#2416
Louiskovski Oh lol! The exheader IS the .code file, right?
Author Posted on 2016/10/21
#2417
MKGirlism No, .code is code.bin.
Author Posted on 2016/10/21
#2419
PabloMK7 Use ctrtool.exe --exheader=exheader.bin file.cxi
Author Posted on 2016/10/22
#2420
Louiskovski Thanks. It saves the exheader file, but ctrtool displays this:
Saving Extended Header...
Error, exheader hash mismatch. Wrong key?

I'm using the original cxi file, exported from braindump.

EDIT: IT WORKS!! IT WORKS! After a long week, i got my hack on citra ^^
THANK YOU ALL SO MUCH.now the only issue is, that i cannot enter the game, because i need the folders from the homemenu and i don't know, how i can get it. I hope i don't need CFW for it.
There's only one issue: It doesn't save! Though the original cxi saves, only the hack doesn't save. Is this normal?
Author Posted on 2016/10/22
#2421
PabloMK7 No it isn't. I'd recommend using a save pack tho.
Author Posted on 2016/10/22
#2422
Louiskovski Already tried that, but still doesn't work. Only the original cxi works.
Has this something to do with the rsf file?