Homebrew Why Does 3DSX Work Better Than CIA?

  • Thread starter Thread starter Kurt91
  • Start date Start date
  • Views Views 2,792
  • Replies Replies 9
  • Likes Likes 1

Kurt91

Well-Known Member
Member
Joined
Sep 9, 2012
Messages
591
Reaction score
236
Trophies
1
Age
35
Location
Newport, WA
XP
2,321
Country
United States
This is something that I've been curious about for a while now. Whenever an emulator or other homebrew has a 3DSX version as well as a CIA version, the 3DSX always seems to work better. I understand that Ninjhax 2.0 adds more functionality and resource access than the older version, but why doesn't CIA have that same access?

For example, if I load up a CIA of Monster Hunter 4 Ultimate or Kingdom Hearts - Dream Drop Distance, both games are able to access the added buttons that the N3DS has. However, any homebrew CIA file cannot do this. From my understanding, both of these should have the same access. I mean, since we can easily use a CFW to remove the signature checks and install the game CIAs, in theory, this shows that installed CIA files should have the same access, right?

So, I'm not trying to complain or anything. Up until now, I had always figured that 3DSX files, being a hacker-developed format instead of an official format, would naturally have less access than anything Nintendo would release. Now, I'm seeing the offical CIA format with less access than the hacker-developed 3DSX format, and I'm completely confused by this. Could somebody clear this up for me?
 
  • Like
Reactions: Deleted User
I don't know the exact reason (i've never worked on any homebrew beyond graphics) but i think it's something to do with 3dsx running in usermode and not being as encrypted as cia or something, but this is just what i put together from other people discussing it
 
Whoever made the CIA didn't do it properly if they can't access something the app needs. You need to define in your rsf config what access you need.
 
It can use just as much, if it doesn't it means it wasn't build correctly. As said before this is defined in a rsf config file. If this file doesn't included the services needed it will not work.
 
So if the rsf config file is well built, the .3dsx and .cia of the same version of an homebrew will works at same speed?
 
I'm wondering about a similar question. Why is it that only .3dsx and .cia support csnd? It should be possible to define csnd access in the rsf file just the same for both cia and 3ds yet time and time again it's been said that sound in homebrew will not work with .3ds format, but works with .cia. The same goes for dynarec in emulators, I think.

Doesn't seem like there is a good reason why this isn't possible, accessdesc can be defined the same way for both .3ds and .cia formats.
 
Yes for some reason the new release of 3DSController, C-stick and ZL ZR aren't working on the CIA build, but only on the 3DSX.
 
Because .3dsx files are run in Ninjhax (iron/tube/oot by extension) and Ninjhax supports some extra features that aren't implemented in ctrulib. So .cia executables don't have access to them. The extra buttons on the n3DS are supported in .3dsx format because it's a Ninjhax feature not a ctrulib feature.
 
Last edited by teampleb,
Okay, that makes some sense. Now, I think I remember the source code to Ninjhax had gone open-source a while back. Is that correct? If so, I have two additional questions. First of all, would it be possible to port the additional features supported in Ninjhax to ctrulib? Also, would it be possible to port the upgraded features of Ninjhax 2.0 into 1.0, so that those of us still below 9.2 can use the added benefits that Ninjhax 2.0 provides towards homebrew without losing out on things like CFW?
 
Okay, that makes some sense. Now, I think I remember the source code to Ninjhax had gone open-source a while back. Is that correct? If so, I have two additional questions. First of all, would it be possible to port the additional features supported in Ninjhax to ctrulib? Also, would it be possible to port the upgraded features of Ninjhax 2.0 into 1.0, so that those of us still below 9.2 can use the added benefits that Ninjhax 2.0 provides towards homebrew without losing out on things like CFW?
Both of those is a "probably" but someone would need to put in the work. I'm really not sure if those features could be added to ctrulib though...
 

Site & Scene News

Popular threads in this forum