Homebrew Official Citra - New 3DS Emulator

bunnei

Member
OP
Newcomer
Joined
Apr 1, 2014
Messages
23
Trophies
0
Age
31
XP
606
Country
United States
Folks... just want to clarify what you're seeing here, this is Citra running a commercial game! That's the triforce loading icon that first appears when Ocarina of Time is booted. (And yes, it's upside down and on the wrong side of the screen, but meh, technicalities). This is a sign that we're not to far off from running other games, and running this one further :)
#hype
 

neobrain

-
Member
Joined
Apr 25, 2014
Messages
306
Trophies
0
XP
730
Country
The game crashes upon rendering the second frame. However, while that makes the news kind of anticlimatic, it's still quite the big news:

It means we managed to get things stable enough for the game to submit GPU commands at all (which, might I add, is still the blocking issue for the majority of applications) and to get it render something to screen (which is also nontrivial because that small texture there is rendered using a very generic and hence complex standard shader). Given how nontrivial that shader is, a lot of GPU functionality had to be implemented already. I'm sure that once we get other titles working, little bugfixing will be needed to get them render things, too.
 

GoldenSun3DS

Well-Known Member
Member
Joined
Apr 27, 2013
Messages
272
Trophies
0
Age
29
XP
495
Country
United States
I'm hoping that eventually we'll be able to get 3DS emulation in 4K (native, not upscaled) with texture packs and 3D on 3D monitor like the Wii/GC (minus the native 3D part) :lol:

That's one of the main reasons I want to make a Skylake computer build next year, to futureproof for new performance-intensive emulators. :D
 

Kurt91

Well-Known Member
Member
Joined
Sep 9, 2012
Messages
589
Trophies
1
Age
33
Location
Newport, WA
XP
2,237
Country
United States
Forgive me if I sound like a complete idiot for asking this, but it's a serious question from me.

Don't you need the private keys from Nintendo in order to decrypt ROMs enough to play them, or is that just for hacking an actual system and it's different for emulators? Because I had thought that was the reason why we still have to rely on flashcarts instead of an SD-based hack or exploit.

Also, from what you've got figured out so far, what type of computer will be needed to run the emulator? I mean, if I can emulate a PS2 at full speed with my computer, would I be able to run this at a decent speed? I know that different emulators run differently, so there's no guarantees, just if you can provide a ballpark figure, that would be nice.
 

flarn2006

Well-Known Member
Member
Joined
Apr 6, 2014
Messages
394
Trophies
0
Age
30
XP
523
Country
United States
Forgive me if I sound like a complete idiot for asking this, but it's a serious question from me.

Don't you need the private keys from Nintendo in order to decrypt ROMs enough to play them, or is that just for hacking an actual system and it's different for emulators? Because I had thought that was the reason why we still have to rely on flashcarts instead of an SD-based hack or exploit.

Also, from what you've got figured out so far, what type of computer will be needed to run the emulator? I mean, if I can emulate a PS2 at full speed with my computer, would I be able to run this at a decent speed? I know that different emulators run differently, so there's no guarantees, just if you can provide a ballpark figure, that would be nice.

Well the 3DS is obviously capable of decrypting ROMs; otherwise it wouldn't work for playing games from cartridges, and that would be a problem. That means every 3DS contains all the keys necessary to do that. The problem is actually getting the keys from the 3DS. But 3DS ROMs are already able to be decrypted on a computer; would have been possible even earlier if only more people were willing to share their work. Here's the first public means of decrypting ROMs though.
 

neobrain

-
Member
Joined
Apr 25, 2014
Messages
306
Trophies
0
XP
730
Country
Well the 3DS is obviously capable of decrypting ROMs; otherwise it wouldn't work for playing games from cartridges, and that would be a problem. That means every 3DS contains all the keys necessary to do that. The problem is actually getting the keys from the 3DS. But 3DS ROMs are already able to be decrypted on a computer; would have been possible even earlier if only more people were willing to share their work. Here's the first public means of decrypting ROMs though.

You don't get the keys from the 3DS and decrypt stuff on a computer. Actually you use the very same thing you linked to, which is a homebrew application for running on the 3DS itself, to dump a decrypted title (or more precisely an xorpad for decryption) to the SD card. AFAIK there's no known way of decrypting any 3DS titles without access to a console, because we don't have access to the keys required for that, nor do we understand the AES engine enough for that.

Anyway, decrypting this stuff is basically a solved problem by now iff one has access to a 3DS with firmware not higher than 4.5. Btw, this is also one of the reasons why we're actively looking for such consoles, so if anyone's interested in giving his one (with such a firmware) away for helping out the Citra team, feel free to PM me ;)
 

HEX1GON

YEEEEEERRRRRRSSSSS
Member
Joined
Nov 20, 2014
Messages
390
Trophies
0
Location
Victoria
XP
203
Country
Really good progress involved. Keep us updated as much as possible. Getting something to boot like this would've been quite the achievement.
 

lemanuel

Maxconsole's All-Knowing Lurker
Member
Joined
Dec 11, 2014
Messages
2,095
Trophies
0
XP
1,254
Country
Portugal
because who wouldn't want to play their 3ds on their tv or computer monitor I know I loved playing my psp on a 24" TV it was way better

hmm... point taken. lol
Hadn't thought about that. Well.. hopefully that will be a reality in the near future
 

TempGuest

New Member
Newbie
Joined
Dec 14, 2014
Messages
1
Trophies
0
Age
45
XP
51
Country
United States
Hi guys, made an account to reply to this thread.

@ All active developers, regarding this:
Nice! But, it looks like the image of the triforce is not only upside down, but also on the wrong side of the screen.

From previous experience with different platforms, flat and bilboarded items, or maps and menus, are probably rendered in an "overworld" view. These views usually have a different coordinate system which may or may not be relative to the original one. You may want to look at quaternion rotations (if you aren't using them already, had no time to scour the Git). If it is relative to the active one, you may want to multiply by a different matrix, or take a look at multiplying with initial/unit matrices.

Considering the dual screen on the 3DS, it maybe just using the same stuff which the menu window is using, otherwise I'd go on a limb and say that upper left is (0,0), or (0,0,0).

You probably already know this, just though I'd throw it out there.

Cheers and keep up the good work!
 

Space Monkey

Member
Newcomer
Joined
Aug 30, 2014
Messages
15
Trophies
0
Age
36
XP
74
Country
Gambia, The
  • Like
Reactions: Fpsrussia117

neobrain

-
Member
Joined
Apr 25, 2014
Messages
306
Trophies
0
XP
730
Country
Oh, hi Space Monkey :P

Why? I read some posts on this topic here: https://forums.oculus.com/viewtopic.php?p=4806#p4806

As I understand it, you and the other developers (as copyright holders) can add an exception for linking the Rift SDK. Or, alternativley change the license to a better one, like BSD or MIT. Since GPL sucks anyway. Really.
The first link you provided seems to sum it up quite well.

Please recall that even though Citra is still a fairly young project, there have already been enough people involved that doing a relicense (which includes adding any exceptions or something) is a nontrivial task. What's more, some of the libraries that we depend on are GPL-licensed, so we'd need agreement of all their authors, too.

In any case, I don't care about other people's opinion on the GPL. Indeed though, I can relate to anger towards people who blindly license things under the GPL (or, well, any other license for that matter) without realizing the implications of doing so. As for me: I occasionally use other licenses for my works, but in general I like the GPL and find it very much appropriate for a project like Citra.

That said, I don't consider the incompatibility with the OR SDK to be a problem with the GPL but with the SDK itself: If the SDK authors chose to prevent us from using their software, then so be it. And even if the license incompatibility is not 100% clear, it's still a legal risk that I'm not willing to take when it's frankly said not my or the GPL's fault.

In other words: Please complain to the OR developers, not to the GPL :)
 

Space Monkey

Member
Newcomer
Joined
Aug 30, 2014
Messages
15
Trophies
0
Age
36
XP
74
Country
Gambia, The
Oh, hi Space Monkey :P
Hi ;)

What's more, some of the libraries that we depend on are GPL-licensed, so we'd need agreement of all their authors, too.
And there exactly is the root of GPL's evil: It's viral nature. That has nothing to do with freedom as most people understand freedom.

In other words: Please complain to the OR developers, not to the GPL :)
Nope, the problem really is the GPL license. Using the Rift SDK with BSD or similar licensed application wouldn't be a problem. Because the BSD license gives true freedom.

Anyway, I don't want to take this thread offtopic more than I already did. I think we both made our points clear. :)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: I did use a bot for Diablo III though but no ban there lol