Suyu est un émulateur open source de Nintendo Switch. Il offre une couverture presque complète de la bibliothèque de jeux de cette console. Suyu est la suite directe de Yuzu, suite à l’arrêt définitif de ce dernier, mais il n’est pas développé par les mêmes auteurs.
Les développeurs de l’émulateur Suyu commence à proposer des évolutions importantes, à commencer par implémenter le menu d’accueil de la Nintendo Switch. Ce célèbre menu d’accueil, Qlauncher, est le code que la team Yuzu a laissé mais n’avait jamais implémenté, vous pouvez donc désormais exécuter des jeux, les fermer ou accéder aux paramètres et tout le reste comme vous pouvez le faire sur la console. Bien entendu pour faire tourner l’ensemble il faut utiliser le firmware 17.0.0 (ou supérieur) de Nintendo.
Ce projet a été abandonné après la version 0.0.4, avant d’être repris par le développeur DougChanSan à partir de cette même version.

Les changements:
– recompiler: a void block function cannot return a value
– frontend: show which cpu is running the game
– suyu-cmd: –probe-decode-list, decode coverage across a library
– docs: static recompilation, and the build with no jit in it
– build: SUYU_NO_JIT, an emulator with no dynamic recompiler in it
– recomp: strict mode, refusing the jit fallback
– ci: releases cut from a tag, built the way the README says
– docs: build instructions that have actually been run
– build: remove the inherited release workflow
– frontend: stop forcing the controller view open in Hacker mode
– recompiler: pair helpers for ldp, stp and 128-bit access
– recompiler: resolve the flag update at translation time
– recompiler: resolve the branch condition at translation time
– recompiler: resolve indirect branch targets inside the image
– recomp: count executed blocks per thread
– recomp: runtime-configurable chain budget
– recompiler: make the generated optimisation level overridable
– recompiler: indexed integer multiplies, addlv, nzcv
– recompiler: close the remaining decode gap; record uncovered entry points as roots
– recompiler: rev, shifts, saturating add, unsigned compares, addv, frecps, vector faddp
– recompiler: aese/aesd with a generated s-box
– recompiler: sha256su0/su1 and the multi-register structure loads and stores
– recompiler: aesmc/aesimc, pmull/pmull2, crc32, scalar faddp
– recompiler: bsl/bit/bif, fabs/fneg, xtn/xtn2, vector fcvtzs/fcvtzu
– loader: say so when an installed update cannot be read
– file_sys: name the superseded meta and its content when one is skipped
– recompiler: tbl/tbx and single-element ld1/st1
– mcp: list_installed_titles dropped every installed add-on
– mcp: list_installed_titles reported an empty directory that never existed
– recompiler: fmov vector immediate, cnt, fcm register forms, sshll/ushll, permutes, ext
– frontend: a Setup checklist for what still has to be installed
– export: find Visual Studio with vswhere instead of a hardcoded path
– build: drop the ownfoil submodule, which no clone can complete
– frontend: index blocks directly instead of calling across the image boundary
– recomp: resolve uncovered PCs against the module map in the coverage report
– recompiler: keep chaining to unconditional branches only
– recompiler: call the target of a direct branch instead of returning to the dispatcher
– frontend: compact, per-thread module dispatch
– recompiler: movi/mvni; shl implemented but off
– recompiler: stop translating fixed-point conversions
– recompiler: fold the fixed-point scale into a literal
– recompiler: fixed-point conversions, ld1r, ushl/sshl; mcp: report vps
– docs: finish neutralising the comments, and repair two broken by the pass
– recompiler: abs/neg, fmla/fmls by element, fccmp
– mcp: report tas playback progress
– trim comment
– recompiler: handle all fp-to-int rounding modes
– frontend: zero-initialize the debugger pane pointers
– docs: Linux builds and runs; record what it needs that Windows does not
– build: bump dynarmic for the include_next boost shim
– build: bump dynarmic for the portable boost/variant shim
– fix: stray carriage returns inside string literals break every non-MSVC build
– feat: expose TAS playback and recording over MCP
– recomp: index blocks directly instead of binary searching for them
– recomp: resolve guest addresses through the page table
– feat: report FPS through the MCP state tool
– build: point the dynarmic submodule at our fork
– docs: README reflects the continuation and what changed in 0.0.5
– build: 0.0.4 -> 0.0.5, and record where this came from
– recomp: AArch64 translation, host bridge and execution coverage
– feat: suyu-cmd –probe-isa-list reports each title’s CPU architecture
– diag: identify the NPDM by content hash, and name the update’s provider slot
– fix: export the update ExeFS, not the base
– fix: installed updates and DLC in NAND were never indexed
– fix: RomFS registration was silently dropped
– fix: service handler registration dropped most commands
– fix: AOT image dispatch resolved every PC to the wrong module















