Progress Update on Citra the 3DS emulator


The 3DS open source emulator, Citra, has been blowing up in a big and very positive way. We last reported on it November of last year. Since then, it has had quite a few revisions. Let us take a look at them.

The first update is immediate Mode Vertex Submission. This mode is an alternate means for 3DS GPU (known as PICA200) to draw the vertices. This allows for more UI heavy games to run correctly, efficiently, and pretty much just run on the emulator. An example of this is the game Etrian Odyssey IV (to my understanding a game that was very difficult to run) now runs smoothly and efficiently. Below are the screenshots provided of immediate mode vertex submission in use. As you can see, it looks amazing for a game that looked terrible beforehand. The individuals responsible for this are ds84182 and yuriks. Both are very talented individuals as you see. Thank you for this!

etrianodysseytop etrianodysseybottom

Next update is from LFsWang. This individual did the Unicode support for Windows for the Citra emulator. LFsWang tackled the frontend coding emulator, fixed it, and implemented this new fix. The end result is that now the emulator can use any language around the world that may be different from your local computer! This is no easy work, so hats off to LFsWang for taking care of it!

Next update is known as Fix MAD/MADI  Shader Instruction Coding  was done by JayFoxRox. Without getting too technical, this fixes the incorrect values that Citra use to put out when it came to particular textures. After fixing this issue, these textures are no longer an issue! Below are screenshots of before (left) and after (right) implementation. As you can see, that issue of unable to read certain text is now an issue of the past! Good Job JayFoxRox! You will see this is not just limited to in-game text, but other textures and graphical issues. Next update addresses this as well.

Citra 3DS emulator

This next update is known as Align Attribute Components from, once again, JayFoxRox. After noticing the incorrect values that Citra was pushing out, JayFoxRox addressed these issues in this aspect as well. By noticing the bug causing this and fixing it, games that were unplayable due to several graphical issues are now a thing of the past. Below are before (left) and after (right) screenshots from Super Smash Bros for the 3DS. You will notice a huge difference! Thanks again JayFoxRox!

smashbrosbefore smashbrosafter

Next update, which is very important in my opinion, is Save Fixes from Subv. Ever since the inception of the emulator, it would not save data on the “cartridge of the game”. This caused all sorts of issues from making the game unplayable, freezes, and crashes to become fully playable games! This fix works on every game that had this issue and makes every single one of those game playable! Good going Subv on this! Without it, in my opinion, the emulator would be useless to a great extent since most games require this.

Next two updates come from Bunnei. The updates are called Clear Shader JIT Cache and Shader JIT Refactor. The JIT Cache is a minor fix to a potentially huge problem. It fixes a memory issue with the GPU shader which revamps the memory management system of the emulator. It gets rid of the old unused shaders to make room for the new shaders. Games that did not work at all (an example would be Kirby: Triple Deluxe) now run flawlessly thanks to this simple fix.  The Shader JIT Refactor, without getting too technical, reduces the memory footprint of the shader JIT from the GPU. This fixed the issue for several nonplayable games (for example IronFall: Invasion and Pokemon: Rumble Blast) into perfectly runnable and playable games. Awesome job Bunnei!

Next update is for Audio Framework from merrymage. Merrymage has been working on the audio for the emulator since its inception. This is another step closer to full audio integration for all games on the Citra emulator! Keep up that good work MerryMage and I wish you all the luck in the world!!!

Finally, the last update (and most surprising) is Texture Forwarding. This, in very simple terms, brings full HD output to 3DS games. This update is done by tfarley and yuriks, when fully implemented, will enable any and all 3DS games to run at any resolution and very high speeds! That is mindblowing. A video below will show this update in action. Thank you for this wonderful surprise!

All of this hard work going into Citra is incredible. The dedication to this open source emulator and the outpouring support is amazing! Thank you, everyone, involved in this project and I hope to see more updates in the future!

Til next time, Mgs2master2 out!


To keep an eye on future updates, you can check the site out right now for more information here.

About Mgs2master2

A gamer and jack of all trades. I enjoy many things, but overall just enjoying life. Hopefully, I can add enjoyment to your life through my articles or interactions.

One comment

  1. What a fantastic community effort. So much takent coming together here is great to see!

Leave a Reply

Your email address will not be published. Required fields are marked *