Homebrew Official Citra - New 3DS Emulator

JohnnyGui

Active Member
Newcomer
Joined
Mar 23, 2017
Messages
28
Trophies
0
Age
36
XP
129
Country
Netherlands
Not sure what you mean by "different", but they're the same game. Pretty much the textbook definition of a direct port, same levels but with some moderate reductions to the framerate, textures and lighting (as is the case with many handheld ports). They added easy mode options to provide extra hit points, and the ability to store a DK barrel to use at any time (like what some Mario games allow for powerups). But you can see yourself that the two are effectively the same game-


3DS added stereo 3D of course, but as I said Dolphin has support for stereo 3D if you have the proper display. Shake mechanics (rolling, ground pound and blowing) were also mapped to buttons, but Dolphin also supports mapping these to buttons (you could even do this on an original Wii via cheat codes IIRC).

The only change that gives the 3DS version an arguable edge is the inclusion of 8 new levels added to the post-game. But these levels weren't designed by the original developers (Retro Studios) and it shows IMHO. Retro is IMO a much more creative and talented team than the people who ported the game to 3DS and designed the new levels (Monster Games). The new levels recycle the visuals from previous worlds, and IMO aren't as fun than the others, you can see them here-


I would personally stick with the Wii version via Dolphin. Unless the new levels outweigh the downgrades. You'll have to wait for Citra to improve either way. Or perhaps someone will eventually romhack the Wii version and add the new levels...


Thanks a lot for your extensive explanation! It was my bad then thinking the 3DS version was a totally different title, thinking of it as being diferent like Tropical Freeze.
 

JohnnyGui

Active Member
Newcomer
Joined
Mar 23, 2017
Messages
28
Trophies
0
Age
36
XP
129
Country
Netherlands
The compatibility page of Citra shows an old entry regarding the compatibility of Paper Mario Sticker Star (June 2017). Is there any recent reviews regarding how this game runs now on Windows?
 

Miguel Gomez

Well-Known Member
Member
Joined
Jan 10, 2016
Messages
2,867
Trophies
0
Age
25
Location
Planet Earth
XP
1,530
Country
The compatibility page of Citra shows an old entry regarding the compatibility of Paper Mario Sticker Star (June 2017). Is there any recent reviews regarding how this game runs now on Windows?
Although not everyone loves Sticker Star(including me), but it does boot on Citra normally but with minor graphical glitches. But anyways, I've only played the intro of the game and do not care to play more as I regret buying it in the first place.

Anyways, anyone working on a microphone support for Citra?
 

Lunos

Well-Known Member
Member
Joined
Dec 26, 2010
Messages
226
Trophies
1
Age
27
Location
Montevideo
XP
681
Country
Uruguay
I asked this in the game's lobby but I only got the answer of a pretty clueless guy, so I'll try asking it here instead.
Do the current multiplayer capabilities of Citra allow you to use Pokémon Omega Ruby's Wonder Trade?
 

Miguel Gomez

Well-Known Member
Member
Joined
Jan 10, 2016
Messages
2,867
Trophies
0
Age
25
Location
Planet Earth
XP
1,530
Country
I asked this in the game's lobby but I only got the answer of a pretty clueless guy, so I'll try asking it here instead.
Do the current multiplayer capabilities of Citra allow you to use Pokémon Omega Ruby's Wonder Trade?
Nope because Wonder Trade only works when you are connected to the internet(not from your PC wifi or LAN).

As what I observed, Citra pretty much emulates IR Connection instead of Internet Connection. You can still get Acquaintance without the internet on 3DS by pointing two systems to an infrared sensor. That's why Online Mode such as Smash 3DS won't work(and also it requires a Nintendo Network ID to enter online to most 3DS games).
 
Last edited by Miguel Gomez,

jroweboy

Well-Known Member
Member
Joined
Oct 23, 2016
Messages
124
Trophies
0
Age
34
XP
393
Country
United States
Nope because Wonder Trade only works when you are connected to the internet(not from your PC wifi or LAN).

As what I observed, Citra pretty much emulates IR Connection instead of Internet Connection. You can still get Acquaintance without the internet on 3DS by pointing two systems to an infrared sensor. That's why Online Mode such as Smash 3DS won't work(and also it requires a Nintendo Network ID to enter online to most 3DS games).
Thats not IR that's peer to peer wireless. Citra emulates the local peer to peer wireless functionality over the internet. This is still using WiFi, but not connecting to Nintendo servers wifi. It'd be a lot more work to support Nintendo online play but wouldn't be near as much as what we did for the big multiplayer release.

Anyway, big things coming up soon. It's been a little while since the last time we got hyped for a big release, but let's just say phantom has been hard at work on making citra fast. And I mean faster than fast. Wwylele linkmauve1 b3n3o and I all have some really cool projects, with wwylele putting in tons of time to fix one of citras most requested bug fixes. He's working on low level emulation for sound, which should fix the problems that pokemon x and y have in addition to any other "pipe 3" audio error that people complain about without realizing how much work it'll take to fix it. Be glad to expand on anything I said here if you have any questions.
 

Miguel Gomez

Well-Known Member
Member
Joined
Jan 10, 2016
Messages
2,867
Trophies
0
Age
25
Location
Planet Earth
XP
1,530
Country
Thats not IR that's peer to peer wireless. Citra emulates the local peer to peer wireless functionality over the internet. This is still using WiFi, but not connecting to Nintendo servers wifi. It'd be a lot more work to support Nintendo online play but wouldn't be near as much as what we did for the big multiplayer release.

Anyway, big things coming up soon. It's been a little while since the last time we got hyped for a big release, but let's just say phantom has been hard at work on making citra fast. And I mean faster than fast. Wwylele linkmauve1 b3n3o and I all have some really cool projects, with wwylele putting in tons of time to fix one of citras most requested bug fixes. He's working on low level emulation for sound, which should fix the problems that pokemon x and y have in addition to any other "pipe 3" audio error that people complain about without realizing how much work it'll take to fix it. Be glad to expand on anything I said here if you have any questions.
Ah I see. Sorry for the misconception.

But yeah. Unable to connect to Nintendo server wifi means that it requires a Nintendo Network ID, correct?

Also, hype for pipe3 fix. Also, anyway to fix DKC Returns?
 

Leppa

New Member
Newbie
Joined
Jan 27, 2018
Messages
1
Trophies
0
Age
20
XP
52
Country
United Kingdom
Sorry if this is a stupid question, but would it be possible to play Pokemon X on Citra without access to a physical 3DS, assuming you already had the file?
 

Senjosei

Active Member
Newcomer
Joined
Jan 23, 2018
Messages
41
Trophies
0
Location
Null Pointer Exception HELL
XP
167
Country
Australia
Thats not IR that's peer to peer wireless. Citra emulates the local peer to peer wireless functionality over the internet. This is still using WiFi, but not connecting to Nintendo servers wifi. It'd be a lot more work to support Nintendo online play but wouldn't be near as much as what we did for the big multiplayer release.

Anyway, big things coming up soon. It's been a little while since the last time we got hyped for a big release, but let's just say phantom has been hard at work on making citra fast. And I mean faster than fast. Wwylele linkmauve1 b3n3o and I all have some really cool projects, with wwylele putting in tons of time to fix one of citras most requested bug fixes. He's working on low level emulation for sound, which should fix the problems that pokemon x and y have in addition to any other "pipe 3" audio error that people complain about without realizing how much work it'll take to fix it. Be glad to expand on anything I said here if you have any questions.
Im guessing vertex loader jit & cache but who knows :v
 

Miguel Gomez

Well-Known Member
Member
Joined
Jan 10, 2016
Messages
2,867
Trophies
0
Age
25
Location
Planet Earth
XP
1,530
Country
Sorry if this is a stupid question, but would it be possible to play Pokemon X on Citra without access to a physical 3DS, assuming you already had the file?
No shared_font.bin, you can't play Pokemon X and Y. But if you got your hands on that copyrighted file, ofc it will play.
But if you don't have the file, you need a 3DS to dumped the file. Same goes to the game itself. No piracy though.
 

jroweboy

Well-Known Member
Member
Joined
Oct 23, 2016
Messages
124
Trophies
0
Age
34
XP
393
Country
United States
Im guessing vertex loader jit & cache but who knows :v
we already tried vertex loader jit. turns out its memory bound, we only got like 1% speed boost out of it :/ no, phantom has been hard at work on moving the entire graphics backend to run in gl. currently we load verticies, run vertex and geometry shaders, and do primitive assembly on the cpu. phantom has moved all these stages to gl, which as every dev could tell you, is a ton of hard work. the tricky one is converting pica shaders into glsl, as the pica shaders have a ton of very strange edge cases involved there, and dumb flow control that glsl doesn't have (like goto). the first attempt at the conversion, phantom ended up making it work, but it was slower than the software renderer. I think they're on the 3rd attempt at this, and its now much much faster for people with dedicated gpus, and only a bit faster for people with older or integrated gpus. we did some performance testing on an older version of their code and for some games it was a large speed boost and others it was a small speed boost (it was cool to see the gpu at 100% usage in citra for a change!). this change still got some ways to go, but we are all very excited for it :) No one around these parts seem to follow whats talked about in the development channels, so i figured i'd pass it along. As always, no promises until its actually released and yadayada

as for the pokemon x stuff. please understand that we can only *guess* that dsp lle will fix it. Lets talk about why we think so. A few months ago, wwylele wanted to find out if audio was really the cause of the problems in the game, so he worked out an idea. But first, you have to understand how audio works in citra. Throw out any talk you might have heard about "AAC audio" or "pipe3" as those are symptoms of the problem, and not a root cause.

Back in early 2016, merry took on the task to reverse engineer how games usually communicate with the DSP (digital signal processor: aka the hardware responsible for processing audio) and found that the dsp works like a very specialized cpu. It has instructions that it processes, but these instructions are special and aren't like anything you see on a computer. You pass these instructions to the DSP in a payload known as a firmware, which will tell the DSP how to process the data. Most games use the same firmware that the home menu uses, and for those out there that put some emulators on their 3ds, they may remember that they had to dump the home menu firmware to get audio for their emulator. Because this firmware is so common, instead of writing code to interpret firmwares (LLE) merry wrote code that does the same thing that the home menu firmware does (HLE). This is *really cool* as she spent a ton of time recreating how the firmware works by just watching what it does, and citra got audio that works for almost every game... but then there are some games that use a custom firmware.

So back to where we started, wwylele wanted to find out if X and Y were really crashing because of audio, so he got the idea to take the firmware from the home menu, and patch it into pokemon x, and then launch pokemon x on the 3ds. Any guesses on what happened? You got it. It crashes in the exact same spots as citra. And its missing the same sound effects as citra. Audio issue confirmed! So theres two ways to solve this: 1) add a new HLE audio for every custom firmware you can find in the wild or 2) emulate how the DSP actually works and interpret the firmware. You can probably tell why we don't want to do the first one, it means tons of effort reverse engineering a firmware to find out how it works, and we don't know how many custom firmwares are used in the wild. Wwylele has made tons of progress on LLE though it'll still be quite some time before its useable in citra. Additionally, we have no clue how fast or slow it'll be, and we have no guarentee that x and y will work either. But progress!

(apologies if i got some technical errors in the post, i'm not the most skilled at 3ds audio stuff)
 

Miguel Gomez

Well-Known Member
Member
Joined
Jan 10, 2016
Messages
2,867
Trophies
0
Age
25
Location
Planet Earth
XP
1,530
Country
@jroweboy interesting stuff. I have one question related to Pokemon X and Y.
Maybe you've seen my old post on the old Citra Forums site. Back in September 2016, I tested Pokemon X and tried to compare Diantha's battle in the Pokemon League on two builds(obviously the Official and the Unofficial). From what I've analyzed, the unofficial build with the minor audio fix in Pokemon X and Y bypass Pokemon's ability while the Official didn't.

January 6, 2018, I've tested Official Canary and Unofficial Build and turns out that the Unofficial can bypass Pokemon's ability WITHOUT the minor audio fix for Pokemon X and Y. I dunno what makes that fix the Pokemon's ability in X and Y, but it sure is interesting. I gotta say, I believe that HLE won't be the solution for it. It could be something else. But meh. Give it a try on updating HLE.

I will try test the latest Canary build and see if it will also fix the problem.
yeah this emulator is still quite unoptimized it requires better specs then dolphin and the 3ds is weaker then the game cube.
It's because it's a handheld, not home console. Also, Dolphin Emulator takes years to optimize Gamecube games back then.
 

drwhojan

Well-Known Member
Member
Joined
Jul 14, 2009
Messages
4,196
Trophies
1
Age
45
Location
Where I Am!
XP
1,702
Country
United Kingdom
So back to where we started, wwylele wanted to find out if X and Y were really crashing because of audio, so he got the idea to take the firmware from the home menu, and patch it into pokemon x, and then launch pokemon x on the 3ds. Any guesses on what happened? You got it. It crashes in the exact same spots as citra. And its missing the same sound effects as citra. Audio issue confirmed! So theres two ways to solve this: 1) add a new HLE audio for every custom firmware you can find in the wild or 2) emulate how the DSP actually works and interpret the firmware. You can probably tell why we don't want to do the first one, it means tons of effort reverse engineering a firmware to find out how it works, and we don't know how many custom firmwares are used in the wild. Wwylele has made tons of progress on LLE though it'll still be quite some time before its useable in citra. Additionally, we have no clue how fast or slow it'll be, and we have no guarentee that x and y will work either. But progress!
(apologies if i got some technical errors in the post, i'm not the most skilled at 3ds audio stuff)

Dose wwylele are anyone else have A Game Patcher for ?
"so he got the idea to take the firmware from the home menu, and patch it into pokemon x,"

Then I can Record and Post on a real 3ds doing this..
---

Maybe how to guild on "take the firmware from the home menu"

Maybe it's working on some sort of "dspfirm"
https://github.com/Cruel/DspDump/blob/master/source/main.c

Some home menu/brew apps have no audio without "dspfirm.cdc" dump of it, PS: Like exp, "Freeshop has no Eshop Audio without it"
 
Last edited by drwhojan,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=pnRVIC7kS4s