Homebrew Why Does 3DSX Work Better Than CIA?

Kurt91

Well-Known Member
OP
Member
Joined
Sep 9, 2012
Messages
589
Trophies
1
Age
33
Location
Newport, WA
XP
2,244
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

Mr. Elementle

Well-Known Member
Member
Joined
Dec 30, 2014
Messages
115
Trophies
0
Age
28
Location
Detroit
XP
550
Country
United States
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
 

TheCruel

Developer
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
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.
 

MRJPGames

Pretty great guy
Member
Joined
Aug 17, 2013
Messages
1,199
Trophies
1
Location
The Netherlands
Website
fizazy.com
XP
1,676
Country
Netherlands
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.
 

Fatalanus

Well-Known Member
Member
Joined
Jan 4, 2015
Messages
595
Trophies
0
Age
24
XP
410
Country
Romania
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?
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,347
Trophies
4
Location
Space
XP
13,934
Country
Norway
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.
 
D

Deleted User

Guest
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.
 

teampleb

BAH! DED! X_X
Banned
Joined
Aug 26, 2015
Messages
2,066
Trophies
0
Age
27
Location
Pennsylvania
XP
1,280
Country
United States
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,

Kurt91

Well-Known Member
OP
Member
Joined
Sep 9, 2012
Messages
589
Trophies
1
Age
33
Location
Newport, WA
XP
2,244
Country
United States
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?
 

teampleb

BAH! DED! X_X
Banned
Joined
Aug 26, 2015
Messages
2,066
Trophies
0
Age
27
Location
Pennsylvania
XP
1,280
Country
United States
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

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: gonna look if i still have that sd card adapter