Homebrew cxitool -- convert 3dsx to cia directly

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,180
Country
United States
So I've been trying to figure this out, but I cannot manage to change anything about an existing .3dsx (banner and icon) when converting it to a .cia. (Also, I was initially confused by the original post here which said "cxitool game.3dsx game.cia" instead of "game.cxi" and also this guide for makerom that uses .bin files for banner and icon files). Here's the workflow I used, feel free to find its flaws:

1) User 'bannertool.exe makesmdh' to make a smdh icon file.

2) Use 'bannertool.exe makebanner' to make a bnr banner file.
--I noticed that it would inform you when pointing to a smdh file or a bnr file if the file wasn't the right size, but it listed no limits for the sound file. When I made a custom VC inject for Sonic 3 Complete, I remember the requirements for the sound jingle being strict, but there is no information listed here. It even fully accepted a full length song I was testing.

3) Get the 3dsx file (I am using OpenLara for 3DS)

4) Use cxitool.exe to convert the 3dsx to a cxi
--Here is an opportunity to choose the banner file, but not an icon file. I noticed that if I skip choosing the banner file here and instead try to choose it with makerom.exe, the file size for the final cia doesn't reflect the added size of the bnr file, meaning it looks like makerom.exe doesn't even add the bnr information into the cia file.

5) Use makerom.exe to convert the cxi to cia
--Here you can choose the bnr file and the smdh file, but like I said before, if I do it now, it doesn't seem to actually add it to the final cia's file size.

6) Install the cia on the 3DS with FBI
--Here I can see that, no matter when I inserted the bnr file, neither the bnr file or the smdh file actually apply to the cia. It still has the default black and white Lara Croft icon from the 3dsx file, no banner, and no sound jingle.
You also need an rsf (use its template). I've never used the app of this thread though.
Post automatically merged:

BTW, you may need the elf as I don't think 3dsx can be used.
 
Last edited by godreborn,
  • Like
Reactions: PandaPandel

PandaPandel

Active Member
Newcomer
Joined
Mar 17, 2024
Messages
33
Trophies
0
Age
30
XP
77
Country
United States
According to this, at "Creating RSF files", "CIA/CCI can be created without using a RSF file, but default settings will be used."
Do you happen to know where RSF files go?


I've been stuck for days trying to add a banner to a 3dsx. App I converted to CIA.

You all seem to be the closest I've seen to figuring out exactly why. Any help would be so appreciated.
 
Last edited by PandaPandel,

PandaPandel

Active Member
Newcomer
Joined
Mar 17, 2024
Messages
33
Trophies
0
Age
30
XP
77
Country
United States


AD

AD
Advertisement

So I've been trying to figure this out, but I cannot manage to change anything about an existing .3dsx (banner and icon) when converting it to a .cia. (Also, I was initially confused by the original post here which said "cxitool game.3dsx game.cia" instead of "game.cxi" and also this guide for makerom that uses .bin files for banner and icon files). Here's the workflow I used, feel free to find its flaws:

1) User 'bannertool.exe makesmdh' to make a smdh icon file.

2) Use 'bannertool.exe makebanner' to make a bnr banner file.
--I noticed that it would inform you when pointing to a smdh file or a bnr file if the file wasn't the right size, but it listed no limits for the sound file. When I made a custom VC inject for Sonic 3 Complete, I remember the requirements for the sound jingle being strict, but there is no information listed here. It even fully accepted a full length song I was testing.

3) Get the 3dsx file (I am using OpenLara for 3DS)

4) Use cxitool.exe to convert the 3dsx to a cxi
--Here is an opportunity to choose the banner file, but not an icon file. I noticed that if I skip choosing the banner file here and instead try to choose it with makerom.exe, the file size for the final cia doesn't reflect the added size of the bnr file, meaning it looks like makerom.exe doesn't even add the bnr information into the cia file.

5) Use makerom.exe to convert the cxi to cia
--Here you can choose the bnr file and the smdh file, but like I said before, if I do it now, it doesn't seem to actually add it to the final cia's file size.

6) Install the cia on the 3DS with FBI
--Here I can see that, no matter when I inserted the bnr file, neither the bnr file or the smdh file actually apply to the cia. It still has the default black and white Lara Croft icon from the 3dsx file, no banner, and no sound jingle.
Same Exact issue im losing sleep over this and the only thing that makes sense is the ELF file, and also the RSF file.

I think if our 3dsx does not spit one out we somehow have to provide it. I found a Dummy RSF file but I have NO idea where it goes.

I think for this to work, we have to somehow get it into the CXI that is being converted into CIA because I am so confused. I spent a day or so looking at .bnr and .icn files. And the ones that I made def have data in them according to 3DSexplorer.

I was however able to inject my own icon into the file, but I almost think its because it previously had one.

but since the 3dsx file never had a banner. It feels like it wont just accept one, no matter how many tutorials I follow.

but the 3dsx had a smdh file/icon which then I was able to swap out with whatever I wanted.

For some reason I think this is for real the RSF missing or ELF because the RSF tells the 3DS what developer its from, and alot of information that seems necessary.
 

JohnIsAnIdiot

Member
Newcomer
Joined
Mar 20, 2024
Messages
21
Trophies
0
Age
34
XP
38
Country
United States
What is this:
cxitool is a useful PC app that converts *.3dsx homebrew executables directly to cxi's, which are the building blocks of the CIAs that all you pirates know and love. This app was released a few months ago, but is was buried in a devkitpro repo so it has largely gone unnoticed. The author, fincs, has chosen not to publicize it for whatever reason, even though the source is public. I assume it will be a part of a devkipro update sometime in the future, but that seems like forever given there has not been an official update since January.

This can be very useful for instances where the 3dsx author has chosen not to provide a cia, and has the source code closed (or too difficult to compile). A lot of older 3dsx homebrew has suffered this fate and this app could be of great benefit to making them more accessible to a new audience.

Instructions:
Usage: cxitool [options] input.3dsx output.cxi
Options:
-n, --name=<value> Specifies the process name of the application
-c, --code=<value> Specifies the product code of the application
-t, --tid=<value> Specifies the title ID of the application
-s, --settings=<file> Specifies the settings file
-b, --banner=<file> Specifies the banner file to embed in the CXI
-v, --version Displays version information
-?, --help Displays this text


Example usage:
cxitool game.3dsx game.cia
makerom -f cia -o game.cia -target t -i game.cxi:0:0

Source:
https://github.com/devkitPro/3dstools/tree/cxi-stuff

Download notes:
I have attached a windows build for your convenience. It has been verified:

Filename | sha256

cxitool.exe | 08e2d0e8a853171d344b0c4feb0854c841fe197fb4f6dfcdde679917c15ae607
https://www.virustotal.com/en/file/...b4f6dfcdde679917c15ae607/analysis/1473556082/

cxitool.exe (2017-7-7) | aa6502c3adfc3e59605a791feb1921f8ecfecaa39b6275d968c899bea4425696
https://www.virustotal.com/en/file/...9b6275d968c899bea4425696/analysis/1499478503/

cxitool.exe (2022-6-24) | sha256 in link
https://www.virustotal.com/gui/file...78c8b99f488c04a89933061222861865f81329e95cbe/
'cxitool' is not recognized as an internal or external command,
operable program or batch file.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • BigOnYa @ BigOnYa:
    Biomutant looks cool tho, may have to try that
  • Quincy @ Quincy:
    Usually when such a big title leaks the Temp will be the first to report about it (going off of historical reports here, Pokemon SV being the latest one I can recall seeing pop up here)
  • K3Nv2 @ K3Nv2:
    I still like how a freaking mp3 file hacks webos all that security defeated by text yet again
  • BigOnYa @ BigOnYa:
    They have simulators for everything nowdays, cray cray. How about a sim that shows you playing the Switch.
  • K3Nv2 @ K3Nv2:
    That's called yuzu
    +1
  • BigOnYa @ BigOnYa:
    I want a 120hz 4k tv but crazy how more expensive the 120hz over the 60hz are. Or even more crazy is the price of 8k's.
  • K3Nv2 @ K3Nv2:
    No real point since movies are 30fps
  • BigOnYa @ BigOnYa:
    Not a big movie buff, more of a gamer tbh. And Series X is 120hz 8k ready, but yea only 120hz 4k games out right now, but thinking of in the future.
  • K3Nv2 @ K3Nv2:
    Mostly why you never see TV manufacturers going post 60hz
  • BigOnYa @ BigOnYa:
    I only watch tv when i goto bed, it puts me to sleep, and I have a nas drive filled w my fav shows so i can watch them in order, commercial free. I usually watch Married w Children, or South Park
  • K3Nv2 @ K3Nv2:
    Stremio ruined my need for nas
  • BigOnYa @ BigOnYa:
    I stream from Nas to firestick, one on every tv, and use Kodi. I'm happy w it, plays everything. (I pirate/torrent shows/movies on pc, and put on nas)
  • K3Nv2 @ K3Nv2:
    Kodi repost are still pretty popular
  • BigOnYa @ BigOnYa:
    What the hell is Kodi reposts? what do you mean, or "Wut?" -xdqwerty
  • K3Nv2 @ K3Nv2:
    Google them basically web crawlers to movie sites
  • BigOnYa @ BigOnYa:
    oh you mean the 3rd party apps on Kodi, yea i know what you mean, yea there are still a few cool ones, in fact watched the new planet of the apes movie other night w wifey thru one, was good pic surprisingly, not a cam
  • BigOnYa @ BigOnYa:
    Damn, only $2.06 and free shipping. Gotta cost more for them to ship than $2.06
  • BigOnYa @ BigOnYa:
    I got my Dad a firestick for Xmas and showed him those 3rd party sites on Kodi, he loves it, all he watches anymore. He said he has got 3 letters from AT&T already about pirating, but he says f them, let them shut my internet off (He wants out of his AT&T contract anyways)
  • K3Nv2 @ K3Nv2:
    That's where stremio comes to play never got a letter about it
  • BigOnYa @ BigOnYa:
    I just use a VPN, even give him my login and password so can use it also, and he refuses, he's funny.
  • BigOnYa @ BigOnYa:
    I had to find and get him an old style flip phone even without text, cause thats what he wanted. No text, no internet, only phone calls. Old, old school.
    K3Nv2 @ K3Nv2: @BigOnYa...