

The save data functionality, which allowed games to read and write files to the save data directory was also taken from 3DS. The Kernel OS threading, scheduling, and synchronization fixes for yuzu were also ported from Citra’s OS implementation. The loader and file system service was reused from Citra and modified to support Switch game dump files. So the developers used a large part of Citra’s OS HLE code for yuzu OS. The Switch’s OS is based Nintendo 3DS’s OS. Most of their RE and other development is being done in a trial-and-error manner. However, the RE process of yuzu is essentially the same as Citra. Switch’s GPU is more advanced than 3DS’ used in Citra and poses multiple challenges to reverse engineer it. Yuzu uses Reverse Engineering process to figure out how games work, and how the Switch GPU works. It also has a loader for the Switch games and Unicorn integration for CPU emulation. The core emulation and memory management of yuzu are based on Citra, albeit modified to work with 64-bit addresses. yuzu has the same core code as Citra and much of the same OS High-Level Emulation (HLE). Yuzu was initiated as an experimental setup by Citra’s lead developer bunnei after he saw that there were signs of the Switch’s operating system being based on the 3DS’s operating system. This emulator is made for the Nintendo Switch, which is the 7th major video game console from Nintendo. The makers of Citra, an emulator for the Nintendo 3DS, have released a new emulator called yuzu.
