Homebrew How to make .cia files from 3DS homebrews?

  • Thread starter Thread starter AtexBg
  • Start date Start date
  • Views Views 741
  • Replies Replies 11

AtexBg

Active Member
Newcomer
Joined
Oct 15, 2024
Messages
39
Reaction score
13
Trophies
1
Location
France
XP
361
Country
France
I know this may seem like a dumb question, but im developing some 3ds homebrew apps in C and compiling them (so it creates *.3dsx files i can load onto the console) but i want to make .cia files (real titles i can install and load from the HOME menu), i think i can do it using Makerom tools but i don't know the exact procedure, can anyone explain me what do i need to do ?
 
Hmm usually this would maybe be Fast6191 or KleinesSinchen s domain..

If you managed to install it, maybe you can use GodMode9 to create a cia ?
My 3DS has been collecting dust for years.. so I dont remember everything)
 
Hmm usually this would maybe be Fast6191 or KleinesSinchen s domain..

If you managed to install it, maybe you can use GodMode9 to create a cia ?
My 3DS has been collecting dust for years.. so I dont remember everything)
But compiled programs (.3dsx files) can't be installed, they are just files we can launch from the Homebrew Launcher, although after some research i think i can convert the file into a CXI decompressed archive and then maybe make a CIA, but im not sure
 
I know this may seem like a dumb question, but im developing some 3ds homebrew apps in C and compiling them (so it creates *.3dsx files i can load onto the console) but i want to make .cia files (real titles i can install and load from the HOME menu), i think i can do it using Makerom tools but i don't know the exact procedure, can anyone explain me what do i need to do ?
You probably want to use cxitool for that.
 
You probably want to use cxitool for that.
I tried using cxitool and makerom to convert the 3DSX file to a CIA but for some reason it says that the CXI file is corrupted, here's what shows up on my terminal :

Bash:
#~ ./cxitool.exe -t 000400000BB49B00 -b banner.bnr -c CTR-H-FBGE homebrew.3dsx output.cxi

#~ ./makerom.exe -f cia -o homebrew.cia -target t -i output.cxi:0:0
[CIA ERROR] Content 0 Is Corrupt (res = -10)
[CIA ERROR] Failed to initialize context.
[RESULT] Failed to build CIA (ret = -2)

#~
(the .3dsx file works perfectly (on both emulator and real hardware) and it does the same even when i create the CXI file with the command "./cxitool.exe homebrew.3dsx output.cxi" without additional arguments)
 
I know this may seem like a dumb question, but im developing some 3ds homebrew apps in C and compiling them (so it creates *.3dsx files i can load onto the console) but i want to make .cia files (real titles i can install and load from the HOME menu), i think i can do it using Makerom tools but i don't know the exact procedure, can anyone explain me what do i need to do ?
use this: CIABUILDER(when you type make and theres the 3dsx output, theres also a smdh and .elf file, take the .elf and copy it to the directory where the CIABUILDER script and other files are, then follow the steps on the CIABUILDER repository and if u have an romfs folder copy it also to the CIABUILDER folder, then run build.bat(or the bat file in the CIABUILDER directory, then there will be a .3ds and a .cia)
 
use this: CIABUILDER(when you type make and theres the 3dsx output, theres also a smdh and .elf file, take the .elf and copy it to the directory where the CIABUILDER script and other files are, then follow the steps on the CIABUILDER repository and if u have an romfs folder copy it also to the CIABUILDER folder, then run build.bat(or the bat file in the CIABUILDER directory, then there will be a .3ds and a .cia)
dude i don't need to, i already managed to make CIAs, but anyway thanks for the ciabuilder link, it may be useful for me someday
 
Emmm, fine...
Let me explain how i made the CIA file, although it's really easy to find thoses instructions online:


- FIrst you need to make a banner file (the `banner.bnr`) with `bannertool`, otherwise the CIA will not have banner/icon/sound metadata and may not work
- Then convert the 3dsx file to a CXI using `cxitool` with the following command:
Bash:
cxitool.exe -t 000400000FFFFF00 -b banner.bnr -c CTR-N-ABCD homebrew.3dsx homebrew.cxi
(replace the "0004.......F00" part with the TitleID of your app, same for the product code)

- Then you need to convert the CXI to an actual CIA using `makerom`, for that use this command:
Bash:
makerom.exe -f cia -o output.cia -target t -i homebrew.cxi:0:0 -ignoresign


FInally, your CIA will be created as `output.cia` (or whatever you named it on the command) and you can now install it on your console

(PS: the provided links for the programs are for the Windows executable, but you can really easily find Linux versions online or even compile then yourself)
 
  • Like
Reactions: Kwyjor

Site & Scene News

Popular threads in this forum