{"id":137003,"date":"2026-09-14T22:22:51","date_gmt":"2026-09-14T20:22:51","guid":{"rendered":"https:\/\/www.emu-france.com\/?p=137003"},"modified":"2026-09-15T19:15:46","modified_gmt":"2026-09-15T17:15:46","slug":"consoles-de-salon-suyu-v0-0-5-reborn-edition","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=137003","title":{"rendered":"[Consoles de salon] Suyu v0.0.10 (reborn edition)"},"content":{"rendered":"<p><a href=\"https:\/\/suyu.dev\/\" target=\"_blank\">Suyu<\/a> est un \u00e9mulateur open source de Nintendo Switch. Il offre une couverture presque compl\u00e8te de la biblioth\u00e8que de jeux de cette console. Suyu est la suite directe de Yuzu, suite \u00e0 l\u2019arr\u00eat d\u00e9finitif de ce dernier, mais il n\u2019est pas d\u00e9velopp\u00e9 par les m\u00eames auteurs.<br \/>\n&nbsp;<\/p>\n<p>Les d\u00e9veloppeurs de l&rsquo;\u00e9mulateur Suyu commence \u00e0 proposer des \u00e9volutions importantes, \u00e0 commencer par impl\u00e9menter le menu d&rsquo;accueil de la Nintendo Switch. Ce c\u00e9l\u00e8bre menu d&rsquo;accueil, Qlauncher, est le code que la team Yuzu a laiss\u00e9 mais n&rsquo;avait jamais impl\u00e9ment\u00e9, vous pouvez donc d\u00e9sormais ex\u00e9cuter des jeux, les fermer ou acc\u00e9der aux param\u00e8tres et tout le reste comme vous pouvez le faire sur la console. Bien entendu pour faire tourner l&rsquo;ensemble il faut utiliser le firmware 17.0.0 (ou sup\u00e9rieur) de Nintendo.<br \/>\n&nbsp;<br \/>\nCe projet a \u00e9t\u00e9 abandonn\u00e9 apr\u00e8s la version <a href=\"https:\/\/github.com\/suyu-emu\/suyu-v0.0.4\" target=\"_blank\">0.0.4<\/a>, avant d\u2019\u00eatre repris par le d\u00e9veloppeur DougChanSan \u00e0 partir de cette m\u00eame version.<br \/>\n&nbsp;<br \/>\n<a href=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/03\/suyu.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-78670\" src=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/03\/suyu.png\" alt=\"\" width=\"425\" height=\"233\" srcset=\"https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/03\/suyu.png 655w, https:\/\/www.emu-france.com\/wp-content\/uploads\/2024\/03\/suyu-300x164.png 300w\" sizes=\"auto, (max-width: 425px) 100vw, 425px\" \/><\/a><br \/>\n&nbsp;<br \/>\nLes changements:<br \/>\n&nbsp;<br \/>\n<em>&#8211; Recognize native library names in static bundles<br \/>\n&#8211; Make static execution an explicit experimental option<br \/>\n&#8211; Make static builds first-class library entries<br \/>\n&#8211; prevent corrupted static transforms<br \/>\n&#8211; recompiler: a void block function cannot return a value<br \/>\n&#8211; frontend: show which cpu is running the game<br \/>\n&#8211; suyu-cmd: &#8211;probe-decode-list, decode coverage across a library<br \/>\n&#8211; docs: static recompilation, and the build with no jit in it<br \/>\n&#8211; build: SUYU_NO_JIT, an emulator with no dynamic recompiler in it<br \/>\n&#8211; recomp: strict mode, refusing the jit fallback<br \/>\n&#8211; ci: releases cut from a tag, built the way the README says<br \/>\n&#8211; docs: build instructions that have actually been run<br \/>\n&#8211; build: remove the inherited release workflow<br \/>\n&#8211; frontend: stop forcing the controller view open in Hacker mode<br \/>\n&#8211; recompiler: pair helpers for ldp, stp and 128-bit access<br \/>\n&#8211; recompiler: resolve the flag update at translation time<br \/>\n&#8211; recompiler: resolve the branch condition at translation time<br \/>\n&#8211; recompiler: resolve indirect branch targets inside the image<br \/>\n&#8211; recomp: count executed blocks per thread<br \/>\n&#8211; recomp: runtime-configurable chain budget<br \/>\n&#8211; recompiler: make the generated optimisation level overridable<br \/>\n&#8211; recompiler: indexed integer multiplies, addlv, nzcv<br \/>\n&#8211; recompiler: close the remaining decode gap; record uncovered entry points as roots<br \/>\n&#8211; recompiler: rev, shifts, saturating add, unsigned compares, addv, frecps, vector faddp<br \/>\n&#8211; recompiler: aese\/aesd with a generated s-box<br \/>\n&#8211; recompiler: sha256su0\/su1 and the multi-register structure loads and stores<br \/>\n&#8211; recompiler: aesmc\/aesimc, pmull\/pmull2, crc32, scalar faddp<br \/>\n&#8211; recompiler: bsl\/bit\/bif, fabs\/fneg, xtn\/xtn2, vector fcvtzs\/fcvtzu<br \/>\n&#8211; loader: say so when an installed update cannot be read<br \/>\n&#8211; file_sys: name the superseded meta and its content when one is skipped<br \/>\n&#8211; recompiler: tbl\/tbx and single-element ld1\/st1<br \/>\n&#8211; mcp: list_installed_titles dropped every installed add-on<br \/>\n&#8211; mcp: list_installed_titles reported an empty directory that never existed<br \/>\n&#8211; recompiler: fmov vector immediate, cnt, fcm register forms, sshll\/ushll, permutes, ext<br \/>\n&#8211; frontend: a Setup checklist for what still has to be installed<br \/>\n&#8211; export: find Visual Studio with vswhere instead of a hardcoded path<br \/>\n&#8211; build: drop the ownfoil submodule, which no clone can complete<br \/>\n&#8211; frontend: index blocks directly instead of calling across the image boundary<br \/>\n&#8211; recomp: resolve uncovered PCs against the module map in the coverage report<br \/>\n&#8211; recompiler: keep chaining to unconditional branches only<br \/>\n&#8211; recompiler: call the target of a direct branch instead of returning to the dispatcher<br \/>\n&#8211; frontend: compact, per-thread module dispatch<br \/>\n&#8211; recompiler: movi\/mvni; shl implemented but off<br \/>\n&#8211; recompiler: stop translating fixed-point conversions<br \/>\n&#8211; recompiler: fold the fixed-point scale into a literal<br \/>\n&#8211; recompiler: fixed-point conversions, ld1r, ushl\/sshl; mcp: report vps<br \/>\n&#8211; docs: finish neutralising the comments, and repair two broken by the pass<br \/>\n&#8211; recompiler: abs\/neg, fmla\/fmls by element, fccmp<br \/>\n&#8211; mcp: report tas playback progress<br \/>\n&#8211; trim comment<br \/>\n&#8211; recompiler: handle all fp-to-int rounding modes<br \/>\n&#8211; frontend: zero-initialize the debugger pane pointers<br \/>\n&#8211; docs: Linux builds and runs; record what it needs that Windows does not<br \/>\n&#8211; build: bump dynarmic for the include_next boost shim<br \/>\n&#8211; build: bump dynarmic for the portable boost\/variant shim<br \/>\n&#8211; fix: stray carriage returns inside string literals break every non-MSVC build<br \/>\n&#8211; feat: expose TAS playback and recording over MCP<br \/>\n&#8211; recomp: index blocks directly instead of binary searching for them<br \/>\n&#8211; recomp: resolve guest addresses through the page table<br \/>\n&#8211; feat: report FPS through the MCP state tool<br \/>\n&#8211; build: point the dynarmic submodule at our fork<br \/>\n&#8211; docs: README reflects the continuation and what changed in 0.0.5<br \/>\n&#8211; build: 0.0.4 -> 0.0.5, and record where this came from<br \/>\n&#8211; recomp: AArch64 translation, host bridge and execution coverage<br \/>\n&#8211; feat: suyu-cmd &#8211;probe-isa-list reports each title&rsquo;s CPU architecture<br \/>\n&#8211; diag: identify the NPDM by content hash, and name the update&rsquo;s provider slot<br \/>\n&#8211; fix: export the update ExeFS, not the base<br \/>\n&#8211; fix: installed updates and DLC in NAND were never indexed<br \/>\n&#8211; fix: RomFS registration was silently dropped<br \/>\n&#8211; fix: service handler registration dropped most commands<br \/>\n&#8211; fix: AOT image dispatch resolved every PC to the wrong module<\/em><br \/>\n&nbsp;<\/p>\n<p class=\"p_telecharger_icone_zip\"><p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=8053\" title=\"Download Suyu\">T\u00e9l\u00e9charger Suyu v0.0.10 (80.3 Mo)<\/a><\/p><\/p>\n<p class=\"p_site_officiel\"><a class=\"site_officiel\" href=\"https:\/\/github.com\/dougchansan\/suyu-v0.0.4\" target=\"_blank\" rel=\"noopener noreferrer\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a class=\"en_savoir_plus\" href=\"https:\/\/www.emu-france.com\/emulateurs\/5-consoles-de-salon\/467-nintendo-switch-console\/\">En savoir plus&#8230;<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=137003\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Suyu est un \u00e9mulateur open source de Nintendo Switch. Il offre une couverture presque compl\u00e8te de la biblioth\u00e8que de jeux de cette console. Suyu est la suite directe de Yuzu, suite \u00e0 l\u2019arr\u00eat d\u00e9finitif de ce dernier, mais il n\u2019est &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-137003","post","type-post","status-publish","format-standard","hentry","category-par-defaut","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pKi2R-zDJ","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/137003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=137003"}],"version-history":[{"count":6,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/137003\/revisions"}],"predecessor-version":[{"id":137043,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/137003\/revisions\/137043"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=137003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=137003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=137003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}